diff options
author | 2023-10-17 19:42:37 -0700 | |
---|---|---|
committer | 2023-10-17 19:42:37 -0700 | |
commit | cb5c4c71c866362dce24eff79251fed6add53e9f (patch) | |
tree | 5635cf21140ff2eac14539316f7c6d6704925bd3 | |
parent | bf12268274faac1a38d33007be7a48af9e570761 (diff) | |
download | bun-jarred/prepare-for-libuv.tar.gz bun-jarred/prepare-for-libuv.tar.zst bun-jarred/prepare-for-libuv.zip |
29 files changed, 557 insertions, 42923 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d488ad43..e9bc50fee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,8 +67,14 @@ elseif(CMAKE_BUILD_TYPE STREQUAL "Release") endif() # --- Build Flags --- -set(DEFAULT_ON_UNLESS_WINDOWS $<NOT:$<BOOL:${WIN32}>>) -set(DEFAULT_ON_UNLESS_APPLE $<NOT:$<BOOL:${APPLE}>>) +set(DEFAULT_ON_UNLESS_WINDOWS ON) +if (WIN32) + set(DEFAULT_ON_UNLESS_WINDOWS OFF) +endif() +set(DEFAULT_ON_UNLESS_APPLE ON) +if (APPLE) + set(DEFAULT_ON_UNLESS_APPLE OFF) +endif() option(USE_STATIC_SQLITE "Statically link SQLite?" ${DEFAULT_ON_UNLESS_APPLE}) option(USE_CUSTOM_ZLIB "Use Bun's recommended version of zlib" ${DEFAULT_ON_UNLESS_WINDOWS}) @@ -115,9 +121,7 @@ endfunction() find_program(ZIG_COMPILER zig REQUIRED DOC "Path to the Zig compiler" VALIDATOR validate_zig) message(STATUS "Found Zig Compiler: ${ZIG_COMPILER}") -# An existing Buntime. This is a sort of chicken-and-egg problem where you need `bun` to build `bun` -# maybe in the future we can make it possible to use bun-polyfills in combination -# with Node to fufill this requirement. +# Bun find_program(BUN_EXECUTABLE bun REQUIRED DOC "Path to an already built release of Bun") # CCache @@ -165,13 +169,33 @@ if(NOT DEFINED ASSERT_ENABLED) endif() message(STATUS "C++ Assertions: ${ASSERT_ENABLED}") -# --- +# --- CMake Macros --- + +# Append the given dependencies to the source file +macro(WEBKIT_ADD_SOURCE_DEPENDENCIES _source _deps) + set(_tmp) + get_source_file_property(_tmp ${_source} OBJECT_DEPENDS) + if (NOT _tmp) + set(_tmp "") + endif () + + foreach (f ${_deps}) + list(APPEND _tmp "${f}") + endforeach () + + set_source_files_properties(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}") + unset(_tmp) +endmacro() + +# --- BUILD --- set(BUN_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src") -set(BUN_WORKDIR "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${bun}.dir") +set(BUN_WORKDIR "${CMAKE_CURRENT_BINARY_DIR}") set(BUN_DEPS_DIR "${BUN_SRC}/deps") set(BUN_CODEGEN_SRC "${BUN_SRC}/codegen") +message(STATUS "Temp Directory: ${BUN_WORKDIR}") + file(GLOB BUN_CPP CONFIGURE_DEPENDS "${BUN_SRC}/deps/*.cpp" "${BUN_SRC}/io/*.cpp" @@ -202,87 +226,129 @@ file(GLOB BUN_CLASSES_TS CONFIGURE_DEPENDS "${BUN_SRC}/bun.js/node/*.classes.ts" ) add_custom_command( - OUTPUT "${BUN_WORKDIR}/generated-classes/ZigGeneratedClasses.h" - "${BUN_WORKDIR}/generated-classes/ZigGeneratedClasses.cpp" - "${BUN_WORKDIR}/generated-classes/ZigGeneratedClasses+lazyStructureHeader.h" - "${BUN_WORKDIR}/generated-classes/ZigGeneratedClasses+DOMClientIsoSubspaces.h" - "${BUN_WORKDIR}/generated-classes/ZigGeneratedClasses+DOMIsoSubspaces.h" - "${BUN_WORKDIR}/generated-classes/ZigGeneratedClasses+lazyStructureImpl.h" - "${BUN_WORKDIR}/generated-classes/ZigGeneratedClasses.zig" - COMMAND ${BUN_EXECUTABLE} "${BUN_CODEGEN_SRC}/generate-classes.ts" ${BUN_CLASSES_TS} "${BUN_WORKDIR}/generated-classes" + OUTPUT "${BUN_WORKDIR}/codegen/ZigGeneratedClasses.h" + "${BUN_WORKDIR}/codegen/ZigGeneratedClasses.cpp" + "${BUN_WORKDIR}/codegen/ZigGeneratedClasses+lazyStructureHeader.h" + "${BUN_WORKDIR}/codegen/ZigGeneratedClasses+DOMClientIsoSubspaces.h" + "${BUN_WORKDIR}/codegen/ZigGeneratedClasses+DOMIsoSubspaces.h" + "${BUN_WORKDIR}/codegen/ZigGeneratedClasses+lazyStructureImpl.h" + "${BUN_WORKDIR}/codegen/ZigGeneratedClasses.zig" + COMMAND ${BUN_EXECUTABLE} "${BUN_CODEGEN_SRC}/generate-classes.ts" ${BUN_CLASSES_TS} "${BUN_WORKDIR}/codegen" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} MAIN_DEPENDENCY "${BUN_CODEGEN_SRC}/generate-classes.ts" DEPENDS ${BUN_CLASSES_TS} VERBATIM COMMENT "Generating *.classes.ts bindings" ) -include_directories("${BUN_WORKDIR}/generated-classes") - -# JSSink generator -# add_custom_command( -# OUTPUT "${BUN_SRC}/bun.js/bindings/JSSink.cpp" -# "${BUN_SRC}/bun.js/bindings/JSSink.h" -# COMMAND ${BUN_EXECUTABLE} "src/codegen/generate-jssink.ts" -# VERBATIM -# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -# COMMENT "Generating JSSink" -# ) - -# # Append the given dependencies to the source file -# macro(WEBKIT_ADD_SOURCE_DEPENDENCIES _source _deps) -# set(_tmp) -# get_source_file_property(_tmp ${_source} OBJECT_DEPENDS) -# if (NOT _tmp) -# set(_tmp "") -# endif () - -# foreach (f ${_deps}) -# list(APPEND _tmp "${f}") -# endforeach () - -# set_source_files_properties(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}") -# unset(_tmp) -# endmacro() - -# # LUT generator -# file(Bun_OBJECT_LUT_SOURCES -# src/bun.js/bindings/BunObject.cpp -# src/bun.js/bindings/ZigGlobalObject.lut.txt -# src/bun.js/bindings/JSBuffer.cpp -# src/bun.js/bindings/Process.cpp -# src/bun.js/bindings/ProcessBindingConstants.cpp -# src/bun.js/bindings/ProcessBindingNatives.cpp -# ) -# set(HASH_LUT_GENERATOR ${BUN_SRC}/codegen/create_hash_table) - -# macro(GENERATE_HASH_LUT _input _output) -# add_custom_command( -# OUTPUT ${_output} -# MAIN_DEPENDENCY ${HASH_LUT_GENERATOR} -# DEPENDS ${_input} -# COMMAND ${PERL_EXECUTABLE} ${HASH_LUT_GENERATOR} ${_input} > ${_output} -# VERBATIM) -# list(APPEND JavaScriptCore_HEADERS ${_output}) -# WEBKIT_ADD_SOURCE_DEPENDENCIES(${_input} ${_output}) -# endmacro() - -# # GENERATOR 1-A: LUT creator -# foreach(_file ${JavaScriptCore_OBJECT_LUT_SOURCES}) -# get_filename_component(_name ${_file} NAME_WE) -# GENERATE_HASH_LUT(${CMAKE_CURRENT_SOURCE_DIR}/${_file} ${JavaScriptCore_DERIVED_SOURCES_DIR}/${_name}.lut.h) -# endforeach() - -set(IDENTIFIER_CACHE_FILES + +# --- JSSink Generator --- +add_custom_command( + OUTPUT "${BUN_WORKDIR}/codegen/JSSink.cpp" + "${BUN_WORKDIR}/codegen/JSSink.h" + COMMAND ${BUN_EXECUTABLE} "src/codegen/generate-jssink.ts" "${BUN_WORKDIR}/codegen" + VERBATIM + MAIN_DEPENDENCY "src/codegen/generate-jssink.ts" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "Generating JSSink" +) + +# --- .lut.h Generator --- +set(BUN_OBJECT_LUT_SOURCES + bun.js/bindings/BunObject.cpp + bun.js/bindings/ZigGlobalObject.lut.txt + bun.js/bindings/JSBuffer.cpp + bun.js/bindings/Process.cpp + bun.js/bindings/ProcessBindingConstants.cpp + bun.js/bindings/ProcessBindingNatives.cpp +) +set(BUN_HASH_LUT_GENERATOR "${BUN_CODEGEN_SRC}/create-hash-table.ts") +macro(GENERATE_HASH_LUT _input _output _display_name) + + add_custom_command( + OUTPUT ${_output} + MAIN_DEPENDENCY ${BUN_HASH_LUT_GENERATOR} + DEPENDS ${_input} + COMMAND ${BUN_EXECUTABLE} ${BUN_HASH_LUT_GENERATOR} ${_input} ${_output} + VERBATIM + COMMENT "Generating ${_display_name}" + ) + # list(APPEND JavaScriptCore_HEADERS ${_output}) + WEBKIT_ADD_SOURCE_DEPENDENCIES(${_input} ${_output}) +endmacro() +foreach(_file ${BUN_OBJECT_LUT_SOURCES}) + get_filename_component(_name ${_file} NAME_WE) + + # workaround for ZigGlobalObject + if(_name MATCHES "ZigGlobalObject") + set(_name "ZigGlobalObject") + endif() + + GENERATE_HASH_LUT(${BUN_SRC}/${_file} ${BUN_WORKDIR}/codegen/${_name}.lut.h ${_name}.lut.h) +endforeach() + +WEBKIT_ADD_SOURCE_DEPENDENCIES(${BUN_SRC}/bun.js/bindings/ZigGlobalObject.cpp ${BUN_WORKDIR}/codegen/ZigGlobalObject.lut.h) + +# --- Identifier Cache --- +set(BUN_IDENTIFIER_CACHE_OUT "${BUN_SRC}/js_lexer/id_continue_bitset.blob" "${BUN_SRC}/js_lexer/id_continue_bitset.meta.blob" "${BUN_SRC}/js_lexer/id_start_bitset.blob" "${BUN_SRC}/js_lexer/id_start_bitset.meta.blob") +add_custom_command( + OUTPUT ${BUN_IDENTIFIER_CACHE_OUT} + MAIN_DEPENDENCY "${BUN_SRC}/js_lexer/identifier_data.zig" + DEPENDS "${BUN_SRC}/js_lexer/identifier_cache.zig" + COMMAND ${ZIG_COMPILER} run "${BUN_SRC}/js_lexer/identifier_data.zig" + VERBATIM + COMMENT "Building Identifier Cache" +) + +# --- Bundled TS/JS --- +# Note: It's not worth doing this in parallel at the CMake/Ninja level, because this bundling +# requires all the JS files to be known, but also Bun will use all cores during bundling anyways. +file(GLOB BUN_TS_MODULES CONFIGURE_DEPENDS + "${BUN_SRC}/js/node/*.ts" + "${BUN_SRC}/js/node/*.js" + "${BUN_SRC}/js/bun/*.js" + "${BUN_SRC}/js/bun/*.ts" + "${BUN_SRC}/js/thirdparty/*.js" + "${BUN_SRC}/js/thirdparty/*.ts" + "${BUN_SRC}/js/internal/*.js" + "${BUN_SRC}/js/internal/*.ts" +) +file(GLOB BUN_TS_FUNCTIONS CONFIGURE_DEPENDS "${BUN_SRC}/js/builtins/*.ts") + +add_custom_command( + OUTPUT + "${BUN_WORKDIR}/js/InternalModuleRegistryConstants.h" + "${BUN_WORKDIR}/js/InternalModuleRegistry+createInternalModuleById.h" + "${BUN_WORKDIR}/js/InternalModuleRegistry+enum.h" + "${BUN_WORKDIR}/js/InternalModuleRegistry+numberOfModules.h" + "${BUN_WORKDIR}/js/NativeModuleImpl.h" + "${BUN_WORKDIR}/js/ResolvedSourceTag.zig" + "${BUN_WORKDIR}/js/SyntheticModuleType.h" + COMMAND ${BUN_EXECUTABLE} "${BUN_SRC}/codegen/bundle-modules.ts" "${BUN_WORKDIR}" + DEPENDS ${BUN_TS_MODULES} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "Bundling JS modules" +) +WEBKIT_ADD_SOURCE_DEPENDENCIES(${BUN_SRC}/bun.js/bindings/InternalModuleRegistry.cpp "${BUN_WORKDIR}/js/InternalModuleRegistryConstants.h") + +add_custom_command( + OUTPUT "${BUN_WORKDIR}/js/WebCoreJSBuiltins.cpp" "${BUN_WORKDIR}/js/WebCoreJSBuiltins.h" + COMMAND ${BUN_EXECUTABLE} "${BUN_SRC}/codegen/bundle-functions.ts" "${BUN_WORKDIR}" + DEPENDS ${BUN_TS_FUNCTIONS} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "Bundling JS builtin functions" +) + +# --- Zig Object --- file(GLOB ZIG_FILES "${BUN_SRC}/*.zig" - "${BUN_SRC}/*/*.zig" - "${BUN_SRC}/*/**/*.zig" - "${BUN_SRC}/*/*/*/*.zig" + "${BUN_SRC}/**/*.zig" + "${BUN_SRC}/**/**/*.zig" + "${BUN_SRC}/**/**/**/*.zig" ) set(BUN_ZIG_OBJ "${BUN_WORKDIR}/${bun}.o") @@ -290,33 +356,39 @@ add_custom_command( OUTPUT "${BUN_ZIG_OBJ}" COMMAND "${ZIG_COMPILER}" "build" "obj" "-Doptimize=${ZIG_OPTIMIZE}" - "-Doutput-dir=${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${bun}.dir" + "-Doutput-dir=${BUN_WORKDIR}" "-Dcpu=${CPU_TARGET}" - "-Dgenerated-files=${BUN_WORKDIR}" - - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/build.zig ${ZIG_FILES} "${BUN_WORKDIR}/generated-classes/ZigGeneratedClasses.zig" + "-Dgenerated-code=${BUN_WORKDIR}/codegen" + DEPENDS + "${CMAKE_CURRENT_SOURCE_DIR}/build.zig" + "${ZIG_FILES}" + "${BUN_WORKDIR}/codegen/ZigGeneratedClasses.zig" + "${BUN_WORKDIR}/js/ResolvedSourceTag.zig" + "${BUN_IDENTIFIER_CACHE_OUT}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "Building zig code" VERBATIM USES_TERMINAL ) -# add_executable(${bun} ${BUN_CPP} ${USOCKETS_FILES} ${BUN_ZIG_OBJ} ${EXTRA_SRC}) -add_executable(${bun} "/Users/dave/code/bun/src/bun.js/bindings/JSSocketAddress.cpp" "${BUN_ZIG_OBJ}") +# -- The Buntime™️ --- +add_executable( + ${bun} + + ${BUN_CPP} + ${USOCKETS_FILES} + ${BUN_ZIG_OBJ} + "${BUN_WORKDIR}/codegen/JSSink.cpp" + "${BUN_WORKDIR}/codegen/ZigGeneratedClasses.cpp" + "${BUN_WORKDIR}/js/WebCoreJSBuiltins.cpp" + "${BUN_ZIG_OBJ}" +) # Set /subsystem:console on bun for windows if (WIN32) set_target_properties(${bun} PROPERTIES LINK_FLAGS " /SUBSYSTEM:CONSOLE ") endif() -# TODO: not good enough -# add_custom_command( -# TARGET bun PRE_BUILD -# COMMAND ${BUN_EXECUTABLE} "${BUN_SRC}/js/_codegen/index.ts" -# DEPENDS "${BUN_SRC}/js/**/*.{js,ts}" -# COMMENT "Bundling JS modules" -# ) - set_target_properties(${bun} PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED YES @@ -349,10 +421,10 @@ add_compile_definitions( "BUILDING_JSCONLY__" "NDEBUG=$<IF:$<CONFIG:ASSERT_ENABLED>,0,1>" "ASSERT_ENABLED=$<IF:$<CONFIG:ASSERT_ENABLED>,1,0>" + "BUN_DYNAMIC_JS_LOAD_PATH=\"${BUN_WORKDIR}/js\"" ) include_directories( - packages/bun-uws - packages + packages/ packages/bun-usockets packages/bun-usockets/src src/bun.js/bindings @@ -360,8 +432,6 @@ include_directories( src/bun.js/bindings/webcrypto src/bun.js/bindings/sqlite src/bun.js/modules - src/js/out - src/js/out/modules src/js/builtins src/napi src/deps @@ -374,6 +444,8 @@ include_directories( ${WEBKIT_DIR}/JavaScriptCore/PrivateHeaders ${WEBKIT_DIR}/bmalloc/PrivateHeaders ${WEBKIT_DIR}/WTF/PrivateHeaders + "${BUN_WORKDIR}/codegen" + "${BUN_WORKDIR}/js" ) if (CMAKE_BUILD_TYPE STREQUAL "Debug") @@ -384,7 +456,7 @@ if (CMAKE_BUILD_TYPE STREQUAL "Debug") string(APPEND CMAKE_CXX_FLAGS " /O1") string(APPEND CMAKE_C_FLAGS " /O1") endif() - add_compile_definitions("BUN_DEBUG") + add_compile_definitions("BUN_DEBUG=1") elseif (NOT MSVC) string(APPEND CMAKE_CXX_FLAGS " -O3 -femit-llvm" ) string(APPEND CMAKE_C_FLAGS " -O3 -femit-llvm") @@ -400,6 +472,8 @@ if (WIN32) "_CRT_SECURE_NO_WARNINGS" "WIN32_LEAN_AND_MEAN=1" ) + + set_property(TARGET ${bun} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreadedDLL") endif() # if clang @@ -567,7 +641,6 @@ else () target_link_libraries(${bun} PRIVATE c-ares::cares) endif() - if (USE_CUSTOM_BASE64) include_directories(src/deps/base64/include) if (WIN32) @@ -593,10 +666,6 @@ if (NOT WIN32) endif() endif() -set_property(TARGET ${bun} PROPERTY - MSVC_RUNTIME_LIBRARY "MultiThreadedDLL" -) - if (USE_CUSTOM_LOLHTML) if (WIN32) target_link_libraries(${bun} PRIVATE "${BUN_DEPS_DIR}/lolhtml.lib") @@ -615,15 +684,17 @@ if (WIN32) find_package(libuv CONFIG REQUIRED ) target_link_libraries(${bun} PRIVATE $<IF:$<TARGET_EXISTS:libuv::uv_a>,libuv::uv_a,libuv::uv>) endif() - + message(STATUS "Found libuv: ${libuv_LIBRARIES}") endif() if (USE_STATIC_SQLITE) add_library(sqlite3 STATIC src/bun.js/bindings/sqlite/sqlite3.c) target_include_directories(sqlite3 PUBLIC src/bun.js/bindings/sqlite) target_link_libraries(bun PRIVATE sqlite3) + message(STATUS "Using static sqlite3") target_compile_definitions(${bun} PRIVATE "LAZY_LOAD_SQLITE=0") else() + message(STATUS "Using dynamicly linked sqlite3") target_compile_definitions(${bun} PRIVATE "LAZY_LOAD_SQLITE=1") endif() @@ -171,7 +171,7 @@ pub fn build_(b: *Build) !void { // between Debug, ReleaseSafe, ReleaseFast, and ReleaseSmall. optimize = b.standardOptimizeOption(.{}); - const cmake_generated_directory = b.option([]const u8, "generated-files", "Set the generated files (CMake's BUN_WORKDIR)") orelse "./"; + const generated_code_directory = b.option([]const u8, "generated-code", "Set the generated code directory") orelse "./"; var output_dir_buf = std.mem.zeroes([4096]u8); var bin_label = if (optimize == std.builtin.OptimizeMode.Debug) "packages/debug-bun-" else "packages/bun-"; @@ -322,7 +322,7 @@ pub fn build_(b: *Build) !void { obj.addOptions("build_options", actual_build_options.step(b)); obj.addModule("generated-classes", b.createModule(.{ - .source_file = .{ .path = b.fmt("{s}/generated-classes/ZigGeneratedClasses.zig", .{cmake_generated_directory}) }, + .source_file = .{ .path = b.fmt("{s}/ZigGeneratedClasses.zig", .{generated_code_directory}) }, })); obj.linkLibC(); diff --git a/src/bun.js/bindings/BunObject.lut.h b/src/bun.js/bindings/BunObject.lut.h deleted file mode 100644 index a2aa95fda..000000000 --- a/src/bun.js/bindings/BunObject.lut.h +++ /dev/null @@ -1,359 +0,0 @@ -// File generated via `make static-hash-table` / `make cpp` -static const struct CompactHashIndex bunObjectTableIndex[269] = { - { 75, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 38, -1 }, - { -1, -1 }, - { 44, -1 }, - { -1, -1 }, - { -1, -1 }, - { 4, -1 }, - { -1, -1 }, - { 2, -1 }, - { 48, -1 }, - { 34, 261 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 71, -1 }, - { 79, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 60, -1 }, - { -1, -1 }, - { -1, -1 }, - { 11, 258 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 45, 264 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 67, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 59, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 47, 265 }, - { 32, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 70, -1 }, - { 65, -1 }, - { -1, -1 }, - { 14, -1 }, - { 23, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 43, -1 }, - { -1, -1 }, - { 52, -1 }, - { -1, -1 }, - { -1, -1 }, - { 37, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 64, -1 }, - { -1, -1 }, - { 20, 256 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 73, -1 }, - { -1, -1 }, - { 77, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 74, -1 }, - { 22, 259 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 53, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 40, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 29, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 63, -1 }, - { 35, 266 }, - { -1, -1 }, - { 33, -1 }, - { 54, -1 }, - { -1, -1 }, - { 26, -1 }, - { 15, -1 }, - { -1, -1 }, - { -1, -1 }, - { 6, -1 }, - { 10, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 18, -1 }, - { -1, -1 }, - { -1, -1 }, - { 0, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 5, -1 }, - { 16, -1 }, - { -1, -1 }, - { -1, -1 }, - { 24, -1 }, - { 1, -1 }, - { 31, 267 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 46, -1 }, - { -1, -1 }, - { -1, -1 }, - { 8, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 69, -1 }, - { -1, -1 }, - { 76, 268 }, - { -1, -1 }, - { 36, -1 }, - { -1, -1 }, - { -1, -1 }, - { 39, 260 }, - { -1, -1 }, - { -1, -1 }, - { 7, 262 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 66, -1 }, - { 3, -1 }, - { -1, -1 }, - { 61, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 28, -1 }, - { 19, 257 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 9, -1 }, - { -1, -1 }, - { -1, -1 }, - { 49, -1 }, - { 12, -1 }, - { -1, -1 }, - { 80, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 17, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 27, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 13, -1 }, - { -1, -1 }, - { -1, -1 }, - { 25, -1 }, - { -1, -1 }, - { -1, -1 }, - { 42, 263 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 21, -1 }, - { 30, -1 }, - { 41, -1 }, - { 50, -1 }, - { 51, -1 }, - { 55, -1 }, - { 56, -1 }, - { 57, -1 }, - { 58, -1 }, - { 62, -1 }, - { 68, -1 }, - { 72, -1 }, - { 78, -1 }, -}; - -static const struct HashTableValue bunObjectTableValues[81] = { - { "ArrayBufferSink"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_ArrayBufferSink } }, - { "CryptoHasher"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_CryptoHasher } }, - { "DO_NOT_USE_OR_YOU_WILL_BE_FIRED_mimalloc_dump"_s, static_cast<unsigned>(PropertyAttribute::DontEnum|PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_mimalloc_dump, 1 } }, - { "FFI"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_FFI } }, - { "FileSystemRouter"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_FileSystemRouter } }, - { "MD4"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_MD4 } }, - { "MD5"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_MD5 } }, - { "SHA1"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_SHA1 } }, - { "SHA224"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_SHA224 } }, - { "SHA256"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_SHA256 } }, - { "SHA384"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_SHA384 } }, - { "SHA512"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_SHA512 } }, - { "SHA512_256"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_SHA512_256 } }, - { "TOML"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_TOML } }, - { "Transpiler"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_Transpiler } }, - { "_Os"_s, static_cast<unsigned>(PropertyAttribute::DontEnum|PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback__Os, 1 } }, - { "_Path"_s, static_cast<unsigned>(PropertyAttribute::DontEnum|PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback__Path, 1 } }, - { "allocUnsafe"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_allocUnsafe, 1 } }, - { "argv"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_argv } }, - { "assetPrefix"_s, static_cast<unsigned>(PropertyAttribute::DontEnum|PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_assetPrefix } }, - { "build"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_build, 1 } }, - { "concatArrayBuffers"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionConcatTypedArrays, 1 } }, - { "connect"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_connect, 1 } }, - { "cwd"_s, static_cast<unsigned>(PropertyAttribute::DontEnum|PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_cwd } }, - { "deepEquals"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionBunDeepEquals, 2 } }, - { "deepMatch"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionBunDeepMatch, 2 } }, - { "deflateSync"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_deflateSync, 1 } }, - { "dns"_s, static_cast<unsigned>(PropertyAttribute::ReadOnly|PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructDNSObject } }, - { "enableANSIColors"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_enableANSIColors } }, - { "env"_s, static_cast<unsigned>(PropertyAttribute::ReadOnly|PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructEnvObject } }, - { "escapeHTML"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionBunEscapeHTML, 2 } }, - { "fetch"_s, static_cast<unsigned>(PropertyAttribute::ReadOnly|PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Bun__fetch, 1 } }, - { "file"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_file, 1 } }, - { "fileURLToPath"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionFileURLToPath, 1 } }, - { "fs"_s, static_cast<unsigned>(PropertyAttribute::DontEnum|PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_fs, 1 } }, - { "gc"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_gc, 1 } }, - { "generateHeapSnapshot"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_generateHeapSnapshot, 1 } }, - { "getImportedStyles"_s, static_cast<unsigned>(PropertyAttribute::DontEnum|PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_getImportedStyles, 1 } }, - { "gunzipSync"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_gunzipSync, 1 } }, - { "gzipSync"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_gzipSync, 1 } }, - { "hash"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_hash } }, - { "indexOfLine"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_indexOfLine, 1 } }, - { "inflateSync"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_inflateSync, 1 } }, - { "inspect"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_inspect } }, - { "isMainThread"_s, static_cast<unsigned>(PropertyAttribute::ReadOnly|PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructIsMainThread } }, - { "jest"_s, static_cast<unsigned>(PropertyAttribute::DontEnum|PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_jest, 1 } }, - { "listen"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_listen, 1 } }, - { "main"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_main } }, - { "mmap"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_mmap, 1 } }, - { "nanoseconds"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionBunNanoseconds, 0 } }, - { "openInEditor"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_openInEditor, 1 } }, - { "origin"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_origin } }, - { "password"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructPasswordObject } }, - { "pathToFileURL"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionPathToFileURL, 1 } }, - { "peek"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructBunPeekObject } }, - { "plugin"_s, static_cast<unsigned>(PropertyAttribute::ReadOnly|PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructPluginObject } }, - { "readableStreamToArray"_s, ((static_cast<unsigned>(PropertyAttribute::Builtin|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, bunObjectReadableStreamToArrayCodeGenerator, 1 } }, - { "readableStreamToArrayBuffer"_s, ((static_cast<unsigned>(PropertyAttribute::Builtin|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, bunObjectReadableStreamToArrayBufferCodeGenerator, 1 } }, - { "readableStreamToBlob"_s, ((static_cast<unsigned>(PropertyAttribute::Builtin|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, bunObjectReadableStreamToBlobCodeGenerator, 1 } }, - { "readableStreamToFormData"_s, ((static_cast<unsigned>(PropertyAttribute::Builtin|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, bunObjectReadableStreamToFormDataCodeGenerator, 1 } }, - { "readableStreamToJSON"_s, ((static_cast<unsigned>(PropertyAttribute::Builtin|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, bunObjectReadableStreamToJSONCodeGenerator, 1 } }, - { "readableStreamToText"_s, ((static_cast<unsigned>(PropertyAttribute::Builtin|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, bunObjectReadableStreamToTextCodeGenerator, 1 } }, - { "registerMacro"_s, static_cast<unsigned>(PropertyAttribute::DontEnum|PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_registerMacro, 1 } }, - { "resolve"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_resolve, 1 } }, - { "resolveSync"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_resolveSync, 1 } }, - { "revision"_s, static_cast<unsigned>(PropertyAttribute::ReadOnly|PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructBunRevision } }, - { "serve"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_serve, 1 } }, - { "sha"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_sha, 1 } }, - { "shrink"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_shrink, 1 } }, - { "sleep"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionBunSleep, 1 } }, - { "sleepSync"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_sleepSync, 1 } }, - { "spawn"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_spawn, 1 } }, - { "spawnSync"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_spawnSync, 1 } }, - { "stderr"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_stderr } }, - { "stdin"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_stdin } }, - { "stdout"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_stdout } }, - { "stringHashCode"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionHashCode, 1 } }, - { "unsafe"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BunObject_getter_wrap_unsafe } }, - { "version"_s, static_cast<unsigned>(PropertyAttribute::ReadOnly|PropertyAttribute::DontDelete|PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructBunVersion } }, - { "which"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_which, 1 } }, - { "write"_s, static_cast<unsigned>(PropertyAttribute::DontDelete|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, BunObject_callback_write, 1 } }, -}; - -static const struct HashTable bunObjectTable = - { 81, 255, false, nullptr, bunObjectTableValues, bunObjectTableIndex }; diff --git a/src/bun.js/bindings/JSBuffer.lut.h b/src/bun.js/bindings/JSBuffer.lut.h deleted file mode 100644 index 35a3acea9..000000000 --- a/src/bun.js/bindings/JSBuffer.lut.h +++ /dev/null @@ -1,52 +0,0 @@ -// File generated via `make static-hash-table` / `make cpp` -static const struct CompactHashIndex jsBufferConstructorTableIndex[33] = { - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 1, 32 }, - { 0, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 8, -1 }, - { 3, -1 }, - { -1, -1 }, - { 5, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 9, -1 }, - { -1, -1 }, - { 4, -1 }, - { -1, -1 }, - { 6, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 2, -1 }, - { -1, -1 }, - { 7, -1 }, -}; - -static const struct HashTableValue jsBufferConstructorTableValues[10] = { - { "alloc"_s, static_cast<unsigned>(PropertyAttribute::Constructable|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsBufferConstructorFunction_alloc, 1 } }, - { "allocUnsafe"_s, static_cast<unsigned>(PropertyAttribute::Constructable|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsBufferConstructorFunction_allocUnsafe, 1 } }, - { "allocUnsafeSlow"_s, static_cast<unsigned>(PropertyAttribute::Constructable|PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsBufferConstructorFunction_allocUnsafeSlow, 1 } }, - { "byteLength"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsBufferConstructorFunction_byteLength, 2 } }, - { "compare"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsBufferConstructorFunction_compare, 2 } }, - { "concat"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsBufferConstructorFunction_concat, 2 } }, - { "from"_s, ((static_cast<unsigned>(PropertyAttribute::Builtin|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, jsBufferConstructorFromCodeGenerator, 1 } }, - { "isBuffer"_s, ((static_cast<unsigned>(PropertyAttribute::Builtin|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, jsBufferConstructorIsBufferCodeGenerator, 1 } }, - { "toBuffer"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsBufferConstructorFunction_toBuffer, 1 } }, - { "isEncoding"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsBufferConstructorFunction_isEncoding, 1 } }, -}; - -static const struct HashTable jsBufferConstructorTable = - { 10, 31, false, nullptr, jsBufferConstructorTableValues, jsBufferConstructorTableIndex }; diff --git a/src/bun.js/bindings/JSBufferList.cpp b/src/bun.js/bindings/JSBufferList.cpp index 0db5527d7..d96080a2a 100644 --- a/src/bun.js/bindings/JSBufferList.cpp +++ b/src/bun.js/bindings/JSBufferList.cpp @@ -346,50 +346,50 @@ static inline JSC::EncodedJSValue jsBufferListPrototypeFunction_consumeBody(JSC: RELEASE_AND_RETURN(throwScope, JSC::JSValue::encode(castedThis->consume(vm, lexicalGlobalObject, n, hasString))); } -static JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_push); -static JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_push, +JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_push); +JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_push, (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) { return IDLOperation<JSBufferList>::call<jsBufferListPrototypeFunction_pushBody>(*globalObject, *callFrame, "push"); } -static JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_unshift); -static JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_unshift, +JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_unshift); +JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_unshift, (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) { return IDLOperation<JSBufferList>::call<jsBufferListPrototypeFunction_unshiftBody>(*globalObject, *callFrame, "unshift"); } -static JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_shift); -static JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_shift, +JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_shift); +JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_shift, (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) { return IDLOperation<JSBufferList>::call<jsBufferListPrototypeFunction_shiftBody>(*globalObject, *callFrame, "shift"); } -static JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_clear); -static JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_clear, +JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_clear); +JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_clear, (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) { return IDLOperation<JSBufferList>::call<jsBufferListPrototypeFunction_clearBody>(*globalObject, *callFrame, "clear"); } -static JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_first); -static JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_first, +JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_first); +JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_first, (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) { return IDLOperation<JSBufferList>::call<jsBufferListPrototypeFunction_firstBody>(*globalObject, *callFrame, "first"); } -static JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_concat); -static JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_concat, +JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_concat); +JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_concat, (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) { return IDLOperation<JSBufferList>::call<jsBufferListPrototypeFunction_concatBody>(*globalObject, *callFrame, "concat"); } -static JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_join); -static JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_join, +JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_join); +JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_join, (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) { return IDLOperation<JSBufferList>::call<jsBufferListPrototypeFunction_joinBody>(*globalObject, *callFrame, "join"); } -static JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_consume); -static JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_consume, +JSC_DECLARE_HOST_FUNCTION(jsBufferListPrototypeFunction_consume); +JSC_DEFINE_HOST_FUNCTION(jsBufferListPrototypeFunction_consume, (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) { return IDLOperation<JSBufferList>::call<jsBufferListPrototypeFunction_consumeBody>(*globalObject, *callFrame, "consume"); diff --git a/src/bun.js/bindings/KeyObject.cpp b/src/bun.js/bindings/KeyObject.cpp index 8f2e52379..301d36afc 100644 --- a/src/bun.js/bindings/KeyObject.cpp +++ b/src/bun.js/bindings/KeyObject.cpp @@ -1234,7 +1234,6 @@ JSC::EncodedJSValue KeyObject__createSecretKey(JSC::JSGlobalObject* lexicalGloba throwException(lexicalGlobalObject, scope, createTypeError(lexicalGlobalObject, "ERR_INVALID_ARG_TYPE: expected Buffer or array-like object"_s)); return JSValue::encode(JSC::jsUndefined()); } - ASSERT_NOT_REACHED(); } JSC::EncodedJSValue KeyObject__Exports(JSC::JSGlobalObject* globalObject, JSC::CallFrame* callFrame) diff --git a/src/bun.js/bindings/Process.lut.h b/src/bun.js/bindings/Process.lut.h deleted file mode 100644 index 6016466c2..000000000 --- a/src/bun.js/bindings/Process.lut.h +++ /dev/null @@ -1,343 +0,0 @@ -// File generated via `make static-hash-table` / `make cpp` -static const struct CompactHashIndex processObjectTableIndex[268] = { - { 48, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 21, -1 }, - { -1, -1 }, - { 50, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 8, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 35, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 30, -1 }, - { 14, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 60, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 56, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 44, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 0, -1 }, - { 29, -1 }, - { 38, -1 }, - { 43, -1 }, - { -1, -1 }, - { 26, -1 }, - { 13, -1 }, - { -1, -1 }, - { -1, -1 }, - { 63, -1 }, - { -1, -1 }, - { -1, -1 }, - { 34, -1 }, - { 45, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 27, -1 }, - { -1, -1 }, - { -1, -1 }, - { 23, -1 }, - { -1, -1 }, - { 5, -1 }, - { -1, -1 }, - { 65, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 28, 262 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 24, 263 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 51, 266 }, - { -1, -1 }, - { 20, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 18, 257 }, - { -1, -1 }, - { 15, -1 }, - { 58, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 3, 267 }, - { 1, -1 }, - { -1, -1 }, - { 64, -1 }, - { -1, -1 }, - { 12, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 57, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 10, 256 }, - { -1, -1 }, - { 17, 264 }, - { -1, -1 }, - { 40, -1 }, - { -1, -1 }, - { 42, -1 }, - { -1, -1 }, - { 11, 260 }, - { 6, 265 }, - { -1, -1 }, - { -1, -1 }, - { 4, -1 }, - { 52, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 2, -1 }, - { 7, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 32, 261 }, - { -1, -1 }, - { -1, -1 }, - { 49, -1 }, - { 19, 258 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 54, -1 }, - { -1, -1 }, - { 33, -1 }, - { 25, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 53, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 16, 259 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 9, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 22, -1 }, - { 31, -1 }, - { 36, -1 }, - { 37, -1 }, - { 39, -1 }, - { 41, -1 }, - { 46, -1 }, - { 47, -1 }, - { 55, -1 }, - { 59, -1 }, - { 61, -1 }, - { 62, -1 }, -}; - -static const struct HashTableValue processObjectTableValues[66] = { - { "abort"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionAbort, 1 } }, - { "allowedNodeEnvironmentFlags"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, Process_stubEmptySet } }, - { "arch"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructArch } }, - { "argv"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructArgv } }, - { "argv0"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructArgv0 } }, - { "assert"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionAssert, 1 } }, - { "binding"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionBinding, 1 } }, - { "browser"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructBrowser } }, - { "chdir"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionChdir, 1 } }, - { "config"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructProcessConfigObject } }, - { "connected"_s, static_cast<unsigned>(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processConnected, setProcessConnected } }, - { "constrainedMemory"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionConstrainedMemory, 0 } }, - { "cpuUsage"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionCpuUsage, 1 } }, - { "cwd"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionCwd, 1 } }, - { "debugPort"_s, static_cast<unsigned>(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processDebugPort, setProcessDebugPort } }, - { "disconnect"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructProcessDisconnect } }, - { "dlopen"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionDlopen, 1 } }, - { "emitWarning"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_emitWarning, 1 } }, - { "env"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructEnv } }, - { "execArgv"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructExecArgv } }, - { "execPath"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructExecPath } }, - { "exit"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionExit, 1 } }, - { "exitCode"_s, static_cast<unsigned>(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processExitCode, setProcessExitCode } }, - { "features"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructFeatures } }, - { "getActiveResourcesInfo"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubFunctionReturningArray, 0 } }, - { "getegid"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functiongetegid, 0 } }, - { "geteuid"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functiongeteuid, 0 } }, - { "getgid"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functiongetgid, 0 } }, - { "getgroups"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functiongetgroups, 0 } }, - { "getuid"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functiongetuid, 0 } }, - { "hrtime"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructProcessHrtimeObject } }, - { "isBun"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructIsBun } }, - { "kill"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionKill, 2 } }, - { "mainModule"_s, ((static_cast<unsigned>(PropertyAttribute::ReadOnly|PropertyAttribute::Builtin|PropertyAttribute::Accessor|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, processObjectMainModuleCodeGenerator, 0 } }, - { "memoryUsage"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructMemoryUsage } }, - { "moduleLoadList"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, Process_stubEmptyArray } }, - { "nextTick"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructProcessNextTickFn } }, - { "openStdin"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionOpenStdin, 0 } }, - { "pid"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructPid } }, - { "platform"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructPlatform } }, - { "ppid"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructPpid } }, - { "reallyExit"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionReallyExit, 1 } }, - { "release"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructProcessReleaseObject } }, - { "revision"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructRevision } }, - { "setSourceMapsEnabled"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubEmptyFunction, 1 } }, - { "send"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructProcessSend } }, - { "stderr"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructStderr } }, - { "stdin"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructStdin } }, - { "stdout"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructStdout } }, - { "title"_s, static_cast<unsigned>(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processTitle, setProcessTitle } }, - { "umask"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionUmask, 1 } }, - { "uptime"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionUptime, 1 } }, - { "version"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructVersion } }, - { "versions"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructVersions } }, - { "_debugEnd"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubEmptyFunction, 0 } }, - { "_debugProcess"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubEmptyFunction, 0 } }, - { "_fatalException"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubEmptyFunction, 1 } }, - { "_getActiveRequests"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubFunctionReturningArray, 0 } }, - { "_getActiveHandles"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubFunctionReturningArray, 0 } }, - { "_linkedBinding"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubEmptyFunction, 0 } }, - { "_preload_modules"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, Process_stubEmptyArray } }, - { "_rawDebug"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubEmptyFunction, 0 } }, - { "_startProfilerIdleNotifier"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubEmptyFunction, 0 } }, - { "_stopProfilerIdleNotifier"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubEmptyFunction, 0 } }, - { "_tickCallback"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubEmptyFunction, 0 } }, - { "_kill"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionReallyKill, 2 } }, -}; - -static const struct HashTable processObjectTable = - { 66, 255, true, nullptr, processObjectTableValues, processObjectTableIndex }; diff --git a/src/bun.js/bindings/ProcessBindingConstants.lut.h b/src/bun.js/bindings/ProcessBindingConstants.lut.h deleted file mode 100644 index 4ad86860d..000000000 --- a/src/bun.js/bindings/ProcessBindingConstants.lut.h +++ /dev/null @@ -1,31 +0,0 @@ -// File generated via `make static-hash-table` / `make cpp` -static const struct CompactHashIndex processBindingConstantsTableIndex[17] = { - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 2, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 0, 16 }, - { -1, -1 }, - { -1, -1 }, - { 4, -1 }, - { 3, -1 }, -}; - -static const struct HashTableValue processBindingConstantsTableValues[5] = { - { "os"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetOs } }, - { "fs"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetFs } }, - { "crypto"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetCrypto } }, - { "zlib"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetZlib } }, - { "trace"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetTrace } }, -}; - -static const struct HashTable processBindingConstantsTable = - { 5, 15, false, nullptr, processBindingConstantsTableValues, processBindingConstantsTableIndex }; diff --git a/src/bun.js/bindings/ZigGeneratedClasses+DOMClientIsoSubspaces.h b/src/bun.js/bindings/ZigGeneratedClasses+DOMClientIsoSubspaces.h deleted file mode 100644 index cef5c512a..000000000 --- a/src/bun.js/bindings/ZigGeneratedClasses+DOMClientIsoSubspaces.h +++ /dev/null @@ -1,52 +0,0 @@ -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForAttributeIterator; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForBigIntStats; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForBigIntStatsConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForBlob; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForBlobConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForBuildArtifact; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForBuildMessage; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForBuildMessageConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForComment; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForCrypto; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForCryptoConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForCryptoHasher; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForCryptoHasherConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForDebugHTTPSServer; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForDebugHTTPServer; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForDirent; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForDirentConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForDocEnd; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForDocType; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForElement; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForEndTag; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForExpect; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForExpectConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForExpectAny; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForExpectAnything; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForExpectArrayContaining; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForExpectStringContaining; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForExpectStringMatching; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForFFI; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForFSWatcher; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForFileSystemRouter; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForFileSystemRouterConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForHTMLRewriter; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForHTMLRewriterConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForHTTPSServer; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForHTTPServer; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForListener; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForMD4; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForMD4Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForMD5; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForMD5Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForMatchedRoute; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForNodeJSFS; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForNodeJSFSConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForRequest; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForRequestConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForResolveMessage; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForResolveMessageConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForResponse; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForResponseConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA1; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA1Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA224; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA224Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA256; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA256Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA384; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA384Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA512; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA512Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA512_256; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA512_256Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForServerWebSocket; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForServerWebSocketConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForStatWatcher; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForStats; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForStatsConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSubprocess; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTCPSocket; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTLSSocket; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTextChunk; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTextDecoder; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTextDecoderConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTimeout; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTranspiler; -std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTranspilerConstructor;
\ No newline at end of file diff --git a/src/bun.js/bindings/ZigGeneratedClasses+DOMIsoSubspaces.h b/src/bun.js/bindings/ZigGeneratedClasses+DOMIsoSubspaces.h deleted file mode 100644 index d06451eda..000000000 --- a/src/bun.js/bindings/ZigGeneratedClasses+DOMIsoSubspaces.h +++ /dev/null @@ -1,52 +0,0 @@ -std::unique_ptr<IsoSubspace> m_subspaceForAttributeIterator; -std::unique_ptr<IsoSubspace> m_subspaceForBigIntStats; -std::unique_ptr<IsoSubspace> m_subspaceForBigIntStatsConstructor;std::unique_ptr<IsoSubspace> m_subspaceForBlob; -std::unique_ptr<IsoSubspace> m_subspaceForBlobConstructor;std::unique_ptr<IsoSubspace> m_subspaceForBuildArtifact; -std::unique_ptr<IsoSubspace> m_subspaceForBuildMessage; -std::unique_ptr<IsoSubspace> m_subspaceForBuildMessageConstructor;std::unique_ptr<IsoSubspace> m_subspaceForComment; -std::unique_ptr<IsoSubspace> m_subspaceForCrypto; -std::unique_ptr<IsoSubspace> m_subspaceForCryptoConstructor;std::unique_ptr<IsoSubspace> m_subspaceForCryptoHasher; -std::unique_ptr<IsoSubspace> m_subspaceForCryptoHasherConstructor;std::unique_ptr<IsoSubspace> m_subspaceForDebugHTTPSServer; -std::unique_ptr<IsoSubspace> m_subspaceForDebugHTTPServer; -std::unique_ptr<IsoSubspace> m_subspaceForDirent; -std::unique_ptr<IsoSubspace> m_subspaceForDirentConstructor;std::unique_ptr<IsoSubspace> m_subspaceForDocEnd; -std::unique_ptr<IsoSubspace> m_subspaceForDocType; -std::unique_ptr<IsoSubspace> m_subspaceForElement; -std::unique_ptr<IsoSubspace> m_subspaceForEndTag; -std::unique_ptr<IsoSubspace> m_subspaceForExpect; -std::unique_ptr<IsoSubspace> m_subspaceForExpectConstructor;std::unique_ptr<IsoSubspace> m_subspaceForExpectAny; -std::unique_ptr<IsoSubspace> m_subspaceForExpectAnything; -std::unique_ptr<IsoSubspace> m_subspaceForExpectArrayContaining; -std::unique_ptr<IsoSubspace> m_subspaceForExpectStringContaining; -std::unique_ptr<IsoSubspace> m_subspaceForExpectStringMatching; -std::unique_ptr<IsoSubspace> m_subspaceForFFI; -std::unique_ptr<IsoSubspace> m_subspaceForFSWatcher; -std::unique_ptr<IsoSubspace> m_subspaceForFileSystemRouter; -std::unique_ptr<IsoSubspace> m_subspaceForFileSystemRouterConstructor;std::unique_ptr<IsoSubspace> m_subspaceForHTMLRewriter; -std::unique_ptr<IsoSubspace> m_subspaceForHTMLRewriterConstructor;std::unique_ptr<IsoSubspace> m_subspaceForHTTPSServer; -std::unique_ptr<IsoSubspace> m_subspaceForHTTPServer; -std::unique_ptr<IsoSubspace> m_subspaceForListener; -std::unique_ptr<IsoSubspace> m_subspaceForMD4; -std::unique_ptr<IsoSubspace> m_subspaceForMD4Constructor;std::unique_ptr<IsoSubspace> m_subspaceForMD5; -std::unique_ptr<IsoSubspace> m_subspaceForMD5Constructor;std::unique_ptr<IsoSubspace> m_subspaceForMatchedRoute; -std::unique_ptr<IsoSubspace> m_subspaceForNodeJSFS; -std::unique_ptr<IsoSubspace> m_subspaceForNodeJSFSConstructor;std::unique_ptr<IsoSubspace> m_subspaceForRequest; -std::unique_ptr<IsoSubspace> m_subspaceForRequestConstructor;std::unique_ptr<IsoSubspace> m_subspaceForResolveMessage; -std::unique_ptr<IsoSubspace> m_subspaceForResolveMessageConstructor;std::unique_ptr<IsoSubspace> m_subspaceForResponse; -std::unique_ptr<IsoSubspace> m_subspaceForResponseConstructor;std::unique_ptr<IsoSubspace> m_subspaceForSHA1; -std::unique_ptr<IsoSubspace> m_subspaceForSHA1Constructor;std::unique_ptr<IsoSubspace> m_subspaceForSHA224; -std::unique_ptr<IsoSubspace> m_subspaceForSHA224Constructor;std::unique_ptr<IsoSubspace> m_subspaceForSHA256; -std::unique_ptr<IsoSubspace> m_subspaceForSHA256Constructor;std::unique_ptr<IsoSubspace> m_subspaceForSHA384; -std::unique_ptr<IsoSubspace> m_subspaceForSHA384Constructor;std::unique_ptr<IsoSubspace> m_subspaceForSHA512; -std::unique_ptr<IsoSubspace> m_subspaceForSHA512Constructor;std::unique_ptr<IsoSubspace> m_subspaceForSHA512_256; -std::unique_ptr<IsoSubspace> m_subspaceForSHA512_256Constructor;std::unique_ptr<IsoSubspace> m_subspaceForServerWebSocket; -std::unique_ptr<IsoSubspace> m_subspaceForServerWebSocketConstructor;std::unique_ptr<IsoSubspace> m_subspaceForStatWatcher; -std::unique_ptr<IsoSubspace> m_subspaceForStats; -std::unique_ptr<IsoSubspace> m_subspaceForStatsConstructor;std::unique_ptr<IsoSubspace> m_subspaceForSubprocess; -std::unique_ptr<IsoSubspace> m_subspaceForTCPSocket; -std::unique_ptr<IsoSubspace> m_subspaceForTLSSocket; -std::unique_ptr<IsoSubspace> m_subspaceForTextChunk; -std::unique_ptr<IsoSubspace> m_subspaceForTextDecoder; -std::unique_ptr<IsoSubspace> m_subspaceForTextDecoderConstructor;std::unique_ptr<IsoSubspace> m_subspaceForTimeout; -std::unique_ptr<IsoSubspace> m_subspaceForTranspiler; -std::unique_ptr<IsoSubspace> m_subspaceForTranspilerConstructor;
\ No newline at end of file diff --git a/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureHeader.h b/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureHeader.h deleted file mode 100644 index 381378262..000000000 --- a/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureHeader.h +++ /dev/null @@ -1,204 +0,0 @@ -JSC::Structure* JSAttributeIteratorStructure() { return m_JSAttributeIterator.getInitializedOnMainThread(this); } - JSC::JSObject* JSAttributeIteratorConstructor() { return m_JSAttributeIterator.constructorInitializedOnMainThread(this); } - JSC::JSValue JSAttributeIteratorPrototype() { return m_JSAttributeIterator.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSAttributeIterator; -JSC::Structure* JSBigIntStatsStructure() { return m_JSBigIntStats.getInitializedOnMainThread(this); } - JSC::JSObject* JSBigIntStatsConstructor() { return m_JSBigIntStats.constructorInitializedOnMainThread(this); } - JSC::JSValue JSBigIntStatsPrototype() { return m_JSBigIntStats.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSBigIntStats; -JSC::Structure* JSBlobStructure() { return m_JSBlob.getInitializedOnMainThread(this); } - JSC::JSObject* JSBlobConstructor() { return m_JSBlob.constructorInitializedOnMainThread(this); } - JSC::JSValue JSBlobPrototype() { return m_JSBlob.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSBlob; -JSC::Structure* JSBuildArtifactStructure() { return m_JSBuildArtifact.getInitializedOnMainThread(this); } - JSC::JSObject* JSBuildArtifactConstructor() { return m_JSBuildArtifact.constructorInitializedOnMainThread(this); } - JSC::JSValue JSBuildArtifactPrototype() { return m_JSBuildArtifact.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSBuildArtifact; -JSC::Structure* JSBuildMessageStructure() { return m_JSBuildMessage.getInitializedOnMainThread(this); } - JSC::JSObject* JSBuildMessageConstructor() { return m_JSBuildMessage.constructorInitializedOnMainThread(this); } - JSC::JSValue JSBuildMessagePrototype() { return m_JSBuildMessage.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSBuildMessage; -JSC::Structure* JSCommentStructure() { return m_JSComment.getInitializedOnMainThread(this); } - JSC::JSObject* JSCommentConstructor() { return m_JSComment.constructorInitializedOnMainThread(this); } - JSC::JSValue JSCommentPrototype() { return m_JSComment.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSComment; -JSC::Structure* JSCryptoStructure() { return m_JSCrypto.getInitializedOnMainThread(this); } - JSC::JSObject* JSCryptoConstructor() { return m_JSCrypto.constructorInitializedOnMainThread(this); } - JSC::JSValue JSCryptoPrototype() { return m_JSCrypto.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSCrypto; -JSC::Structure* JSCryptoHasherStructure() { return m_JSCryptoHasher.getInitializedOnMainThread(this); } - JSC::JSObject* JSCryptoHasherConstructor() { return m_JSCryptoHasher.constructorInitializedOnMainThread(this); } - JSC::JSValue JSCryptoHasherPrototype() { return m_JSCryptoHasher.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSCryptoHasher; -JSC::Structure* JSDebugHTTPSServerStructure() { return m_JSDebugHTTPSServer.getInitializedOnMainThread(this); } - JSC::JSObject* JSDebugHTTPSServerConstructor() { return m_JSDebugHTTPSServer.constructorInitializedOnMainThread(this); } - JSC::JSValue JSDebugHTTPSServerPrototype() { return m_JSDebugHTTPSServer.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSDebugHTTPSServer; -JSC::Structure* JSDebugHTTPServerStructure() { return m_JSDebugHTTPServer.getInitializedOnMainThread(this); } - JSC::JSObject* JSDebugHTTPServerConstructor() { return m_JSDebugHTTPServer.constructorInitializedOnMainThread(this); } - JSC::JSValue JSDebugHTTPServerPrototype() { return m_JSDebugHTTPServer.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSDebugHTTPServer; -JSC::Structure* JSDirentStructure() { return m_JSDirent.getInitializedOnMainThread(this); } - JSC::JSObject* JSDirentConstructor() { return m_JSDirent.constructorInitializedOnMainThread(this); } - JSC::JSValue JSDirentPrototype() { return m_JSDirent.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSDirent; -JSC::Structure* JSDocEndStructure() { return m_JSDocEnd.getInitializedOnMainThread(this); } - JSC::JSObject* JSDocEndConstructor() { return m_JSDocEnd.constructorInitializedOnMainThread(this); } - JSC::JSValue JSDocEndPrototype() { return m_JSDocEnd.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSDocEnd; -JSC::Structure* JSDocTypeStructure() { return m_JSDocType.getInitializedOnMainThread(this); } - JSC::JSObject* JSDocTypeConstructor() { return m_JSDocType.constructorInitializedOnMainThread(this); } - JSC::JSValue JSDocTypePrototype() { return m_JSDocType.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSDocType; -JSC::Structure* JSElementStructure() { return m_JSElement.getInitializedOnMainThread(this); } - JSC::JSObject* JSElementConstructor() { return m_JSElement.constructorInitializedOnMainThread(this); } - JSC::JSValue JSElementPrototype() { return m_JSElement.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSElement; -JSC::Structure* JSEndTagStructure() { return m_JSEndTag.getInitializedOnMainThread(this); } - JSC::JSObject* JSEndTagConstructor() { return m_JSEndTag.constructorInitializedOnMainThread(this); } - JSC::JSValue JSEndTagPrototype() { return m_JSEndTag.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSEndTag; -JSC::Structure* JSExpectStructure() { return m_JSExpect.getInitializedOnMainThread(this); } - JSC::JSObject* JSExpectConstructor() { return m_JSExpect.constructorInitializedOnMainThread(this); } - JSC::JSValue JSExpectPrototype() { return m_JSExpect.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSExpect; -JSC::Structure* JSExpectAnyStructure() { return m_JSExpectAny.getInitializedOnMainThread(this); } - JSC::JSObject* JSExpectAnyConstructor() { return m_JSExpectAny.constructorInitializedOnMainThread(this); } - JSC::JSValue JSExpectAnyPrototype() { return m_JSExpectAny.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSExpectAny; -JSC::Structure* JSExpectAnythingStructure() { return m_JSExpectAnything.getInitializedOnMainThread(this); } - JSC::JSObject* JSExpectAnythingConstructor() { return m_JSExpectAnything.constructorInitializedOnMainThread(this); } - JSC::JSValue JSExpectAnythingPrototype() { return m_JSExpectAnything.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSExpectAnything; -JSC::Structure* JSExpectArrayContainingStructure() { return m_JSExpectArrayContaining.getInitializedOnMainThread(this); } - JSC::JSObject* JSExpectArrayContainingConstructor() { return m_JSExpectArrayContaining.constructorInitializedOnMainThread(this); } - JSC::JSValue JSExpectArrayContainingPrototype() { return m_JSExpectArrayContaining.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSExpectArrayContaining; -JSC::Structure* JSExpectStringContainingStructure() { return m_JSExpectStringContaining.getInitializedOnMainThread(this); } - JSC::JSObject* JSExpectStringContainingConstructor() { return m_JSExpectStringContaining.constructorInitializedOnMainThread(this); } - JSC::JSValue JSExpectStringContainingPrototype() { return m_JSExpectStringContaining.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSExpectStringContaining; -JSC::Structure* JSExpectStringMatchingStructure() { return m_JSExpectStringMatching.getInitializedOnMainThread(this); } - JSC::JSObject* JSExpectStringMatchingConstructor() { return m_JSExpectStringMatching.constructorInitializedOnMainThread(this); } - JSC::JSValue JSExpectStringMatchingPrototype() { return m_JSExpectStringMatching.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSExpectStringMatching; -JSC::Structure* JSFFIStructure() { return m_JSFFI.getInitializedOnMainThread(this); } - JSC::JSObject* JSFFIConstructor() { return m_JSFFI.constructorInitializedOnMainThread(this); } - JSC::JSValue JSFFIPrototype() { return m_JSFFI.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSFFI; -JSC::Structure* JSFSWatcherStructure() { return m_JSFSWatcher.getInitializedOnMainThread(this); } - JSC::JSObject* JSFSWatcherConstructor() { return m_JSFSWatcher.constructorInitializedOnMainThread(this); } - JSC::JSValue JSFSWatcherPrototype() { return m_JSFSWatcher.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSFSWatcher; -JSC::Structure* JSFileSystemRouterStructure() { return m_JSFileSystemRouter.getInitializedOnMainThread(this); } - JSC::JSObject* JSFileSystemRouterConstructor() { return m_JSFileSystemRouter.constructorInitializedOnMainThread(this); } - JSC::JSValue JSFileSystemRouterPrototype() { return m_JSFileSystemRouter.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSFileSystemRouter; -JSC::Structure* JSHTMLRewriterStructure() { return m_JSHTMLRewriter.getInitializedOnMainThread(this); } - JSC::JSObject* JSHTMLRewriterConstructor() { return m_JSHTMLRewriter.constructorInitializedOnMainThread(this); } - JSC::JSValue JSHTMLRewriterPrototype() { return m_JSHTMLRewriter.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSHTMLRewriter; -JSC::Structure* JSHTTPSServerStructure() { return m_JSHTTPSServer.getInitializedOnMainThread(this); } - JSC::JSObject* JSHTTPSServerConstructor() { return m_JSHTTPSServer.constructorInitializedOnMainThread(this); } - JSC::JSValue JSHTTPSServerPrototype() { return m_JSHTTPSServer.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSHTTPSServer; -JSC::Structure* JSHTTPServerStructure() { return m_JSHTTPServer.getInitializedOnMainThread(this); } - JSC::JSObject* JSHTTPServerConstructor() { return m_JSHTTPServer.constructorInitializedOnMainThread(this); } - JSC::JSValue JSHTTPServerPrototype() { return m_JSHTTPServer.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSHTTPServer; -JSC::Structure* JSListenerStructure() { return m_JSListener.getInitializedOnMainThread(this); } - JSC::JSObject* JSListenerConstructor() { return m_JSListener.constructorInitializedOnMainThread(this); } - JSC::JSValue JSListenerPrototype() { return m_JSListener.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSListener; -JSC::Structure* JSMD4Structure() { return m_JSMD4.getInitializedOnMainThread(this); } - JSC::JSObject* JSMD4Constructor() { return m_JSMD4.constructorInitializedOnMainThread(this); } - JSC::JSValue JSMD4Prototype() { return m_JSMD4.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSMD4; -JSC::Structure* JSMD5Structure() { return m_JSMD5.getInitializedOnMainThread(this); } - JSC::JSObject* JSMD5Constructor() { return m_JSMD5.constructorInitializedOnMainThread(this); } - JSC::JSValue JSMD5Prototype() { return m_JSMD5.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSMD5; -JSC::Structure* JSMatchedRouteStructure() { return m_JSMatchedRoute.getInitializedOnMainThread(this); } - JSC::JSObject* JSMatchedRouteConstructor() { return m_JSMatchedRoute.constructorInitializedOnMainThread(this); } - JSC::JSValue JSMatchedRoutePrototype() { return m_JSMatchedRoute.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSMatchedRoute; -JSC::Structure* JSNodeJSFSStructure() { return m_JSNodeJSFS.getInitializedOnMainThread(this); } - JSC::JSObject* JSNodeJSFSConstructor() { return m_JSNodeJSFS.constructorInitializedOnMainThread(this); } - JSC::JSValue JSNodeJSFSPrototype() { return m_JSNodeJSFS.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSNodeJSFS; -JSC::Structure* JSRequestStructure() { return m_JSRequest.getInitializedOnMainThread(this); } - JSC::JSObject* JSRequestConstructor() { return m_JSRequest.constructorInitializedOnMainThread(this); } - JSC::JSValue JSRequestPrototype() { return m_JSRequest.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSRequest; -JSC::Structure* JSResolveMessageStructure() { return m_JSResolveMessage.getInitializedOnMainThread(this); } - JSC::JSObject* JSResolveMessageConstructor() { return m_JSResolveMessage.constructorInitializedOnMainThread(this); } - JSC::JSValue JSResolveMessagePrototype() { return m_JSResolveMessage.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSResolveMessage; -JSC::Structure* JSResponseStructure() { return m_JSResponse.getInitializedOnMainThread(this); } - JSC::JSObject* JSResponseConstructor() { return m_JSResponse.constructorInitializedOnMainThread(this); } - JSC::JSValue JSResponsePrototype() { return m_JSResponse.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSResponse; -JSC::Structure* JSSHA1Structure() { return m_JSSHA1.getInitializedOnMainThread(this); } - JSC::JSObject* JSSHA1Constructor() { return m_JSSHA1.constructorInitializedOnMainThread(this); } - JSC::JSValue JSSHA1Prototype() { return m_JSSHA1.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSSHA1; -JSC::Structure* JSSHA224Structure() { return m_JSSHA224.getInitializedOnMainThread(this); } - JSC::JSObject* JSSHA224Constructor() { return m_JSSHA224.constructorInitializedOnMainThread(this); } - JSC::JSValue JSSHA224Prototype() { return m_JSSHA224.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSSHA224; -JSC::Structure* JSSHA256Structure() { return m_JSSHA256.getInitializedOnMainThread(this); } - JSC::JSObject* JSSHA256Constructor() { return m_JSSHA256.constructorInitializedOnMainThread(this); } - JSC::JSValue JSSHA256Prototype() { return m_JSSHA256.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSSHA256; -JSC::Structure* JSSHA384Structure() { return m_JSSHA384.getInitializedOnMainThread(this); } - JSC::JSObject* JSSHA384Constructor() { return m_JSSHA384.constructorInitializedOnMainThread(this); } - JSC::JSValue JSSHA384Prototype() { return m_JSSHA384.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSSHA384; -JSC::Structure* JSSHA512Structure() { return m_JSSHA512.getInitializedOnMainThread(this); } - JSC::JSObject* JSSHA512Constructor() { return m_JSSHA512.constructorInitializedOnMainThread(this); } - JSC::JSValue JSSHA512Prototype() { return m_JSSHA512.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSSHA512; -JSC::Structure* JSSHA512_256Structure() { return m_JSSHA512_256.getInitializedOnMainThread(this); } - JSC::JSObject* JSSHA512_256Constructor() { return m_JSSHA512_256.constructorInitializedOnMainThread(this); } - JSC::JSValue JSSHA512_256Prototype() { return m_JSSHA512_256.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSSHA512_256; -JSC::Structure* JSServerWebSocketStructure() { return m_JSServerWebSocket.getInitializedOnMainThread(this); } - JSC::JSObject* JSServerWebSocketConstructor() { return m_JSServerWebSocket.constructorInitializedOnMainThread(this); } - JSC::JSValue JSServerWebSocketPrototype() { return m_JSServerWebSocket.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSServerWebSocket; -JSC::Structure* JSStatWatcherStructure() { return m_JSStatWatcher.getInitializedOnMainThread(this); } - JSC::JSObject* JSStatWatcherConstructor() { return m_JSStatWatcher.constructorInitializedOnMainThread(this); } - JSC::JSValue JSStatWatcherPrototype() { return m_JSStatWatcher.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSStatWatcher; -JSC::Structure* JSStatsStructure() { return m_JSStats.getInitializedOnMainThread(this); } - JSC::JSObject* JSStatsConstructor() { return m_JSStats.constructorInitializedOnMainThread(this); } - JSC::JSValue JSStatsPrototype() { return m_JSStats.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSStats; -JSC::Structure* JSSubprocessStructure() { return m_JSSubprocess.getInitializedOnMainThread(this); } - JSC::JSObject* JSSubprocessConstructor() { return m_JSSubprocess.constructorInitializedOnMainThread(this); } - JSC::JSValue JSSubprocessPrototype() { return m_JSSubprocess.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSSubprocess; -JSC::Structure* JSTCPSocketStructure() { return m_JSTCPSocket.getInitializedOnMainThread(this); } - JSC::JSObject* JSTCPSocketConstructor() { return m_JSTCPSocket.constructorInitializedOnMainThread(this); } - JSC::JSValue JSTCPSocketPrototype() { return m_JSTCPSocket.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSTCPSocket; -JSC::Structure* JSTLSSocketStructure() { return m_JSTLSSocket.getInitializedOnMainThread(this); } - JSC::JSObject* JSTLSSocketConstructor() { return m_JSTLSSocket.constructorInitializedOnMainThread(this); } - JSC::JSValue JSTLSSocketPrototype() { return m_JSTLSSocket.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSTLSSocket; -JSC::Structure* JSTextChunkStructure() { return m_JSTextChunk.getInitializedOnMainThread(this); } - JSC::JSObject* JSTextChunkConstructor() { return m_JSTextChunk.constructorInitializedOnMainThread(this); } - JSC::JSValue JSTextChunkPrototype() { return m_JSTextChunk.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSTextChunk; -JSC::Structure* JSTextDecoderStructure() { return m_JSTextDecoder.getInitializedOnMainThread(this); } - JSC::JSObject* JSTextDecoderConstructor() { return m_JSTextDecoder.constructorInitializedOnMainThread(this); } - JSC::JSValue JSTextDecoderPrototype() { return m_JSTextDecoder.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSTextDecoder; -JSC::Structure* JSTimeoutStructure() { return m_JSTimeout.getInitializedOnMainThread(this); } - JSC::JSObject* JSTimeoutConstructor() { return m_JSTimeout.constructorInitializedOnMainThread(this); } - JSC::JSValue JSTimeoutPrototype() { return m_JSTimeout.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSTimeout; -JSC::Structure* JSTranspilerStructure() { return m_JSTranspiler.getInitializedOnMainThread(this); } - JSC::JSObject* JSTranspilerConstructor() { return m_JSTranspiler.constructorInitializedOnMainThread(this); } - JSC::JSValue JSTranspilerPrototype() { return m_JSTranspiler.prototypeInitializedOnMainThread(this); } - JSC::LazyClassStructure m_JSTranspiler;
\ No newline at end of file diff --git a/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureImpl.h b/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureImpl.h deleted file mode 100644 index 84d3df7a0..000000000 --- a/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureImpl.h +++ /dev/null @@ -1,363 +0,0 @@ -ALWAYS_INLINE void GlobalObject::initGeneratedLazyClasses() { - m_JSAttributeIterator.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSAttributeIterator::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSAttributeIterator::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSBigIntStats.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSBigIntStats::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSBigIntStats::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSBigIntStats::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSBlob.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSBlob::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSBlob::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSBlob::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSBuildArtifact.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSBuildArtifact::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSBuildArtifact::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSBuildMessage.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSBuildMessage::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSBuildMessage::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSBuildMessage::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSComment.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSComment::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSComment::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSCrypto.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSCrypto::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSCrypto::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSCrypto::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSCryptoHasher.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSCryptoHasher::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSCryptoHasher::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSCryptoHasher::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSDebugHTTPSServer.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSDebugHTTPSServer::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSDebugHTTPSServer::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSDebugHTTPServer.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSDebugHTTPServer::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSDebugHTTPServer::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSDirent.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSDirent::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSDirent::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSDirent::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSDocEnd.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSDocEnd::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSDocEnd::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSDocType.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSDocType::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSDocType::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSElement.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSElement::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSElement::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSEndTag.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSEndTag::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSEndTag::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSExpect.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSExpect::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSExpect::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSExpect::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSExpectAny.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSExpectAny::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSExpectAny::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSExpectAnything.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSExpectAnything::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSExpectAnything::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSExpectArrayContaining.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSExpectArrayContaining::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSExpectArrayContaining::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSExpectStringContaining.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSExpectStringContaining::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSExpectStringContaining::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSExpectStringMatching.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSExpectStringMatching::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSExpectStringMatching::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSFFI.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSFFI::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSFFI::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSFSWatcher.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSFSWatcher::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSFSWatcher::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSFileSystemRouter.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSFileSystemRouter::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSFileSystemRouter::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSFileSystemRouter::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSHTMLRewriter.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSHTMLRewriter::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSHTMLRewriter::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSHTMLRewriter::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSHTTPSServer.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSHTTPSServer::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSHTTPSServer::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSHTTPServer.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSHTTPServer::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSHTTPServer::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSListener.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSListener::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSListener::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSMD4.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSMD4::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSMD4::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSMD4::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSMD5.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSMD5::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSMD5::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSMD5::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSMatchedRoute.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSMatchedRoute::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSMatchedRoute::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSNodeJSFS.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSNodeJSFS::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSNodeJSFS::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSNodeJSFS::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSRequest.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSRequest::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSRequest::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSRequest::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSResolveMessage.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSResolveMessage::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSResolveMessage::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSResolveMessage::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSResponse.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSResponse::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSResponse::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSResponse::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSSHA1.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSSHA1::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSSHA1::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSSHA1::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSSHA224.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSSHA224::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSSHA224::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSSHA224::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSSHA256.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSSHA256::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSSHA256::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSSHA256::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSSHA384.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSSHA384::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSSHA384::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSSHA384::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSSHA512.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSSHA512::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSSHA512::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSSHA512::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSSHA512_256.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSSHA512_256::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSSHA512_256::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSSHA512_256::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSServerWebSocket.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSServerWebSocket::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSServerWebSocket::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSServerWebSocket::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSStatWatcher.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSStatWatcher::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSStatWatcher::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSStats.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSStats::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSStats::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSStats::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSSubprocess.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSSubprocess::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSSubprocess::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSTCPSocket.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSTCPSocket::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSTCPSocket::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSTLSSocket.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSTLSSocket::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSTLSSocket::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSTextChunk.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSTextChunk::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSTextChunk::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSTextDecoder.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSTextDecoder::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSTextDecoder::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSTextDecoder::createConstructor(init.vm, init.global, init.prototype)); - }); - m_JSTimeout.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSTimeout::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSTimeout::createStructure(init.vm, init.global, init.prototype)); - - }); - m_JSTranspiler.initLater( - [](LazyClassStructure::Initializer& init) { - init.setPrototype(WebCore::JSTranspiler::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global))); - init.setStructure(WebCore::JSTranspiler::createStructure(init.vm, init.global, init.prototype)); - init.setConstructor(WebCore::JSTranspiler::createConstructor(init.vm, init.global, init.prototype)); - }); -} -template<typename Visitor> -void GlobalObject::visitGeneratedLazyClasses(GlobalObject *thisObject, Visitor& visitor) -{ - thisObject->m_JSAttributeIterator.visit(visitor); - thisObject->m_JSBigIntStats.visit(visitor); - thisObject->m_JSBlob.visit(visitor); - thisObject->m_JSBuildArtifact.visit(visitor); - thisObject->m_JSBuildMessage.visit(visitor); - thisObject->m_JSComment.visit(visitor); - thisObject->m_JSCrypto.visit(visitor); - thisObject->m_JSCryptoHasher.visit(visitor); - thisObject->m_JSDebugHTTPSServer.visit(visitor); - thisObject->m_JSDebugHTTPServer.visit(visitor); - thisObject->m_JSDirent.visit(visitor); - thisObject->m_JSDocEnd.visit(visitor); - thisObject->m_JSDocType.visit(visitor); - thisObject->m_JSElement.visit(visitor); - thisObject->m_JSEndTag.visit(visitor); - thisObject->m_JSExpect.visit(visitor); - thisObject->m_JSExpectAny.visit(visitor); - thisObject->m_JSExpectAnything.visit(visitor); - thisObject->m_JSExpectArrayContaining.visit(visitor); - thisObject->m_JSExpectStringContaining.visit(visitor); - thisObject->m_JSExpectStringMatching.visit(visitor); - thisObject->m_JSFFI.visit(visitor); - thisObject->m_JSFSWatcher.visit(visitor); - thisObject->m_JSFileSystemRouter.visit(visitor); - thisObject->m_JSHTMLRewriter.visit(visitor); - thisObject->m_JSHTTPSServer.visit(visitor); - thisObject->m_JSHTTPServer.visit(visitor); - thisObject->m_JSListener.visit(visitor); - thisObject->m_JSMD4.visit(visitor); - thisObject->m_JSMD5.visit(visitor); - thisObject->m_JSMatchedRoute.visit(visitor); - thisObject->m_JSNodeJSFS.visit(visitor); - thisObject->m_JSRequest.visit(visitor); - thisObject->m_JSResolveMessage.visit(visitor); - thisObject->m_JSResponse.visit(visitor); - thisObject->m_JSSHA1.visit(visitor); - thisObject->m_JSSHA224.visit(visitor); - thisObject->m_JSSHA256.visit(visitor); - thisObject->m_JSSHA384.visit(visitor); - thisObject->m_JSSHA512.visit(visitor); - thisObject->m_JSSHA512_256.visit(visitor); - thisObject->m_JSServerWebSocket.visit(visitor); - thisObject->m_JSStatWatcher.visit(visitor); - thisObject->m_JSStats.visit(visitor); - thisObject->m_JSSubprocess.visit(visitor); - thisObject->m_JSTCPSocket.visit(visitor); - thisObject->m_JSTLSSocket.visit(visitor); - thisObject->m_JSTextChunk.visit(visitor); - thisObject->m_JSTextDecoder.visit(visitor); - thisObject->m_JSTimeout.visit(visitor); - thisObject->m_JSTranspiler.visit(visitor); -}
\ No newline at end of file diff --git a/src/bun.js/bindings/ZigGeneratedClasses.cpp b/src/bun.js/bindings/ZigGeneratedClasses.cpp deleted file mode 100644 index b3b768ecc..000000000 --- a/src/bun.js/bindings/ZigGeneratedClasses.cpp +++ /dev/null @@ -1,30005 +0,0 @@ - -// GENERATED CODE - DO NOT MODIFY BY HAND -// Generated by make codegen -#include "root.h" -#include "headers.h" - -#include "BunClientData.h" -#include "ZigGlobalObject.h" - -#include <JavaScriptCore/JSFunction.h> -#include <JavaScriptCore/InternalFunction.h> -#include <JavaScriptCore/LazyClassStructure.h> -#include <JavaScriptCore/LazyClassStructureInlines.h> -#include <JavaScriptCore/FunctionPrototype.h> - -#include <JavaScriptCore/DOMJITAbstractHeap.h> -#include "DOMJITIDLConvert.h" -#include "DOMJITIDLType.h" -#include "DOMJITIDLTypeFilter.h" -#include "DOMJITHelpers.h" -#include <JavaScriptCore/DFGAbstractHeap.h> - -#include "JSDOMConvertBufferSource.h" -#include "ZigGeneratedClasses.h" - - - - -namespace WebCore { - -using namespace JSC; -using namespace Zig; - - - class JSAttributeIteratorPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSAttributeIteratorPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSAttributeIteratorPrototype* ptr = new (NotNull, JSC::allocateCell<JSAttributeIteratorPrototype>(vm)) JSAttributeIteratorPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSAttributeIteratorPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSAttributeIteratorPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* AttributeIteratorClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsAttributeIteratorConstructor); - - - - - -extern "C" void AttributeIteratorClass__finalize(void*); - - -extern "C" EncodedJSValue AttributeIteratorPrototype__getThis(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(AttributeIteratorPrototype__iteratorCallback); - - -extern "C" EncodedJSValue AttributeIteratorPrototype__next(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(AttributeIteratorPrototype__nextCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSAttributeIteratorPrototype, JSAttributeIteratorPrototype::Base); - - - static const HashTableValue JSAttributeIteratorPrototypeTableValues[] = { -{ "next"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, AttributeIteratorPrototype__nextCallback, 0 } } -}; - - - -const ClassInfo JSAttributeIteratorPrototype::s_info = { "AttributeIterator"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSAttributeIteratorPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsAttributeIteratorConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSAttributeIteratorPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for AttributeIterator"_s); - return JSValue::encode(globalObject->JSAttributeIteratorConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(AttributeIteratorPrototype__iteratorCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSAttributeIterator* thisObject = jsDynamicCast<JSAttributeIterator*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof AttributeIterator"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return AttributeIteratorPrototype__getThis(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(AttributeIteratorPrototype__nextCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSAttributeIterator* thisObject = jsDynamicCast<JSAttributeIterator*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof AttributeIterator"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return AttributeIteratorPrototype__next(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSAttributeIteratorPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSAttributeIterator::info(), JSAttributeIteratorPrototypeTableValues, *this); - this->putDirect(vm, vm.propertyNames->iteratorSymbol, JSFunction::create(vm, globalObject, 1, String("iterator"_s), AttributeIteratorPrototype__iteratorCallback, ImplementationVisibility::Public), PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum | 0); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSAttributeIterator::~JSAttributeIterator() -{ - if (m_ctx) { - AttributeIteratorClass__finalize(m_ctx); - } -} -void JSAttributeIterator::destroy(JSCell* cell) -{ - static_cast<JSAttributeIterator*>(cell)->JSAttributeIterator::~JSAttributeIterator(); -} - -const ClassInfo JSAttributeIterator::s_info = { "AttributeIterator"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSAttributeIterator) }; - -void JSAttributeIterator::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSAttributeIterator* JSAttributeIterator::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSAttributeIterator* ptr = new (NotNull, JSC::allocateCell<JSAttributeIterator>(vm)) JSAttributeIterator(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* AttributeIterator__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSAttributeIterator* object = JSC::jsDynamicCast<JSAttributeIterator*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool AttributeIterator__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSAttributeIterator* object = JSC::jsDynamicCast<JSAttributeIterator*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t AttributeIterator__ptrOffset = JSAttributeIterator::offsetOfWrapped(); - -void JSAttributeIterator::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSAttributeIterator*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSAttributeIterator::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSAttributeIteratorPrototype::create(vm, globalObject, JSAttributeIteratorPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue AttributeIterator__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSAttributeIteratorStructure(); - JSAttributeIterator* instance = JSAttributeIterator::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSBigIntStatsPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSBigIntStatsPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSBigIntStatsPrototype* ptr = new (NotNull, JSC::allocateCell<JSBigIntStatsPrototype>(vm)) JSBigIntStatsPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSBigIntStatsPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSBigIntStatsPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSBigIntStatsConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSBigIntStatsConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSBigIntStatsPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSBigIntStatsConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForBigIntStatsConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForBigIntStatsConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForBigIntStatsConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForBigIntStatsConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSBigIntStatsPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSBigIntStatsConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSBigIntStatsPrototype* prototype); - }; - - -extern "C" void* BigIntStatsClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsBigIntStatsConstructor); - - - - - -extern "C" void BigIntStatsClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__atime(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__atimeGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__atimeMs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__atimeMsGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__atimeNs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__atimeNsGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__birthtime(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__birthtimeGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__birthtimeMs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__birthtimeMsGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__birthtimeNs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__birthtimeNsGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__blksize(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__blksizeGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__blocks(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__blocksGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__ctime(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__ctimeGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__ctimeMs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__ctimeMsGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__ctimeNs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__ctimeNsGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__dev(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__devGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__gid(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__gidGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__ino(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__inoGetterWrap); - - -extern "C" EncodedJSValue BigIntStatsPrototype__isBlockDevice_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BigIntStatsPrototype__isBlockDeviceCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(BigIntStatsPrototype__isBlockDeviceWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue BigIntStatsPrototype__isBlockDevice_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForBigIntStatsPrototype__isBlockDevice(BigIntStatsPrototype__isBlockDeviceWithoutTypeChecksWrapper, - JSBigIntStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(BigIntStatsPrototype__isBlockDeviceWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return BigIntStatsPrototype__isBlockDevice_WithoutTypeChecks(reinterpret_cast<JSBigIntStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue BigIntStatsPrototype__isCharacterDevice_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BigIntStatsPrototype__isCharacterDeviceCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(BigIntStatsPrototype__isCharacterDeviceWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue BigIntStatsPrototype__isCharacterDevice_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForBigIntStatsPrototype__isCharacterDevice(BigIntStatsPrototype__isCharacterDeviceWithoutTypeChecksWrapper, - JSBigIntStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(BigIntStatsPrototype__isCharacterDeviceWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return BigIntStatsPrototype__isCharacterDevice_WithoutTypeChecks(reinterpret_cast<JSBigIntStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue BigIntStatsPrototype__isDirectory_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BigIntStatsPrototype__isDirectoryCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(BigIntStatsPrototype__isDirectoryWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue BigIntStatsPrototype__isDirectory_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForBigIntStatsPrototype__isDirectory(BigIntStatsPrototype__isDirectoryWithoutTypeChecksWrapper, - JSBigIntStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(BigIntStatsPrototype__isDirectoryWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return BigIntStatsPrototype__isDirectory_WithoutTypeChecks(reinterpret_cast<JSBigIntStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue BigIntStatsPrototype__isFIFO_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BigIntStatsPrototype__isFIFOCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(BigIntStatsPrototype__isFIFOWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue BigIntStatsPrototype__isFIFO_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForBigIntStatsPrototype__isFIFO(BigIntStatsPrototype__isFIFOWithoutTypeChecksWrapper, - JSBigIntStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(BigIntStatsPrototype__isFIFOWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return BigIntStatsPrototype__isFIFO_WithoutTypeChecks(reinterpret_cast<JSBigIntStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue BigIntStatsPrototype__isFile_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BigIntStatsPrototype__isFileCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(BigIntStatsPrototype__isFileWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue BigIntStatsPrototype__isFile_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForBigIntStatsPrototype__isFile(BigIntStatsPrototype__isFileWithoutTypeChecksWrapper, - JSBigIntStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(BigIntStatsPrototype__isFileWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return BigIntStatsPrototype__isFile_WithoutTypeChecks(reinterpret_cast<JSBigIntStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue BigIntStatsPrototype__isSocket_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BigIntStatsPrototype__isSocketCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(BigIntStatsPrototype__isSocketWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue BigIntStatsPrototype__isSocket_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForBigIntStatsPrototype__isSocket(BigIntStatsPrototype__isSocketWithoutTypeChecksWrapper, - JSBigIntStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(BigIntStatsPrototype__isSocketWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return BigIntStatsPrototype__isSocket_WithoutTypeChecks(reinterpret_cast<JSBigIntStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue BigIntStatsPrototype__isSymbolicLink_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BigIntStatsPrototype__isSymbolicLinkCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(BigIntStatsPrototype__isSymbolicLinkWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue BigIntStatsPrototype__isSymbolicLink_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForBigIntStatsPrototype__isSymbolicLink(BigIntStatsPrototype__isSymbolicLinkWithoutTypeChecksWrapper, - JSBigIntStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(BigIntStatsPrototype__isSymbolicLinkWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return BigIntStatsPrototype__isSymbolicLink_WithoutTypeChecks(reinterpret_cast<JSBigIntStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__mode(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__modeGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__mtime(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__mtimeGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__mtimeMs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__mtimeMsGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__mtimeNs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__mtimeNsGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__nlink(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__nlinkGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__rdev(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__rdevGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__size(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__sizeGetterWrap); - - -extern "C" JSC::EncodedJSValue BigIntStatsPrototype__uid(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BigIntStatsPrototype__uidGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSBigIntStatsPrototype, JSBigIntStatsPrototype::Base); - - - static const HashTableValue JSBigIntStatsPrototypeTableValues[] = { -{ "atime"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__atimeGetterWrap, 0 } } , -{ "atimeMs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__atimeMsGetterWrap, 0 } } , -{ "atimeNs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__atimeNsGetterWrap, 0 } } , -{ "birthtime"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__birthtimeGetterWrap, 0 } } , -{ "birthtimeMs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__birthtimeMsGetterWrap, 0 } } , -{ "birthtimeNs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__birthtimeNsGetterWrap, 0 } } , -{ "blksize"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__blksizeGetterWrap, 0 } } , -{ "blocks"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__blocksGetterWrap, 0 } } , -{ "ctime"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__ctimeGetterWrap, 0 } } , -{ "ctimeMs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__ctimeMsGetterWrap, 0 } } , -{ "ctimeNs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__ctimeNsGetterWrap, 0 } } , -{ "dev"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__devGetterWrap, 0 } } , -{ "gid"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__gidGetterWrap, 0 } } , -{ "ino"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__inoGetterWrap, 0 } } , -{ "isBlockDevice"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, BigIntStatsPrototype__isBlockDeviceCallback, &DOMJITSignatureForBigIntStatsPrototype__isBlockDevice } } , -{ "isCharacterDevice"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, BigIntStatsPrototype__isCharacterDeviceCallback, &DOMJITSignatureForBigIntStatsPrototype__isCharacterDevice } } , -{ "isDirectory"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, BigIntStatsPrototype__isDirectoryCallback, &DOMJITSignatureForBigIntStatsPrototype__isDirectory } } , -{ "isFIFO"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, BigIntStatsPrototype__isFIFOCallback, &DOMJITSignatureForBigIntStatsPrototype__isFIFO } } , -{ "isFile"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, BigIntStatsPrototype__isFileCallback, &DOMJITSignatureForBigIntStatsPrototype__isFile } } , -{ "isSocket"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, BigIntStatsPrototype__isSocketCallback, &DOMJITSignatureForBigIntStatsPrototype__isSocket } } , -{ "isSymbolicLink"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, BigIntStatsPrototype__isSymbolicLinkCallback, &DOMJITSignatureForBigIntStatsPrototype__isSymbolicLink } } , -{ "mode"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__modeGetterWrap, 0 } } , -{ "mtime"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__mtimeGetterWrap, 0 } } , -{ "mtimeMs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__mtimeMsGetterWrap, 0 } } , -{ "mtimeNs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__mtimeNsGetterWrap, 0 } } , -{ "nlink"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__nlinkGetterWrap, 0 } } , -{ "rdev"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__rdevGetterWrap, 0 } } , -{ "size"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__sizeGetterWrap, 0 } } , -{ "uid"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BigIntStatsPrototype__uidGetterWrap, 0 } } -}; - - - -const ClassInfo JSBigIntStatsPrototype::s_info = { "BigIntStats"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBigIntStatsPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsBigIntStatsConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSBigIntStatsPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for BigIntStats"_s); - return JSValue::encode(globalObject->JSBigIntStatsConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__atimeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_atime.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BigIntStatsPrototype__atime(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_atime.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BigIntStatsPrototype__atimeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - thisObject->m_atime.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BigIntStatsPrototype__atimeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_atime.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__atimeMsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__atimeMs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__atimeNsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__atimeNs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__birthtimeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_birthtime.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BigIntStatsPrototype__birthtime(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_birthtime.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BigIntStatsPrototype__birthtimeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - thisObject->m_birthtime.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BigIntStatsPrototype__birthtimeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_birthtime.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__birthtimeMsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__birthtimeMs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__birthtimeNsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__birthtimeNs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__blksizeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__blksize(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__blocksGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__blocks(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__ctimeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_ctime.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BigIntStatsPrototype__ctime(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_ctime.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BigIntStatsPrototype__ctimeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - thisObject->m_ctime.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BigIntStatsPrototype__ctimeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_ctime.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__ctimeMsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__ctimeMs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__ctimeNsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__ctimeNs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__devGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__dev(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__gidGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__gid(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__inoGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__ino(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(BigIntStatsPrototype__isBlockDeviceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBigIntStats* thisObject = jsDynamicCast<JSBigIntStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BigIntStats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BigIntStatsPrototype__isBlockDevice_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BigIntStatsPrototype__isCharacterDeviceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBigIntStats* thisObject = jsDynamicCast<JSBigIntStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BigIntStats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BigIntStatsPrototype__isCharacterDevice_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BigIntStatsPrototype__isDirectoryCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBigIntStats* thisObject = jsDynamicCast<JSBigIntStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BigIntStats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BigIntStatsPrototype__isDirectory_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BigIntStatsPrototype__isFIFOCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBigIntStats* thisObject = jsDynamicCast<JSBigIntStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BigIntStats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BigIntStatsPrototype__isFIFO_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BigIntStatsPrototype__isFileCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBigIntStats* thisObject = jsDynamicCast<JSBigIntStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BigIntStats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BigIntStatsPrototype__isFile_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BigIntStatsPrototype__isSocketCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBigIntStats* thisObject = jsDynamicCast<JSBigIntStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BigIntStats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BigIntStatsPrototype__isSocket_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BigIntStatsPrototype__isSymbolicLinkCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBigIntStats* thisObject = jsDynamicCast<JSBigIntStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BigIntStats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BigIntStatsPrototype__isSymbolicLink_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__modeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__mode(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__mtimeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_mtime.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BigIntStatsPrototype__mtime(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_mtime.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BigIntStatsPrototype__mtimeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - thisObject->m_mtime.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BigIntStatsPrototype__mtimeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_mtime.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__mtimeMsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__mtimeMs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__mtimeNsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__mtimeNs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__nlinkGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__nlink(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__rdevGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__rdev(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__sizeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__size(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BigIntStatsPrototype__uidGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BigIntStatsPrototype__uid(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -void JSBigIntStatsPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSBigIntStats::info(), JSBigIntStatsPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSBigIntStatsConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSBigIntStatsPrototype* prototype) -{ - Base::finishCreation(vm, 0, "BigIntStats"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSBigIntStatsConstructor::JSBigIntStatsConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSBigIntStatsConstructor* JSBigIntStatsConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSBigIntStatsPrototype* prototype) { - JSBigIntStatsConstructor* ptr = new (NotNull, JSC::allocateCell<JSBigIntStatsConstructor>(vm)) JSBigIntStatsConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSBigIntStatsConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSBigIntStatsConstructor(); - Structure* structure = globalObject->JSBigIntStatsStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSBigIntStatsStructure() - ); - } - - void* ptr = BigIntStatsClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSBigIntStats* instance = JSBigIntStats::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSBigIntStatsConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSBigIntStatsPrototype* prototype) -{ - -} - -const ClassInfo JSBigIntStatsConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBigIntStatsConstructor) }; - - - extern "C" EncodedJSValue BigIntStats__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSBigIntStatsConstructor()); - } - -JSBigIntStats::~JSBigIntStats() -{ - if (m_ctx) { - BigIntStatsClass__finalize(m_ctx); - } -} -void JSBigIntStats::destroy(JSCell* cell) -{ - static_cast<JSBigIntStats*>(cell)->JSBigIntStats::~JSBigIntStats(); -} - -const ClassInfo JSBigIntStats::s_info = { "BigIntStats"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBigIntStats) }; - -void JSBigIntStats::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSBigIntStats* JSBigIntStats::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSBigIntStats* ptr = new (NotNull, JSC::allocateCell<JSBigIntStats>(vm)) JSBigIntStats(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* BigIntStats__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSBigIntStats* object = JSC::jsDynamicCast<JSBigIntStats*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool BigIntStats__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSBigIntStats* object = JSC::jsDynamicCast<JSBigIntStats*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t BigIntStats__ptrOffset = JSBigIntStats::offsetOfWrapped(); - -void JSBigIntStats::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSBigIntStats*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSBigIntStats::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSBigIntStatsConstructor::create(vm, globalObject, WebCore::JSBigIntStatsConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSBigIntStatsPrototype*>(prototype)); -} - -JSObject* JSBigIntStats::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSBigIntStatsPrototype::create(vm, globalObject, JSBigIntStatsPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue BigIntStats__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSBigIntStatsStructure(); - JSBigIntStats* instance = JSBigIntStats::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSBigIntStats::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSBigIntStats); - -template<typename Visitor> -void JSBigIntStats::visitAdditionalChildren(Visitor& visitor) -{ - JSBigIntStats* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_atime); - visitor.append(thisObject->m_birthtime); - visitor.append(thisObject->m_ctime); - visitor.append(thisObject->m_mtime); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSBigIntStats); - -template<typename Visitor> -void JSBigIntStats::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSBigIntStats* thisObject = jsCast<JSBigIntStats*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSBigIntStats); - class JSBlobPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSBlobPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSBlobPrototype* ptr = new (NotNull, JSC::allocateCell<JSBlobPrototype>(vm)) JSBlobPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSBlobPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSBlobPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSBlobConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSBlobConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSBlobPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSBlobConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForBlobConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForBlobConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForBlobConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForBlobConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSBlobPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSBlobConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSBlobPrototype* prototype); - }; - - -extern "C" void* BlobClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsBlobConstructor); - -extern "C" void Blob__onStructuredCloneSerialize(void*, JSC::JSGlobalObject*, void*, void (*) (CloneSerializer*, const uint8_t*, uint32_t)); - -extern "C" JSC::EncodedJSValue Blob__onStructuredCloneDeserialize(JSC::JSGlobalObject*, const uint8_t*, const uint8_t*); - -extern "C" void BlobClass__finalize(void*); - - -extern "C" EncodedJSValue BlobPrototype__getArrayBuffer(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BlobPrototype__arrayBufferCallback); - - -extern "C" EncodedJSValue BlobPrototype__getExists(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BlobPrototype__existsCallback); - - -extern "C" EncodedJSValue BlobPrototype__getFormData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BlobPrototype__formDataCallback); - - -extern "C" EncodedJSValue BlobPrototype__getJSON(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BlobPrototype__jsonCallback); - - -extern "C" JSC::EncodedJSValue BlobPrototype__getLastModified(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BlobPrototype__lastModifiedGetterWrap); - - -extern "C" JSC::EncodedJSValue BlobPrototype__getName(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BlobPrototype__nameGetterWrap); - - -extern "C" JSC::EncodedJSValue BlobPrototype__getSize(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BlobPrototype__sizeGetterWrap); - - -extern "C" EncodedJSValue BlobPrototype__getSlice(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BlobPrototype__sliceCallback); - - -extern "C" EncodedJSValue BlobPrototype__getStream(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BlobPrototype__streamCallback); - - -extern "C" EncodedJSValue BlobPrototype__getText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BlobPrototype__textCallback); - - -extern "C" JSC::EncodedJSValue BlobPrototype__getType(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BlobPrototype__typeGetterWrap); - - -extern "C" EncodedJSValue BlobPrototype__getWriter(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BlobPrototype__writerCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSBlobPrototype, JSBlobPrototype::Base); - - - static const HashTableValue JSBlobPrototypeTableValues[] = { -{ "arrayBuffer"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BlobPrototype__arrayBufferCallback, 0 } } , -{ "exists"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BlobPrototype__existsCallback, 0 } } , -{ "formData"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BlobPrototype__formDataCallback, 0 } } , -{ "json"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BlobPrototype__jsonCallback, 0 } } , -{ "lastModified"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BlobPrototype__lastModifiedGetterWrap, 0 } } , -{ "name"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BlobPrototype__nameGetterWrap, 0 } } , -{ "size"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BlobPrototype__sizeGetterWrap, 0 } } , -{ "slice"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BlobPrototype__sliceCallback, 2 } } , -{ "stream"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BlobPrototype__streamCallback, 1 } } , -{ "text"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BlobPrototype__textCallback, 0 } } , -{ "type"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BlobPrototype__typeGetterWrap, 0 } } , -{ "writer"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BlobPrototype__writerCallback, 1 } } -}; - - - -const ClassInfo JSBlobPrototype::s_info = { "Blob"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBlobPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsBlobConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSBlobPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Blob"_s); - return JSValue::encode(globalObject->JSBlobConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(BlobPrototype__arrayBufferCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBlob* thisObject = jsDynamicCast<JSBlob*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Blob"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BlobPrototype__getArrayBuffer(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BlobPrototype__existsCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBlob* thisObject = jsDynamicCast<JSBlob*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Blob"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BlobPrototype__getExists(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BlobPrototype__formDataCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBlob* thisObject = jsDynamicCast<JSBlob*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Blob"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BlobPrototype__getFormData(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BlobPrototype__jsonCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBlob* thisObject = jsDynamicCast<JSBlob*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Blob"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BlobPrototype__getJSON(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(BlobPrototype__lastModifiedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBlob* thisObject = jsCast<JSBlob*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BlobPrototype__getLastModified(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(BlobPrototype__nameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBlob* thisObject = jsCast<JSBlob*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_name.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BlobPrototype__getName(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_name.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BlobPrototype__nameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBlob*>(JSValue::decode(thisValue)); - thisObject->m_name.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BlobPrototype__nameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBlob*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_name.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BlobPrototype__sizeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBlob* thisObject = jsCast<JSBlob*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BlobPrototype__getSize(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(BlobPrototype__sliceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBlob* thisObject = jsDynamicCast<JSBlob*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Blob"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BlobPrototype__getSlice(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BlobPrototype__streamCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBlob* thisObject = jsDynamicCast<JSBlob*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Blob"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BlobPrototype__getStream(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BlobPrototype__textCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBlob* thisObject = jsDynamicCast<JSBlob*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Blob"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BlobPrototype__getText(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(BlobPrototype__typeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBlob* thisObject = jsCast<JSBlob*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BlobPrototype__getType(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(BlobPrototype__writerCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBlob* thisObject = jsDynamicCast<JSBlob*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Blob"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BlobPrototype__getWriter(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSBlobPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSBlob::info(), JSBlobPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" size_t Blob__estimatedSize(void* ptr); - - - -void JSBlobConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSBlobPrototype* prototype) -{ - Base::finishCreation(vm, 0, "Blob"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSBlobConstructor::JSBlobConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSBlobConstructor* JSBlobConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSBlobPrototype* prototype) { - JSBlobConstructor* ptr = new (NotNull, JSC::allocateCell<JSBlobConstructor>(vm)) JSBlobConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSBlobConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSBlobConstructor(); - Structure* structure = globalObject->JSBlobStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSBlobStructure() - ); - } - - void* ptr = BlobClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSBlob* instance = JSBlob::create(vm, globalObject, structure, ptr); - vm.heap.reportExtraMemoryAllocated(instance, Blob__estimatedSize(instance->wrapped())); - - return JSValue::encode(instance); -} - -void JSBlobConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSBlobPrototype* prototype) -{ - -} - -const ClassInfo JSBlobConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBlobConstructor) }; - - - extern "C" EncodedJSValue Blob__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSBlobConstructor()); - } - -JSBlob::~JSBlob() -{ - if (m_ctx) { - BlobClass__finalize(m_ctx); - } -} -void JSBlob::destroy(JSCell* cell) -{ - static_cast<JSBlob*>(cell)->JSBlob::~JSBlob(); -} - -const ClassInfo JSBlob::s_info = { "Blob"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBlob) }; - -void JSBlob::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSBlob* JSBlob::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSBlob* ptr = new (NotNull, JSC::allocateCell<JSBlob>(vm)) JSBlob(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Blob__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSBlob* object = JSC::jsDynamicCast<JSBlob*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Blob__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSBlob* object = JSC::jsDynamicCast<JSBlob*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Blob__ptrOffset = JSBlob::offsetOfWrapped(); - -void JSBlob::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSBlob*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSBlob::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSBlobConstructor::create(vm, globalObject, WebCore::JSBlobConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSBlobPrototype*>(prototype)); -} - -JSObject* JSBlob::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSBlobPrototype::create(vm, globalObject, JSBlobPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Blob__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSBlobStructure(); - JSBlob* instance = JSBlob::create(vm, globalObject, structure, ptr); - vm.heap.reportExtraMemoryAllocated(instance, Blob__estimatedSize(ptr)); - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSBlob::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSBlob* thisObject = jsCast<JSBlob*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - if (auto* ptr = thisObject->wrapped()) { -visitor.reportExtraMemoryVisited(Blob__estimatedSize(ptr)); -} - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSBlob); - -template<typename Visitor> -void JSBlob::visitAdditionalChildren(Visitor& visitor) -{ - JSBlob* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_name); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSBlob); - -template<typename Visitor> -void JSBlob::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSBlob* thisObject = jsCast<JSBlob*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSBlob); - class JSBuildArtifactPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSBuildArtifactPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSBuildArtifactPrototype* ptr = new (NotNull, JSC::allocateCell<JSBuildArtifactPrototype>(vm)) JSBuildArtifactPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSBuildArtifactPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSBuildArtifactPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void BuildArtifactClass__finalize(void*); - - -extern "C" EncodedJSValue BuildArtifactPrototype__getArrayBuffer(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BuildArtifactPrototype__arrayBufferCallback); - - -extern "C" JSC::EncodedJSValue BuildArtifactPrototype__getHash(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildArtifactPrototype__hashGetterWrap); - - -extern "C" EncodedJSValue BuildArtifactPrototype__getJSON(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BuildArtifactPrototype__jsonCallback); - - -extern "C" JSC::EncodedJSValue BuildArtifactPrototype__getOutputKind(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildArtifactPrototype__kindGetterWrap); - - -extern "C" JSC::EncodedJSValue BuildArtifactPrototype__getLoader(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildArtifactPrototype__loaderGetterWrap); - - -extern "C" JSC::EncodedJSValue BuildArtifactPrototype__getPath(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildArtifactPrototype__pathGetterWrap); - - -extern "C" JSC::EncodedJSValue BuildArtifactPrototype__getSize(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildArtifactPrototype__sizeGetterWrap); - - -extern "C" EncodedJSValue BuildArtifactPrototype__getSlice(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BuildArtifactPrototype__sliceCallback); - - -extern "C" JSC::EncodedJSValue BuildArtifactPrototype__getSourceMap(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildArtifactPrototype__sourcemapGetterWrap); - - -extern "C" EncodedJSValue BuildArtifactPrototype__getStream(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BuildArtifactPrototype__streamCallback); - - -extern "C" EncodedJSValue BuildArtifactPrototype__getText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BuildArtifactPrototype__textCallback); - - -extern "C" JSC::EncodedJSValue BuildArtifactPrototype__getMimeType(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildArtifactPrototype__typeGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSBuildArtifactPrototype, JSBuildArtifactPrototype::Base); - - - static const HashTableValue JSBuildArtifactPrototypeTableValues[] = { -{ "arrayBuffer"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BuildArtifactPrototype__arrayBufferCallback, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildArtifactPrototype__hashGetterWrap, 0 } } , -{ "json"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BuildArtifactPrototype__jsonCallback, 0 } } , -{ "kind"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildArtifactPrototype__kindGetterWrap, 0 } } , -{ "loader"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildArtifactPrototype__loaderGetterWrap, 0 } } , -{ "path"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildArtifactPrototype__pathGetterWrap, 0 } } , -{ "size"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildArtifactPrototype__sizeGetterWrap, 0 } } , -{ "slice"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BuildArtifactPrototype__sliceCallback, 2 } } , -{ "sourcemap"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildArtifactPrototype__sourcemapGetterWrap, 0 } } , -{ "stream"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BuildArtifactPrototype__streamCallback, 1 } } , -{ "text"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BuildArtifactPrototype__textCallback, 0 } } , -{ "type"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildArtifactPrototype__typeGetterWrap, 0 } } -}; - - - -const ClassInfo JSBuildArtifactPrototype::s_info = { "BuildArtifact"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuildArtifactPrototype) }; - - - JSC_DEFINE_HOST_FUNCTION(BuildArtifactPrototype__arrayBufferCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBuildArtifact* thisObject = jsDynamicCast<JSBuildArtifact*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BuildArtifact"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BuildArtifactPrototype__getArrayBuffer(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(BuildArtifactPrototype__hashGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildArtifact* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_hash.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BuildArtifactPrototype__getHash(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_hash.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BuildArtifactPrototype__hashSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - thisObject->m_hash.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BuildArtifactPrototype__hashGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_hash.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(BuildArtifactPrototype__jsonCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBuildArtifact* thisObject = jsDynamicCast<JSBuildArtifact*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BuildArtifact"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BuildArtifactPrototype__getJSON(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(BuildArtifactPrototype__kindGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildArtifact* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_kind.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BuildArtifactPrototype__getOutputKind(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_kind.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BuildArtifactPrototype__kindSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - thisObject->m_kind.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BuildArtifactPrototype__kindGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_kind.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BuildArtifactPrototype__loaderGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildArtifact* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_loader.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BuildArtifactPrototype__getLoader(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_loader.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BuildArtifactPrototype__loaderSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - thisObject->m_loader.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BuildArtifactPrototype__loaderGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_loader.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BuildArtifactPrototype__pathGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildArtifact* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_path.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BuildArtifactPrototype__getPath(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_path.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BuildArtifactPrototype__pathSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - thisObject->m_path.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BuildArtifactPrototype__pathGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_path.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BuildArtifactPrototype__sizeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildArtifact* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = BuildArtifactPrototype__getSize(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(BuildArtifactPrototype__sliceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBuildArtifact* thisObject = jsDynamicCast<JSBuildArtifact*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BuildArtifact"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BuildArtifactPrototype__getSlice(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(BuildArtifactPrototype__sourcemapGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildArtifact* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_sourcemap.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BuildArtifactPrototype__getSourceMap(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_sourcemap.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BuildArtifactPrototype__sourcemapSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - thisObject->m_sourcemap.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BuildArtifactPrototype__sourcemapGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_sourcemap.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(BuildArtifactPrototype__streamCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBuildArtifact* thisObject = jsDynamicCast<JSBuildArtifact*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BuildArtifact"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BuildArtifactPrototype__getStream(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BuildArtifactPrototype__textCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBuildArtifact* thisObject = jsDynamicCast<JSBuildArtifact*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BuildArtifact"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BuildArtifactPrototype__getText(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(BuildArtifactPrototype__typeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildArtifact* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_type.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BuildArtifactPrototype__getMimeType(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_type.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BuildArtifactPrototype__typeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - thisObject->m_type.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BuildArtifactPrototype__typeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBuildArtifact*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_type.get()); - } - - - -void JSBuildArtifactPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSBuildArtifact::info(), JSBuildArtifactPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSBuildArtifact::~JSBuildArtifact() -{ - if (m_ctx) { - BuildArtifactClass__finalize(m_ctx); - } -} -void JSBuildArtifact::destroy(JSCell* cell) -{ - static_cast<JSBuildArtifact*>(cell)->JSBuildArtifact::~JSBuildArtifact(); -} - -const ClassInfo JSBuildArtifact::s_info = { "BuildArtifact"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuildArtifact) }; - -void JSBuildArtifact::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSBuildArtifact* JSBuildArtifact::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSBuildArtifact* ptr = new (NotNull, JSC::allocateCell<JSBuildArtifact>(vm)) JSBuildArtifact(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* BuildArtifact__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSBuildArtifact* object = JSC::jsDynamicCast<JSBuildArtifact*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool BuildArtifact__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSBuildArtifact* object = JSC::jsDynamicCast<JSBuildArtifact*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t BuildArtifact__ptrOffset = JSBuildArtifact::offsetOfWrapped(); - -void JSBuildArtifact::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSBuildArtifact*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSBuildArtifact::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSBuildArtifactPrototype::create(vm, globalObject, JSBuildArtifactPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue BuildArtifact__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSBuildArtifactStructure(); - JSBuildArtifact* instance = JSBuildArtifact::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSBuildArtifact::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSBuildArtifact* thisObject = jsCast<JSBuildArtifact*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSBuildArtifact); - -template<typename Visitor> -void JSBuildArtifact::visitAdditionalChildren(Visitor& visitor) -{ - JSBuildArtifact* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_hash); - visitor.append(thisObject->m_kind); - visitor.append(thisObject->m_loader); - visitor.append(thisObject->m_path); - visitor.append(thisObject->m_sourcemap); - visitor.append(thisObject->m_type); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSBuildArtifact); - -template<typename Visitor> -void JSBuildArtifact::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSBuildArtifact* thisObject = jsCast<JSBuildArtifact*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSBuildArtifact); - class JSBuildMessagePrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSBuildMessagePrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSBuildMessagePrototype* ptr = new (NotNull, JSC::allocateCell<JSBuildMessagePrototype>(vm)) JSBuildMessagePrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSBuildMessagePrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSBuildMessagePrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSBuildMessageConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSBuildMessageConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSBuildMessagePrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSBuildMessageConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForBuildMessageConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForBuildMessageConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForBuildMessageConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForBuildMessageConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSBuildMessagePrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSBuildMessageConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSBuildMessagePrototype* prototype); - }; - - -extern "C" void* BuildMessageClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsBuildMessageConstructor); - - - - - -extern "C" void BuildMessageClass__finalize(void*); - - -extern "C" EncodedJSValue BuildMessagePrototype__toPrimitive(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BuildMessagePrototype__toPrimitiveCallback); - - -extern "C" JSC::EncodedJSValue BuildMessagePrototype__getLevel(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildMessagePrototype__levelGetterWrap); - - -extern "C" JSC::EncodedJSValue BuildMessagePrototype__getMessage(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildMessagePrototype__messageGetterWrap); - - -extern "C" JSC::EncodedJSValue BuildMessagePrototype__getPosition(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(BuildMessagePrototype__positionGetterWrap); - - -extern "C" EncodedJSValue BuildMessagePrototype__toJSON(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BuildMessagePrototype__toJSONCallback); - - -extern "C" EncodedJSValue BuildMessagePrototype__toString(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(BuildMessagePrototype__toStringCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSBuildMessagePrototype, JSBuildMessagePrototype::Base); - - - static const HashTableValue JSBuildMessagePrototypeTableValues[] = { -{ "level"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildMessagePrototype__levelGetterWrap, 0 } } , -{ "message"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildMessagePrototype__messageGetterWrap, 0 } } , -{ "position"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, BuildMessagePrototype__positionGetterWrap, 0 } } , -{ "toJSON"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BuildMessagePrototype__toJSONCallback, 0 } } , -{ "toString"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, BuildMessagePrototype__toStringCallback, 0 } } -}; - - - -const ClassInfo JSBuildMessagePrototype::s_info = { "BuildMessage"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuildMessagePrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsBuildMessageConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSBuildMessagePrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for BuildMessage"_s); - return JSValue::encode(globalObject->JSBuildMessageConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(BuildMessagePrototype__toPrimitiveCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBuildMessage* thisObject = jsDynamicCast<JSBuildMessage*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BuildMessage"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BuildMessagePrototype__toPrimitive(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(BuildMessagePrototype__levelGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildMessage* thisObject = jsCast<JSBuildMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_level.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BuildMessagePrototype__getLevel(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_level.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BuildMessagePrototype__levelSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBuildMessage*>(JSValue::decode(thisValue)); - thisObject->m_level.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BuildMessagePrototype__levelGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBuildMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_level.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BuildMessagePrototype__messageGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildMessage* thisObject = jsCast<JSBuildMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_message.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BuildMessagePrototype__getMessage(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_message.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BuildMessagePrototype__messageSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBuildMessage*>(JSValue::decode(thisValue)); - thisObject->m_message.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BuildMessagePrototype__messageGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBuildMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_message.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(BuildMessagePrototype__positionGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSBuildMessage* thisObject = jsCast<JSBuildMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_position.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - BuildMessagePrototype__getPosition(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_position.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void BuildMessagePrototype__positionSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSBuildMessage*>(JSValue::decode(thisValue)); - thisObject->m_position.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue BuildMessagePrototype__positionGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSBuildMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_position.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(BuildMessagePrototype__toJSONCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBuildMessage* thisObject = jsDynamicCast<JSBuildMessage*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BuildMessage"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BuildMessagePrototype__toJSON(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(BuildMessagePrototype__toStringCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSBuildMessage* thisObject = jsDynamicCast<JSBuildMessage*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof BuildMessage"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return BuildMessagePrototype__toString(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSBuildMessagePrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSBuildMessage::info(), JSBuildMessagePrototypeTableValues, *this); - this->putDirect(vm, vm.propertyNames->toPrimitiveSymbol, JSFunction::create(vm, globalObject, 1, String("toPrimitive"_s), BuildMessagePrototype__toPrimitiveCallback, ImplementationVisibility::Public), PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum | 0); - this->putDirect(vm, vm.propertyNames->name, jsString(vm, String("BuildMessage"_s)), PropertyAttribute::ReadOnly | 0); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSBuildMessageConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSBuildMessagePrototype* prototype) -{ - Base::finishCreation(vm, 0, "BuildMessage"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSBuildMessageConstructor::JSBuildMessageConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSBuildMessageConstructor* JSBuildMessageConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSBuildMessagePrototype* prototype) { - JSBuildMessageConstructor* ptr = new (NotNull, JSC::allocateCell<JSBuildMessageConstructor>(vm)) JSBuildMessageConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSBuildMessageConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSBuildMessageConstructor(); - Structure* structure = globalObject->JSBuildMessageStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSBuildMessageStructure() - ); - } - - void* ptr = BuildMessageClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSBuildMessage* instance = JSBuildMessage::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSBuildMessageConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSBuildMessagePrototype* prototype) -{ - -} - -const ClassInfo JSBuildMessageConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuildMessageConstructor) }; - - - extern "C" EncodedJSValue BuildMessage__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSBuildMessageConstructor()); - } - -JSBuildMessage::~JSBuildMessage() -{ - if (m_ctx) { - BuildMessageClass__finalize(m_ctx); - } -} -void JSBuildMessage::destroy(JSCell* cell) -{ - static_cast<JSBuildMessage*>(cell)->JSBuildMessage::~JSBuildMessage(); -} - -const ClassInfo JSBuildMessage::s_info = { "BuildMessage"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSBuildMessage) }; - -void JSBuildMessage::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSBuildMessage* JSBuildMessage::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSBuildMessage* ptr = new (NotNull, JSC::allocateCell<JSBuildMessage>(vm)) JSBuildMessage(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* BuildMessage__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSBuildMessage* object = JSC::jsDynamicCast<JSBuildMessage*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool BuildMessage__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSBuildMessage* object = JSC::jsDynamicCast<JSBuildMessage*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t BuildMessage__ptrOffset = JSBuildMessage::offsetOfWrapped(); - -void JSBuildMessage::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSBuildMessage*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSBuildMessage::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSBuildMessageConstructor::create(vm, globalObject, WebCore::JSBuildMessageConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSBuildMessagePrototype*>(prototype)); -} - -JSObject* JSBuildMessage::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSBuildMessagePrototype::create(vm, globalObject, JSBuildMessagePrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue BuildMessage__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSBuildMessageStructure(); - JSBuildMessage* instance = JSBuildMessage::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSBuildMessage::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSBuildMessage* thisObject = jsCast<JSBuildMessage*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSBuildMessage); - -template<typename Visitor> -void JSBuildMessage::visitAdditionalChildren(Visitor& visitor) -{ - JSBuildMessage* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_level); - visitor.append(thisObject->m_message); - visitor.append(thisObject->m_position); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSBuildMessage); - -template<typename Visitor> -void JSBuildMessage::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSBuildMessage* thisObject = jsCast<JSBuildMessage*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSBuildMessage); - class JSCommentPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSCommentPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSCommentPrototype* ptr = new (NotNull, JSC::allocateCell<JSCommentPrototype>(vm)) JSCommentPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSCommentPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSCommentPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* CommentClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsCommentConstructor); - - - - - -extern "C" void CommentClass__finalize(void*); - - -extern "C" EncodedJSValue CommentPrototype__after(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CommentPrototype__afterCallback); - - -extern "C" EncodedJSValue CommentPrototype__before(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CommentPrototype__beforeCallback); - - -extern "C" EncodedJSValue CommentPrototype__remove(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CommentPrototype__removeCallback); - - -extern "C" JSC::EncodedJSValue CommentPrototype__removed(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(CommentPrototype__removedGetterWrap); - - -extern "C" EncodedJSValue CommentPrototype__replace(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CommentPrototype__replaceCallback); - - -extern "C" JSC::EncodedJSValue CommentPrototype__getText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(CommentPrototype__textGetterWrap); - - -extern "C" bool CommentPrototype__setText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::EncodedJSValue value); -JSC_DECLARE_CUSTOM_SETTER(CommentPrototype__textSetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSCommentPrototype, JSCommentPrototype::Base); - - - static const HashTableValue JSCommentPrototypeTableValues[] = { -{ "after"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CommentPrototype__afterCallback, 1 } } , -{ "before"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CommentPrototype__beforeCallback, 1 } } , -{ "remove"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CommentPrototype__removeCallback, 0 } } , -{ "removed"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, CommentPrototype__removedGetterWrap, 0 } } , -{ "replace"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CommentPrototype__replaceCallback, 1 } } , -{ "text"_s, static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, CommentPrototype__textGetterWrap, CommentPrototype__textSetterWrap } } -}; - - - -const ClassInfo JSCommentPrototype::s_info = { "Comment"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCommentPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsCommentConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSCommentPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Comment"_s); - return JSValue::encode(globalObject->JSCommentConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(CommentPrototype__afterCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSComment* thisObject = jsDynamicCast<JSComment*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Comment"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CommentPrototype__after(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(CommentPrototype__beforeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSComment* thisObject = jsDynamicCast<JSComment*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Comment"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CommentPrototype__before(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(CommentPrototype__removeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSComment* thisObject = jsDynamicCast<JSComment*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Comment"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CommentPrototype__remove(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(CommentPrototype__removedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSComment* thisObject = jsCast<JSComment*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = CommentPrototype__removed(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(CommentPrototype__replaceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSComment* thisObject = jsDynamicCast<JSComment*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Comment"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CommentPrototype__replace(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(CommentPrototype__textGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSComment* thisObject = jsCast<JSComment*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = CommentPrototype__getText(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_SETTER(CommentPrototype__textSetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSComment* thisObject = jsCast<JSComment*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - auto result = CommentPrototype__setText(thisObject->wrapped(), lexicalGlobalObject, encodedValue); - - RELEASE_AND_RETURN(throwScope, result); -} - - -void JSCommentPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSComment::info(), JSCommentPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSComment::~JSComment() -{ - if (m_ctx) { - CommentClass__finalize(m_ctx); - } -} -void JSComment::destroy(JSCell* cell) -{ - static_cast<JSComment*>(cell)->JSComment::~JSComment(); -} - -const ClassInfo JSComment::s_info = { "Comment"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSComment) }; - -void JSComment::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSComment* JSComment::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSComment* ptr = new (NotNull, JSC::allocateCell<JSComment>(vm)) JSComment(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Comment__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSComment* object = JSC::jsDynamicCast<JSComment*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Comment__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSComment* object = JSC::jsDynamicCast<JSComment*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Comment__ptrOffset = JSComment::offsetOfWrapped(); - -void JSComment::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSComment*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSComment::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSCommentPrototype::create(vm, globalObject, JSCommentPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Comment__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSCommentStructure(); - JSComment* instance = JSComment::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSCryptoPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSCryptoPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSCryptoPrototype* ptr = new (NotNull, JSC::allocateCell<JSCryptoPrototype>(vm)) JSCryptoPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSCryptoPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSCryptoPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSCryptoConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSCryptoConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSCryptoPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSCryptoConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForCryptoConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForCryptoConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForCryptoConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForCryptoConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSCryptoPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSCryptoConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSCryptoPrototype* prototype); - }; - - -extern "C" void* CryptoClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsCryptoConstructor); - - - - - -extern "C" void CryptoClass__finalize(void*); - - -extern "C" EncodedJSValue CryptoPrototype__getRandomValues(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CryptoPrototype__getRandomValuesCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(CryptoPrototype__getRandomValuesWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg0)); - extern "C" EncodedJSValue CryptoPrototype__getRandomValuesWithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject, JSC::JSUint8Array* arg0); - - static const JSC::DOMJIT::Signature DOMJITSignatureForCryptoPrototype__getRandomValues(CryptoPrototype__getRandomValuesWithoutTypeChecksWrapper, - JSCrypto::info(), - JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), - JSC::SpecHeapTop, JSC::SpecUint8Array); - -JSC_DEFINE_JIT_OPERATION(CryptoPrototype__getRandomValuesWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg0)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return CryptoPrototype__getRandomValuesWithoutTypeChecks(reinterpret_cast<JSCrypto*>(thisValue)->wrapped(), lexicalGlobalObject, arg0); -} - -extern "C" EncodedJSValue CryptoPrototype__randomInt(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CryptoPrototype__randomIntCallback); - - -extern "C" EncodedJSValue CryptoPrototype__randomUUID(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CryptoPrototype__randomUUIDCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(CryptoPrototype__randomUUIDWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue CryptoPrototype__randomUUIDWithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForCryptoPrototype__randomUUID(CryptoPrototype__randomUUIDWithoutTypeChecksWrapper, - JSCrypto::info(), - JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), - JSC::SpecString); - -JSC_DEFINE_JIT_OPERATION(CryptoPrototype__randomUUIDWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return CryptoPrototype__randomUUIDWithoutTypeChecks(reinterpret_cast<JSCrypto*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue CryptoPrototype__doScryptSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CryptoPrototype__scryptSyncCallback); - - -extern "C" EncodedJSValue CryptoPrototype__timingSafeEqual(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CryptoPrototype__timingSafeEqualCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(CryptoPrototype__timingSafeEqualWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg0, JSC::JSUint8Array* arg1)); - extern "C" EncodedJSValue CryptoPrototype__timingSafeEqualWithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject, JSC::JSUint8Array* arg0, JSC::JSUint8Array* arg1); - - static const JSC::DOMJIT::Signature DOMJITSignatureForCryptoPrototype__timingSafeEqual(CryptoPrototype__timingSafeEqualWithoutTypeChecksWrapper, - JSCrypto::info(), - JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), - JSC::SpecHeapTop, JSC::SpecUint8Array, JSC::SpecUint8Array); - -JSC_DEFINE_JIT_OPERATION(CryptoPrototype__timingSafeEqualWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg0, JSC::JSUint8Array* arg1)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return CryptoPrototype__timingSafeEqualWithoutTypeChecks(reinterpret_cast<JSCrypto*>(thisValue)->wrapped(), lexicalGlobalObject, arg0, arg1); -} - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSCryptoPrototype, JSCryptoPrototype::Base); - - - static const HashTableValue JSCryptoPrototypeTableValues[] = { -{ "getRandomValues"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, CryptoPrototype__getRandomValuesCallback, &DOMJITSignatureForCryptoPrototype__getRandomValues } } , -{ "randomInt"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CryptoPrototype__randomIntCallback, 2 } } , -{ "randomUUID"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, CryptoPrototype__randomUUIDCallback, &DOMJITSignatureForCryptoPrototype__randomUUID } } , -{ "scryptSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CryptoPrototype__scryptSyncCallback, 2 } } , -{ "timingSafeEqual"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, CryptoPrototype__timingSafeEqualCallback, &DOMJITSignatureForCryptoPrototype__timingSafeEqual } } -}; - - - -const ClassInfo JSCryptoPrototype::s_info = { "Crypto"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCryptoPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsCryptoConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSCryptoPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Crypto"_s); - return JSValue::encode(globalObject->JSCryptoConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(CryptoPrototype__getRandomValuesCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSCrypto* thisObject = jsDynamicCast<JSCrypto*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Crypto"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CryptoPrototype__getRandomValues(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(CryptoPrototype__randomIntCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSCrypto* thisObject = jsDynamicCast<JSCrypto*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Crypto"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CryptoPrototype__randomInt(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(CryptoPrototype__randomUUIDCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSCrypto* thisObject = jsDynamicCast<JSCrypto*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Crypto"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CryptoPrototype__randomUUID(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(CryptoPrototype__scryptSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSCrypto* thisObject = jsDynamicCast<JSCrypto*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Crypto"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CryptoPrototype__doScryptSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(CryptoPrototype__timingSafeEqualCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSCrypto* thisObject = jsDynamicCast<JSCrypto*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Crypto"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CryptoPrototype__timingSafeEqual(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSCryptoPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSCrypto::info(), JSCryptoPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSCryptoConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSCryptoPrototype* prototype) -{ - Base::finishCreation(vm, 0, "Crypto"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSCryptoConstructor::JSCryptoConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSCryptoConstructor* JSCryptoConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSCryptoPrototype* prototype) { - JSCryptoConstructor* ptr = new (NotNull, JSC::allocateCell<JSCryptoConstructor>(vm)) JSCryptoConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSCryptoConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSCryptoConstructor(); - Structure* structure = globalObject->JSCryptoStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSCryptoStructure() - ); - } - - void* ptr = CryptoClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSCrypto* instance = JSCrypto::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSCryptoConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSCryptoPrototype* prototype) -{ - -} - -const ClassInfo JSCryptoConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCryptoConstructor) }; - - - extern "C" EncodedJSValue Crypto__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSCryptoConstructor()); - } - -JSCrypto::~JSCrypto() -{ -} -void JSCrypto::destroy(JSCell* cell) -{ - static_cast<JSCrypto*>(cell)->JSCrypto::~JSCrypto(); -} - -const ClassInfo JSCrypto::s_info = { "Crypto"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCrypto) }; - -void JSCrypto::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSCrypto* JSCrypto::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSCrypto* ptr = new (NotNull, JSC::allocateCell<JSCrypto>(vm)) JSCrypto(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Crypto__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSCrypto* object = JSC::jsDynamicCast<JSCrypto*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Crypto__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSCrypto* object = JSC::jsDynamicCast<JSCrypto*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Crypto__ptrOffset = JSCrypto::offsetOfWrapped(); - -void JSCrypto::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSCrypto*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSCrypto::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSCryptoConstructor::create(vm, globalObject, WebCore::JSCryptoConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSCryptoPrototype*>(prototype)); -} - -JSObject* JSCrypto::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSCryptoPrototype::create(vm, globalObject, JSCryptoPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Crypto__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSCryptoStructure(); - JSCrypto* instance = JSCrypto::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSCryptoHasherPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSCryptoHasherPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSCryptoHasherPrototype* ptr = new (NotNull, JSC::allocateCell<JSCryptoHasherPrototype>(vm)) JSCryptoHasherPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSCryptoHasherPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSCryptoHasherPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSCryptoHasherConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSCryptoHasherConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSCryptoHasherPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSCryptoHasherConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForCryptoHasherConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForCryptoHasherConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForCryptoHasherConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForCryptoHasherConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSCryptoHasherPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSCryptoHasherConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSCryptoHasherPrototype* prototype); - }; - - -extern "C" void* CryptoHasherClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsCryptoHasherConstructor); - - - - - -extern "C" void CryptoHasherClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue CryptoHasherPrototype__getAlgorithm(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(CryptoHasherPrototype__algorithmGetterWrap); - - -extern "C" JSC::EncodedJSValue CryptoHasherPrototype__getByteLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(CryptoHasherPrototype__byteLengthGetterWrap); - - -extern "C" EncodedJSValue CryptoHasherPrototype__copy(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CryptoHasherPrototype__copyCallback); - - -extern "C" EncodedJSValue CryptoHasherPrototype__digest(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CryptoHasherPrototype__digestCallback); - - -extern "C" EncodedJSValue CryptoHasherPrototype__update(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(CryptoHasherPrototype__updateCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSCryptoHasherPrototype, JSCryptoHasherPrototype::Base); - - - static const HashTableValue JSCryptoHasherPrototypeTableValues[] = { -{ "algorithm"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, CryptoHasherPrototype__algorithmGetterWrap, 0 } } , -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, CryptoHasherPrototype__byteLengthGetterWrap, 0 } } , -{ "copy"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CryptoHasherPrototype__copyCallback, 0 } } , -{ "digest"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CryptoHasherPrototype__digestCallback, 0 } } , -{ "update"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CryptoHasherPrototype__updateCallback, 2 } } -}; - - - -const ClassInfo JSCryptoHasherPrototype::s_info = { "CryptoHasher"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCryptoHasherPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsCryptoHasherConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSCryptoHasherPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for CryptoHasher"_s); - return JSValue::encode(globalObject->JSCryptoHasherConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(CryptoHasherPrototype__algorithmGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSCryptoHasher* thisObject = jsCast<JSCryptoHasher*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_algorithm.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - CryptoHasherPrototype__getAlgorithm(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_algorithm.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void CryptoHasherPrototype__algorithmSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSCryptoHasher*>(JSValue::decode(thisValue)); - thisObject->m_algorithm.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue CryptoHasherPrototype__algorithmGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSCryptoHasher*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_algorithm.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(CryptoHasherPrototype__byteLengthGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSCryptoHasher* thisObject = jsCast<JSCryptoHasher*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = CryptoHasherPrototype__getByteLength(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(CryptoHasherPrototype__copyCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSCryptoHasher* thisObject = jsDynamicCast<JSCryptoHasher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof CryptoHasher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CryptoHasherPrototype__copy(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(CryptoHasherPrototype__digestCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSCryptoHasher* thisObject = jsDynamicCast<JSCryptoHasher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof CryptoHasher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CryptoHasherPrototype__digest(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(CryptoHasherPrototype__updateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSCryptoHasher* thisObject = jsDynamicCast<JSCryptoHasher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof CryptoHasher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return CryptoHasherPrototype__update(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSCryptoHasherPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSCryptoHasher::info(), JSCryptoHasherPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_CUSTOM_GETTER(CryptoHasherClass__getAlgorithms); -extern "C" JSC_DECLARE_HOST_FUNCTION(CryptoHasherClass__hash); - - static const HashTableValue JSCryptoHasherConstructorTableValues[] = { -{ "algorithms"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, CryptoHasherClass__getAlgorithms, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, CryptoHasherClass__hash, 2 } } -}; - - -void JSCryptoHasherConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSCryptoHasherPrototype* prototype) -{ - Base::finishCreation(vm, 0, "CryptoHasher"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSCryptoHasherConstructor::s_info, JSCryptoHasherConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSCryptoHasherConstructor::JSCryptoHasherConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSCryptoHasherConstructor* JSCryptoHasherConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSCryptoHasherPrototype* prototype) { - JSCryptoHasherConstructor* ptr = new (NotNull, JSC::allocateCell<JSCryptoHasherConstructor>(vm)) JSCryptoHasherConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSCryptoHasherConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSCryptoHasherConstructor(); - Structure* structure = globalObject->JSCryptoHasherStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSCryptoHasherStructure() - ); - } - - void* ptr = CryptoHasherClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSCryptoHasher* instance = JSCryptoHasher::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSCryptoHasherConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSCryptoHasherPrototype* prototype) -{ - -} - -const ClassInfo JSCryptoHasherConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCryptoHasherConstructor) }; - - - extern "C" EncodedJSValue CryptoHasher__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSCryptoHasherConstructor()); - } - -JSCryptoHasher::~JSCryptoHasher() -{ - if (m_ctx) { - CryptoHasherClass__finalize(m_ctx); - } -} -void JSCryptoHasher::destroy(JSCell* cell) -{ - static_cast<JSCryptoHasher*>(cell)->JSCryptoHasher::~JSCryptoHasher(); -} - -const ClassInfo JSCryptoHasher::s_info = { "CryptoHasher"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCryptoHasher) }; - -void JSCryptoHasher::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSCryptoHasher* JSCryptoHasher::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSCryptoHasher* ptr = new (NotNull, JSC::allocateCell<JSCryptoHasher>(vm)) JSCryptoHasher(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* CryptoHasher__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSCryptoHasher* object = JSC::jsDynamicCast<JSCryptoHasher*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool CryptoHasher__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSCryptoHasher* object = JSC::jsDynamicCast<JSCryptoHasher*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t CryptoHasher__ptrOffset = JSCryptoHasher::offsetOfWrapped(); - -void JSCryptoHasher::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSCryptoHasher*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSCryptoHasher::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSCryptoHasherConstructor::create(vm, globalObject, WebCore::JSCryptoHasherConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSCryptoHasherPrototype*>(prototype)); -} - -JSObject* JSCryptoHasher::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSCryptoHasherPrototype::create(vm, globalObject, JSCryptoHasherPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue CryptoHasher__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSCryptoHasherStructure(); - JSCryptoHasher* instance = JSCryptoHasher::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSCryptoHasher::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSCryptoHasher* thisObject = jsCast<JSCryptoHasher*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSCryptoHasher); - -template<typename Visitor> -void JSCryptoHasher::visitAdditionalChildren(Visitor& visitor) -{ - JSCryptoHasher* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_algorithms); - visitor.append(thisObject->m_algorithm); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSCryptoHasher); - -template<typename Visitor> -void JSCryptoHasher::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSCryptoHasher* thisObject = jsCast<JSCryptoHasher*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSCryptoHasher); - class JSDebugHTTPSServerPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSDebugHTTPSServerPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSDebugHTTPSServerPrototype* ptr = new (NotNull, JSC::allocateCell<JSDebugHTTPSServerPrototype>(vm)) JSDebugHTTPSServerPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDebugHTTPSServerPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSDebugHTTPSServerPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* DebugHTTPSServerClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsDebugHTTPSServerConstructor); - - - - - -extern "C" void DebugHTTPSServerClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue DebugHTTPSServerPrototype__getAddress(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPSServerPrototype__addressGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPSServerPrototype__getDevelopment(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPSServerPrototype__developmentGetterWrap); - - -extern "C" EncodedJSValue DebugHTTPSServerPrototype__doFetch(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPSServerPrototype__fetchCallback); - - -extern "C" JSC::EncodedJSValue DebugHTTPSServerPrototype__getHostname(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPSServerPrototype__hostnameGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPSServerPrototype__getId(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPSServerPrototype__idGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPSServerPrototype__getPendingRequests(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPSServerPrototype__pendingRequestsGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPSServerPrototype__getPendingWebSockets(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPSServerPrototype__pendingWebSocketsGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPSServerPrototype__getPort(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPSServerPrototype__portGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPSServerPrototype__getProtocol(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPSServerPrototype__protocolGetterWrap); - - -extern "C" EncodedJSValue DebugHTTPSServerPrototype__doPublish(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPSServerPrototype__publishCallback); - - -extern "C" EncodedJSValue DebugHTTPSServerPrototype__doReload(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPSServerPrototype__reloadCallback); - - -extern "C" EncodedJSValue DebugHTTPSServerPrototype__doRequestIP(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPSServerPrototype__requestIPCallback); - - -extern "C" EncodedJSValue DebugHTTPSServerPrototype__doStop(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPSServerPrototype__stopCallback); - - -extern "C" EncodedJSValue DebugHTTPSServerPrototype__doUpgrade(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPSServerPrototype__upgradeCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDebugHTTPSServerPrototype, JSDebugHTTPSServerPrototype::Base); - - - static const HashTableValue JSDebugHTTPSServerPrototypeTableValues[] = { -{ "address"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPSServerPrototype__addressGetterWrap, 0 } } , -{ "development"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPSServerPrototype__developmentGetterWrap, 0 } } , -{ "fetch"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPSServerPrototype__fetchCallback, 1 } } , -{ "hostname"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPSServerPrototype__hostnameGetterWrap, 0 } } , -{ "id"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPSServerPrototype__idGetterWrap, 0 } } , -{ "pendingRequests"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPSServerPrototype__pendingRequestsGetterWrap, 0 } } , -{ "pendingWebSockets"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPSServerPrototype__pendingWebSocketsGetterWrap, 0 } } , -{ "port"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPSServerPrototype__portGetterWrap, 0 } } , -{ "protocol"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPSServerPrototype__protocolGetterWrap, 0 } } , -{ "publish"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPSServerPrototype__publishCallback, 3 } } , -{ "reload"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPSServerPrototype__reloadCallback, 2 } } , -{ "requestIP"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPSServerPrototype__requestIPCallback, 1 } } , -{ "stop"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPSServerPrototype__stopCallback, 1 } } , -{ "upgrade"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPSServerPrototype__upgradeCallback, 1 } } -}; - - - -const ClassInfo JSDebugHTTPSServerPrototype::s_info = { "DebugHTTPSServer"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDebugHTTPSServerPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsDebugHTTPSServerConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSDebugHTTPSServerPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for DebugHTTPSServer"_s); - return JSValue::encode(globalObject->JSDebugHTTPSServerConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPSServerPrototype__addressGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_address.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DebugHTTPSServerPrototype__getAddress(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_address.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DebugHTTPSServerPrototype__addressSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - thisObject->m_address.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DebugHTTPSServerPrototype__addressGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_address.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPSServerPrototype__developmentGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPSServerPrototype__getDevelopment(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPSServerPrototype__fetchCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPSServer* thisObject = jsDynamicCast<JSDebugHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPSServerPrototype__doFetch(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPSServerPrototype__hostnameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_hostname.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DebugHTTPSServerPrototype__getHostname(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_hostname.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DebugHTTPSServerPrototype__hostnameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - thisObject->m_hostname.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DebugHTTPSServerPrototype__hostnameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_hostname.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPSServerPrototype__idGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_id.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DebugHTTPSServerPrototype__getId(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_id.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DebugHTTPSServerPrototype__idSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - thisObject->m_id.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DebugHTTPSServerPrototype__idGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_id.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPSServerPrototype__pendingRequestsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPSServerPrototype__getPendingRequests(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPSServerPrototype__pendingWebSocketsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPSServerPrototype__getPendingWebSockets(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPSServerPrototype__portGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPSServerPrototype__getPort(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPSServerPrototype__protocolGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPSServerPrototype__getProtocol(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPSServerPrototype__publishCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPSServer* thisObject = jsDynamicCast<JSDebugHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPSServerPrototype__doPublish(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPSServerPrototype__reloadCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPSServer* thisObject = jsDynamicCast<JSDebugHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPSServerPrototype__doReload(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPSServerPrototype__requestIPCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPSServer* thisObject = jsDynamicCast<JSDebugHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPSServerPrototype__doRequestIP(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPSServerPrototype__stopCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPSServer* thisObject = jsDynamicCast<JSDebugHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPSServerPrototype__doStop(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPSServerPrototype__upgradeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPSServer* thisObject = jsDynamicCast<JSDebugHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPSServerPrototype__doUpgrade(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSDebugHTTPSServerPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSDebugHTTPSServer::info(), JSDebugHTTPSServerPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSDebugHTTPSServer::~JSDebugHTTPSServer() -{ - if (m_ctx) { - DebugHTTPSServerClass__finalize(m_ctx); - } -} -void JSDebugHTTPSServer::destroy(JSCell* cell) -{ - static_cast<JSDebugHTTPSServer*>(cell)->JSDebugHTTPSServer::~JSDebugHTTPSServer(); -} - -const ClassInfo JSDebugHTTPSServer::s_info = { "DebugHTTPSServer"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDebugHTTPSServer) }; - -void JSDebugHTTPSServer::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSDebugHTTPSServer* JSDebugHTTPSServer::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSDebugHTTPSServer* ptr = new (NotNull, JSC::allocateCell<JSDebugHTTPSServer>(vm)) JSDebugHTTPSServer(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* DebugHTTPSServer__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSDebugHTTPSServer* object = JSC::jsDynamicCast<JSDebugHTTPSServer*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool DebugHTTPSServer__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSDebugHTTPSServer* object = JSC::jsDynamicCast<JSDebugHTTPSServer*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t DebugHTTPSServer__ptrOffset = JSDebugHTTPSServer::offsetOfWrapped(); - -void JSDebugHTTPSServer::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSDebugHTTPSServer*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSDebugHTTPSServer::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSDebugHTTPSServerPrototype::create(vm, globalObject, JSDebugHTTPSServerPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue DebugHTTPSServer__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSDebugHTTPSServerStructure(); - JSDebugHTTPSServer* instance = JSDebugHTTPSServer::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSDebugHTTPSServer::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSDebugHTTPSServer); - -template<typename Visitor> -void JSDebugHTTPSServer::visitAdditionalChildren(Visitor& visitor) -{ - JSDebugHTTPSServer* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_address); - visitor.append(thisObject->m_hostname); - visitor.append(thisObject->m_id); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSDebugHTTPSServer); - -template<typename Visitor> -void JSDebugHTTPSServer::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSDebugHTTPSServer* thisObject = jsCast<JSDebugHTTPSServer*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSDebugHTTPSServer); - class JSDebugHTTPServerPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSDebugHTTPServerPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSDebugHTTPServerPrototype* ptr = new (NotNull, JSC::allocateCell<JSDebugHTTPServerPrototype>(vm)) JSDebugHTTPServerPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDebugHTTPServerPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSDebugHTTPServerPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* DebugHTTPServerClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsDebugHTTPServerConstructor); - - - - - -extern "C" void DebugHTTPServerClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue DebugHTTPServerPrototype__getAddress(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPServerPrototype__addressGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPServerPrototype__getDevelopment(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPServerPrototype__developmentGetterWrap); - - -extern "C" EncodedJSValue DebugHTTPServerPrototype__doFetch(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPServerPrototype__fetchCallback); - - -extern "C" JSC::EncodedJSValue DebugHTTPServerPrototype__getHostname(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPServerPrototype__hostnameGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPServerPrototype__getId(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPServerPrototype__idGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPServerPrototype__getPendingRequests(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPServerPrototype__pendingRequestsGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPServerPrototype__getPendingWebSockets(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPServerPrototype__pendingWebSocketsGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPServerPrototype__getPort(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPServerPrototype__portGetterWrap); - - -extern "C" JSC::EncodedJSValue DebugHTTPServerPrototype__getProtocol(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DebugHTTPServerPrototype__protocolGetterWrap); - - -extern "C" EncodedJSValue DebugHTTPServerPrototype__doPublish(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPServerPrototype__publishCallback); - - -extern "C" EncodedJSValue DebugHTTPServerPrototype__doReload(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPServerPrototype__reloadCallback); - - -extern "C" EncodedJSValue DebugHTTPServerPrototype__doRequestIP(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPServerPrototype__requestIPCallback); - - -extern "C" EncodedJSValue DebugHTTPServerPrototype__doStop(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPServerPrototype__stopCallback); - - -extern "C" EncodedJSValue DebugHTTPServerPrototype__doUpgrade(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DebugHTTPServerPrototype__upgradeCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDebugHTTPServerPrototype, JSDebugHTTPServerPrototype::Base); - - - static const HashTableValue JSDebugHTTPServerPrototypeTableValues[] = { -{ "address"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPServerPrototype__addressGetterWrap, 0 } } , -{ "development"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPServerPrototype__developmentGetterWrap, 0 } } , -{ "fetch"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPServerPrototype__fetchCallback, 1 } } , -{ "hostname"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPServerPrototype__hostnameGetterWrap, 0 } } , -{ "id"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPServerPrototype__idGetterWrap, 0 } } , -{ "pendingRequests"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPServerPrototype__pendingRequestsGetterWrap, 0 } } , -{ "pendingWebSockets"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPServerPrototype__pendingWebSocketsGetterWrap, 0 } } , -{ "port"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPServerPrototype__portGetterWrap, 0 } } , -{ "protocol"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DebugHTTPServerPrototype__protocolGetterWrap, 0 } } , -{ "publish"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPServerPrototype__publishCallback, 3 } } , -{ "reload"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPServerPrototype__reloadCallback, 2 } } , -{ "requestIP"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPServerPrototype__requestIPCallback, 1 } } , -{ "stop"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPServerPrototype__stopCallback, 1 } } , -{ "upgrade"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DebugHTTPServerPrototype__upgradeCallback, 1 } } -}; - - - -const ClassInfo JSDebugHTTPServerPrototype::s_info = { "DebugHTTPServer"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDebugHTTPServerPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsDebugHTTPServerConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSDebugHTTPServerPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for DebugHTTPServer"_s); - return JSValue::encode(globalObject->JSDebugHTTPServerConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPServerPrototype__addressGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_address.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DebugHTTPServerPrototype__getAddress(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_address.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DebugHTTPServerPrototype__addressSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - thisObject->m_address.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DebugHTTPServerPrototype__addressGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_address.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPServerPrototype__developmentGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPServerPrototype__getDevelopment(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPServerPrototype__fetchCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPServer* thisObject = jsDynamicCast<JSDebugHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPServerPrototype__doFetch(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPServerPrototype__hostnameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_hostname.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DebugHTTPServerPrototype__getHostname(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_hostname.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DebugHTTPServerPrototype__hostnameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - thisObject->m_hostname.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DebugHTTPServerPrototype__hostnameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_hostname.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPServerPrototype__idGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_id.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DebugHTTPServerPrototype__getId(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_id.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DebugHTTPServerPrototype__idSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - thisObject->m_id.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DebugHTTPServerPrototype__idGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_id.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPServerPrototype__pendingRequestsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPServerPrototype__getPendingRequests(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPServerPrototype__pendingWebSocketsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPServerPrototype__getPendingWebSockets(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPServerPrototype__portGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPServerPrototype__getPort(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(DebugHTTPServerPrototype__protocolGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = DebugHTTPServerPrototype__getProtocol(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPServerPrototype__publishCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPServer* thisObject = jsDynamicCast<JSDebugHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPServerPrototype__doPublish(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPServerPrototype__reloadCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPServer* thisObject = jsDynamicCast<JSDebugHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPServerPrototype__doReload(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPServerPrototype__requestIPCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPServer* thisObject = jsDynamicCast<JSDebugHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPServerPrototype__doRequestIP(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPServerPrototype__stopCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPServer* thisObject = jsDynamicCast<JSDebugHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPServerPrototype__doStop(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DebugHTTPServerPrototype__upgradeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDebugHTTPServer* thisObject = jsDynamicCast<JSDebugHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DebugHTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DebugHTTPServerPrototype__doUpgrade(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSDebugHTTPServerPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSDebugHTTPServer::info(), JSDebugHTTPServerPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSDebugHTTPServer::~JSDebugHTTPServer() -{ - if (m_ctx) { - DebugHTTPServerClass__finalize(m_ctx); - } -} -void JSDebugHTTPServer::destroy(JSCell* cell) -{ - static_cast<JSDebugHTTPServer*>(cell)->JSDebugHTTPServer::~JSDebugHTTPServer(); -} - -const ClassInfo JSDebugHTTPServer::s_info = { "DebugHTTPServer"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDebugHTTPServer) }; - -void JSDebugHTTPServer::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSDebugHTTPServer* JSDebugHTTPServer::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSDebugHTTPServer* ptr = new (NotNull, JSC::allocateCell<JSDebugHTTPServer>(vm)) JSDebugHTTPServer(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* DebugHTTPServer__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSDebugHTTPServer* object = JSC::jsDynamicCast<JSDebugHTTPServer*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool DebugHTTPServer__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSDebugHTTPServer* object = JSC::jsDynamicCast<JSDebugHTTPServer*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t DebugHTTPServer__ptrOffset = JSDebugHTTPServer::offsetOfWrapped(); - -void JSDebugHTTPServer::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSDebugHTTPServer*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSDebugHTTPServer::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSDebugHTTPServerPrototype::create(vm, globalObject, JSDebugHTTPServerPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue DebugHTTPServer__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSDebugHTTPServerStructure(); - JSDebugHTTPServer* instance = JSDebugHTTPServer::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSDebugHTTPServer::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSDebugHTTPServer); - -template<typename Visitor> -void JSDebugHTTPServer::visitAdditionalChildren(Visitor& visitor) -{ - JSDebugHTTPServer* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_address); - visitor.append(thisObject->m_hostname); - visitor.append(thisObject->m_id); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSDebugHTTPServer); - -template<typename Visitor> -void JSDebugHTTPServer::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSDebugHTTPServer* thisObject = jsCast<JSDebugHTTPServer*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSDebugHTTPServer); - class JSDirentPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSDirentPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSDirentPrototype* ptr = new (NotNull, JSC::allocateCell<JSDirentPrototype>(vm)) JSDirentPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDirentPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSDirentPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSDirentConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSDirentConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSDirentPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSDirentConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForDirentConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForDirentConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForDirentConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForDirentConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSDirentPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSDirentConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSDirentPrototype* prototype); - }; - - -extern "C" void* DirentClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsDirentConstructor); - - - - - -extern "C" void DirentClass__finalize(void*); - - -extern "C" EncodedJSValue DirentPrototype__isBlockDevice(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DirentPrototype__isBlockDeviceCallback); - - -extern "C" EncodedJSValue DirentPrototype__isCharacterDevice(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DirentPrototype__isCharacterDeviceCallback); - - -extern "C" EncodedJSValue DirentPrototype__isDirectory(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DirentPrototype__isDirectoryCallback); - - -extern "C" EncodedJSValue DirentPrototype__isFIFO(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DirentPrototype__isFIFOCallback); - - -extern "C" EncodedJSValue DirentPrototype__isFile(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DirentPrototype__isFileCallback); - - -extern "C" EncodedJSValue DirentPrototype__isSocket(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DirentPrototype__isSocketCallback); - - -extern "C" EncodedJSValue DirentPrototype__isSymbolicLink(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DirentPrototype__isSymbolicLinkCallback); - - -extern "C" JSC::EncodedJSValue DirentPrototype__getName(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DirentPrototype__nameGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDirentPrototype, JSDirentPrototype::Base); - - - static const HashTableValue JSDirentPrototypeTableValues[] = { -{ "isBlockDevice"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DirentPrototype__isBlockDeviceCallback, 0 } } , -{ "isCharacterDevice"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DirentPrototype__isCharacterDeviceCallback, 0 } } , -{ "isDirectory"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DirentPrototype__isDirectoryCallback, 0 } } , -{ "isFIFO"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DirentPrototype__isFIFOCallback, 0 } } , -{ "isFile"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DirentPrototype__isFileCallback, 0 } } , -{ "isSocket"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DirentPrototype__isSocketCallback, 0 } } , -{ "isSymbolicLink"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DirentPrototype__isSymbolicLinkCallback, 0 } } , -{ "name"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DirentPrototype__nameGetterWrap, 0 } } -}; - - - -const ClassInfo JSDirentPrototype::s_info = { "Dirent"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDirentPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsDirentConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSDirentPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Dirent"_s); - return JSValue::encode(globalObject->JSDirentConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(DirentPrototype__isBlockDeviceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDirent* thisObject = jsDynamicCast<JSDirent*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Dirent"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DirentPrototype__isBlockDevice(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DirentPrototype__isCharacterDeviceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDirent* thisObject = jsDynamicCast<JSDirent*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Dirent"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DirentPrototype__isCharacterDevice(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DirentPrototype__isDirectoryCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDirent* thisObject = jsDynamicCast<JSDirent*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Dirent"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DirentPrototype__isDirectory(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DirentPrototype__isFIFOCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDirent* thisObject = jsDynamicCast<JSDirent*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Dirent"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DirentPrototype__isFIFO(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DirentPrototype__isFileCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDirent* thisObject = jsDynamicCast<JSDirent*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Dirent"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DirentPrototype__isFile(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DirentPrototype__isSocketCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDirent* thisObject = jsDynamicCast<JSDirent*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Dirent"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DirentPrototype__isSocket(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(DirentPrototype__isSymbolicLinkCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDirent* thisObject = jsDynamicCast<JSDirent*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Dirent"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DirentPrototype__isSymbolicLink(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(DirentPrototype__nameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDirent* thisObject = jsCast<JSDirent*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_name.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DirentPrototype__getName(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_name.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DirentPrototype__nameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDirent*>(JSValue::decode(thisValue)); - thisObject->m_name.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DirentPrototype__nameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDirent*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_name.get()); - } - - - -void JSDirentPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSDirent::info(), JSDirentPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSDirentConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSDirentPrototype* prototype) -{ - Base::finishCreation(vm, 0, "Dirent"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSDirentConstructor::JSDirentConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSDirentConstructor* JSDirentConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSDirentPrototype* prototype) { - JSDirentConstructor* ptr = new (NotNull, JSC::allocateCell<JSDirentConstructor>(vm)) JSDirentConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSDirentConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSDirentConstructor(); - Structure* structure = globalObject->JSDirentStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSDirentStructure() - ); - } - - void* ptr = DirentClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSDirent* instance = JSDirent::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSDirentConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSDirentPrototype* prototype) -{ - -} - -const ClassInfo JSDirentConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDirentConstructor) }; - - - extern "C" EncodedJSValue Dirent__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSDirentConstructor()); - } - -JSDirent::~JSDirent() -{ - if (m_ctx) { - DirentClass__finalize(m_ctx); - } -} -void JSDirent::destroy(JSCell* cell) -{ - static_cast<JSDirent*>(cell)->JSDirent::~JSDirent(); -} - -const ClassInfo JSDirent::s_info = { "Dirent"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDirent) }; - -void JSDirent::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSDirent* JSDirent::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSDirent* ptr = new (NotNull, JSC::allocateCell<JSDirent>(vm)) JSDirent(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Dirent__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSDirent* object = JSC::jsDynamicCast<JSDirent*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Dirent__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSDirent* object = JSC::jsDynamicCast<JSDirent*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Dirent__ptrOffset = JSDirent::offsetOfWrapped(); - -void JSDirent::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSDirent*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSDirent::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSDirentConstructor::create(vm, globalObject, WebCore::JSDirentConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSDirentPrototype*>(prototype)); -} - -JSObject* JSDirent::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSDirentPrototype::create(vm, globalObject, JSDirentPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Dirent__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSDirentStructure(); - JSDirent* instance = JSDirent::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSDirent::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSDirent* thisObject = jsCast<JSDirent*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSDirent); - -template<typename Visitor> -void JSDirent::visitAdditionalChildren(Visitor& visitor) -{ - JSDirent* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_name); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSDirent); - -template<typename Visitor> -void JSDirent::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSDirent* thisObject = jsCast<JSDirent*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSDirent); - class JSDocEndPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSDocEndPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSDocEndPrototype* ptr = new (NotNull, JSC::allocateCell<JSDocEndPrototype>(vm)) JSDocEndPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDocEndPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSDocEndPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* DocEndClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsDocEndConstructor); - - - - - -extern "C" void DocEndClass__finalize(void*); - - -extern "C" EncodedJSValue DocEndPrototype__append(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(DocEndPrototype__appendCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDocEndPrototype, JSDocEndPrototype::Base); - - - static const HashTableValue JSDocEndPrototypeTableValues[] = { -{ "append"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, DocEndPrototype__appendCallback, 1 } } -}; - - - -const ClassInfo JSDocEndPrototype::s_info = { "DocEnd"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDocEndPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsDocEndConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSDocEndPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for DocEnd"_s); - return JSValue::encode(globalObject->JSDocEndConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(DocEndPrototype__appendCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSDocEnd* thisObject = jsDynamicCast<JSDocEnd*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof DocEnd"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return DocEndPrototype__append(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSDocEndPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSDocEnd::info(), JSDocEndPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSDocEnd::~JSDocEnd() -{ - if (m_ctx) { - DocEndClass__finalize(m_ctx); - } -} -void JSDocEnd::destroy(JSCell* cell) -{ - static_cast<JSDocEnd*>(cell)->JSDocEnd::~JSDocEnd(); -} - -const ClassInfo JSDocEnd::s_info = { "DocEnd"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDocEnd) }; - -void JSDocEnd::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSDocEnd* JSDocEnd::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSDocEnd* ptr = new (NotNull, JSC::allocateCell<JSDocEnd>(vm)) JSDocEnd(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* DocEnd__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSDocEnd* object = JSC::jsDynamicCast<JSDocEnd*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool DocEnd__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSDocEnd* object = JSC::jsDynamicCast<JSDocEnd*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t DocEnd__ptrOffset = JSDocEnd::offsetOfWrapped(); - -void JSDocEnd::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSDocEnd*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSDocEnd::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSDocEndPrototype::create(vm, globalObject, JSDocEndPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue DocEnd__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSDocEndStructure(); - JSDocEnd* instance = JSDocEnd::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSDocTypePrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSDocTypePrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSDocTypePrototype* ptr = new (NotNull, JSC::allocateCell<JSDocTypePrototype>(vm)) JSDocTypePrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDocTypePrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSDocTypePrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* DocTypeClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsDocTypeConstructor); - - - - - -extern "C" void DocTypeClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue DocTypePrototype__name(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DocTypePrototype__nameGetterWrap); - - -extern "C" JSC::EncodedJSValue DocTypePrototype__publicId(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DocTypePrototype__publicIdGetterWrap); - - -extern "C" JSC::EncodedJSValue DocTypePrototype__systemId(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(DocTypePrototype__systemIdGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSDocTypePrototype, JSDocTypePrototype::Base); - - - static const HashTableValue JSDocTypePrototypeTableValues[] = { -{ "name"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DocTypePrototype__nameGetterWrap, 0 } } , -{ "publicId"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DocTypePrototype__publicIdGetterWrap, 0 } } , -{ "systemId"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, DocTypePrototype__systemIdGetterWrap, 0 } } -}; - - - -const ClassInfo JSDocTypePrototype::s_info = { "DocType"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDocTypePrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsDocTypeConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSDocTypePrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for DocType"_s); - return JSValue::encode(globalObject->JSDocTypeConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(DocTypePrototype__nameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDocType* thisObject = jsCast<JSDocType*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_name.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DocTypePrototype__name(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_name.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DocTypePrototype__nameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDocType*>(JSValue::decode(thisValue)); - thisObject->m_name.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DocTypePrototype__nameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDocType*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_name.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(DocTypePrototype__publicIdGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDocType* thisObject = jsCast<JSDocType*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_publicId.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DocTypePrototype__publicId(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_publicId.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DocTypePrototype__publicIdSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDocType*>(JSValue::decode(thisValue)); - thisObject->m_publicId.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DocTypePrototype__publicIdGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDocType*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_publicId.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(DocTypePrototype__systemIdGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSDocType* thisObject = jsCast<JSDocType*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_systemId.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - DocTypePrototype__systemId(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_systemId.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void DocTypePrototype__systemIdSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSDocType*>(JSValue::decode(thisValue)); - thisObject->m_systemId.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue DocTypePrototype__systemIdGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSDocType*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_systemId.get()); - } - - - -void JSDocTypePrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSDocType::info(), JSDocTypePrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSDocType::~JSDocType() -{ - if (m_ctx) { - DocTypeClass__finalize(m_ctx); - } -} -void JSDocType::destroy(JSCell* cell) -{ - static_cast<JSDocType*>(cell)->JSDocType::~JSDocType(); -} - -const ClassInfo JSDocType::s_info = { "DocType"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSDocType) }; - -void JSDocType::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSDocType* JSDocType::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSDocType* ptr = new (NotNull, JSC::allocateCell<JSDocType>(vm)) JSDocType(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* DocType__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSDocType* object = JSC::jsDynamicCast<JSDocType*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool DocType__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSDocType* object = JSC::jsDynamicCast<JSDocType*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t DocType__ptrOffset = JSDocType::offsetOfWrapped(); - -void JSDocType::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSDocType*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSDocType::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSDocTypePrototype::create(vm, globalObject, JSDocTypePrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue DocType__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSDocTypeStructure(); - JSDocType* instance = JSDocType::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSDocType::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSDocType* thisObject = jsCast<JSDocType*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSDocType); - -template<typename Visitor> -void JSDocType::visitAdditionalChildren(Visitor& visitor) -{ - JSDocType* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_name); - visitor.append(thisObject->m_publicId); - visitor.append(thisObject->m_systemId); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSDocType); - -template<typename Visitor> -void JSDocType::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSDocType* thisObject = jsCast<JSDocType*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSDocType); - class JSElementPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSElementPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSElementPrototype* ptr = new (NotNull, JSC::allocateCell<JSElementPrototype>(vm)) JSElementPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSElementPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSElementPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* ElementClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsElementConstructor); - - - - - -extern "C" void ElementClass__finalize(void*); - - -extern "C" EncodedJSValue ElementPrototype__after(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__afterCallback); - - -extern "C" EncodedJSValue ElementPrototype__append(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__appendCallback); - - -extern "C" JSC::EncodedJSValue ElementPrototype__getAttributes(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ElementPrototype__attributesGetterWrap); - - -extern "C" EncodedJSValue ElementPrototype__before(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__beforeCallback); - - -extern "C" JSC::EncodedJSValue ElementPrototype__getCanHaveContent(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ElementPrototype__canHaveContentGetterWrap); - - -extern "C" EncodedJSValue ElementPrototype__getAttribute(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__getAttributeCallback); - - -extern "C" EncodedJSValue ElementPrototype__hasAttribute(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__hasAttributeCallback); - - -extern "C" JSC::EncodedJSValue ElementPrototype__getNamespaceURI(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ElementPrototype__namespaceURIGetterWrap); - - -extern "C" EncodedJSValue ElementPrototype__onEndTag(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__onEndTagCallback); - - -extern "C" EncodedJSValue ElementPrototype__prepend(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__prependCallback); - - -extern "C" EncodedJSValue ElementPrototype__remove(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__removeCallback); - - -extern "C" EncodedJSValue ElementPrototype__removeAndKeepContent(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__removeAndKeepContentCallback); - - -extern "C" EncodedJSValue ElementPrototype__removeAttribute(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__removeAttributeCallback); - - -extern "C" JSC::EncodedJSValue ElementPrototype__getRemoved(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ElementPrototype__removedGetterWrap); - - -extern "C" EncodedJSValue ElementPrototype__replace(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__replaceCallback); - - -extern "C" JSC::EncodedJSValue ElementPrototype__getSelfClosing(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ElementPrototype__selfClosingGetterWrap); - - -extern "C" EncodedJSValue ElementPrototype__setAttribute(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__setAttributeCallback); - - -extern "C" EncodedJSValue ElementPrototype__setInnerContent(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ElementPrototype__setInnerContentCallback); - - -extern "C" JSC::EncodedJSValue ElementPrototype__getTagName(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ElementPrototype__tagNameGetterWrap); - - -extern "C" bool ElementPrototype__setTagName(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::EncodedJSValue value); -JSC_DECLARE_CUSTOM_SETTER(ElementPrototype__tagNameSetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSElementPrototype, JSElementPrototype::Base); - - - static const HashTableValue JSElementPrototypeTableValues[] = { -{ "after"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__afterCallback, 1 } } , -{ "append"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__appendCallback, 1 } } , -{ "attributes"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ElementPrototype__attributesGetterWrap, 0 } } , -{ "before"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__beforeCallback, 1 } } , -{ "canHaveContent"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ElementPrototype__canHaveContentGetterWrap, 0 } } , -{ "getAttribute"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__getAttributeCallback, 1 } } , -{ "hasAttribute"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__hasAttributeCallback, 1 } } , -{ "namespaceURI"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ElementPrototype__namespaceURIGetterWrap, 0 } } , -{ "onEndTag"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__onEndTagCallback, 1 } } , -{ "prepend"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__prependCallback, 1 } } , -{ "remove"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__removeCallback, 0 } } , -{ "removeAndKeepContent"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__removeAndKeepContentCallback, 0 } } , -{ "removeAttribute"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__removeAttributeCallback, 1 } } , -{ "removed"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ElementPrototype__removedGetterWrap, 0 } } , -{ "replace"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__replaceCallback, 1 } } , -{ "selfClosing"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ElementPrototype__selfClosingGetterWrap, 0 } } , -{ "setAttribute"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__setAttributeCallback, 2 } } , -{ "setInnerContent"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ElementPrototype__setInnerContentCallback, 1 } } , -{ "tagName"_s, static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ElementPrototype__tagNameGetterWrap, ElementPrototype__tagNameSetterWrap } } -}; - - - -const ClassInfo JSElementPrototype::s_info = { "Element"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSElementPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsElementConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSElementPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Element"_s); - return JSValue::encode(globalObject->JSElementConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__afterCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__after(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__appendCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__append(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ElementPrototype__attributesGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSElement* thisObject = jsCast<JSElement*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ElementPrototype__getAttributes(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__beforeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__before(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ElementPrototype__canHaveContentGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSElement* thisObject = jsCast<JSElement*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ElementPrototype__getCanHaveContent(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__getAttributeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__getAttribute(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__hasAttributeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__hasAttribute(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ElementPrototype__namespaceURIGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSElement* thisObject = jsCast<JSElement*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_namespaceURI.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ElementPrototype__getNamespaceURI(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_namespaceURI.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ElementPrototype__namespaceURISetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSElement*>(JSValue::decode(thisValue)); - thisObject->m_namespaceURI.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ElementPrototype__namespaceURIGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSElement*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_namespaceURI.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__onEndTagCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__onEndTag(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__prependCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__prepend(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__removeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__remove(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__removeAndKeepContentCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__removeAndKeepContent(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__removeAttributeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__removeAttribute(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ElementPrototype__removedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSElement* thisObject = jsCast<JSElement*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ElementPrototype__getRemoved(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__replaceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__replace(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ElementPrototype__selfClosingGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSElement* thisObject = jsCast<JSElement*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ElementPrototype__getSelfClosing(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__setAttributeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__setAttribute(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ElementPrototype__setInnerContentCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSElement* thisObject = jsDynamicCast<JSElement*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Element"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ElementPrototype__setInnerContent(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ElementPrototype__tagNameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSElement* thisObject = jsCast<JSElement*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ElementPrototype__getTagName(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_SETTER(ElementPrototype__tagNameSetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSElement* thisObject = jsCast<JSElement*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - auto result = ElementPrototype__setTagName(thisObject->wrapped(), lexicalGlobalObject, encodedValue); - - RELEASE_AND_RETURN(throwScope, result); -} - - -void JSElementPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSElement::info(), JSElementPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSElement::~JSElement() -{ - if (m_ctx) { - ElementClass__finalize(m_ctx); - } -} -void JSElement::destroy(JSCell* cell) -{ - static_cast<JSElement*>(cell)->JSElement::~JSElement(); -} - -const ClassInfo JSElement::s_info = { "Element"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSElement) }; - -void JSElement::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSElement* JSElement::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSElement* ptr = new (NotNull, JSC::allocateCell<JSElement>(vm)) JSElement(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Element__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSElement* object = JSC::jsDynamicCast<JSElement*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Element__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSElement* object = JSC::jsDynamicCast<JSElement*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Element__ptrOffset = JSElement::offsetOfWrapped(); - -void JSElement::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSElement*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSElement::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSElementPrototype::create(vm, globalObject, JSElementPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Element__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSElementStructure(); - JSElement* instance = JSElement::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSElement::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSElement* thisObject = jsCast<JSElement*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSElement); - -template<typename Visitor> -void JSElement::visitAdditionalChildren(Visitor& visitor) -{ - JSElement* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_namespaceURI); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSElement); - -template<typename Visitor> -void JSElement::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSElement* thisObject = jsCast<JSElement*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSElement); - class JSEndTagPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSEndTagPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSEndTagPrototype* ptr = new (NotNull, JSC::allocateCell<JSEndTagPrototype>(vm)) JSEndTagPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSEndTagPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSEndTagPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* EndTagClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsEndTagConstructor); - - - - - -extern "C" void EndTagClass__finalize(void*); - - -extern "C" EncodedJSValue EndTagPrototype__after(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(EndTagPrototype__afterCallback); - - -extern "C" EncodedJSValue EndTagPrototype__before(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(EndTagPrototype__beforeCallback); - - -extern "C" JSC::EncodedJSValue EndTagPrototype__getName(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(EndTagPrototype__nameGetterWrap); - - -extern "C" bool EndTagPrototype__setName(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::EncodedJSValue value); -JSC_DECLARE_CUSTOM_SETTER(EndTagPrototype__nameSetterWrap); - - -extern "C" EncodedJSValue EndTagPrototype__remove(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(EndTagPrototype__removeCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSEndTagPrototype, JSEndTagPrototype::Base); - - - static const HashTableValue JSEndTagPrototypeTableValues[] = { -{ "after"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, EndTagPrototype__afterCallback, 1 } } , -{ "before"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, EndTagPrototype__beforeCallback, 1 } } , -{ "name"_s, static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, EndTagPrototype__nameGetterWrap, EndTagPrototype__nameSetterWrap } } , -{ "remove"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, EndTagPrototype__removeCallback, 0 } } -}; - - - -const ClassInfo JSEndTagPrototype::s_info = { "EndTag"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSEndTagPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsEndTagConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSEndTagPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for EndTag"_s); - return JSValue::encode(globalObject->JSEndTagConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(EndTagPrototype__afterCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSEndTag* thisObject = jsDynamicCast<JSEndTag*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof EndTag"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return EndTagPrototype__after(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(EndTagPrototype__beforeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSEndTag* thisObject = jsDynamicCast<JSEndTag*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof EndTag"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return EndTagPrototype__before(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(EndTagPrototype__nameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSEndTag* thisObject = jsCast<JSEndTag*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = EndTagPrototype__getName(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_SETTER(EndTagPrototype__nameSetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSEndTag* thisObject = jsCast<JSEndTag*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - auto result = EndTagPrototype__setName(thisObject->wrapped(), lexicalGlobalObject, encodedValue); - - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(EndTagPrototype__removeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSEndTag* thisObject = jsDynamicCast<JSEndTag*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof EndTag"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return EndTagPrototype__remove(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSEndTagPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSEndTag::info(), JSEndTagPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSEndTag::~JSEndTag() -{ - if (m_ctx) { - EndTagClass__finalize(m_ctx); - } -} -void JSEndTag::destroy(JSCell* cell) -{ - static_cast<JSEndTag*>(cell)->JSEndTag::~JSEndTag(); -} - -const ClassInfo JSEndTag::s_info = { "EndTag"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSEndTag) }; - -void JSEndTag::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSEndTag* JSEndTag::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSEndTag* ptr = new (NotNull, JSC::allocateCell<JSEndTag>(vm)) JSEndTag(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* EndTag__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSEndTag* object = JSC::jsDynamicCast<JSEndTag*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool EndTag__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSEndTag* object = JSC::jsDynamicCast<JSEndTag*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t EndTag__ptrOffset = JSEndTag::offsetOfWrapped(); - -void JSEndTag::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSEndTag*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSEndTag::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSEndTagPrototype::create(vm, globalObject, JSEndTagPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue EndTag__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSEndTagStructure(); - JSEndTag* instance = JSEndTag::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSExpectPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSExpectPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSExpectPrototype* ptr = new (NotNull, JSC::allocateCell<JSExpectPrototype>(vm)) JSExpectPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSExpectPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSExpectConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSExpectConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSExpectPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSExpectConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForExpectConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForExpectConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForExpectConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForExpectConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSExpectPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSExpectConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSExpectPrototype* prototype); - }; - - -extern "C" void* ExpectClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsExpectConstructor); - - - - - -extern "C" void ExpectClass__finalize(void*); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__call); - -extern "C" EncodedJSValue ExpectPrototype__fail(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__failCallback); - - -extern "C" JSC::EncodedJSValue ExpectPrototype__getNot(void* ptr, JSC::EncodedJSValue thisValue, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ExpectPrototype__notGetterWrap); - - -extern "C" EncodedJSValue ExpectPrototype___pass(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__passCallback); - - -extern "C" JSC::EncodedJSValue ExpectPrototype__getRejects(void* ptr, JSC::EncodedJSValue thisValue, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ExpectPrototype__rejectsGetterWrap); - - -extern "C" JSC::EncodedJSValue ExpectPrototype__getResolves(void* ptr, JSC::EncodedJSValue thisValue, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ExpectPrototype__resolvesGetterWrap); - - -extern "C" EncodedJSValue ExpectPrototype__toBe(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeArray(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeArrayCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeArrayOfSize(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeArrayOfSizeCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeBoolean(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeBooleanCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeCloseTo(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeCloseToCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeDate(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeDateCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeDefined(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeDefinedCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeEmpty(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeEmptyCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeEven(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeEvenCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeFalse(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeFalseCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeFalsy(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeFalsyCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeFinite(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeFiniteCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeFunction(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeFunctionCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeGreaterThan(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeGreaterThanCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeGreaterThanOrEqual(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeGreaterThanOrEqualCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeInstanceOf(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeInstanceOfCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeInteger(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeIntegerCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeLessThan(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeLessThanCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeLessThanOrEqual(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeLessThanOrEqualCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeNaN(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeNaNCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeNegative(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeNegativeCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeNil(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeNilCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeNull(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeNullCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeNumber(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeNumberCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeOdd(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeOddCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBePositive(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBePositiveCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeString(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeStringCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeSymbol(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeSymbolCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeTrue(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeTrueCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeTruthy(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeTruthyCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeTypeOf(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeTypeOfCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeUndefined(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeUndefinedCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toBeWithin(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toBeWithinCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toContain(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toContainCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toContainEqual(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toContainEqualCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toEndWith(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toEndWithCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toEqual(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toEqualCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toEqualIgnoringWhitespace(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toEqualIgnoringWhitespaceCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveBeenCalled(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveBeenCalledCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveBeenCalledTimes(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveBeenCalledTimesCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveBeenCalledWith(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveBeenCalledWithCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveBeenLastCalledWith(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveBeenLastCalledWithCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveBeenNthCalledWith(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveBeenNthCalledWithCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveLastReturnedWith(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveLastReturnedWithCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveLengthCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveNthReturnedWith(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveNthReturnedWithCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveProperty(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHavePropertyCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveReturnedTimes(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveReturnedTimesCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toHaveReturnedWith(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toHaveReturnedWithCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toInclude(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toIncludeCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toIncludeRepeated(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toIncludeRepeatedCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toMatch(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toMatchCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toMatchInlineSnapshot(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toMatchInlineSnapshotCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toMatchObject(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toMatchObjectCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toMatchSnapshot(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toMatchSnapshotCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toSatisfy(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toSatisfyCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toStartWith(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toStartWithCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toStrictEqual(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toStrictEqualCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toThrow(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toThrowCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toThrowErrorMatchingInlineSnapshot(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toThrowErrorMatchingInlineSnapshotCallback); - - -extern "C" EncodedJSValue ExpectPrototype__toThrowErrorMatchingSnapshot(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ExpectPrototype__toThrowErrorMatchingSnapshotCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectPrototype, JSExpectPrototype::Base); - - - static const HashTableValue JSExpectPrototypeTableValues[] = { -{ "fail"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__failCallback, 1 } } , -{ "not"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ExpectPrototype__notGetterWrap, 0 } } , -{ "pass"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__passCallback, 1 } } , -{ "rejects"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ExpectPrototype__rejectsGetterWrap, 0 } } , -{ "resolves"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ExpectPrototype__resolvesGetterWrap, 0 } } , -{ "toBe"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeCallback, 1 } } , -{ "toBeArray"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeArrayCallback, 0 } } , -{ "toBeArrayOfSize"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeArrayOfSizeCallback, 1 } } , -{ "toBeBoolean"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeBooleanCallback, 0 } } , -{ "toBeCloseTo"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeCloseToCallback, 1 } } , -{ "toBeDate"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeDateCallback, 0 } } , -{ "toBeDefined"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeDefinedCallback, 0 } } , -{ "toBeEmpty"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeEmptyCallback, 0 } } , -{ "toBeEven"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeEvenCallback, 0 } } , -{ "toBeFalse"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeFalseCallback, 0 } } , -{ "toBeFalsy"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeFalsyCallback, 0 } } , -{ "toBeFinite"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeFiniteCallback, 0 } } , -{ "toBeFunction"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeFunctionCallback, 0 } } , -{ "toBeGreaterThan"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeGreaterThanCallback, 1 } } , -{ "toBeGreaterThanOrEqual"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeGreaterThanOrEqualCallback, 1 } } , -{ "toBeInstanceOf"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeInstanceOfCallback, 1 } } , -{ "toBeInteger"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeIntegerCallback, 0 } } , -{ "toBeLessThan"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeLessThanCallback, 1 } } , -{ "toBeLessThanOrEqual"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeLessThanOrEqualCallback, 1 } } , -{ "toBeNaN"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeNaNCallback, 0 } } , -{ "toBeNegative"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeNegativeCallback, 0 } } , -{ "toBeNil"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeNilCallback, 0 } } , -{ "toBeNull"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeNullCallback, 0 } } , -{ "toBeNumber"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeNumberCallback, 0 } } , -{ "toBeOdd"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeOddCallback, 0 } } , -{ "toBePositive"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBePositiveCallback, 0 } } , -{ "toBeString"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeStringCallback, 0 } } , -{ "toBeSymbol"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeSymbolCallback, 0 } } , -{ "toBeTrue"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeTrueCallback, 0 } } , -{ "toBeTruthy"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeTruthyCallback, 0 } } , -{ "toBeTypeOf"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeTypeOfCallback, 1 } } , -{ "toBeUndefined"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeUndefinedCallback, 0 } } , -{ "toBeWithin"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toBeWithinCallback, 2 } } , -{ "toContain"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toContainCallback, 1 } } , -{ "toContainEqual"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toContainEqualCallback, 1 } } , -{ "toEndWith"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toEndWithCallback, 1 } } , -{ "toEqual"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toEqualCallback, 1 } } , -{ "toEqualIgnoringWhitespace"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toEqualIgnoringWhitespaceCallback, 1 } } , -{ "toHaveBeenCalled"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveBeenCalledCallback, 0 } } , -{ "toHaveBeenCalledTimes"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveBeenCalledTimesCallback, 1 } } , -{ "toHaveBeenCalledWith"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveBeenCalledWithCallback, 1 } } , -{ "toHaveBeenLastCalledWith"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveBeenLastCalledWithCallback, 1 } } , -{ "toHaveBeenNthCalledWith"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveBeenNthCalledWithCallback, 1 } } , -{ "toHaveLastReturnedWith"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveLastReturnedWithCallback, 1 } } , -{ "toHaveLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveLengthCallback, 1 } } , -{ "toHaveNthReturnedWith"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveNthReturnedWithCallback, 1 } } , -{ "toHaveProperty"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHavePropertyCallback, 2 } } , -{ "toHaveReturnedTimes"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveReturnedTimesCallback, 1 } } , -{ "toHaveReturnedWith"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toHaveReturnedWithCallback, 1 } } , -{ "toInclude"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toIncludeCallback, 1 } } , -{ "toIncludeRepeated"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toIncludeRepeatedCallback, 2 } } , -{ "toMatch"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toMatchCallback, 1 } } , -{ "toMatchInlineSnapshot"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toMatchInlineSnapshotCallback, 1 } } , -{ "toMatchObject"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toMatchObjectCallback, 1 } } , -{ "toMatchSnapshot"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toMatchSnapshotCallback, 1 } } , -{ "toSatisfy"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toSatisfyCallback, 1 } } , -{ "toStartWith"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toStartWithCallback, 1 } } , -{ "toStrictEqual"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toStrictEqualCallback, 1 } } , -{ "toThrow"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toThrowCallback, 1 } } , -{ "toThrowErrorMatchingInlineSnapshot"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toThrowErrorMatchingInlineSnapshotCallback, 1 } } , -{ "toThrowErrorMatchingSnapshot"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectPrototype__toThrowErrorMatchingSnapshotCallback, 1 } } -}; - - - -const ClassInfo JSExpectPrototype::s_info = { "Expect"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsExpectConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSExpectPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Expect"_s); - return JSValue::encode(globalObject->JSExpectConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__failCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__fail(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ExpectPrototype__notGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSExpect* thisObject = jsCast<JSExpect*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ExpectPrototype__getNot(thisObject->wrapped(), thisValue, globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__passCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype___pass(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ExpectPrototype__rejectsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSExpect* thisObject = jsCast<JSExpect*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ExpectPrototype__getRejects(thisObject->wrapped(), thisValue, globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(ExpectPrototype__resolvesGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSExpect* thisObject = jsCast<JSExpect*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ExpectPrototype__getResolves(thisObject->wrapped(), thisValue, globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBe(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeArrayCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeArray(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeArrayOfSizeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeArrayOfSize(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeBooleanCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeBoolean(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeCloseToCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeCloseTo(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeDateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeDate(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeDefinedCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeDefined(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeEmptyCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeEmpty(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeEvenCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeEven(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeFalseCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeFalse(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeFalsyCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeFalsy(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeFiniteCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeFinite(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeFunctionCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeFunction(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeGreaterThanCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeGreaterThan(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeGreaterThanOrEqualCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeGreaterThanOrEqual(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeInstanceOfCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeInstanceOf(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeIntegerCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeInteger(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeLessThanCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeLessThan(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeLessThanOrEqualCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeLessThanOrEqual(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeNaNCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeNaN(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeNegativeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeNegative(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeNilCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeNil(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeNullCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeNull(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeNumberCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeNumber(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeOddCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeOdd(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBePositiveCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBePositive(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeStringCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeString(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeSymbolCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeSymbol(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeTrueCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeTrue(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeTruthyCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeTruthy(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeTypeOfCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeTypeOf(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeUndefinedCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeUndefined(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toBeWithinCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toBeWithin(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toContainCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toContain(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toContainEqualCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toContainEqual(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toEndWithCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toEndWith(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toEqualCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toEqual(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toEqualIgnoringWhitespaceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toEqualIgnoringWhitespace(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveBeenCalledCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveBeenCalled(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveBeenCalledTimesCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveBeenCalledTimes(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveBeenCalledWithCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveBeenCalledWith(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveBeenLastCalledWithCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveBeenLastCalledWith(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveBeenNthCalledWithCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveBeenNthCalledWith(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveLastReturnedWithCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveLastReturnedWith(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveLengthCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveLength(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveNthReturnedWithCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveNthReturnedWith(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHavePropertyCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveProperty(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveReturnedTimesCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveReturnedTimes(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toHaveReturnedWithCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toHaveReturnedWith(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toIncludeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toInclude(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toIncludeRepeatedCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toIncludeRepeated(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toMatchCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toMatch(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toMatchInlineSnapshotCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toMatchInlineSnapshot(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toMatchObjectCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toMatchObject(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toMatchSnapshotCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toMatchSnapshot(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toSatisfyCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toSatisfy(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toStartWithCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toStartWith(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toStrictEqualCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toStrictEqual(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toThrowCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toThrow(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toThrowErrorMatchingInlineSnapshotCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toThrowErrorMatchingInlineSnapshot(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ExpectPrototype__toThrowErrorMatchingSnapshotCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSExpect* thisObject = jsDynamicCast<JSExpect*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Expect"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ExpectPrototype__toThrowErrorMatchingSnapshot(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - - extern "C" void ExpectPrototype__capturedValueSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSExpect*>(JSValue::decode(thisValue)); - thisObject->m_capturedValue.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ExpectPrototype__capturedValueGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSExpect*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_capturedValue.get()); - } - - - - - extern "C" void ExpectPrototype__resultValueSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSExpect*>(JSValue::decode(thisValue)); - thisObject->m_resultValue.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ExpectPrototype__resultValueGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSExpect*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_resultValue.get()); - } - - - -void JSExpectPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSExpect::info(), JSExpectPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__addSnapshotSerializer); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__any); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__anything); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__arrayContaining); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__assertions); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__extend); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__hasAssertions); -extern "C" JSC_DECLARE_CUSTOM_GETTER(ExpectClass__getStaticNot); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__objectContaining); -extern "C" JSC_DECLARE_CUSTOM_GETTER(ExpectClass__getStaticRejects); -extern "C" JSC_DECLARE_CUSTOM_GETTER(ExpectClass__getStaticResolves); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__stringContaining); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectClass__stringMatching); - - static const HashTableValue JSExpectConstructorTableValues[] = { -{ "addSnapshotSerializer"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__addSnapshotSerializer, 1 } } , -{ "any"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__any, 1 } } , -{ "anything"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__anything, 1 } } , -{ "arrayContaining"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__arrayContaining, 1 } } , -{ "assertions"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__assertions, 1 } } , -{ "extend"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__extend, 1 } } , -{ "hasAssertions"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__hasAssertions, 1 } } , -{ "not"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ExpectClass__getStaticNot, 0 } } , -{ "objectContaining"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__objectContaining, 1 } } , -{ "rejects"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ExpectClass__getStaticRejects, 0 } } , -{ "resolves"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ExpectClass__getStaticResolves, 0 } } , -{ "stringContaining"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__stringContaining, 1 } } , -{ "stringMatching"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ExpectClass__stringMatching, 1 } } -}; - - -void JSExpectConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSExpectPrototype* prototype) -{ - Base::finishCreation(vm, 0, "Expect"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSExpectConstructor::s_info, JSExpectConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSExpectConstructor::JSExpectConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, ExpectClass__call, construct) { - - } - -JSExpectConstructor* JSExpectConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSExpectPrototype* prototype) { - JSExpectConstructor* ptr = new (NotNull, JSC::allocateCell<JSExpectConstructor>(vm)) JSExpectConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSExpectConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSExpectConstructor(); - Structure* structure = globalObject->JSExpectStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSExpectStructure() - ); - } - - void* ptr = ExpectClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSExpect* instance = JSExpect::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSExpectConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSExpectPrototype* prototype) -{ - -} - -const ClassInfo JSExpectConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectConstructor) }; - - - extern "C" EncodedJSValue Expect__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSExpectConstructor()); - } - -JSExpect::~JSExpect() -{ - if (m_ctx) { - ExpectClass__finalize(m_ctx); - } -} -void JSExpect::destroy(JSCell* cell) -{ - static_cast<JSExpect*>(cell)->JSExpect::~JSExpect(); -} - -const ClassInfo JSExpect::s_info = { "Expect"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpect) }; - -void JSExpect::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSExpect* JSExpect::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSExpect* ptr = new (NotNull, JSC::allocateCell<JSExpect>(vm)) JSExpect(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Expect__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSExpect* object = JSC::jsDynamicCast<JSExpect*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Expect__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSExpect* object = JSC::jsDynamicCast<JSExpect*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Expect__ptrOffset = JSExpect::offsetOfWrapped(); - -void JSExpect::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSExpect*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSExpect::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSExpectConstructor::create(vm, globalObject, WebCore::JSExpectConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSExpectPrototype*>(prototype)); -} - -JSObject* JSExpect::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSExpectPrototype::create(vm, globalObject, JSExpectPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Expect__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSExpectStructure(); - JSExpect* instance = JSExpect::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSExpect::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSExpect* thisObject = jsCast<JSExpect*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSExpect); - -template<typename Visitor> -void JSExpect::visitAdditionalChildren(Visitor& visitor) -{ - JSExpect* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - visitor.append(thisObject->m_capturedValue); -visitor.append(thisObject->m_resultValue); - - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSExpect); - -template<typename Visitor> -void JSExpect::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSExpect* thisObject = jsCast<JSExpect*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSExpect); - class JSExpectAnyPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSExpectAnyPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSExpectAnyPrototype* ptr = new (NotNull, JSC::allocateCell<JSExpectAnyPrototype>(vm)) JSExpectAnyPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectAnyPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSExpectAnyPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void ExpectAnyClass__finalize(void*); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectAnyClass__call); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectAnyPrototype, JSExpectAnyPrototype::Base); - - - static const HashTableValue JSExpectAnyPrototypeTableValues[] = {}; - - - -const ClassInfo JSExpectAnyPrototype::s_info = { "ExpectAny"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectAnyPrototype) }; - - - - extern "C" void ExpectAnyPrototype__constructorValueSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSExpectAny*>(JSValue::decode(thisValue)); - thisObject->m_constructorValue.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ExpectAnyPrototype__constructorValueGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSExpectAny*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_constructorValue.get()); - } - - - -void JSExpectAnyPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSExpectAny::~JSExpectAny() -{ - if (m_ctx) { - ExpectAnyClass__finalize(m_ctx); - } -} -void JSExpectAny::destroy(JSCell* cell) -{ - static_cast<JSExpectAny*>(cell)->JSExpectAny::~JSExpectAny(); -} - -const ClassInfo JSExpectAny::s_info = { "ExpectAny"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectAny) }; - -void JSExpectAny::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSExpectAny* JSExpectAny::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSExpectAny* ptr = new (NotNull, JSC::allocateCell<JSExpectAny>(vm)) JSExpectAny(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* ExpectAny__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSExpectAny* object = JSC::jsDynamicCast<JSExpectAny*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool ExpectAny__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSExpectAny* object = JSC::jsDynamicCast<JSExpectAny*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t ExpectAny__ptrOffset = JSExpectAny::offsetOfWrapped(); - -void JSExpectAny::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSExpectAny*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSExpectAny::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSExpectAnyPrototype::create(vm, globalObject, JSExpectAnyPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue ExpectAny__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSExpectAnyStructure(); - JSExpectAny* instance = JSExpectAny::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSExpectAny::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSExpectAny* thisObject = jsCast<JSExpectAny*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSExpectAny); - -template<typename Visitor> -void JSExpectAny::visitAdditionalChildren(Visitor& visitor) -{ - JSExpectAny* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - visitor.append(thisObject->m_constructorValue); - - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSExpectAny); - -template<typename Visitor> -void JSExpectAny::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSExpectAny* thisObject = jsCast<JSExpectAny*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSExpectAny); - class JSExpectAnythingPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSExpectAnythingPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSExpectAnythingPrototype* ptr = new (NotNull, JSC::allocateCell<JSExpectAnythingPrototype>(vm)) JSExpectAnythingPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectAnythingPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSExpectAnythingPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void ExpectAnythingClass__finalize(void*); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectAnythingClass__call); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectAnythingPrototype, JSExpectAnythingPrototype::Base); - - - static const HashTableValue JSExpectAnythingPrototypeTableValues[] = {}; - - - -const ClassInfo JSExpectAnythingPrototype::s_info = { "ExpectAnything"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectAnythingPrototype) }; - - - -void JSExpectAnythingPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSExpectAnything::~JSExpectAnything() -{ - if (m_ctx) { - ExpectAnythingClass__finalize(m_ctx); - } -} -void JSExpectAnything::destroy(JSCell* cell) -{ - static_cast<JSExpectAnything*>(cell)->JSExpectAnything::~JSExpectAnything(); -} - -const ClassInfo JSExpectAnything::s_info = { "ExpectAnything"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectAnything) }; - -void JSExpectAnything::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSExpectAnything* JSExpectAnything::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSExpectAnything* ptr = new (NotNull, JSC::allocateCell<JSExpectAnything>(vm)) JSExpectAnything(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* ExpectAnything__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSExpectAnything* object = JSC::jsDynamicCast<JSExpectAnything*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool ExpectAnything__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSExpectAnything* object = JSC::jsDynamicCast<JSExpectAnything*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t ExpectAnything__ptrOffset = JSExpectAnything::offsetOfWrapped(); - -void JSExpectAnything::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSExpectAnything*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSExpectAnything::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSExpectAnythingPrototype::create(vm, globalObject, JSExpectAnythingPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue ExpectAnything__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSExpectAnythingStructure(); - JSExpectAnything* instance = JSExpectAnything::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSExpectArrayContainingPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSExpectArrayContainingPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSExpectArrayContainingPrototype* ptr = new (NotNull, JSC::allocateCell<JSExpectArrayContainingPrototype>(vm)) JSExpectArrayContainingPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectArrayContainingPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSExpectArrayContainingPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void ExpectArrayContainingClass__finalize(void*); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectArrayContainingClass__call); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectArrayContainingPrototype, JSExpectArrayContainingPrototype::Base); - - - static const HashTableValue JSExpectArrayContainingPrototypeTableValues[] = {}; - - - -const ClassInfo JSExpectArrayContainingPrototype::s_info = { "ExpectArrayContaining"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectArrayContainingPrototype) }; - - - - extern "C" void ExpectArrayContainingPrototype__arrayValueSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSExpectArrayContaining*>(JSValue::decode(thisValue)); - thisObject->m_arrayValue.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ExpectArrayContainingPrototype__arrayValueGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSExpectArrayContaining*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_arrayValue.get()); - } - - - -void JSExpectArrayContainingPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSExpectArrayContaining::~JSExpectArrayContaining() -{ - if (m_ctx) { - ExpectArrayContainingClass__finalize(m_ctx); - } -} -void JSExpectArrayContaining::destroy(JSCell* cell) -{ - static_cast<JSExpectArrayContaining*>(cell)->JSExpectArrayContaining::~JSExpectArrayContaining(); -} - -const ClassInfo JSExpectArrayContaining::s_info = { "ExpectArrayContaining"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectArrayContaining) }; - -void JSExpectArrayContaining::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSExpectArrayContaining* JSExpectArrayContaining::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSExpectArrayContaining* ptr = new (NotNull, JSC::allocateCell<JSExpectArrayContaining>(vm)) JSExpectArrayContaining(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* ExpectArrayContaining__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSExpectArrayContaining* object = JSC::jsDynamicCast<JSExpectArrayContaining*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool ExpectArrayContaining__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSExpectArrayContaining* object = JSC::jsDynamicCast<JSExpectArrayContaining*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t ExpectArrayContaining__ptrOffset = JSExpectArrayContaining::offsetOfWrapped(); - -void JSExpectArrayContaining::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSExpectArrayContaining*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSExpectArrayContaining::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSExpectArrayContainingPrototype::create(vm, globalObject, JSExpectArrayContainingPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue ExpectArrayContaining__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSExpectArrayContainingStructure(); - JSExpectArrayContaining* instance = JSExpectArrayContaining::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSExpectArrayContaining::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSExpectArrayContaining* thisObject = jsCast<JSExpectArrayContaining*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSExpectArrayContaining); - -template<typename Visitor> -void JSExpectArrayContaining::visitAdditionalChildren(Visitor& visitor) -{ - JSExpectArrayContaining* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - visitor.append(thisObject->m_arrayValue); - - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSExpectArrayContaining); - -template<typename Visitor> -void JSExpectArrayContaining::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSExpectArrayContaining* thisObject = jsCast<JSExpectArrayContaining*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSExpectArrayContaining); - class JSExpectStringContainingPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSExpectStringContainingPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSExpectStringContainingPrototype* ptr = new (NotNull, JSC::allocateCell<JSExpectStringContainingPrototype>(vm)) JSExpectStringContainingPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectStringContainingPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSExpectStringContainingPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void ExpectStringContainingClass__finalize(void*); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectStringContainingClass__call); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectStringContainingPrototype, JSExpectStringContainingPrototype::Base); - - - static const HashTableValue JSExpectStringContainingPrototypeTableValues[] = {}; - - - -const ClassInfo JSExpectStringContainingPrototype::s_info = { "ExpectStringContaining"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectStringContainingPrototype) }; - - - - extern "C" void ExpectStringContainingPrototype__stringValueSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSExpectStringContaining*>(JSValue::decode(thisValue)); - thisObject->m_stringValue.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ExpectStringContainingPrototype__stringValueGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSExpectStringContaining*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_stringValue.get()); - } - - - -void JSExpectStringContainingPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSExpectStringContaining::~JSExpectStringContaining() -{ - if (m_ctx) { - ExpectStringContainingClass__finalize(m_ctx); - } -} -void JSExpectStringContaining::destroy(JSCell* cell) -{ - static_cast<JSExpectStringContaining*>(cell)->JSExpectStringContaining::~JSExpectStringContaining(); -} - -const ClassInfo JSExpectStringContaining::s_info = { "ExpectStringContaining"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectStringContaining) }; - -void JSExpectStringContaining::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSExpectStringContaining* JSExpectStringContaining::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSExpectStringContaining* ptr = new (NotNull, JSC::allocateCell<JSExpectStringContaining>(vm)) JSExpectStringContaining(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* ExpectStringContaining__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSExpectStringContaining* object = JSC::jsDynamicCast<JSExpectStringContaining*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool ExpectStringContaining__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSExpectStringContaining* object = JSC::jsDynamicCast<JSExpectStringContaining*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t ExpectStringContaining__ptrOffset = JSExpectStringContaining::offsetOfWrapped(); - -void JSExpectStringContaining::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSExpectStringContaining*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSExpectStringContaining::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSExpectStringContainingPrototype::create(vm, globalObject, JSExpectStringContainingPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue ExpectStringContaining__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSExpectStringContainingStructure(); - JSExpectStringContaining* instance = JSExpectStringContaining::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSExpectStringContaining::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSExpectStringContaining* thisObject = jsCast<JSExpectStringContaining*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSExpectStringContaining); - -template<typename Visitor> -void JSExpectStringContaining::visitAdditionalChildren(Visitor& visitor) -{ - JSExpectStringContaining* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - visitor.append(thisObject->m_stringValue); - - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSExpectStringContaining); - -template<typename Visitor> -void JSExpectStringContaining::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSExpectStringContaining* thisObject = jsCast<JSExpectStringContaining*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSExpectStringContaining); - class JSExpectStringMatchingPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSExpectStringMatchingPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSExpectStringMatchingPrototype* ptr = new (NotNull, JSC::allocateCell<JSExpectStringMatchingPrototype>(vm)) JSExpectStringMatchingPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectStringMatchingPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSExpectStringMatchingPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void ExpectStringMatchingClass__finalize(void*); -extern "C" JSC_DECLARE_HOST_FUNCTION(ExpectStringMatchingClass__call); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSExpectStringMatchingPrototype, JSExpectStringMatchingPrototype::Base); - - - static const HashTableValue JSExpectStringMatchingPrototypeTableValues[] = {}; - - - -const ClassInfo JSExpectStringMatchingPrototype::s_info = { "ExpectStringMatching"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectStringMatchingPrototype) }; - - - - extern "C" void ExpectStringMatchingPrototype__testValueSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSExpectStringMatching*>(JSValue::decode(thisValue)); - thisObject->m_testValue.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ExpectStringMatchingPrototype__testValueGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSExpectStringMatching*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_testValue.get()); - } - - - -void JSExpectStringMatchingPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSExpectStringMatching::~JSExpectStringMatching() -{ - if (m_ctx) { - ExpectStringMatchingClass__finalize(m_ctx); - } -} -void JSExpectStringMatching::destroy(JSCell* cell) -{ - static_cast<JSExpectStringMatching*>(cell)->JSExpectStringMatching::~JSExpectStringMatching(); -} - -const ClassInfo JSExpectStringMatching::s_info = { "ExpectStringMatching"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSExpectStringMatching) }; - -void JSExpectStringMatching::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSExpectStringMatching* JSExpectStringMatching::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSExpectStringMatching* ptr = new (NotNull, JSC::allocateCell<JSExpectStringMatching>(vm)) JSExpectStringMatching(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* ExpectStringMatching__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSExpectStringMatching* object = JSC::jsDynamicCast<JSExpectStringMatching*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool ExpectStringMatching__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSExpectStringMatching* object = JSC::jsDynamicCast<JSExpectStringMatching*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t ExpectStringMatching__ptrOffset = JSExpectStringMatching::offsetOfWrapped(); - -void JSExpectStringMatching::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSExpectStringMatching*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSExpectStringMatching::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSExpectStringMatchingPrototype::create(vm, globalObject, JSExpectStringMatchingPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue ExpectStringMatching__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSExpectStringMatchingStructure(); - JSExpectStringMatching* instance = JSExpectStringMatching::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSExpectStringMatching::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSExpectStringMatching* thisObject = jsCast<JSExpectStringMatching*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSExpectStringMatching); - -template<typename Visitor> -void JSExpectStringMatching::visitAdditionalChildren(Visitor& visitor) -{ - JSExpectStringMatching* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - visitor.append(thisObject->m_testValue); - - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSExpectStringMatching); - -template<typename Visitor> -void JSExpectStringMatching::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSExpectStringMatching* thisObject = jsCast<JSExpectStringMatching*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSExpectStringMatching); - class JSFFIPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSFFIPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSFFIPrototype* ptr = new (NotNull, JSC::allocateCell<JSFFIPrototype>(vm)) JSFFIPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSFFIPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSFFIPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* FFIClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsFFIConstructor); - - - - - -extern "C" void FFIClass__finalize(void*); - - -extern "C" EncodedJSValue FFIPrototype__close(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(FFIPrototype__closeCallback); - - -extern "C" JSC::EncodedJSValue FFIPrototype__getSymbols(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(FFIPrototype__symbolsGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSFFIPrototype, JSFFIPrototype::Base); - - - static const HashTableValue JSFFIPrototypeTableValues[] = { -{ "close"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, FFIPrototype__closeCallback, 0 } } , -{ "symbols"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, FFIPrototype__symbolsGetterWrap, 0 } } -}; - - - -const ClassInfo JSFFIPrototype::s_info = { "FFI"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSFFIPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsFFIConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSFFIPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for FFI"_s); - return JSValue::encode(globalObject->JSFFIConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(FFIPrototype__closeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSFFI* thisObject = jsDynamicCast<JSFFI*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof FFI"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return FFIPrototype__close(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(FFIPrototype__symbolsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSFFI* thisObject = jsCast<JSFFI*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_symbolsValue.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - FFIPrototype__getSymbols(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_symbolsValue.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void FFIPrototype__symbolsSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSFFI*>(JSValue::decode(thisValue)); - thisObject->m_symbolsValue.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue FFIPrototype__symbolsGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSFFI*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_symbolsValue.get()); - } - - - - - extern "C" void FFIPrototype__symbolsValueSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSFFI*>(JSValue::decode(thisValue)); - thisObject->m_symbolsValue.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue FFIPrototype__symbolsValueGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSFFI*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_symbolsValue.get()); - } - - - -void JSFFIPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSFFI::info(), JSFFIPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSFFI::~JSFFI() -{ - if (m_ctx) { - FFIClass__finalize(m_ctx); - } -} -void JSFFI::destroy(JSCell* cell) -{ - static_cast<JSFFI*>(cell)->JSFFI::~JSFFI(); -} - -const ClassInfo JSFFI::s_info = { "FFI"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSFFI) }; - -void JSFFI::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSFFI* JSFFI::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSFFI* ptr = new (NotNull, JSC::allocateCell<JSFFI>(vm)) JSFFI(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* FFI__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSFFI* object = JSC::jsDynamicCast<JSFFI*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool FFI__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSFFI* object = JSC::jsDynamicCast<JSFFI*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t FFI__ptrOffset = JSFFI::offsetOfWrapped(); - -void JSFFI::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSFFI*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSFFI::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSFFIPrototype::create(vm, globalObject, JSFFIPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue FFI__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSFFIStructure(); - JSFFI* instance = JSFFI::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSFFI::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSFFI* thisObject = jsCast<JSFFI*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSFFI); - -template<typename Visitor> -void JSFFI::visitAdditionalChildren(Visitor& visitor) -{ - JSFFI* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - visitor.append(thisObject->m_symbolsValue); - - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSFFI); - -template<typename Visitor> -void JSFFI::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSFFI* thisObject = jsCast<JSFFI*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSFFI); - class JSFSWatcherPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSFSWatcherPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSFSWatcherPrototype* ptr = new (NotNull, JSC::allocateCell<JSFSWatcherPrototype>(vm)) JSFSWatcherPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSFSWatcherPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSFSWatcherPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void FSWatcherClass__finalize(void*); - - -extern "C" EncodedJSValue FSWatcherPrototype__doClose(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(FSWatcherPrototype__closeCallback); - - -extern "C" EncodedJSValue FSWatcherPrototype__hasRef(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(FSWatcherPrototype__hasRefCallback); - - -extern "C" EncodedJSValue FSWatcherPrototype__doRef(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(FSWatcherPrototype__refCallback); - - -extern "C" EncodedJSValue FSWatcherPrototype__doUnref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(FSWatcherPrototype__unrefCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSFSWatcherPrototype, JSFSWatcherPrototype::Base); - - - static const HashTableValue JSFSWatcherPrototypeTableValues[] = { -{ "close"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, FSWatcherPrototype__closeCallback, 0 } } , -{ "hasRef"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, FSWatcherPrototype__hasRefCallback, 0 } } , -{ "ref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, FSWatcherPrototype__refCallback, 0 } } , -{ "unref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, FSWatcherPrototype__unrefCallback, 0 } } -}; - - - -const ClassInfo JSFSWatcherPrototype::s_info = { "FSWatcher"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSFSWatcherPrototype) }; - - - JSC_DEFINE_HOST_FUNCTION(FSWatcherPrototype__closeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSFSWatcher* thisObject = jsDynamicCast<JSFSWatcher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof FSWatcher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return FSWatcherPrototype__doClose(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(FSWatcherPrototype__hasRefCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSFSWatcher* thisObject = jsDynamicCast<JSFSWatcher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof FSWatcher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return FSWatcherPrototype__hasRef(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(FSWatcherPrototype__refCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSFSWatcher* thisObject = jsDynamicCast<JSFSWatcher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof FSWatcher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return FSWatcherPrototype__doRef(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(FSWatcherPrototype__unrefCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSFSWatcher* thisObject = jsDynamicCast<JSFSWatcher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof FSWatcher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return FSWatcherPrototype__doUnref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - - extern "C" void FSWatcherPrototype__listenerSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSFSWatcher*>(JSValue::decode(thisValue)); - thisObject->m_listener.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue FSWatcherPrototype__listenerGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSFSWatcher*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_listener.get()); - } - - - -void JSFSWatcherPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSFSWatcher::info(), JSFSWatcherPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" bool FSWatcher__hasPendingActivity(void* ptr); - bool JSFSWatcher::hasPendingActivity(void* ctx) { - return FSWatcher__hasPendingActivity(ctx); - } - -JSFSWatcher::~JSFSWatcher() -{ - if (m_ctx) { - FSWatcherClass__finalize(m_ctx); - } -} -void JSFSWatcher::destroy(JSCell* cell) -{ - static_cast<JSFSWatcher*>(cell)->JSFSWatcher::~JSFSWatcher(); -} - -const ClassInfo JSFSWatcher::s_info = { "FSWatcher"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSFSWatcher) }; - -void JSFSWatcher::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSFSWatcher* JSFSWatcher::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSFSWatcher* ptr = new (NotNull, JSC::allocateCell<JSFSWatcher>(vm)) JSFSWatcher(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* FSWatcher__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSFSWatcher* object = JSC::jsDynamicCast<JSFSWatcher*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool FSWatcher__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSFSWatcher* object = JSC::jsDynamicCast<JSFSWatcher*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t FSWatcher__ptrOffset = JSFSWatcher::offsetOfWrapped(); - -void JSFSWatcher::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSFSWatcher*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSFSWatcher::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSFSWatcherPrototype::create(vm, globalObject, JSFSWatcherPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue FSWatcher__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSFSWatcherStructure(); - JSFSWatcher* instance = JSFSWatcher::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSFSWatcher::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSFSWatcher* thisObject = jsCast<JSFSWatcher*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSFSWatcher); - -template<typename Visitor> -void JSFSWatcher::visitAdditionalChildren(Visitor& visitor) -{ - JSFSWatcher* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - visitor.append(thisObject->m_listener); - - visitor.addOpaqueRoot(this->wrapped()); -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSFSWatcher); - -template<typename Visitor> -void JSFSWatcher::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSFSWatcher* thisObject = jsCast<JSFSWatcher*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSFSWatcher); - class JSFileSystemRouterPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSFileSystemRouterPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSFileSystemRouterPrototype* ptr = new (NotNull, JSC::allocateCell<JSFileSystemRouterPrototype>(vm)) JSFileSystemRouterPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSFileSystemRouterPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSFileSystemRouterPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSFileSystemRouterConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSFileSystemRouterConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSFileSystemRouterPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSFileSystemRouterConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForFileSystemRouterConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForFileSystemRouterConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForFileSystemRouterConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForFileSystemRouterConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSFileSystemRouterPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSFileSystemRouterConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSFileSystemRouterPrototype* prototype); - }; - - -extern "C" void* FileSystemRouterClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsFileSystemRouterConstructor); - - - - - -extern "C" void FileSystemRouterClass__finalize(void*); - - -extern "C" EncodedJSValue FileSystemRouterPrototype__match(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(FileSystemRouterPrototype__matchCallback); - - -extern "C" JSC::EncodedJSValue FileSystemRouterPrototype__getOrigin(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(FileSystemRouterPrototype__originGetterWrap); - - -extern "C" EncodedJSValue FileSystemRouterPrototype__reload(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(FileSystemRouterPrototype__reloadCallback); - - -extern "C" JSC::EncodedJSValue FileSystemRouterPrototype__getRoutes(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(FileSystemRouterPrototype__routesGetterWrap); - - -extern "C" JSC::EncodedJSValue FileSystemRouterPrototype__getStyle(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(FileSystemRouterPrototype__styleGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSFileSystemRouterPrototype, JSFileSystemRouterPrototype::Base); - - - static const HashTableValue JSFileSystemRouterPrototypeTableValues[] = { -{ "match"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, FileSystemRouterPrototype__matchCallback, 1 } } , -{ "origin"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, FileSystemRouterPrototype__originGetterWrap, 0 } } , -{ "reload"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, FileSystemRouterPrototype__reloadCallback, 0 } } , -{ "routes"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, FileSystemRouterPrototype__routesGetterWrap, 0 } } , -{ "style"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, FileSystemRouterPrototype__styleGetterWrap, 0 } } -}; - - - -const ClassInfo JSFileSystemRouterPrototype::s_info = { "FileSystemRouter"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSFileSystemRouterPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsFileSystemRouterConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSFileSystemRouterPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for FileSystemRouter"_s); - return JSValue::encode(globalObject->JSFileSystemRouterConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(FileSystemRouterPrototype__matchCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSFileSystemRouter* thisObject = jsDynamicCast<JSFileSystemRouter*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof FileSystemRouter"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return FileSystemRouterPrototype__match(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(FileSystemRouterPrototype__originGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSFileSystemRouter* thisObject = jsCast<JSFileSystemRouter*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_origin.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - FileSystemRouterPrototype__getOrigin(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_origin.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void FileSystemRouterPrototype__originSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSFileSystemRouter*>(JSValue::decode(thisValue)); - thisObject->m_origin.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue FileSystemRouterPrototype__originGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSFileSystemRouter*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_origin.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(FileSystemRouterPrototype__reloadCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSFileSystemRouter* thisObject = jsDynamicCast<JSFileSystemRouter*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof FileSystemRouter"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return FileSystemRouterPrototype__reload(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(FileSystemRouterPrototype__routesGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSFileSystemRouter* thisObject = jsCast<JSFileSystemRouter*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_routes.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - FileSystemRouterPrototype__getRoutes(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_routes.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void FileSystemRouterPrototype__routesSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSFileSystemRouter*>(JSValue::decode(thisValue)); - thisObject->m_routes.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue FileSystemRouterPrototype__routesGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSFileSystemRouter*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_routes.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(FileSystemRouterPrototype__styleGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSFileSystemRouter* thisObject = jsCast<JSFileSystemRouter*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_style.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - FileSystemRouterPrototype__getStyle(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_style.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void FileSystemRouterPrototype__styleSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSFileSystemRouter*>(JSValue::decode(thisValue)); - thisObject->m_style.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue FileSystemRouterPrototype__styleGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSFileSystemRouter*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_style.get()); - } - - - -void JSFileSystemRouterPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSFileSystemRouter::info(), JSFileSystemRouterPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSFileSystemRouterConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSFileSystemRouterPrototype* prototype) -{ - Base::finishCreation(vm, 0, "FileSystemRouter"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSFileSystemRouterConstructor::JSFileSystemRouterConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSFileSystemRouterConstructor* JSFileSystemRouterConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSFileSystemRouterPrototype* prototype) { - JSFileSystemRouterConstructor* ptr = new (NotNull, JSC::allocateCell<JSFileSystemRouterConstructor>(vm)) JSFileSystemRouterConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSFileSystemRouterConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSFileSystemRouterConstructor(); - Structure* structure = globalObject->JSFileSystemRouterStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSFileSystemRouterStructure() - ); - } - - void* ptr = FileSystemRouterClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSFileSystemRouter* instance = JSFileSystemRouter::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSFileSystemRouterConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSFileSystemRouterPrototype* prototype) -{ - -} - -const ClassInfo JSFileSystemRouterConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSFileSystemRouterConstructor) }; - - - extern "C" EncodedJSValue FileSystemRouter__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSFileSystemRouterConstructor()); - } - -JSFileSystemRouter::~JSFileSystemRouter() -{ - if (m_ctx) { - FileSystemRouterClass__finalize(m_ctx); - } -} -void JSFileSystemRouter::destroy(JSCell* cell) -{ - static_cast<JSFileSystemRouter*>(cell)->JSFileSystemRouter::~JSFileSystemRouter(); -} - -const ClassInfo JSFileSystemRouter::s_info = { "FileSystemRouter"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSFileSystemRouter) }; - -void JSFileSystemRouter::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSFileSystemRouter* JSFileSystemRouter::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSFileSystemRouter* ptr = new (NotNull, JSC::allocateCell<JSFileSystemRouter>(vm)) JSFileSystemRouter(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* FileSystemRouter__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSFileSystemRouter* object = JSC::jsDynamicCast<JSFileSystemRouter*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool FileSystemRouter__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSFileSystemRouter* object = JSC::jsDynamicCast<JSFileSystemRouter*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t FileSystemRouter__ptrOffset = JSFileSystemRouter::offsetOfWrapped(); - -void JSFileSystemRouter::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSFileSystemRouter*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSFileSystemRouter::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSFileSystemRouterConstructor::create(vm, globalObject, WebCore::JSFileSystemRouterConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSFileSystemRouterPrototype*>(prototype)); -} - -JSObject* JSFileSystemRouter::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSFileSystemRouterPrototype::create(vm, globalObject, JSFileSystemRouterPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue FileSystemRouter__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSFileSystemRouterStructure(); - JSFileSystemRouter* instance = JSFileSystemRouter::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSFileSystemRouter::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSFileSystemRouter* thisObject = jsCast<JSFileSystemRouter*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSFileSystemRouter); - -template<typename Visitor> -void JSFileSystemRouter::visitAdditionalChildren(Visitor& visitor) -{ - JSFileSystemRouter* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_origin); - visitor.append(thisObject->m_routes); - visitor.append(thisObject->m_style); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSFileSystemRouter); - -template<typename Visitor> -void JSFileSystemRouter::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSFileSystemRouter* thisObject = jsCast<JSFileSystemRouter*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSFileSystemRouter); - class JSHTMLRewriterPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSHTMLRewriterPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSHTMLRewriterPrototype* ptr = new (NotNull, JSC::allocateCell<JSHTMLRewriterPrototype>(vm)) JSHTMLRewriterPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSHTMLRewriterPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSHTMLRewriterPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSHTMLRewriterConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSHTMLRewriterConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSHTMLRewriterPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSHTMLRewriterConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForHTMLRewriterConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForHTMLRewriterConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForHTMLRewriterConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForHTMLRewriterConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSHTMLRewriterPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSHTMLRewriterConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSHTMLRewriterPrototype* prototype); - }; - - -extern "C" void* HTMLRewriterClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsHTMLRewriterConstructor); - - - - - -extern "C" void HTMLRewriterClass__finalize(void*); - - -extern "C" EncodedJSValue HTMLRewriterPrototype__on(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTMLRewriterPrototype__onCallback); - - -extern "C" EncodedJSValue HTMLRewriterPrototype__onDocument(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTMLRewriterPrototype__onDocumentCallback); - - -extern "C" EncodedJSValue HTMLRewriterPrototype__transform(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTMLRewriterPrototype__transformCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSHTMLRewriterPrototype, JSHTMLRewriterPrototype::Base); - - - static const HashTableValue JSHTMLRewriterPrototypeTableValues[] = { -{ "on"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTMLRewriterPrototype__onCallback, 2 } } , -{ "onDocument"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTMLRewriterPrototype__onDocumentCallback, 1 } } , -{ "transform"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTMLRewriterPrototype__transformCallback, 1 } } -}; - - - -const ClassInfo JSHTMLRewriterPrototype::s_info = { "HTMLRewriter"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSHTMLRewriterPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsHTMLRewriterConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSHTMLRewriterPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for HTMLRewriter"_s); - return JSValue::encode(globalObject->JSHTMLRewriterConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(HTMLRewriterPrototype__onCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTMLRewriter* thisObject = jsDynamicCast<JSHTMLRewriter*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTMLRewriter"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTMLRewriterPrototype__on(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTMLRewriterPrototype__onDocumentCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTMLRewriter* thisObject = jsDynamicCast<JSHTMLRewriter*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTMLRewriter"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTMLRewriterPrototype__onDocument(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTMLRewriterPrototype__transformCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTMLRewriter* thisObject = jsDynamicCast<JSHTMLRewriter*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTMLRewriter"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTMLRewriterPrototype__transform(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSHTMLRewriterPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSHTMLRewriter::info(), JSHTMLRewriterPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSHTMLRewriterConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSHTMLRewriterPrototype* prototype) -{ - Base::finishCreation(vm, 0, "HTMLRewriter"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSHTMLRewriterConstructor::JSHTMLRewriterConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSHTMLRewriterConstructor* JSHTMLRewriterConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSHTMLRewriterPrototype* prototype) { - JSHTMLRewriterConstructor* ptr = new (NotNull, JSC::allocateCell<JSHTMLRewriterConstructor>(vm)) JSHTMLRewriterConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSHTMLRewriterConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSHTMLRewriterConstructor(); - Structure* structure = globalObject->JSHTMLRewriterStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSHTMLRewriterStructure() - ); - } - - void* ptr = HTMLRewriterClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSHTMLRewriter* instance = JSHTMLRewriter::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSHTMLRewriterConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSHTMLRewriterPrototype* prototype) -{ - -} - -const ClassInfo JSHTMLRewriterConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSHTMLRewriterConstructor) }; - - - extern "C" EncodedJSValue HTMLRewriter__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSHTMLRewriterConstructor()); - } - -JSHTMLRewriter::~JSHTMLRewriter() -{ - if (m_ctx) { - HTMLRewriterClass__finalize(m_ctx); - } -} -void JSHTMLRewriter::destroy(JSCell* cell) -{ - static_cast<JSHTMLRewriter*>(cell)->JSHTMLRewriter::~JSHTMLRewriter(); -} - -const ClassInfo JSHTMLRewriter::s_info = { "HTMLRewriter"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSHTMLRewriter) }; - -void JSHTMLRewriter::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSHTMLRewriter* JSHTMLRewriter::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSHTMLRewriter* ptr = new (NotNull, JSC::allocateCell<JSHTMLRewriter>(vm)) JSHTMLRewriter(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* HTMLRewriter__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSHTMLRewriter* object = JSC::jsDynamicCast<JSHTMLRewriter*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool HTMLRewriter__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSHTMLRewriter* object = JSC::jsDynamicCast<JSHTMLRewriter*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t HTMLRewriter__ptrOffset = JSHTMLRewriter::offsetOfWrapped(); - -void JSHTMLRewriter::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSHTMLRewriter*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSHTMLRewriter::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSHTMLRewriterConstructor::create(vm, globalObject, WebCore::JSHTMLRewriterConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSHTMLRewriterPrototype*>(prototype)); -} - -JSObject* JSHTMLRewriter::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSHTMLRewriterPrototype::create(vm, globalObject, JSHTMLRewriterPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue HTMLRewriter__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSHTMLRewriterStructure(); - JSHTMLRewriter* instance = JSHTMLRewriter::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSHTTPSServerPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSHTTPSServerPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSHTTPSServerPrototype* ptr = new (NotNull, JSC::allocateCell<JSHTTPSServerPrototype>(vm)) JSHTTPSServerPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSHTTPSServerPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSHTTPSServerPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* HTTPSServerClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsHTTPSServerConstructor); - - - - - -extern "C" void HTTPSServerClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue HTTPSServerPrototype__getAddress(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPSServerPrototype__addressGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPSServerPrototype__getDevelopment(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPSServerPrototype__developmentGetterWrap); - - -extern "C" EncodedJSValue HTTPSServerPrototype__doFetch(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPSServerPrototype__fetchCallback); - - -extern "C" JSC::EncodedJSValue HTTPSServerPrototype__getHostname(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPSServerPrototype__hostnameGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPSServerPrototype__getId(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPSServerPrototype__idGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPSServerPrototype__getPendingRequests(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPSServerPrototype__pendingRequestsGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPSServerPrototype__getPendingWebSockets(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPSServerPrototype__pendingWebSocketsGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPSServerPrototype__getPort(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPSServerPrototype__portGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPSServerPrototype__getProtocol(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPSServerPrototype__protocolGetterWrap); - - -extern "C" EncodedJSValue HTTPSServerPrototype__doPublish(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPSServerPrototype__publishCallback); - - -extern "C" EncodedJSValue HTTPSServerPrototype__doReload(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPSServerPrototype__reloadCallback); - - -extern "C" EncodedJSValue HTTPSServerPrototype__doRequestIP(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPSServerPrototype__requestIPCallback); - - -extern "C" EncodedJSValue HTTPSServerPrototype__doStop(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPSServerPrototype__stopCallback); - - -extern "C" EncodedJSValue HTTPSServerPrototype__doUpgrade(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPSServerPrototype__upgradeCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSHTTPSServerPrototype, JSHTTPSServerPrototype::Base); - - - static const HashTableValue JSHTTPSServerPrototypeTableValues[] = { -{ "address"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPSServerPrototype__addressGetterWrap, 0 } } , -{ "development"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPSServerPrototype__developmentGetterWrap, 0 } } , -{ "fetch"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPSServerPrototype__fetchCallback, 1 } } , -{ "hostname"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPSServerPrototype__hostnameGetterWrap, 0 } } , -{ "id"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPSServerPrototype__idGetterWrap, 0 } } , -{ "pendingRequests"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPSServerPrototype__pendingRequestsGetterWrap, 0 } } , -{ "pendingWebSockets"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPSServerPrototype__pendingWebSocketsGetterWrap, 0 } } , -{ "port"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPSServerPrototype__portGetterWrap, 0 } } , -{ "protocol"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPSServerPrototype__protocolGetterWrap, 0 } } , -{ "publish"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPSServerPrototype__publishCallback, 3 } } , -{ "reload"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPSServerPrototype__reloadCallback, 2 } } , -{ "requestIP"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPSServerPrototype__requestIPCallback, 1 } } , -{ "stop"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPSServerPrototype__stopCallback, 1 } } , -{ "upgrade"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPSServerPrototype__upgradeCallback, 1 } } -}; - - - -const ClassInfo JSHTTPSServerPrototype::s_info = { "HTTPSServer"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSHTTPSServerPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsHTTPSServerConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSHTTPSServerPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for HTTPSServer"_s); - return JSValue::encode(globalObject->JSHTTPSServerConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(HTTPSServerPrototype__addressGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_address.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - HTTPSServerPrototype__getAddress(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_address.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void HTTPSServerPrototype__addressSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - thisObject->m_address.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue HTTPSServerPrototype__addressGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_address.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(HTTPSServerPrototype__developmentGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPSServerPrototype__getDevelopment(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(HTTPSServerPrototype__fetchCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPSServer* thisObject = jsDynamicCast<JSHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPSServerPrototype__doFetch(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(HTTPSServerPrototype__hostnameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_hostname.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - HTTPSServerPrototype__getHostname(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_hostname.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void HTTPSServerPrototype__hostnameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - thisObject->m_hostname.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue HTTPSServerPrototype__hostnameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_hostname.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(HTTPSServerPrototype__idGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_id.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - HTTPSServerPrototype__getId(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_id.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void HTTPSServerPrototype__idSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - thisObject->m_id.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue HTTPSServerPrototype__idGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_id.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(HTTPSServerPrototype__pendingRequestsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPSServerPrototype__getPendingRequests(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(HTTPSServerPrototype__pendingWebSocketsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPSServerPrototype__getPendingWebSockets(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(HTTPSServerPrototype__portGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPSServerPrototype__getPort(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(HTTPSServerPrototype__protocolGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPSServerPrototype__getProtocol(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(HTTPSServerPrototype__publishCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPSServer* thisObject = jsDynamicCast<JSHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPSServerPrototype__doPublish(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTTPSServerPrototype__reloadCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPSServer* thisObject = jsDynamicCast<JSHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPSServerPrototype__doReload(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTTPSServerPrototype__requestIPCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPSServer* thisObject = jsDynamicCast<JSHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPSServerPrototype__doRequestIP(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTTPSServerPrototype__stopCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPSServer* thisObject = jsDynamicCast<JSHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPSServerPrototype__doStop(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTTPSServerPrototype__upgradeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPSServer* thisObject = jsDynamicCast<JSHTTPSServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPSServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPSServerPrototype__doUpgrade(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSHTTPSServerPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSHTTPSServer::info(), JSHTTPSServerPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSHTTPSServer::~JSHTTPSServer() -{ - if (m_ctx) { - HTTPSServerClass__finalize(m_ctx); - } -} -void JSHTTPSServer::destroy(JSCell* cell) -{ - static_cast<JSHTTPSServer*>(cell)->JSHTTPSServer::~JSHTTPSServer(); -} - -const ClassInfo JSHTTPSServer::s_info = { "HTTPSServer"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSHTTPSServer) }; - -void JSHTTPSServer::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSHTTPSServer* JSHTTPSServer::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSHTTPSServer* ptr = new (NotNull, JSC::allocateCell<JSHTTPSServer>(vm)) JSHTTPSServer(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* HTTPSServer__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSHTTPSServer* object = JSC::jsDynamicCast<JSHTTPSServer*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool HTTPSServer__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSHTTPSServer* object = JSC::jsDynamicCast<JSHTTPSServer*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t HTTPSServer__ptrOffset = JSHTTPSServer::offsetOfWrapped(); - -void JSHTTPSServer::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSHTTPSServer*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSHTTPSServer::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSHTTPSServerPrototype::create(vm, globalObject, JSHTTPSServerPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue HTTPSServer__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSHTTPSServerStructure(); - JSHTTPSServer* instance = JSHTTPSServer::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSHTTPSServer::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSHTTPSServer); - -template<typename Visitor> -void JSHTTPSServer::visitAdditionalChildren(Visitor& visitor) -{ - JSHTTPSServer* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_address); - visitor.append(thisObject->m_hostname); - visitor.append(thisObject->m_id); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSHTTPSServer); - -template<typename Visitor> -void JSHTTPSServer::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSHTTPSServer* thisObject = jsCast<JSHTTPSServer*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSHTTPSServer); - class JSHTTPServerPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSHTTPServerPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSHTTPServerPrototype* ptr = new (NotNull, JSC::allocateCell<JSHTTPServerPrototype>(vm)) JSHTTPServerPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSHTTPServerPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSHTTPServerPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* HTTPServerClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsHTTPServerConstructor); - - - - - -extern "C" void HTTPServerClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue HTTPServerPrototype__getAddress(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPServerPrototype__addressGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPServerPrototype__getDevelopment(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPServerPrototype__developmentGetterWrap); - - -extern "C" EncodedJSValue HTTPServerPrototype__doFetch(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPServerPrototype__fetchCallback); - - -extern "C" JSC::EncodedJSValue HTTPServerPrototype__getHostname(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPServerPrototype__hostnameGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPServerPrototype__getId(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPServerPrototype__idGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPServerPrototype__getPendingRequests(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPServerPrototype__pendingRequestsGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPServerPrototype__getPendingWebSockets(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPServerPrototype__pendingWebSocketsGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPServerPrototype__getPort(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPServerPrototype__portGetterWrap); - - -extern "C" JSC::EncodedJSValue HTTPServerPrototype__getProtocol(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(HTTPServerPrototype__protocolGetterWrap); - - -extern "C" EncodedJSValue HTTPServerPrototype__doPublish(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPServerPrototype__publishCallback); - - -extern "C" EncodedJSValue HTTPServerPrototype__doReload(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPServerPrototype__reloadCallback); - - -extern "C" EncodedJSValue HTTPServerPrototype__doRequestIP(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPServerPrototype__requestIPCallback); - - -extern "C" EncodedJSValue HTTPServerPrototype__doStop(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPServerPrototype__stopCallback); - - -extern "C" EncodedJSValue HTTPServerPrototype__doUpgrade(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(HTTPServerPrototype__upgradeCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSHTTPServerPrototype, JSHTTPServerPrototype::Base); - - - static const HashTableValue JSHTTPServerPrototypeTableValues[] = { -{ "address"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPServerPrototype__addressGetterWrap, 0 } } , -{ "development"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPServerPrototype__developmentGetterWrap, 0 } } , -{ "fetch"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPServerPrototype__fetchCallback, 1 } } , -{ "hostname"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPServerPrototype__hostnameGetterWrap, 0 } } , -{ "id"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPServerPrototype__idGetterWrap, 0 } } , -{ "pendingRequests"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPServerPrototype__pendingRequestsGetterWrap, 0 } } , -{ "pendingWebSockets"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPServerPrototype__pendingWebSocketsGetterWrap, 0 } } , -{ "port"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPServerPrototype__portGetterWrap, 0 } } , -{ "protocol"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, HTTPServerPrototype__protocolGetterWrap, 0 } } , -{ "publish"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPServerPrototype__publishCallback, 3 } } , -{ "reload"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPServerPrototype__reloadCallback, 2 } } , -{ "requestIP"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPServerPrototype__requestIPCallback, 1 } } , -{ "stop"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPServerPrototype__stopCallback, 1 } } , -{ "upgrade"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, HTTPServerPrototype__upgradeCallback, 1 } } -}; - - - -const ClassInfo JSHTTPServerPrototype::s_info = { "HTTPServer"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSHTTPServerPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsHTTPServerConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSHTTPServerPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for HTTPServer"_s); - return JSValue::encode(globalObject->JSHTTPServerConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(HTTPServerPrototype__addressGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_address.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - HTTPServerPrototype__getAddress(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_address.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void HTTPServerPrototype__addressSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - thisObject->m_address.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue HTTPServerPrototype__addressGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_address.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(HTTPServerPrototype__developmentGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPServerPrototype__getDevelopment(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(HTTPServerPrototype__fetchCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPServer* thisObject = jsDynamicCast<JSHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPServerPrototype__doFetch(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(HTTPServerPrototype__hostnameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_hostname.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - HTTPServerPrototype__getHostname(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_hostname.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void HTTPServerPrototype__hostnameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - thisObject->m_hostname.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue HTTPServerPrototype__hostnameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_hostname.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(HTTPServerPrototype__idGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_id.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - HTTPServerPrototype__getId(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_id.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void HTTPServerPrototype__idSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - thisObject->m_id.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue HTTPServerPrototype__idGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_id.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(HTTPServerPrototype__pendingRequestsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPServerPrototype__getPendingRequests(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(HTTPServerPrototype__pendingWebSocketsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPServerPrototype__getPendingWebSockets(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(HTTPServerPrototype__portGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPServerPrototype__getPort(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(HTTPServerPrototype__protocolGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = HTTPServerPrototype__getProtocol(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(HTTPServerPrototype__publishCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPServer* thisObject = jsDynamicCast<JSHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPServerPrototype__doPublish(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTTPServerPrototype__reloadCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPServer* thisObject = jsDynamicCast<JSHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPServerPrototype__doReload(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTTPServerPrototype__requestIPCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPServer* thisObject = jsDynamicCast<JSHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPServerPrototype__doRequestIP(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTTPServerPrototype__stopCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPServer* thisObject = jsDynamicCast<JSHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPServerPrototype__doStop(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(HTTPServerPrototype__upgradeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSHTTPServer* thisObject = jsDynamicCast<JSHTTPServer*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof HTTPServer"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return HTTPServerPrototype__doUpgrade(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSHTTPServerPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSHTTPServer::info(), JSHTTPServerPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSHTTPServer::~JSHTTPServer() -{ - if (m_ctx) { - HTTPServerClass__finalize(m_ctx); - } -} -void JSHTTPServer::destroy(JSCell* cell) -{ - static_cast<JSHTTPServer*>(cell)->JSHTTPServer::~JSHTTPServer(); -} - -const ClassInfo JSHTTPServer::s_info = { "HTTPServer"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSHTTPServer) }; - -void JSHTTPServer::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSHTTPServer* JSHTTPServer::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSHTTPServer* ptr = new (NotNull, JSC::allocateCell<JSHTTPServer>(vm)) JSHTTPServer(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* HTTPServer__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSHTTPServer* object = JSC::jsDynamicCast<JSHTTPServer*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool HTTPServer__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSHTTPServer* object = JSC::jsDynamicCast<JSHTTPServer*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t HTTPServer__ptrOffset = JSHTTPServer::offsetOfWrapped(); - -void JSHTTPServer::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSHTTPServer*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSHTTPServer::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSHTTPServerPrototype::create(vm, globalObject, JSHTTPServerPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue HTTPServer__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSHTTPServerStructure(); - JSHTTPServer* instance = JSHTTPServer::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSHTTPServer::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSHTTPServer); - -template<typename Visitor> -void JSHTTPServer::visitAdditionalChildren(Visitor& visitor) -{ - JSHTTPServer* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_address); - visitor.append(thisObject->m_hostname); - visitor.append(thisObject->m_id); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSHTTPServer); - -template<typename Visitor> -void JSHTTPServer::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSHTTPServer* thisObject = jsCast<JSHTTPServer*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSHTTPServer); - class JSListenerPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSListenerPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSListenerPrototype* ptr = new (NotNull, JSC::allocateCell<JSListenerPrototype>(vm)) JSListenerPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSListenerPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSListenerPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* ListenerClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsListenerConstructor); - - - - - -extern "C" void ListenerClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue ListenerPrototype__getData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ListenerPrototype__dataGetterWrap); - - -extern "C" bool ListenerPrototype__setData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::EncodedJSValue value); -JSC_DECLARE_CUSTOM_SETTER(ListenerPrototype__dataSetterWrap); - - -extern "C" JSC::EncodedJSValue ListenerPrototype__getHostname(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ListenerPrototype__hostnameGetterWrap); - - -extern "C" JSC::EncodedJSValue ListenerPrototype__getPort(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ListenerPrototype__portGetterWrap); - - -extern "C" EncodedJSValue ListenerPrototype__ref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ListenerPrototype__refCallback); - - -extern "C" EncodedJSValue ListenerPrototype__reload(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ListenerPrototype__reloadCallback); - - -extern "C" EncodedJSValue ListenerPrototype__stop(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ListenerPrototype__stopCallback); - - -extern "C" JSC::EncodedJSValue ListenerPrototype__getUnix(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ListenerPrototype__unixGetterWrap); - - -extern "C" EncodedJSValue ListenerPrototype__unref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ListenerPrototype__unrefCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSListenerPrototype, JSListenerPrototype::Base); - - - static const HashTableValue JSListenerPrototypeTableValues[] = { -{ "data"_s, static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ListenerPrototype__dataGetterWrap, ListenerPrototype__dataSetterWrap } } , -{ "hostname"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ListenerPrototype__hostnameGetterWrap, 0 } } , -{ "port"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ListenerPrototype__portGetterWrap, 0 } } , -{ "ref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ListenerPrototype__refCallback, 0 } } , -{ "reload"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ListenerPrototype__reloadCallback, 1 } } , -{ "stop"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ListenerPrototype__stopCallback, 1 } } , -{ "unix"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ListenerPrototype__unixGetterWrap, 0 } } , -{ "unref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ListenerPrototype__unrefCallback, 0 } } -}; - - - -const ClassInfo JSListenerPrototype::s_info = { "Listener"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSListenerPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsListenerConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSListenerPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Listener"_s); - return JSValue::encode(globalObject->JSListenerConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(ListenerPrototype__dataGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSListener* thisObject = jsCast<JSListener*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ListenerPrototype__getData(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_SETTER(ListenerPrototype__dataSetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSListener* thisObject = jsCast<JSListener*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - auto result = ListenerPrototype__setData(thisObject->wrapped(), lexicalGlobalObject, encodedValue); - - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(ListenerPrototype__hostnameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSListener* thisObject = jsCast<JSListener*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_hostname.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ListenerPrototype__getHostname(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_hostname.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ListenerPrototype__hostnameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSListener*>(JSValue::decode(thisValue)); - thisObject->m_hostname.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ListenerPrototype__hostnameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSListener*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_hostname.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(ListenerPrototype__portGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSListener* thisObject = jsCast<JSListener*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ListenerPrototype__getPort(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ListenerPrototype__refCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSListener* thisObject = jsDynamicCast<JSListener*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Listener"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ListenerPrototype__ref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ListenerPrototype__reloadCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSListener* thisObject = jsDynamicCast<JSListener*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Listener"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ListenerPrototype__reload(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ListenerPrototype__stopCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSListener* thisObject = jsDynamicCast<JSListener*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Listener"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ListenerPrototype__stop(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ListenerPrototype__unixGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSListener* thisObject = jsCast<JSListener*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_unix.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ListenerPrototype__getUnix(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_unix.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ListenerPrototype__unixSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSListener*>(JSValue::decode(thisValue)); - thisObject->m_unix.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ListenerPrototype__unixGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSListener*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_unix.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(ListenerPrototype__unrefCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSListener* thisObject = jsDynamicCast<JSListener*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Listener"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ListenerPrototype__unref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSListenerPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSListener::info(), JSListenerPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSListener::~JSListener() -{ - if (m_ctx) { - ListenerClass__finalize(m_ctx); - } -} -void JSListener::destroy(JSCell* cell) -{ - static_cast<JSListener*>(cell)->JSListener::~JSListener(); -} - -const ClassInfo JSListener::s_info = { "Listener"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSListener) }; - -void JSListener::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSListener* JSListener::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSListener* ptr = new (NotNull, JSC::allocateCell<JSListener>(vm)) JSListener(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Listener__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSListener* object = JSC::jsDynamicCast<JSListener*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Listener__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSListener* object = JSC::jsDynamicCast<JSListener*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Listener__ptrOffset = JSListener::offsetOfWrapped(); - -void JSListener::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSListener*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSListener::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSListenerPrototype::create(vm, globalObject, JSListenerPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Listener__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSListenerStructure(); - JSListener* instance = JSListener::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSListener::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSListener* thisObject = jsCast<JSListener*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSListener); - -template<typename Visitor> -void JSListener::visitAdditionalChildren(Visitor& visitor) -{ - JSListener* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_hostname); - visitor.append(thisObject->m_unix); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSListener); - -template<typename Visitor> -void JSListener::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSListener* thisObject = jsCast<JSListener*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSListener); - class JSMD4Prototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSMD4Prototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSMD4Prototype* ptr = new (NotNull, JSC::allocateCell<JSMD4Prototype>(vm)) JSMD4Prototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSMD4Prototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSMD4Prototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSMD4Constructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSMD4Constructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSMD4Prototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSMD4Constructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForMD4Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForMD4Constructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForMD4Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForMD4Constructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSMD4Prototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSMD4Constructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSMD4Prototype* prototype); - }; - - -extern "C" void* MD4Class__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsMD4Constructor); - - - - - -extern "C" void MD4Class__finalize(void*); - - -extern "C" JSC::EncodedJSValue MD4Prototype__getByteLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MD4Prototype__byteLengthGetterWrap); - - -extern "C" EncodedJSValue MD4Prototype__digest(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(MD4Prototype__digestCallback); - - -extern "C" EncodedJSValue MD4Prototype__update(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(MD4Prototype__updateCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSMD4Prototype, JSMD4Prototype::Base); - - - static const HashTableValue JSMD4PrototypeTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MD4Prototype__byteLengthGetterWrap, 0 } } , -{ "digest"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, MD4Prototype__digestCallback, 0 } } , -{ "update"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, MD4Prototype__updateCallback, 1 } } -}; - - - -const ClassInfo JSMD4Prototype::s_info = { "MD4"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMD4Prototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsMD4Constructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSMD4Prototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for MD4"_s); - return JSValue::encode(globalObject->JSMD4Constructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(MD4Prototype__byteLengthGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMD4* thisObject = jsCast<JSMD4*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = MD4Prototype__getByteLength(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(MD4Prototype__digestCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSMD4* thisObject = jsDynamicCast<JSMD4*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof MD4"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return MD4Prototype__digest(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(MD4Prototype__updateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSMD4* thisObject = jsDynamicCast<JSMD4*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof MD4"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return MD4Prototype__update(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSMD4Prototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSMD4::info(), JSMD4PrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_CUSTOM_GETTER(MD4Class__getByteLengthStatic); -extern "C" JSC_DECLARE_HOST_FUNCTION(MD4Class__hash); - - static const HashTableValue JSMD4ConstructorTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MD4Class__getByteLengthStatic, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, MD4Class__hash, 2 } } -}; - - -void JSMD4Constructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSMD4Prototype* prototype) -{ - Base::finishCreation(vm, 0, "MD4"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSMD4Constructor::s_info, JSMD4ConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSMD4Constructor::JSMD4Constructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSMD4Constructor* JSMD4Constructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSMD4Prototype* prototype) { - JSMD4Constructor* ptr = new (NotNull, JSC::allocateCell<JSMD4Constructor>(vm)) JSMD4Constructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSMD4Constructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSMD4Constructor(); - Structure* structure = globalObject->JSMD4Structure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSMD4Structure() - ); - } - - void* ptr = MD4Class__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSMD4* instance = JSMD4::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSMD4Constructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSMD4Prototype* prototype) -{ - -} - -const ClassInfo JSMD4Constructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMD4Constructor) }; - - - extern "C" EncodedJSValue MD4__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSMD4Constructor()); - } - -JSMD4::~JSMD4() -{ - if (m_ctx) { - MD4Class__finalize(m_ctx); - } -} -void JSMD4::destroy(JSCell* cell) -{ - static_cast<JSMD4*>(cell)->JSMD4::~JSMD4(); -} - -const ClassInfo JSMD4::s_info = { "MD4"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMD4) }; - -void JSMD4::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSMD4* JSMD4::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSMD4* ptr = new (NotNull, JSC::allocateCell<JSMD4>(vm)) JSMD4(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* MD4__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSMD4* object = JSC::jsDynamicCast<JSMD4*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool MD4__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSMD4* object = JSC::jsDynamicCast<JSMD4*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t MD4__ptrOffset = JSMD4::offsetOfWrapped(); - -void JSMD4::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSMD4*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSMD4::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSMD4Constructor::create(vm, globalObject, WebCore::JSMD4Constructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSMD4Prototype*>(prototype)); -} - -JSObject* JSMD4::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSMD4Prototype::create(vm, globalObject, JSMD4Prototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue MD4__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSMD4Structure(); - JSMD4* instance = JSMD4::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSMD5Prototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSMD5Prototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSMD5Prototype* ptr = new (NotNull, JSC::allocateCell<JSMD5Prototype>(vm)) JSMD5Prototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSMD5Prototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSMD5Prototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSMD5Constructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSMD5Constructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSMD5Prototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSMD5Constructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForMD5Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForMD5Constructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForMD5Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForMD5Constructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSMD5Prototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSMD5Constructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSMD5Prototype* prototype); - }; - - -extern "C" void* MD5Class__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsMD5Constructor); - - - - - -extern "C" void MD5Class__finalize(void*); - - -extern "C" JSC::EncodedJSValue MD5Prototype__getByteLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MD5Prototype__byteLengthGetterWrap); - - -extern "C" EncodedJSValue MD5Prototype__digest(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(MD5Prototype__digestCallback); - - -extern "C" EncodedJSValue MD5Prototype__update(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(MD5Prototype__updateCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSMD5Prototype, JSMD5Prototype::Base); - - - static const HashTableValue JSMD5PrototypeTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MD5Prototype__byteLengthGetterWrap, 0 } } , -{ "digest"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, MD5Prototype__digestCallback, 0 } } , -{ "update"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, MD5Prototype__updateCallback, 1 } } -}; - - - -const ClassInfo JSMD5Prototype::s_info = { "MD5"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMD5Prototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsMD5Constructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSMD5Prototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for MD5"_s); - return JSValue::encode(globalObject->JSMD5Constructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(MD5Prototype__byteLengthGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMD5* thisObject = jsCast<JSMD5*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = MD5Prototype__getByteLength(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(MD5Prototype__digestCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSMD5* thisObject = jsDynamicCast<JSMD5*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof MD5"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return MD5Prototype__digest(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(MD5Prototype__updateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSMD5* thisObject = jsDynamicCast<JSMD5*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof MD5"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return MD5Prototype__update(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSMD5Prototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSMD5::info(), JSMD5PrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_CUSTOM_GETTER(MD5Class__getByteLengthStatic); -extern "C" JSC_DECLARE_HOST_FUNCTION(MD5Class__hash); - - static const HashTableValue JSMD5ConstructorTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MD5Class__getByteLengthStatic, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, MD5Class__hash, 2 } } -}; - - -void JSMD5Constructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSMD5Prototype* prototype) -{ - Base::finishCreation(vm, 0, "MD5"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSMD5Constructor::s_info, JSMD5ConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSMD5Constructor::JSMD5Constructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSMD5Constructor* JSMD5Constructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSMD5Prototype* prototype) { - JSMD5Constructor* ptr = new (NotNull, JSC::allocateCell<JSMD5Constructor>(vm)) JSMD5Constructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSMD5Constructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSMD5Constructor(); - Structure* structure = globalObject->JSMD5Structure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSMD5Structure() - ); - } - - void* ptr = MD5Class__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSMD5* instance = JSMD5::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSMD5Constructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSMD5Prototype* prototype) -{ - -} - -const ClassInfo JSMD5Constructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMD5Constructor) }; - - - extern "C" EncodedJSValue MD5__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSMD5Constructor()); - } - -JSMD5::~JSMD5() -{ - if (m_ctx) { - MD5Class__finalize(m_ctx); - } -} -void JSMD5::destroy(JSCell* cell) -{ - static_cast<JSMD5*>(cell)->JSMD5::~JSMD5(); -} - -const ClassInfo JSMD5::s_info = { "MD5"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMD5) }; - -void JSMD5::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSMD5* JSMD5::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSMD5* ptr = new (NotNull, JSC::allocateCell<JSMD5>(vm)) JSMD5(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* MD5__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSMD5* object = JSC::jsDynamicCast<JSMD5*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool MD5__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSMD5* object = JSC::jsDynamicCast<JSMD5*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t MD5__ptrOffset = JSMD5::offsetOfWrapped(); - -void JSMD5::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSMD5*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSMD5::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSMD5Constructor::create(vm, globalObject, WebCore::JSMD5Constructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSMD5Prototype*>(prototype)); -} - -JSObject* JSMD5::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSMD5Prototype::create(vm, globalObject, JSMD5Prototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue MD5__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSMD5Structure(); - JSMD5* instance = JSMD5::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSMatchedRoutePrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSMatchedRoutePrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSMatchedRoutePrototype* ptr = new (NotNull, JSC::allocateCell<JSMatchedRoutePrototype>(vm)) JSMatchedRoutePrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSMatchedRoutePrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSMatchedRoutePrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* MatchedRouteClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsMatchedRouteConstructor); - - - - - -extern "C" void MatchedRouteClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue MatchedRoutePrototype__getFilePath(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MatchedRoutePrototype__filePathGetterWrap); - - -extern "C" JSC::EncodedJSValue MatchedRoutePrototype__getKind(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MatchedRoutePrototype__kindGetterWrap); - - -extern "C" JSC::EncodedJSValue MatchedRoutePrototype__getName(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MatchedRoutePrototype__nameGetterWrap); - - -extern "C" JSC::EncodedJSValue MatchedRoutePrototype__getParams(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MatchedRoutePrototype__paramsGetterWrap); - - -extern "C" JSC::EncodedJSValue MatchedRoutePrototype__getPathname(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MatchedRoutePrototype__pathnameGetterWrap); - - -extern "C" JSC::EncodedJSValue MatchedRoutePrototype__getQuery(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MatchedRoutePrototype__queryGetterWrap); - - -extern "C" JSC::EncodedJSValue MatchedRoutePrototype__getScriptSrc(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MatchedRoutePrototype__scriptSrcGetterWrap); - - -extern "C" JSC::EncodedJSValue MatchedRoutePrototype__getScriptSrc(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(MatchedRoutePrototype__srcGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSMatchedRoutePrototype, JSMatchedRoutePrototype::Base); - - - static const HashTableValue JSMatchedRoutePrototypeTableValues[] = { -{ "filePath"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MatchedRoutePrototype__filePathGetterWrap, 0 } } , -{ "kind"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MatchedRoutePrototype__kindGetterWrap, 0 } } , -{ "name"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MatchedRoutePrototype__nameGetterWrap, 0 } } , -{ "params"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MatchedRoutePrototype__paramsGetterWrap, 0 } } , -{ "pathname"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MatchedRoutePrototype__pathnameGetterWrap, 0 } } , -{ "query"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MatchedRoutePrototype__queryGetterWrap, 0 } } , -{ "scriptSrc"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MatchedRoutePrototype__scriptSrcGetterWrap, 0 } } , -{ "src"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, MatchedRoutePrototype__srcGetterWrap, 0 } } -}; - - - -const ClassInfo JSMatchedRoutePrototype::s_info = { "MatchedRoute"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMatchedRoutePrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsMatchedRouteConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSMatchedRoutePrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for MatchedRoute"_s); - return JSValue::encode(globalObject->JSMatchedRouteConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(MatchedRoutePrototype__filePathGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_filePath.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - MatchedRoutePrototype__getFilePath(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_filePath.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void MatchedRoutePrototype__filePathSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - thisObject->m_filePath.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue MatchedRoutePrototype__filePathGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_filePath.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(MatchedRoutePrototype__kindGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_kind.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - MatchedRoutePrototype__getKind(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_kind.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void MatchedRoutePrototype__kindSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - thisObject->m_kind.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue MatchedRoutePrototype__kindGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_kind.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(MatchedRoutePrototype__nameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_name.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - MatchedRoutePrototype__getName(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_name.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void MatchedRoutePrototype__nameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - thisObject->m_name.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue MatchedRoutePrototype__nameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_name.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(MatchedRoutePrototype__paramsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_params.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - MatchedRoutePrototype__getParams(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_params.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void MatchedRoutePrototype__paramsSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - thisObject->m_params.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue MatchedRoutePrototype__paramsGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_params.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(MatchedRoutePrototype__pathnameGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_pathname.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - MatchedRoutePrototype__getPathname(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_pathname.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void MatchedRoutePrototype__pathnameSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - thisObject->m_pathname.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue MatchedRoutePrototype__pathnameGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_pathname.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(MatchedRoutePrototype__queryGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_query.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - MatchedRoutePrototype__getQuery(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_query.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void MatchedRoutePrototype__querySetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - thisObject->m_query.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue MatchedRoutePrototype__queryGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_query.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(MatchedRoutePrototype__scriptSrcGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_scriptSrc.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - MatchedRoutePrototype__getScriptSrc(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_scriptSrc.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void MatchedRoutePrototype__scriptSrcSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - thisObject->m_scriptSrc.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue MatchedRoutePrototype__scriptSrcGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_scriptSrc.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(MatchedRoutePrototype__srcGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_scriptSrc.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - MatchedRoutePrototype__getScriptSrc(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_scriptSrc.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void MatchedRoutePrototype__srcSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - thisObject->m_scriptSrc.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue MatchedRoutePrototype__srcGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSMatchedRoute*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_scriptSrc.get()); - } - - - -void JSMatchedRoutePrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSMatchedRoute::info(), JSMatchedRoutePrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSMatchedRoute::~JSMatchedRoute() -{ - if (m_ctx) { - MatchedRouteClass__finalize(m_ctx); - } -} -void JSMatchedRoute::destroy(JSCell* cell) -{ - static_cast<JSMatchedRoute*>(cell)->JSMatchedRoute::~JSMatchedRoute(); -} - -const ClassInfo JSMatchedRoute::s_info = { "MatchedRoute"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSMatchedRoute) }; - -void JSMatchedRoute::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSMatchedRoute* JSMatchedRoute::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSMatchedRoute* ptr = new (NotNull, JSC::allocateCell<JSMatchedRoute>(vm)) JSMatchedRoute(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* MatchedRoute__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSMatchedRoute* object = JSC::jsDynamicCast<JSMatchedRoute*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool MatchedRoute__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSMatchedRoute* object = JSC::jsDynamicCast<JSMatchedRoute*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t MatchedRoute__ptrOffset = JSMatchedRoute::offsetOfWrapped(); - -void JSMatchedRoute::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSMatchedRoute*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSMatchedRoute::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSMatchedRoutePrototype::create(vm, globalObject, JSMatchedRoutePrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue MatchedRoute__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSMatchedRouteStructure(); - JSMatchedRoute* instance = JSMatchedRoute::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSMatchedRoute::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSMatchedRoute); - -template<typename Visitor> -void JSMatchedRoute::visitAdditionalChildren(Visitor& visitor) -{ - JSMatchedRoute* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_filePath); - visitor.append(thisObject->m_kind); - visitor.append(thisObject->m_name); - visitor.append(thisObject->m_params); - visitor.append(thisObject->m_pathname); - visitor.append(thisObject->m_query); - visitor.append(thisObject->m_scriptSrc); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSMatchedRoute); - -template<typename Visitor> -void JSMatchedRoute::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSMatchedRoute* thisObject = jsCast<JSMatchedRoute*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSMatchedRoute); - class JSNodeJSFSPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSNodeJSFSPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSNodeJSFSPrototype* ptr = new (NotNull, JSC::allocateCell<JSNodeJSFSPrototype>(vm)) JSNodeJSFSPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSNodeJSFSPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSNodeJSFSPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSNodeJSFSConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSNodeJSFSConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSNodeJSFSPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSNodeJSFSConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForNodeJSFSConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForNodeJSFSConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForNodeJSFSConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForNodeJSFSConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSNodeJSFSPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSNodeJSFSConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSNodeJSFSPrototype* prototype); - }; - - -extern "C" void* NodeJSFSClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsNodeJSFSConstructor); - - - - - -extern "C" void NodeJSFSClass__finalize(void*); - - -extern "C" EncodedJSValue NodeJSFSPrototype__access(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__accessCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__accessSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__accessSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__appendFile(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__appendFileCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__appendFileSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__appendFileSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__chmod(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__chmodCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__chmodSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__chmodSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__chown(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__chownCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__chownSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__chownSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__close(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__closeCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__closeSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__closeSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__copyFile(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__copyFileCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__copyFileSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__copyFileSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__cp(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__cpCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__cpSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__cpSyncCallback); - - -extern "C" JSC::EncodedJSValue NodeJSFSPrototype__getDirent(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(NodeJSFSPrototype__DirentGetterWrap); - - -extern "C" EncodedJSValue NodeJSFSPrototype__exists(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__existsCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__existsSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__existsSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fchmod(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fchmodCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fchmodSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fchmodSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fchown(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fchownCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fchownSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fchownSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fdatasync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fdatasyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fdatasyncSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fdatasyncSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fstat(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fstatCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fstatSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fstatSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fsync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fsyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__fsyncSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__fsyncSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__ftruncate(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__ftruncateCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__ftruncateSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__ftruncateSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__futimes(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__futimesCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__futimesSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__futimesSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__lchmod(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__lchmodCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__lchmodSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__lchmodSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__lchown(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__lchownCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__lchownSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__lchownSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__link(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__linkCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__linkSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__linkSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__lstat(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__lstatCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__lstatSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__lstatSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__lutimes(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__lutimesCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__lutimesSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__lutimesSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__mkdir(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__mkdirCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__mkdirSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__mkdirSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__mkdtemp(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__mkdtempCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__mkdtempSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__mkdtempSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__open(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__openCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__opendir(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__opendirCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__opendirSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__opendirSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__openSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__openSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__read(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__readdir(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readdirCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__readdirSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readdirSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__readFile(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readFileCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__readFileSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readFileSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__readlink(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readlinkCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__readlinkSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readlinkSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__readSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__readv(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readvCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__readvSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__readvSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__realpath(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__realpathCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__realpathSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__realpathSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__rename(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__renameCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__renameSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__renameSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__rm(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__rmCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__rmdir(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__rmdirCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__rmdirSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__rmdirSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__rmSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__rmSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__stat(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__statCallback); - - -extern "C" JSC::EncodedJSValue NodeJSFSPrototype__getStats(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(NodeJSFSPrototype__StatsGetterWrap); - - -extern "C" EncodedJSValue NodeJSFSPrototype__statSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__statSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__symlink(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__symlinkCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__symlinkSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__symlinkSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__truncate(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__truncateCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__truncateSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__truncateSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__unlink(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__unlinkCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__unlinkSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__unlinkSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__unwatchFile(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__unwatchFileCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__utimes(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__utimesCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__utimesSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__utimesSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__watch(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__watchCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__watchFile(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__watchFileCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__write(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__writeCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__writeFile(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__writeFileCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__writeFileSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__writeFileSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__writeSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__writeSyncCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__writev(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__writevCallback); - - -extern "C" EncodedJSValue NodeJSFSPrototype__writevSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(NodeJSFSPrototype__writevSyncCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSNodeJSFSPrototype, JSNodeJSFSPrototype::Base); - - - static const HashTableValue JSNodeJSFSPrototypeTableValues[] = { -{ "access"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__accessCallback, 3 } } , -{ "accessSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__accessSyncCallback, 2 } } , -{ "appendFile"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__appendFileCallback, 4 } } , -{ "appendFileSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__appendFileSyncCallback, 3 } } , -{ "chmod"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__chmodCallback, 3 } } , -{ "chmodSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__chmodSyncCallback, 2 } } , -{ "chown"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__chownCallback, 4 } } , -{ "chownSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__chownSyncCallback, 3 } } , -{ "close"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__closeCallback, 1 } } , -{ "closeSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__closeSyncCallback, 1 } } , -{ "copyFile"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__copyFileCallback, 4 } } , -{ "copyFileSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__copyFileSyncCallback, 3 } } , -{ "cp"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__cpCallback, 2 } } , -{ "cpSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__cpSyncCallback, 2 } } , -{ "Dirent"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, NodeJSFSPrototype__DirentGetterWrap, 0 } } , -{ "exists"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__existsCallback, 2 } } , -{ "existsSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__existsSyncCallback, 1 } } , -{ "fchmod"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fchmodCallback, 3 } } , -{ "fchmodSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fchmodSyncCallback, 2 } } , -{ "fchown"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fchownCallback, 4 } } , -{ "fchownSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fchownSyncCallback, 3 } } , -{ "fdatasync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fdatasyncCallback, 2 } } , -{ "fdatasyncSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fdatasyncSyncCallback, 1 } } , -{ "fstat"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fstatCallback, 1 } } , -{ "fstatSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fstatSyncCallback, 1 } } , -{ "fsync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fsyncCallback, 2 } } , -{ "fsyncSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__fsyncSyncCallback, 1 } } , -{ "ftruncate"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__ftruncateCallback, 1 } } , -{ "ftruncateSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__ftruncateSyncCallback, 1 } } , -{ "futimes"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__futimesCallback, 4 } } , -{ "futimesSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__futimesSyncCallback, 3 } } , -{ "lchmod"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__lchmodCallback, 3 } } , -{ "lchmodSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__lchmodSyncCallback, 2 } } , -{ "lchown"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__lchownCallback, 4 } } , -{ "lchownSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__lchownSyncCallback, 3 } } , -{ "link"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__linkCallback, 3 } } , -{ "linkSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__linkSyncCallback, 2 } } , -{ "lstat"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__lstatCallback, 1 } } , -{ "lstatSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__lstatSyncCallback, 1 } } , -{ "lutimes"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__lutimesCallback, 4 } } , -{ "lutimesSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__lutimesSyncCallback, 3 } } , -{ "mkdir"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__mkdirCallback, 3 } } , -{ "mkdirSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__mkdirSyncCallback, 2 } } , -{ "mkdtemp"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__mkdtempCallback, 3 } } , -{ "mkdtempSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__mkdtempSyncCallback, 2 } } , -{ "open"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__openCallback, 4 } } , -{ "opendir"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__opendirCallback, 3 } } , -{ "opendirSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__opendirSyncCallback, 2 } } , -{ "openSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__openSyncCallback, 3 } } , -{ "read"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readCallback, 6 } } , -{ "readdir"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readdirCallback, 3 } } , -{ "readdirSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readdirSyncCallback, 2 } } , -{ "readFile"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readFileCallback, 3 } } , -{ "readFileSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readFileSyncCallback, 2 } } , -{ "readlink"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readlinkCallback, 3 } } , -{ "readlinkSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readlinkSyncCallback, 2 } } , -{ "readSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readSyncCallback, 5 } } , -{ "readv"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readvCallback, 4 } } , -{ "readvSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__readvSyncCallback, 3 } } , -{ "realpath"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__realpathCallback, 3 } } , -{ "realpathSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__realpathSyncCallback, 2 } } , -{ "rename"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__renameCallback, 3 } } , -{ "renameSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__renameSyncCallback, 2 } } , -{ "rm"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__rmCallback, 3 } } , -{ "rmdir"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__rmdirCallback, 3 } } , -{ "rmdirSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__rmdirSyncCallback, 2 } } , -{ "rmSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__rmSyncCallback, 2 } } , -{ "stat"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__statCallback, 1 } } , -{ "Stats"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, NodeJSFSPrototype__StatsGetterWrap, 0 } } , -{ "statSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__statSyncCallback, 1 } } , -{ "symlink"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__symlinkCallback, 4 } } , -{ "symlinkSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__symlinkSyncCallback, 3 } } , -{ "truncate"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__truncateCallback, 3 } } , -{ "truncateSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__truncateSyncCallback, 2 } } , -{ "unlink"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__unlinkCallback, 2 } } , -{ "unlinkSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__unlinkSyncCallback, 1 } } , -{ "unwatchFile"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__unwatchFileCallback, 2 } } , -{ "utimes"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__utimesCallback, 4 } } , -{ "utimesSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__utimesSyncCallback, 3 } } , -{ "watch"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__watchCallback, 3 } } , -{ "watchFile"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__watchFileCallback, 3 } } , -{ "write"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__writeCallback, 6 } } , -{ "writeFile"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__writeFileCallback, 4 } } , -{ "writeFileSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__writeFileSyncCallback, 3 } } , -{ "writeSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__writeSyncCallback, 5 } } , -{ "writev"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__writevCallback, 4 } } , -{ "writevSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, NodeJSFSPrototype__writevSyncCallback, 3 } } -}; - - - -const ClassInfo JSNodeJSFSPrototype::s_info = { "NodeJSFS"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSNodeJSFSPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsNodeJSFSConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSNodeJSFSPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for NodeJSFS"_s); - return JSValue::encode(globalObject->JSNodeJSFSConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__accessCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__access(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__accessSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__accessSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__appendFileCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__appendFile(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__appendFileSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__appendFileSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__chmodCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__chmod(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__chmodSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__chmodSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__chownCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__chown(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__chownSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__chownSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__closeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__close(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__closeSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__closeSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__copyFileCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__copyFile(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__copyFileSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__copyFileSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__cpCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__cp(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__cpSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__cpSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(NodeJSFSPrototype__DirentGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSNodeJSFS* thisObject = jsCast<JSNodeJSFS*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = NodeJSFSPrototype__getDirent(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__existsCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__exists(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__existsSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__existsSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fchmodCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fchmod(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fchmodSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fchmodSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fchownCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fchown(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fchownSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fchownSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fdatasyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fdatasync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fdatasyncSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fdatasyncSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fstatCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fstat(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fstatSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fstatSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fsyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fsync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__fsyncSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__fsyncSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__ftruncateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__ftruncate(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__ftruncateSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__ftruncateSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__futimesCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__futimes(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__futimesSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__futimesSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__lchmodCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__lchmod(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__lchmodSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__lchmodSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__lchownCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__lchown(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__lchownSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__lchownSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__linkCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__link(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__linkSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__linkSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__lstatCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__lstat(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__lstatSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__lstatSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__lutimesCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__lutimes(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__lutimesSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__lutimesSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__mkdirCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__mkdir(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__mkdirSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__mkdirSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__mkdtempCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__mkdtemp(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__mkdtempSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__mkdtempSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__openCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__open(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__opendirCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__opendir(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__opendirSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__opendirSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__openSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__openSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__read(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readdirCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__readdir(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readdirSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__readdirSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readFileCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__readFile(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readFileSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__readFileSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readlinkCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__readlink(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readlinkSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__readlinkSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__readSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readvCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__readv(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__readvSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__readvSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__realpathCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__realpath(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__realpathSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__realpathSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__renameCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__rename(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__renameSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__renameSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__rmCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__rm(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__rmdirCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__rmdir(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__rmdirSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__rmdirSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__rmSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__rmSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__statCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__stat(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(NodeJSFSPrototype__StatsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSNodeJSFS* thisObject = jsCast<JSNodeJSFS*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = NodeJSFSPrototype__getStats(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__statSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__statSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__symlinkCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__symlink(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__symlinkSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__symlinkSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__truncateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__truncate(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__truncateSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__truncateSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__unlinkCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__unlink(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__unlinkSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__unlinkSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__unwatchFileCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__unwatchFile(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__utimesCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__utimes(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__utimesSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__utimesSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__watchCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__watch(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__watchFileCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__watchFile(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__writeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__write(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__writeFileCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__writeFile(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__writeFileSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__writeFileSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__writeSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__writeSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__writevCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__writev(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(NodeJSFSPrototype__writevSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSNodeJSFS* thisObject = jsDynamicCast<JSNodeJSFS*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof NodeJSFS"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return NodeJSFSPrototype__writevSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSNodeJSFSPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSNodeJSFS::info(), JSNodeJSFSPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSNodeJSFSConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSNodeJSFSPrototype* prototype) -{ - Base::finishCreation(vm, 0, "NodeJSFS"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSNodeJSFSConstructor::JSNodeJSFSConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSNodeJSFSConstructor* JSNodeJSFSConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSNodeJSFSPrototype* prototype) { - JSNodeJSFSConstructor* ptr = new (NotNull, JSC::allocateCell<JSNodeJSFSConstructor>(vm)) JSNodeJSFSConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSNodeJSFSConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSNodeJSFSConstructor(); - Structure* structure = globalObject->JSNodeJSFSStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSNodeJSFSStructure() - ); - } - - void* ptr = NodeJSFSClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSNodeJSFS* instance = JSNodeJSFS::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSNodeJSFSConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSNodeJSFSPrototype* prototype) -{ - -} - -const ClassInfo JSNodeJSFSConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSNodeJSFSConstructor) }; - - - extern "C" EncodedJSValue NodeJSFS__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSNodeJSFSConstructor()); - } - -JSNodeJSFS::~JSNodeJSFS() -{ -} -void JSNodeJSFS::destroy(JSCell* cell) -{ - static_cast<JSNodeJSFS*>(cell)->JSNodeJSFS::~JSNodeJSFS(); -} - -const ClassInfo JSNodeJSFS::s_info = { "NodeJSFS"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSNodeJSFS) }; - -void JSNodeJSFS::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSNodeJSFS* JSNodeJSFS::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSNodeJSFS* ptr = new (NotNull, JSC::allocateCell<JSNodeJSFS>(vm)) JSNodeJSFS(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* NodeJSFS__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSNodeJSFS* object = JSC::jsDynamicCast<JSNodeJSFS*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool NodeJSFS__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSNodeJSFS* object = JSC::jsDynamicCast<JSNodeJSFS*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t NodeJSFS__ptrOffset = JSNodeJSFS::offsetOfWrapped(); - -void JSNodeJSFS::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSNodeJSFS*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSNodeJSFS::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSNodeJSFSConstructor::create(vm, globalObject, WebCore::JSNodeJSFSConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSNodeJSFSPrototype*>(prototype)); -} - -JSObject* JSNodeJSFS::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSNodeJSFSPrototype::create(vm, globalObject, JSNodeJSFSPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue NodeJSFS__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSNodeJSFSStructure(); - JSNodeJSFS* instance = JSNodeJSFS::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSRequestPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSRequestPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSRequestPrototype* ptr = new (NotNull, JSC::allocateCell<JSRequestPrototype>(vm)) JSRequestPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSRequestPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSRequestPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSRequestConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSRequestConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSRequestPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSRequestConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForRequestConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForRequestConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForRequestConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForRequestConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSRequestPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSRequestConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSRequestPrototype* prototype); - }; - - -extern "C" void* RequestClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsRequestConstructor); - - - - - -extern "C" void RequestClass__finalize(void*); - - -extern "C" EncodedJSValue RequestPrototype__getArrayBuffer(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(RequestPrototype__arrayBufferCallback); - - -extern "C" EncodedJSValue RequestPrototype__getBlob(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(RequestPrototype__blobCallback); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getBody(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__bodyGetterWrap); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getBodyUsed(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__bodyUsedGetterWrap); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getCache(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__cacheGetterWrap); - - -extern "C" EncodedJSValue RequestPrototype__doClone(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(RequestPrototype__cloneCallback); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getCredentials(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__credentialsGetterWrap); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getDestination(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__destinationGetterWrap); - - -extern "C" EncodedJSValue RequestPrototype__getFormData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(RequestPrototype__formDataCallback); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getHeaders(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__headersGetterWrap); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getIntegrity(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__integrityGetterWrap); - - -extern "C" EncodedJSValue RequestPrototype__getJSON(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(RequestPrototype__jsonCallback); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getMethod(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__methodGetterWrap); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getMode(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__modeGetterWrap); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getRedirect(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__redirectGetterWrap); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getReferrer(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__referrerGetterWrap); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getReferrerPolicy(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__referrerPolicyGetterWrap); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getSignal(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__signalGetterWrap); - - -extern "C" EncodedJSValue RequestPrototype__getText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(RequestPrototype__textCallback); - - -extern "C" JSC::EncodedJSValue RequestPrototype__getUrl(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(RequestPrototype__urlGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSRequestPrototype, JSRequestPrototype::Base); - - - static const HashTableValue JSRequestPrototypeTableValues[] = { -{ "arrayBuffer"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, RequestPrototype__arrayBufferCallback, 0 } } , -{ "blob"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, RequestPrototype__blobCallback, 0 } } , -{ "body"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__bodyGetterWrap, 0 } } , -{ "bodyUsed"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__bodyUsedGetterWrap, 0 } } , -{ "cache"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__cacheGetterWrap, 0 } } , -{ "clone"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, RequestPrototype__cloneCallback, 1 } } , -{ "credentials"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__credentialsGetterWrap, 0 } } , -{ "destination"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__destinationGetterWrap, 0 } } , -{ "formData"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, RequestPrototype__formDataCallback, 0 } } , -{ "headers"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__headersGetterWrap, 0 } } , -{ "integrity"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__integrityGetterWrap, 0 } } , -{ "json"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, RequestPrototype__jsonCallback, 0 } } , -{ "method"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__methodGetterWrap, 0 } } , -{ "mode"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__modeGetterWrap, 0 } } , -{ "redirect"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__redirectGetterWrap, 0 } } , -{ "referrer"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__referrerGetterWrap, 0 } } , -{ "referrerPolicy"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__referrerPolicyGetterWrap, 0 } } , -{ "signal"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__signalGetterWrap, 0 } } , -{ "text"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, RequestPrototype__textCallback, 0 } } , -{ "url"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, RequestPrototype__urlGetterWrap, 0 } } -}; - - - -const ClassInfo JSRequestPrototype::s_info = { "Request"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSRequestPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsRequestConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSRequestPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Request"_s); - return JSValue::encode(globalObject->JSRequestConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(RequestPrototype__arrayBufferCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSRequest* thisObject = jsDynamicCast<JSRequest*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Request"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return RequestPrototype__getArrayBuffer(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(RequestPrototype__blobCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSRequest* thisObject = jsDynamicCast<JSRequest*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Request"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return RequestPrototype__getBlob(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__bodyGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_body.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - RequestPrototype__getBody(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_body.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void RequestPrototype__bodySetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - thisObject->m_body.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue RequestPrototype__bodyGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_body.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__bodyUsedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getBodyUsed(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__cacheGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getCache(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(RequestPrototype__cloneCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSRequest* thisObject = jsDynamicCast<JSRequest*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Request"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return RequestPrototype__doClone(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__credentialsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getCredentials(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__destinationGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getDestination(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(RequestPrototype__formDataCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSRequest* thisObject = jsDynamicCast<JSRequest*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Request"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return RequestPrototype__getFormData(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__headersGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_headers.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - RequestPrototype__getHeaders(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_headers.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void RequestPrototype__headersSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - thisObject->m_headers.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue RequestPrototype__headersGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_headers.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__integrityGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getIntegrity(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(RequestPrototype__jsonCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSRequest* thisObject = jsDynamicCast<JSRequest*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Request"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return RequestPrototype__getJSON(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__methodGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getMethod(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__modeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getMode(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__redirectGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getRedirect(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__referrerGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getReferrer(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__referrerPolicyGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = RequestPrototype__getReferrerPolicy(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__signalGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_signal.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - RequestPrototype__getSignal(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_signal.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void RequestPrototype__signalSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - thisObject->m_signal.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue RequestPrototype__signalGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_signal.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(RequestPrototype__textCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSRequest* thisObject = jsDynamicCast<JSRequest*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Request"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return RequestPrototype__getText(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(RequestPrototype__urlGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSRequest* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_url.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - RequestPrototype__getUrl(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_url.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void RequestPrototype__urlSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - thisObject->m_url.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue RequestPrototype__urlGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSRequest*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_url.get()); - } - - - -void JSRequestPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSRequest::info(), JSRequestPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" size_t Request__estimatedSize(void* ptr); - - - -void JSRequestConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSRequestPrototype* prototype) -{ - Base::finishCreation(vm, 0, "Request"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSRequestConstructor::JSRequestConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSRequestConstructor* JSRequestConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSRequestPrototype* prototype) { - JSRequestConstructor* ptr = new (NotNull, JSC::allocateCell<JSRequestConstructor>(vm)) JSRequestConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSRequestConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSRequestConstructor(); - Structure* structure = globalObject->JSRequestStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSRequestStructure() - ); - } - - void* ptr = RequestClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSRequest* instance = JSRequest::create(vm, globalObject, structure, ptr); - vm.heap.reportExtraMemoryAllocated(instance, Request__estimatedSize(instance->wrapped())); - - return JSValue::encode(instance); -} - -void JSRequestConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSRequestPrototype* prototype) -{ - -} - -const ClassInfo JSRequestConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSRequestConstructor) }; - - - extern "C" EncodedJSValue Request__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSRequestConstructor()); - } - -JSRequest::~JSRequest() -{ - if (m_ctx) { - RequestClass__finalize(m_ctx); - } -} -void JSRequest::destroy(JSCell* cell) -{ - static_cast<JSRequest*>(cell)->JSRequest::~JSRequest(); -} - -const ClassInfo JSRequest::s_info = { "Request"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSRequest) }; - -void JSRequest::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSRequest* JSRequest::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSRequest* ptr = new (NotNull, JSC::allocateCell<JSRequest>(vm)) JSRequest(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Request__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSRequest* object = JSC::jsDynamicCast<JSRequest*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Request__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSRequest* object = JSC::jsDynamicCast<JSRequest*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Request__ptrOffset = JSRequest::offsetOfWrapped(); - -void JSRequest::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSRequest*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSRequest::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSRequestConstructor::create(vm, globalObject, WebCore::JSRequestConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSRequestPrototype*>(prototype)); -} - -JSObject* JSRequest::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSRequestPrototype::create(vm, globalObject, JSRequestPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Request__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSRequestStructure(); - JSRequest* instance = JSRequest::create(vm, globalObject, structure, ptr); - vm.heap.reportExtraMemoryAllocated(instance, Request__estimatedSize(ptr)); - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSRequest::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSRequest* thisObject = jsCast<JSRequest*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - if (auto* ptr = thisObject->wrapped()) { -visitor.reportExtraMemoryVisited(Request__estimatedSize(ptr)); -} - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSRequest); - -template<typename Visitor> -void JSRequest::visitAdditionalChildren(Visitor& visitor) -{ - JSRequest* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_body); - visitor.append(thisObject->m_headers); - visitor.append(thisObject->m_signal); - visitor.append(thisObject->m_url); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSRequest); - -template<typename Visitor> -void JSRequest::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSRequest* thisObject = jsCast<JSRequest*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSRequest); - class JSResolveMessagePrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSResolveMessagePrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSResolveMessagePrototype* ptr = new (NotNull, JSC::allocateCell<JSResolveMessagePrototype>(vm)) JSResolveMessagePrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSResolveMessagePrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSResolveMessagePrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSResolveMessageConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSResolveMessageConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSResolveMessagePrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSResolveMessageConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForResolveMessageConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForResolveMessageConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForResolveMessageConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForResolveMessageConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSResolveMessagePrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSResolveMessageConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSResolveMessagePrototype* prototype); - }; - - -extern "C" void* ResolveMessageClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsResolveMessageConstructor); - - - - - -extern "C" void ResolveMessageClass__finalize(void*); - - -extern "C" EncodedJSValue ResolveMessagePrototype__toPrimitive(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ResolveMessagePrototype__toPrimitiveCallback); - - -extern "C" JSC::EncodedJSValue ResolveMessagePrototype__getCode(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResolveMessagePrototype__codeGetterWrap); - - -extern "C" JSC::EncodedJSValue ResolveMessagePrototype__getImportKind(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResolveMessagePrototype__importKindGetterWrap); - - -extern "C" JSC::EncodedJSValue ResolveMessagePrototype__getLevel(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResolveMessagePrototype__levelGetterWrap); - - -extern "C" JSC::EncodedJSValue ResolveMessagePrototype__getMessage(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResolveMessagePrototype__messageGetterWrap); - - -extern "C" JSC::EncodedJSValue ResolveMessagePrototype__getPosition(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResolveMessagePrototype__positionGetterWrap); - - -extern "C" JSC::EncodedJSValue ResolveMessagePrototype__getReferrer(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResolveMessagePrototype__referrerGetterWrap); - - -extern "C" JSC::EncodedJSValue ResolveMessagePrototype__getSpecifier(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResolveMessagePrototype__specifierGetterWrap); - - -extern "C" EncodedJSValue ResolveMessagePrototype__toJSON(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ResolveMessagePrototype__toJSONCallback); - - -extern "C" EncodedJSValue ResolveMessagePrototype__toString(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ResolveMessagePrototype__toStringCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSResolveMessagePrototype, JSResolveMessagePrototype::Base); - - - static const HashTableValue JSResolveMessagePrototypeTableValues[] = { -{ "code"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResolveMessagePrototype__codeGetterWrap, 0 } } , -{ "importKind"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResolveMessagePrototype__importKindGetterWrap, 0 } } , -{ "level"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResolveMessagePrototype__levelGetterWrap, 0 } } , -{ "message"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResolveMessagePrototype__messageGetterWrap, 0 } } , -{ "position"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResolveMessagePrototype__positionGetterWrap, 0 } } , -{ "referrer"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResolveMessagePrototype__referrerGetterWrap, 0 } } , -{ "specifier"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResolveMessagePrototype__specifierGetterWrap, 0 } } , -{ "toJSON"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResolveMessagePrototype__toJSONCallback, 0 } } , -{ "toString"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResolveMessagePrototype__toStringCallback, 0 } } -}; - - - -const ClassInfo JSResolveMessagePrototype::s_info = { "ResolveMessage"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSResolveMessagePrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsResolveMessageConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSResolveMessagePrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for ResolveMessage"_s); - return JSValue::encode(globalObject->JSResolveMessageConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(ResolveMessagePrototype__toPrimitiveCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSResolveMessage* thisObject = jsDynamicCast<JSResolveMessage*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ResolveMessage"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ResolveMessagePrototype__toPrimitive(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ResolveMessagePrototype__codeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResolveMessage* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_code.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResolveMessagePrototype__getCode(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_code.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResolveMessagePrototype__codeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - thisObject->m_code.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResolveMessagePrototype__codeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_code.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(ResolveMessagePrototype__importKindGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResolveMessage* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_importKind.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResolveMessagePrototype__getImportKind(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_importKind.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResolveMessagePrototype__importKindSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - thisObject->m_importKind.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResolveMessagePrototype__importKindGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_importKind.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(ResolveMessagePrototype__levelGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResolveMessage* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_level.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResolveMessagePrototype__getLevel(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_level.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResolveMessagePrototype__levelSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - thisObject->m_level.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResolveMessagePrototype__levelGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_level.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(ResolveMessagePrototype__messageGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResolveMessage* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_message.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResolveMessagePrototype__getMessage(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_message.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResolveMessagePrototype__messageSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - thisObject->m_message.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResolveMessagePrototype__messageGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_message.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(ResolveMessagePrototype__positionGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResolveMessage* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_position.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResolveMessagePrototype__getPosition(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_position.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResolveMessagePrototype__positionSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - thisObject->m_position.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResolveMessagePrototype__positionGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_position.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(ResolveMessagePrototype__referrerGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResolveMessage* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_referrer.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResolveMessagePrototype__getReferrer(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_referrer.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResolveMessagePrototype__referrerSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - thisObject->m_referrer.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResolveMessagePrototype__referrerGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_referrer.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(ResolveMessagePrototype__specifierGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResolveMessage* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_specifier.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResolveMessagePrototype__getSpecifier(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_specifier.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResolveMessagePrototype__specifierSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - thisObject->m_specifier.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResolveMessagePrototype__specifierGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResolveMessage*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_specifier.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(ResolveMessagePrototype__toJSONCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSResolveMessage* thisObject = jsDynamicCast<JSResolveMessage*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ResolveMessage"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ResolveMessagePrototype__toJSON(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ResolveMessagePrototype__toStringCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSResolveMessage* thisObject = jsDynamicCast<JSResolveMessage*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ResolveMessage"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ResolveMessagePrototype__toString(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSResolveMessagePrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSResolveMessage::info(), JSResolveMessagePrototypeTableValues, *this); - this->putDirect(vm, vm.propertyNames->toPrimitiveSymbol, JSFunction::create(vm, globalObject, 1, String("toPrimitive"_s), ResolveMessagePrototype__toPrimitiveCallback, ImplementationVisibility::Public), PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum | 0); - this->putDirect(vm, vm.propertyNames->name, jsString(vm, String("ResolveMessage"_s)), PropertyAttribute::ReadOnly | 0); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSResolveMessageConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSResolveMessagePrototype* prototype) -{ - Base::finishCreation(vm, 0, "ResolveMessage"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSResolveMessageConstructor::JSResolveMessageConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSResolveMessageConstructor* JSResolveMessageConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSResolveMessagePrototype* prototype) { - JSResolveMessageConstructor* ptr = new (NotNull, JSC::allocateCell<JSResolveMessageConstructor>(vm)) JSResolveMessageConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSResolveMessageConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSResolveMessageConstructor(); - Structure* structure = globalObject->JSResolveMessageStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSResolveMessageStructure() - ); - } - - void* ptr = ResolveMessageClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSResolveMessage* instance = JSResolveMessage::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSResolveMessageConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSResolveMessagePrototype* prototype) -{ - -} - -const ClassInfo JSResolveMessageConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSResolveMessageConstructor) }; - - - extern "C" EncodedJSValue ResolveMessage__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSResolveMessageConstructor()); - } - -JSResolveMessage::~JSResolveMessage() -{ - if (m_ctx) { - ResolveMessageClass__finalize(m_ctx); - } -} -void JSResolveMessage::destroy(JSCell* cell) -{ - static_cast<JSResolveMessage*>(cell)->JSResolveMessage::~JSResolveMessage(); -} - -const ClassInfo JSResolveMessage::s_info = { "ResolveMessage"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSResolveMessage) }; - -void JSResolveMessage::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSResolveMessage* JSResolveMessage::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSResolveMessage* ptr = new (NotNull, JSC::allocateCell<JSResolveMessage>(vm)) JSResolveMessage(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* ResolveMessage__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSResolveMessage* object = JSC::jsDynamicCast<JSResolveMessage*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool ResolveMessage__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSResolveMessage* object = JSC::jsDynamicCast<JSResolveMessage*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t ResolveMessage__ptrOffset = JSResolveMessage::offsetOfWrapped(); - -void JSResolveMessage::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSResolveMessage*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSResolveMessage::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSResolveMessageConstructor::create(vm, globalObject, WebCore::JSResolveMessageConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSResolveMessagePrototype*>(prototype)); -} - -JSObject* JSResolveMessage::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSResolveMessagePrototype::create(vm, globalObject, JSResolveMessagePrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue ResolveMessage__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSResolveMessageStructure(); - JSResolveMessage* instance = JSResolveMessage::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSResolveMessage::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSResolveMessage* thisObject = jsCast<JSResolveMessage*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSResolveMessage); - -template<typename Visitor> -void JSResolveMessage::visitAdditionalChildren(Visitor& visitor) -{ - JSResolveMessage* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_code); - visitor.append(thisObject->m_importKind); - visitor.append(thisObject->m_level); - visitor.append(thisObject->m_message); - visitor.append(thisObject->m_position); - visitor.append(thisObject->m_referrer); - visitor.append(thisObject->m_specifier); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSResolveMessage); - -template<typename Visitor> -void JSResolveMessage::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSResolveMessage* thisObject = jsCast<JSResolveMessage*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSResolveMessage); - class JSResponsePrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSResponsePrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSResponsePrototype* ptr = new (NotNull, JSC::allocateCell<JSResponsePrototype>(vm)) JSResponsePrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSResponsePrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSResponsePrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSResponseConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSResponseConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSResponsePrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSResponseConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForResponseConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForResponseConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForResponseConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForResponseConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSResponsePrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSResponseConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSResponsePrototype* prototype); - }; - - -extern "C" void* ResponseClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsResponseConstructor); - - - - - -extern "C" void ResponseClass__finalize(void*); - - -extern "C" EncodedJSValue ResponsePrototype__getArrayBuffer(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ResponsePrototype__arrayBufferCallback); - - -extern "C" EncodedJSValue ResponsePrototype__getBlob(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ResponsePrototype__blobCallback); - - -extern "C" JSC::EncodedJSValue ResponsePrototype__getBody(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResponsePrototype__bodyGetterWrap); - - -extern "C" JSC::EncodedJSValue ResponsePrototype__getBodyUsed(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResponsePrototype__bodyUsedGetterWrap); - - -extern "C" EncodedJSValue ResponsePrototype__doClone(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ResponsePrototype__cloneCallback); - - -extern "C" EncodedJSValue ResponsePrototype__getFormData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ResponsePrototype__formDataCallback); - - -extern "C" JSC::EncodedJSValue ResponsePrototype__getHeaders(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResponsePrototype__headersGetterWrap); - - -extern "C" EncodedJSValue ResponsePrototype__getJSON(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ResponsePrototype__jsonCallback); - - -extern "C" JSC::EncodedJSValue ResponsePrototype__getOK(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResponsePrototype__okGetterWrap); - - -extern "C" JSC::EncodedJSValue ResponsePrototype__getRedirected(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResponsePrototype__redirectedGetterWrap); - - -extern "C" JSC::EncodedJSValue ResponsePrototype__getStatus(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResponsePrototype__statusGetterWrap); - - -extern "C" JSC::EncodedJSValue ResponsePrototype__getStatusText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResponsePrototype__statusTextGetterWrap); - - -extern "C" EncodedJSValue ResponsePrototype__getText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ResponsePrototype__textCallback); - - -extern "C" JSC::EncodedJSValue ResponsePrototype__getResponseType(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResponsePrototype__typeGetterWrap); - - -extern "C" JSC::EncodedJSValue ResponsePrototype__getURL(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ResponsePrototype__urlGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSResponsePrototype, JSResponsePrototype::Base); - - - static const HashTableValue JSResponsePrototypeTableValues[] = { -{ "arrayBuffer"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResponsePrototype__arrayBufferCallback, 0 } } , -{ "blob"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResponsePrototype__blobCallback, 0 } } , -{ "body"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResponsePrototype__bodyGetterWrap, 0 } } , -{ "bodyUsed"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResponsePrototype__bodyUsedGetterWrap, 0 } } , -{ "clone"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResponsePrototype__cloneCallback, 1 } } , -{ "formData"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResponsePrototype__formDataCallback, 0 } } , -{ "headers"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResponsePrototype__headersGetterWrap, 0 } } , -{ "json"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResponsePrototype__jsonCallback, 0 } } , -{ "ok"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResponsePrototype__okGetterWrap, 0 } } , -{ "redirected"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResponsePrototype__redirectedGetterWrap, 0 } } , -{ "status"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResponsePrototype__statusGetterWrap, 0 } } , -{ "statusText"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResponsePrototype__statusTextGetterWrap, 0 } } , -{ "text"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResponsePrototype__textCallback, 0 } } , -{ "type"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResponsePrototype__typeGetterWrap, 0 } } , -{ "url"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ResponsePrototype__urlGetterWrap, 0 } } -}; - - - -const ClassInfo JSResponsePrototype::s_info = { "Response"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSResponsePrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsResponseConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSResponsePrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Response"_s); - return JSValue::encode(globalObject->JSResponseConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(ResponsePrototype__arrayBufferCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSResponse* thisObject = jsDynamicCast<JSResponse*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Response"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ResponsePrototype__getArrayBuffer(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ResponsePrototype__blobCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSResponse* thisObject = jsDynamicCast<JSResponse*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Response"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ResponsePrototype__getBlob(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ResponsePrototype__bodyGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResponse* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_body.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResponsePrototype__getBody(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_body.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResponsePrototype__bodySetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - thisObject->m_body.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResponsePrototype__bodyGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_body.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(ResponsePrototype__bodyUsedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResponse* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ResponsePrototype__getBodyUsed(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ResponsePrototype__cloneCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSResponse* thisObject = jsDynamicCast<JSResponse*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Response"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ResponsePrototype__doClone(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ResponsePrototype__formDataCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSResponse* thisObject = jsDynamicCast<JSResponse*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Response"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ResponsePrototype__getFormData(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ResponsePrototype__headersGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResponse* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_headers.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResponsePrototype__getHeaders(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_headers.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResponsePrototype__headersSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - thisObject->m_headers.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResponsePrototype__headersGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_headers.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(ResponsePrototype__jsonCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSResponse* thisObject = jsDynamicCast<JSResponse*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Response"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ResponsePrototype__getJSON(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ResponsePrototype__okGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResponse* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ResponsePrototype__getOK(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(ResponsePrototype__redirectedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResponse* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ResponsePrototype__getRedirected(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(ResponsePrototype__statusGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResponse* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ResponsePrototype__getStatus(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(ResponsePrototype__statusTextGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResponse* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_statusText.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResponsePrototype__getStatusText(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_statusText.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResponsePrototype__statusTextSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - thisObject->m_statusText.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResponsePrototype__statusTextGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_statusText.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(ResponsePrototype__textCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSResponse* thisObject = jsDynamicCast<JSResponse*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Response"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ResponsePrototype__getText(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ResponsePrototype__typeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResponse* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ResponsePrototype__getResponseType(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(ResponsePrototype__urlGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSResponse* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_url.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ResponsePrototype__getURL(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_url.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ResponsePrototype__urlSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - thisObject->m_url.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ResponsePrototype__urlGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSResponse*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_url.get()); - } - - - -void JSResponsePrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSResponse::info(), JSResponsePrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" size_t Response__estimatedSize(void* ptr); -extern "C" JSC_DECLARE_HOST_FUNCTION(ResponseClass__constructError); -extern "C" JSC_DECLARE_HOST_FUNCTION(ResponseClass__constructJSON); -extern "C" JSC_DECLARE_HOST_FUNCTION(ResponseClass__constructRedirect); - - static const HashTableValue JSResponseConstructorTableValues[] = { -{ "error"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResponseClass__constructError, 0 } } , -{ "json"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResponseClass__constructJSON, 0 } } , -{ "redirect"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ResponseClass__constructRedirect, 0 } } -}; - - -void JSResponseConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSResponsePrototype* prototype) -{ - Base::finishCreation(vm, 0, "Response"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSResponseConstructor::s_info, JSResponseConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSResponseConstructor::JSResponseConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSResponseConstructor* JSResponseConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSResponsePrototype* prototype) { - JSResponseConstructor* ptr = new (NotNull, JSC::allocateCell<JSResponseConstructor>(vm)) JSResponseConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSResponseConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSResponseConstructor(); - Structure* structure = globalObject->JSResponseStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSResponseStructure() - ); - } - - void* ptr = ResponseClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSResponse* instance = JSResponse::create(vm, globalObject, structure, ptr); - vm.heap.reportExtraMemoryAllocated(instance, Response__estimatedSize(instance->wrapped())); - - return JSValue::encode(instance); -} - -void JSResponseConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSResponsePrototype* prototype) -{ - -} - -const ClassInfo JSResponseConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSResponseConstructor) }; - - - extern "C" EncodedJSValue Response__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSResponseConstructor()); - } - -JSResponse::~JSResponse() -{ - if (m_ctx) { - ResponseClass__finalize(m_ctx); - } -} -void JSResponse::destroy(JSCell* cell) -{ - static_cast<JSResponse*>(cell)->JSResponse::~JSResponse(); -} - -const ClassInfo JSResponse::s_info = { "Response"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSResponse) }; - -void JSResponse::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSResponse* JSResponse::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSResponse* ptr = new (NotNull, JSC::allocateCell<JSResponse>(vm)) JSResponse(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Response__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSResponse* object = JSC::jsDynamicCast<JSResponse*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Response__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSResponse* object = JSC::jsDynamicCast<JSResponse*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Response__ptrOffset = JSResponse::offsetOfWrapped(); - -void JSResponse::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSResponse*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSResponse::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSResponseConstructor::create(vm, globalObject, WebCore::JSResponseConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSResponsePrototype*>(prototype)); -} - -JSObject* JSResponse::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSResponsePrototype::create(vm, globalObject, JSResponsePrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Response__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSResponseStructure(); - JSResponse* instance = JSResponse::create(vm, globalObject, structure, ptr); - vm.heap.reportExtraMemoryAllocated(instance, Response__estimatedSize(ptr)); - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSResponse::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSResponse* thisObject = jsCast<JSResponse*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - if (auto* ptr = thisObject->wrapped()) { -visitor.reportExtraMemoryVisited(Response__estimatedSize(ptr)); -} - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSResponse); - -template<typename Visitor> -void JSResponse::visitAdditionalChildren(Visitor& visitor) -{ - JSResponse* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_body); - visitor.append(thisObject->m_headers); - visitor.append(thisObject->m_statusText); - visitor.append(thisObject->m_url); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSResponse); - -template<typename Visitor> -void JSResponse::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSResponse* thisObject = jsCast<JSResponse*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSResponse); - class JSSHA1Prototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSSHA1Prototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSSHA1Prototype* ptr = new (NotNull, JSC::allocateCell<JSSHA1Prototype>(vm)) JSSHA1Prototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA1Prototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSSHA1Prototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSSHA1Constructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSSHA1Constructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA1Prototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA1Constructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA1Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA1Constructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA1Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA1Constructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSSHA1Prototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSSHA1Constructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSSHA1Prototype* prototype); - }; - - -extern "C" void* SHA1Class__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsSHA1Constructor); - - - - - -extern "C" void SHA1Class__finalize(void*); - - -extern "C" JSC::EncodedJSValue SHA1Prototype__getByteLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SHA1Prototype__byteLengthGetterWrap); - - -extern "C" EncodedJSValue SHA1Prototype__digest(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA1Prototype__digestCallback); - - -extern "C" EncodedJSValue SHA1Prototype__update(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA1Prototype__updateCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA1Prototype, JSSHA1Prototype::Base); - - - static const HashTableValue JSSHA1PrototypeTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA1Prototype__byteLengthGetterWrap, 0 } } , -{ "digest"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA1Prototype__digestCallback, 0 } } , -{ "update"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA1Prototype__updateCallback, 1 } } -}; - - - -const ClassInfo JSSHA1Prototype::s_info = { "SHA1"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA1Prototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsSHA1Constructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSSHA1Prototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for SHA1"_s); - return JSValue::encode(globalObject->JSSHA1Constructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(SHA1Prototype__byteLengthGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSHA1* thisObject = jsCast<JSSHA1*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SHA1Prototype__getByteLength(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(SHA1Prototype__digestCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA1* thisObject = jsDynamicCast<JSSHA1*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA1"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA1Prototype__digest(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(SHA1Prototype__updateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA1* thisObject = jsDynamicCast<JSSHA1*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA1"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA1Prototype__update(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSSHA1Prototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSSHA1::info(), JSSHA1PrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_CUSTOM_GETTER(SHA1Class__getByteLengthStatic); -extern "C" JSC_DECLARE_HOST_FUNCTION(SHA1Class__hash); - - static const HashTableValue JSSHA1ConstructorTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA1Class__getByteLengthStatic, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA1Class__hash, 2 } } -}; - - -void JSSHA1Constructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA1Prototype* prototype) -{ - Base::finishCreation(vm, 0, "SHA1"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSSHA1Constructor::s_info, JSSHA1ConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSSHA1Constructor::JSSHA1Constructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSSHA1Constructor* JSSHA1Constructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA1Prototype* prototype) { - JSSHA1Constructor* ptr = new (NotNull, JSC::allocateCell<JSSHA1Constructor>(vm)) JSSHA1Constructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSSHA1Constructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSSHA1Constructor(); - Structure* structure = globalObject->JSSHA1Structure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSSHA1Structure() - ); - } - - void* ptr = SHA1Class__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSSHA1* instance = JSSHA1::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSSHA1Constructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA1Prototype* prototype) -{ - -} - -const ClassInfo JSSHA1Constructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA1Constructor) }; - - - extern "C" EncodedJSValue SHA1__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSSHA1Constructor()); - } - -JSSHA1::~JSSHA1() -{ - if (m_ctx) { - SHA1Class__finalize(m_ctx); - } -} -void JSSHA1::destroy(JSCell* cell) -{ - static_cast<JSSHA1*>(cell)->JSSHA1::~JSSHA1(); -} - -const ClassInfo JSSHA1::s_info = { "SHA1"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA1) }; - -void JSSHA1::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSSHA1* JSSHA1::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSSHA1* ptr = new (NotNull, JSC::allocateCell<JSSHA1>(vm)) JSSHA1(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* SHA1__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSSHA1* object = JSC::jsDynamicCast<JSSHA1*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool SHA1__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSSHA1* object = JSC::jsDynamicCast<JSSHA1*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t SHA1__ptrOffset = JSSHA1::offsetOfWrapped(); - -void JSSHA1::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSSHA1*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSSHA1::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSSHA1Constructor::create(vm, globalObject, WebCore::JSSHA1Constructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSSHA1Prototype*>(prototype)); -} - -JSObject* JSSHA1::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSSHA1Prototype::create(vm, globalObject, JSSHA1Prototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue SHA1__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSSHA1Structure(); - JSSHA1* instance = JSSHA1::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSSHA224Prototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSSHA224Prototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSSHA224Prototype* ptr = new (NotNull, JSC::allocateCell<JSSHA224Prototype>(vm)) JSSHA224Prototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA224Prototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSSHA224Prototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSSHA224Constructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSSHA224Constructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA224Prototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA224Constructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA224Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA224Constructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA224Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA224Constructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSSHA224Prototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSSHA224Constructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSSHA224Prototype* prototype); - }; - - -extern "C" void* SHA224Class__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsSHA224Constructor); - - - - - -extern "C" void SHA224Class__finalize(void*); - - -extern "C" JSC::EncodedJSValue SHA224Prototype__getByteLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SHA224Prototype__byteLengthGetterWrap); - - -extern "C" EncodedJSValue SHA224Prototype__digest(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA224Prototype__digestCallback); - - -extern "C" EncodedJSValue SHA224Prototype__update(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA224Prototype__updateCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA224Prototype, JSSHA224Prototype::Base); - - - static const HashTableValue JSSHA224PrototypeTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA224Prototype__byteLengthGetterWrap, 0 } } , -{ "digest"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA224Prototype__digestCallback, 0 } } , -{ "update"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA224Prototype__updateCallback, 1 } } -}; - - - -const ClassInfo JSSHA224Prototype::s_info = { "SHA224"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA224Prototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsSHA224Constructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSSHA224Prototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for SHA224"_s); - return JSValue::encode(globalObject->JSSHA224Constructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(SHA224Prototype__byteLengthGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSHA224* thisObject = jsCast<JSSHA224*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SHA224Prototype__getByteLength(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(SHA224Prototype__digestCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA224* thisObject = jsDynamicCast<JSSHA224*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA224"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA224Prototype__digest(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(SHA224Prototype__updateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA224* thisObject = jsDynamicCast<JSSHA224*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA224"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA224Prototype__update(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSSHA224Prototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSSHA224::info(), JSSHA224PrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_CUSTOM_GETTER(SHA224Class__getByteLengthStatic); -extern "C" JSC_DECLARE_HOST_FUNCTION(SHA224Class__hash); - - static const HashTableValue JSSHA224ConstructorTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA224Class__getByteLengthStatic, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA224Class__hash, 2 } } -}; - - -void JSSHA224Constructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA224Prototype* prototype) -{ - Base::finishCreation(vm, 0, "SHA224"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSSHA224Constructor::s_info, JSSHA224ConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSSHA224Constructor::JSSHA224Constructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSSHA224Constructor* JSSHA224Constructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA224Prototype* prototype) { - JSSHA224Constructor* ptr = new (NotNull, JSC::allocateCell<JSSHA224Constructor>(vm)) JSSHA224Constructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSSHA224Constructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSSHA224Constructor(); - Structure* structure = globalObject->JSSHA224Structure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSSHA224Structure() - ); - } - - void* ptr = SHA224Class__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSSHA224* instance = JSSHA224::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSSHA224Constructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA224Prototype* prototype) -{ - -} - -const ClassInfo JSSHA224Constructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA224Constructor) }; - - - extern "C" EncodedJSValue SHA224__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSSHA224Constructor()); - } - -JSSHA224::~JSSHA224() -{ - if (m_ctx) { - SHA224Class__finalize(m_ctx); - } -} -void JSSHA224::destroy(JSCell* cell) -{ - static_cast<JSSHA224*>(cell)->JSSHA224::~JSSHA224(); -} - -const ClassInfo JSSHA224::s_info = { "SHA224"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA224) }; - -void JSSHA224::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSSHA224* JSSHA224::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSSHA224* ptr = new (NotNull, JSC::allocateCell<JSSHA224>(vm)) JSSHA224(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* SHA224__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSSHA224* object = JSC::jsDynamicCast<JSSHA224*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool SHA224__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSSHA224* object = JSC::jsDynamicCast<JSSHA224*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t SHA224__ptrOffset = JSSHA224::offsetOfWrapped(); - -void JSSHA224::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSSHA224*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSSHA224::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSSHA224Constructor::create(vm, globalObject, WebCore::JSSHA224Constructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSSHA224Prototype*>(prototype)); -} - -JSObject* JSSHA224::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSSHA224Prototype::create(vm, globalObject, JSSHA224Prototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue SHA224__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSSHA224Structure(); - JSSHA224* instance = JSSHA224::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSSHA256Prototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSSHA256Prototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSSHA256Prototype* ptr = new (NotNull, JSC::allocateCell<JSSHA256Prototype>(vm)) JSSHA256Prototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA256Prototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSSHA256Prototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSSHA256Constructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSSHA256Constructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA256Prototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA256Constructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA256Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA256Constructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA256Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA256Constructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSSHA256Prototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSSHA256Constructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSSHA256Prototype* prototype); - }; - - -extern "C" void* SHA256Class__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsSHA256Constructor); - - - - - -extern "C" void SHA256Class__finalize(void*); - - -extern "C" JSC::EncodedJSValue SHA256Prototype__getByteLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SHA256Prototype__byteLengthGetterWrap); - - -extern "C" EncodedJSValue SHA256Prototype__digest(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA256Prototype__digestCallback); - - -extern "C" EncodedJSValue SHA256Prototype__update(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA256Prototype__updateCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA256Prototype, JSSHA256Prototype::Base); - - - static const HashTableValue JSSHA256PrototypeTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA256Prototype__byteLengthGetterWrap, 0 } } , -{ "digest"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA256Prototype__digestCallback, 0 } } , -{ "update"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA256Prototype__updateCallback, 1 } } -}; - - - -const ClassInfo JSSHA256Prototype::s_info = { "SHA256"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA256Prototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsSHA256Constructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSSHA256Prototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for SHA256"_s); - return JSValue::encode(globalObject->JSSHA256Constructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(SHA256Prototype__byteLengthGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSHA256* thisObject = jsCast<JSSHA256*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SHA256Prototype__getByteLength(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(SHA256Prototype__digestCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA256* thisObject = jsDynamicCast<JSSHA256*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA256"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA256Prototype__digest(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(SHA256Prototype__updateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA256* thisObject = jsDynamicCast<JSSHA256*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA256"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA256Prototype__update(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSSHA256Prototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSSHA256::info(), JSSHA256PrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_CUSTOM_GETTER(SHA256Class__getByteLengthStatic); -extern "C" JSC_DECLARE_HOST_FUNCTION(SHA256Class__hash); - - static const HashTableValue JSSHA256ConstructorTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA256Class__getByteLengthStatic, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA256Class__hash, 2 } } -}; - - -void JSSHA256Constructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA256Prototype* prototype) -{ - Base::finishCreation(vm, 0, "SHA256"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSSHA256Constructor::s_info, JSSHA256ConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSSHA256Constructor::JSSHA256Constructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSSHA256Constructor* JSSHA256Constructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA256Prototype* prototype) { - JSSHA256Constructor* ptr = new (NotNull, JSC::allocateCell<JSSHA256Constructor>(vm)) JSSHA256Constructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSSHA256Constructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSSHA256Constructor(); - Structure* structure = globalObject->JSSHA256Structure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSSHA256Structure() - ); - } - - void* ptr = SHA256Class__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSSHA256* instance = JSSHA256::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSSHA256Constructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA256Prototype* prototype) -{ - -} - -const ClassInfo JSSHA256Constructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA256Constructor) }; - - - extern "C" EncodedJSValue SHA256__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSSHA256Constructor()); - } - -JSSHA256::~JSSHA256() -{ - if (m_ctx) { - SHA256Class__finalize(m_ctx); - } -} -void JSSHA256::destroy(JSCell* cell) -{ - static_cast<JSSHA256*>(cell)->JSSHA256::~JSSHA256(); -} - -const ClassInfo JSSHA256::s_info = { "SHA256"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA256) }; - -void JSSHA256::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSSHA256* JSSHA256::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSSHA256* ptr = new (NotNull, JSC::allocateCell<JSSHA256>(vm)) JSSHA256(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* SHA256__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSSHA256* object = JSC::jsDynamicCast<JSSHA256*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool SHA256__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSSHA256* object = JSC::jsDynamicCast<JSSHA256*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t SHA256__ptrOffset = JSSHA256::offsetOfWrapped(); - -void JSSHA256::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSSHA256*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSSHA256::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSSHA256Constructor::create(vm, globalObject, WebCore::JSSHA256Constructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSSHA256Prototype*>(prototype)); -} - -JSObject* JSSHA256::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSSHA256Prototype::create(vm, globalObject, JSSHA256Prototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue SHA256__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSSHA256Structure(); - JSSHA256* instance = JSSHA256::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSSHA384Prototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSSHA384Prototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSSHA384Prototype* ptr = new (NotNull, JSC::allocateCell<JSSHA384Prototype>(vm)) JSSHA384Prototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA384Prototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSSHA384Prototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSSHA384Constructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSSHA384Constructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA384Prototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA384Constructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA384Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA384Constructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA384Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA384Constructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSSHA384Prototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSSHA384Constructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSSHA384Prototype* prototype); - }; - - -extern "C" void* SHA384Class__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsSHA384Constructor); - - - - - -extern "C" void SHA384Class__finalize(void*); - - -extern "C" JSC::EncodedJSValue SHA384Prototype__getByteLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SHA384Prototype__byteLengthGetterWrap); - - -extern "C" EncodedJSValue SHA384Prototype__digest(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA384Prototype__digestCallback); - - -extern "C" EncodedJSValue SHA384Prototype__update(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA384Prototype__updateCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA384Prototype, JSSHA384Prototype::Base); - - - static const HashTableValue JSSHA384PrototypeTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA384Prototype__byteLengthGetterWrap, 0 } } , -{ "digest"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA384Prototype__digestCallback, 0 } } , -{ "update"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA384Prototype__updateCallback, 1 } } -}; - - - -const ClassInfo JSSHA384Prototype::s_info = { "SHA384"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA384Prototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsSHA384Constructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSSHA384Prototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for SHA384"_s); - return JSValue::encode(globalObject->JSSHA384Constructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(SHA384Prototype__byteLengthGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSHA384* thisObject = jsCast<JSSHA384*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SHA384Prototype__getByteLength(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(SHA384Prototype__digestCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA384* thisObject = jsDynamicCast<JSSHA384*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA384"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA384Prototype__digest(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(SHA384Prototype__updateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA384* thisObject = jsDynamicCast<JSSHA384*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA384"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA384Prototype__update(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSSHA384Prototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSSHA384::info(), JSSHA384PrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_CUSTOM_GETTER(SHA384Class__getByteLengthStatic); -extern "C" JSC_DECLARE_HOST_FUNCTION(SHA384Class__hash); - - static const HashTableValue JSSHA384ConstructorTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA384Class__getByteLengthStatic, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA384Class__hash, 2 } } -}; - - -void JSSHA384Constructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA384Prototype* prototype) -{ - Base::finishCreation(vm, 0, "SHA384"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSSHA384Constructor::s_info, JSSHA384ConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSSHA384Constructor::JSSHA384Constructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSSHA384Constructor* JSSHA384Constructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA384Prototype* prototype) { - JSSHA384Constructor* ptr = new (NotNull, JSC::allocateCell<JSSHA384Constructor>(vm)) JSSHA384Constructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSSHA384Constructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSSHA384Constructor(); - Structure* structure = globalObject->JSSHA384Structure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSSHA384Structure() - ); - } - - void* ptr = SHA384Class__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSSHA384* instance = JSSHA384::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSSHA384Constructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA384Prototype* prototype) -{ - -} - -const ClassInfo JSSHA384Constructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA384Constructor) }; - - - extern "C" EncodedJSValue SHA384__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSSHA384Constructor()); - } - -JSSHA384::~JSSHA384() -{ - if (m_ctx) { - SHA384Class__finalize(m_ctx); - } -} -void JSSHA384::destroy(JSCell* cell) -{ - static_cast<JSSHA384*>(cell)->JSSHA384::~JSSHA384(); -} - -const ClassInfo JSSHA384::s_info = { "SHA384"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA384) }; - -void JSSHA384::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSSHA384* JSSHA384::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSSHA384* ptr = new (NotNull, JSC::allocateCell<JSSHA384>(vm)) JSSHA384(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* SHA384__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSSHA384* object = JSC::jsDynamicCast<JSSHA384*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool SHA384__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSSHA384* object = JSC::jsDynamicCast<JSSHA384*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t SHA384__ptrOffset = JSSHA384::offsetOfWrapped(); - -void JSSHA384::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSSHA384*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSSHA384::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSSHA384Constructor::create(vm, globalObject, WebCore::JSSHA384Constructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSSHA384Prototype*>(prototype)); -} - -JSObject* JSSHA384::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSSHA384Prototype::create(vm, globalObject, JSSHA384Prototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue SHA384__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSSHA384Structure(); - JSSHA384* instance = JSSHA384::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSSHA512Prototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSSHA512Prototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSSHA512Prototype* ptr = new (NotNull, JSC::allocateCell<JSSHA512Prototype>(vm)) JSSHA512Prototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA512Prototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSSHA512Prototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSSHA512Constructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSSHA512Constructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA512Prototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA512Constructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA512Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA512Constructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA512Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA512Constructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSSHA512Prototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSSHA512Constructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSSHA512Prototype* prototype); - }; - - -extern "C" void* SHA512Class__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsSHA512Constructor); - - - - - -extern "C" void SHA512Class__finalize(void*); - - -extern "C" JSC::EncodedJSValue SHA512Prototype__getByteLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SHA512Prototype__byteLengthGetterWrap); - - -extern "C" EncodedJSValue SHA512Prototype__digest(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA512Prototype__digestCallback); - - -extern "C" EncodedJSValue SHA512Prototype__update(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA512Prototype__updateCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA512Prototype, JSSHA512Prototype::Base); - - - static const HashTableValue JSSHA512PrototypeTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA512Prototype__byteLengthGetterWrap, 0 } } , -{ "digest"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA512Prototype__digestCallback, 0 } } , -{ "update"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA512Prototype__updateCallback, 1 } } -}; - - - -const ClassInfo JSSHA512Prototype::s_info = { "SHA512"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA512Prototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsSHA512Constructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSSHA512Prototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for SHA512"_s); - return JSValue::encode(globalObject->JSSHA512Constructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(SHA512Prototype__byteLengthGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSHA512* thisObject = jsCast<JSSHA512*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SHA512Prototype__getByteLength(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(SHA512Prototype__digestCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA512* thisObject = jsDynamicCast<JSSHA512*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA512"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA512Prototype__digest(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(SHA512Prototype__updateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA512* thisObject = jsDynamicCast<JSSHA512*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA512"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA512Prototype__update(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSSHA512Prototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSSHA512::info(), JSSHA512PrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_CUSTOM_GETTER(SHA512Class__getByteLengthStatic); -extern "C" JSC_DECLARE_HOST_FUNCTION(SHA512Class__hash); - - static const HashTableValue JSSHA512ConstructorTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA512Class__getByteLengthStatic, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA512Class__hash, 2 } } -}; - - -void JSSHA512Constructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA512Prototype* prototype) -{ - Base::finishCreation(vm, 0, "SHA512"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSSHA512Constructor::s_info, JSSHA512ConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSSHA512Constructor::JSSHA512Constructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSSHA512Constructor* JSSHA512Constructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA512Prototype* prototype) { - JSSHA512Constructor* ptr = new (NotNull, JSC::allocateCell<JSSHA512Constructor>(vm)) JSSHA512Constructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSSHA512Constructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSSHA512Constructor(); - Structure* structure = globalObject->JSSHA512Structure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSSHA512Structure() - ); - } - - void* ptr = SHA512Class__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSSHA512* instance = JSSHA512::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSSHA512Constructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA512Prototype* prototype) -{ - -} - -const ClassInfo JSSHA512Constructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA512Constructor) }; - - - extern "C" EncodedJSValue SHA512__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSSHA512Constructor()); - } - -JSSHA512::~JSSHA512() -{ - if (m_ctx) { - SHA512Class__finalize(m_ctx); - } -} -void JSSHA512::destroy(JSCell* cell) -{ - static_cast<JSSHA512*>(cell)->JSSHA512::~JSSHA512(); -} - -const ClassInfo JSSHA512::s_info = { "SHA512"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA512) }; - -void JSSHA512::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSSHA512* JSSHA512::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSSHA512* ptr = new (NotNull, JSC::allocateCell<JSSHA512>(vm)) JSSHA512(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* SHA512__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSSHA512* object = JSC::jsDynamicCast<JSSHA512*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool SHA512__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSSHA512* object = JSC::jsDynamicCast<JSSHA512*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t SHA512__ptrOffset = JSSHA512::offsetOfWrapped(); - -void JSSHA512::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSSHA512*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSSHA512::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSSHA512Constructor::create(vm, globalObject, WebCore::JSSHA512Constructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSSHA512Prototype*>(prototype)); -} - -JSObject* JSSHA512::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSSHA512Prototype::create(vm, globalObject, JSSHA512Prototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue SHA512__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSSHA512Structure(); - JSSHA512* instance = JSSHA512::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSSHA512_256Prototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSSHA512_256Prototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSSHA512_256Prototype* ptr = new (NotNull, JSC::allocateCell<JSSHA512_256Prototype>(vm)) JSSHA512_256Prototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA512_256Prototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSSHA512_256Prototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSSHA512_256Constructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSSHA512_256Constructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA512_256Prototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA512_256Constructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA512_256Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA512_256Constructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA512_256Constructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA512_256Constructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSSHA512_256Prototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSSHA512_256Constructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSSHA512_256Prototype* prototype); - }; - - -extern "C" void* SHA512_256Class__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsSHA512_256Constructor); - - - - - -extern "C" void SHA512_256Class__finalize(void*); - - -extern "C" JSC::EncodedJSValue SHA512_256Prototype__getByteLength(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SHA512_256Prototype__byteLengthGetterWrap); - - -extern "C" EncodedJSValue SHA512_256Prototype__digest(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA512_256Prototype__digestCallback); - - -extern "C" EncodedJSValue SHA512_256Prototype__update(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SHA512_256Prototype__updateCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSHA512_256Prototype, JSSHA512_256Prototype::Base); - - - static const HashTableValue JSSHA512_256PrototypeTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA512_256Prototype__byteLengthGetterWrap, 0 } } , -{ "digest"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA512_256Prototype__digestCallback, 0 } } , -{ "update"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA512_256Prototype__updateCallback, 1 } } -}; - - - -const ClassInfo JSSHA512_256Prototype::s_info = { "SHA512_256"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA512_256Prototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsSHA512_256Constructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSSHA512_256Prototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for SHA512_256"_s); - return JSValue::encode(globalObject->JSSHA512_256Constructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(SHA512_256Prototype__byteLengthGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSHA512_256* thisObject = jsCast<JSSHA512_256*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SHA512_256Prototype__getByteLength(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(SHA512_256Prototype__digestCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA512_256* thisObject = jsDynamicCast<JSSHA512_256*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA512_256"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA512_256Prototype__digest(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(SHA512_256Prototype__updateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSHA512_256* thisObject = jsDynamicCast<JSSHA512_256*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof SHA512_256"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SHA512_256Prototype__update(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSSHA512_256Prototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSSHA512_256::info(), JSSHA512_256PrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" JSC_DECLARE_CUSTOM_GETTER(SHA512_256Class__getByteLengthStatic); -extern "C" JSC_DECLARE_HOST_FUNCTION(SHA512_256Class__hash); - - static const HashTableValue JSSHA512_256ConstructorTableValues[] = { -{ "byteLength"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SHA512_256Class__getByteLengthStatic, 0 } } , -{ "hash"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SHA512_256Class__hash, 2 } } -}; - - -void JSSHA512_256Constructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA512_256Prototype* prototype) -{ - Base::finishCreation(vm, 0, "SHA512_256"_s, PropertyAdditionMode::WithoutStructureTransition); - reifyStaticProperties(vm, &JSSHA512_256Constructor::s_info, JSSHA512_256ConstructorTableValues, *this); - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSSHA512_256Constructor::JSSHA512_256Constructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSSHA512_256Constructor* JSSHA512_256Constructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSHA512_256Prototype* prototype) { - JSSHA512_256Constructor* ptr = new (NotNull, JSC::allocateCell<JSSHA512_256Constructor>(vm)) JSSHA512_256Constructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSSHA512_256Constructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSSHA512_256Constructor(); - Structure* structure = globalObject->JSSHA512_256Structure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSSHA512_256Structure() - ); - } - - void* ptr = SHA512_256Class__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSSHA512_256* instance = JSSHA512_256::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSSHA512_256Constructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSSHA512_256Prototype* prototype) -{ - -} - -const ClassInfo JSSHA512_256Constructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA512_256Constructor) }; - - - extern "C" EncodedJSValue SHA512_256__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSSHA512_256Constructor()); - } - -JSSHA512_256::~JSSHA512_256() -{ - if (m_ctx) { - SHA512_256Class__finalize(m_ctx); - } -} -void JSSHA512_256::destroy(JSCell* cell) -{ - static_cast<JSSHA512_256*>(cell)->JSSHA512_256::~JSSHA512_256(); -} - -const ClassInfo JSSHA512_256::s_info = { "SHA512_256"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSHA512_256) }; - -void JSSHA512_256::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSSHA512_256* JSSHA512_256::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSSHA512_256* ptr = new (NotNull, JSC::allocateCell<JSSHA512_256>(vm)) JSSHA512_256(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* SHA512_256__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSSHA512_256* object = JSC::jsDynamicCast<JSSHA512_256*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool SHA512_256__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSSHA512_256* object = JSC::jsDynamicCast<JSSHA512_256*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t SHA512_256__ptrOffset = JSSHA512_256::offsetOfWrapped(); - -void JSSHA512_256::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSSHA512_256*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSSHA512_256::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSSHA512_256Constructor::create(vm, globalObject, WebCore::JSSHA512_256Constructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSSHA512_256Prototype*>(prototype)); -} - -JSObject* JSSHA512_256::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSSHA512_256Prototype::create(vm, globalObject, JSSHA512_256Prototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue SHA512_256__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSSHA512_256Structure(); - JSSHA512_256* instance = JSSHA512_256::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - class JSServerWebSocketPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSServerWebSocketPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSServerWebSocketPrototype* ptr = new (NotNull, JSC::allocateCell<JSServerWebSocketPrototype>(vm)) JSServerWebSocketPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSServerWebSocketPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSServerWebSocketPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSServerWebSocketConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSServerWebSocketConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSServerWebSocketPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSServerWebSocketConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForServerWebSocketConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForServerWebSocketConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForServerWebSocketConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForServerWebSocketConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSServerWebSocketPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSServerWebSocketConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSServerWebSocketPrototype* prototype); - }; - - -extern "C" void* ServerWebSocketClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsServerWebSocketConstructor); - - - - - -extern "C" void ServerWebSocketClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue ServerWebSocketPrototype__getBinaryType(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ServerWebSocketPrototype__binaryTypeGetterWrap); - - -extern "C" bool ServerWebSocketPrototype__setBinaryType(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::EncodedJSValue value); -JSC_DECLARE_CUSTOM_SETTER(ServerWebSocketPrototype__binaryTypeSetterWrap); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__close(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__closeCallback); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__cork(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__corkCallback); - - -extern "C" JSC::EncodedJSValue ServerWebSocketPrototype__getData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ServerWebSocketPrototype__dataGetterWrap); - - -extern "C" bool ServerWebSocketPrototype__setData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::EncodedJSValue value); -JSC_DECLARE_CUSTOM_SETTER(ServerWebSocketPrototype__dataSetterWrap); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__getBufferedAmount(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__getBufferedAmountCallback); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__isSubscribed(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__isSubscribedCallback); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__ping(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__pingCallback); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__pong(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__pongCallback); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__publish(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__publishCallback); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__publishBinary(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__publishBinaryCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(ServerWebSocketPrototype__publishBinaryWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSString* arg0, JSC::JSUint8Array* arg1)); - extern "C" EncodedJSValue ServerWebSocketPrototype__publishBinaryWithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject, JSC::JSString* arg0, JSC::JSUint8Array* arg1); - - static const JSC::DOMJIT::Signature DOMJITSignatureForServerWebSocketPrototype__publishBinary(ServerWebSocketPrototype__publishBinaryWithoutTypeChecksWrapper, - JSServerWebSocket::info(), - JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), - JSC::SpecHeapTop, JSC::SpecString, JSC::SpecUint8Array); - -JSC_DEFINE_JIT_OPERATION(ServerWebSocketPrototype__publishBinaryWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSString* arg0, JSC::JSUint8Array* arg1)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return ServerWebSocketPrototype__publishBinaryWithoutTypeChecks(reinterpret_cast<JSServerWebSocket*>(thisValue)->wrapped(), lexicalGlobalObject, arg0, arg1); -} - -extern "C" EncodedJSValue ServerWebSocketPrototype__publishText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__publishTextCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(ServerWebSocketPrototype__publishTextWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSString* arg0, JSC::JSString* arg1)); - extern "C" EncodedJSValue ServerWebSocketPrototype__publishTextWithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject, JSC::JSString* arg0, JSC::JSString* arg1); - - static const JSC::DOMJIT::Signature DOMJITSignatureForServerWebSocketPrototype__publishText(ServerWebSocketPrototype__publishTextWithoutTypeChecksWrapper, - JSServerWebSocket::info(), - JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), - JSC::SpecHeapTop, JSC::SpecString, JSC::SpecString); - -JSC_DEFINE_JIT_OPERATION(ServerWebSocketPrototype__publishTextWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSString* arg0, JSC::JSString* arg1)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return ServerWebSocketPrototype__publishTextWithoutTypeChecks(reinterpret_cast<JSServerWebSocket*>(thisValue)->wrapped(), lexicalGlobalObject, arg0, arg1); -} - -extern "C" JSC::EncodedJSValue ServerWebSocketPrototype__getReadyState(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ServerWebSocketPrototype__readyStateGetterWrap); - - -extern "C" JSC::EncodedJSValue ServerWebSocketPrototype__getRemoteAddress(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(ServerWebSocketPrototype__remoteAddressGetterWrap); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__send(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__sendCallback); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__sendBinary(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__sendBinaryCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(ServerWebSocketPrototype__sendBinaryWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg0, bool arg1)); - extern "C" EncodedJSValue ServerWebSocketPrototype__sendBinaryWithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject, JSC::JSUint8Array* arg0, bool arg1); - - static const JSC::DOMJIT::Signature DOMJITSignatureForServerWebSocketPrototype__sendBinary(ServerWebSocketPrototype__sendBinaryWithoutTypeChecksWrapper, - JSServerWebSocket::info(), - JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), - JSC::SpecHeapTop, JSC::SpecUint8Array, JSC::SpecBoolean); - -JSC_DEFINE_JIT_OPERATION(ServerWebSocketPrototype__sendBinaryWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg0, bool arg1)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return ServerWebSocketPrototype__sendBinaryWithoutTypeChecks(reinterpret_cast<JSServerWebSocket*>(thisValue)->wrapped(), lexicalGlobalObject, arg0, arg1); -} - -extern "C" EncodedJSValue ServerWebSocketPrototype__sendText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__sendTextCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(ServerWebSocketPrototype__sendTextWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSString* arg0, bool arg1)); - extern "C" EncodedJSValue ServerWebSocketPrototype__sendTextWithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject, JSC::JSString* arg0, bool arg1); - - static const JSC::DOMJIT::Signature DOMJITSignatureForServerWebSocketPrototype__sendText(ServerWebSocketPrototype__sendTextWithoutTypeChecksWrapper, - JSServerWebSocket::info(), - JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), - JSC::SpecHeapTop, JSC::SpecString, JSC::SpecBoolean); - -JSC_DEFINE_JIT_OPERATION(ServerWebSocketPrototype__sendTextWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSString* arg0, bool arg1)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return ServerWebSocketPrototype__sendTextWithoutTypeChecks(reinterpret_cast<JSServerWebSocket*>(thisValue)->wrapped(), lexicalGlobalObject, arg0, arg1); -} - -extern "C" EncodedJSValue ServerWebSocketPrototype__subscribe(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__subscribeCallback); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__terminate(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__terminateCallback); - - -extern "C" EncodedJSValue ServerWebSocketPrototype__unsubscribe(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(ServerWebSocketPrototype__unsubscribeCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSServerWebSocketPrototype, JSServerWebSocketPrototype::Base); - - - static const HashTableValue JSServerWebSocketPrototypeTableValues[] = { -{ "binaryType"_s, static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ServerWebSocketPrototype__binaryTypeGetterWrap, ServerWebSocketPrototype__binaryTypeSetterWrap } } , -{ "close"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__closeCallback, 3 } } , -{ "cork"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__corkCallback, 1 } } , -{ "data"_s, static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ServerWebSocketPrototype__dataGetterWrap, ServerWebSocketPrototype__dataSetterWrap } } , -{ "getBufferedAmount"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__getBufferedAmountCallback, 0 } } , -{ "isSubscribed"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__isSubscribedCallback, 1 } } , -{ "ping"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__pingCallback, 1 } } , -{ "pong"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__pongCallback, 1 } } , -{ "publish"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__publishCallback, 3 } } , -{ "publishBinary"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, ServerWebSocketPrototype__publishBinaryCallback, &DOMJITSignatureForServerWebSocketPrototype__publishBinary } } , -{ "publishText"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, ServerWebSocketPrototype__publishTextCallback, &DOMJITSignatureForServerWebSocketPrototype__publishText } } , -{ "readyState"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ServerWebSocketPrototype__readyStateGetterWrap, 0 } } , -{ "remoteAddress"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, ServerWebSocketPrototype__remoteAddressGetterWrap, 0 } } , -{ "send"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__sendCallback, 2 } } , -{ "sendBinary"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, ServerWebSocketPrototype__sendBinaryCallback, &DOMJITSignatureForServerWebSocketPrototype__sendBinary } } , -{ "sendText"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, ServerWebSocketPrototype__sendTextCallback, &DOMJITSignatureForServerWebSocketPrototype__sendText } } , -{ "subscribe"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__subscribeCallback, 1 } } , -{ "terminate"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__terminateCallback, 0 } } , -{ "unsubscribe"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, ServerWebSocketPrototype__unsubscribeCallback, 1 } } -}; - - - -const ClassInfo JSServerWebSocketPrototype::s_info = { "ServerWebSocket"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSServerWebSocketPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsServerWebSocketConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSServerWebSocketPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for ServerWebSocket"_s); - return JSValue::encode(globalObject->JSServerWebSocketConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(ServerWebSocketPrototype__binaryTypeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSServerWebSocket* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ServerWebSocketPrototype__getBinaryType(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_SETTER(ServerWebSocketPrototype__binaryTypeSetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSServerWebSocket* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - auto result = ServerWebSocketPrototype__setBinaryType(thisObject->wrapped(), lexicalGlobalObject, encodedValue); - - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__closeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__close(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__corkCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__cork(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ServerWebSocketPrototype__dataGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSServerWebSocket* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_data.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ServerWebSocketPrototype__getData(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_data.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ServerWebSocketPrototype__dataSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - thisObject->m_data.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ServerWebSocketPrototype__dataGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_data.get()); - } - - - -JSC_DEFINE_CUSTOM_SETTER(ServerWebSocketPrototype__dataSetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSServerWebSocket* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - auto result = ServerWebSocketPrototype__setData(thisObject->wrapped(), lexicalGlobalObject, encodedValue); - - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__getBufferedAmountCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__getBufferedAmount(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__isSubscribedCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__isSubscribed(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__pingCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__ping(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__pongCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__pong(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__publishCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__publish(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__publishBinaryCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__publishBinary(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__publishTextCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__publishText(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(ServerWebSocketPrototype__readyStateGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSServerWebSocket* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = ServerWebSocketPrototype__getReadyState(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(ServerWebSocketPrototype__remoteAddressGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSServerWebSocket* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_remoteAddress.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - ServerWebSocketPrototype__getRemoteAddress(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_remoteAddress.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void ServerWebSocketPrototype__remoteAddressSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - thisObject->m_remoteAddress.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue ServerWebSocketPrototype__remoteAddressGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSServerWebSocket*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_remoteAddress.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__sendCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__send(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__sendBinaryCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__sendBinary(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__sendTextCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__sendText(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__subscribeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__subscribe(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__terminateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__terminate(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(ServerWebSocketPrototype__unsubscribeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSServerWebSocket* thisObject = jsDynamicCast<JSServerWebSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof ServerWebSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return ServerWebSocketPrototype__unsubscribe(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSServerWebSocketPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSServerWebSocket::info(), JSServerWebSocketPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSServerWebSocketConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSServerWebSocketPrototype* prototype) -{ - Base::finishCreation(vm, 0, "ServerWebSocket"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSServerWebSocketConstructor::JSServerWebSocketConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSServerWebSocketConstructor* JSServerWebSocketConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSServerWebSocketPrototype* prototype) { - JSServerWebSocketConstructor* ptr = new (NotNull, JSC::allocateCell<JSServerWebSocketConstructor>(vm)) JSServerWebSocketConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSServerWebSocketConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSServerWebSocketConstructor(); - Structure* structure = globalObject->JSServerWebSocketStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSServerWebSocketStructure() - ); - } - - void* ptr = ServerWebSocketClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSServerWebSocket* instance = JSServerWebSocket::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSServerWebSocketConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSServerWebSocketPrototype* prototype) -{ - -} - -const ClassInfo JSServerWebSocketConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSServerWebSocketConstructor) }; - - - extern "C" EncodedJSValue ServerWebSocket__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSServerWebSocketConstructor()); - } - -JSServerWebSocket::~JSServerWebSocket() -{ - if (m_ctx) { - ServerWebSocketClass__finalize(m_ctx); - } -} -void JSServerWebSocket::destroy(JSCell* cell) -{ - static_cast<JSServerWebSocket*>(cell)->JSServerWebSocket::~JSServerWebSocket(); -} - -const ClassInfo JSServerWebSocket::s_info = { "ServerWebSocket"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSServerWebSocket) }; - -void JSServerWebSocket::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSServerWebSocket* JSServerWebSocket::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSServerWebSocket* ptr = new (NotNull, JSC::allocateCell<JSServerWebSocket>(vm)) JSServerWebSocket(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* ServerWebSocket__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSServerWebSocket* object = JSC::jsDynamicCast<JSServerWebSocket*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool ServerWebSocket__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSServerWebSocket* object = JSC::jsDynamicCast<JSServerWebSocket*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t ServerWebSocket__ptrOffset = JSServerWebSocket::offsetOfWrapped(); - -void JSServerWebSocket::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSServerWebSocket*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSServerWebSocket::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSServerWebSocketConstructor::create(vm, globalObject, WebCore::JSServerWebSocketConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSServerWebSocketPrototype*>(prototype)); -} - -JSObject* JSServerWebSocket::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSServerWebSocketPrototype::create(vm, globalObject, JSServerWebSocketPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue ServerWebSocket__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSServerWebSocketStructure(); - JSServerWebSocket* instance = JSServerWebSocket::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSServerWebSocket::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSServerWebSocket* thisObject = jsCast<JSServerWebSocket*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSServerWebSocket); - -template<typename Visitor> -void JSServerWebSocket::visitAdditionalChildren(Visitor& visitor) -{ - JSServerWebSocket* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_data); - visitor.append(thisObject->m_remoteAddress); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSServerWebSocket); - -template<typename Visitor> -void JSServerWebSocket::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSServerWebSocket* thisObject = jsCast<JSServerWebSocket*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSServerWebSocket); - class JSStatWatcherPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSStatWatcherPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSStatWatcherPrototype* ptr = new (NotNull, JSC::allocateCell<JSStatWatcherPrototype>(vm)) JSStatWatcherPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSStatWatcherPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSStatWatcherPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void StatWatcherClass__finalize(void*); - - -extern "C" EncodedJSValue StatWatcherPrototype__doClose(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatWatcherPrototype__closeCallback); - - -extern "C" EncodedJSValue StatWatcherPrototype__doRef(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatWatcherPrototype__refCallback); - - -extern "C" EncodedJSValue StatWatcherPrototype__doUnref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatWatcherPrototype__unrefCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSStatWatcherPrototype, JSStatWatcherPrototype::Base); - - - static const HashTableValue JSStatWatcherPrototypeTableValues[] = { -{ "close"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, StatWatcherPrototype__closeCallback, 0 } } , -{ "ref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, StatWatcherPrototype__refCallback, 0 } } , -{ "unref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, StatWatcherPrototype__unrefCallback, 0 } } -}; - - - -const ClassInfo JSStatWatcherPrototype::s_info = { "StatWatcher"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSStatWatcherPrototype) }; - - - JSC_DEFINE_HOST_FUNCTION(StatWatcherPrototype__closeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStatWatcher* thisObject = jsDynamicCast<JSStatWatcher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof StatWatcher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatWatcherPrototype__doClose(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(StatWatcherPrototype__refCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStatWatcher* thisObject = jsDynamicCast<JSStatWatcher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof StatWatcher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatWatcherPrototype__doRef(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(StatWatcherPrototype__unrefCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStatWatcher* thisObject = jsDynamicCast<JSStatWatcher*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof StatWatcher"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatWatcherPrototype__doUnref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - - extern "C" void StatWatcherPrototype__listenerSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSStatWatcher*>(JSValue::decode(thisValue)); - thisObject->m_listener.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue StatWatcherPrototype__listenerGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSStatWatcher*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_listener.get()); - } - - - -void JSStatWatcherPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSStatWatcher::info(), JSStatWatcherPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" bool StatWatcher__hasPendingActivity(void* ptr); - bool JSStatWatcher::hasPendingActivity(void* ctx) { - return StatWatcher__hasPendingActivity(ctx); - } - -JSStatWatcher::~JSStatWatcher() -{ - if (m_ctx) { - StatWatcherClass__finalize(m_ctx); - } -} -void JSStatWatcher::destroy(JSCell* cell) -{ - static_cast<JSStatWatcher*>(cell)->JSStatWatcher::~JSStatWatcher(); -} - -const ClassInfo JSStatWatcher::s_info = { "StatWatcher"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSStatWatcher) }; - -void JSStatWatcher::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSStatWatcher* JSStatWatcher::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSStatWatcher* ptr = new (NotNull, JSC::allocateCell<JSStatWatcher>(vm)) JSStatWatcher(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* StatWatcher__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSStatWatcher* object = JSC::jsDynamicCast<JSStatWatcher*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool StatWatcher__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSStatWatcher* object = JSC::jsDynamicCast<JSStatWatcher*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t StatWatcher__ptrOffset = JSStatWatcher::offsetOfWrapped(); - -void JSStatWatcher::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSStatWatcher*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSStatWatcher::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSStatWatcherPrototype::create(vm, globalObject, JSStatWatcherPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue StatWatcher__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSStatWatcherStructure(); - JSStatWatcher* instance = JSStatWatcher::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSStatWatcher::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSStatWatcher* thisObject = jsCast<JSStatWatcher*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSStatWatcher); - -template<typename Visitor> -void JSStatWatcher::visitAdditionalChildren(Visitor& visitor) -{ - JSStatWatcher* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - visitor.append(thisObject->m_listener); - - visitor.addOpaqueRoot(this->wrapped()); -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSStatWatcher); - -template<typename Visitor> -void JSStatWatcher::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSStatWatcher* thisObject = jsCast<JSStatWatcher*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSStatWatcher); - class JSStatsPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSStatsPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSStatsPrototype* ptr = new (NotNull, JSC::allocateCell<JSStatsPrototype>(vm)) JSStatsPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSStatsPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSStatsPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSStatsConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSStatsConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSStatsPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSStatsConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForStatsConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForStatsConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForStatsConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForStatsConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSStatsPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSStatsConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSStatsPrototype* prototype); - }; - - -extern "C" void* StatsClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsStatsConstructor); - - - - - -extern "C" void StatsClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue StatsPrototype__atime(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__atimeGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__atimeMs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__atimeMsGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__birthtime(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__birthtimeGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__birthtimeMs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__birthtimeMsGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__blksize(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__blksizeGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__blocks(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__blocksGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__ctime(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__ctimeGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__ctimeMs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__ctimeMsGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__dev(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__devGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__gid(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__gidGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__ino(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__inoGetterWrap); - - -extern "C" EncodedJSValue StatsPrototype__isBlockDevice_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatsPrototype__isBlockDeviceCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(StatsPrototype__isBlockDeviceWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue StatsPrototype__isBlockDevice_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForStatsPrototype__isBlockDevice(StatsPrototype__isBlockDeviceWithoutTypeChecksWrapper, - JSStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(StatsPrototype__isBlockDeviceWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return StatsPrototype__isBlockDevice_WithoutTypeChecks(reinterpret_cast<JSStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue StatsPrototype__isCharacterDevice_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatsPrototype__isCharacterDeviceCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(StatsPrototype__isCharacterDeviceWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue StatsPrototype__isCharacterDevice_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForStatsPrototype__isCharacterDevice(StatsPrototype__isCharacterDeviceWithoutTypeChecksWrapper, - JSStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(StatsPrototype__isCharacterDeviceWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return StatsPrototype__isCharacterDevice_WithoutTypeChecks(reinterpret_cast<JSStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue StatsPrototype__isDirectory_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatsPrototype__isDirectoryCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(StatsPrototype__isDirectoryWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue StatsPrototype__isDirectory_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForStatsPrototype__isDirectory(StatsPrototype__isDirectoryWithoutTypeChecksWrapper, - JSStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(StatsPrototype__isDirectoryWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return StatsPrototype__isDirectory_WithoutTypeChecks(reinterpret_cast<JSStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue StatsPrototype__isFIFO_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatsPrototype__isFIFOCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(StatsPrototype__isFIFOWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue StatsPrototype__isFIFO_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForStatsPrototype__isFIFO(StatsPrototype__isFIFOWithoutTypeChecksWrapper, - JSStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(StatsPrototype__isFIFOWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return StatsPrototype__isFIFO_WithoutTypeChecks(reinterpret_cast<JSStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue StatsPrototype__isFile_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatsPrototype__isFileCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(StatsPrototype__isFileWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue StatsPrototype__isFile_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForStatsPrototype__isFile(StatsPrototype__isFileWithoutTypeChecksWrapper, - JSStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(StatsPrototype__isFileWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return StatsPrototype__isFile_WithoutTypeChecks(reinterpret_cast<JSStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue StatsPrototype__isSocket_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatsPrototype__isSocketCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(StatsPrototype__isSocketWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue StatsPrototype__isSocket_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForStatsPrototype__isSocket(StatsPrototype__isSocketWithoutTypeChecksWrapper, - JSStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(StatsPrototype__isSocketWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return StatsPrototype__isSocket_WithoutTypeChecks(reinterpret_cast<JSStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" EncodedJSValue StatsPrototype__isSymbolicLink_(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(StatsPrototype__isSymbolicLinkCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(StatsPrototype__isSymbolicLinkWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)); - extern "C" EncodedJSValue StatsPrototype__isSymbolicLink_WithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject); - - static const JSC::DOMJIT::Signature DOMJITSignatureForStatsPrototype__isSymbolicLink(StatsPrototype__isSymbolicLinkWithoutTypeChecksWrapper, - JSStats::info(), - JSC::DOMJIT::Effect::forPure(), - JSC::SpecHeapTop); - -JSC_DEFINE_JIT_OPERATION(StatsPrototype__isSymbolicLinkWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return StatsPrototype__isSymbolicLink_WithoutTypeChecks(reinterpret_cast<JSStats*>(thisValue)->wrapped(), lexicalGlobalObject); -} - -extern "C" JSC::EncodedJSValue StatsPrototype__mode(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__modeGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__mtime(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__mtimeGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__mtimeMs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__mtimeMsGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__nlink(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__nlinkGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__rdev(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__rdevGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__size(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__sizeGetterWrap); - - -extern "C" JSC::EncodedJSValue StatsPrototype__uid(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(StatsPrototype__uidGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSStatsPrototype, JSStatsPrototype::Base); - - - static const HashTableValue JSStatsPrototypeTableValues[] = { -{ "atime"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__atimeGetterWrap, 0 } } , -{ "atimeMs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__atimeMsGetterWrap, 0 } } , -{ "birthtime"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__birthtimeGetterWrap, 0 } } , -{ "birthtimeMs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__birthtimeMsGetterWrap, 0 } } , -{ "blksize"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__blksizeGetterWrap, 0 } } , -{ "blocks"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__blocksGetterWrap, 0 } } , -{ "ctime"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__ctimeGetterWrap, 0 } } , -{ "ctimeMs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__ctimeMsGetterWrap, 0 } } , -{ "dev"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__devGetterWrap, 0 } } , -{ "gid"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__gidGetterWrap, 0 } } , -{ "ino"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__inoGetterWrap, 0 } } , -{ "isBlockDevice"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, StatsPrototype__isBlockDeviceCallback, &DOMJITSignatureForStatsPrototype__isBlockDevice } } , -{ "isCharacterDevice"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, StatsPrototype__isCharacterDeviceCallback, &DOMJITSignatureForStatsPrototype__isCharacterDevice } } , -{ "isDirectory"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, StatsPrototype__isDirectoryCallback, &DOMJITSignatureForStatsPrototype__isDirectory } } , -{ "isFIFO"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, StatsPrototype__isFIFOCallback, &DOMJITSignatureForStatsPrototype__isFIFO } } , -{ "isFile"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, StatsPrototype__isFileCallback, &DOMJITSignatureForStatsPrototype__isFile } } , -{ "isSocket"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, StatsPrototype__isSocketCallback, &DOMJITSignatureForStatsPrototype__isSocket } } , -{ "isSymbolicLink"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, StatsPrototype__isSymbolicLinkCallback, &DOMJITSignatureForStatsPrototype__isSymbolicLink } } , -{ "mode"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__modeGetterWrap, 0 } } , -{ "mtime"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__mtimeGetterWrap, 0 } } , -{ "mtimeMs"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__mtimeMsGetterWrap, 0 } } , -{ "nlink"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__nlinkGetterWrap, 0 } } , -{ "rdev"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__rdevGetterWrap, 0 } } , -{ "size"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__sizeGetterWrap, 0 } } , -{ "uid"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, StatsPrototype__uidGetterWrap, 0 } } -}; - - - -const ClassInfo JSStatsPrototype::s_info = { "Stats"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSStatsPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsStatsConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSStatsPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Stats"_s); - return JSValue::encode(globalObject->JSStatsConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__atimeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_atime.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - StatsPrototype__atime(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_atime.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void StatsPrototype__atimeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - thisObject->m_atime.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue StatsPrototype__atimeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_atime.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__atimeMsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__atimeMs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__birthtimeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__birthtime(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__birthtimeMsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__birthtimeMs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__blksizeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__blksize(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__blocksGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__blocks(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__ctimeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_ctime.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - StatsPrototype__ctime(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_ctime.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void StatsPrototype__ctimeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - thisObject->m_ctime.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue StatsPrototype__ctimeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_ctime.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__ctimeMsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__ctimeMs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__devGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__dev(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__gidGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__gid(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__inoGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__ino(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(StatsPrototype__isBlockDeviceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStats* thisObject = jsDynamicCast<JSStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Stats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatsPrototype__isBlockDevice_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(StatsPrototype__isCharacterDeviceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStats* thisObject = jsDynamicCast<JSStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Stats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatsPrototype__isCharacterDevice_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(StatsPrototype__isDirectoryCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStats* thisObject = jsDynamicCast<JSStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Stats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatsPrototype__isDirectory_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(StatsPrototype__isFIFOCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStats* thisObject = jsDynamicCast<JSStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Stats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatsPrototype__isFIFO_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(StatsPrototype__isFileCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStats* thisObject = jsDynamicCast<JSStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Stats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatsPrototype__isFile_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(StatsPrototype__isSocketCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStats* thisObject = jsDynamicCast<JSStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Stats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatsPrototype__isSocket_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(StatsPrototype__isSymbolicLinkCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSStats* thisObject = jsDynamicCast<JSStats*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Stats"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return StatsPrototype__isSymbolicLink_(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__modeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__mode(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__mtimeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_mtime.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - StatsPrototype__mtime(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_mtime.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void StatsPrototype__mtimeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - thisObject->m_mtime.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue StatsPrototype__mtimeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_mtime.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__mtimeMsGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__mtimeMs(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__nlinkGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__nlink(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__rdevGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__rdev(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__sizeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__size(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(StatsPrototype__uidGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSStats* thisObject = jsCast<JSStats*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = StatsPrototype__uid(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -void JSStatsPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSStats::info(), JSStatsPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSStatsConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSStatsPrototype* prototype) -{ - Base::finishCreation(vm, 0, "Stats"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSStatsConstructor::JSStatsConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSStatsConstructor* JSStatsConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSStatsPrototype* prototype) { - JSStatsConstructor* ptr = new (NotNull, JSC::allocateCell<JSStatsConstructor>(vm)) JSStatsConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSStatsConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSStatsConstructor(); - Structure* structure = globalObject->JSStatsStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSStatsStructure() - ); - } - - void* ptr = StatsClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSStats* instance = JSStats::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSStatsConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSStatsPrototype* prototype) -{ - -} - -const ClassInfo JSStatsConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSStatsConstructor) }; - - - extern "C" EncodedJSValue Stats__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSStatsConstructor()); - } - -JSStats::~JSStats() -{ - if (m_ctx) { - StatsClass__finalize(m_ctx); - } -} -void JSStats::destroy(JSCell* cell) -{ - static_cast<JSStats*>(cell)->JSStats::~JSStats(); -} - -const ClassInfo JSStats::s_info = { "Stats"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSStats) }; - -void JSStats::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSStats* JSStats::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSStats* ptr = new (NotNull, JSC::allocateCell<JSStats>(vm)) JSStats(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Stats__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSStats* object = JSC::jsDynamicCast<JSStats*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Stats__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSStats* object = JSC::jsDynamicCast<JSStats*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Stats__ptrOffset = JSStats::offsetOfWrapped(); - -void JSStats::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSStats*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSStats::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSStatsConstructor::create(vm, globalObject, WebCore::JSStatsConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSStatsPrototype*>(prototype)); -} - -JSObject* JSStats::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSStatsPrototype::create(vm, globalObject, JSStatsPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Stats__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSStatsStructure(); - JSStats* instance = JSStats::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSStats::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSStats* thisObject = jsCast<JSStats*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSStats); - -template<typename Visitor> -void JSStats::visitAdditionalChildren(Visitor& visitor) -{ - JSStats* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_atime); - visitor.append(thisObject->m_ctime); - visitor.append(thisObject->m_mtime); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSStats); - -template<typename Visitor> -void JSStats::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSStats* thisObject = jsCast<JSStats*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSStats); - class JSSubprocessPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSSubprocessPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSSubprocessPrototype* ptr = new (NotNull, JSC::allocateCell<JSSubprocessPrototype>(vm)) JSSubprocessPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSubprocessPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSSubprocessPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* SubprocessClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsSubprocessConstructor); - - - - - -extern "C" void SubprocessClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getExitCode(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__exitCodeGetterWrap); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getExited(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__exitedGetterWrap); - - -extern "C" EncodedJSValue SubprocessPrototype__kill(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SubprocessPrototype__killCallback); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getKilled(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__killedGetterWrap); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getPid(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__pidGetterWrap); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getStdout(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__readableGetterWrap); - - -extern "C" EncodedJSValue SubprocessPrototype__doRef(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SubprocessPrototype__refCallback); - - -extern "C" EncodedJSValue SubprocessPrototype__doSend(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SubprocessPrototype__sendCallback); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getSignalCode(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__signalCodeGetterWrap); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getStderr(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__stderrGetterWrap); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getStdin(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__stdinGetterWrap); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getStdout(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__stdoutGetterWrap); - - -extern "C" EncodedJSValue SubprocessPrototype__doUnref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(SubprocessPrototype__unrefCallback); - - -extern "C" JSC::EncodedJSValue SubprocessPrototype__getStdin(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(SubprocessPrototype__writableGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSSubprocessPrototype, JSSubprocessPrototype::Base); - - - static const HashTableValue JSSubprocessPrototypeTableValues[] = { -{ "exitCode"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__exitCodeGetterWrap, 0 } } , -{ "exited"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__exitedGetterWrap, 0 } } , -{ "kill"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SubprocessPrototype__killCallback, 1 } } , -{ "killed"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__killedGetterWrap, 0 } } , -{ "pid"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__pidGetterWrap, 0 } } , -{ "readable"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__readableGetterWrap, 0 } } , -{ "ref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SubprocessPrototype__refCallback, 0 } } , -{ "send"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SubprocessPrototype__sendCallback, 1 } } , -{ "signalCode"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__signalCodeGetterWrap, 0 } } , -{ "stderr"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__stderrGetterWrap, 0 } } , -{ "stdin"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__stdinGetterWrap, 0 } } , -{ "stdout"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__stdoutGetterWrap, 0 } } , -{ "unref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, SubprocessPrototype__unrefCallback, 0 } } , -{ "writable"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, SubprocessPrototype__writableGetterWrap, 0 } } -}; - - - -const ClassInfo JSSubprocessPrototype::s_info = { "Subprocess"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSubprocessPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsSubprocessConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSSubprocessPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Subprocess"_s); - return JSValue::encode(globalObject->JSSubprocessConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__exitCodeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SubprocessPrototype__getExitCode(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__exitedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SubprocessPrototype__getExited(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(SubprocessPrototype__killCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSubprocess* thisObject = jsDynamicCast<JSSubprocess*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Subprocess"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SubprocessPrototype__kill(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__killedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SubprocessPrototype__getKilled(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__pidGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SubprocessPrototype__getPid(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__readableGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_stdout.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - SubprocessPrototype__getStdout(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_stdout.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void SubprocessPrototype__readableSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - thisObject->m_stdout.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue SubprocessPrototype__readableGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_stdout.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(SubprocessPrototype__refCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSubprocess* thisObject = jsDynamicCast<JSSubprocess*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Subprocess"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SubprocessPrototype__doRef(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(SubprocessPrototype__sendCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSubprocess* thisObject = jsDynamicCast<JSSubprocess*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Subprocess"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SubprocessPrototype__doSend(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__signalCodeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = SubprocessPrototype__getSignalCode(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__stderrGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_stderr.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - SubprocessPrototype__getStderr(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_stderr.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void SubprocessPrototype__stderrSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - thisObject->m_stderr.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue SubprocessPrototype__stderrGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_stderr.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__stdinGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_stdin.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - SubprocessPrototype__getStdin(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_stdin.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void SubprocessPrototype__stdinSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - thisObject->m_stdin.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue SubprocessPrototype__stdinGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_stdin.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__stdoutGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_stdout.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - SubprocessPrototype__getStdout(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_stdout.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void SubprocessPrototype__stdoutSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - thisObject->m_stdout.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue SubprocessPrototype__stdoutGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_stdout.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(SubprocessPrototype__unrefCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSSubprocess* thisObject = jsDynamicCast<JSSubprocess*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Subprocess"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return SubprocessPrototype__doUnref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(SubprocessPrototype__writableGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSSubprocess* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_stdin.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - SubprocessPrototype__getStdin(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_stdin.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void SubprocessPrototype__writableSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - thisObject->m_stdin.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue SubprocessPrototype__writableGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSSubprocess*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_stdin.get()); - } - - - -void JSSubprocessPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSSubprocess::info(), JSSubprocessPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" bool Subprocess__hasPendingActivity(void* ptr); - bool JSSubprocess::hasPendingActivity(void* ctx) { - return Subprocess__hasPendingActivity(ctx); - } - -JSSubprocess::~JSSubprocess() -{ - if (m_ctx) { - SubprocessClass__finalize(m_ctx); - } -} -void JSSubprocess::destroy(JSCell* cell) -{ - static_cast<JSSubprocess*>(cell)->JSSubprocess::~JSSubprocess(); -} - -const ClassInfo JSSubprocess::s_info = { "Subprocess"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSubprocess) }; - -void JSSubprocess::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSSubprocess* JSSubprocess::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSSubprocess* ptr = new (NotNull, JSC::allocateCell<JSSubprocess>(vm)) JSSubprocess(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Subprocess__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSSubprocess* object = JSC::jsDynamicCast<JSSubprocess*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Subprocess__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSSubprocess* object = JSC::jsDynamicCast<JSSubprocess*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Subprocess__ptrOffset = JSSubprocess::offsetOfWrapped(); - -void JSSubprocess::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSSubprocess*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSSubprocess::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSSubprocessPrototype::create(vm, globalObject, JSSubprocessPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Subprocess__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSSubprocessStructure(); - JSSubprocess* instance = JSSubprocess::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSSubprocess::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSSubprocess* thisObject = jsCast<JSSubprocess*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSSubprocess); - -template<typename Visitor> -void JSSubprocess::visitAdditionalChildren(Visitor& visitor) -{ - JSSubprocess* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_stderr); - visitor.append(thisObject->m_stdin); - visitor.append(thisObject->m_stdout); - visitor.addOpaqueRoot(this->wrapped()); -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSSubprocess); - -template<typename Visitor> -void JSSubprocess::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSSubprocess* thisObject = jsCast<JSSubprocess*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSSubprocess); - class JSTCPSocketPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSTCPSocketPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSTCPSocketPrototype* ptr = new (NotNull, JSC::allocateCell<JSTCPSocketPrototype>(vm)) JSTCPSocketPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTCPSocketPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSTCPSocketPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* TCPSocketClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsTCPSocketConstructor); - - - - - -extern "C" void TCPSocketClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue TCPSocketPrototype__getALPNProtocol(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TCPSocketPrototype__alpnProtocolGetterWrap); - - -extern "C" JSC::EncodedJSValue TCPSocketPrototype__getAuthorized(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TCPSocketPrototype__authorizedGetterWrap); - - -extern "C" JSC::EncodedJSValue TCPSocketPrototype__getData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TCPSocketPrototype__dataGetterWrap); - - -extern "C" bool TCPSocketPrototype__setData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::EncodedJSValue value); -JSC_DECLARE_CUSTOM_SETTER(TCPSocketPrototype__dataSetterWrap); - - -extern "C" EncodedJSValue TCPSocketPrototype__end(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__endCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__exportKeyingMaterial(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__exportKeyingMaterialCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__flush(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__flushCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getAuthorizationError(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getAuthorizationErrorCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getCertificate(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getCertificateCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getCipher(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getCipherCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getEphemeralKeyInfo(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getEphemeralKeyInfoCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getPeerCertificate(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getPeerCertificateCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getSession(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getSessionCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getSharedSigalgs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getSharedSigalgsCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getTLSFinishedMessage(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getTLSFinishedMessageCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getTLSPeerFinishedMessage(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getTLSPeerFinishedMessageCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getTLSTicket(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getTLSTicketCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__getTLSVersion(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__getTLSVersionCallback); - - -extern "C" JSC::EncodedJSValue TCPSocketPrototype__getListener(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TCPSocketPrototype__listenerGetterWrap); - - -extern "C" JSC::EncodedJSValue TCPSocketPrototype__getLocalPort(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TCPSocketPrototype__localPortGetterWrap); - - -extern "C" JSC::EncodedJSValue TCPSocketPrototype__getReadyState(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TCPSocketPrototype__readyStateGetterWrap); - - -extern "C" EncodedJSValue TCPSocketPrototype__ref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__refCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__reload(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__reloadCallback); - - -extern "C" JSC::EncodedJSValue TCPSocketPrototype__getRemoteAddress(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TCPSocketPrototype__remoteAddressGetterWrap); - - -extern "C" EncodedJSValue TCPSocketPrototype__setMaxSendFragment(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__setMaxSendFragmentCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__setServername(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__setServernameCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__setSession(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__setSessionCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__shutdown(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__shutdownCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__timeout(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__timeoutCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__unref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__unrefCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__upgradeTLS(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__upgradeTLSCallback); - - -extern "C" EncodedJSValue TCPSocketPrototype__write(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TCPSocketPrototype__writeCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTCPSocketPrototype, JSTCPSocketPrototype::Base); - - - static const HashTableValue JSTCPSocketPrototypeTableValues[] = { -{ "alpnProtocol"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TCPSocketPrototype__alpnProtocolGetterWrap, 0 } } , -{ "authorized"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TCPSocketPrototype__authorizedGetterWrap, 0 } } , -{ "data"_s, static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TCPSocketPrototype__dataGetterWrap, TCPSocketPrototype__dataSetterWrap } } , -{ "end"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__endCallback, 3 } } , -{ "exportKeyingMaterial"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__exportKeyingMaterialCallback, 3 } } , -{ "flush"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__flushCallback, 0 } } , -{ "getAuthorizationError"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getAuthorizationErrorCallback, 0 } } , -{ "getCertificate"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getCertificateCallback, 0 } } , -{ "getCipher"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getCipherCallback, 0 } } , -{ "getEphemeralKeyInfo"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getEphemeralKeyInfoCallback, 0 } } , -{ "getPeerCertificate"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getPeerCertificateCallback, 1 } } , -{ "getSession"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getSessionCallback, 0 } } , -{ "getSharedSigalgs"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getSharedSigalgsCallback, 0 } } , -{ "getTLSFinishedMessage"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getTLSFinishedMessageCallback, 0 } } , -{ "getTLSPeerFinishedMessage"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getTLSPeerFinishedMessageCallback, 0 } } , -{ "getTLSTicket"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getTLSTicketCallback, 0 } } , -{ "getTLSVersion"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__getTLSVersionCallback, 0 } } , -{ "listener"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TCPSocketPrototype__listenerGetterWrap, 0 } } , -{ "localPort"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TCPSocketPrototype__localPortGetterWrap, 0 } } , -{ "readyState"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TCPSocketPrototype__readyStateGetterWrap, 0 } } , -{ "ref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__refCallback, 0 } } , -{ "reload"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__reloadCallback, 1 } } , -{ "remoteAddress"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TCPSocketPrototype__remoteAddressGetterWrap, 0 } } , -{ "setMaxSendFragment"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__setMaxSendFragmentCallback, 1 } } , -{ "setServername"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__setServernameCallback, 1 } } , -{ "setSession"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__setSessionCallback, 0 } } , -{ "shutdown"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__shutdownCallback, 1 } } , -{ "timeout"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__timeoutCallback, 1 } } , -{ "unref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__unrefCallback, 0 } } , -{ "upgradeTLS"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__upgradeTLSCallback, 1 } } , -{ "write"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TCPSocketPrototype__writeCallback, 3 } } -}; - - - -const ClassInfo JSTCPSocketPrototype::s_info = { "TCPSocket"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTCPSocketPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsTCPSocketConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSTCPSocketPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for TCPSocket"_s); - return JSValue::encode(globalObject->JSTCPSocketConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(TCPSocketPrototype__alpnProtocolGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TCPSocketPrototype__getALPNProtocol(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(TCPSocketPrototype__authorizedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TCPSocketPrototype__getAuthorized(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(TCPSocketPrototype__dataGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_data.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - TCPSocketPrototype__getData(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_data.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void TCPSocketPrototype__dataSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - thisObject->m_data.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue TCPSocketPrototype__dataGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_data.get()); - } - - - -JSC_DEFINE_CUSTOM_SETTER(TCPSocketPrototype__dataSetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - auto result = TCPSocketPrototype__setData(thisObject->wrapped(), lexicalGlobalObject, encodedValue); - - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__endCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__end(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__exportKeyingMaterialCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__exportKeyingMaterial(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__flushCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__flush(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getAuthorizationErrorCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getAuthorizationError(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getCertificateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getCertificate(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getCipherCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getCipher(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getEphemeralKeyInfoCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getEphemeralKeyInfo(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getPeerCertificateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getPeerCertificate(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getSessionCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getSession(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getSharedSigalgsCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getSharedSigalgs(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getTLSFinishedMessageCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getTLSFinishedMessage(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getTLSPeerFinishedMessageCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getTLSPeerFinishedMessage(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getTLSTicketCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getTLSTicket(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__getTLSVersionCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__getTLSVersion(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(TCPSocketPrototype__listenerGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TCPSocketPrototype__getListener(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(TCPSocketPrototype__localPortGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TCPSocketPrototype__getLocalPort(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(TCPSocketPrototype__readyStateGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TCPSocketPrototype__getReadyState(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__refCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__ref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__reloadCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__reload(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(TCPSocketPrototype__remoteAddressGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_remoteAddress.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - TCPSocketPrototype__getRemoteAddress(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_remoteAddress.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void TCPSocketPrototype__remoteAddressSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - thisObject->m_remoteAddress.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue TCPSocketPrototype__remoteAddressGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSTCPSocket*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_remoteAddress.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__setMaxSendFragmentCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__setMaxSendFragment(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__setServernameCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__setServername(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__setSessionCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__setSession(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__shutdownCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__shutdown(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__timeoutCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__timeout(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__unrefCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__unref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__upgradeTLSCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__upgradeTLS(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TCPSocketPrototype__writeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTCPSocket* thisObject = jsDynamicCast<JSTCPSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TCPSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TCPSocketPrototype__write(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSTCPSocketPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSTCPSocket::info(), JSTCPSocketPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" bool TCPSocket__hasPendingActivity(void* ptr); - bool JSTCPSocket::hasPendingActivity(void* ctx) { - return TCPSocket__hasPendingActivity(ctx); - } - -JSTCPSocket::~JSTCPSocket() -{ - if (m_ctx) { - TCPSocketClass__finalize(m_ctx); - } -} -void JSTCPSocket::destroy(JSCell* cell) -{ - static_cast<JSTCPSocket*>(cell)->JSTCPSocket::~JSTCPSocket(); -} - -const ClassInfo JSTCPSocket::s_info = { "TCPSocket"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTCPSocket) }; - -void JSTCPSocket::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSTCPSocket* JSTCPSocket::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSTCPSocket* ptr = new (NotNull, JSC::allocateCell<JSTCPSocket>(vm)) JSTCPSocket(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* TCPSocket__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSTCPSocket* object = JSC::jsDynamicCast<JSTCPSocket*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool TCPSocket__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSTCPSocket* object = JSC::jsDynamicCast<JSTCPSocket*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t TCPSocket__ptrOffset = JSTCPSocket::offsetOfWrapped(); - -void JSTCPSocket::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSTCPSocket*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSTCPSocket::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSTCPSocketPrototype::create(vm, globalObject, JSTCPSocketPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue TCPSocket__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSTCPSocketStructure(); - JSTCPSocket* instance = JSTCPSocket::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSTCPSocket::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSTCPSocket); - -template<typename Visitor> -void JSTCPSocket::visitAdditionalChildren(Visitor& visitor) -{ - JSTCPSocket* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_data); - visitor.append(thisObject->m_remoteAddress); - visitor.addOpaqueRoot(this->wrapped()); -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSTCPSocket); - -template<typename Visitor> -void JSTCPSocket::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSTCPSocket* thisObject = jsCast<JSTCPSocket*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSTCPSocket); - class JSTLSSocketPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSTLSSocketPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSTLSSocketPrototype* ptr = new (NotNull, JSC::allocateCell<JSTLSSocketPrototype>(vm)) JSTLSSocketPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTLSSocketPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSTLSSocketPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* TLSSocketClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsTLSSocketConstructor); - - - - - -extern "C" void TLSSocketClass__finalize(void*); - - -extern "C" JSC::EncodedJSValue TLSSocketPrototype__getALPNProtocol(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TLSSocketPrototype__alpnProtocolGetterWrap); - - -extern "C" JSC::EncodedJSValue TLSSocketPrototype__getAuthorized(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TLSSocketPrototype__authorizedGetterWrap); - - -extern "C" JSC::EncodedJSValue TLSSocketPrototype__getData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TLSSocketPrototype__dataGetterWrap); - - -extern "C" bool TLSSocketPrototype__setData(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::EncodedJSValue value); -JSC_DECLARE_CUSTOM_SETTER(TLSSocketPrototype__dataSetterWrap); - - -extern "C" EncodedJSValue TLSSocketPrototype__end(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__endCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__exportKeyingMaterial(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__exportKeyingMaterialCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__flush(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__flushCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getAuthorizationError(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getAuthorizationErrorCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getCertificate(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getCertificateCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getCipher(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getCipherCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getEphemeralKeyInfo(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getEphemeralKeyInfoCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getPeerCertificate(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getPeerCertificateCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getSession(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getSessionCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getSharedSigalgs(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getSharedSigalgsCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getTLSFinishedMessage(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getTLSFinishedMessageCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getTLSPeerFinishedMessage(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getTLSPeerFinishedMessageCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getTLSTicket(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getTLSTicketCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__getTLSVersion(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__getTLSVersionCallback); - - -extern "C" JSC::EncodedJSValue TLSSocketPrototype__getListener(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TLSSocketPrototype__listenerGetterWrap); - - -extern "C" JSC::EncodedJSValue TLSSocketPrototype__getLocalPort(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TLSSocketPrototype__localPortGetterWrap); - - -extern "C" JSC::EncodedJSValue TLSSocketPrototype__getReadyState(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TLSSocketPrototype__readyStateGetterWrap); - - -extern "C" EncodedJSValue TLSSocketPrototype__ref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__refCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__reload(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__reloadCallback); - - -extern "C" JSC::EncodedJSValue TLSSocketPrototype__getRemoteAddress(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TLSSocketPrototype__remoteAddressGetterWrap); - - -extern "C" EncodedJSValue TLSSocketPrototype__setMaxSendFragment(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__setMaxSendFragmentCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__setServername(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__setServernameCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__setSession(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__setSessionCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__shutdown(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__shutdownCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__timeout(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__timeoutCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__unref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__unrefCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__upgradeTLS(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__upgradeTLSCallback); - - -extern "C" EncodedJSValue TLSSocketPrototype__write(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TLSSocketPrototype__writeCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTLSSocketPrototype, JSTLSSocketPrototype::Base); - - - static const HashTableValue JSTLSSocketPrototypeTableValues[] = { -{ "alpnProtocol"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TLSSocketPrototype__alpnProtocolGetterWrap, 0 } } , -{ "authorized"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TLSSocketPrototype__authorizedGetterWrap, 0 } } , -{ "data"_s, static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TLSSocketPrototype__dataGetterWrap, TLSSocketPrototype__dataSetterWrap } } , -{ "end"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__endCallback, 3 } } , -{ "exportKeyingMaterial"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__exportKeyingMaterialCallback, 3 } } , -{ "flush"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__flushCallback, 0 } } , -{ "getAuthorizationError"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getAuthorizationErrorCallback, 0 } } , -{ "getCertificate"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getCertificateCallback, 0 } } , -{ "getCipher"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getCipherCallback, 0 } } , -{ "getEphemeralKeyInfo"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getEphemeralKeyInfoCallback, 0 } } , -{ "getPeerCertificate"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getPeerCertificateCallback, 1 } } , -{ "getSession"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getSessionCallback, 0 } } , -{ "getSharedSigalgs"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getSharedSigalgsCallback, 0 } } , -{ "getTLSFinishedMessage"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getTLSFinishedMessageCallback, 0 } } , -{ "getTLSPeerFinishedMessage"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getTLSPeerFinishedMessageCallback, 0 } } , -{ "getTLSTicket"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getTLSTicketCallback, 0 } } , -{ "getTLSVersion"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__getTLSVersionCallback, 0 } } , -{ "listener"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TLSSocketPrototype__listenerGetterWrap, 0 } } , -{ "localPort"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TLSSocketPrototype__localPortGetterWrap, 0 } } , -{ "readyState"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TLSSocketPrototype__readyStateGetterWrap, 0 } } , -{ "ref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__refCallback, 0 } } , -{ "reload"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__reloadCallback, 1 } } , -{ "remoteAddress"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TLSSocketPrototype__remoteAddressGetterWrap, 0 } } , -{ "setMaxSendFragment"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__setMaxSendFragmentCallback, 1 } } , -{ "setServername"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__setServernameCallback, 1 } } , -{ "setSession"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__setSessionCallback, 0 } } , -{ "shutdown"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__shutdownCallback, 1 } } , -{ "timeout"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__timeoutCallback, 1 } } , -{ "unref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__unrefCallback, 0 } } , -{ "upgradeTLS"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__upgradeTLSCallback, 1 } } , -{ "write"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TLSSocketPrototype__writeCallback, 3 } } -}; - - - -const ClassInfo JSTLSSocketPrototype::s_info = { "TLSSocket"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTLSSocketPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsTLSSocketConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSTLSSocketPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for TLSSocket"_s); - return JSValue::encode(globalObject->JSTLSSocketConstructor()); -} - - - -JSC_DEFINE_CUSTOM_GETTER(TLSSocketPrototype__alpnProtocolGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TLSSocketPrototype__getALPNProtocol(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(TLSSocketPrototype__authorizedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TLSSocketPrototype__getAuthorized(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(TLSSocketPrototype__dataGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_data.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - TLSSocketPrototype__getData(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_data.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void TLSSocketPrototype__dataSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - thisObject->m_data.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue TLSSocketPrototype__dataGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_data.get()); - } - - - -JSC_DEFINE_CUSTOM_SETTER(TLSSocketPrototype__dataSetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - auto result = TLSSocketPrototype__setData(thisObject->wrapped(), lexicalGlobalObject, encodedValue); - - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__endCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__end(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__exportKeyingMaterialCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__exportKeyingMaterial(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__flushCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__flush(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getAuthorizationErrorCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getAuthorizationError(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getCertificateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getCertificate(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getCipherCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getCipher(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getEphemeralKeyInfoCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getEphemeralKeyInfo(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getPeerCertificateCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getPeerCertificate(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getSessionCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getSession(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getSharedSigalgsCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getSharedSigalgs(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getTLSFinishedMessageCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getTLSFinishedMessage(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getTLSPeerFinishedMessageCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getTLSPeerFinishedMessage(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getTLSTicketCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getTLSTicket(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__getTLSVersionCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__getTLSVersion(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(TLSSocketPrototype__listenerGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TLSSocketPrototype__getListener(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(TLSSocketPrototype__localPortGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TLSSocketPrototype__getLocalPort(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(TLSSocketPrototype__readyStateGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TLSSocketPrototype__getReadyState(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__refCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__ref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__reloadCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__reload(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(TLSSocketPrototype__remoteAddressGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_remoteAddress.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - TLSSocketPrototype__getRemoteAddress(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_remoteAddress.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void TLSSocketPrototype__remoteAddressSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - thisObject->m_remoteAddress.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue TLSSocketPrototype__remoteAddressGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSTLSSocket*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_remoteAddress.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__setMaxSendFragmentCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__setMaxSendFragment(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__setServernameCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__setServername(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__setSessionCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__setSession(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__shutdownCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__shutdown(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__timeoutCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__timeout(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__unrefCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__unref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__upgradeTLSCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__upgradeTLS(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TLSSocketPrototype__writeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTLSSocket* thisObject = jsDynamicCast<JSTLSSocket*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TLSSocket"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TLSSocketPrototype__write(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSTLSSocketPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSTLSSocket::info(), JSTLSSocketPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -extern "C" bool TLSSocket__hasPendingActivity(void* ptr); - bool JSTLSSocket::hasPendingActivity(void* ctx) { - return TLSSocket__hasPendingActivity(ctx); - } - -JSTLSSocket::~JSTLSSocket() -{ - if (m_ctx) { - TLSSocketClass__finalize(m_ctx); - } -} -void JSTLSSocket::destroy(JSCell* cell) -{ - static_cast<JSTLSSocket*>(cell)->JSTLSSocket::~JSTLSSocket(); -} - -const ClassInfo JSTLSSocket::s_info = { "TLSSocket"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTLSSocket) }; - -void JSTLSSocket::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSTLSSocket* JSTLSSocket::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSTLSSocket* ptr = new (NotNull, JSC::allocateCell<JSTLSSocket>(vm)) JSTLSSocket(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* TLSSocket__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSTLSSocket* object = JSC::jsDynamicCast<JSTLSSocket*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool TLSSocket__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSTLSSocket* object = JSC::jsDynamicCast<JSTLSSocket*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t TLSSocket__ptrOffset = JSTLSSocket::offsetOfWrapped(); - -void JSTLSSocket::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSTLSSocket*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSTLSSocket::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSTLSSocketPrototype::create(vm, globalObject, JSTLSSocketPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue TLSSocket__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSTLSSocketStructure(); - JSTLSSocket* instance = JSTLSSocket::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSTLSSocket::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSTLSSocket); - -template<typename Visitor> -void JSTLSSocket::visitAdditionalChildren(Visitor& visitor) -{ - JSTLSSocket* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_data); - visitor.append(thisObject->m_remoteAddress); - visitor.addOpaqueRoot(this->wrapped()); -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSTLSSocket); - -template<typename Visitor> -void JSTLSSocket::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSTLSSocket* thisObject = jsCast<JSTLSSocket*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSTLSSocket); - class JSTextChunkPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSTextChunkPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSTextChunkPrototype* ptr = new (NotNull, JSC::allocateCell<JSTextChunkPrototype>(vm)) JSTextChunkPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTextChunkPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSTextChunkPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void* TextChunkClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsTextChunkConstructor); - - - - - -extern "C" void TextChunkClass__finalize(void*); - - -extern "C" EncodedJSValue TextChunkPrototype__after(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TextChunkPrototype__afterCallback); - - -extern "C" EncodedJSValue TextChunkPrototype__before(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TextChunkPrototype__beforeCallback); - - -extern "C" JSC::EncodedJSValue TextChunkPrototype__lastInTextNode(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TextChunkPrototype__lastInTextNodeGetterWrap); - - -extern "C" EncodedJSValue TextChunkPrototype__remove(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TextChunkPrototype__removeCallback); - - -extern "C" JSC::EncodedJSValue TextChunkPrototype__removed(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TextChunkPrototype__removedGetterWrap); - - -extern "C" EncodedJSValue TextChunkPrototype__replace(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TextChunkPrototype__replaceCallback); - - -extern "C" JSC::EncodedJSValue TextChunkPrototype__getText(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TextChunkPrototype__textGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTextChunkPrototype, JSTextChunkPrototype::Base); - - - static const HashTableValue JSTextChunkPrototypeTableValues[] = { -{ "after"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TextChunkPrototype__afterCallback, 1 } } , -{ "before"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TextChunkPrototype__beforeCallback, 1 } } , -{ "lastInTextNode"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TextChunkPrototype__lastInTextNodeGetterWrap, 0 } } , -{ "remove"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TextChunkPrototype__removeCallback, 0 } } , -{ "removed"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TextChunkPrototype__removedGetterWrap, 0 } } , -{ "replace"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TextChunkPrototype__replaceCallback, 1 } } , -{ "text"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TextChunkPrototype__textGetterWrap, 0 } } -}; - - - -const ClassInfo JSTextChunkPrototype::s_info = { "TextChunk"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTextChunkPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsTextChunkConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSTextChunkPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for TextChunk"_s); - return JSValue::encode(globalObject->JSTextChunkConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(TextChunkPrototype__afterCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTextChunk* thisObject = jsDynamicCast<JSTextChunk*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TextChunk"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TextChunkPrototype__after(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TextChunkPrototype__beforeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTextChunk* thisObject = jsDynamicCast<JSTextChunk*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TextChunk"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TextChunkPrototype__before(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(TextChunkPrototype__lastInTextNodeGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTextChunk* thisObject = jsCast<JSTextChunk*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_lastInTextNode.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - TextChunkPrototype__lastInTextNode(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_lastInTextNode.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void TextChunkPrototype__lastInTextNodeSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSTextChunk*>(JSValue::decode(thisValue)); - thisObject->m_lastInTextNode.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue TextChunkPrototype__lastInTextNodeGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSTextChunk*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_lastInTextNode.get()); - } - - - - JSC_DEFINE_HOST_FUNCTION(TextChunkPrototype__removeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTextChunk* thisObject = jsDynamicCast<JSTextChunk*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TextChunk"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TextChunkPrototype__remove(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(TextChunkPrototype__removedGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTextChunk* thisObject = jsCast<JSTextChunk*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TextChunkPrototype__removed(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - - JSC_DEFINE_HOST_FUNCTION(TextChunkPrototype__replaceCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTextChunk* thisObject = jsDynamicCast<JSTextChunk*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TextChunk"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TextChunkPrototype__replace(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(TextChunkPrototype__textGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTextChunk* thisObject = jsCast<JSTextChunk*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TextChunkPrototype__getText(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -void JSTextChunkPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSTextChunk::info(), JSTextChunkPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSTextChunk::~JSTextChunk() -{ - if (m_ctx) { - TextChunkClass__finalize(m_ctx); - } -} -void JSTextChunk::destroy(JSCell* cell) -{ - static_cast<JSTextChunk*>(cell)->JSTextChunk::~JSTextChunk(); -} - -const ClassInfo JSTextChunk::s_info = { "TextChunk"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTextChunk) }; - -void JSTextChunk::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSTextChunk* JSTextChunk::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSTextChunk* ptr = new (NotNull, JSC::allocateCell<JSTextChunk>(vm)) JSTextChunk(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* TextChunk__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSTextChunk* object = JSC::jsDynamicCast<JSTextChunk*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool TextChunk__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSTextChunk* object = JSC::jsDynamicCast<JSTextChunk*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t TextChunk__ptrOffset = JSTextChunk::offsetOfWrapped(); - -void JSTextChunk::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSTextChunk*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSTextChunk::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSTextChunkPrototype::create(vm, globalObject, JSTextChunkPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue TextChunk__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSTextChunkStructure(); - JSTextChunk* instance = JSTextChunk::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSTextChunk::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSTextChunk* thisObject = jsCast<JSTextChunk*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSTextChunk); - -template<typename Visitor> -void JSTextChunk::visitAdditionalChildren(Visitor& visitor) -{ - JSTextChunk* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_lastInTextNode); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSTextChunk); - -template<typename Visitor> -void JSTextChunk::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSTextChunk* thisObject = jsCast<JSTextChunk*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSTextChunk); - class JSTextDecoderPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSTextDecoderPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSTextDecoderPrototype* ptr = new (NotNull, JSC::allocateCell<JSTextDecoderPrototype>(vm)) JSTextDecoderPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTextDecoderPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSTextDecoderPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSTextDecoderConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSTextDecoderConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSTextDecoderPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSTextDecoderConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForTextDecoderConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTextDecoderConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForTextDecoderConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForTextDecoderConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSTextDecoderPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSTextDecoderConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSTextDecoderPrototype* prototype); - }; - - -extern "C" void* TextDecoderClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsTextDecoderConstructor); - - - - - -extern "C" void TextDecoderClass__finalize(void*); - - -extern "C" EncodedJSValue TextDecoderPrototype__decode(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TextDecoderPrototype__decodeCallback); - - -extern "C" JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(TextDecoderPrototype__decodeWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg0)); - extern "C" EncodedJSValue TextDecoderPrototype__decodeWithoutTypeChecks(void* ptr, JSC::JSGlobalObject * lexicalGlobalObject, JSC::JSUint8Array* arg0); - - static const JSC::DOMJIT::Signature DOMJITSignatureForTextDecoderPrototype__decode(TextDecoderPrototype__decodeWithoutTypeChecksWrapper, - JSTextDecoder::info(), - JSC::DOMJIT::Effect::forReadWrite(JSC::DOMJIT::HeapRange::top(), JSC::DOMJIT::HeapRange::top()), - JSC::SpecString, JSC::SpecUint8Array); - -JSC_DEFINE_JIT_OPERATION(TextDecoderPrototype__decodeWithoutTypeChecksWrapper, EncodedJSValue, (JSC::JSGlobalObject * lexicalGlobalObject, void* thisValue, JSC::JSUint8Array* arg0)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - IGNORE_WARNINGS_BEGIN("frame-address") - CallFrame* callFrame = DECLARE_CALL_FRAME(vm); - IGNORE_WARNINGS_END - JSC::JITOperationPrologueCallFrameTracer tracer(vm, callFrame); - return TextDecoderPrototype__decodeWithoutTypeChecks(reinterpret_cast<JSTextDecoder*>(thisValue)->wrapped(), lexicalGlobalObject, arg0); -} - -extern "C" JSC::EncodedJSValue TextDecoderPrototype__getEncoding(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TextDecoderPrototype__encodingGetterWrap); - - -extern "C" JSC::EncodedJSValue TextDecoderPrototype__getFatal(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TextDecoderPrototype__fatalGetterWrap); - - -extern "C" JSC::EncodedJSValue TextDecoderPrototype__getIgnoreBOM(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject); -JSC_DECLARE_CUSTOM_GETTER(TextDecoderPrototype__ignoreBOMGetterWrap); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTextDecoderPrototype, JSTextDecoderPrototype::Base); - - - static const HashTableValue JSTextDecoderPrototypeTableValues[] = { -{ "decode"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DOMJITFunction | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::DOMJITFunctionType, TextDecoderPrototype__decodeCallback, &DOMJITSignatureForTextDecoderPrototype__decode } } , -{ "encoding"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TextDecoderPrototype__encodingGetterWrap, 0 } } , -{ "fatal"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TextDecoderPrototype__fatalGetterWrap, 0 } } , -{ "ignoreBOM"_s, static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::GetterSetterType, TextDecoderPrototype__ignoreBOMGetterWrap, 0 } } -}; - - - -const ClassInfo JSTextDecoderPrototype::s_info = { "TextDecoder"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTextDecoderPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsTextDecoderConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSTextDecoderPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for TextDecoder"_s); - return JSValue::encode(globalObject->JSTextDecoderConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(TextDecoderPrototype__decodeCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTextDecoder* thisObject = jsDynamicCast<JSTextDecoder*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof TextDecoder"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TextDecoderPrototype__decode(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -JSC_DEFINE_CUSTOM_GETTER(TextDecoderPrototype__encodingGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTextDecoder* thisObject = jsCast<JSTextDecoder*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - if (JSValue cachedValue = thisObject->m_encoding.get()) - return JSValue::encode(cachedValue); - - JSC::JSValue result = JSC::JSValue::decode( - TextDecoderPrototype__getEncoding(thisObject->wrapped(), globalObject) - ); - RETURN_IF_EXCEPTION(throwScope, {}); - thisObject->m_encoding.set(vm, thisObject, result); - RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); -} - - - extern "C" void TextDecoderPrototype__encodingSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSTextDecoder*>(JSValue::decode(thisValue)); - thisObject->m_encoding.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue TextDecoderPrototype__encodingGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSTextDecoder*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_encoding.get()); - } - - - -JSC_DEFINE_CUSTOM_GETTER(TextDecoderPrototype__fatalGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTextDecoder* thisObject = jsCast<JSTextDecoder*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TextDecoderPrototype__getFatal(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -JSC_DEFINE_CUSTOM_GETTER(TextDecoderPrototype__ignoreBOMGetterWrap, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName)) -{ - auto& vm = lexicalGlobalObject->vm(); - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - JSTextDecoder* thisObject = jsCast<JSTextDecoder*>(JSValue::decode(thisValue)); - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - JSC::EncodedJSValue result = TextDecoderPrototype__getIgnoreBOM(thisObject->wrapped(), globalObject); - RETURN_IF_EXCEPTION(throwScope, {}); - RELEASE_AND_RETURN(throwScope, result); -} - - -void JSTextDecoderPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSTextDecoder::info(), JSTextDecoderPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSTextDecoderConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSTextDecoderPrototype* prototype) -{ - Base::finishCreation(vm, 0, "TextDecoder"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSTextDecoderConstructor::JSTextDecoderConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSTextDecoderConstructor* JSTextDecoderConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSTextDecoderPrototype* prototype) { - JSTextDecoderConstructor* ptr = new (NotNull, JSC::allocateCell<JSTextDecoderConstructor>(vm)) JSTextDecoderConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSTextDecoderConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSTextDecoderConstructor(); - Structure* structure = globalObject->JSTextDecoderStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSTextDecoderStructure() - ); - } - - void* ptr = TextDecoderClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSTextDecoder* instance = JSTextDecoder::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSTextDecoderConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSTextDecoderPrototype* prototype) -{ - -} - -const ClassInfo JSTextDecoderConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTextDecoderConstructor) }; - - - extern "C" EncodedJSValue TextDecoder__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSTextDecoderConstructor()); - } - -JSTextDecoder::~JSTextDecoder() -{ - if (m_ctx) { - TextDecoderClass__finalize(m_ctx); - } -} -void JSTextDecoder::destroy(JSCell* cell) -{ - static_cast<JSTextDecoder*>(cell)->JSTextDecoder::~JSTextDecoder(); -} - -const ClassInfo JSTextDecoder::s_info = { "TextDecoder"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTextDecoder) }; - -void JSTextDecoder::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSTextDecoder* JSTextDecoder::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSTextDecoder* ptr = new (NotNull, JSC::allocateCell<JSTextDecoder>(vm)) JSTextDecoder(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* TextDecoder__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSTextDecoder* object = JSC::jsDynamicCast<JSTextDecoder*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool TextDecoder__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSTextDecoder* object = JSC::jsDynamicCast<JSTextDecoder*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t TextDecoder__ptrOffset = JSTextDecoder::offsetOfWrapped(); - -void JSTextDecoder::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSTextDecoder*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSTextDecoder::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSTextDecoderConstructor::create(vm, globalObject, WebCore::JSTextDecoderConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSTextDecoderPrototype*>(prototype)); -} - -JSObject* JSTextDecoder::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSTextDecoderPrototype::create(vm, globalObject, JSTextDecoderPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue TextDecoder__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSTextDecoderStructure(); - JSTextDecoder* instance = JSTextDecoder::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSTextDecoder::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSTextDecoder* thisObject = jsCast<JSTextDecoder*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSTextDecoder); - -template<typename Visitor> -void JSTextDecoder::visitAdditionalChildren(Visitor& visitor) -{ - JSTextDecoder* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - - visitor.append(thisObject->m_encoding); - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSTextDecoder); - -template<typename Visitor> -void JSTextDecoder::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSTextDecoder* thisObject = jsCast<JSTextDecoder*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSTextDecoder); - class JSTimeoutPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSTimeoutPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSTimeoutPrototype* ptr = new (NotNull, JSC::allocateCell<JSTimeoutPrototype>(vm)) JSTimeoutPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTimeoutPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSTimeoutPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -extern "C" void TimeoutClass__finalize(void*); - - -extern "C" EncodedJSValue TimeoutPrototype__toPrimitive(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TimeoutPrototype__toPrimitiveCallback); - - -extern "C" EncodedJSValue TimeoutPrototype__hasRef(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TimeoutPrototype__hasRefCallback); - - -extern "C" EncodedJSValue TimeoutPrototype__doRef(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TimeoutPrototype__refCallback); - - -extern "C" EncodedJSValue TimeoutPrototype__doRefresh(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TimeoutPrototype__refreshCallback); - - -extern "C" EncodedJSValue TimeoutPrototype__doUnref(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TimeoutPrototype__unrefCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTimeoutPrototype, JSTimeoutPrototype::Base); - - - static const HashTableValue JSTimeoutPrototypeTableValues[] = { -{ "hasRef"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TimeoutPrototype__hasRefCallback, 0 } } , -{ "ref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TimeoutPrototype__refCallback, 0 } } , -{ "refresh"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TimeoutPrototype__refreshCallback, 0 } } , -{ "unref"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TimeoutPrototype__unrefCallback, 0 } } -}; - - - -const ClassInfo JSTimeoutPrototype::s_info = { "Timeout"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTimeoutPrototype) }; - - - JSC_DEFINE_HOST_FUNCTION(TimeoutPrototype__toPrimitiveCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTimeout* thisObject = jsDynamicCast<JSTimeout*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Timeout"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TimeoutPrototype__toPrimitive(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TimeoutPrototype__hasRefCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTimeout* thisObject = jsDynamicCast<JSTimeout*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Timeout"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TimeoutPrototype__hasRef(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TimeoutPrototype__refCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTimeout* thisObject = jsDynamicCast<JSTimeout*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Timeout"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TimeoutPrototype__doRef(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TimeoutPrototype__refreshCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTimeout* thisObject = jsDynamicCast<JSTimeout*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Timeout"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TimeoutPrototype__doRefresh(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TimeoutPrototype__unrefCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTimeout* thisObject = jsDynamicCast<JSTimeout*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Timeout"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TimeoutPrototype__doUnref(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - - extern "C" void TimeoutPrototype__argumentsSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSTimeout*>(JSValue::decode(thisValue)); - thisObject->m_arguments.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue TimeoutPrototype__argumentsGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSTimeout*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_arguments.get()); - } - - - - - extern "C" void TimeoutPrototype__callbackSetCachedValue(JSC::EncodedJSValue thisValue, JSC::JSGlobalObject *globalObject, JSC::EncodedJSValue value) - { - auto& vm = globalObject->vm(); - auto* thisObject = jsCast<JSTimeout*>(JSValue::decode(thisValue)); - thisObject->m_callback.set(vm, thisObject, JSValue::decode(value)); - } - - extern "C" EncodedJSValue TimeoutPrototype__callbackGetCachedValue(JSC::EncodedJSValue thisValue) - { - auto* thisObject = jsCast<JSTimeout*>(JSValue::decode(thisValue)); - return JSValue::encode(thisObject->m_callback.get()); - } - - - -void JSTimeoutPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSTimeout::info(), JSTimeoutPrototypeTableValues, *this); - this->putDirect(vm, vm.propertyNames->toPrimitiveSymbol, JSFunction::create(vm, globalObject, 1, String("toPrimitive"_s), TimeoutPrototype__toPrimitiveCallback, ImplementationVisibility::Public), PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum | 0); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -JSTimeout::~JSTimeout() -{ - if (m_ctx) { - TimeoutClass__finalize(m_ctx); - } -} -void JSTimeout::destroy(JSCell* cell) -{ - static_cast<JSTimeout*>(cell)->JSTimeout::~JSTimeout(); -} - -const ClassInfo JSTimeout::s_info = { "Timeout"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTimeout) }; - -void JSTimeout::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSTimeout* JSTimeout::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSTimeout* ptr = new (NotNull, JSC::allocateCell<JSTimeout>(vm)) JSTimeout(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Timeout__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSTimeout* object = JSC::jsDynamicCast<JSTimeout*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Timeout__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSTimeout* object = JSC::jsDynamicCast<JSTimeout*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Timeout__ptrOffset = JSTimeout::offsetOfWrapped(); - -void JSTimeout::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSTimeout*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - - - -JSObject* JSTimeout::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSTimeoutPrototype::create(vm, globalObject, JSTimeoutPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Timeout__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSTimeoutStructure(); - JSTimeout* instance = JSTimeout::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - -template<typename Visitor> -void JSTimeout::visitChildrenImpl(JSCell* cell, Visitor& visitor) -{ - JSTimeout* thisObject = jsCast<JSTimeout*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - Base::visitChildren(thisObject, visitor); - - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_CHILDREN(JSTimeout); - -template<typename Visitor> -void JSTimeout::visitAdditionalChildren(Visitor& visitor) -{ - JSTimeout* thisObject = this; - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - visitor.append(thisObject->m_arguments); -visitor.append(thisObject->m_callback); - - -} - -DEFINE_VISIT_ADDITIONAL_CHILDREN(JSTimeout); - -template<typename Visitor> -void JSTimeout::visitOutputConstraintsImpl(JSCell *cell, Visitor& visitor) -{ - JSTimeout* thisObject = jsCast<JSTimeout*>(cell); - ASSERT_GC_OBJECT_INHERITS(thisObject, info()); - thisObject->visitAdditionalChildren<Visitor>(visitor); -} - -DEFINE_VISIT_OUTPUT_CONSTRAINTS(JSTimeout); - class JSTranspilerPrototype final : public JSC::JSNonFinalObject { - public: - using Base = JSC::JSNonFinalObject; - - static JSTranspilerPrototype* create(JSC::VM& vm, JSGlobalObject* globalObject, JSC::Structure* structure) - { - JSTranspilerPrototype* ptr = new (NotNull, JSC::allocateCell<JSTranspilerPrototype>(vm)) JSTranspilerPrototype(vm, globalObject, structure); - ptr->finishCreation(vm, globalObject); - return ptr; - } - - DECLARE_INFO; - template<typename CellType, JSC::SubspaceAccess> - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTranspilerPrototype, Base); - return &vm.plainObjectSpace(); - } - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - private: - JSTranspilerPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure) - : Base(vm, structure) - { - } - - void finishCreation(JSC::VM&, JSC::JSGlobalObject*); - }; - -class JSTranspilerConstructor final : public JSC::InternalFunction { - public: - using Base = JSC::InternalFunction; - static JSTranspilerConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSTranspilerPrototype* prototype); - - static constexpr unsigned StructureFlags = Base::StructureFlags; - static constexpr bool needsDestruction = false; - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info()); - } - - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSTranspilerConstructor, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForTranspilerConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTranspilerConstructor = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForTranspilerConstructor.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForTranspilerConstructor = std::forward<decltype(space)>(space); }); - } - - - void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSTranspilerPrototype* prototype); - - // Must be defined for each specialization class. - static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*); - - DECLARE_EXPORT_INFO; - private: - JSTranspilerConstructor(JSC::VM& vm, JSC::Structure* structure); - void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSTranspilerPrototype* prototype); - }; - - -extern "C" void* TranspilerClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*); -JSC_DECLARE_CUSTOM_GETTER(jsTranspilerConstructor); - - - - - -extern "C" void TranspilerClass__finalize(void*); - - -extern "C" EncodedJSValue TranspilerPrototype__scan(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TranspilerPrototype__scanCallback); - - -extern "C" EncodedJSValue TranspilerPrototype__scanImports(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TranspilerPrototype__scanImportsCallback); - - -extern "C" EncodedJSValue TranspilerPrototype__transform(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TranspilerPrototype__transformCallback); - - -extern "C" EncodedJSValue TranspilerPrototype__transformSync(void* ptr, JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame); -JSC_DECLARE_HOST_FUNCTION(TranspilerPrototype__transformSyncCallback); - - -STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSTranspilerPrototype, JSTranspilerPrototype::Base); - - - static const HashTableValue JSTranspilerPrototypeTableValues[] = { -{ "scan"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TranspilerPrototype__scanCallback, 2 } } , -{ "scanImports"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TranspilerPrototype__scanImportsCallback, 2 } } , -{ "transform"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TranspilerPrototype__transformCallback, 2 } } , -{ "transformSync"_s, static_cast<unsigned>(JSC::PropertyAttribute::Function | PropertyAttribute::DontDelete), NoIntrinsic, { HashTableValue::NativeFunctionType, TranspilerPrototype__transformSyncCallback, 2 } } -}; - - - -const ClassInfo JSTranspilerPrototype::s_info = { "Transpiler"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTranspilerPrototype) }; - - - -JSC_DEFINE_CUSTOM_GETTER(jsTranspilerConstructor, (JSGlobalObject * lexicalGlobalObject, EncodedJSValue thisValue, PropertyName)) -{ - VM& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - auto* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - auto* prototype = jsDynamicCast<JSTranspilerPrototype*>(JSValue::decode(thisValue)); - - if (UNLIKELY(!prototype)) - return throwVMTypeError(lexicalGlobalObject, throwScope, "Cannot get constructor for Transpiler"_s); - return JSValue::encode(globalObject->JSTranspilerConstructor()); -} - - - - JSC_DEFINE_HOST_FUNCTION(TranspilerPrototype__scanCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTranspiler* thisObject = jsDynamicCast<JSTranspiler*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Transpiler"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TranspilerPrototype__scan(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TranspilerPrototype__scanImportsCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTranspiler* thisObject = jsDynamicCast<JSTranspiler*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Transpiler"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TranspilerPrototype__scanImports(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TranspilerPrototype__transformCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTranspiler* thisObject = jsDynamicCast<JSTranspiler*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Transpiler"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TranspilerPrototype__transform(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - - JSC_DEFINE_HOST_FUNCTION(TranspilerPrototype__transformSyncCallback, (JSGlobalObject * lexicalGlobalObject, CallFrame* callFrame)) - { - auto& vm = lexicalGlobalObject->vm(); - - JSTranspiler* thisObject = jsDynamicCast<JSTranspiler*>(callFrame->thisValue()); - - if (UNLIKELY(!thisObject)) { - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwVMTypeError(lexicalGlobalObject, throwScope, "Expected 'this' to be instanceof Transpiler"_s); - return JSValue::encode({}); - } - - JSC::EnsureStillAliveScope thisArg = JSC::EnsureStillAliveScope(thisObject); - - #ifdef BUN_DEBUG - /** View the file name of the JS file that called this function - * from a debugger */ - SourceOrigin sourceOrigin = callFrame->callerSourceOrigin(vm); - const char* fileName = sourceOrigin.string().utf8().data(); - static const char* lastFileName = nullptr; - if (lastFileName != fileName) { - lastFileName = fileName; - } - #endif - - return TranspilerPrototype__transformSync(thisObject->wrapped(), lexicalGlobalObject, callFrame); - } - - -void JSTranspilerPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject) -{ - Base::finishCreation(vm); - reifyStaticProperties(vm, JSTranspiler::info(), JSTranspilerPrototypeTableValues, *this); - JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); -} - -void JSTranspilerConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSTranspilerPrototype* prototype) -{ - Base::finishCreation(vm, 0, "Transpiler"_s, PropertyAdditionMode::WithoutStructureTransition); - - putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); - ASSERT(inherits(info())); -} - -JSTranspilerConstructor::JSTranspilerConstructor(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure, construct, construct) { - - } - -JSTranspilerConstructor* JSTranspilerConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSTranspilerPrototype* prototype) { - JSTranspilerConstructor* ptr = new (NotNull, JSC::allocateCell<JSTranspilerConstructor>(vm)) JSTranspilerConstructor(vm, structure); - ptr->finishCreation(vm, globalObject, prototype); - return ptr; -} - - -JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSTranspilerConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame) -{ - Zig::GlobalObject *globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject); - JSC::VM &vm = globalObject->vm(); - JSObject* newTarget = asObject(callFrame->newTarget()); - auto* constructor = globalObject->JSTranspilerConstructor(); - Structure* structure = globalObject->JSTranspilerStructure(); - if (constructor != newTarget) { - auto scope = DECLARE_THROW_SCOPE(vm); - - auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>( - // ShadowRealm functions belong to a different global object. - getFunctionRealm(globalObject, newTarget) - ); - RETURN_IF_EXCEPTION(scope, {}); - structure = InternalFunction::createSubclassStructure( - globalObject, - newTarget, - functionGlobalObject->JSTranspilerStructure() - ); - } - - void* ptr = TranspilerClass__construct(globalObject, callFrame); - - if (UNLIKELY(!ptr)) { - return JSValue::encode(JSC::jsUndefined()); - } - - JSTranspiler* instance = JSTranspiler::create(vm, globalObject, structure, ptr); - - - return JSValue::encode(instance); -} - -void JSTranspilerConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSTranspilerPrototype* prototype) -{ - -} - -const ClassInfo JSTranspilerConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTranspilerConstructor) }; - - - extern "C" EncodedJSValue Transpiler__getConstructor(Zig::GlobalObject* globalObject) { - return JSValue::encode(globalObject->JSTranspilerConstructor()); - } - -JSTranspiler::~JSTranspiler() -{ - if (m_ctx) { - TranspilerClass__finalize(m_ctx); - } -} -void JSTranspiler::destroy(JSCell* cell) -{ - static_cast<JSTranspiler*>(cell)->JSTranspiler::~JSTranspiler(); -} - -const ClassInfo JSTranspiler::s_info = { "Transpiler"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTranspiler) }; - -void JSTranspiler::finishCreation(VM& vm) -{ - Base::finishCreation(vm); - ASSERT(inherits(info())); -} - - -JSTranspiler* JSTranspiler::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx) { - JSTranspiler* ptr = new (NotNull, JSC::allocateCell<JSTranspiler>(vm)) JSTranspiler(vm, structure, ctx); - ptr->finishCreation(vm); - return ptr; -} - -extern "C" void* Transpiler__fromJS(JSC::EncodedJSValue value) { - JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (decodedValue.isEmpty() || !decodedValue.isCell()) - return nullptr; - - JSC::JSCell* cell = decodedValue.asCell(); - JSTranspiler* object = JSC::jsDynamicCast<JSTranspiler*>(cell); - - if (!object) - return nullptr; - - return object->wrapped(); -} - -extern "C" bool Transpiler__dangerouslySetPtr(JSC::EncodedJSValue value, void* ptr) { - JSTranspiler* object = JSC::jsDynamicCast<JSTranspiler*>(JSValue::decode(value)); - if (!object) - return false; - - object->m_ctx = ptr; - return true; -} - - -extern "C" const size_t Transpiler__ptrOffset = JSTranspiler::offsetOfWrapped(); - -void JSTranspiler::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer) -{ - auto* thisObject = jsCast<JSTranspiler*>(cell); - if (void* wrapped = thisObject->wrapped()) { - // if (thisObject->scriptExecutionContext()) - // analyzer.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string()); - } - Base::analyzeHeap(cell, analyzer); -} - -JSObject* JSTranspiler::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype) -{ - return WebCore::JSTranspilerConstructor::create(vm, globalObject, WebCore::JSTranspilerConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSTranspilerPrototype*>(prototype)); -} - -JSObject* JSTranspiler::createPrototype(VM& vm, JSDOMGlobalObject* globalObject) -{ - return JSTranspilerPrototype::create(vm, globalObject, JSTranspilerPrototype::createStructure(vm, globalObject, globalObject->objectPrototype())); -} - -extern "C" EncodedJSValue Transpiler__create(Zig::GlobalObject* globalObject, void* ptr) { - auto &vm = globalObject->vm(); - JSC::Structure* structure = globalObject->JSTranspilerStructure(); - JSTranspiler* instance = JSTranspiler::create(vm, globalObject, structure, ptr); - - return JSValue::encode(instance); -} - std::optional<StructuredCloneableSerialize> StructuredCloneableSerialize::fromJS(JSC::JSValue value) - { - if (auto* result = jsDynamicCast<JSBlob*>(value)) { - return StructuredCloneableSerialize { .cppWriteBytes = SerializedScriptValue::writeBytesForBun, .zigFunction = Blob__onStructuredCloneSerialize, .tag = 254, .impl = result->wrapped() }; - } - return std::nullopt; - } - - std::optional<JSC::EncodedJSValue> StructuredCloneableDeserialize::fromTagDeserialize(uint8_t tag, JSC::JSGlobalObject* globalObject, const uint8_t* ptr, const uint8_t* end) - { - if (tag == 254) { - return Blob__onStructuredCloneDeserialize(globalObject, ptr, end); - } - return std::nullopt; - } - - -} // namespace WebCore - diff --git a/src/bun.js/bindings/ZigGeneratedClasses.h b/src/bun.js/bindings/ZigGeneratedClasses.h deleted file mode 100644 index 9b30f11ee..000000000 --- a/src/bun.js/bindings/ZigGeneratedClasses.h +++ /dev/null @@ -1,3395 +0,0 @@ - -// GENERATED CODE - DO NOT MODIFY BY HAND -// Generated by make codegen -#pragma once - -#include "root.h" - -namespace Zig { -} - -#include "JSDOMWrapper.h" -#include <wtf/NeverDestroyed.h> -#include "SerializedScriptValue.h" - - -namespace WebCore { -using namespace Zig; -using namespace JSC; - -class JSAttributeIterator final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSAttributeIterator* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSAttributeIterator, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForAttributeIterator.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForAttributeIterator = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForAttributeIterator.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForAttributeIterator = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSAttributeIterator(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSAttributeIterator, m_ctx); } - - void* m_ctx { nullptr }; - - - JSAttributeIterator(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSBigIntStats final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSBigIntStats* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSBigIntStats, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForBigIntStats.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForBigIntStats = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForBigIntStats.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForBigIntStats = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSBigIntStats(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSBigIntStats, m_ctx); } - - void* m_ctx { nullptr }; - - - JSBigIntStats(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_atime; -mutable JSC::WriteBarrier<JSC::Unknown> m_birthtime; -mutable JSC::WriteBarrier<JSC::Unknown> m_ctime; -mutable JSC::WriteBarrier<JSC::Unknown> m_mtime; - }; - -class JSBlob final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSBlob* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSBlob, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForBlob.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForBlob = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForBlob.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForBlob = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSBlob(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSBlob, m_ctx); } - - void* m_ctx { nullptr }; - - - JSBlob(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_name; - }; - -class JSBuildArtifact final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSBuildArtifact* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSBuildArtifact, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForBuildArtifact.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForBuildArtifact = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForBuildArtifact.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForBuildArtifact = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSBuildArtifact(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSBuildArtifact, m_ctx); } - - void* m_ctx { nullptr }; - - - JSBuildArtifact(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_hash; -mutable JSC::WriteBarrier<JSC::Unknown> m_kind; -mutable JSC::WriteBarrier<JSC::Unknown> m_loader; -mutable JSC::WriteBarrier<JSC::Unknown> m_path; -mutable JSC::WriteBarrier<JSC::Unknown> m_sourcemap; -mutable JSC::WriteBarrier<JSC::Unknown> m_type; - }; - -class JSBuildMessage final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSBuildMessage* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSBuildMessage, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForBuildMessage.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForBuildMessage = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForBuildMessage.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForBuildMessage = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSBuildMessage(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSBuildMessage, m_ctx); } - - void* m_ctx { nullptr }; - - - JSBuildMessage(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_level; -mutable JSC::WriteBarrier<JSC::Unknown> m_message; -mutable JSC::WriteBarrier<JSC::Unknown> m_position; - }; - -class JSComment final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSComment* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSComment, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForComment.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForComment = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForComment.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForComment = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSComment(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSComment, m_ctx); } - - void* m_ctx { nullptr }; - - - JSComment(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSCrypto final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSCrypto* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSCrypto, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForCrypto.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForCrypto = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForCrypto.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForCrypto = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(ObjectType), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSCrypto(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSCrypto, m_ctx); } - - void* m_ctx { nullptr }; - - - JSCrypto(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSCryptoHasher final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSCryptoHasher* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSCryptoHasher, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForCryptoHasher.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForCryptoHasher = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForCryptoHasher.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForCryptoHasher = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSCryptoHasher(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSCryptoHasher, m_ctx); } - - void* m_ctx { nullptr }; - - - JSCryptoHasher(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_algorithms; -mutable JSC::WriteBarrier<JSC::Unknown> m_algorithm; - }; - -class JSDebugHTTPSServer final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSDebugHTTPSServer* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSDebugHTTPSServer, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForDebugHTTPSServer.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForDebugHTTPSServer = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForDebugHTTPSServer.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForDebugHTTPSServer = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(ObjectType), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSDebugHTTPSServer(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSDebugHTTPSServer, m_ctx); } - - void* m_ctx { nullptr }; - - - JSDebugHTTPSServer(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_address; -mutable JSC::WriteBarrier<JSC::Unknown> m_hostname; -mutable JSC::WriteBarrier<JSC::Unknown> m_id; - }; - -class JSDebugHTTPServer final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSDebugHTTPServer* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSDebugHTTPServer, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForDebugHTTPServer.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForDebugHTTPServer = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForDebugHTTPServer.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForDebugHTTPServer = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(ObjectType), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSDebugHTTPServer(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSDebugHTTPServer, m_ctx); } - - void* m_ctx { nullptr }; - - - JSDebugHTTPServer(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_address; -mutable JSC::WriteBarrier<JSC::Unknown> m_hostname; -mutable JSC::WriteBarrier<JSC::Unknown> m_id; - }; - -class JSDirent final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSDirent* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSDirent, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForDirent.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForDirent = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForDirent.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForDirent = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(ObjectType), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSDirent(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSDirent, m_ctx); } - - void* m_ctx { nullptr }; - - - JSDirent(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_name; - }; - -class JSDocEnd final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSDocEnd* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSDocEnd, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForDocEnd.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForDocEnd = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForDocEnd.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForDocEnd = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSDocEnd(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSDocEnd, m_ctx); } - - void* m_ctx { nullptr }; - - - JSDocEnd(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSDocType final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSDocType* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSDocType, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForDocType.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForDocType = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForDocType.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForDocType = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSDocType(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSDocType, m_ctx); } - - void* m_ctx { nullptr }; - - - JSDocType(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_name; -mutable JSC::WriteBarrier<JSC::Unknown> m_publicId; -mutable JSC::WriteBarrier<JSC::Unknown> m_systemId; - }; - -class JSElement final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSElement* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSElement, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForElement.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForElement = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForElement.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForElement = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSElement(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSElement, m_ctx); } - - void* m_ctx { nullptr }; - - - JSElement(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_namespaceURI; - }; - -class JSEndTag final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSEndTag* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSEndTag, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForEndTag.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForEndTag = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForEndTag.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForEndTag = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSEndTag(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSEndTag, m_ctx); } - - void* m_ctx { nullptr }; - - - JSEndTag(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSExpect final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSExpect* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSExpect, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForExpect.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForExpect = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForExpect.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForExpect = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSExpect(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSExpect, m_ctx); } - - void* m_ctx { nullptr }; - - - JSExpect(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_capturedValue; -mutable JSC::WriteBarrier<JSC::Unknown> m_resultValue; - }; - -class JSExpectAny final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSExpectAny* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSExpectAny, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForExpectAny.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForExpectAny = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForExpectAny.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForExpectAny = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSExpectAny(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSExpectAny, m_ctx); } - - void* m_ctx { nullptr }; - - - JSExpectAny(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_constructorValue; - }; - -class JSExpectAnything final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSExpectAnything* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSExpectAnything, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForExpectAnything.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForExpectAnything = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForExpectAnything.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForExpectAnything = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSExpectAnything(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSExpectAnything, m_ctx); } - - void* m_ctx { nullptr }; - - - JSExpectAnything(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSExpectArrayContaining final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSExpectArrayContaining* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSExpectArrayContaining, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForExpectArrayContaining.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForExpectArrayContaining = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForExpectArrayContaining.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForExpectArrayContaining = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSExpectArrayContaining(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSExpectArrayContaining, m_ctx); } - - void* m_ctx { nullptr }; - - - JSExpectArrayContaining(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_arrayValue; - }; - -class JSExpectStringContaining final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSExpectStringContaining* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSExpectStringContaining, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForExpectStringContaining.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForExpectStringContaining = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForExpectStringContaining.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForExpectStringContaining = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSExpectStringContaining(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSExpectStringContaining, m_ctx); } - - void* m_ctx { nullptr }; - - - JSExpectStringContaining(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_stringValue; - }; - -class JSExpectStringMatching final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSExpectStringMatching* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSExpectStringMatching, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForExpectStringMatching.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForExpectStringMatching = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForExpectStringMatching.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForExpectStringMatching = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSExpectStringMatching(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSExpectStringMatching, m_ctx); } - - void* m_ctx { nullptr }; - - - JSExpectStringMatching(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_testValue; - }; - -class JSFFI final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSFFI* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSFFI, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForFFI.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForFFI = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForFFI.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForFFI = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(ObjectType), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSFFI(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSFFI, m_ctx); } - - void* m_ctx { nullptr }; - - - JSFFI(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_symbolsValue; - }; - -class JSFSWatcher final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSFSWatcher* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSFSWatcher, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForFSWatcher.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForFSWatcher = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForFSWatcher.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForFSWatcher = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSFSWatcher(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSFSWatcher, m_ctx); } - - void* m_ctx { nullptr }; - - - JSFSWatcher(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - m_weakThis = JSC::Weak<JSFSWatcher>(this, getOwner()); - } - - void finishCreation(JSC::VM&); - - - - - JSC::Weak<JSFSWatcher> m_weakThis; - - - static bool hasPendingActivity(void* ctx); - - class Owner final : public JSC::WeakHandleOwner { - public: - bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, JSC::AbstractSlotVisitor& visitor, const char** reason) final - { - auto* controller = JSC::jsCast<JSFSWatcher*>(handle.slot()->asCell()); - if (JSFSWatcher::hasPendingActivity(controller->wrapped())) { - if (UNLIKELY(reason)) - *reason = "has pending activity"; - return true; - } - - return visitor.containsOpaqueRoot(context); - } - void finalize(JSC::Handle<JSC::Unknown>, void* context) final {} - }; - - static JSC::WeakHandleOwner* getOwner() - { - static NeverDestroyed<Owner> m_owner; - return &m_owner.get(); - } - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_listener; - }; - -class JSFileSystemRouter final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSFileSystemRouter* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSFileSystemRouter, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForFileSystemRouter.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForFileSystemRouter = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForFileSystemRouter.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForFileSystemRouter = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSFileSystemRouter(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSFileSystemRouter, m_ctx); } - - void* m_ctx { nullptr }; - - - JSFileSystemRouter(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_origin; -mutable JSC::WriteBarrier<JSC::Unknown> m_routes; -mutable JSC::WriteBarrier<JSC::Unknown> m_style; - }; - -class JSHTMLRewriter final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSHTMLRewriter* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSHTMLRewriter, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForHTMLRewriter.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForHTMLRewriter = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForHTMLRewriter.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForHTMLRewriter = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSHTMLRewriter(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSHTMLRewriter, m_ctx); } - - void* m_ctx { nullptr }; - - - JSHTMLRewriter(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSHTTPSServer final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSHTTPSServer* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSHTTPSServer, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForHTTPSServer.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForHTTPSServer = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForHTTPSServer.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForHTTPSServer = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(ObjectType), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSHTTPSServer(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSHTTPSServer, m_ctx); } - - void* m_ctx { nullptr }; - - - JSHTTPSServer(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_address; -mutable JSC::WriteBarrier<JSC::Unknown> m_hostname; -mutable JSC::WriteBarrier<JSC::Unknown> m_id; - }; - -class JSHTTPServer final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSHTTPServer* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSHTTPServer, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForHTTPServer.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForHTTPServer = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForHTTPServer.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForHTTPServer = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(ObjectType), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSHTTPServer(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSHTTPServer, m_ctx); } - - void* m_ctx { nullptr }; - - - JSHTTPServer(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_address; -mutable JSC::WriteBarrier<JSC::Unknown> m_hostname; -mutable JSC::WriteBarrier<JSC::Unknown> m_id; - }; - -class JSListener final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSListener* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSListener, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForListener.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForListener = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForListener.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForListener = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSListener(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSListener, m_ctx); } - - void* m_ctx { nullptr }; - - - JSListener(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_hostname; -mutable JSC::WriteBarrier<JSC::Unknown> m_unix; - }; - -class JSMD4 final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSMD4* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSMD4, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForMD4.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForMD4 = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForMD4.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForMD4 = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSMD4(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSMD4, m_ctx); } - - void* m_ctx { nullptr }; - - - JSMD4(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSMD5 final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSMD5* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSMD5, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForMD5.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForMD5 = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForMD5.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForMD5 = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSMD5(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSMD5, m_ctx); } - - void* m_ctx { nullptr }; - - - JSMD5(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSMatchedRoute final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSMatchedRoute* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSMatchedRoute, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForMatchedRoute.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForMatchedRoute = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForMatchedRoute.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForMatchedRoute = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSMatchedRoute(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSMatchedRoute, m_ctx); } - - void* m_ctx { nullptr }; - - - JSMatchedRoute(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_filePath; -mutable JSC::WriteBarrier<JSC::Unknown> m_kind; -mutable JSC::WriteBarrier<JSC::Unknown> m_name; -mutable JSC::WriteBarrier<JSC::Unknown> m_params; -mutable JSC::WriteBarrier<JSC::Unknown> m_pathname; -mutable JSC::WriteBarrier<JSC::Unknown> m_query; -mutable JSC::WriteBarrier<JSC::Unknown> m_scriptSrc; - }; - -class JSNodeJSFS final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSNodeJSFS* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSNodeJSFS, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForNodeJSFS.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForNodeJSFS = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForNodeJSFS.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForNodeJSFS = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(ObjectType), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSNodeJSFS(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSNodeJSFS, m_ctx); } - - void* m_ctx { nullptr }; - - - JSNodeJSFS(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSRequest final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSRequest* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSRequest, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForRequest.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForRequest = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForRequest.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForRequest = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSRequest(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSRequest, m_ctx); } - - void* m_ctx { nullptr }; - - - JSRequest(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_body; -mutable JSC::WriteBarrier<JSC::Unknown> m_headers; -mutable JSC::WriteBarrier<JSC::Unknown> m_signal; -mutable JSC::WriteBarrier<JSC::Unknown> m_url; - }; - -class JSResolveMessage final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSResolveMessage* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSResolveMessage, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForResolveMessage.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForResolveMessage = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForResolveMessage.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForResolveMessage = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSResolveMessage(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSResolveMessage, m_ctx); } - - void* m_ctx { nullptr }; - - - JSResolveMessage(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_code; -mutable JSC::WriteBarrier<JSC::Unknown> m_importKind; -mutable JSC::WriteBarrier<JSC::Unknown> m_level; -mutable JSC::WriteBarrier<JSC::Unknown> m_message; -mutable JSC::WriteBarrier<JSC::Unknown> m_position; -mutable JSC::WriteBarrier<JSC::Unknown> m_referrer; -mutable JSC::WriteBarrier<JSC::Unknown> m_specifier; - }; - -class JSResponse final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSResponse* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSResponse, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForResponse.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForResponse = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForResponse.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForResponse = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSResponse(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSResponse, m_ctx); } - - void* m_ctx { nullptr }; - - - JSResponse(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_body; -mutable JSC::WriteBarrier<JSC::Unknown> m_headers; -mutable JSC::WriteBarrier<JSC::Unknown> m_statusText; -mutable JSC::WriteBarrier<JSC::Unknown> m_url; - }; - -class JSSHA1 final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSSHA1* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA1, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA1.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA1 = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA1.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA1 = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSSHA1(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSSHA1, m_ctx); } - - void* m_ctx { nullptr }; - - - JSSHA1(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSSHA224 final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSSHA224* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA224, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA224.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA224 = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA224.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA224 = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSSHA224(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSSHA224, m_ctx); } - - void* m_ctx { nullptr }; - - - JSSHA224(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSSHA256 final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSSHA256* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA256, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA256.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA256 = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA256.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA256 = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSSHA256(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSSHA256, m_ctx); } - - void* m_ctx { nullptr }; - - - JSSHA256(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSSHA384 final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSSHA384* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA384, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA384.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA384 = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA384.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA384 = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSSHA384(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSSHA384, m_ctx); } - - void* m_ctx { nullptr }; - - - JSSHA384(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSSHA512 final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSSHA512* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA512, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA512.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA512 = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA512.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA512 = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSSHA512(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSSHA512, m_ctx); } - - void* m_ctx { nullptr }; - - - JSSHA512(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSSHA512_256 final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSSHA512_256* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSHA512_256, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSHA512_256.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSHA512_256 = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSHA512_256.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSHA512_256 = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSSHA512_256(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSSHA512_256, m_ctx); } - - void* m_ctx { nullptr }; - - - JSSHA512_256(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - -class JSServerWebSocket final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSServerWebSocket* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSServerWebSocket, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForServerWebSocket.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForServerWebSocket = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForServerWebSocket.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForServerWebSocket = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSServerWebSocket(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSServerWebSocket, m_ctx); } - - void* m_ctx { nullptr }; - - - JSServerWebSocket(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_data; -mutable JSC::WriteBarrier<JSC::Unknown> m_remoteAddress; - }; - -class JSStatWatcher final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSStatWatcher* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSStatWatcher, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForStatWatcher.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForStatWatcher = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForStatWatcher.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForStatWatcher = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSStatWatcher(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSStatWatcher, m_ctx); } - - void* m_ctx { nullptr }; - - - JSStatWatcher(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - m_weakThis = JSC::Weak<JSStatWatcher>(this, getOwner()); - } - - void finishCreation(JSC::VM&); - - - - - JSC::Weak<JSStatWatcher> m_weakThis; - - - static bool hasPendingActivity(void* ctx); - - class Owner final : public JSC::WeakHandleOwner { - public: - bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, JSC::AbstractSlotVisitor& visitor, const char** reason) final - { - auto* controller = JSC::jsCast<JSStatWatcher*>(handle.slot()->asCell()); - if (JSStatWatcher::hasPendingActivity(controller->wrapped())) { - if (UNLIKELY(reason)) - *reason = "has pending activity"; - return true; - } - - return visitor.containsOpaqueRoot(context); - } - void finalize(JSC::Handle<JSC::Unknown>, void* context) final {} - }; - - static JSC::WeakHandleOwner* getOwner() - { - static NeverDestroyed<Owner> m_owner; - return &m_owner.get(); - } - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_listener; - }; - -class JSStats final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSStats* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSStats, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForStats.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForStats = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForStats.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForStats = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSStats(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSStats, m_ctx); } - - void* m_ctx { nullptr }; - - - JSStats(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_atime; -mutable JSC::WriteBarrier<JSC::Unknown> m_ctime; -mutable JSC::WriteBarrier<JSC::Unknown> m_mtime; - }; - -class JSSubprocess final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSSubprocess* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSSubprocess, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForSubprocess.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSubprocess = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForSubprocess.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForSubprocess = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSSubprocess(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSSubprocess, m_ctx); } - - void* m_ctx { nullptr }; - - - JSSubprocess(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - m_weakThis = JSC::Weak<JSSubprocess>(this, getOwner()); - } - - void finishCreation(JSC::VM&); - - - - - JSC::Weak<JSSubprocess> m_weakThis; - - - static bool hasPendingActivity(void* ctx); - - class Owner final : public JSC::WeakHandleOwner { - public: - bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, JSC::AbstractSlotVisitor& visitor, const char** reason) final - { - auto* controller = JSC::jsCast<JSSubprocess*>(handle.slot()->asCell()); - if (JSSubprocess::hasPendingActivity(controller->wrapped())) { - if (UNLIKELY(reason)) - *reason = "has pending activity"; - return true; - } - - return visitor.containsOpaqueRoot(context); - } - void finalize(JSC::Handle<JSC::Unknown>, void* context) final {} - }; - - static JSC::WeakHandleOwner* getOwner() - { - static NeverDestroyed<Owner> m_owner; - return &m_owner.get(); - } - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_stderr; -mutable JSC::WriteBarrier<JSC::Unknown> m_stdin; -mutable JSC::WriteBarrier<JSC::Unknown> m_stdout; - }; - -class JSTCPSocket final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSTCPSocket* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSTCPSocket, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForTCPSocket.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTCPSocket = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForTCPSocket.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForTCPSocket = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSTCPSocket(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSTCPSocket, m_ctx); } - - void* m_ctx { nullptr }; - - - JSTCPSocket(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - m_weakThis = JSC::Weak<JSTCPSocket>(this, getOwner()); - } - - void finishCreation(JSC::VM&); - - - - - JSC::Weak<JSTCPSocket> m_weakThis; - - - static bool hasPendingActivity(void* ctx); - - class Owner final : public JSC::WeakHandleOwner { - public: - bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, JSC::AbstractSlotVisitor& visitor, const char** reason) final - { - auto* controller = JSC::jsCast<JSTCPSocket*>(handle.slot()->asCell()); - if (JSTCPSocket::hasPendingActivity(controller->wrapped())) { - if (UNLIKELY(reason)) - *reason = "has pending activity"; - return true; - } - - return visitor.containsOpaqueRoot(context); - } - void finalize(JSC::Handle<JSC::Unknown>, void* context) final {} - }; - - static JSC::WeakHandleOwner* getOwner() - { - static NeverDestroyed<Owner> m_owner; - return &m_owner.get(); - } - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_data; -mutable JSC::WriteBarrier<JSC::Unknown> m_remoteAddress; - }; - -class JSTLSSocket final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSTLSSocket* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSTLSSocket, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForTLSSocket.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTLSSocket = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForTLSSocket.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForTLSSocket = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSTLSSocket(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSTLSSocket, m_ctx); } - - void* m_ctx { nullptr }; - - - JSTLSSocket(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - m_weakThis = JSC::Weak<JSTLSSocket>(this, getOwner()); - } - - void finishCreation(JSC::VM&); - - - - - JSC::Weak<JSTLSSocket> m_weakThis; - - - static bool hasPendingActivity(void* ctx); - - class Owner final : public JSC::WeakHandleOwner { - public: - bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, JSC::AbstractSlotVisitor& visitor, const char** reason) final - { - auto* controller = JSC::jsCast<JSTLSSocket*>(handle.slot()->asCell()); - if (JSTLSSocket::hasPendingActivity(controller->wrapped())) { - if (UNLIKELY(reason)) - *reason = "has pending activity"; - return true; - } - - return visitor.containsOpaqueRoot(context); - } - void finalize(JSC::Handle<JSC::Unknown>, void* context) final {} - }; - - static JSC::WeakHandleOwner* getOwner() - { - static NeverDestroyed<Owner> m_owner; - return &m_owner.get(); - } - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_data; -mutable JSC::WriteBarrier<JSC::Unknown> m_remoteAddress; - }; - -class JSTextChunk final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSTextChunk* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSTextChunk, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForTextChunk.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTextChunk = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForTextChunk.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForTextChunk = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSTextChunk(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSTextChunk, m_ctx); } - - void* m_ctx { nullptr }; - - - JSTextChunk(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_lastInTextNode; - }; - -class JSTextDecoder final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSTextDecoder* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSTextDecoder, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForTextDecoder.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTextDecoder = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForTextDecoder.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForTextDecoder = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSTextDecoder(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSTextDecoder, m_ctx); } - - void* m_ctx { nullptr }; - - - JSTextDecoder(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_encoding; - }; - -class JSTimeout final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSTimeout* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSTimeout, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForTimeout.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTimeout = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForTimeout.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForTimeout = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - ; - - ~JSTimeout(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSTimeout, m_ctx); } - - void* m_ctx { nullptr }; - - - JSTimeout(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - DECLARE_VISIT_CHILDREN; -template<typename Visitor> void visitAdditionalChildren(Visitor&); -DECLARE_VISIT_OUTPUT_CONSTRAINTS; - - - mutable JSC::WriteBarrier<JSC::Unknown> m_arguments; -mutable JSC::WriteBarrier<JSC::Unknown> m_callback; - }; - -class JSTranspiler final : public JSC::JSDestructibleObject { - public: - using Base = JSC::JSDestructibleObject; - static JSTranspiler* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, void* ctx); - - DECLARE_EXPORT_INFO; - template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSTranspiler, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForTranspiler.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTranspiler = std::forward<decltype(space)>(space); }, - [](auto& spaces) { return spaces.m_subspaceForTranspiler.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForTranspiler = std::forward<decltype(space)>(space); }); - } - - static void destroy(JSC::JSCell*); - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(static_cast<JSC::JSType>(0b11101110), StructureFlags), info()); - } - - static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject); - static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype); - - ~JSTranspiler(); - - void* wrapped() const { return m_ctx; } - - void detach() - { - m_ctx = nullptr; - } - - static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&); - static ptrdiff_t offsetOfWrapped() { return OBJECT_OFFSETOF(JSTranspiler, m_ctx); } - - void* m_ctx { nullptr }; - - - JSTranspiler(JSC::VM& vm, JSC::Structure* structure, void* sinkPtr) - : Base(vm, structure) - { - m_ctx = sinkPtr; - - } - - void finishCreation(JSC::VM&); - - - - - - - - - }; - - - -class StructuredCloneableSerialize { - public: - - void (*cppWriteBytes)(CloneSerializer*, const uint8_t*, uint32_t); - - std::function<void(void*, JSC::JSGlobalObject*, void*, void (*)(CloneSerializer*, const uint8_t*, uint32_t))> zigFunction; - - uint8_t tag; - - // the type from zig - void* impl; - - static std::optional<StructuredCloneableSerialize> fromJS(JSC::JSValue); - void write(CloneSerializer* serializer, JSC::JSGlobalObject* globalObject) - { - zigFunction(impl, globalObject, serializer, cppWriteBytes); - } -}; - -class StructuredCloneableDeserialize { - public: - static std::optional<JSC::EncodedJSValue> fromTagDeserialize(uint8_t tag, JSC::JSGlobalObject*, const uint8_t*, const uint8_t*); -}; - -} - diff --git a/src/bun.js/bindings/ZigGlobalObject.h b/src/bun.js/bindings/ZigGlobalObject.h index 19630d4b7..03164fa77 100644 --- a/src/bun.js/bindings/ZigGlobalObject.h +++ b/src/bun.js/bindings/ZigGlobalObject.h @@ -38,7 +38,6 @@ class InternalModuleRegistry; #include "JavaScriptCore/JSGlobalObject.h" #include "JavaScriptCore/JSTypeInfo.h" #include "JavaScriptCore/Structure.h" -#include "WebCoreJSBuiltins.h" #include "DOMConstructors.h" #include "BunPlugin.h" diff --git a/src/bun.js/bindings/ZigGlobalObject.lut.h b/src/bun.js/bindings/ZigGlobalObject.lut.h deleted file mode 100644 index 6516648e8..000000000 --- a/src/bun.js/bindings/ZigGlobalObject.lut.h +++ /dev/null @@ -1,341 +0,0 @@ -// File generated via `make static-hash-table` / `make cpp` -static const struct CompactHashIndex bunGlobalObjectTableIndex[260] = { - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 42, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 6, -1 }, - { 3, -1 }, - { -1, -1 }, - { 34, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 29, 258 }, - { -1, -1 }, - { -1, -1 }, - { 54, 257 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 51, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 2, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 18, -1 }, - { 56, -1 }, - { -1, -1 }, - { -1, -1 }, - { 14, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 41, -1 }, - { 47, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 69, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 39, -1 }, - { -1, -1 }, - { -1, -1 }, - { 38, -1 }, - { 63, -1 }, - { -1, -1 }, - { 57, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 49, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 58, -1 }, - { 11, -1 }, - { -1, -1 }, - { -1, -1 }, - { 0, -1 }, - { -1, -1 }, - { 37, -1 }, - { 21, -1 }, - { 66, -1 }, - { -1, -1 }, - { -1, -1 }, - { 70, -1 }, - { -1, -1 }, - { 45, -1 }, - { -1, -1 }, - { 48, -1 }, - { -1, -1 }, - { -1, -1 }, - { 24, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 33, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 50, -1 }, - { 46, -1 }, - { -1, -1 }, - { 13, -1 }, - { -1, -1 }, - { -1, -1 }, - { 43, -1 }, - { -1, -1 }, - { 1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 32, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 28, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 26, -1 }, - { -1, -1 }, - { -1, -1 }, - { 17, -1 }, - { -1, -1 }, - { 31, -1 }, - { -1, -1 }, - { -1, -1 }, - { 35, -1 }, - { 71, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 22, -1 }, - { -1, -1 }, - { -1, -1 }, - { 4, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 23, -1 }, - { -1, -1 }, - { -1, -1 }, - { 55, -1 }, - { -1, -1 }, - { 53, -1 }, - { -1, -1 }, - { 12, -1 }, - { 25, -1 }, - { 7, -1 }, - { -1, -1 }, - { 9, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 61, -1 }, - { 60, -1 }, - { -1, -1 }, - { 5, 256 }, - { -1, -1 }, - { 64, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 36, -1 }, - { -1, -1 }, - { 15, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 40, 259 }, - { -1, -1 }, - { -1, -1 }, - { 68, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 52, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 30, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 27, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 44, -1 }, - { -1, -1 }, - { -1, -1 }, - { 65, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 20, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 10, -1 }, - { 16, -1 }, - { -1, -1 }, - { -1, -1 }, - { -1, -1 }, - { 19, -1 }, - { -1, -1 }, - { 8, -1 }, - { 59, -1 }, - { 62, -1 }, - { 67, -1 }, -}; - -static const struct HashTableValue bunGlobalObjectTableValues[72] = { - { "addEventListener"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsFunctionAddEventListener, 2 } }, - { "alert"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, WebCore__alert, 1 } }, - { "atob"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionATOB, 1 } }, - { "btoa"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionBTOA, 1 } }, - { "clearImmediate"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionClearTimeout, 1 } }, - { "clearInterval"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionClearInterval, 1 } }, - { "clearTimeout"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionClearTimeout, 1 } }, - { "confirm"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, WebCore__confirm, 1 } }, - { "dispatchEvent"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsFunctionDispatchEvent, 1 } }, - { "fetch"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Bun__fetch, 2 } }, - { "postMessage"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsFunctionPostMessage, 1 } }, - { "prompt"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, WebCore__prompt, 1 } }, - { "queueMicrotask"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionQueueMicrotask, 2 } }, - { "removeEventListener"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, jsFunctionRemoveEventListener, 2 } }, - { "reportError"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionReportError, 1 } }, - { "setImmediate"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionSetImmediate, 1 } }, - { "setInterval"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionSetInterval, 1 } }, - { "setTimeout"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionSetTimeout, 1 } }, - { "structuredClone"_s, static_cast<unsigned>(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, functionStructuredClone, 2 } }, - { "global"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, GlobalObject_getGlobalThis } }, - { "EventSource"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, getEventSourceConstructor } }, - { "Bun"_s, static_cast<unsigned>(PropertyAttribute::CellProperty|PropertyAttribute::DontDelete|PropertyAttribute::ReadOnly), NoIntrinsic, { HashTableValue::LazyCellPropertyType, OBJECT_OFFSETOF(GlobalObject, m_bunObject) } }, - { "File"_s, static_cast<unsigned>(PropertyAttribute::CellProperty), NoIntrinsic, { HashTableValue::LazyCellPropertyType, OBJECT_OFFSETOF(GlobalObject, m_JSDOMFileConstructor) } }, - { "crypto"_s, static_cast<unsigned>(PropertyAttribute::CellProperty), NoIntrinsic, { HashTableValue::LazyCellPropertyType, OBJECT_OFFSETOF(GlobalObject, m_cryptoObject) } }, - { "navigator"_s, static_cast<unsigned>(PropertyAttribute::CellProperty), NoIntrinsic, { HashTableValue::LazyCellPropertyType, OBJECT_OFFSETOF(GlobalObject, m_navigatorObject) } }, - { "performance"_s, static_cast<unsigned>(PropertyAttribute::CellProperty), NoIntrinsic, { HashTableValue::LazyCellPropertyType, OBJECT_OFFSETOF(GlobalObject, m_performanceObject) } }, - { "process"_s, static_cast<unsigned>(PropertyAttribute::CellProperty), NoIntrinsic, { HashTableValue::LazyCellPropertyType, OBJECT_OFFSETOF(GlobalObject, m_processObject) } }, - { "Blob"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSBlob) } }, - { "Buffer"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSBufferClassStructure) } }, - { "BuildError"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSBuildMessage) } }, - { "BuildMessage"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSBuildMessage) } }, - { "Crypto"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSCrypto) } }, - { "HTMLRewriter"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSHTMLRewriter) } }, - { "Request"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSRequest) } }, - { "ResolveError"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSResolveMessage) } }, - { "ResolveMessage"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSResolveMessage) } }, - { "Response"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSResponse) } }, - { "TextDecoder"_s, static_cast<unsigned>(PropertyAttribute::ClassStructure), NoIntrinsic, { HashTableValue::LazyClassStructureType, OBJECT_OFFSETOF(GlobalObject, m_JSTextDecoder) } }, - { "AbortController"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, AbortControllerConstructorCallback } }, - { "AbortSignal"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, AbortSignalConstructorCallback } }, - { "BroadcastChannel"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, BroadcastChannelConstructorCallback } }, - { "ByteLengthQueuingStrategy"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, ByteLengthQueuingStrategyConstructorCallback } }, - { "CloseEvent"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, CloseEventConstructorCallback } }, - { "CountQueuingStrategy"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, CountQueuingStrategyConstructorCallback } }, - { "CryptoKey"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, CryptoKeyConstructorCallback } }, - { "CustomEvent"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, CustomEventConstructorCallback } }, - { "DOMException"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, DOMExceptionConstructorCallback } }, - { "ErrorEvent"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, ErrorEventConstructorCallback } }, - { "Event"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, EventConstructorCallback } }, - { "EventTarget"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, EventTargetConstructorCallback } }, - { "FormData"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, DOMFormDataConstructorCallback } }, - { "Headers"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, FetchHeadersConstructorCallback } }, - { "MessageChannel"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, MessageChannelConstructorCallback } }, - { "MessageEvent"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, MessageEventConstructorCallback } }, - { "MessagePort"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, MessagePortConstructorCallback } }, - { "ReadableByteStreamController"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, ReadableByteStreamControllerConstructorCallback } }, - { "ReadableStream"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, ReadableStreamConstructorCallback } }, - { "ReadableStreamBYOBReader"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, ReadableStreamBYOBReaderConstructorCallback } }, - { "ReadableStreamBYOBRequest"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, ReadableStreamBYOBRequestConstructorCallback } }, - { "ReadableStreamDefaultController"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, ReadableStreamDefaultControllerConstructorCallback } }, - { "ReadableStreamDefaultReader"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, ReadableStreamDefaultReaderConstructorCallback } }, - { "SubtleCrypto"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, SubtleCryptoConstructorCallback } }, - { "TextEncoder"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, TextEncoderConstructorCallback } }, - { "TransformStream"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, TransformStreamConstructorCallback } }, - { "URL"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, DOMURLConstructorCallback } }, - { "URLSearchParams"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, URLSearchParamsConstructorCallback } }, - { "WebSocket"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, WebSocketConstructorCallback } }, - { "Worker"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, WorkerConstructorCallback } }, - { "WritableStream"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, WritableStreamConstructorCallback } }, - { "WritableStreamDefaultController"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, WritableStreamDefaultControllerConstructorCallback } }, - { "WritableStreamDefaultWriter"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, WritableStreamDefaultWriterConstructorCallback } }, - { "TransformStreamDefaultController"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, TransformStreamDefaultControllerConstructorCallback } }, -}; - -static const struct HashTable bunGlobalObjectTable = - { 72, 255, false, nullptr, bunGlobalObjectTableValues, bunGlobalObjectTableIndex }; diff --git a/src/bun.js/bindings/generated_classes.zig b/src/bun.js/bindings/generated_classes.zig deleted file mode 100644 index b61c644b6..000000000 --- a/src/bun.js/bindings/generated_classes.zig +++ /dev/null @@ -1,7246 +0,0 @@ -/// Generated code! To regenerate, run: -/// -/// make codegen -/// -/// This file is generated by: -/// 1. `bun src/bun.js/scripts/generate-classes.ts` -/// 2. Scan for **/*.classes.ts files in src/bun.js/src -/// 3. Generate a JS wrapper for each class in: -/// - Zig: generated_classes.zig -/// - C++: ZigGeneratedClasses.h, ZigGeneratedClasses.cpp -/// 4. For the Zig code to successfully compile: -/// - Add it to generated_classes_list.zig -/// - pub usingnamespace JSC.Codegen.JSMyClassName; -/// 5. make clean-bindings && make bindings -j10 -/// -const JSC = @import("root").bun.JSC; -const Classes = JSC.GeneratedClassesList; -const Environment = @import("../../env.zig"); -const std = @import("std"); - -pub const StaticGetterType = fn (*JSC.JSGlobalObject, JSC.JSValue, JSC.JSValue) callconv(.C) JSC.JSValue; -pub const StaticSetterType = fn (*JSC.JSGlobalObject, JSC.JSValue, JSC.JSValue, JSC.JSValue) callconv(.C) bool; -pub const StaticCallbackType = fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - -pub const JSAttributeIterator = struct { - const AttributeIterator = Classes.AttributeIterator; - const GetterType = fn (*AttributeIterator, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*AttributeIterator, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*AttributeIterator, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*AttributeIterator, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*AttributeIterator, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*AttributeIterator { - JSC.markBinding(@src()); - return AttributeIterator__fromJS(value); - } - - /// Create a new instance of AttributeIterator - pub fn toJS(this: *AttributeIterator, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = AttributeIterator__create(globalObject, this); - std.debug.assert(value__.as(AttributeIterator).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return AttributeIterator__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of AttributeIterator. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*AttributeIterator) bool { - JSC.markBinding(@src()); - return AttributeIterator__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *AttributeIterator, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(AttributeIterator__dangerouslySetPtr(value, null)); - } - - extern fn AttributeIterator__fromJS(JSC.JSValue) ?*AttributeIterator; - extern fn AttributeIterator__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn AttributeIterator__create(globalObject: *JSC.JSGlobalObject, ptr: ?*AttributeIterator) JSC.JSValue; - - extern fn AttributeIterator__dangerouslySetPtr(JSC.JSValue, ?*AttributeIterator) bool; - - comptime { - if (@TypeOf(AttributeIterator.finalize) != (fn (*AttributeIterator) callconv(.C) void)) { - @compileLog("AttributeIterator.finalize is not a finalizer"); - } - - if (@TypeOf(AttributeIterator.getThis) != CallbackType) - @compileLog("Expected AttributeIterator.getThis to be a callback but received " ++ @typeName(@TypeOf(AttributeIterator.getThis))); - if (@TypeOf(AttributeIterator.next) != CallbackType) - @compileLog("Expected AttributeIterator.next to be a callback but received " ++ @typeName(@TypeOf(AttributeIterator.next))); - if (!JSC.is_bindgen) { - @export(AttributeIterator.finalize, .{ .name = "AttributeIteratorClass__finalize" }); - @export(AttributeIterator.getThis, .{ .name = "AttributeIteratorPrototype__getThis" }); - @export(AttributeIterator.next, .{ .name = "AttributeIteratorPrototype__next" }); - } - } -}; -pub const JSBigIntStats = struct { - const BigIntStats = Classes.BigIntStats; - const GetterType = fn (*BigIntStats, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*BigIntStats, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*BigIntStats, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*BigIntStats, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*BigIntStats, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*BigIntStats { - JSC.markBinding(@src()); - return BigIntStats__fromJS(value); - } - - extern fn BigIntStatsPrototype__atimeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BigIntStatsPrototype__atimeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BigIntStats.atime` setter - /// This value will be visited by the garbage collector. - pub fn atimeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BigIntStatsPrototype__atimeSetCachedValue(thisValue, globalObject, value); - } - - /// `BigIntStats.atime` getter - /// This value will be visited by the garbage collector. - pub fn atimeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BigIntStatsPrototype__atimeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BigIntStatsPrototype__birthtimeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BigIntStatsPrototype__birthtimeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BigIntStats.birthtime` setter - /// This value will be visited by the garbage collector. - pub fn birthtimeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BigIntStatsPrototype__birthtimeSetCachedValue(thisValue, globalObject, value); - } - - /// `BigIntStats.birthtime` getter - /// This value will be visited by the garbage collector. - pub fn birthtimeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BigIntStatsPrototype__birthtimeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BigIntStatsPrototype__ctimeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BigIntStatsPrototype__ctimeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BigIntStats.ctime` setter - /// This value will be visited by the garbage collector. - pub fn ctimeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BigIntStatsPrototype__ctimeSetCachedValue(thisValue, globalObject, value); - } - - /// `BigIntStats.ctime` getter - /// This value will be visited by the garbage collector. - pub fn ctimeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BigIntStatsPrototype__ctimeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BigIntStatsPrototype__mtimeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BigIntStatsPrototype__mtimeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BigIntStats.mtime` setter - /// This value will be visited by the garbage collector. - pub fn mtimeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BigIntStatsPrototype__mtimeSetCachedValue(thisValue, globalObject, value); - } - - /// `BigIntStats.mtime` getter - /// This value will be visited by the garbage collector. - pub fn mtimeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BigIntStatsPrototype__mtimeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the BigIntStats constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return BigIntStats__getConstructor(globalObject); - } - - /// Create a new instance of BigIntStats - pub fn toJS(this: *BigIntStats, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = BigIntStats__create(globalObject, this); - std.debug.assert(value__.as(BigIntStats).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return BigIntStats__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of BigIntStats. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*BigIntStats) bool { - JSC.markBinding(@src()); - return BigIntStats__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *BigIntStats, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(BigIntStats__dangerouslySetPtr(value, null)); - } - - extern fn BigIntStats__fromJS(JSC.JSValue) ?*BigIntStats; - extern fn BigIntStats__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn BigIntStats__create(globalObject: *JSC.JSGlobalObject, ptr: ?*BigIntStats) JSC.JSValue; - - extern fn BigIntStats__dangerouslySetPtr(JSC.JSValue, ?*BigIntStats) bool; - - comptime { - if (@TypeOf(BigIntStats.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*BigIntStats)) { - @compileLog("BigIntStats.constructor is not a constructor"); - } - - if (@TypeOf(BigIntStats.finalize) != (fn (*BigIntStats) callconv(.C) void)) { - @compileLog("BigIntStats.finalize is not a finalizer"); - } - - if (@TypeOf(BigIntStats.atime) != GetterType) - @compileLog("Expected BigIntStats.atime to be a getter"); - - if (@TypeOf(BigIntStats.atimeMs) != GetterType) - @compileLog("Expected BigIntStats.atimeMs to be a getter"); - - if (@TypeOf(BigIntStats.atimeNs) != GetterType) - @compileLog("Expected BigIntStats.atimeNs to be a getter"); - - if (@TypeOf(BigIntStats.birthtime) != GetterType) - @compileLog("Expected BigIntStats.birthtime to be a getter"); - - if (@TypeOf(BigIntStats.birthtimeMs) != GetterType) - @compileLog("Expected BigIntStats.birthtimeMs to be a getter"); - - if (@TypeOf(BigIntStats.birthtimeNs) != GetterType) - @compileLog("Expected BigIntStats.birthtimeNs to be a getter"); - - if (@TypeOf(BigIntStats.blksize) != GetterType) - @compileLog("Expected BigIntStats.blksize to be a getter"); - - if (@TypeOf(BigIntStats.blocks) != GetterType) - @compileLog("Expected BigIntStats.blocks to be a getter"); - - if (@TypeOf(BigIntStats.ctime) != GetterType) - @compileLog("Expected BigIntStats.ctime to be a getter"); - - if (@TypeOf(BigIntStats.ctimeMs) != GetterType) - @compileLog("Expected BigIntStats.ctimeMs to be a getter"); - - if (@TypeOf(BigIntStats.ctimeNs) != GetterType) - @compileLog("Expected BigIntStats.ctimeNs to be a getter"); - - if (@TypeOf(BigIntStats.dev) != GetterType) - @compileLog("Expected BigIntStats.dev to be a getter"); - - if (@TypeOf(BigIntStats.gid) != GetterType) - @compileLog("Expected BigIntStats.gid to be a getter"); - - if (@TypeOf(BigIntStats.ino) != GetterType) - @compileLog("Expected BigIntStats.ino to be a getter"); - - if (@TypeOf(BigIntStats.isBlockDevice_WithoutTypeChecks) != fn ( - *BigIntStats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected BigIntStats.isBlockDevice_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(BigIntStats.isBlockDevice_) != CallbackType) - @compileLog("Expected BigIntStats.isBlockDevice_ to be a callback but received " ++ @typeName(@TypeOf(BigIntStats.isBlockDevice_))); - if (@TypeOf(BigIntStats.isCharacterDevice_WithoutTypeChecks) != fn ( - *BigIntStats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected BigIntStats.isCharacterDevice_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(BigIntStats.isCharacterDevice_) != CallbackType) - @compileLog("Expected BigIntStats.isCharacterDevice_ to be a callback but received " ++ @typeName(@TypeOf(BigIntStats.isCharacterDevice_))); - if (@TypeOf(BigIntStats.isDirectory_WithoutTypeChecks) != fn ( - *BigIntStats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected BigIntStats.isDirectory_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(BigIntStats.isDirectory_) != CallbackType) - @compileLog("Expected BigIntStats.isDirectory_ to be a callback but received " ++ @typeName(@TypeOf(BigIntStats.isDirectory_))); - if (@TypeOf(BigIntStats.isFIFO_WithoutTypeChecks) != fn ( - *BigIntStats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected BigIntStats.isFIFO_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(BigIntStats.isFIFO_) != CallbackType) - @compileLog("Expected BigIntStats.isFIFO_ to be a callback but received " ++ @typeName(@TypeOf(BigIntStats.isFIFO_))); - if (@TypeOf(BigIntStats.isFile_WithoutTypeChecks) != fn ( - *BigIntStats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected BigIntStats.isFile_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(BigIntStats.isFile_) != CallbackType) - @compileLog("Expected BigIntStats.isFile_ to be a callback but received " ++ @typeName(@TypeOf(BigIntStats.isFile_))); - if (@TypeOf(BigIntStats.isSocket_WithoutTypeChecks) != fn ( - *BigIntStats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected BigIntStats.isSocket_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(BigIntStats.isSocket_) != CallbackType) - @compileLog("Expected BigIntStats.isSocket_ to be a callback but received " ++ @typeName(@TypeOf(BigIntStats.isSocket_))); - if (@TypeOf(BigIntStats.isSymbolicLink_WithoutTypeChecks) != fn ( - *BigIntStats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected BigIntStats.isSymbolicLink_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(BigIntStats.isSymbolicLink_) != CallbackType) - @compileLog("Expected BigIntStats.isSymbolicLink_ to be a callback but received " ++ @typeName(@TypeOf(BigIntStats.isSymbolicLink_))); - if (@TypeOf(BigIntStats.mode) != GetterType) - @compileLog("Expected BigIntStats.mode to be a getter"); - - if (@TypeOf(BigIntStats.mtime) != GetterType) - @compileLog("Expected BigIntStats.mtime to be a getter"); - - if (@TypeOf(BigIntStats.mtimeMs) != GetterType) - @compileLog("Expected BigIntStats.mtimeMs to be a getter"); - - if (@TypeOf(BigIntStats.mtimeNs) != GetterType) - @compileLog("Expected BigIntStats.mtimeNs to be a getter"); - - if (@TypeOf(BigIntStats.nlink) != GetterType) - @compileLog("Expected BigIntStats.nlink to be a getter"); - - if (@TypeOf(BigIntStats.rdev) != GetterType) - @compileLog("Expected BigIntStats.rdev to be a getter"); - - if (@TypeOf(BigIntStats.size) != GetterType) - @compileLog("Expected BigIntStats.size to be a getter"); - - if (@TypeOf(BigIntStats.uid) != GetterType) - @compileLog("Expected BigIntStats.uid to be a getter"); - - if (!JSC.is_bindgen) { - @export(BigIntStats.atime, .{ .name = "BigIntStatsPrototype__atime" }); - @export(BigIntStats.atimeMs, .{ .name = "BigIntStatsPrototype__atimeMs" }); - @export(BigIntStats.atimeNs, .{ .name = "BigIntStatsPrototype__atimeNs" }); - @export(BigIntStats.birthtime, .{ .name = "BigIntStatsPrototype__birthtime" }); - @export(BigIntStats.birthtimeMs, .{ .name = "BigIntStatsPrototype__birthtimeMs" }); - @export(BigIntStats.birthtimeNs, .{ .name = "BigIntStatsPrototype__birthtimeNs" }); - @export(BigIntStats.blksize, .{ .name = "BigIntStatsPrototype__blksize" }); - @export(BigIntStats.blocks, .{ .name = "BigIntStatsPrototype__blocks" }); - @export(BigIntStats.constructor, .{ .name = "BigIntStatsClass__construct" }); - @export(BigIntStats.ctime, .{ .name = "BigIntStatsPrototype__ctime" }); - @export(BigIntStats.ctimeMs, .{ .name = "BigIntStatsPrototype__ctimeMs" }); - @export(BigIntStats.ctimeNs, .{ .name = "BigIntStatsPrototype__ctimeNs" }); - @export(BigIntStats.dev, .{ .name = "BigIntStatsPrototype__dev" }); - @export(BigIntStats.finalize, .{ .name = "BigIntStatsClass__finalize" }); - @export(BigIntStats.gid, .{ .name = "BigIntStatsPrototype__gid" }); - @export(BigIntStats.ino, .{ .name = "BigIntStatsPrototype__ino" }); - @export(BigIntStats.isBlockDevice_, .{ .name = "BigIntStatsPrototype__isBlockDevice_" }); - @export(BigIntStats.isBlockDevice_WithoutTypeChecks, .{ .name = "BigIntStatsPrototype__isBlockDevice_WithoutTypeChecks" }); - @export(BigIntStats.isCharacterDevice_, .{ .name = "BigIntStatsPrototype__isCharacterDevice_" }); - @export(BigIntStats.isCharacterDevice_WithoutTypeChecks, .{ .name = "BigIntStatsPrototype__isCharacterDevice_WithoutTypeChecks" }); - @export(BigIntStats.isDirectory_, .{ .name = "BigIntStatsPrototype__isDirectory_" }); - @export(BigIntStats.isDirectory_WithoutTypeChecks, .{ .name = "BigIntStatsPrototype__isDirectory_WithoutTypeChecks" }); - @export(BigIntStats.isFIFO_, .{ .name = "BigIntStatsPrototype__isFIFO_" }); - @export(BigIntStats.isFIFO_WithoutTypeChecks, .{ .name = "BigIntStatsPrototype__isFIFO_WithoutTypeChecks" }); - @export(BigIntStats.isFile_, .{ .name = "BigIntStatsPrototype__isFile_" }); - @export(BigIntStats.isFile_WithoutTypeChecks, .{ .name = "BigIntStatsPrototype__isFile_WithoutTypeChecks" }); - @export(BigIntStats.isSocket_, .{ .name = "BigIntStatsPrototype__isSocket_" }); - @export(BigIntStats.isSocket_WithoutTypeChecks, .{ .name = "BigIntStatsPrototype__isSocket_WithoutTypeChecks" }); - @export(BigIntStats.isSymbolicLink_, .{ .name = "BigIntStatsPrototype__isSymbolicLink_" }); - @export(BigIntStats.isSymbolicLink_WithoutTypeChecks, .{ .name = "BigIntStatsPrototype__isSymbolicLink_WithoutTypeChecks" }); - @export(BigIntStats.mode, .{ .name = "BigIntStatsPrototype__mode" }); - @export(BigIntStats.mtime, .{ .name = "BigIntStatsPrototype__mtime" }); - @export(BigIntStats.mtimeMs, .{ .name = "BigIntStatsPrototype__mtimeMs" }); - @export(BigIntStats.mtimeNs, .{ .name = "BigIntStatsPrototype__mtimeNs" }); - @export(BigIntStats.nlink, .{ .name = "BigIntStatsPrototype__nlink" }); - @export(BigIntStats.rdev, .{ .name = "BigIntStatsPrototype__rdev" }); - @export(BigIntStats.size, .{ .name = "BigIntStatsPrototype__size" }); - @export(BigIntStats.uid, .{ .name = "BigIntStatsPrototype__uid" }); - } - } -}; -pub const JSBlob = struct { - const Blob = Classes.Blob; - const GetterType = fn (*Blob, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Blob, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Blob, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Blob, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Blob, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Blob { - JSC.markBinding(@src()); - return Blob__fromJS(value); - } - - extern fn BlobPrototype__nameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BlobPrototype__nameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Blob.name` setter - /// This value will be visited by the garbage collector. - pub fn nameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BlobPrototype__nameSetCachedValue(thisValue, globalObject, value); - } - - /// `Blob.name` getter - /// This value will be visited by the garbage collector. - pub fn nameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BlobPrototype__nameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the Blob constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return Blob__getConstructor(globalObject); - } - - /// Create a new instance of Blob - pub fn toJS(this: *Blob, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Blob__create(globalObject, this); - std.debug.assert(value__.as(Blob).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Blob__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Blob. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Blob) bool { - JSC.markBinding(@src()); - return Blob__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Blob, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Blob__dangerouslySetPtr(value, null)); - } - - extern fn Blob__fromJS(JSC.JSValue) ?*Blob; - extern fn Blob__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Blob__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Blob) JSC.JSValue; - - extern fn Blob__dangerouslySetPtr(JSC.JSValue, ?*Blob) bool; - - comptime { - if (@TypeOf(Blob.estimatedSize) != (fn (*Blob) callconv(.C) usize)) { - @compileLog("Blob.estimatedSize is not a size function"); - } - - if (@TypeOf(Blob.onStructuredCloneSerialize) != (fn (*Blob, globalThis: *JSC.JSGlobalObject, ctx: *anyopaque, writeBytes: *const fn (*anyopaque, ptr: [*]const u8, len: u32) callconv(.C) void) callconv(.C) void)) { - @compileLog("Blob.onStructuredCloneSerialize is not a structured clone serialize function"); - } - - if (@TypeOf(Blob.onStructuredCloneDeserialize) != (fn (globalThis: *JSC.JSGlobalObject, ptr: [*]u8, end: [*]u8) callconv(.C) JSC.JSValue)) { - @compileLog("Blob.onStructuredCloneDeserialize is not a structured clone deserialize function"); - } - - if (@TypeOf(Blob.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Blob)) { - @compileLog("Blob.constructor is not a constructor"); - } - - if (@TypeOf(Blob.finalize) != (fn (*Blob) callconv(.C) void)) { - @compileLog("Blob.finalize is not a finalizer"); - } - - if (@TypeOf(Blob.getArrayBuffer) != CallbackType) - @compileLog("Expected Blob.getArrayBuffer to be a callback but received " ++ @typeName(@TypeOf(Blob.getArrayBuffer))); - if (@TypeOf(Blob.getExists) != CallbackType) - @compileLog("Expected Blob.getExists to be a callback but received " ++ @typeName(@TypeOf(Blob.getExists))); - if (@TypeOf(Blob.getFormData) != CallbackType) - @compileLog("Expected Blob.getFormData to be a callback but received " ++ @typeName(@TypeOf(Blob.getFormData))); - if (@TypeOf(Blob.getJSON) != CallbackType) - @compileLog("Expected Blob.getJSON to be a callback but received " ++ @typeName(@TypeOf(Blob.getJSON))); - if (@TypeOf(Blob.getLastModified) != GetterType) - @compileLog("Expected Blob.getLastModified to be a getter"); - - if (@TypeOf(Blob.getName) != GetterType) - @compileLog("Expected Blob.getName to be a getter"); - - if (@TypeOf(Blob.getSize) != GetterType) - @compileLog("Expected Blob.getSize to be a getter"); - - if (@TypeOf(Blob.getSlice) != CallbackType) - @compileLog("Expected Blob.getSlice to be a callback but received " ++ @typeName(@TypeOf(Blob.getSlice))); - if (@TypeOf(Blob.getStream) != CallbackType) - @compileLog("Expected Blob.getStream to be a callback but received " ++ @typeName(@TypeOf(Blob.getStream))); - if (@TypeOf(Blob.getText) != CallbackType) - @compileLog("Expected Blob.getText to be a callback but received " ++ @typeName(@TypeOf(Blob.getText))); - if (@TypeOf(Blob.getType) != GetterType) - @compileLog("Expected Blob.getType to be a getter"); - - if (@TypeOf(Blob.getWriter) != CallbackType) - @compileLog("Expected Blob.getWriter to be a callback but received " ++ @typeName(@TypeOf(Blob.getWriter))); - if (!JSC.is_bindgen) { - @export(Blob.constructor, .{ .name = "BlobClass__construct" }); - @export(Blob.estimatedSize, .{ .name = "Blob__estimatedSize" }); - @export(Blob.finalize, .{ .name = "BlobClass__finalize" }); - @export(Blob.getArrayBuffer, .{ .name = "BlobPrototype__getArrayBuffer" }); - @export(Blob.getExists, .{ .name = "BlobPrototype__getExists" }); - @export(Blob.getFormData, .{ .name = "BlobPrototype__getFormData" }); - @export(Blob.getJSON, .{ .name = "BlobPrototype__getJSON" }); - @export(Blob.getLastModified, .{ .name = "BlobPrototype__getLastModified" }); - @export(Blob.getName, .{ .name = "BlobPrototype__getName" }); - @export(Blob.getSize, .{ .name = "BlobPrototype__getSize" }); - @export(Blob.getSlice, .{ .name = "BlobPrototype__getSlice" }); - @export(Blob.getStream, .{ .name = "BlobPrototype__getStream" }); - @export(Blob.getText, .{ .name = "BlobPrototype__getText" }); - @export(Blob.getType, .{ .name = "BlobPrototype__getType" }); - @export(Blob.getWriter, .{ .name = "BlobPrototype__getWriter" }); - @export(Blob.onStructuredCloneDeserialize, .{ .name = "Blob__onStructuredCloneDeserialize" }); - @export(Blob.onStructuredCloneSerialize, .{ .name = "Blob__onStructuredCloneSerialize" }); - } - } -}; -pub const JSBuildArtifact = struct { - const BuildArtifact = Classes.BuildArtifact; - const GetterType = fn (*BuildArtifact, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*BuildArtifact, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*BuildArtifact, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*BuildArtifact, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*BuildArtifact, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*BuildArtifact { - JSC.markBinding(@src()); - return BuildArtifact__fromJS(value); - } - - extern fn BuildArtifactPrototype__hashSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BuildArtifactPrototype__hashGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BuildArtifact.hash` setter - /// This value will be visited by the garbage collector. - pub fn hashSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BuildArtifactPrototype__hashSetCachedValue(thisValue, globalObject, value); - } - - /// `BuildArtifact.hash` getter - /// This value will be visited by the garbage collector. - pub fn hashGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BuildArtifactPrototype__hashGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BuildArtifactPrototype__kindSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BuildArtifactPrototype__kindGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BuildArtifact.kind` setter - /// This value will be visited by the garbage collector. - pub fn kindSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BuildArtifactPrototype__kindSetCachedValue(thisValue, globalObject, value); - } - - /// `BuildArtifact.kind` getter - /// This value will be visited by the garbage collector. - pub fn kindGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BuildArtifactPrototype__kindGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BuildArtifactPrototype__loaderSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BuildArtifactPrototype__loaderGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BuildArtifact.loader` setter - /// This value will be visited by the garbage collector. - pub fn loaderSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BuildArtifactPrototype__loaderSetCachedValue(thisValue, globalObject, value); - } - - /// `BuildArtifact.loader` getter - /// This value will be visited by the garbage collector. - pub fn loaderGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BuildArtifactPrototype__loaderGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BuildArtifactPrototype__pathSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BuildArtifactPrototype__pathGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BuildArtifact.path` setter - /// This value will be visited by the garbage collector. - pub fn pathSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BuildArtifactPrototype__pathSetCachedValue(thisValue, globalObject, value); - } - - /// `BuildArtifact.path` getter - /// This value will be visited by the garbage collector. - pub fn pathGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BuildArtifactPrototype__pathGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BuildArtifactPrototype__sourcemapSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BuildArtifactPrototype__sourcemapGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BuildArtifact.sourcemap` setter - /// This value will be visited by the garbage collector. - pub fn sourcemapSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BuildArtifactPrototype__sourcemapSetCachedValue(thisValue, globalObject, value); - } - - /// `BuildArtifact.sourcemap` getter - /// This value will be visited by the garbage collector. - pub fn sourcemapGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BuildArtifactPrototype__sourcemapGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BuildArtifactPrototype__typeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BuildArtifactPrototype__typeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BuildArtifact.type` setter - /// This value will be visited by the garbage collector. - pub fn typeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BuildArtifactPrototype__typeSetCachedValue(thisValue, globalObject, value); - } - - /// `BuildArtifact.type` getter - /// This value will be visited by the garbage collector. - pub fn typeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BuildArtifactPrototype__typeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of BuildArtifact - pub fn toJS(this: *BuildArtifact, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = BuildArtifact__create(globalObject, this); - std.debug.assert(value__.as(BuildArtifact).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return BuildArtifact__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of BuildArtifact. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*BuildArtifact) bool { - JSC.markBinding(@src()); - return BuildArtifact__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *BuildArtifact, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(BuildArtifact__dangerouslySetPtr(value, null)); - } - - extern fn BuildArtifact__fromJS(JSC.JSValue) ?*BuildArtifact; - extern fn BuildArtifact__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn BuildArtifact__create(globalObject: *JSC.JSGlobalObject, ptr: ?*BuildArtifact) JSC.JSValue; - - extern fn BuildArtifact__dangerouslySetPtr(JSC.JSValue, ?*BuildArtifact) bool; - - comptime { - if (@TypeOf(BuildArtifact.finalize) != (fn (*BuildArtifact) callconv(.C) void)) { - @compileLog("BuildArtifact.finalize is not a finalizer"); - } - - if (@TypeOf(BuildArtifact.getArrayBuffer) != CallbackType) - @compileLog("Expected BuildArtifact.getArrayBuffer to be a callback but received " ++ @typeName(@TypeOf(BuildArtifact.getArrayBuffer))); - if (@TypeOf(BuildArtifact.getHash) != GetterType) - @compileLog("Expected BuildArtifact.getHash to be a getter"); - - if (@TypeOf(BuildArtifact.getJSON) != CallbackType) - @compileLog("Expected BuildArtifact.getJSON to be a callback but received " ++ @typeName(@TypeOf(BuildArtifact.getJSON))); - if (@TypeOf(BuildArtifact.getOutputKind) != GetterType) - @compileLog("Expected BuildArtifact.getOutputKind to be a getter"); - - if (@TypeOf(BuildArtifact.getLoader) != GetterType) - @compileLog("Expected BuildArtifact.getLoader to be a getter"); - - if (@TypeOf(BuildArtifact.getPath) != GetterType) - @compileLog("Expected BuildArtifact.getPath to be a getter"); - - if (@TypeOf(BuildArtifact.getSize) != GetterType) - @compileLog("Expected BuildArtifact.getSize to be a getter"); - - if (@TypeOf(BuildArtifact.getSlice) != CallbackType) - @compileLog("Expected BuildArtifact.getSlice to be a callback but received " ++ @typeName(@TypeOf(BuildArtifact.getSlice))); - if (@TypeOf(BuildArtifact.getSourceMap) != GetterType) - @compileLog("Expected BuildArtifact.getSourceMap to be a getter"); - - if (@TypeOf(BuildArtifact.getStream) != CallbackType) - @compileLog("Expected BuildArtifact.getStream to be a callback but received " ++ @typeName(@TypeOf(BuildArtifact.getStream))); - if (@TypeOf(BuildArtifact.getText) != CallbackType) - @compileLog("Expected BuildArtifact.getText to be a callback but received " ++ @typeName(@TypeOf(BuildArtifact.getText))); - if (@TypeOf(BuildArtifact.getMimeType) != GetterType) - @compileLog("Expected BuildArtifact.getMimeType to be a getter"); - - if (!JSC.is_bindgen) { - @export(BuildArtifact.finalize, .{ .name = "BuildArtifactClass__finalize" }); - @export(BuildArtifact.getArrayBuffer, .{ .name = "BuildArtifactPrototype__getArrayBuffer" }); - @export(BuildArtifact.getHash, .{ .name = "BuildArtifactPrototype__getHash" }); - @export(BuildArtifact.getJSON, .{ .name = "BuildArtifactPrototype__getJSON" }); - @export(BuildArtifact.getLoader, .{ .name = "BuildArtifactPrototype__getLoader" }); - @export(BuildArtifact.getMimeType, .{ .name = "BuildArtifactPrototype__getMimeType" }); - @export(BuildArtifact.getOutputKind, .{ .name = "BuildArtifactPrototype__getOutputKind" }); - @export(BuildArtifact.getPath, .{ .name = "BuildArtifactPrototype__getPath" }); - @export(BuildArtifact.getSize, .{ .name = "BuildArtifactPrototype__getSize" }); - @export(BuildArtifact.getSlice, .{ .name = "BuildArtifactPrototype__getSlice" }); - @export(BuildArtifact.getSourceMap, .{ .name = "BuildArtifactPrototype__getSourceMap" }); - @export(BuildArtifact.getStream, .{ .name = "BuildArtifactPrototype__getStream" }); - @export(BuildArtifact.getText, .{ .name = "BuildArtifactPrototype__getText" }); - } - } -}; -pub const JSBuildMessage = struct { - const BuildMessage = Classes.BuildMessage; - const GetterType = fn (*BuildMessage, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*BuildMessage, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*BuildMessage, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*BuildMessage, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*BuildMessage, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*BuildMessage { - JSC.markBinding(@src()); - return BuildMessage__fromJS(value); - } - - extern fn BuildMessagePrototype__levelSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BuildMessagePrototype__levelGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BuildMessage.level` setter - /// This value will be visited by the garbage collector. - pub fn levelSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BuildMessagePrototype__levelSetCachedValue(thisValue, globalObject, value); - } - - /// `BuildMessage.level` getter - /// This value will be visited by the garbage collector. - pub fn levelGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BuildMessagePrototype__levelGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BuildMessagePrototype__messageSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BuildMessagePrototype__messageGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BuildMessage.message` setter - /// This value will be visited by the garbage collector. - pub fn messageSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BuildMessagePrototype__messageSetCachedValue(thisValue, globalObject, value); - } - - /// `BuildMessage.message` getter - /// This value will be visited by the garbage collector. - pub fn messageGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BuildMessagePrototype__messageGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn BuildMessagePrototype__positionSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn BuildMessagePrototype__positionGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `BuildMessage.position` setter - /// This value will be visited by the garbage collector. - pub fn positionSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - BuildMessagePrototype__positionSetCachedValue(thisValue, globalObject, value); - } - - /// `BuildMessage.position` getter - /// This value will be visited by the garbage collector. - pub fn positionGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = BuildMessagePrototype__positionGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the BuildMessage constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return BuildMessage__getConstructor(globalObject); - } - - /// Create a new instance of BuildMessage - pub fn toJS(this: *BuildMessage, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = BuildMessage__create(globalObject, this); - std.debug.assert(value__.as(BuildMessage).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return BuildMessage__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of BuildMessage. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*BuildMessage) bool { - JSC.markBinding(@src()); - return BuildMessage__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *BuildMessage, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(BuildMessage__dangerouslySetPtr(value, null)); - } - - extern fn BuildMessage__fromJS(JSC.JSValue) ?*BuildMessage; - extern fn BuildMessage__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn BuildMessage__create(globalObject: *JSC.JSGlobalObject, ptr: ?*BuildMessage) JSC.JSValue; - - extern fn BuildMessage__dangerouslySetPtr(JSC.JSValue, ?*BuildMessage) bool; - - comptime { - if (@TypeOf(BuildMessage.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*BuildMessage)) { - @compileLog("BuildMessage.constructor is not a constructor"); - } - - if (@TypeOf(BuildMessage.finalize) != (fn (*BuildMessage) callconv(.C) void)) { - @compileLog("BuildMessage.finalize is not a finalizer"); - } - - if (@TypeOf(BuildMessage.toPrimitive) != CallbackType) - @compileLog("Expected BuildMessage.toPrimitive to be a callback but received " ++ @typeName(@TypeOf(BuildMessage.toPrimitive))); - if (@TypeOf(BuildMessage.getLevel) != GetterType) - @compileLog("Expected BuildMessage.getLevel to be a getter"); - - if (@TypeOf(BuildMessage.getMessage) != GetterType) - @compileLog("Expected BuildMessage.getMessage to be a getter"); - - if (@TypeOf(BuildMessage.getPosition) != GetterType) - @compileLog("Expected BuildMessage.getPosition to be a getter"); - - if (@TypeOf(BuildMessage.toJSON) != CallbackType) - @compileLog("Expected BuildMessage.toJSON to be a callback but received " ++ @typeName(@TypeOf(BuildMessage.toJSON))); - if (@TypeOf(BuildMessage.toString) != CallbackType) - @compileLog("Expected BuildMessage.toString to be a callback but received " ++ @typeName(@TypeOf(BuildMessage.toString))); - if (!JSC.is_bindgen) { - @export(BuildMessage.constructor, .{ .name = "BuildMessageClass__construct" }); - @export(BuildMessage.finalize, .{ .name = "BuildMessageClass__finalize" }); - @export(BuildMessage.getLevel, .{ .name = "BuildMessagePrototype__getLevel" }); - @export(BuildMessage.getMessage, .{ .name = "BuildMessagePrototype__getMessage" }); - @export(BuildMessage.getPosition, .{ .name = "BuildMessagePrototype__getPosition" }); - @export(BuildMessage.toJSON, .{ .name = "BuildMessagePrototype__toJSON" }); - @export(BuildMessage.toPrimitive, .{ .name = "BuildMessagePrototype__toPrimitive" }); - @export(BuildMessage.toString, .{ .name = "BuildMessagePrototype__toString" }); - } - } -}; -pub const JSComment = struct { - const Comment = Classes.Comment; - const GetterType = fn (*Comment, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Comment, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Comment, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Comment, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Comment, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Comment { - JSC.markBinding(@src()); - return Comment__fromJS(value); - } - - /// Create a new instance of Comment - pub fn toJS(this: *Comment, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Comment__create(globalObject, this); - std.debug.assert(value__.as(Comment).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Comment__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Comment. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Comment) bool { - JSC.markBinding(@src()); - return Comment__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Comment, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Comment__dangerouslySetPtr(value, null)); - } - - extern fn Comment__fromJS(JSC.JSValue) ?*Comment; - extern fn Comment__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Comment__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Comment) JSC.JSValue; - - extern fn Comment__dangerouslySetPtr(JSC.JSValue, ?*Comment) bool; - - comptime { - if (@TypeOf(Comment.finalize) != (fn (*Comment) callconv(.C) void)) { - @compileLog("Comment.finalize is not a finalizer"); - } - - if (@TypeOf(Comment.after) != CallbackType) - @compileLog("Expected Comment.after to be a callback but received " ++ @typeName(@TypeOf(Comment.after))); - if (@TypeOf(Comment.before) != CallbackType) - @compileLog("Expected Comment.before to be a callback but received " ++ @typeName(@TypeOf(Comment.before))); - if (@TypeOf(Comment.remove) != CallbackType) - @compileLog("Expected Comment.remove to be a callback but received " ++ @typeName(@TypeOf(Comment.remove))); - if (@TypeOf(Comment.removed) != GetterType) - @compileLog("Expected Comment.removed to be a getter"); - - if (@TypeOf(Comment.replace) != CallbackType) - @compileLog("Expected Comment.replace to be a callback but received " ++ @typeName(@TypeOf(Comment.replace))); - if (@TypeOf(Comment.getText) != GetterType) - @compileLog("Expected Comment.getText to be a getter"); - - if (@TypeOf(Comment.setText) != SetterType) - @compileLog("Expected Comment.setText to be a setter"); - if (!JSC.is_bindgen) { - @export(Comment.after, .{ .name = "CommentPrototype__after" }); - @export(Comment.before, .{ .name = "CommentPrototype__before" }); - @export(Comment.finalize, .{ .name = "CommentClass__finalize" }); - @export(Comment.getText, .{ .name = "CommentPrototype__getText" }); - @export(Comment.remove, .{ .name = "CommentPrototype__remove" }); - @export(Comment.removed, .{ .name = "CommentPrototype__removed" }); - @export(Comment.replace, .{ .name = "CommentPrototype__replace" }); - @export(Comment.setText, .{ .name = "CommentPrototype__setText" }); - } - } -}; -pub const JSCrypto = struct { - const Crypto = Classes.Crypto; - const GetterType = fn (*Crypto, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Crypto, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Crypto, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Crypto, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Crypto, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Crypto { - JSC.markBinding(@src()); - return Crypto__fromJS(value); - } - - /// Get the Crypto constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return Crypto__getConstructor(globalObject); - } - - /// Create a new instance of Crypto - pub fn toJS(this: *Crypto, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Crypto__create(globalObject, this); - std.debug.assert(value__.as(Crypto).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Crypto__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Crypto. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Crypto) bool { - JSC.markBinding(@src()); - return Crypto__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Crypto, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Crypto__dangerouslySetPtr(value, null)); - } - - extern fn Crypto__fromJS(JSC.JSValue) ?*Crypto; - extern fn Crypto__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Crypto__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Crypto) JSC.JSValue; - - extern fn Crypto__dangerouslySetPtr(JSC.JSValue, ?*Crypto) bool; - - comptime { - if (@TypeOf(Crypto.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Crypto)) { - @compileLog("Crypto.constructor is not a constructor"); - } - - if (@TypeOf(Crypto.getRandomValuesWithoutTypeChecks) != fn (*Crypto, *JSC.JSGlobalObject, *JSC.JSUint8Array) callconv(.C) JSC.JSValue) - @compileLog("Expected Crypto.getRandomValuesWithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Crypto.getRandomValues) != CallbackType) - @compileLog("Expected Crypto.getRandomValues to be a callback but received " ++ @typeName(@TypeOf(Crypto.getRandomValues))); - if (@TypeOf(Crypto.randomInt) != CallbackType) - @compileLog("Expected Crypto.randomInt to be a callback but received " ++ @typeName(@TypeOf(Crypto.randomInt))); - if (@TypeOf(Crypto.randomUUIDWithoutTypeChecks) != fn ( - *Crypto, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected Crypto.randomUUIDWithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Crypto.randomUUID) != CallbackType) - @compileLog("Expected Crypto.randomUUID to be a callback but received " ++ @typeName(@TypeOf(Crypto.randomUUID))); - if (@TypeOf(Crypto.doScryptSync) != CallbackType) - @compileLog("Expected Crypto.doScryptSync to be a callback but received " ++ @typeName(@TypeOf(Crypto.doScryptSync))); - if (@TypeOf(Crypto.timingSafeEqualWithoutTypeChecks) != fn (*Crypto, *JSC.JSGlobalObject, *JSC.JSUint8Array, *JSC.JSUint8Array) callconv(.C) JSC.JSValue) - @compileLog("Expected Crypto.timingSafeEqualWithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Crypto.timingSafeEqual) != CallbackType) - @compileLog("Expected Crypto.timingSafeEqual to be a callback but received " ++ @typeName(@TypeOf(Crypto.timingSafeEqual))); - if (!JSC.is_bindgen) { - @export(Crypto.constructor, .{ .name = "CryptoClass__construct" }); - @export(Crypto.doScryptSync, .{ .name = "CryptoPrototype__doScryptSync" }); - @export(Crypto.getRandomValues, .{ .name = "CryptoPrototype__getRandomValues" }); - @export(Crypto.getRandomValuesWithoutTypeChecks, .{ .name = "CryptoPrototype__getRandomValuesWithoutTypeChecks" }); - @export(Crypto.randomInt, .{ .name = "CryptoPrototype__randomInt" }); - @export(Crypto.randomUUID, .{ .name = "CryptoPrototype__randomUUID" }); - @export(Crypto.randomUUIDWithoutTypeChecks, .{ .name = "CryptoPrototype__randomUUIDWithoutTypeChecks" }); - @export(Crypto.timingSafeEqual, .{ .name = "CryptoPrototype__timingSafeEqual" }); - @export(Crypto.timingSafeEqualWithoutTypeChecks, .{ .name = "CryptoPrototype__timingSafeEqualWithoutTypeChecks" }); - } - } -}; -pub const JSCryptoHasher = struct { - const CryptoHasher = Classes.CryptoHasher; - const GetterType = fn (*CryptoHasher, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*CryptoHasher, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*CryptoHasher, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*CryptoHasher, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*CryptoHasher, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*CryptoHasher { - JSC.markBinding(@src()); - return CryptoHasher__fromJS(value); - } - - extern fn CryptoHasherPrototype__algorithmSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn CryptoHasherPrototype__algorithmGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `CryptoHasher.algorithm` setter - /// This value will be visited by the garbage collector. - pub fn algorithmSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - CryptoHasherPrototype__algorithmSetCachedValue(thisValue, globalObject, value); - } - - /// `CryptoHasher.algorithm` getter - /// This value will be visited by the garbage collector. - pub fn algorithmGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = CryptoHasherPrototype__algorithmGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the CryptoHasher constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return CryptoHasher__getConstructor(globalObject); - } - - /// Create a new instance of CryptoHasher - pub fn toJS(this: *CryptoHasher, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = CryptoHasher__create(globalObject, this); - std.debug.assert(value__.as(CryptoHasher).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return CryptoHasher__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of CryptoHasher. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*CryptoHasher) bool { - JSC.markBinding(@src()); - return CryptoHasher__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *CryptoHasher, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(CryptoHasher__dangerouslySetPtr(value, null)); - } - - extern fn CryptoHasher__fromJS(JSC.JSValue) ?*CryptoHasher; - extern fn CryptoHasher__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn CryptoHasher__create(globalObject: *JSC.JSGlobalObject, ptr: ?*CryptoHasher) JSC.JSValue; - - extern fn CryptoHasher__dangerouslySetPtr(JSC.JSValue, ?*CryptoHasher) bool; - - comptime { - if (@TypeOf(CryptoHasher.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*CryptoHasher)) { - @compileLog("CryptoHasher.constructor is not a constructor"); - } - - if (@TypeOf(CryptoHasher.finalize) != (fn (*CryptoHasher) callconv(.C) void)) { - @compileLog("CryptoHasher.finalize is not a finalizer"); - } - - if (@TypeOf(CryptoHasher.getAlgorithm) != GetterType) - @compileLog("Expected CryptoHasher.getAlgorithm to be a getter"); - - if (@TypeOf(CryptoHasher.getByteLength) != GetterType) - @compileLog("Expected CryptoHasher.getByteLength to be a getter"); - - if (@TypeOf(CryptoHasher.copy) != CallbackType) - @compileLog("Expected CryptoHasher.copy to be a callback but received " ++ @typeName(@TypeOf(CryptoHasher.copy))); - if (@TypeOf(CryptoHasher.digest) != CallbackType) - @compileLog("Expected CryptoHasher.digest to be a callback but received " ++ @typeName(@TypeOf(CryptoHasher.digest))); - if (@TypeOf(CryptoHasher.update) != CallbackType) - @compileLog("Expected CryptoHasher.update to be a callback but received " ++ @typeName(@TypeOf(CryptoHasher.update))); - if (@TypeOf(CryptoHasher.getAlgorithms) != StaticGetterType) - @compileLog("Expected CryptoHasher.getAlgorithms to be a static getter"); - - if (@TypeOf(CryptoHasher.hash) != StaticCallbackType) - @compileLog("Expected CryptoHasher.hash to be a static callback"); - if (!JSC.is_bindgen) { - @export(CryptoHasher.constructor, .{ .name = "CryptoHasherClass__construct" }); - @export(CryptoHasher.copy, .{ .name = "CryptoHasherPrototype__copy" }); - @export(CryptoHasher.digest, .{ .name = "CryptoHasherPrototype__digest" }); - @export(CryptoHasher.finalize, .{ .name = "CryptoHasherClass__finalize" }); - @export(CryptoHasher.getAlgorithm, .{ .name = "CryptoHasherPrototype__getAlgorithm" }); - @export(CryptoHasher.getAlgorithms, .{ .name = "CryptoHasherClass__getAlgorithms" }); - @export(CryptoHasher.getByteLength, .{ .name = "CryptoHasherPrototype__getByteLength" }); - @export(CryptoHasher.hash, .{ .name = "CryptoHasherClass__hash" }); - @export(CryptoHasher.update, .{ .name = "CryptoHasherPrototype__update" }); - } - } -}; -pub const JSDebugHTTPSServer = struct { - const DebugHTTPSServer = Classes.DebugHTTPSServer; - const GetterType = fn (*DebugHTTPSServer, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*DebugHTTPSServer, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*DebugHTTPSServer, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*DebugHTTPSServer, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*DebugHTTPSServer, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*DebugHTTPSServer { - JSC.markBinding(@src()); - return DebugHTTPSServer__fromJS(value); - } - - extern fn DebugHTTPSServerPrototype__addressSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DebugHTTPSServerPrototype__addressGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `DebugHTTPSServer.address` setter - /// This value will be visited by the garbage collector. - pub fn addressSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DebugHTTPSServerPrototype__addressSetCachedValue(thisValue, globalObject, value); - } - - /// `DebugHTTPSServer.address` getter - /// This value will be visited by the garbage collector. - pub fn addressGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DebugHTTPSServerPrototype__addressGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn DebugHTTPSServerPrototype__hostnameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DebugHTTPSServerPrototype__hostnameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `DebugHTTPSServer.hostname` setter - /// This value will be visited by the garbage collector. - pub fn hostnameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DebugHTTPSServerPrototype__hostnameSetCachedValue(thisValue, globalObject, value); - } - - /// `DebugHTTPSServer.hostname` getter - /// This value will be visited by the garbage collector. - pub fn hostnameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DebugHTTPSServerPrototype__hostnameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn DebugHTTPSServerPrototype__idSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DebugHTTPSServerPrototype__idGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `DebugHTTPSServer.id` setter - /// This value will be visited by the garbage collector. - pub fn idSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DebugHTTPSServerPrototype__idSetCachedValue(thisValue, globalObject, value); - } - - /// `DebugHTTPSServer.id` getter - /// This value will be visited by the garbage collector. - pub fn idGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DebugHTTPSServerPrototype__idGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of DebugHTTPSServer - pub fn toJS(this: *DebugHTTPSServer, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = DebugHTTPSServer__create(globalObject, this); - std.debug.assert(value__.as(DebugHTTPSServer).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return DebugHTTPSServer__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of DebugHTTPSServer. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*DebugHTTPSServer) bool { - JSC.markBinding(@src()); - return DebugHTTPSServer__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *DebugHTTPSServer, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(DebugHTTPSServer__dangerouslySetPtr(value, null)); - } - - extern fn DebugHTTPSServer__fromJS(JSC.JSValue) ?*DebugHTTPSServer; - extern fn DebugHTTPSServer__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn DebugHTTPSServer__create(globalObject: *JSC.JSGlobalObject, ptr: ?*DebugHTTPSServer) JSC.JSValue; - - extern fn DebugHTTPSServer__dangerouslySetPtr(JSC.JSValue, ?*DebugHTTPSServer) bool; - - comptime { - if (@TypeOf(DebugHTTPSServer.finalize) != (fn (*DebugHTTPSServer) callconv(.C) void)) { - @compileLog("DebugHTTPSServer.finalize is not a finalizer"); - } - - if (@TypeOf(DebugHTTPSServer.getAddress) != GetterType) - @compileLog("Expected DebugHTTPSServer.getAddress to be a getter"); - - if (@TypeOf(DebugHTTPSServer.getDevelopment) != GetterType) - @compileLog("Expected DebugHTTPSServer.getDevelopment to be a getter"); - - if (@TypeOf(DebugHTTPSServer.doFetch) != CallbackType) - @compileLog("Expected DebugHTTPSServer.doFetch to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPSServer.doFetch))); - if (@TypeOf(DebugHTTPSServer.getHostname) != GetterType) - @compileLog("Expected DebugHTTPSServer.getHostname to be a getter"); - - if (@TypeOf(DebugHTTPSServer.getId) != GetterType) - @compileLog("Expected DebugHTTPSServer.getId to be a getter"); - - if (@TypeOf(DebugHTTPSServer.getPendingRequests) != GetterType) - @compileLog("Expected DebugHTTPSServer.getPendingRequests to be a getter"); - - if (@TypeOf(DebugHTTPSServer.getPendingWebSockets) != GetterType) - @compileLog("Expected DebugHTTPSServer.getPendingWebSockets to be a getter"); - - if (@TypeOf(DebugHTTPSServer.getPort) != GetterType) - @compileLog("Expected DebugHTTPSServer.getPort to be a getter"); - - if (@TypeOf(DebugHTTPSServer.getProtocol) != GetterType) - @compileLog("Expected DebugHTTPSServer.getProtocol to be a getter"); - - if (@TypeOf(DebugHTTPSServer.doPublish) != CallbackType) - @compileLog("Expected DebugHTTPSServer.doPublish to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPSServer.doPublish))); - if (@TypeOf(DebugHTTPSServer.doReload) != CallbackType) - @compileLog("Expected DebugHTTPSServer.doReload to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPSServer.doReload))); - if (@TypeOf(DebugHTTPSServer.doRequestIP) != CallbackType) - @compileLog("Expected DebugHTTPSServer.doRequestIP to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPSServer.doRequestIP))); - if (@TypeOf(DebugHTTPSServer.doStop) != CallbackType) - @compileLog("Expected DebugHTTPSServer.doStop to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPSServer.doStop))); - if (@TypeOf(DebugHTTPSServer.doUpgrade) != CallbackType) - @compileLog("Expected DebugHTTPSServer.doUpgrade to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPSServer.doUpgrade))); - if (!JSC.is_bindgen) { - @export(DebugHTTPSServer.doFetch, .{ .name = "DebugHTTPSServerPrototype__doFetch" }); - @export(DebugHTTPSServer.doPublish, .{ .name = "DebugHTTPSServerPrototype__doPublish" }); - @export(DebugHTTPSServer.doReload, .{ .name = "DebugHTTPSServerPrototype__doReload" }); - @export(DebugHTTPSServer.doRequestIP, .{ .name = "DebugHTTPSServerPrototype__doRequestIP" }); - @export(DebugHTTPSServer.doStop, .{ .name = "DebugHTTPSServerPrototype__doStop" }); - @export(DebugHTTPSServer.doUpgrade, .{ .name = "DebugHTTPSServerPrototype__doUpgrade" }); - @export(DebugHTTPSServer.finalize, .{ .name = "DebugHTTPSServerClass__finalize" }); - @export(DebugHTTPSServer.getAddress, .{ .name = "DebugHTTPSServerPrototype__getAddress" }); - @export(DebugHTTPSServer.getDevelopment, .{ .name = "DebugHTTPSServerPrototype__getDevelopment" }); - @export(DebugHTTPSServer.getHostname, .{ .name = "DebugHTTPSServerPrototype__getHostname" }); - @export(DebugHTTPSServer.getId, .{ .name = "DebugHTTPSServerPrototype__getId" }); - @export(DebugHTTPSServer.getPendingRequests, .{ .name = "DebugHTTPSServerPrototype__getPendingRequests" }); - @export(DebugHTTPSServer.getPendingWebSockets, .{ .name = "DebugHTTPSServerPrototype__getPendingWebSockets" }); - @export(DebugHTTPSServer.getPort, .{ .name = "DebugHTTPSServerPrototype__getPort" }); - @export(DebugHTTPSServer.getProtocol, .{ .name = "DebugHTTPSServerPrototype__getProtocol" }); - } - } -}; -pub const JSDebugHTTPServer = struct { - const DebugHTTPServer = Classes.DebugHTTPServer; - const GetterType = fn (*DebugHTTPServer, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*DebugHTTPServer, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*DebugHTTPServer, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*DebugHTTPServer, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*DebugHTTPServer, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*DebugHTTPServer { - JSC.markBinding(@src()); - return DebugHTTPServer__fromJS(value); - } - - extern fn DebugHTTPServerPrototype__addressSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DebugHTTPServerPrototype__addressGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `DebugHTTPServer.address` setter - /// This value will be visited by the garbage collector. - pub fn addressSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DebugHTTPServerPrototype__addressSetCachedValue(thisValue, globalObject, value); - } - - /// `DebugHTTPServer.address` getter - /// This value will be visited by the garbage collector. - pub fn addressGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DebugHTTPServerPrototype__addressGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn DebugHTTPServerPrototype__hostnameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DebugHTTPServerPrototype__hostnameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `DebugHTTPServer.hostname` setter - /// This value will be visited by the garbage collector. - pub fn hostnameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DebugHTTPServerPrototype__hostnameSetCachedValue(thisValue, globalObject, value); - } - - /// `DebugHTTPServer.hostname` getter - /// This value will be visited by the garbage collector. - pub fn hostnameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DebugHTTPServerPrototype__hostnameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn DebugHTTPServerPrototype__idSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DebugHTTPServerPrototype__idGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `DebugHTTPServer.id` setter - /// This value will be visited by the garbage collector. - pub fn idSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DebugHTTPServerPrototype__idSetCachedValue(thisValue, globalObject, value); - } - - /// `DebugHTTPServer.id` getter - /// This value will be visited by the garbage collector. - pub fn idGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DebugHTTPServerPrototype__idGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of DebugHTTPServer - pub fn toJS(this: *DebugHTTPServer, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = DebugHTTPServer__create(globalObject, this); - std.debug.assert(value__.as(DebugHTTPServer).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return DebugHTTPServer__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of DebugHTTPServer. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*DebugHTTPServer) bool { - JSC.markBinding(@src()); - return DebugHTTPServer__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *DebugHTTPServer, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(DebugHTTPServer__dangerouslySetPtr(value, null)); - } - - extern fn DebugHTTPServer__fromJS(JSC.JSValue) ?*DebugHTTPServer; - extern fn DebugHTTPServer__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn DebugHTTPServer__create(globalObject: *JSC.JSGlobalObject, ptr: ?*DebugHTTPServer) JSC.JSValue; - - extern fn DebugHTTPServer__dangerouslySetPtr(JSC.JSValue, ?*DebugHTTPServer) bool; - - comptime { - if (@TypeOf(DebugHTTPServer.finalize) != (fn (*DebugHTTPServer) callconv(.C) void)) { - @compileLog("DebugHTTPServer.finalize is not a finalizer"); - } - - if (@TypeOf(DebugHTTPServer.getAddress) != GetterType) - @compileLog("Expected DebugHTTPServer.getAddress to be a getter"); - - if (@TypeOf(DebugHTTPServer.getDevelopment) != GetterType) - @compileLog("Expected DebugHTTPServer.getDevelopment to be a getter"); - - if (@TypeOf(DebugHTTPServer.doFetch) != CallbackType) - @compileLog("Expected DebugHTTPServer.doFetch to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPServer.doFetch))); - if (@TypeOf(DebugHTTPServer.getHostname) != GetterType) - @compileLog("Expected DebugHTTPServer.getHostname to be a getter"); - - if (@TypeOf(DebugHTTPServer.getId) != GetterType) - @compileLog("Expected DebugHTTPServer.getId to be a getter"); - - if (@TypeOf(DebugHTTPServer.getPendingRequests) != GetterType) - @compileLog("Expected DebugHTTPServer.getPendingRequests to be a getter"); - - if (@TypeOf(DebugHTTPServer.getPendingWebSockets) != GetterType) - @compileLog("Expected DebugHTTPServer.getPendingWebSockets to be a getter"); - - if (@TypeOf(DebugHTTPServer.getPort) != GetterType) - @compileLog("Expected DebugHTTPServer.getPort to be a getter"); - - if (@TypeOf(DebugHTTPServer.getProtocol) != GetterType) - @compileLog("Expected DebugHTTPServer.getProtocol to be a getter"); - - if (@TypeOf(DebugHTTPServer.doPublish) != CallbackType) - @compileLog("Expected DebugHTTPServer.doPublish to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPServer.doPublish))); - if (@TypeOf(DebugHTTPServer.doReload) != CallbackType) - @compileLog("Expected DebugHTTPServer.doReload to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPServer.doReload))); - if (@TypeOf(DebugHTTPServer.doRequestIP) != CallbackType) - @compileLog("Expected DebugHTTPServer.doRequestIP to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPServer.doRequestIP))); - if (@TypeOf(DebugHTTPServer.doStop) != CallbackType) - @compileLog("Expected DebugHTTPServer.doStop to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPServer.doStop))); - if (@TypeOf(DebugHTTPServer.doUpgrade) != CallbackType) - @compileLog("Expected DebugHTTPServer.doUpgrade to be a callback but received " ++ @typeName(@TypeOf(DebugHTTPServer.doUpgrade))); - if (!JSC.is_bindgen) { - @export(DebugHTTPServer.doFetch, .{ .name = "DebugHTTPServerPrototype__doFetch" }); - @export(DebugHTTPServer.doPublish, .{ .name = "DebugHTTPServerPrototype__doPublish" }); - @export(DebugHTTPServer.doReload, .{ .name = "DebugHTTPServerPrototype__doReload" }); - @export(DebugHTTPServer.doRequestIP, .{ .name = "DebugHTTPServerPrototype__doRequestIP" }); - @export(DebugHTTPServer.doStop, .{ .name = "DebugHTTPServerPrototype__doStop" }); - @export(DebugHTTPServer.doUpgrade, .{ .name = "DebugHTTPServerPrototype__doUpgrade" }); - @export(DebugHTTPServer.finalize, .{ .name = "DebugHTTPServerClass__finalize" }); - @export(DebugHTTPServer.getAddress, .{ .name = "DebugHTTPServerPrototype__getAddress" }); - @export(DebugHTTPServer.getDevelopment, .{ .name = "DebugHTTPServerPrototype__getDevelopment" }); - @export(DebugHTTPServer.getHostname, .{ .name = "DebugHTTPServerPrototype__getHostname" }); - @export(DebugHTTPServer.getId, .{ .name = "DebugHTTPServerPrototype__getId" }); - @export(DebugHTTPServer.getPendingRequests, .{ .name = "DebugHTTPServerPrototype__getPendingRequests" }); - @export(DebugHTTPServer.getPendingWebSockets, .{ .name = "DebugHTTPServerPrototype__getPendingWebSockets" }); - @export(DebugHTTPServer.getPort, .{ .name = "DebugHTTPServerPrototype__getPort" }); - @export(DebugHTTPServer.getProtocol, .{ .name = "DebugHTTPServerPrototype__getProtocol" }); - } - } -}; -pub const JSDirent = struct { - const Dirent = Classes.Dirent; - const GetterType = fn (*Dirent, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Dirent, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Dirent, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Dirent, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Dirent, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Dirent { - JSC.markBinding(@src()); - return Dirent__fromJS(value); - } - - extern fn DirentPrototype__nameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DirentPrototype__nameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Dirent.name` setter - /// This value will be visited by the garbage collector. - pub fn nameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DirentPrototype__nameSetCachedValue(thisValue, globalObject, value); - } - - /// `Dirent.name` getter - /// This value will be visited by the garbage collector. - pub fn nameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DirentPrototype__nameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the Dirent constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return Dirent__getConstructor(globalObject); - } - - /// Create a new instance of Dirent - pub fn toJS(this: *Dirent, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Dirent__create(globalObject, this); - std.debug.assert(value__.as(Dirent).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Dirent__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Dirent. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Dirent) bool { - JSC.markBinding(@src()); - return Dirent__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Dirent, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Dirent__dangerouslySetPtr(value, null)); - } - - extern fn Dirent__fromJS(JSC.JSValue) ?*Dirent; - extern fn Dirent__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Dirent__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Dirent) JSC.JSValue; - - extern fn Dirent__dangerouslySetPtr(JSC.JSValue, ?*Dirent) bool; - - comptime { - if (@TypeOf(Dirent.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Dirent)) { - @compileLog("Dirent.constructor is not a constructor"); - } - - if (@TypeOf(Dirent.finalize) != (fn (*Dirent) callconv(.C) void)) { - @compileLog("Dirent.finalize is not a finalizer"); - } - - if (@TypeOf(Dirent.isBlockDevice) != CallbackType) - @compileLog("Expected Dirent.isBlockDevice to be a callback but received " ++ @typeName(@TypeOf(Dirent.isBlockDevice))); - if (@TypeOf(Dirent.isCharacterDevice) != CallbackType) - @compileLog("Expected Dirent.isCharacterDevice to be a callback but received " ++ @typeName(@TypeOf(Dirent.isCharacterDevice))); - if (@TypeOf(Dirent.isDirectory) != CallbackType) - @compileLog("Expected Dirent.isDirectory to be a callback but received " ++ @typeName(@TypeOf(Dirent.isDirectory))); - if (@TypeOf(Dirent.isFIFO) != CallbackType) - @compileLog("Expected Dirent.isFIFO to be a callback but received " ++ @typeName(@TypeOf(Dirent.isFIFO))); - if (@TypeOf(Dirent.isFile) != CallbackType) - @compileLog("Expected Dirent.isFile to be a callback but received " ++ @typeName(@TypeOf(Dirent.isFile))); - if (@TypeOf(Dirent.isSocket) != CallbackType) - @compileLog("Expected Dirent.isSocket to be a callback but received " ++ @typeName(@TypeOf(Dirent.isSocket))); - if (@TypeOf(Dirent.isSymbolicLink) != CallbackType) - @compileLog("Expected Dirent.isSymbolicLink to be a callback but received " ++ @typeName(@TypeOf(Dirent.isSymbolicLink))); - if (@TypeOf(Dirent.getName) != GetterType) - @compileLog("Expected Dirent.getName to be a getter"); - - if (!JSC.is_bindgen) { - @export(Dirent.constructor, .{ .name = "DirentClass__construct" }); - @export(Dirent.finalize, .{ .name = "DirentClass__finalize" }); - @export(Dirent.getName, .{ .name = "DirentPrototype__getName" }); - @export(Dirent.isBlockDevice, .{ .name = "DirentPrototype__isBlockDevice" }); - @export(Dirent.isCharacterDevice, .{ .name = "DirentPrototype__isCharacterDevice" }); - @export(Dirent.isDirectory, .{ .name = "DirentPrototype__isDirectory" }); - @export(Dirent.isFIFO, .{ .name = "DirentPrototype__isFIFO" }); - @export(Dirent.isFile, .{ .name = "DirentPrototype__isFile" }); - @export(Dirent.isSocket, .{ .name = "DirentPrototype__isSocket" }); - @export(Dirent.isSymbolicLink, .{ .name = "DirentPrototype__isSymbolicLink" }); - } - } -}; -pub const JSDocEnd = struct { - const DocEnd = Classes.DocEnd; - const GetterType = fn (*DocEnd, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*DocEnd, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*DocEnd, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*DocEnd, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*DocEnd, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*DocEnd { - JSC.markBinding(@src()); - return DocEnd__fromJS(value); - } - - /// Create a new instance of DocEnd - pub fn toJS(this: *DocEnd, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = DocEnd__create(globalObject, this); - std.debug.assert(value__.as(DocEnd).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return DocEnd__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of DocEnd. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*DocEnd) bool { - JSC.markBinding(@src()); - return DocEnd__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *DocEnd, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(DocEnd__dangerouslySetPtr(value, null)); - } - - extern fn DocEnd__fromJS(JSC.JSValue) ?*DocEnd; - extern fn DocEnd__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn DocEnd__create(globalObject: *JSC.JSGlobalObject, ptr: ?*DocEnd) JSC.JSValue; - - extern fn DocEnd__dangerouslySetPtr(JSC.JSValue, ?*DocEnd) bool; - - comptime { - if (@TypeOf(DocEnd.finalize) != (fn (*DocEnd) callconv(.C) void)) { - @compileLog("DocEnd.finalize is not a finalizer"); - } - - if (@TypeOf(DocEnd.append) != CallbackType) - @compileLog("Expected DocEnd.append to be a callback but received " ++ @typeName(@TypeOf(DocEnd.append))); - if (!JSC.is_bindgen) { - @export(DocEnd.append, .{ .name = "DocEndPrototype__append" }); - @export(DocEnd.finalize, .{ .name = "DocEndClass__finalize" }); - } - } -}; -pub const JSDocType = struct { - const DocType = Classes.DocType; - const GetterType = fn (*DocType, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*DocType, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*DocType, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*DocType, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*DocType, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*DocType { - JSC.markBinding(@src()); - return DocType__fromJS(value); - } - - extern fn DocTypePrototype__nameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DocTypePrototype__nameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `DocType.name` setter - /// This value will be visited by the garbage collector. - pub fn nameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DocTypePrototype__nameSetCachedValue(thisValue, globalObject, value); - } - - /// `DocType.name` getter - /// This value will be visited by the garbage collector. - pub fn nameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DocTypePrototype__nameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn DocTypePrototype__publicIdSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DocTypePrototype__publicIdGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `DocType.publicId` setter - /// This value will be visited by the garbage collector. - pub fn publicIdSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DocTypePrototype__publicIdSetCachedValue(thisValue, globalObject, value); - } - - /// `DocType.publicId` getter - /// This value will be visited by the garbage collector. - pub fn publicIdGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DocTypePrototype__publicIdGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn DocTypePrototype__systemIdSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn DocTypePrototype__systemIdGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `DocType.systemId` setter - /// This value will be visited by the garbage collector. - pub fn systemIdSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - DocTypePrototype__systemIdSetCachedValue(thisValue, globalObject, value); - } - - /// `DocType.systemId` getter - /// This value will be visited by the garbage collector. - pub fn systemIdGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = DocTypePrototype__systemIdGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of DocType - pub fn toJS(this: *DocType, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = DocType__create(globalObject, this); - std.debug.assert(value__.as(DocType).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return DocType__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of DocType. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*DocType) bool { - JSC.markBinding(@src()); - return DocType__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *DocType, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(DocType__dangerouslySetPtr(value, null)); - } - - extern fn DocType__fromJS(JSC.JSValue) ?*DocType; - extern fn DocType__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn DocType__create(globalObject: *JSC.JSGlobalObject, ptr: ?*DocType) JSC.JSValue; - - extern fn DocType__dangerouslySetPtr(JSC.JSValue, ?*DocType) bool; - - comptime { - if (@TypeOf(DocType.finalize) != (fn (*DocType) callconv(.C) void)) { - @compileLog("DocType.finalize is not a finalizer"); - } - - if (@TypeOf(DocType.name) != GetterType) - @compileLog("Expected DocType.name to be a getter"); - - if (@TypeOf(DocType.publicId) != GetterType) - @compileLog("Expected DocType.publicId to be a getter"); - - if (@TypeOf(DocType.systemId) != GetterType) - @compileLog("Expected DocType.systemId to be a getter"); - - if (!JSC.is_bindgen) { - @export(DocType.finalize, .{ .name = "DocTypeClass__finalize" }); - @export(DocType.name, .{ .name = "DocTypePrototype__name" }); - @export(DocType.publicId, .{ .name = "DocTypePrototype__publicId" }); - @export(DocType.systemId, .{ .name = "DocTypePrototype__systemId" }); - } - } -}; -pub const JSElement = struct { - const Element = Classes.Element; - const GetterType = fn (*Element, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Element, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Element, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Element, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Element, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Element { - JSC.markBinding(@src()); - return Element__fromJS(value); - } - - extern fn ElementPrototype__namespaceURISetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ElementPrototype__namespaceURIGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Element.namespaceURI` setter - /// This value will be visited by the garbage collector. - pub fn namespaceURISetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ElementPrototype__namespaceURISetCachedValue(thisValue, globalObject, value); - } - - /// `Element.namespaceURI` getter - /// This value will be visited by the garbage collector. - pub fn namespaceURIGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ElementPrototype__namespaceURIGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of Element - pub fn toJS(this: *Element, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Element__create(globalObject, this); - std.debug.assert(value__.as(Element).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Element__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Element. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Element) bool { - JSC.markBinding(@src()); - return Element__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Element, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Element__dangerouslySetPtr(value, null)); - } - - extern fn Element__fromJS(JSC.JSValue) ?*Element; - extern fn Element__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Element__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Element) JSC.JSValue; - - extern fn Element__dangerouslySetPtr(JSC.JSValue, ?*Element) bool; - - comptime { - if (@TypeOf(Element.finalize) != (fn (*Element) callconv(.C) void)) { - @compileLog("Element.finalize is not a finalizer"); - } - - if (@TypeOf(Element.after) != CallbackType) - @compileLog("Expected Element.after to be a callback but received " ++ @typeName(@TypeOf(Element.after))); - if (@TypeOf(Element.append) != CallbackType) - @compileLog("Expected Element.append to be a callback but received " ++ @typeName(@TypeOf(Element.append))); - if (@TypeOf(Element.getAttributes) != GetterType) - @compileLog("Expected Element.getAttributes to be a getter"); - - if (@TypeOf(Element.before) != CallbackType) - @compileLog("Expected Element.before to be a callback but received " ++ @typeName(@TypeOf(Element.before))); - if (@TypeOf(Element.getCanHaveContent) != GetterType) - @compileLog("Expected Element.getCanHaveContent to be a getter"); - - if (@TypeOf(Element.getAttribute) != CallbackType) - @compileLog("Expected Element.getAttribute to be a callback but received " ++ @typeName(@TypeOf(Element.getAttribute))); - if (@TypeOf(Element.hasAttribute) != CallbackType) - @compileLog("Expected Element.hasAttribute to be a callback but received " ++ @typeName(@TypeOf(Element.hasAttribute))); - if (@TypeOf(Element.getNamespaceURI) != GetterType) - @compileLog("Expected Element.getNamespaceURI to be a getter"); - - if (@TypeOf(Element.onEndTag) != CallbackType) - @compileLog("Expected Element.onEndTag to be a callback but received " ++ @typeName(@TypeOf(Element.onEndTag))); - if (@TypeOf(Element.prepend) != CallbackType) - @compileLog("Expected Element.prepend to be a callback but received " ++ @typeName(@TypeOf(Element.prepend))); - if (@TypeOf(Element.remove) != CallbackType) - @compileLog("Expected Element.remove to be a callback but received " ++ @typeName(@TypeOf(Element.remove))); - if (@TypeOf(Element.removeAndKeepContent) != CallbackType) - @compileLog("Expected Element.removeAndKeepContent to be a callback but received " ++ @typeName(@TypeOf(Element.removeAndKeepContent))); - if (@TypeOf(Element.removeAttribute) != CallbackType) - @compileLog("Expected Element.removeAttribute to be a callback but received " ++ @typeName(@TypeOf(Element.removeAttribute))); - if (@TypeOf(Element.getRemoved) != GetterType) - @compileLog("Expected Element.getRemoved to be a getter"); - - if (@TypeOf(Element.replace) != CallbackType) - @compileLog("Expected Element.replace to be a callback but received " ++ @typeName(@TypeOf(Element.replace))); - if (@TypeOf(Element.getSelfClosing) != GetterType) - @compileLog("Expected Element.getSelfClosing to be a getter"); - - if (@TypeOf(Element.setAttribute) != CallbackType) - @compileLog("Expected Element.setAttribute to be a callback but received " ++ @typeName(@TypeOf(Element.setAttribute))); - if (@TypeOf(Element.setInnerContent) != CallbackType) - @compileLog("Expected Element.setInnerContent to be a callback but received " ++ @typeName(@TypeOf(Element.setInnerContent))); - if (@TypeOf(Element.getTagName) != GetterType) - @compileLog("Expected Element.getTagName to be a getter"); - - if (@TypeOf(Element.setTagName) != SetterType) - @compileLog("Expected Element.setTagName to be a setter"); - if (!JSC.is_bindgen) { - @export(Element.after, .{ .name = "ElementPrototype__after" }); - @export(Element.append, .{ .name = "ElementPrototype__append" }); - @export(Element.before, .{ .name = "ElementPrototype__before" }); - @export(Element.finalize, .{ .name = "ElementClass__finalize" }); - @export(Element.getAttribute, .{ .name = "ElementPrototype__getAttribute" }); - @export(Element.getAttributes, .{ .name = "ElementPrototype__getAttributes" }); - @export(Element.getCanHaveContent, .{ .name = "ElementPrototype__getCanHaveContent" }); - @export(Element.getNamespaceURI, .{ .name = "ElementPrototype__getNamespaceURI" }); - @export(Element.getRemoved, .{ .name = "ElementPrototype__getRemoved" }); - @export(Element.getSelfClosing, .{ .name = "ElementPrototype__getSelfClosing" }); - @export(Element.getTagName, .{ .name = "ElementPrototype__getTagName" }); - @export(Element.hasAttribute, .{ .name = "ElementPrototype__hasAttribute" }); - @export(Element.onEndTag, .{ .name = "ElementPrototype__onEndTag" }); - @export(Element.prepend, .{ .name = "ElementPrototype__prepend" }); - @export(Element.remove, .{ .name = "ElementPrototype__remove" }); - @export(Element.removeAndKeepContent, .{ .name = "ElementPrototype__removeAndKeepContent" }); - @export(Element.removeAttribute, .{ .name = "ElementPrototype__removeAttribute" }); - @export(Element.replace, .{ .name = "ElementPrototype__replace" }); - @export(Element.setAttribute, .{ .name = "ElementPrototype__setAttribute" }); - @export(Element.setInnerContent, .{ .name = "ElementPrototype__setInnerContent" }); - @export(Element.setTagName, .{ .name = "ElementPrototype__setTagName" }); - } - } -}; -pub const JSEndTag = struct { - const EndTag = Classes.EndTag; - const GetterType = fn (*EndTag, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*EndTag, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*EndTag, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*EndTag, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*EndTag, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*EndTag { - JSC.markBinding(@src()); - return EndTag__fromJS(value); - } - - /// Create a new instance of EndTag - pub fn toJS(this: *EndTag, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = EndTag__create(globalObject, this); - std.debug.assert(value__.as(EndTag).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return EndTag__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of EndTag. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*EndTag) bool { - JSC.markBinding(@src()); - return EndTag__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *EndTag, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(EndTag__dangerouslySetPtr(value, null)); - } - - extern fn EndTag__fromJS(JSC.JSValue) ?*EndTag; - extern fn EndTag__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn EndTag__create(globalObject: *JSC.JSGlobalObject, ptr: ?*EndTag) JSC.JSValue; - - extern fn EndTag__dangerouslySetPtr(JSC.JSValue, ?*EndTag) bool; - - comptime { - if (@TypeOf(EndTag.finalize) != (fn (*EndTag) callconv(.C) void)) { - @compileLog("EndTag.finalize is not a finalizer"); - } - - if (@TypeOf(EndTag.after) != CallbackType) - @compileLog("Expected EndTag.after to be a callback but received " ++ @typeName(@TypeOf(EndTag.after))); - if (@TypeOf(EndTag.before) != CallbackType) - @compileLog("Expected EndTag.before to be a callback but received " ++ @typeName(@TypeOf(EndTag.before))); - if (@TypeOf(EndTag.getName) != GetterType) - @compileLog("Expected EndTag.getName to be a getter"); - - if (@TypeOf(EndTag.setName) != SetterType) - @compileLog("Expected EndTag.setName to be a setter"); - if (@TypeOf(EndTag.remove) != CallbackType) - @compileLog("Expected EndTag.remove to be a callback but received " ++ @typeName(@TypeOf(EndTag.remove))); - if (!JSC.is_bindgen) { - @export(EndTag.after, .{ .name = "EndTagPrototype__after" }); - @export(EndTag.before, .{ .name = "EndTagPrototype__before" }); - @export(EndTag.finalize, .{ .name = "EndTagClass__finalize" }); - @export(EndTag.getName, .{ .name = "EndTagPrototype__getName" }); - @export(EndTag.remove, .{ .name = "EndTagPrototype__remove" }); - @export(EndTag.setName, .{ .name = "EndTagPrototype__setName" }); - } - } -}; -pub const JSExpect = struct { - const Expect = Classes.Expect; - const GetterType = fn (*Expect, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Expect, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Expect, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Expect, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Expect, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Expect { - JSC.markBinding(@src()); - return Expect__fromJS(value); - } - - extern fn ExpectPrototype__capturedValueSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ExpectPrototype__capturedValueGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Expect.capturedValue` setter - /// This value will be visited by the garbage collector. - pub fn capturedValueSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ExpectPrototype__capturedValueSetCachedValue(thisValue, globalObject, value); - } - - /// `Expect.capturedValue` getter - /// This value will be visited by the garbage collector. - pub fn capturedValueGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ExpectPrototype__capturedValueGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ExpectPrototype__resultValueSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ExpectPrototype__resultValueGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Expect.resultValue` setter - /// This value will be visited by the garbage collector. - pub fn resultValueSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ExpectPrototype__resultValueSetCachedValue(thisValue, globalObject, value); - } - - /// `Expect.resultValue` getter - /// This value will be visited by the garbage collector. - pub fn resultValueGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ExpectPrototype__resultValueGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the Expect constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return Expect__getConstructor(globalObject); - } - - /// Create a new instance of Expect - pub fn toJS(this: *Expect, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Expect__create(globalObject, this); - std.debug.assert(value__.as(Expect).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Expect__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Expect. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Expect) bool { - JSC.markBinding(@src()); - return Expect__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Expect, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Expect__dangerouslySetPtr(value, null)); - } - - extern fn Expect__fromJS(JSC.JSValue) ?*Expect; - extern fn Expect__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Expect__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Expect) JSC.JSValue; - - extern fn Expect__dangerouslySetPtr(JSC.JSValue, ?*Expect) bool; - - comptime { - if (@TypeOf(Expect.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Expect)) { - @compileLog("Expect.constructor is not a constructor"); - } - - if (@TypeOf(Expect.finalize) != (fn (*Expect) callconv(.C) void)) { - @compileLog("Expect.finalize is not a finalizer"); - } - - if (@TypeOf(Expect.fail) != CallbackType) - @compileLog("Expected Expect.fail to be a callback but received " ++ @typeName(@TypeOf(Expect.fail))); - if (@TypeOf(Expect.getNot) != GetterTypeWithThisValue) - @compileLog("Expected Expect.getNot to be a getter with thisValue"); - if (@TypeOf(Expect._pass) != CallbackType) - @compileLog("Expected Expect._pass to be a callback but received " ++ @typeName(@TypeOf(Expect._pass))); - if (@TypeOf(Expect.getRejects) != GetterTypeWithThisValue) - @compileLog("Expected Expect.getRejects to be a getter with thisValue"); - if (@TypeOf(Expect.getResolves) != GetterTypeWithThisValue) - @compileLog("Expected Expect.getResolves to be a getter with thisValue"); - if (@TypeOf(Expect.toBe) != CallbackType) - @compileLog("Expected Expect.toBe to be a callback but received " ++ @typeName(@TypeOf(Expect.toBe))); - if (@TypeOf(Expect.toBeArray) != CallbackType) - @compileLog("Expected Expect.toBeArray to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeArray))); - if (@TypeOf(Expect.toBeArrayOfSize) != CallbackType) - @compileLog("Expected Expect.toBeArrayOfSize to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeArrayOfSize))); - if (@TypeOf(Expect.toBeBoolean) != CallbackType) - @compileLog("Expected Expect.toBeBoolean to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeBoolean))); - if (@TypeOf(Expect.toBeCloseTo) != CallbackType) - @compileLog("Expected Expect.toBeCloseTo to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeCloseTo))); - if (@TypeOf(Expect.toBeDate) != CallbackType) - @compileLog("Expected Expect.toBeDate to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeDate))); - if (@TypeOf(Expect.toBeDefined) != CallbackType) - @compileLog("Expected Expect.toBeDefined to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeDefined))); - if (@TypeOf(Expect.toBeEmpty) != CallbackType) - @compileLog("Expected Expect.toBeEmpty to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeEmpty))); - if (@TypeOf(Expect.toBeEven) != CallbackType) - @compileLog("Expected Expect.toBeEven to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeEven))); - if (@TypeOf(Expect.toBeFalse) != CallbackType) - @compileLog("Expected Expect.toBeFalse to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeFalse))); - if (@TypeOf(Expect.toBeFalsy) != CallbackType) - @compileLog("Expected Expect.toBeFalsy to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeFalsy))); - if (@TypeOf(Expect.toBeFinite) != CallbackType) - @compileLog("Expected Expect.toBeFinite to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeFinite))); - if (@TypeOf(Expect.toBeFunction) != CallbackType) - @compileLog("Expected Expect.toBeFunction to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeFunction))); - if (@TypeOf(Expect.toBeGreaterThan) != CallbackType) - @compileLog("Expected Expect.toBeGreaterThan to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeGreaterThan))); - if (@TypeOf(Expect.toBeGreaterThanOrEqual) != CallbackType) - @compileLog("Expected Expect.toBeGreaterThanOrEqual to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeGreaterThanOrEqual))); - if (@TypeOf(Expect.toBeInstanceOf) != CallbackType) - @compileLog("Expected Expect.toBeInstanceOf to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeInstanceOf))); - if (@TypeOf(Expect.toBeInteger) != CallbackType) - @compileLog("Expected Expect.toBeInteger to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeInteger))); - if (@TypeOf(Expect.toBeLessThan) != CallbackType) - @compileLog("Expected Expect.toBeLessThan to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeLessThan))); - if (@TypeOf(Expect.toBeLessThanOrEqual) != CallbackType) - @compileLog("Expected Expect.toBeLessThanOrEqual to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeLessThanOrEqual))); - if (@TypeOf(Expect.toBeNaN) != CallbackType) - @compileLog("Expected Expect.toBeNaN to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeNaN))); - if (@TypeOf(Expect.toBeNegative) != CallbackType) - @compileLog("Expected Expect.toBeNegative to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeNegative))); - if (@TypeOf(Expect.toBeNil) != CallbackType) - @compileLog("Expected Expect.toBeNil to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeNil))); - if (@TypeOf(Expect.toBeNull) != CallbackType) - @compileLog("Expected Expect.toBeNull to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeNull))); - if (@TypeOf(Expect.toBeNumber) != CallbackType) - @compileLog("Expected Expect.toBeNumber to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeNumber))); - if (@TypeOf(Expect.toBeOdd) != CallbackType) - @compileLog("Expected Expect.toBeOdd to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeOdd))); - if (@TypeOf(Expect.toBePositive) != CallbackType) - @compileLog("Expected Expect.toBePositive to be a callback but received " ++ @typeName(@TypeOf(Expect.toBePositive))); - if (@TypeOf(Expect.toBeString) != CallbackType) - @compileLog("Expected Expect.toBeString to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeString))); - if (@TypeOf(Expect.toBeSymbol) != CallbackType) - @compileLog("Expected Expect.toBeSymbol to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeSymbol))); - if (@TypeOf(Expect.toBeTrue) != CallbackType) - @compileLog("Expected Expect.toBeTrue to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeTrue))); - if (@TypeOf(Expect.toBeTruthy) != CallbackType) - @compileLog("Expected Expect.toBeTruthy to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeTruthy))); - if (@TypeOf(Expect.toBeTypeOf) != CallbackType) - @compileLog("Expected Expect.toBeTypeOf to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeTypeOf))); - if (@TypeOf(Expect.toBeUndefined) != CallbackType) - @compileLog("Expected Expect.toBeUndefined to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeUndefined))); - if (@TypeOf(Expect.toBeWithin) != CallbackType) - @compileLog("Expected Expect.toBeWithin to be a callback but received " ++ @typeName(@TypeOf(Expect.toBeWithin))); - if (@TypeOf(Expect.toContain) != CallbackType) - @compileLog("Expected Expect.toContain to be a callback but received " ++ @typeName(@TypeOf(Expect.toContain))); - if (@TypeOf(Expect.toContainEqual) != CallbackType) - @compileLog("Expected Expect.toContainEqual to be a callback but received " ++ @typeName(@TypeOf(Expect.toContainEqual))); - if (@TypeOf(Expect.toEndWith) != CallbackType) - @compileLog("Expected Expect.toEndWith to be a callback but received " ++ @typeName(@TypeOf(Expect.toEndWith))); - if (@TypeOf(Expect.toEqual) != CallbackType) - @compileLog("Expected Expect.toEqual to be a callback but received " ++ @typeName(@TypeOf(Expect.toEqual))); - if (@TypeOf(Expect.toEqualIgnoringWhitespace) != CallbackType) - @compileLog("Expected Expect.toEqualIgnoringWhitespace to be a callback but received " ++ @typeName(@TypeOf(Expect.toEqualIgnoringWhitespace))); - if (@TypeOf(Expect.toHaveBeenCalled) != CallbackType) - @compileLog("Expected Expect.toHaveBeenCalled to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveBeenCalled))); - if (@TypeOf(Expect.toHaveBeenCalledTimes) != CallbackType) - @compileLog("Expected Expect.toHaveBeenCalledTimes to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveBeenCalledTimes))); - if (@TypeOf(Expect.toHaveBeenCalledWith) != CallbackType) - @compileLog("Expected Expect.toHaveBeenCalledWith to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveBeenCalledWith))); - if (@TypeOf(Expect.toHaveBeenLastCalledWith) != CallbackType) - @compileLog("Expected Expect.toHaveBeenLastCalledWith to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveBeenLastCalledWith))); - if (@TypeOf(Expect.toHaveBeenNthCalledWith) != CallbackType) - @compileLog("Expected Expect.toHaveBeenNthCalledWith to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveBeenNthCalledWith))); - if (@TypeOf(Expect.toHaveLastReturnedWith) != CallbackType) - @compileLog("Expected Expect.toHaveLastReturnedWith to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveLastReturnedWith))); - if (@TypeOf(Expect.toHaveLength) != CallbackType) - @compileLog("Expected Expect.toHaveLength to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveLength))); - if (@TypeOf(Expect.toHaveNthReturnedWith) != CallbackType) - @compileLog("Expected Expect.toHaveNthReturnedWith to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveNthReturnedWith))); - if (@TypeOf(Expect.toHaveProperty) != CallbackType) - @compileLog("Expected Expect.toHaveProperty to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveProperty))); - if (@TypeOf(Expect.toHaveReturnedTimes) != CallbackType) - @compileLog("Expected Expect.toHaveReturnedTimes to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveReturnedTimes))); - if (@TypeOf(Expect.toHaveReturnedWith) != CallbackType) - @compileLog("Expected Expect.toHaveReturnedWith to be a callback but received " ++ @typeName(@TypeOf(Expect.toHaveReturnedWith))); - if (@TypeOf(Expect.toInclude) != CallbackType) - @compileLog("Expected Expect.toInclude to be a callback but received " ++ @typeName(@TypeOf(Expect.toInclude))); - if (@TypeOf(Expect.toIncludeRepeated) != CallbackType) - @compileLog("Expected Expect.toIncludeRepeated to be a callback but received " ++ @typeName(@TypeOf(Expect.toIncludeRepeated))); - if (@TypeOf(Expect.toMatch) != CallbackType) - @compileLog("Expected Expect.toMatch to be a callback but received " ++ @typeName(@TypeOf(Expect.toMatch))); - if (@TypeOf(Expect.toMatchInlineSnapshot) != CallbackType) - @compileLog("Expected Expect.toMatchInlineSnapshot to be a callback but received " ++ @typeName(@TypeOf(Expect.toMatchInlineSnapshot))); - if (@TypeOf(Expect.toMatchObject) != CallbackType) - @compileLog("Expected Expect.toMatchObject to be a callback but received " ++ @typeName(@TypeOf(Expect.toMatchObject))); - if (@TypeOf(Expect.toMatchSnapshot) != CallbackType) - @compileLog("Expected Expect.toMatchSnapshot to be a callback but received " ++ @typeName(@TypeOf(Expect.toMatchSnapshot))); - if (@TypeOf(Expect.toSatisfy) != CallbackType) - @compileLog("Expected Expect.toSatisfy to be a callback but received " ++ @typeName(@TypeOf(Expect.toSatisfy))); - if (@TypeOf(Expect.toStartWith) != CallbackType) - @compileLog("Expected Expect.toStartWith to be a callback but received " ++ @typeName(@TypeOf(Expect.toStartWith))); - if (@TypeOf(Expect.toStrictEqual) != CallbackType) - @compileLog("Expected Expect.toStrictEqual to be a callback but received " ++ @typeName(@TypeOf(Expect.toStrictEqual))); - if (@TypeOf(Expect.toThrow) != CallbackType) - @compileLog("Expected Expect.toThrow to be a callback but received " ++ @typeName(@TypeOf(Expect.toThrow))); - if (@TypeOf(Expect.toThrowErrorMatchingInlineSnapshot) != CallbackType) - @compileLog("Expected Expect.toThrowErrorMatchingInlineSnapshot to be a callback but received " ++ @typeName(@TypeOf(Expect.toThrowErrorMatchingInlineSnapshot))); - if (@TypeOf(Expect.toThrowErrorMatchingSnapshot) != CallbackType) - @compileLog("Expected Expect.toThrowErrorMatchingSnapshot to be a callback but received " ++ @typeName(@TypeOf(Expect.toThrowErrorMatchingSnapshot))); - if (@TypeOf(Expect.addSnapshotSerializer) != StaticCallbackType) - @compileLog("Expected Expect.addSnapshotSerializer to be a static callback"); - if (@TypeOf(Expect.any) != StaticCallbackType) - @compileLog("Expected Expect.any to be a static callback"); - if (@TypeOf(Expect.anything) != StaticCallbackType) - @compileLog("Expected Expect.anything to be a static callback"); - if (@TypeOf(Expect.arrayContaining) != StaticCallbackType) - @compileLog("Expected Expect.arrayContaining to be a static callback"); - if (@TypeOf(Expect.assertions) != StaticCallbackType) - @compileLog("Expected Expect.assertions to be a static callback"); - if (@TypeOf(Expect.extend) != StaticCallbackType) - @compileLog("Expected Expect.extend to be a static callback"); - if (@TypeOf(Expect.hasAssertions) != StaticCallbackType) - @compileLog("Expected Expect.hasAssertions to be a static callback"); - if (@TypeOf(Expect.getStaticNot) != StaticGetterType) - @compileLog("Expected Expect.getStaticNot to be a static getter"); - - if (@TypeOf(Expect.objectContaining) != StaticCallbackType) - @compileLog("Expected Expect.objectContaining to be a static callback"); - if (@TypeOf(Expect.getStaticRejects) != StaticGetterType) - @compileLog("Expected Expect.getStaticRejects to be a static getter"); - - if (@TypeOf(Expect.getStaticResolves) != StaticGetterType) - @compileLog("Expected Expect.getStaticResolves to be a static getter"); - - if (@TypeOf(Expect.stringContaining) != StaticCallbackType) - @compileLog("Expected Expect.stringContaining to be a static callback"); - if (@TypeOf(Expect.stringMatching) != StaticCallbackType) - @compileLog("Expected Expect.stringMatching to be a static callback"); - if (@TypeOf(Expect.call) != StaticCallbackType) - @compileLog("Expected Expect.call to be a static callback"); - if (!JSC.is_bindgen) { - @export(Expect._pass, .{ .name = "ExpectPrototype___pass" }); - @export(Expect.addSnapshotSerializer, .{ .name = "ExpectClass__addSnapshotSerializer" }); - @export(Expect.any, .{ .name = "ExpectClass__any" }); - @export(Expect.anything, .{ .name = "ExpectClass__anything" }); - @export(Expect.arrayContaining, .{ .name = "ExpectClass__arrayContaining" }); - @export(Expect.assertions, .{ .name = "ExpectClass__assertions" }); - @export(Expect.call, .{ .name = "ExpectClass__call" }); - @export(Expect.constructor, .{ .name = "ExpectClass__construct" }); - @export(Expect.extend, .{ .name = "ExpectClass__extend" }); - @export(Expect.fail, .{ .name = "ExpectPrototype__fail" }); - @export(Expect.finalize, .{ .name = "ExpectClass__finalize" }); - @export(Expect.getNot, .{ .name = "ExpectPrototype__getNot" }); - @export(Expect.getRejects, .{ .name = "ExpectPrototype__getRejects" }); - @export(Expect.getResolves, .{ .name = "ExpectPrototype__getResolves" }); - @export(Expect.getStaticNot, .{ .name = "ExpectClass__getStaticNot" }); - @export(Expect.getStaticRejects, .{ .name = "ExpectClass__getStaticRejects" }); - @export(Expect.getStaticResolves, .{ .name = "ExpectClass__getStaticResolves" }); - @export(Expect.hasAssertions, .{ .name = "ExpectClass__hasAssertions" }); - @export(Expect.objectContaining, .{ .name = "ExpectClass__objectContaining" }); - @export(Expect.stringContaining, .{ .name = "ExpectClass__stringContaining" }); - @export(Expect.stringMatching, .{ .name = "ExpectClass__stringMatching" }); - @export(Expect.toBe, .{ .name = "ExpectPrototype__toBe" }); - @export(Expect.toBeArray, .{ .name = "ExpectPrototype__toBeArray" }); - @export(Expect.toBeArrayOfSize, .{ .name = "ExpectPrototype__toBeArrayOfSize" }); - @export(Expect.toBeBoolean, .{ .name = "ExpectPrototype__toBeBoolean" }); - @export(Expect.toBeCloseTo, .{ .name = "ExpectPrototype__toBeCloseTo" }); - @export(Expect.toBeDate, .{ .name = "ExpectPrototype__toBeDate" }); - @export(Expect.toBeDefined, .{ .name = "ExpectPrototype__toBeDefined" }); - @export(Expect.toBeEmpty, .{ .name = "ExpectPrototype__toBeEmpty" }); - @export(Expect.toBeEven, .{ .name = "ExpectPrototype__toBeEven" }); - @export(Expect.toBeFalse, .{ .name = "ExpectPrototype__toBeFalse" }); - @export(Expect.toBeFalsy, .{ .name = "ExpectPrototype__toBeFalsy" }); - @export(Expect.toBeFinite, .{ .name = "ExpectPrototype__toBeFinite" }); - @export(Expect.toBeFunction, .{ .name = "ExpectPrototype__toBeFunction" }); - @export(Expect.toBeGreaterThan, .{ .name = "ExpectPrototype__toBeGreaterThan" }); - @export(Expect.toBeGreaterThanOrEqual, .{ .name = "ExpectPrototype__toBeGreaterThanOrEqual" }); - @export(Expect.toBeInstanceOf, .{ .name = "ExpectPrototype__toBeInstanceOf" }); - @export(Expect.toBeInteger, .{ .name = "ExpectPrototype__toBeInteger" }); - @export(Expect.toBeLessThan, .{ .name = "ExpectPrototype__toBeLessThan" }); - @export(Expect.toBeLessThanOrEqual, .{ .name = "ExpectPrototype__toBeLessThanOrEqual" }); - @export(Expect.toBeNaN, .{ .name = "ExpectPrototype__toBeNaN" }); - @export(Expect.toBeNegative, .{ .name = "ExpectPrototype__toBeNegative" }); - @export(Expect.toBeNil, .{ .name = "ExpectPrototype__toBeNil" }); - @export(Expect.toBeNull, .{ .name = "ExpectPrototype__toBeNull" }); - @export(Expect.toBeNumber, .{ .name = "ExpectPrototype__toBeNumber" }); - @export(Expect.toBeOdd, .{ .name = "ExpectPrototype__toBeOdd" }); - @export(Expect.toBePositive, .{ .name = "ExpectPrototype__toBePositive" }); - @export(Expect.toBeString, .{ .name = "ExpectPrototype__toBeString" }); - @export(Expect.toBeSymbol, .{ .name = "ExpectPrototype__toBeSymbol" }); - @export(Expect.toBeTrue, .{ .name = "ExpectPrototype__toBeTrue" }); - @export(Expect.toBeTruthy, .{ .name = "ExpectPrototype__toBeTruthy" }); - @export(Expect.toBeTypeOf, .{ .name = "ExpectPrototype__toBeTypeOf" }); - @export(Expect.toBeUndefined, .{ .name = "ExpectPrototype__toBeUndefined" }); - @export(Expect.toBeWithin, .{ .name = "ExpectPrototype__toBeWithin" }); - @export(Expect.toContain, .{ .name = "ExpectPrototype__toContain" }); - @export(Expect.toContainEqual, .{ .name = "ExpectPrototype__toContainEqual" }); - @export(Expect.toEndWith, .{ .name = "ExpectPrototype__toEndWith" }); - @export(Expect.toEqual, .{ .name = "ExpectPrototype__toEqual" }); - @export(Expect.toEqualIgnoringWhitespace, .{ .name = "ExpectPrototype__toEqualIgnoringWhitespace" }); - @export(Expect.toHaveBeenCalled, .{ .name = "ExpectPrototype__toHaveBeenCalled" }); - @export(Expect.toHaveBeenCalledTimes, .{ .name = "ExpectPrototype__toHaveBeenCalledTimes" }); - @export(Expect.toHaveBeenCalledWith, .{ .name = "ExpectPrototype__toHaveBeenCalledWith" }); - @export(Expect.toHaveBeenLastCalledWith, .{ .name = "ExpectPrototype__toHaveBeenLastCalledWith" }); - @export(Expect.toHaveBeenNthCalledWith, .{ .name = "ExpectPrototype__toHaveBeenNthCalledWith" }); - @export(Expect.toHaveLastReturnedWith, .{ .name = "ExpectPrototype__toHaveLastReturnedWith" }); - @export(Expect.toHaveLength, .{ .name = "ExpectPrototype__toHaveLength" }); - @export(Expect.toHaveNthReturnedWith, .{ .name = "ExpectPrototype__toHaveNthReturnedWith" }); - @export(Expect.toHaveProperty, .{ .name = "ExpectPrototype__toHaveProperty" }); - @export(Expect.toHaveReturnedTimes, .{ .name = "ExpectPrototype__toHaveReturnedTimes" }); - @export(Expect.toHaveReturnedWith, .{ .name = "ExpectPrototype__toHaveReturnedWith" }); - @export(Expect.toInclude, .{ .name = "ExpectPrototype__toInclude" }); - @export(Expect.toIncludeRepeated, .{ .name = "ExpectPrototype__toIncludeRepeated" }); - @export(Expect.toMatch, .{ .name = "ExpectPrototype__toMatch" }); - @export(Expect.toMatchInlineSnapshot, .{ .name = "ExpectPrototype__toMatchInlineSnapshot" }); - @export(Expect.toMatchObject, .{ .name = "ExpectPrototype__toMatchObject" }); - @export(Expect.toMatchSnapshot, .{ .name = "ExpectPrototype__toMatchSnapshot" }); - @export(Expect.toSatisfy, .{ .name = "ExpectPrototype__toSatisfy" }); - @export(Expect.toStartWith, .{ .name = "ExpectPrototype__toStartWith" }); - @export(Expect.toStrictEqual, .{ .name = "ExpectPrototype__toStrictEqual" }); - @export(Expect.toThrow, .{ .name = "ExpectPrototype__toThrow" }); - @export(Expect.toThrowErrorMatchingInlineSnapshot, .{ .name = "ExpectPrototype__toThrowErrorMatchingInlineSnapshot" }); - @export(Expect.toThrowErrorMatchingSnapshot, .{ .name = "ExpectPrototype__toThrowErrorMatchingSnapshot" }); - } - } -}; -pub const JSExpectAny = struct { - const ExpectAny = Classes.ExpectAny; - const GetterType = fn (*ExpectAny, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*ExpectAny, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*ExpectAny, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*ExpectAny, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*ExpectAny, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*ExpectAny { - JSC.markBinding(@src()); - return ExpectAny__fromJS(value); - } - - extern fn ExpectAnyPrototype__constructorValueSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ExpectAnyPrototype__constructorValueGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ExpectAny.constructorValue` setter - /// This value will be visited by the garbage collector. - pub fn constructorValueSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ExpectAnyPrototype__constructorValueSetCachedValue(thisValue, globalObject, value); - } - - /// `ExpectAny.constructorValue` getter - /// This value will be visited by the garbage collector. - pub fn constructorValueGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ExpectAnyPrototype__constructorValueGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of ExpectAny - pub fn toJS(this: *ExpectAny, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = ExpectAny__create(globalObject, this); - std.debug.assert(value__.as(ExpectAny).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return ExpectAny__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of ExpectAny. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*ExpectAny) bool { - JSC.markBinding(@src()); - return ExpectAny__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *ExpectAny, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(ExpectAny__dangerouslySetPtr(value, null)); - } - - extern fn ExpectAny__fromJS(JSC.JSValue) ?*ExpectAny; - extern fn ExpectAny__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn ExpectAny__create(globalObject: *JSC.JSGlobalObject, ptr: ?*ExpectAny) JSC.JSValue; - - extern fn ExpectAny__dangerouslySetPtr(JSC.JSValue, ?*ExpectAny) bool; - - comptime { - if (@TypeOf(ExpectAny.finalize) != (fn (*ExpectAny) callconv(.C) void)) { - @compileLog("ExpectAny.finalize is not a finalizer"); - } - - if (@TypeOf(ExpectAny.call) != StaticCallbackType) - @compileLog("Expected ExpectAny.call to be a static callback"); - if (!JSC.is_bindgen) { - @export(ExpectAny.call, .{ .name = "ExpectAnyClass__call" }); - @export(ExpectAny.finalize, .{ .name = "ExpectAnyClass__finalize" }); - } - } -}; -pub const JSExpectAnything = struct { - const ExpectAnything = Classes.ExpectAnything; - const GetterType = fn (*ExpectAnything, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*ExpectAnything, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*ExpectAnything, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*ExpectAnything, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*ExpectAnything, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*ExpectAnything { - JSC.markBinding(@src()); - return ExpectAnything__fromJS(value); - } - - /// Create a new instance of ExpectAnything - pub fn toJS(this: *ExpectAnything, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = ExpectAnything__create(globalObject, this); - std.debug.assert(value__.as(ExpectAnything).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return ExpectAnything__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of ExpectAnything. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*ExpectAnything) bool { - JSC.markBinding(@src()); - return ExpectAnything__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *ExpectAnything, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(ExpectAnything__dangerouslySetPtr(value, null)); - } - - extern fn ExpectAnything__fromJS(JSC.JSValue) ?*ExpectAnything; - extern fn ExpectAnything__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn ExpectAnything__create(globalObject: *JSC.JSGlobalObject, ptr: ?*ExpectAnything) JSC.JSValue; - - extern fn ExpectAnything__dangerouslySetPtr(JSC.JSValue, ?*ExpectAnything) bool; - - comptime { - if (@TypeOf(ExpectAnything.finalize) != (fn (*ExpectAnything) callconv(.C) void)) { - @compileLog("ExpectAnything.finalize is not a finalizer"); - } - - if (@TypeOf(ExpectAnything.call) != StaticCallbackType) - @compileLog("Expected ExpectAnything.call to be a static callback"); - if (!JSC.is_bindgen) { - @export(ExpectAnything.call, .{ .name = "ExpectAnythingClass__call" }); - @export(ExpectAnything.finalize, .{ .name = "ExpectAnythingClass__finalize" }); - } - } -}; -pub const JSExpectArrayContaining = struct { - const ExpectArrayContaining = Classes.ExpectArrayContaining; - const GetterType = fn (*ExpectArrayContaining, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*ExpectArrayContaining, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*ExpectArrayContaining, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*ExpectArrayContaining, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*ExpectArrayContaining, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*ExpectArrayContaining { - JSC.markBinding(@src()); - return ExpectArrayContaining__fromJS(value); - } - - extern fn ExpectArrayContainingPrototype__arrayValueSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ExpectArrayContainingPrototype__arrayValueGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ExpectArrayContaining.arrayValue` setter - /// This value will be visited by the garbage collector. - pub fn arrayValueSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ExpectArrayContainingPrototype__arrayValueSetCachedValue(thisValue, globalObject, value); - } - - /// `ExpectArrayContaining.arrayValue` getter - /// This value will be visited by the garbage collector. - pub fn arrayValueGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ExpectArrayContainingPrototype__arrayValueGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of ExpectArrayContaining - pub fn toJS(this: *ExpectArrayContaining, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = ExpectArrayContaining__create(globalObject, this); - std.debug.assert(value__.as(ExpectArrayContaining).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return ExpectArrayContaining__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of ExpectArrayContaining. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*ExpectArrayContaining) bool { - JSC.markBinding(@src()); - return ExpectArrayContaining__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *ExpectArrayContaining, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(ExpectArrayContaining__dangerouslySetPtr(value, null)); - } - - extern fn ExpectArrayContaining__fromJS(JSC.JSValue) ?*ExpectArrayContaining; - extern fn ExpectArrayContaining__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn ExpectArrayContaining__create(globalObject: *JSC.JSGlobalObject, ptr: ?*ExpectArrayContaining) JSC.JSValue; - - extern fn ExpectArrayContaining__dangerouslySetPtr(JSC.JSValue, ?*ExpectArrayContaining) bool; - - comptime { - if (@TypeOf(ExpectArrayContaining.finalize) != (fn (*ExpectArrayContaining) callconv(.C) void)) { - @compileLog("ExpectArrayContaining.finalize is not a finalizer"); - } - - if (@TypeOf(ExpectArrayContaining.call) != StaticCallbackType) - @compileLog("Expected ExpectArrayContaining.call to be a static callback"); - if (!JSC.is_bindgen) { - @export(ExpectArrayContaining.call, .{ .name = "ExpectArrayContainingClass__call" }); - @export(ExpectArrayContaining.finalize, .{ .name = "ExpectArrayContainingClass__finalize" }); - } - } -}; -pub const JSExpectStringContaining = struct { - const ExpectStringContaining = Classes.ExpectStringContaining; - const GetterType = fn (*ExpectStringContaining, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*ExpectStringContaining, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*ExpectStringContaining, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*ExpectStringContaining, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*ExpectStringContaining, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*ExpectStringContaining { - JSC.markBinding(@src()); - return ExpectStringContaining__fromJS(value); - } - - extern fn ExpectStringContainingPrototype__stringValueSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ExpectStringContainingPrototype__stringValueGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ExpectStringContaining.stringValue` setter - /// This value will be visited by the garbage collector. - pub fn stringValueSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ExpectStringContainingPrototype__stringValueSetCachedValue(thisValue, globalObject, value); - } - - /// `ExpectStringContaining.stringValue` getter - /// This value will be visited by the garbage collector. - pub fn stringValueGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ExpectStringContainingPrototype__stringValueGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of ExpectStringContaining - pub fn toJS(this: *ExpectStringContaining, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = ExpectStringContaining__create(globalObject, this); - std.debug.assert(value__.as(ExpectStringContaining).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return ExpectStringContaining__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of ExpectStringContaining. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*ExpectStringContaining) bool { - JSC.markBinding(@src()); - return ExpectStringContaining__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *ExpectStringContaining, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(ExpectStringContaining__dangerouslySetPtr(value, null)); - } - - extern fn ExpectStringContaining__fromJS(JSC.JSValue) ?*ExpectStringContaining; - extern fn ExpectStringContaining__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn ExpectStringContaining__create(globalObject: *JSC.JSGlobalObject, ptr: ?*ExpectStringContaining) JSC.JSValue; - - extern fn ExpectStringContaining__dangerouslySetPtr(JSC.JSValue, ?*ExpectStringContaining) bool; - - comptime { - if (@TypeOf(ExpectStringContaining.finalize) != (fn (*ExpectStringContaining) callconv(.C) void)) { - @compileLog("ExpectStringContaining.finalize is not a finalizer"); - } - - if (@TypeOf(ExpectStringContaining.call) != StaticCallbackType) - @compileLog("Expected ExpectStringContaining.call to be a static callback"); - if (!JSC.is_bindgen) { - @export(ExpectStringContaining.call, .{ .name = "ExpectStringContainingClass__call" }); - @export(ExpectStringContaining.finalize, .{ .name = "ExpectStringContainingClass__finalize" }); - } - } -}; -pub const JSExpectStringMatching = struct { - const ExpectStringMatching = Classes.ExpectStringMatching; - const GetterType = fn (*ExpectStringMatching, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*ExpectStringMatching, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*ExpectStringMatching, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*ExpectStringMatching, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*ExpectStringMatching, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*ExpectStringMatching { - JSC.markBinding(@src()); - return ExpectStringMatching__fromJS(value); - } - - extern fn ExpectStringMatchingPrototype__testValueSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ExpectStringMatchingPrototype__testValueGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ExpectStringMatching.testValue` setter - /// This value will be visited by the garbage collector. - pub fn testValueSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ExpectStringMatchingPrototype__testValueSetCachedValue(thisValue, globalObject, value); - } - - /// `ExpectStringMatching.testValue` getter - /// This value will be visited by the garbage collector. - pub fn testValueGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ExpectStringMatchingPrototype__testValueGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of ExpectStringMatching - pub fn toJS(this: *ExpectStringMatching, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = ExpectStringMatching__create(globalObject, this); - std.debug.assert(value__.as(ExpectStringMatching).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return ExpectStringMatching__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of ExpectStringMatching. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*ExpectStringMatching) bool { - JSC.markBinding(@src()); - return ExpectStringMatching__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *ExpectStringMatching, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(ExpectStringMatching__dangerouslySetPtr(value, null)); - } - - extern fn ExpectStringMatching__fromJS(JSC.JSValue) ?*ExpectStringMatching; - extern fn ExpectStringMatching__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn ExpectStringMatching__create(globalObject: *JSC.JSGlobalObject, ptr: ?*ExpectStringMatching) JSC.JSValue; - - extern fn ExpectStringMatching__dangerouslySetPtr(JSC.JSValue, ?*ExpectStringMatching) bool; - - comptime { - if (@TypeOf(ExpectStringMatching.finalize) != (fn (*ExpectStringMatching) callconv(.C) void)) { - @compileLog("ExpectStringMatching.finalize is not a finalizer"); - } - - if (@TypeOf(ExpectStringMatching.call) != StaticCallbackType) - @compileLog("Expected ExpectStringMatching.call to be a static callback"); - if (!JSC.is_bindgen) { - @export(ExpectStringMatching.call, .{ .name = "ExpectStringMatchingClass__call" }); - @export(ExpectStringMatching.finalize, .{ .name = "ExpectStringMatchingClass__finalize" }); - } - } -}; -pub const JSFFI = struct { - const FFI = Classes.FFI; - const GetterType = fn (*FFI, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*FFI, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*FFI, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*FFI, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*FFI, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*FFI { - JSC.markBinding(@src()); - return FFI__fromJS(value); - } - - extern fn FFIPrototype__symbolsValueSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn FFIPrototype__symbolsValueGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `FFI.symbolsValue` setter - /// This value will be visited by the garbage collector. - pub fn symbolsValueSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - FFIPrototype__symbolsValueSetCachedValue(thisValue, globalObject, value); - } - - /// `FFI.symbolsValue` getter - /// This value will be visited by the garbage collector. - pub fn symbolsValueGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = FFIPrototype__symbolsValueGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of FFI - pub fn toJS(this: *FFI, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = FFI__create(globalObject, this); - std.debug.assert(value__.as(FFI).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return FFI__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of FFI. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*FFI) bool { - JSC.markBinding(@src()); - return FFI__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *FFI, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(FFI__dangerouslySetPtr(value, null)); - } - - extern fn FFI__fromJS(JSC.JSValue) ?*FFI; - extern fn FFI__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn FFI__create(globalObject: *JSC.JSGlobalObject, ptr: ?*FFI) JSC.JSValue; - - extern fn FFI__dangerouslySetPtr(JSC.JSValue, ?*FFI) bool; - - comptime { - if (@TypeOf(FFI.finalize) != (fn (*FFI) callconv(.C) void)) { - @compileLog("FFI.finalize is not a finalizer"); - } - - if (@TypeOf(FFI.close) != CallbackType) - @compileLog("Expected FFI.close to be a callback but received " ++ @typeName(@TypeOf(FFI.close))); - if (@TypeOf(FFI.getSymbols) != GetterType) - @compileLog("Expected FFI.getSymbols to be a getter"); - - if (!JSC.is_bindgen) { - @export(FFI.close, .{ .name = "FFIPrototype__close" }); - @export(FFI.finalize, .{ .name = "FFIClass__finalize" }); - @export(FFI.getSymbols, .{ .name = "FFIPrototype__getSymbols" }); - } - } -}; -pub const JSFSWatcher = struct { - const FSWatcher = Classes.FSWatcher; - const GetterType = fn (*FSWatcher, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*FSWatcher, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*FSWatcher, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*FSWatcher, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*FSWatcher, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*FSWatcher { - JSC.markBinding(@src()); - return FSWatcher__fromJS(value); - } - - extern fn FSWatcherPrototype__listenerSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn FSWatcherPrototype__listenerGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `FSWatcher.listener` setter - /// This value will be visited by the garbage collector. - pub fn listenerSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - FSWatcherPrototype__listenerSetCachedValue(thisValue, globalObject, value); - } - - /// `FSWatcher.listener` getter - /// This value will be visited by the garbage collector. - pub fn listenerGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = FSWatcherPrototype__listenerGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of FSWatcher - pub fn toJS(this: *FSWatcher, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = FSWatcher__create(globalObject, this); - std.debug.assert(value__.as(FSWatcher).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return FSWatcher__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of FSWatcher. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*FSWatcher) bool { - JSC.markBinding(@src()); - return FSWatcher__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *FSWatcher, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(FSWatcher__dangerouslySetPtr(value, null)); - } - - extern fn FSWatcher__fromJS(JSC.JSValue) ?*FSWatcher; - extern fn FSWatcher__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn FSWatcher__create(globalObject: *JSC.JSGlobalObject, ptr: ?*FSWatcher) JSC.JSValue; - - extern fn FSWatcher__dangerouslySetPtr(JSC.JSValue, ?*FSWatcher) bool; - - comptime { - if (@TypeOf(FSWatcher.finalize) != (fn (*FSWatcher) callconv(.C) void)) { - @compileLog("FSWatcher.finalize is not a finalizer"); - } - - if (@TypeOf(FSWatcher.doClose) != CallbackType) - @compileLog("Expected FSWatcher.doClose to be a callback but received " ++ @typeName(@TypeOf(FSWatcher.doClose))); - if (@TypeOf(FSWatcher.hasRef) != CallbackType) - @compileLog("Expected FSWatcher.hasRef to be a callback but received " ++ @typeName(@TypeOf(FSWatcher.hasRef))); - if (@TypeOf(FSWatcher.doRef) != CallbackType) - @compileLog("Expected FSWatcher.doRef to be a callback but received " ++ @typeName(@TypeOf(FSWatcher.doRef))); - if (@TypeOf(FSWatcher.doUnref) != CallbackType) - @compileLog("Expected FSWatcher.doUnref to be a callback but received " ++ @typeName(@TypeOf(FSWatcher.doUnref))); - if (!JSC.is_bindgen) { - @export(FSWatcher.doClose, .{ .name = "FSWatcherPrototype__doClose" }); - @export(FSWatcher.doRef, .{ .name = "FSWatcherPrototype__doRef" }); - @export(FSWatcher.doUnref, .{ .name = "FSWatcherPrototype__doUnref" }); - @export(FSWatcher.finalize, .{ .name = "FSWatcherClass__finalize" }); - @export(FSWatcher.hasPendingActivity, .{ .name = "FSWatcher__hasPendingActivity" }); - @export(FSWatcher.hasRef, .{ .name = "FSWatcherPrototype__hasRef" }); - } - } -}; -pub const JSFileSystemRouter = struct { - const FileSystemRouter = Classes.FileSystemRouter; - const GetterType = fn (*FileSystemRouter, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*FileSystemRouter, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*FileSystemRouter, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*FileSystemRouter, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*FileSystemRouter, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*FileSystemRouter { - JSC.markBinding(@src()); - return FileSystemRouter__fromJS(value); - } - - extern fn FileSystemRouterPrototype__originSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn FileSystemRouterPrototype__originGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `FileSystemRouter.origin` setter - /// This value will be visited by the garbage collector. - pub fn originSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - FileSystemRouterPrototype__originSetCachedValue(thisValue, globalObject, value); - } - - /// `FileSystemRouter.origin` getter - /// This value will be visited by the garbage collector. - pub fn originGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = FileSystemRouterPrototype__originGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn FileSystemRouterPrototype__routesSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn FileSystemRouterPrototype__routesGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `FileSystemRouter.routes` setter - /// This value will be visited by the garbage collector. - pub fn routesSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - FileSystemRouterPrototype__routesSetCachedValue(thisValue, globalObject, value); - } - - /// `FileSystemRouter.routes` getter - /// This value will be visited by the garbage collector. - pub fn routesGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = FileSystemRouterPrototype__routesGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn FileSystemRouterPrototype__styleSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn FileSystemRouterPrototype__styleGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `FileSystemRouter.style` setter - /// This value will be visited by the garbage collector. - pub fn styleSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - FileSystemRouterPrototype__styleSetCachedValue(thisValue, globalObject, value); - } - - /// `FileSystemRouter.style` getter - /// This value will be visited by the garbage collector. - pub fn styleGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = FileSystemRouterPrototype__styleGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the FileSystemRouter constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return FileSystemRouter__getConstructor(globalObject); - } - - /// Create a new instance of FileSystemRouter - pub fn toJS(this: *FileSystemRouter, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = FileSystemRouter__create(globalObject, this); - std.debug.assert(value__.as(FileSystemRouter).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return FileSystemRouter__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of FileSystemRouter. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*FileSystemRouter) bool { - JSC.markBinding(@src()); - return FileSystemRouter__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *FileSystemRouter, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(FileSystemRouter__dangerouslySetPtr(value, null)); - } - - extern fn FileSystemRouter__fromJS(JSC.JSValue) ?*FileSystemRouter; - extern fn FileSystemRouter__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn FileSystemRouter__create(globalObject: *JSC.JSGlobalObject, ptr: ?*FileSystemRouter) JSC.JSValue; - - extern fn FileSystemRouter__dangerouslySetPtr(JSC.JSValue, ?*FileSystemRouter) bool; - - comptime { - if (@TypeOf(FileSystemRouter.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*FileSystemRouter)) { - @compileLog("FileSystemRouter.constructor is not a constructor"); - } - - if (@TypeOf(FileSystemRouter.finalize) != (fn (*FileSystemRouter) callconv(.C) void)) { - @compileLog("FileSystemRouter.finalize is not a finalizer"); - } - - if (@TypeOf(FileSystemRouter.match) != CallbackType) - @compileLog("Expected FileSystemRouter.match to be a callback but received " ++ @typeName(@TypeOf(FileSystemRouter.match))); - if (@TypeOf(FileSystemRouter.getOrigin) != GetterType) - @compileLog("Expected FileSystemRouter.getOrigin to be a getter"); - - if (@TypeOf(FileSystemRouter.reload) != CallbackType) - @compileLog("Expected FileSystemRouter.reload to be a callback but received " ++ @typeName(@TypeOf(FileSystemRouter.reload))); - if (@TypeOf(FileSystemRouter.getRoutes) != GetterType) - @compileLog("Expected FileSystemRouter.getRoutes to be a getter"); - - if (@TypeOf(FileSystemRouter.getStyle) != GetterType) - @compileLog("Expected FileSystemRouter.getStyle to be a getter"); - - if (!JSC.is_bindgen) { - @export(FileSystemRouter.constructor, .{ .name = "FileSystemRouterClass__construct" }); - @export(FileSystemRouter.finalize, .{ .name = "FileSystemRouterClass__finalize" }); - @export(FileSystemRouter.getOrigin, .{ .name = "FileSystemRouterPrototype__getOrigin" }); - @export(FileSystemRouter.getRoutes, .{ .name = "FileSystemRouterPrototype__getRoutes" }); - @export(FileSystemRouter.getStyle, .{ .name = "FileSystemRouterPrototype__getStyle" }); - @export(FileSystemRouter.match, .{ .name = "FileSystemRouterPrototype__match" }); - @export(FileSystemRouter.reload, .{ .name = "FileSystemRouterPrototype__reload" }); - } - } -}; -pub const JSHTMLRewriter = struct { - const HTMLRewriter = Classes.HTMLRewriter; - const GetterType = fn (*HTMLRewriter, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*HTMLRewriter, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*HTMLRewriter, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*HTMLRewriter, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*HTMLRewriter, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*HTMLRewriter { - JSC.markBinding(@src()); - return HTMLRewriter__fromJS(value); - } - - /// Get the HTMLRewriter constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return HTMLRewriter__getConstructor(globalObject); - } - - /// Create a new instance of HTMLRewriter - pub fn toJS(this: *HTMLRewriter, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = HTMLRewriter__create(globalObject, this); - std.debug.assert(value__.as(HTMLRewriter).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return HTMLRewriter__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of HTMLRewriter. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*HTMLRewriter) bool { - JSC.markBinding(@src()); - return HTMLRewriter__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *HTMLRewriter, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(HTMLRewriter__dangerouslySetPtr(value, null)); - } - - extern fn HTMLRewriter__fromJS(JSC.JSValue) ?*HTMLRewriter; - extern fn HTMLRewriter__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn HTMLRewriter__create(globalObject: *JSC.JSGlobalObject, ptr: ?*HTMLRewriter) JSC.JSValue; - - extern fn HTMLRewriter__dangerouslySetPtr(JSC.JSValue, ?*HTMLRewriter) bool; - - comptime { - if (@TypeOf(HTMLRewriter.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*HTMLRewriter)) { - @compileLog("HTMLRewriter.constructor is not a constructor"); - } - - if (@TypeOf(HTMLRewriter.finalize) != (fn (*HTMLRewriter) callconv(.C) void)) { - @compileLog("HTMLRewriter.finalize is not a finalizer"); - } - - if (@TypeOf(HTMLRewriter.on) != CallbackType) - @compileLog("Expected HTMLRewriter.on to be a callback but received " ++ @typeName(@TypeOf(HTMLRewriter.on))); - if (@TypeOf(HTMLRewriter.onDocument) != CallbackType) - @compileLog("Expected HTMLRewriter.onDocument to be a callback but received " ++ @typeName(@TypeOf(HTMLRewriter.onDocument))); - if (@TypeOf(HTMLRewriter.transform) != CallbackType) - @compileLog("Expected HTMLRewriter.transform to be a callback but received " ++ @typeName(@TypeOf(HTMLRewriter.transform))); - if (!JSC.is_bindgen) { - @export(HTMLRewriter.constructor, .{ .name = "HTMLRewriterClass__construct" }); - @export(HTMLRewriter.finalize, .{ .name = "HTMLRewriterClass__finalize" }); - @export(HTMLRewriter.on, .{ .name = "HTMLRewriterPrototype__on" }); - @export(HTMLRewriter.onDocument, .{ .name = "HTMLRewriterPrototype__onDocument" }); - @export(HTMLRewriter.transform, .{ .name = "HTMLRewriterPrototype__transform" }); - } - } -}; -pub const JSHTTPSServer = struct { - const HTTPSServer = Classes.HTTPSServer; - const GetterType = fn (*HTTPSServer, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*HTTPSServer, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*HTTPSServer, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*HTTPSServer, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*HTTPSServer, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*HTTPSServer { - JSC.markBinding(@src()); - return HTTPSServer__fromJS(value); - } - - extern fn HTTPSServerPrototype__addressSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn HTTPSServerPrototype__addressGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `HTTPSServer.address` setter - /// This value will be visited by the garbage collector. - pub fn addressSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - HTTPSServerPrototype__addressSetCachedValue(thisValue, globalObject, value); - } - - /// `HTTPSServer.address` getter - /// This value will be visited by the garbage collector. - pub fn addressGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = HTTPSServerPrototype__addressGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn HTTPSServerPrototype__hostnameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn HTTPSServerPrototype__hostnameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `HTTPSServer.hostname` setter - /// This value will be visited by the garbage collector. - pub fn hostnameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - HTTPSServerPrototype__hostnameSetCachedValue(thisValue, globalObject, value); - } - - /// `HTTPSServer.hostname` getter - /// This value will be visited by the garbage collector. - pub fn hostnameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = HTTPSServerPrototype__hostnameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn HTTPSServerPrototype__idSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn HTTPSServerPrototype__idGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `HTTPSServer.id` setter - /// This value will be visited by the garbage collector. - pub fn idSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - HTTPSServerPrototype__idSetCachedValue(thisValue, globalObject, value); - } - - /// `HTTPSServer.id` getter - /// This value will be visited by the garbage collector. - pub fn idGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = HTTPSServerPrototype__idGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of HTTPSServer - pub fn toJS(this: *HTTPSServer, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = HTTPSServer__create(globalObject, this); - std.debug.assert(value__.as(HTTPSServer).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return HTTPSServer__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of HTTPSServer. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*HTTPSServer) bool { - JSC.markBinding(@src()); - return HTTPSServer__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *HTTPSServer, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(HTTPSServer__dangerouslySetPtr(value, null)); - } - - extern fn HTTPSServer__fromJS(JSC.JSValue) ?*HTTPSServer; - extern fn HTTPSServer__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn HTTPSServer__create(globalObject: *JSC.JSGlobalObject, ptr: ?*HTTPSServer) JSC.JSValue; - - extern fn HTTPSServer__dangerouslySetPtr(JSC.JSValue, ?*HTTPSServer) bool; - - comptime { - if (@TypeOf(HTTPSServer.finalize) != (fn (*HTTPSServer) callconv(.C) void)) { - @compileLog("HTTPSServer.finalize is not a finalizer"); - } - - if (@TypeOf(HTTPSServer.getAddress) != GetterType) - @compileLog("Expected HTTPSServer.getAddress to be a getter"); - - if (@TypeOf(HTTPSServer.getDevelopment) != GetterType) - @compileLog("Expected HTTPSServer.getDevelopment to be a getter"); - - if (@TypeOf(HTTPSServer.doFetch) != CallbackType) - @compileLog("Expected HTTPSServer.doFetch to be a callback but received " ++ @typeName(@TypeOf(HTTPSServer.doFetch))); - if (@TypeOf(HTTPSServer.getHostname) != GetterType) - @compileLog("Expected HTTPSServer.getHostname to be a getter"); - - if (@TypeOf(HTTPSServer.getId) != GetterType) - @compileLog("Expected HTTPSServer.getId to be a getter"); - - if (@TypeOf(HTTPSServer.getPendingRequests) != GetterType) - @compileLog("Expected HTTPSServer.getPendingRequests to be a getter"); - - if (@TypeOf(HTTPSServer.getPendingWebSockets) != GetterType) - @compileLog("Expected HTTPSServer.getPendingWebSockets to be a getter"); - - if (@TypeOf(HTTPSServer.getPort) != GetterType) - @compileLog("Expected HTTPSServer.getPort to be a getter"); - - if (@TypeOf(HTTPSServer.getProtocol) != GetterType) - @compileLog("Expected HTTPSServer.getProtocol to be a getter"); - - if (@TypeOf(HTTPSServer.doPublish) != CallbackType) - @compileLog("Expected HTTPSServer.doPublish to be a callback but received " ++ @typeName(@TypeOf(HTTPSServer.doPublish))); - if (@TypeOf(HTTPSServer.doReload) != CallbackType) - @compileLog("Expected HTTPSServer.doReload to be a callback but received " ++ @typeName(@TypeOf(HTTPSServer.doReload))); - if (@TypeOf(HTTPSServer.doRequestIP) != CallbackType) - @compileLog("Expected HTTPSServer.doRequestIP to be a callback but received " ++ @typeName(@TypeOf(HTTPSServer.doRequestIP))); - if (@TypeOf(HTTPSServer.doStop) != CallbackType) - @compileLog("Expected HTTPSServer.doStop to be a callback but received " ++ @typeName(@TypeOf(HTTPSServer.doStop))); - if (@TypeOf(HTTPSServer.doUpgrade) != CallbackType) - @compileLog("Expected HTTPSServer.doUpgrade to be a callback but received " ++ @typeName(@TypeOf(HTTPSServer.doUpgrade))); - if (!JSC.is_bindgen) { - @export(HTTPSServer.doFetch, .{ .name = "HTTPSServerPrototype__doFetch" }); - @export(HTTPSServer.doPublish, .{ .name = "HTTPSServerPrototype__doPublish" }); - @export(HTTPSServer.doReload, .{ .name = "HTTPSServerPrototype__doReload" }); - @export(HTTPSServer.doRequestIP, .{ .name = "HTTPSServerPrototype__doRequestIP" }); - @export(HTTPSServer.doStop, .{ .name = "HTTPSServerPrototype__doStop" }); - @export(HTTPSServer.doUpgrade, .{ .name = "HTTPSServerPrototype__doUpgrade" }); - @export(HTTPSServer.finalize, .{ .name = "HTTPSServerClass__finalize" }); - @export(HTTPSServer.getAddress, .{ .name = "HTTPSServerPrototype__getAddress" }); - @export(HTTPSServer.getDevelopment, .{ .name = "HTTPSServerPrototype__getDevelopment" }); - @export(HTTPSServer.getHostname, .{ .name = "HTTPSServerPrototype__getHostname" }); - @export(HTTPSServer.getId, .{ .name = "HTTPSServerPrototype__getId" }); - @export(HTTPSServer.getPendingRequests, .{ .name = "HTTPSServerPrototype__getPendingRequests" }); - @export(HTTPSServer.getPendingWebSockets, .{ .name = "HTTPSServerPrototype__getPendingWebSockets" }); - @export(HTTPSServer.getPort, .{ .name = "HTTPSServerPrototype__getPort" }); - @export(HTTPSServer.getProtocol, .{ .name = "HTTPSServerPrototype__getProtocol" }); - } - } -}; -pub const JSHTTPServer = struct { - const HTTPServer = Classes.HTTPServer; - const GetterType = fn (*HTTPServer, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*HTTPServer, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*HTTPServer, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*HTTPServer, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*HTTPServer, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*HTTPServer { - JSC.markBinding(@src()); - return HTTPServer__fromJS(value); - } - - extern fn HTTPServerPrototype__addressSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn HTTPServerPrototype__addressGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `HTTPServer.address` setter - /// This value will be visited by the garbage collector. - pub fn addressSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - HTTPServerPrototype__addressSetCachedValue(thisValue, globalObject, value); - } - - /// `HTTPServer.address` getter - /// This value will be visited by the garbage collector. - pub fn addressGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = HTTPServerPrototype__addressGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn HTTPServerPrototype__hostnameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn HTTPServerPrototype__hostnameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `HTTPServer.hostname` setter - /// This value will be visited by the garbage collector. - pub fn hostnameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - HTTPServerPrototype__hostnameSetCachedValue(thisValue, globalObject, value); - } - - /// `HTTPServer.hostname` getter - /// This value will be visited by the garbage collector. - pub fn hostnameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = HTTPServerPrototype__hostnameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn HTTPServerPrototype__idSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn HTTPServerPrototype__idGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `HTTPServer.id` setter - /// This value will be visited by the garbage collector. - pub fn idSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - HTTPServerPrototype__idSetCachedValue(thisValue, globalObject, value); - } - - /// `HTTPServer.id` getter - /// This value will be visited by the garbage collector. - pub fn idGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = HTTPServerPrototype__idGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of HTTPServer - pub fn toJS(this: *HTTPServer, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = HTTPServer__create(globalObject, this); - std.debug.assert(value__.as(HTTPServer).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return HTTPServer__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of HTTPServer. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*HTTPServer) bool { - JSC.markBinding(@src()); - return HTTPServer__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *HTTPServer, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(HTTPServer__dangerouslySetPtr(value, null)); - } - - extern fn HTTPServer__fromJS(JSC.JSValue) ?*HTTPServer; - extern fn HTTPServer__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn HTTPServer__create(globalObject: *JSC.JSGlobalObject, ptr: ?*HTTPServer) JSC.JSValue; - - extern fn HTTPServer__dangerouslySetPtr(JSC.JSValue, ?*HTTPServer) bool; - - comptime { - if (@TypeOf(HTTPServer.finalize) != (fn (*HTTPServer) callconv(.C) void)) { - @compileLog("HTTPServer.finalize is not a finalizer"); - } - - if (@TypeOf(HTTPServer.getAddress) != GetterType) - @compileLog("Expected HTTPServer.getAddress to be a getter"); - - if (@TypeOf(HTTPServer.getDevelopment) != GetterType) - @compileLog("Expected HTTPServer.getDevelopment to be a getter"); - - if (@TypeOf(HTTPServer.doFetch) != CallbackType) - @compileLog("Expected HTTPServer.doFetch to be a callback but received " ++ @typeName(@TypeOf(HTTPServer.doFetch))); - if (@TypeOf(HTTPServer.getHostname) != GetterType) - @compileLog("Expected HTTPServer.getHostname to be a getter"); - - if (@TypeOf(HTTPServer.getId) != GetterType) - @compileLog("Expected HTTPServer.getId to be a getter"); - - if (@TypeOf(HTTPServer.getPendingRequests) != GetterType) - @compileLog("Expected HTTPServer.getPendingRequests to be a getter"); - - if (@TypeOf(HTTPServer.getPendingWebSockets) != GetterType) - @compileLog("Expected HTTPServer.getPendingWebSockets to be a getter"); - - if (@TypeOf(HTTPServer.getPort) != GetterType) - @compileLog("Expected HTTPServer.getPort to be a getter"); - - if (@TypeOf(HTTPServer.getProtocol) != GetterType) - @compileLog("Expected HTTPServer.getProtocol to be a getter"); - - if (@TypeOf(HTTPServer.doPublish) != CallbackType) - @compileLog("Expected HTTPServer.doPublish to be a callback but received " ++ @typeName(@TypeOf(HTTPServer.doPublish))); - if (@TypeOf(HTTPServer.doReload) != CallbackType) - @compileLog("Expected HTTPServer.doReload to be a callback but received " ++ @typeName(@TypeOf(HTTPServer.doReload))); - if (@TypeOf(HTTPServer.doRequestIP) != CallbackType) - @compileLog("Expected HTTPServer.doRequestIP to be a callback but received " ++ @typeName(@TypeOf(HTTPServer.doRequestIP))); - if (@TypeOf(HTTPServer.doStop) != CallbackType) - @compileLog("Expected HTTPServer.doStop to be a callback but received " ++ @typeName(@TypeOf(HTTPServer.doStop))); - if (@TypeOf(HTTPServer.doUpgrade) != CallbackType) - @compileLog("Expected HTTPServer.doUpgrade to be a callback but received " ++ @typeName(@TypeOf(HTTPServer.doUpgrade))); - if (!JSC.is_bindgen) { - @export(HTTPServer.doFetch, .{ .name = "HTTPServerPrototype__doFetch" }); - @export(HTTPServer.doPublish, .{ .name = "HTTPServerPrototype__doPublish" }); - @export(HTTPServer.doReload, .{ .name = "HTTPServerPrototype__doReload" }); - @export(HTTPServer.doRequestIP, .{ .name = "HTTPServerPrototype__doRequestIP" }); - @export(HTTPServer.doStop, .{ .name = "HTTPServerPrototype__doStop" }); - @export(HTTPServer.doUpgrade, .{ .name = "HTTPServerPrototype__doUpgrade" }); - @export(HTTPServer.finalize, .{ .name = "HTTPServerClass__finalize" }); - @export(HTTPServer.getAddress, .{ .name = "HTTPServerPrototype__getAddress" }); - @export(HTTPServer.getDevelopment, .{ .name = "HTTPServerPrototype__getDevelopment" }); - @export(HTTPServer.getHostname, .{ .name = "HTTPServerPrototype__getHostname" }); - @export(HTTPServer.getId, .{ .name = "HTTPServerPrototype__getId" }); - @export(HTTPServer.getPendingRequests, .{ .name = "HTTPServerPrototype__getPendingRequests" }); - @export(HTTPServer.getPendingWebSockets, .{ .name = "HTTPServerPrototype__getPendingWebSockets" }); - @export(HTTPServer.getPort, .{ .name = "HTTPServerPrototype__getPort" }); - @export(HTTPServer.getProtocol, .{ .name = "HTTPServerPrototype__getProtocol" }); - } - } -}; -pub const JSListener = struct { - const Listener = Classes.Listener; - const GetterType = fn (*Listener, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Listener, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Listener, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Listener, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Listener, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Listener { - JSC.markBinding(@src()); - return Listener__fromJS(value); - } - - extern fn ListenerPrototype__hostnameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ListenerPrototype__hostnameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Listener.hostname` setter - /// This value will be visited by the garbage collector. - pub fn hostnameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ListenerPrototype__hostnameSetCachedValue(thisValue, globalObject, value); - } - - /// `Listener.hostname` getter - /// This value will be visited by the garbage collector. - pub fn hostnameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ListenerPrototype__hostnameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ListenerPrototype__unixSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ListenerPrototype__unixGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Listener.unix` setter - /// This value will be visited by the garbage collector. - pub fn unixSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ListenerPrototype__unixSetCachedValue(thisValue, globalObject, value); - } - - /// `Listener.unix` getter - /// This value will be visited by the garbage collector. - pub fn unixGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ListenerPrototype__unixGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of Listener - pub fn toJS(this: *Listener, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Listener__create(globalObject, this); - std.debug.assert(value__.as(Listener).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Listener__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Listener. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Listener) bool { - JSC.markBinding(@src()); - return Listener__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Listener, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Listener__dangerouslySetPtr(value, null)); - } - - extern fn Listener__fromJS(JSC.JSValue) ?*Listener; - extern fn Listener__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Listener__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Listener) JSC.JSValue; - - extern fn Listener__dangerouslySetPtr(JSC.JSValue, ?*Listener) bool; - - comptime { - if (@TypeOf(Listener.finalize) != (fn (*Listener) callconv(.C) void)) { - @compileLog("Listener.finalize is not a finalizer"); - } - - if (@TypeOf(Listener.getData) != GetterType) - @compileLog("Expected Listener.getData to be a getter"); - - if (@TypeOf(Listener.setData) != SetterType) - @compileLog("Expected Listener.setData to be a setter"); - if (@TypeOf(Listener.getHostname) != GetterType) - @compileLog("Expected Listener.getHostname to be a getter"); - - if (@TypeOf(Listener.getPort) != GetterType) - @compileLog("Expected Listener.getPort to be a getter"); - - if (@TypeOf(Listener.ref) != CallbackType) - @compileLog("Expected Listener.ref to be a callback but received " ++ @typeName(@TypeOf(Listener.ref))); - if (@TypeOf(Listener.reload) != CallbackType) - @compileLog("Expected Listener.reload to be a callback but received " ++ @typeName(@TypeOf(Listener.reload))); - if (@TypeOf(Listener.stop) != CallbackType) - @compileLog("Expected Listener.stop to be a callback but received " ++ @typeName(@TypeOf(Listener.stop))); - if (@TypeOf(Listener.getUnix) != GetterType) - @compileLog("Expected Listener.getUnix to be a getter"); - - if (@TypeOf(Listener.unref) != CallbackType) - @compileLog("Expected Listener.unref to be a callback but received " ++ @typeName(@TypeOf(Listener.unref))); - if (!JSC.is_bindgen) { - @export(Listener.finalize, .{ .name = "ListenerClass__finalize" }); - @export(Listener.getData, .{ .name = "ListenerPrototype__getData" }); - @export(Listener.getHostname, .{ .name = "ListenerPrototype__getHostname" }); - @export(Listener.getPort, .{ .name = "ListenerPrototype__getPort" }); - @export(Listener.getUnix, .{ .name = "ListenerPrototype__getUnix" }); - @export(Listener.ref, .{ .name = "ListenerPrototype__ref" }); - @export(Listener.reload, .{ .name = "ListenerPrototype__reload" }); - @export(Listener.setData, .{ .name = "ListenerPrototype__setData" }); - @export(Listener.stop, .{ .name = "ListenerPrototype__stop" }); - @export(Listener.unref, .{ .name = "ListenerPrototype__unref" }); - } - } -}; -pub const JSMD4 = struct { - const MD4 = Classes.MD4; - const GetterType = fn (*MD4, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*MD4, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*MD4, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*MD4, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*MD4, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*MD4 { - JSC.markBinding(@src()); - return MD4__fromJS(value); - } - - /// Get the MD4 constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return MD4__getConstructor(globalObject); - } - - /// Create a new instance of MD4 - pub fn toJS(this: *MD4, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = MD4__create(globalObject, this); - std.debug.assert(value__.as(MD4).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return MD4__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of MD4. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*MD4) bool { - JSC.markBinding(@src()); - return MD4__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *MD4, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(MD4__dangerouslySetPtr(value, null)); - } - - extern fn MD4__fromJS(JSC.JSValue) ?*MD4; - extern fn MD4__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn MD4__create(globalObject: *JSC.JSGlobalObject, ptr: ?*MD4) JSC.JSValue; - - extern fn MD4__dangerouslySetPtr(JSC.JSValue, ?*MD4) bool; - - comptime { - if (@TypeOf(MD4.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*MD4)) { - @compileLog("MD4.constructor is not a constructor"); - } - - if (@TypeOf(MD4.finalize) != (fn (*MD4) callconv(.C) void)) { - @compileLog("MD4.finalize is not a finalizer"); - } - - if (@TypeOf(MD4.getByteLength) != GetterType) - @compileLog("Expected MD4.getByteLength to be a getter"); - - if (@TypeOf(MD4.digest) != CallbackType) - @compileLog("Expected MD4.digest to be a callback but received " ++ @typeName(@TypeOf(MD4.digest))); - if (@TypeOf(MD4.update) != CallbackType) - @compileLog("Expected MD4.update to be a callback but received " ++ @typeName(@TypeOf(MD4.update))); - if (@TypeOf(MD4.getByteLengthStatic) != StaticGetterType) - @compileLog("Expected MD4.getByteLengthStatic to be a static getter"); - - if (@TypeOf(MD4.hash) != StaticCallbackType) - @compileLog("Expected MD4.hash to be a static callback"); - if (!JSC.is_bindgen) { - @export(MD4.constructor, .{ .name = "MD4Class__construct" }); - @export(MD4.digest, .{ .name = "MD4Prototype__digest" }); - @export(MD4.finalize, .{ .name = "MD4Class__finalize" }); - @export(MD4.getByteLength, .{ .name = "MD4Prototype__getByteLength" }); - @export(MD4.getByteLengthStatic, .{ .name = "MD4Class__getByteLengthStatic" }); - @export(MD4.hash, .{ .name = "MD4Class__hash" }); - @export(MD4.update, .{ .name = "MD4Prototype__update" }); - } - } -}; -pub const JSMD5 = struct { - const MD5 = Classes.MD5; - const GetterType = fn (*MD5, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*MD5, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*MD5, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*MD5, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*MD5, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*MD5 { - JSC.markBinding(@src()); - return MD5__fromJS(value); - } - - /// Get the MD5 constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return MD5__getConstructor(globalObject); - } - - /// Create a new instance of MD5 - pub fn toJS(this: *MD5, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = MD5__create(globalObject, this); - std.debug.assert(value__.as(MD5).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return MD5__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of MD5. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*MD5) bool { - JSC.markBinding(@src()); - return MD5__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *MD5, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(MD5__dangerouslySetPtr(value, null)); - } - - extern fn MD5__fromJS(JSC.JSValue) ?*MD5; - extern fn MD5__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn MD5__create(globalObject: *JSC.JSGlobalObject, ptr: ?*MD5) JSC.JSValue; - - extern fn MD5__dangerouslySetPtr(JSC.JSValue, ?*MD5) bool; - - comptime { - if (@TypeOf(MD5.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*MD5)) { - @compileLog("MD5.constructor is not a constructor"); - } - - if (@TypeOf(MD5.finalize) != (fn (*MD5) callconv(.C) void)) { - @compileLog("MD5.finalize is not a finalizer"); - } - - if (@TypeOf(MD5.getByteLength) != GetterType) - @compileLog("Expected MD5.getByteLength to be a getter"); - - if (@TypeOf(MD5.digest) != CallbackType) - @compileLog("Expected MD5.digest to be a callback but received " ++ @typeName(@TypeOf(MD5.digest))); - if (@TypeOf(MD5.update) != CallbackType) - @compileLog("Expected MD5.update to be a callback but received " ++ @typeName(@TypeOf(MD5.update))); - if (@TypeOf(MD5.getByteLengthStatic) != StaticGetterType) - @compileLog("Expected MD5.getByteLengthStatic to be a static getter"); - - if (@TypeOf(MD5.hash) != StaticCallbackType) - @compileLog("Expected MD5.hash to be a static callback"); - if (!JSC.is_bindgen) { - @export(MD5.constructor, .{ .name = "MD5Class__construct" }); - @export(MD5.digest, .{ .name = "MD5Prototype__digest" }); - @export(MD5.finalize, .{ .name = "MD5Class__finalize" }); - @export(MD5.getByteLength, .{ .name = "MD5Prototype__getByteLength" }); - @export(MD5.getByteLengthStatic, .{ .name = "MD5Class__getByteLengthStatic" }); - @export(MD5.hash, .{ .name = "MD5Class__hash" }); - @export(MD5.update, .{ .name = "MD5Prototype__update" }); - } - } -}; -pub const JSMatchedRoute = struct { - const MatchedRoute = Classes.MatchedRoute; - const GetterType = fn (*MatchedRoute, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*MatchedRoute, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*MatchedRoute, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*MatchedRoute, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*MatchedRoute, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*MatchedRoute { - JSC.markBinding(@src()); - return MatchedRoute__fromJS(value); - } - - extern fn MatchedRoutePrototype__filePathSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn MatchedRoutePrototype__filePathGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `MatchedRoute.filePath` setter - /// This value will be visited by the garbage collector. - pub fn filePathSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - MatchedRoutePrototype__filePathSetCachedValue(thisValue, globalObject, value); - } - - /// `MatchedRoute.filePath` getter - /// This value will be visited by the garbage collector. - pub fn filePathGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = MatchedRoutePrototype__filePathGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn MatchedRoutePrototype__kindSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn MatchedRoutePrototype__kindGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `MatchedRoute.kind` setter - /// This value will be visited by the garbage collector. - pub fn kindSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - MatchedRoutePrototype__kindSetCachedValue(thisValue, globalObject, value); - } - - /// `MatchedRoute.kind` getter - /// This value will be visited by the garbage collector. - pub fn kindGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = MatchedRoutePrototype__kindGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn MatchedRoutePrototype__nameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn MatchedRoutePrototype__nameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `MatchedRoute.name` setter - /// This value will be visited by the garbage collector. - pub fn nameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - MatchedRoutePrototype__nameSetCachedValue(thisValue, globalObject, value); - } - - /// `MatchedRoute.name` getter - /// This value will be visited by the garbage collector. - pub fn nameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = MatchedRoutePrototype__nameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn MatchedRoutePrototype__paramsSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn MatchedRoutePrototype__paramsGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `MatchedRoute.params` setter - /// This value will be visited by the garbage collector. - pub fn paramsSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - MatchedRoutePrototype__paramsSetCachedValue(thisValue, globalObject, value); - } - - /// `MatchedRoute.params` getter - /// This value will be visited by the garbage collector. - pub fn paramsGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = MatchedRoutePrototype__paramsGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn MatchedRoutePrototype__pathnameSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn MatchedRoutePrototype__pathnameGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `MatchedRoute.pathname` setter - /// This value will be visited by the garbage collector. - pub fn pathnameSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - MatchedRoutePrototype__pathnameSetCachedValue(thisValue, globalObject, value); - } - - /// `MatchedRoute.pathname` getter - /// This value will be visited by the garbage collector. - pub fn pathnameGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = MatchedRoutePrototype__pathnameGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn MatchedRoutePrototype__querySetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn MatchedRoutePrototype__queryGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `MatchedRoute.query` setter - /// This value will be visited by the garbage collector. - pub fn querySetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - MatchedRoutePrototype__querySetCachedValue(thisValue, globalObject, value); - } - - /// `MatchedRoute.query` getter - /// This value will be visited by the garbage collector. - pub fn queryGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = MatchedRoutePrototype__queryGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn MatchedRoutePrototype__scriptSrcSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn MatchedRoutePrototype__scriptSrcGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `MatchedRoute.scriptSrc` setter - /// This value will be visited by the garbage collector. - pub fn scriptSrcSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - MatchedRoutePrototype__scriptSrcSetCachedValue(thisValue, globalObject, value); - } - - /// `MatchedRoute.scriptSrc` getter - /// This value will be visited by the garbage collector. - pub fn scriptSrcGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = MatchedRoutePrototype__scriptSrcGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of MatchedRoute - pub fn toJS(this: *MatchedRoute, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = MatchedRoute__create(globalObject, this); - std.debug.assert(value__.as(MatchedRoute).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return MatchedRoute__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of MatchedRoute. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*MatchedRoute) bool { - JSC.markBinding(@src()); - return MatchedRoute__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *MatchedRoute, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(MatchedRoute__dangerouslySetPtr(value, null)); - } - - extern fn MatchedRoute__fromJS(JSC.JSValue) ?*MatchedRoute; - extern fn MatchedRoute__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn MatchedRoute__create(globalObject: *JSC.JSGlobalObject, ptr: ?*MatchedRoute) JSC.JSValue; - - extern fn MatchedRoute__dangerouslySetPtr(JSC.JSValue, ?*MatchedRoute) bool; - - comptime { - if (@TypeOf(MatchedRoute.finalize) != (fn (*MatchedRoute) callconv(.C) void)) { - @compileLog("MatchedRoute.finalize is not a finalizer"); - } - - if (@TypeOf(MatchedRoute.getFilePath) != GetterType) - @compileLog("Expected MatchedRoute.getFilePath to be a getter"); - - if (@TypeOf(MatchedRoute.getKind) != GetterType) - @compileLog("Expected MatchedRoute.getKind to be a getter"); - - if (@TypeOf(MatchedRoute.getName) != GetterType) - @compileLog("Expected MatchedRoute.getName to be a getter"); - - if (@TypeOf(MatchedRoute.getParams) != GetterType) - @compileLog("Expected MatchedRoute.getParams to be a getter"); - - if (@TypeOf(MatchedRoute.getPathname) != GetterType) - @compileLog("Expected MatchedRoute.getPathname to be a getter"); - - if (@TypeOf(MatchedRoute.getQuery) != GetterType) - @compileLog("Expected MatchedRoute.getQuery to be a getter"); - - if (@TypeOf(MatchedRoute.getScriptSrc) != GetterType) - @compileLog("Expected MatchedRoute.getScriptSrc to be a getter"); - - if (@TypeOf(MatchedRoute.getScriptSrc) != GetterType) - @compileLog("Expected MatchedRoute.getScriptSrc to be a getter"); - - if (!JSC.is_bindgen) { - @export(MatchedRoute.finalize, .{ .name = "MatchedRouteClass__finalize" }); - @export(MatchedRoute.getFilePath, .{ .name = "MatchedRoutePrototype__getFilePath" }); - @export(MatchedRoute.getKind, .{ .name = "MatchedRoutePrototype__getKind" }); - @export(MatchedRoute.getName, .{ .name = "MatchedRoutePrototype__getName" }); - @export(MatchedRoute.getParams, .{ .name = "MatchedRoutePrototype__getParams" }); - @export(MatchedRoute.getPathname, .{ .name = "MatchedRoutePrototype__getPathname" }); - @export(MatchedRoute.getQuery, .{ .name = "MatchedRoutePrototype__getQuery" }); - @export(MatchedRoute.getScriptSrc, .{ .name = "MatchedRoutePrototype__getScriptSrc" }); - } - } -}; -pub const JSNodeJSFS = struct { - const NodeJSFS = Classes.NodeJSFS; - const GetterType = fn (*NodeJSFS, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*NodeJSFS, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*NodeJSFS, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*NodeJSFS, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*NodeJSFS, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*NodeJSFS { - JSC.markBinding(@src()); - return NodeJSFS__fromJS(value); - } - - /// Get the NodeJSFS constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return NodeJSFS__getConstructor(globalObject); - } - - /// Create a new instance of NodeJSFS - pub fn toJS(this: *NodeJSFS, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = NodeJSFS__create(globalObject, this); - std.debug.assert(value__.as(NodeJSFS).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return NodeJSFS__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of NodeJSFS. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*NodeJSFS) bool { - JSC.markBinding(@src()); - return NodeJSFS__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *NodeJSFS, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(NodeJSFS__dangerouslySetPtr(value, null)); - } - - extern fn NodeJSFS__fromJS(JSC.JSValue) ?*NodeJSFS; - extern fn NodeJSFS__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn NodeJSFS__create(globalObject: *JSC.JSGlobalObject, ptr: ?*NodeJSFS) JSC.JSValue; - - extern fn NodeJSFS__dangerouslySetPtr(JSC.JSValue, ?*NodeJSFS) bool; - - comptime { - if (@TypeOf(NodeJSFS.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*NodeJSFS)) { - @compileLog("NodeJSFS.constructor is not a constructor"); - } - - if (@TypeOf(NodeJSFS.access) != CallbackType) - @compileLog("Expected NodeJSFS.access to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.access))); - if (@TypeOf(NodeJSFS.accessSync) != CallbackType) - @compileLog("Expected NodeJSFS.accessSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.accessSync))); - if (@TypeOf(NodeJSFS.appendFile) != CallbackType) - @compileLog("Expected NodeJSFS.appendFile to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.appendFile))); - if (@TypeOf(NodeJSFS.appendFileSync) != CallbackType) - @compileLog("Expected NodeJSFS.appendFileSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.appendFileSync))); - if (@TypeOf(NodeJSFS.chmod) != CallbackType) - @compileLog("Expected NodeJSFS.chmod to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.chmod))); - if (@TypeOf(NodeJSFS.chmodSync) != CallbackType) - @compileLog("Expected NodeJSFS.chmodSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.chmodSync))); - if (@TypeOf(NodeJSFS.chown) != CallbackType) - @compileLog("Expected NodeJSFS.chown to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.chown))); - if (@TypeOf(NodeJSFS.chownSync) != CallbackType) - @compileLog("Expected NodeJSFS.chownSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.chownSync))); - if (@TypeOf(NodeJSFS.close) != CallbackType) - @compileLog("Expected NodeJSFS.close to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.close))); - if (@TypeOf(NodeJSFS.closeSync) != CallbackType) - @compileLog("Expected NodeJSFS.closeSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.closeSync))); - if (@TypeOf(NodeJSFS.copyFile) != CallbackType) - @compileLog("Expected NodeJSFS.copyFile to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.copyFile))); - if (@TypeOf(NodeJSFS.copyFileSync) != CallbackType) - @compileLog("Expected NodeJSFS.copyFileSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.copyFileSync))); - if (@TypeOf(NodeJSFS.cp) != CallbackType) - @compileLog("Expected NodeJSFS.cp to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.cp))); - if (@TypeOf(NodeJSFS.cpSync) != CallbackType) - @compileLog("Expected NodeJSFS.cpSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.cpSync))); - if (@TypeOf(NodeJSFS.getDirent) != GetterType) - @compileLog("Expected NodeJSFS.getDirent to be a getter"); - - if (@TypeOf(NodeJSFS.exists) != CallbackType) - @compileLog("Expected NodeJSFS.exists to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.exists))); - if (@TypeOf(NodeJSFS.existsSync) != CallbackType) - @compileLog("Expected NodeJSFS.existsSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.existsSync))); - if (@TypeOf(NodeJSFS.fchmod) != CallbackType) - @compileLog("Expected NodeJSFS.fchmod to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fchmod))); - if (@TypeOf(NodeJSFS.fchmodSync) != CallbackType) - @compileLog("Expected NodeJSFS.fchmodSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fchmodSync))); - if (@TypeOf(NodeJSFS.fchown) != CallbackType) - @compileLog("Expected NodeJSFS.fchown to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fchown))); - if (@TypeOf(NodeJSFS.fchownSync) != CallbackType) - @compileLog("Expected NodeJSFS.fchownSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fchownSync))); - if (@TypeOf(NodeJSFS.fdatasync) != CallbackType) - @compileLog("Expected NodeJSFS.fdatasync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fdatasync))); - if (@TypeOf(NodeJSFS.fdatasyncSync) != CallbackType) - @compileLog("Expected NodeJSFS.fdatasyncSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fdatasyncSync))); - if (@TypeOf(NodeJSFS.fstat) != CallbackType) - @compileLog("Expected NodeJSFS.fstat to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fstat))); - if (@TypeOf(NodeJSFS.fstatSync) != CallbackType) - @compileLog("Expected NodeJSFS.fstatSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fstatSync))); - if (@TypeOf(NodeJSFS.fsync) != CallbackType) - @compileLog("Expected NodeJSFS.fsync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fsync))); - if (@TypeOf(NodeJSFS.fsyncSync) != CallbackType) - @compileLog("Expected NodeJSFS.fsyncSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.fsyncSync))); - if (@TypeOf(NodeJSFS.ftruncate) != CallbackType) - @compileLog("Expected NodeJSFS.ftruncate to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.ftruncate))); - if (@TypeOf(NodeJSFS.ftruncateSync) != CallbackType) - @compileLog("Expected NodeJSFS.ftruncateSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.ftruncateSync))); - if (@TypeOf(NodeJSFS.futimes) != CallbackType) - @compileLog("Expected NodeJSFS.futimes to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.futimes))); - if (@TypeOf(NodeJSFS.futimesSync) != CallbackType) - @compileLog("Expected NodeJSFS.futimesSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.futimesSync))); - if (@TypeOf(NodeJSFS.lchmod) != CallbackType) - @compileLog("Expected NodeJSFS.lchmod to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.lchmod))); - if (@TypeOf(NodeJSFS.lchmodSync) != CallbackType) - @compileLog("Expected NodeJSFS.lchmodSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.lchmodSync))); - if (@TypeOf(NodeJSFS.lchown) != CallbackType) - @compileLog("Expected NodeJSFS.lchown to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.lchown))); - if (@TypeOf(NodeJSFS.lchownSync) != CallbackType) - @compileLog("Expected NodeJSFS.lchownSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.lchownSync))); - if (@TypeOf(NodeJSFS.link) != CallbackType) - @compileLog("Expected NodeJSFS.link to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.link))); - if (@TypeOf(NodeJSFS.linkSync) != CallbackType) - @compileLog("Expected NodeJSFS.linkSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.linkSync))); - if (@TypeOf(NodeJSFS.lstat) != CallbackType) - @compileLog("Expected NodeJSFS.lstat to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.lstat))); - if (@TypeOf(NodeJSFS.lstatSync) != CallbackType) - @compileLog("Expected NodeJSFS.lstatSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.lstatSync))); - if (@TypeOf(NodeJSFS.lutimes) != CallbackType) - @compileLog("Expected NodeJSFS.lutimes to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.lutimes))); - if (@TypeOf(NodeJSFS.lutimesSync) != CallbackType) - @compileLog("Expected NodeJSFS.lutimesSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.lutimesSync))); - if (@TypeOf(NodeJSFS.mkdir) != CallbackType) - @compileLog("Expected NodeJSFS.mkdir to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.mkdir))); - if (@TypeOf(NodeJSFS.mkdirSync) != CallbackType) - @compileLog("Expected NodeJSFS.mkdirSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.mkdirSync))); - if (@TypeOf(NodeJSFS.mkdtemp) != CallbackType) - @compileLog("Expected NodeJSFS.mkdtemp to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.mkdtemp))); - if (@TypeOf(NodeJSFS.mkdtempSync) != CallbackType) - @compileLog("Expected NodeJSFS.mkdtempSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.mkdtempSync))); - if (@TypeOf(NodeJSFS.open) != CallbackType) - @compileLog("Expected NodeJSFS.open to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.open))); - if (@TypeOf(NodeJSFS.opendir) != CallbackType) - @compileLog("Expected NodeJSFS.opendir to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.opendir))); - if (@TypeOf(NodeJSFS.opendirSync) != CallbackType) - @compileLog("Expected NodeJSFS.opendirSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.opendirSync))); - if (@TypeOf(NodeJSFS.openSync) != CallbackType) - @compileLog("Expected NodeJSFS.openSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.openSync))); - if (@TypeOf(NodeJSFS.read) != CallbackType) - @compileLog("Expected NodeJSFS.read to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.read))); - if (@TypeOf(NodeJSFS.readdir) != CallbackType) - @compileLog("Expected NodeJSFS.readdir to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.readdir))); - if (@TypeOf(NodeJSFS.readdirSync) != CallbackType) - @compileLog("Expected NodeJSFS.readdirSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.readdirSync))); - if (@TypeOf(NodeJSFS.readFile) != CallbackType) - @compileLog("Expected NodeJSFS.readFile to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.readFile))); - if (@TypeOf(NodeJSFS.readFileSync) != CallbackType) - @compileLog("Expected NodeJSFS.readFileSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.readFileSync))); - if (@TypeOf(NodeJSFS.readlink) != CallbackType) - @compileLog("Expected NodeJSFS.readlink to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.readlink))); - if (@TypeOf(NodeJSFS.readlinkSync) != CallbackType) - @compileLog("Expected NodeJSFS.readlinkSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.readlinkSync))); - if (@TypeOf(NodeJSFS.readSync) != CallbackType) - @compileLog("Expected NodeJSFS.readSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.readSync))); - if (@TypeOf(NodeJSFS.readv) != CallbackType) - @compileLog("Expected NodeJSFS.readv to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.readv))); - if (@TypeOf(NodeJSFS.readvSync) != CallbackType) - @compileLog("Expected NodeJSFS.readvSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.readvSync))); - if (@TypeOf(NodeJSFS.realpath) != CallbackType) - @compileLog("Expected NodeJSFS.realpath to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.realpath))); - if (@TypeOf(NodeJSFS.realpathSync) != CallbackType) - @compileLog("Expected NodeJSFS.realpathSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.realpathSync))); - if (@TypeOf(NodeJSFS.rename) != CallbackType) - @compileLog("Expected NodeJSFS.rename to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.rename))); - if (@TypeOf(NodeJSFS.renameSync) != CallbackType) - @compileLog("Expected NodeJSFS.renameSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.renameSync))); - if (@TypeOf(NodeJSFS.rm) != CallbackType) - @compileLog("Expected NodeJSFS.rm to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.rm))); - if (@TypeOf(NodeJSFS.rmdir) != CallbackType) - @compileLog("Expected NodeJSFS.rmdir to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.rmdir))); - if (@TypeOf(NodeJSFS.rmdirSync) != CallbackType) - @compileLog("Expected NodeJSFS.rmdirSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.rmdirSync))); - if (@TypeOf(NodeJSFS.rmSync) != CallbackType) - @compileLog("Expected NodeJSFS.rmSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.rmSync))); - if (@TypeOf(NodeJSFS.stat) != CallbackType) - @compileLog("Expected NodeJSFS.stat to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.stat))); - if (@TypeOf(NodeJSFS.getStats) != GetterType) - @compileLog("Expected NodeJSFS.getStats to be a getter"); - - if (@TypeOf(NodeJSFS.statSync) != CallbackType) - @compileLog("Expected NodeJSFS.statSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.statSync))); - if (@TypeOf(NodeJSFS.symlink) != CallbackType) - @compileLog("Expected NodeJSFS.symlink to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.symlink))); - if (@TypeOf(NodeJSFS.symlinkSync) != CallbackType) - @compileLog("Expected NodeJSFS.symlinkSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.symlinkSync))); - if (@TypeOf(NodeJSFS.truncate) != CallbackType) - @compileLog("Expected NodeJSFS.truncate to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.truncate))); - if (@TypeOf(NodeJSFS.truncateSync) != CallbackType) - @compileLog("Expected NodeJSFS.truncateSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.truncateSync))); - if (@TypeOf(NodeJSFS.unlink) != CallbackType) - @compileLog("Expected NodeJSFS.unlink to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.unlink))); - if (@TypeOf(NodeJSFS.unlinkSync) != CallbackType) - @compileLog("Expected NodeJSFS.unlinkSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.unlinkSync))); - if (@TypeOf(NodeJSFS.unwatchFile) != CallbackType) - @compileLog("Expected NodeJSFS.unwatchFile to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.unwatchFile))); - if (@TypeOf(NodeJSFS.utimes) != CallbackType) - @compileLog("Expected NodeJSFS.utimes to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.utimes))); - if (@TypeOf(NodeJSFS.utimesSync) != CallbackType) - @compileLog("Expected NodeJSFS.utimesSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.utimesSync))); - if (@TypeOf(NodeJSFS.watch) != CallbackType) - @compileLog("Expected NodeJSFS.watch to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.watch))); - if (@TypeOf(NodeJSFS.watchFile) != CallbackType) - @compileLog("Expected NodeJSFS.watchFile to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.watchFile))); - if (@TypeOf(NodeJSFS.write) != CallbackType) - @compileLog("Expected NodeJSFS.write to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.write))); - if (@TypeOf(NodeJSFS.writeFile) != CallbackType) - @compileLog("Expected NodeJSFS.writeFile to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.writeFile))); - if (@TypeOf(NodeJSFS.writeFileSync) != CallbackType) - @compileLog("Expected NodeJSFS.writeFileSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.writeFileSync))); - if (@TypeOf(NodeJSFS.writeSync) != CallbackType) - @compileLog("Expected NodeJSFS.writeSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.writeSync))); - if (@TypeOf(NodeJSFS.writev) != CallbackType) - @compileLog("Expected NodeJSFS.writev to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.writev))); - if (@TypeOf(NodeJSFS.writevSync) != CallbackType) - @compileLog("Expected NodeJSFS.writevSync to be a callback but received " ++ @typeName(@TypeOf(NodeJSFS.writevSync))); - if (!JSC.is_bindgen) { - @export(NodeJSFS.access, .{ .name = "NodeJSFSPrototype__access" }); - @export(NodeJSFS.accessSync, .{ .name = "NodeJSFSPrototype__accessSync" }); - @export(NodeJSFS.appendFile, .{ .name = "NodeJSFSPrototype__appendFile" }); - @export(NodeJSFS.appendFileSync, .{ .name = "NodeJSFSPrototype__appendFileSync" }); - @export(NodeJSFS.chmod, .{ .name = "NodeJSFSPrototype__chmod" }); - @export(NodeJSFS.chmodSync, .{ .name = "NodeJSFSPrototype__chmodSync" }); - @export(NodeJSFS.chown, .{ .name = "NodeJSFSPrototype__chown" }); - @export(NodeJSFS.chownSync, .{ .name = "NodeJSFSPrototype__chownSync" }); - @export(NodeJSFS.close, .{ .name = "NodeJSFSPrototype__close" }); - @export(NodeJSFS.closeSync, .{ .name = "NodeJSFSPrototype__closeSync" }); - @export(NodeJSFS.constructor, .{ .name = "NodeJSFSClass__construct" }); - @export(NodeJSFS.copyFile, .{ .name = "NodeJSFSPrototype__copyFile" }); - @export(NodeJSFS.copyFileSync, .{ .name = "NodeJSFSPrototype__copyFileSync" }); - @export(NodeJSFS.cp, .{ .name = "NodeJSFSPrototype__cp" }); - @export(NodeJSFS.cpSync, .{ .name = "NodeJSFSPrototype__cpSync" }); - @export(NodeJSFS.exists, .{ .name = "NodeJSFSPrototype__exists" }); - @export(NodeJSFS.existsSync, .{ .name = "NodeJSFSPrototype__existsSync" }); - @export(NodeJSFS.fchmod, .{ .name = "NodeJSFSPrototype__fchmod" }); - @export(NodeJSFS.fchmodSync, .{ .name = "NodeJSFSPrototype__fchmodSync" }); - @export(NodeJSFS.fchown, .{ .name = "NodeJSFSPrototype__fchown" }); - @export(NodeJSFS.fchownSync, .{ .name = "NodeJSFSPrototype__fchownSync" }); - @export(NodeJSFS.fdatasync, .{ .name = "NodeJSFSPrototype__fdatasync" }); - @export(NodeJSFS.fdatasyncSync, .{ .name = "NodeJSFSPrototype__fdatasyncSync" }); - @export(NodeJSFS.fstat, .{ .name = "NodeJSFSPrototype__fstat" }); - @export(NodeJSFS.fstatSync, .{ .name = "NodeJSFSPrototype__fstatSync" }); - @export(NodeJSFS.fsync, .{ .name = "NodeJSFSPrototype__fsync" }); - @export(NodeJSFS.fsyncSync, .{ .name = "NodeJSFSPrototype__fsyncSync" }); - @export(NodeJSFS.ftruncate, .{ .name = "NodeJSFSPrototype__ftruncate" }); - @export(NodeJSFS.ftruncateSync, .{ .name = "NodeJSFSPrototype__ftruncateSync" }); - @export(NodeJSFS.futimes, .{ .name = "NodeJSFSPrototype__futimes" }); - @export(NodeJSFS.futimesSync, .{ .name = "NodeJSFSPrototype__futimesSync" }); - @export(NodeJSFS.getDirent, .{ .name = "NodeJSFSPrototype__getDirent" }); - @export(NodeJSFS.getStats, .{ .name = "NodeJSFSPrototype__getStats" }); - @export(NodeJSFS.lchmod, .{ .name = "NodeJSFSPrototype__lchmod" }); - @export(NodeJSFS.lchmodSync, .{ .name = "NodeJSFSPrototype__lchmodSync" }); - @export(NodeJSFS.lchown, .{ .name = "NodeJSFSPrototype__lchown" }); - @export(NodeJSFS.lchownSync, .{ .name = "NodeJSFSPrototype__lchownSync" }); - @export(NodeJSFS.link, .{ .name = "NodeJSFSPrototype__link" }); - @export(NodeJSFS.linkSync, .{ .name = "NodeJSFSPrototype__linkSync" }); - @export(NodeJSFS.lstat, .{ .name = "NodeJSFSPrototype__lstat" }); - @export(NodeJSFS.lstatSync, .{ .name = "NodeJSFSPrototype__lstatSync" }); - @export(NodeJSFS.lutimes, .{ .name = "NodeJSFSPrototype__lutimes" }); - @export(NodeJSFS.lutimesSync, .{ .name = "NodeJSFSPrototype__lutimesSync" }); - @export(NodeJSFS.mkdir, .{ .name = "NodeJSFSPrototype__mkdir" }); - @export(NodeJSFS.mkdirSync, .{ .name = "NodeJSFSPrototype__mkdirSync" }); - @export(NodeJSFS.mkdtemp, .{ .name = "NodeJSFSPrototype__mkdtemp" }); - @export(NodeJSFS.mkdtempSync, .{ .name = "NodeJSFSPrototype__mkdtempSync" }); - @export(NodeJSFS.open, .{ .name = "NodeJSFSPrototype__open" }); - @export(NodeJSFS.opendir, .{ .name = "NodeJSFSPrototype__opendir" }); - @export(NodeJSFS.opendirSync, .{ .name = "NodeJSFSPrototype__opendirSync" }); - @export(NodeJSFS.openSync, .{ .name = "NodeJSFSPrototype__openSync" }); - @export(NodeJSFS.read, .{ .name = "NodeJSFSPrototype__read" }); - @export(NodeJSFS.readdir, .{ .name = "NodeJSFSPrototype__readdir" }); - @export(NodeJSFS.readdirSync, .{ .name = "NodeJSFSPrototype__readdirSync" }); - @export(NodeJSFS.readFile, .{ .name = "NodeJSFSPrototype__readFile" }); - @export(NodeJSFS.readFileSync, .{ .name = "NodeJSFSPrototype__readFileSync" }); - @export(NodeJSFS.readlink, .{ .name = "NodeJSFSPrototype__readlink" }); - @export(NodeJSFS.readlinkSync, .{ .name = "NodeJSFSPrototype__readlinkSync" }); - @export(NodeJSFS.readSync, .{ .name = "NodeJSFSPrototype__readSync" }); - @export(NodeJSFS.readv, .{ .name = "NodeJSFSPrototype__readv" }); - @export(NodeJSFS.readvSync, .{ .name = "NodeJSFSPrototype__readvSync" }); - @export(NodeJSFS.realpath, .{ .name = "NodeJSFSPrototype__realpath" }); - @export(NodeJSFS.realpathSync, .{ .name = "NodeJSFSPrototype__realpathSync" }); - @export(NodeJSFS.rename, .{ .name = "NodeJSFSPrototype__rename" }); - @export(NodeJSFS.renameSync, .{ .name = "NodeJSFSPrototype__renameSync" }); - @export(NodeJSFS.rm, .{ .name = "NodeJSFSPrototype__rm" }); - @export(NodeJSFS.rmdir, .{ .name = "NodeJSFSPrototype__rmdir" }); - @export(NodeJSFS.rmdirSync, .{ .name = "NodeJSFSPrototype__rmdirSync" }); - @export(NodeJSFS.rmSync, .{ .name = "NodeJSFSPrototype__rmSync" }); - @export(NodeJSFS.stat, .{ .name = "NodeJSFSPrototype__stat" }); - @export(NodeJSFS.statSync, .{ .name = "NodeJSFSPrototype__statSync" }); - @export(NodeJSFS.symlink, .{ .name = "NodeJSFSPrototype__symlink" }); - @export(NodeJSFS.symlinkSync, .{ .name = "NodeJSFSPrototype__symlinkSync" }); - @export(NodeJSFS.truncate, .{ .name = "NodeJSFSPrototype__truncate" }); - @export(NodeJSFS.truncateSync, .{ .name = "NodeJSFSPrototype__truncateSync" }); - @export(NodeJSFS.unlink, .{ .name = "NodeJSFSPrototype__unlink" }); - @export(NodeJSFS.unlinkSync, .{ .name = "NodeJSFSPrototype__unlinkSync" }); - @export(NodeJSFS.unwatchFile, .{ .name = "NodeJSFSPrototype__unwatchFile" }); - @export(NodeJSFS.utimes, .{ .name = "NodeJSFSPrototype__utimes" }); - @export(NodeJSFS.utimesSync, .{ .name = "NodeJSFSPrototype__utimesSync" }); - @export(NodeJSFS.watch, .{ .name = "NodeJSFSPrototype__watch" }); - @export(NodeJSFS.watchFile, .{ .name = "NodeJSFSPrototype__watchFile" }); - @export(NodeJSFS.write, .{ .name = "NodeJSFSPrototype__write" }); - @export(NodeJSFS.writeFile, .{ .name = "NodeJSFSPrototype__writeFile" }); - @export(NodeJSFS.writeFileSync, .{ .name = "NodeJSFSPrototype__writeFileSync" }); - @export(NodeJSFS.writeSync, .{ .name = "NodeJSFSPrototype__writeSync" }); - @export(NodeJSFS.writev, .{ .name = "NodeJSFSPrototype__writev" }); - @export(NodeJSFS.writevSync, .{ .name = "NodeJSFSPrototype__writevSync" }); - } - } -}; -pub const JSRequest = struct { - const Request = Classes.Request; - const GetterType = fn (*Request, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Request, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Request, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Request, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Request, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Request { - JSC.markBinding(@src()); - return Request__fromJS(value); - } - - extern fn RequestPrototype__bodySetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn RequestPrototype__bodyGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Request.body` setter - /// This value will be visited by the garbage collector. - pub fn bodySetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - RequestPrototype__bodySetCachedValue(thisValue, globalObject, value); - } - - /// `Request.body` getter - /// This value will be visited by the garbage collector. - pub fn bodyGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = RequestPrototype__bodyGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn RequestPrototype__headersSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn RequestPrototype__headersGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Request.headers` setter - /// This value will be visited by the garbage collector. - pub fn headersSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - RequestPrototype__headersSetCachedValue(thisValue, globalObject, value); - } - - /// `Request.headers` getter - /// This value will be visited by the garbage collector. - pub fn headersGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = RequestPrototype__headersGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn RequestPrototype__signalSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn RequestPrototype__signalGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Request.signal` setter - /// This value will be visited by the garbage collector. - pub fn signalSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - RequestPrototype__signalSetCachedValue(thisValue, globalObject, value); - } - - /// `Request.signal` getter - /// This value will be visited by the garbage collector. - pub fn signalGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = RequestPrototype__signalGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn RequestPrototype__urlSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn RequestPrototype__urlGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Request.url` setter - /// This value will be visited by the garbage collector. - pub fn urlSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - RequestPrototype__urlSetCachedValue(thisValue, globalObject, value); - } - - /// `Request.url` getter - /// This value will be visited by the garbage collector. - pub fn urlGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = RequestPrototype__urlGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the Request constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return Request__getConstructor(globalObject); - } - - /// Create a new instance of Request - pub fn toJS(this: *Request, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Request__create(globalObject, this); - std.debug.assert(value__.as(Request).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Request__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Request. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Request) bool { - JSC.markBinding(@src()); - return Request__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Request, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Request__dangerouslySetPtr(value, null)); - } - - extern fn Request__fromJS(JSC.JSValue) ?*Request; - extern fn Request__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Request__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Request) JSC.JSValue; - - extern fn Request__dangerouslySetPtr(JSC.JSValue, ?*Request) bool; - - comptime { - if (@TypeOf(Request.estimatedSize) != (fn (*Request) callconv(.C) usize)) { - @compileLog("Request.estimatedSize is not a size function"); - } - - if (@TypeOf(Request.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Request)) { - @compileLog("Request.constructor is not a constructor"); - } - - if (@TypeOf(Request.finalize) != (fn (*Request) callconv(.C) void)) { - @compileLog("Request.finalize is not a finalizer"); - } - - if (@TypeOf(Request.getArrayBuffer) != CallbackType) - @compileLog("Expected Request.getArrayBuffer to be a callback but received " ++ @typeName(@TypeOf(Request.getArrayBuffer))); - if (@TypeOf(Request.getBlob) != CallbackType) - @compileLog("Expected Request.getBlob to be a callback but received " ++ @typeName(@TypeOf(Request.getBlob))); - if (@TypeOf(Request.getBody) != GetterType) - @compileLog("Expected Request.getBody to be a getter"); - - if (@TypeOf(Request.getBodyUsed) != GetterType) - @compileLog("Expected Request.getBodyUsed to be a getter"); - - if (@TypeOf(Request.getCache) != GetterType) - @compileLog("Expected Request.getCache to be a getter"); - - if (@TypeOf(Request.doClone) != CallbackType) - @compileLog("Expected Request.doClone to be a callback but received " ++ @typeName(@TypeOf(Request.doClone))); - if (@TypeOf(Request.getCredentials) != GetterType) - @compileLog("Expected Request.getCredentials to be a getter"); - - if (@TypeOf(Request.getDestination) != GetterType) - @compileLog("Expected Request.getDestination to be a getter"); - - if (@TypeOf(Request.getFormData) != CallbackType) - @compileLog("Expected Request.getFormData to be a callback but received " ++ @typeName(@TypeOf(Request.getFormData))); - if (@TypeOf(Request.getHeaders) != GetterType) - @compileLog("Expected Request.getHeaders to be a getter"); - - if (@TypeOf(Request.getIntegrity) != GetterType) - @compileLog("Expected Request.getIntegrity to be a getter"); - - if (@TypeOf(Request.getJSON) != CallbackType) - @compileLog("Expected Request.getJSON to be a callback but received " ++ @typeName(@TypeOf(Request.getJSON))); - if (@TypeOf(Request.getMethod) != GetterType) - @compileLog("Expected Request.getMethod to be a getter"); - - if (@TypeOf(Request.getMode) != GetterType) - @compileLog("Expected Request.getMode to be a getter"); - - if (@TypeOf(Request.getRedirect) != GetterType) - @compileLog("Expected Request.getRedirect to be a getter"); - - if (@TypeOf(Request.getReferrer) != GetterType) - @compileLog("Expected Request.getReferrer to be a getter"); - - if (@TypeOf(Request.getReferrerPolicy) != GetterType) - @compileLog("Expected Request.getReferrerPolicy to be a getter"); - - if (@TypeOf(Request.getSignal) != GetterType) - @compileLog("Expected Request.getSignal to be a getter"); - - if (@TypeOf(Request.getText) != CallbackType) - @compileLog("Expected Request.getText to be a callback but received " ++ @typeName(@TypeOf(Request.getText))); - if (@TypeOf(Request.getUrl) != GetterType) - @compileLog("Expected Request.getUrl to be a getter"); - - if (!JSC.is_bindgen) { - @export(Request.constructor, .{ .name = "RequestClass__construct" }); - @export(Request.doClone, .{ .name = "RequestPrototype__doClone" }); - @export(Request.estimatedSize, .{ .name = "Request__estimatedSize" }); - @export(Request.finalize, .{ .name = "RequestClass__finalize" }); - @export(Request.getArrayBuffer, .{ .name = "RequestPrototype__getArrayBuffer" }); - @export(Request.getBlob, .{ .name = "RequestPrototype__getBlob" }); - @export(Request.getBody, .{ .name = "RequestPrototype__getBody" }); - @export(Request.getBodyUsed, .{ .name = "RequestPrototype__getBodyUsed" }); - @export(Request.getCache, .{ .name = "RequestPrototype__getCache" }); - @export(Request.getCredentials, .{ .name = "RequestPrototype__getCredentials" }); - @export(Request.getDestination, .{ .name = "RequestPrototype__getDestination" }); - @export(Request.getFormData, .{ .name = "RequestPrototype__getFormData" }); - @export(Request.getHeaders, .{ .name = "RequestPrototype__getHeaders" }); - @export(Request.getIntegrity, .{ .name = "RequestPrototype__getIntegrity" }); - @export(Request.getJSON, .{ .name = "RequestPrototype__getJSON" }); - @export(Request.getMethod, .{ .name = "RequestPrototype__getMethod" }); - @export(Request.getMode, .{ .name = "RequestPrototype__getMode" }); - @export(Request.getRedirect, .{ .name = "RequestPrototype__getRedirect" }); - @export(Request.getReferrer, .{ .name = "RequestPrototype__getReferrer" }); - @export(Request.getReferrerPolicy, .{ .name = "RequestPrototype__getReferrerPolicy" }); - @export(Request.getSignal, .{ .name = "RequestPrototype__getSignal" }); - @export(Request.getText, .{ .name = "RequestPrototype__getText" }); - @export(Request.getUrl, .{ .name = "RequestPrototype__getUrl" }); - } - } -}; -pub const JSResolveMessage = struct { - const ResolveMessage = Classes.ResolveMessage; - const GetterType = fn (*ResolveMessage, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*ResolveMessage, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*ResolveMessage, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*ResolveMessage, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*ResolveMessage, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*ResolveMessage { - JSC.markBinding(@src()); - return ResolveMessage__fromJS(value); - } - - extern fn ResolveMessagePrototype__codeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResolveMessagePrototype__codeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ResolveMessage.code` setter - /// This value will be visited by the garbage collector. - pub fn codeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResolveMessagePrototype__codeSetCachedValue(thisValue, globalObject, value); - } - - /// `ResolveMessage.code` getter - /// This value will be visited by the garbage collector. - pub fn codeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResolveMessagePrototype__codeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ResolveMessagePrototype__importKindSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResolveMessagePrototype__importKindGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ResolveMessage.importKind` setter - /// This value will be visited by the garbage collector. - pub fn importKindSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResolveMessagePrototype__importKindSetCachedValue(thisValue, globalObject, value); - } - - /// `ResolveMessage.importKind` getter - /// This value will be visited by the garbage collector. - pub fn importKindGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResolveMessagePrototype__importKindGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ResolveMessagePrototype__levelSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResolveMessagePrototype__levelGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ResolveMessage.level` setter - /// This value will be visited by the garbage collector. - pub fn levelSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResolveMessagePrototype__levelSetCachedValue(thisValue, globalObject, value); - } - - /// `ResolveMessage.level` getter - /// This value will be visited by the garbage collector. - pub fn levelGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResolveMessagePrototype__levelGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ResolveMessagePrototype__messageSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResolveMessagePrototype__messageGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ResolveMessage.message` setter - /// This value will be visited by the garbage collector. - pub fn messageSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResolveMessagePrototype__messageSetCachedValue(thisValue, globalObject, value); - } - - /// `ResolveMessage.message` getter - /// This value will be visited by the garbage collector. - pub fn messageGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResolveMessagePrototype__messageGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ResolveMessagePrototype__positionSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResolveMessagePrototype__positionGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ResolveMessage.position` setter - /// This value will be visited by the garbage collector. - pub fn positionSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResolveMessagePrototype__positionSetCachedValue(thisValue, globalObject, value); - } - - /// `ResolveMessage.position` getter - /// This value will be visited by the garbage collector. - pub fn positionGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResolveMessagePrototype__positionGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ResolveMessagePrototype__referrerSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResolveMessagePrototype__referrerGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ResolveMessage.referrer` setter - /// This value will be visited by the garbage collector. - pub fn referrerSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResolveMessagePrototype__referrerSetCachedValue(thisValue, globalObject, value); - } - - /// `ResolveMessage.referrer` getter - /// This value will be visited by the garbage collector. - pub fn referrerGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResolveMessagePrototype__referrerGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ResolveMessagePrototype__specifierSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResolveMessagePrototype__specifierGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ResolveMessage.specifier` setter - /// This value will be visited by the garbage collector. - pub fn specifierSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResolveMessagePrototype__specifierSetCachedValue(thisValue, globalObject, value); - } - - /// `ResolveMessage.specifier` getter - /// This value will be visited by the garbage collector. - pub fn specifierGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResolveMessagePrototype__specifierGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the ResolveMessage constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return ResolveMessage__getConstructor(globalObject); - } - - /// Create a new instance of ResolveMessage - pub fn toJS(this: *ResolveMessage, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = ResolveMessage__create(globalObject, this); - std.debug.assert(value__.as(ResolveMessage).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return ResolveMessage__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of ResolveMessage. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*ResolveMessage) bool { - JSC.markBinding(@src()); - return ResolveMessage__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *ResolveMessage, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(ResolveMessage__dangerouslySetPtr(value, null)); - } - - extern fn ResolveMessage__fromJS(JSC.JSValue) ?*ResolveMessage; - extern fn ResolveMessage__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn ResolveMessage__create(globalObject: *JSC.JSGlobalObject, ptr: ?*ResolveMessage) JSC.JSValue; - - extern fn ResolveMessage__dangerouslySetPtr(JSC.JSValue, ?*ResolveMessage) bool; - - comptime { - if (@TypeOf(ResolveMessage.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*ResolveMessage)) { - @compileLog("ResolveMessage.constructor is not a constructor"); - } - - if (@TypeOf(ResolveMessage.finalize) != (fn (*ResolveMessage) callconv(.C) void)) { - @compileLog("ResolveMessage.finalize is not a finalizer"); - } - - if (@TypeOf(ResolveMessage.toPrimitive) != CallbackType) - @compileLog("Expected ResolveMessage.toPrimitive to be a callback but received " ++ @typeName(@TypeOf(ResolveMessage.toPrimitive))); - if (@TypeOf(ResolveMessage.getCode) != GetterType) - @compileLog("Expected ResolveMessage.getCode to be a getter"); - - if (@TypeOf(ResolveMessage.getImportKind) != GetterType) - @compileLog("Expected ResolveMessage.getImportKind to be a getter"); - - if (@TypeOf(ResolveMessage.getLevel) != GetterType) - @compileLog("Expected ResolveMessage.getLevel to be a getter"); - - if (@TypeOf(ResolveMessage.getMessage) != GetterType) - @compileLog("Expected ResolveMessage.getMessage to be a getter"); - - if (@TypeOf(ResolveMessage.getPosition) != GetterType) - @compileLog("Expected ResolveMessage.getPosition to be a getter"); - - if (@TypeOf(ResolveMessage.getReferrer) != GetterType) - @compileLog("Expected ResolveMessage.getReferrer to be a getter"); - - if (@TypeOf(ResolveMessage.getSpecifier) != GetterType) - @compileLog("Expected ResolveMessage.getSpecifier to be a getter"); - - if (@TypeOf(ResolveMessage.toJSON) != CallbackType) - @compileLog("Expected ResolveMessage.toJSON to be a callback but received " ++ @typeName(@TypeOf(ResolveMessage.toJSON))); - if (@TypeOf(ResolveMessage.toString) != CallbackType) - @compileLog("Expected ResolveMessage.toString to be a callback but received " ++ @typeName(@TypeOf(ResolveMessage.toString))); - if (!JSC.is_bindgen) { - @export(ResolveMessage.constructor, .{ .name = "ResolveMessageClass__construct" }); - @export(ResolveMessage.finalize, .{ .name = "ResolveMessageClass__finalize" }); - @export(ResolveMessage.getCode, .{ .name = "ResolveMessagePrototype__getCode" }); - @export(ResolveMessage.getImportKind, .{ .name = "ResolveMessagePrototype__getImportKind" }); - @export(ResolveMessage.getLevel, .{ .name = "ResolveMessagePrototype__getLevel" }); - @export(ResolveMessage.getMessage, .{ .name = "ResolveMessagePrototype__getMessage" }); - @export(ResolveMessage.getPosition, .{ .name = "ResolveMessagePrototype__getPosition" }); - @export(ResolveMessage.getReferrer, .{ .name = "ResolveMessagePrototype__getReferrer" }); - @export(ResolveMessage.getSpecifier, .{ .name = "ResolveMessagePrototype__getSpecifier" }); - @export(ResolveMessage.toJSON, .{ .name = "ResolveMessagePrototype__toJSON" }); - @export(ResolveMessage.toPrimitive, .{ .name = "ResolveMessagePrototype__toPrimitive" }); - @export(ResolveMessage.toString, .{ .name = "ResolveMessagePrototype__toString" }); - } - } -}; -pub const JSResponse = struct { - const Response = Classes.Response; - const GetterType = fn (*Response, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Response, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Response, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Response, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Response, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Response { - JSC.markBinding(@src()); - return Response__fromJS(value); - } - - extern fn ResponsePrototype__bodySetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResponsePrototype__bodyGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Response.body` setter - /// This value will be visited by the garbage collector. - pub fn bodySetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResponsePrototype__bodySetCachedValue(thisValue, globalObject, value); - } - - /// `Response.body` getter - /// This value will be visited by the garbage collector. - pub fn bodyGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResponsePrototype__bodyGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ResponsePrototype__headersSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResponsePrototype__headersGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Response.headers` setter - /// This value will be visited by the garbage collector. - pub fn headersSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResponsePrototype__headersSetCachedValue(thisValue, globalObject, value); - } - - /// `Response.headers` getter - /// This value will be visited by the garbage collector. - pub fn headersGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResponsePrototype__headersGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ResponsePrototype__statusTextSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResponsePrototype__statusTextGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Response.statusText` setter - /// This value will be visited by the garbage collector. - pub fn statusTextSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResponsePrototype__statusTextSetCachedValue(thisValue, globalObject, value); - } - - /// `Response.statusText` getter - /// This value will be visited by the garbage collector. - pub fn statusTextGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResponsePrototype__statusTextGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ResponsePrototype__urlSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ResponsePrototype__urlGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Response.url` setter - /// This value will be visited by the garbage collector. - pub fn urlSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ResponsePrototype__urlSetCachedValue(thisValue, globalObject, value); - } - - /// `Response.url` getter - /// This value will be visited by the garbage collector. - pub fn urlGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ResponsePrototype__urlGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the Response constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return Response__getConstructor(globalObject); - } - - /// Create a new instance of Response - pub fn toJS(this: *Response, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Response__create(globalObject, this); - std.debug.assert(value__.as(Response).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Response__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Response. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Response) bool { - JSC.markBinding(@src()); - return Response__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Response, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Response__dangerouslySetPtr(value, null)); - } - - extern fn Response__fromJS(JSC.JSValue) ?*Response; - extern fn Response__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Response__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Response) JSC.JSValue; - - extern fn Response__dangerouslySetPtr(JSC.JSValue, ?*Response) bool; - - comptime { - if (@TypeOf(Response.estimatedSize) != (fn (*Response) callconv(.C) usize)) { - @compileLog("Response.estimatedSize is not a size function"); - } - - if (@TypeOf(Response.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Response)) { - @compileLog("Response.constructor is not a constructor"); - } - - if (@TypeOf(Response.finalize) != (fn (*Response) callconv(.C) void)) { - @compileLog("Response.finalize is not a finalizer"); - } - - if (@TypeOf(Response.getArrayBuffer) != CallbackType) - @compileLog("Expected Response.getArrayBuffer to be a callback but received " ++ @typeName(@TypeOf(Response.getArrayBuffer))); - if (@TypeOf(Response.getBlob) != CallbackType) - @compileLog("Expected Response.getBlob to be a callback but received " ++ @typeName(@TypeOf(Response.getBlob))); - if (@TypeOf(Response.getBody) != GetterType) - @compileLog("Expected Response.getBody to be a getter"); - - if (@TypeOf(Response.getBodyUsed) != GetterType) - @compileLog("Expected Response.getBodyUsed to be a getter"); - - if (@TypeOf(Response.doClone) != CallbackType) - @compileLog("Expected Response.doClone to be a callback but received " ++ @typeName(@TypeOf(Response.doClone))); - if (@TypeOf(Response.getFormData) != CallbackType) - @compileLog("Expected Response.getFormData to be a callback but received " ++ @typeName(@TypeOf(Response.getFormData))); - if (@TypeOf(Response.getHeaders) != GetterType) - @compileLog("Expected Response.getHeaders to be a getter"); - - if (@TypeOf(Response.getJSON) != CallbackType) - @compileLog("Expected Response.getJSON to be a callback but received " ++ @typeName(@TypeOf(Response.getJSON))); - if (@TypeOf(Response.getOK) != GetterType) - @compileLog("Expected Response.getOK to be a getter"); - - if (@TypeOf(Response.getRedirected) != GetterType) - @compileLog("Expected Response.getRedirected to be a getter"); - - if (@TypeOf(Response.getStatus) != GetterType) - @compileLog("Expected Response.getStatus to be a getter"); - - if (@TypeOf(Response.getStatusText) != GetterType) - @compileLog("Expected Response.getStatusText to be a getter"); - - if (@TypeOf(Response.getText) != CallbackType) - @compileLog("Expected Response.getText to be a callback but received " ++ @typeName(@TypeOf(Response.getText))); - if (@TypeOf(Response.getResponseType) != GetterType) - @compileLog("Expected Response.getResponseType to be a getter"); - - if (@TypeOf(Response.getURL) != GetterType) - @compileLog("Expected Response.getURL to be a getter"); - - if (@TypeOf(Response.constructError) != StaticCallbackType) - @compileLog("Expected Response.constructError to be a static callback"); - if (@TypeOf(Response.constructJSON) != StaticCallbackType) - @compileLog("Expected Response.constructJSON to be a static callback"); - if (@TypeOf(Response.constructRedirect) != StaticCallbackType) - @compileLog("Expected Response.constructRedirect to be a static callback"); - if (!JSC.is_bindgen) { - @export(Response.constructError, .{ .name = "ResponseClass__constructError" }); - @export(Response.constructJSON, .{ .name = "ResponseClass__constructJSON" }); - @export(Response.constructor, .{ .name = "ResponseClass__construct" }); - @export(Response.constructRedirect, .{ .name = "ResponseClass__constructRedirect" }); - @export(Response.doClone, .{ .name = "ResponsePrototype__doClone" }); - @export(Response.estimatedSize, .{ .name = "Response__estimatedSize" }); - @export(Response.finalize, .{ .name = "ResponseClass__finalize" }); - @export(Response.getArrayBuffer, .{ .name = "ResponsePrototype__getArrayBuffer" }); - @export(Response.getBlob, .{ .name = "ResponsePrototype__getBlob" }); - @export(Response.getBody, .{ .name = "ResponsePrototype__getBody" }); - @export(Response.getBodyUsed, .{ .name = "ResponsePrototype__getBodyUsed" }); - @export(Response.getFormData, .{ .name = "ResponsePrototype__getFormData" }); - @export(Response.getHeaders, .{ .name = "ResponsePrototype__getHeaders" }); - @export(Response.getJSON, .{ .name = "ResponsePrototype__getJSON" }); - @export(Response.getOK, .{ .name = "ResponsePrototype__getOK" }); - @export(Response.getRedirected, .{ .name = "ResponsePrototype__getRedirected" }); - @export(Response.getResponseType, .{ .name = "ResponsePrototype__getResponseType" }); - @export(Response.getStatus, .{ .name = "ResponsePrototype__getStatus" }); - @export(Response.getStatusText, .{ .name = "ResponsePrototype__getStatusText" }); - @export(Response.getText, .{ .name = "ResponsePrototype__getText" }); - @export(Response.getURL, .{ .name = "ResponsePrototype__getURL" }); - } - } -}; -pub const JSSHA1 = struct { - const SHA1 = Classes.SHA1; - const GetterType = fn (*SHA1, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*SHA1, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*SHA1, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*SHA1, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*SHA1, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*SHA1 { - JSC.markBinding(@src()); - return SHA1__fromJS(value); - } - - /// Get the SHA1 constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return SHA1__getConstructor(globalObject); - } - - /// Create a new instance of SHA1 - pub fn toJS(this: *SHA1, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = SHA1__create(globalObject, this); - std.debug.assert(value__.as(SHA1).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return SHA1__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of SHA1. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*SHA1) bool { - JSC.markBinding(@src()); - return SHA1__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *SHA1, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(SHA1__dangerouslySetPtr(value, null)); - } - - extern fn SHA1__fromJS(JSC.JSValue) ?*SHA1; - extern fn SHA1__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn SHA1__create(globalObject: *JSC.JSGlobalObject, ptr: ?*SHA1) JSC.JSValue; - - extern fn SHA1__dangerouslySetPtr(JSC.JSValue, ?*SHA1) bool; - - comptime { - if (@TypeOf(SHA1.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*SHA1)) { - @compileLog("SHA1.constructor is not a constructor"); - } - - if (@TypeOf(SHA1.finalize) != (fn (*SHA1) callconv(.C) void)) { - @compileLog("SHA1.finalize is not a finalizer"); - } - - if (@TypeOf(SHA1.getByteLength) != GetterType) - @compileLog("Expected SHA1.getByteLength to be a getter"); - - if (@TypeOf(SHA1.digest) != CallbackType) - @compileLog("Expected SHA1.digest to be a callback but received " ++ @typeName(@TypeOf(SHA1.digest))); - if (@TypeOf(SHA1.update) != CallbackType) - @compileLog("Expected SHA1.update to be a callback but received " ++ @typeName(@TypeOf(SHA1.update))); - if (@TypeOf(SHA1.getByteLengthStatic) != StaticGetterType) - @compileLog("Expected SHA1.getByteLengthStatic to be a static getter"); - - if (@TypeOf(SHA1.hash) != StaticCallbackType) - @compileLog("Expected SHA1.hash to be a static callback"); - if (!JSC.is_bindgen) { - @export(SHA1.constructor, .{ .name = "SHA1Class__construct" }); - @export(SHA1.digest, .{ .name = "SHA1Prototype__digest" }); - @export(SHA1.finalize, .{ .name = "SHA1Class__finalize" }); - @export(SHA1.getByteLength, .{ .name = "SHA1Prototype__getByteLength" }); - @export(SHA1.getByteLengthStatic, .{ .name = "SHA1Class__getByteLengthStatic" }); - @export(SHA1.hash, .{ .name = "SHA1Class__hash" }); - @export(SHA1.update, .{ .name = "SHA1Prototype__update" }); - } - } -}; -pub const JSSHA224 = struct { - const SHA224 = Classes.SHA224; - const GetterType = fn (*SHA224, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*SHA224, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*SHA224, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*SHA224, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*SHA224, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*SHA224 { - JSC.markBinding(@src()); - return SHA224__fromJS(value); - } - - /// Get the SHA224 constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return SHA224__getConstructor(globalObject); - } - - /// Create a new instance of SHA224 - pub fn toJS(this: *SHA224, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = SHA224__create(globalObject, this); - std.debug.assert(value__.as(SHA224).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return SHA224__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of SHA224. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*SHA224) bool { - JSC.markBinding(@src()); - return SHA224__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *SHA224, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(SHA224__dangerouslySetPtr(value, null)); - } - - extern fn SHA224__fromJS(JSC.JSValue) ?*SHA224; - extern fn SHA224__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn SHA224__create(globalObject: *JSC.JSGlobalObject, ptr: ?*SHA224) JSC.JSValue; - - extern fn SHA224__dangerouslySetPtr(JSC.JSValue, ?*SHA224) bool; - - comptime { - if (@TypeOf(SHA224.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*SHA224)) { - @compileLog("SHA224.constructor is not a constructor"); - } - - if (@TypeOf(SHA224.finalize) != (fn (*SHA224) callconv(.C) void)) { - @compileLog("SHA224.finalize is not a finalizer"); - } - - if (@TypeOf(SHA224.getByteLength) != GetterType) - @compileLog("Expected SHA224.getByteLength to be a getter"); - - if (@TypeOf(SHA224.digest) != CallbackType) - @compileLog("Expected SHA224.digest to be a callback but received " ++ @typeName(@TypeOf(SHA224.digest))); - if (@TypeOf(SHA224.update) != CallbackType) - @compileLog("Expected SHA224.update to be a callback but received " ++ @typeName(@TypeOf(SHA224.update))); - if (@TypeOf(SHA224.getByteLengthStatic) != StaticGetterType) - @compileLog("Expected SHA224.getByteLengthStatic to be a static getter"); - - if (@TypeOf(SHA224.hash) != StaticCallbackType) - @compileLog("Expected SHA224.hash to be a static callback"); - if (!JSC.is_bindgen) { - @export(SHA224.constructor, .{ .name = "SHA224Class__construct" }); - @export(SHA224.digest, .{ .name = "SHA224Prototype__digest" }); - @export(SHA224.finalize, .{ .name = "SHA224Class__finalize" }); - @export(SHA224.getByteLength, .{ .name = "SHA224Prototype__getByteLength" }); - @export(SHA224.getByteLengthStatic, .{ .name = "SHA224Class__getByteLengthStatic" }); - @export(SHA224.hash, .{ .name = "SHA224Class__hash" }); - @export(SHA224.update, .{ .name = "SHA224Prototype__update" }); - } - } -}; -pub const JSSHA256 = struct { - const SHA256 = Classes.SHA256; - const GetterType = fn (*SHA256, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*SHA256, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*SHA256, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*SHA256, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*SHA256, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*SHA256 { - JSC.markBinding(@src()); - return SHA256__fromJS(value); - } - - /// Get the SHA256 constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return SHA256__getConstructor(globalObject); - } - - /// Create a new instance of SHA256 - pub fn toJS(this: *SHA256, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = SHA256__create(globalObject, this); - std.debug.assert(value__.as(SHA256).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return SHA256__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of SHA256. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*SHA256) bool { - JSC.markBinding(@src()); - return SHA256__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *SHA256, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(SHA256__dangerouslySetPtr(value, null)); - } - - extern fn SHA256__fromJS(JSC.JSValue) ?*SHA256; - extern fn SHA256__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn SHA256__create(globalObject: *JSC.JSGlobalObject, ptr: ?*SHA256) JSC.JSValue; - - extern fn SHA256__dangerouslySetPtr(JSC.JSValue, ?*SHA256) bool; - - comptime { - if (@TypeOf(SHA256.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*SHA256)) { - @compileLog("SHA256.constructor is not a constructor"); - } - - if (@TypeOf(SHA256.finalize) != (fn (*SHA256) callconv(.C) void)) { - @compileLog("SHA256.finalize is not a finalizer"); - } - - if (@TypeOf(SHA256.getByteLength) != GetterType) - @compileLog("Expected SHA256.getByteLength to be a getter"); - - if (@TypeOf(SHA256.digest) != CallbackType) - @compileLog("Expected SHA256.digest to be a callback but received " ++ @typeName(@TypeOf(SHA256.digest))); - if (@TypeOf(SHA256.update) != CallbackType) - @compileLog("Expected SHA256.update to be a callback but received " ++ @typeName(@TypeOf(SHA256.update))); - if (@TypeOf(SHA256.getByteLengthStatic) != StaticGetterType) - @compileLog("Expected SHA256.getByteLengthStatic to be a static getter"); - - if (@TypeOf(SHA256.hash) != StaticCallbackType) - @compileLog("Expected SHA256.hash to be a static callback"); - if (!JSC.is_bindgen) { - @export(SHA256.constructor, .{ .name = "SHA256Class__construct" }); - @export(SHA256.digest, .{ .name = "SHA256Prototype__digest" }); - @export(SHA256.finalize, .{ .name = "SHA256Class__finalize" }); - @export(SHA256.getByteLength, .{ .name = "SHA256Prototype__getByteLength" }); - @export(SHA256.getByteLengthStatic, .{ .name = "SHA256Class__getByteLengthStatic" }); - @export(SHA256.hash, .{ .name = "SHA256Class__hash" }); - @export(SHA256.update, .{ .name = "SHA256Prototype__update" }); - } - } -}; -pub const JSSHA384 = struct { - const SHA384 = Classes.SHA384; - const GetterType = fn (*SHA384, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*SHA384, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*SHA384, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*SHA384, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*SHA384, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*SHA384 { - JSC.markBinding(@src()); - return SHA384__fromJS(value); - } - - /// Get the SHA384 constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return SHA384__getConstructor(globalObject); - } - - /// Create a new instance of SHA384 - pub fn toJS(this: *SHA384, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = SHA384__create(globalObject, this); - std.debug.assert(value__.as(SHA384).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return SHA384__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of SHA384. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*SHA384) bool { - JSC.markBinding(@src()); - return SHA384__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *SHA384, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(SHA384__dangerouslySetPtr(value, null)); - } - - extern fn SHA384__fromJS(JSC.JSValue) ?*SHA384; - extern fn SHA384__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn SHA384__create(globalObject: *JSC.JSGlobalObject, ptr: ?*SHA384) JSC.JSValue; - - extern fn SHA384__dangerouslySetPtr(JSC.JSValue, ?*SHA384) bool; - - comptime { - if (@TypeOf(SHA384.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*SHA384)) { - @compileLog("SHA384.constructor is not a constructor"); - } - - if (@TypeOf(SHA384.finalize) != (fn (*SHA384) callconv(.C) void)) { - @compileLog("SHA384.finalize is not a finalizer"); - } - - if (@TypeOf(SHA384.getByteLength) != GetterType) - @compileLog("Expected SHA384.getByteLength to be a getter"); - - if (@TypeOf(SHA384.digest) != CallbackType) - @compileLog("Expected SHA384.digest to be a callback but received " ++ @typeName(@TypeOf(SHA384.digest))); - if (@TypeOf(SHA384.update) != CallbackType) - @compileLog("Expected SHA384.update to be a callback but received " ++ @typeName(@TypeOf(SHA384.update))); - if (@TypeOf(SHA384.getByteLengthStatic) != StaticGetterType) - @compileLog("Expected SHA384.getByteLengthStatic to be a static getter"); - - if (@TypeOf(SHA384.hash) != StaticCallbackType) - @compileLog("Expected SHA384.hash to be a static callback"); - if (!JSC.is_bindgen) { - @export(SHA384.constructor, .{ .name = "SHA384Class__construct" }); - @export(SHA384.digest, .{ .name = "SHA384Prototype__digest" }); - @export(SHA384.finalize, .{ .name = "SHA384Class__finalize" }); - @export(SHA384.getByteLength, .{ .name = "SHA384Prototype__getByteLength" }); - @export(SHA384.getByteLengthStatic, .{ .name = "SHA384Class__getByteLengthStatic" }); - @export(SHA384.hash, .{ .name = "SHA384Class__hash" }); - @export(SHA384.update, .{ .name = "SHA384Prototype__update" }); - } - } -}; -pub const JSSHA512 = struct { - const SHA512 = Classes.SHA512; - const GetterType = fn (*SHA512, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*SHA512, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*SHA512, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*SHA512, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*SHA512, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*SHA512 { - JSC.markBinding(@src()); - return SHA512__fromJS(value); - } - - /// Get the SHA512 constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return SHA512__getConstructor(globalObject); - } - - /// Create a new instance of SHA512 - pub fn toJS(this: *SHA512, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = SHA512__create(globalObject, this); - std.debug.assert(value__.as(SHA512).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return SHA512__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of SHA512. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*SHA512) bool { - JSC.markBinding(@src()); - return SHA512__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *SHA512, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(SHA512__dangerouslySetPtr(value, null)); - } - - extern fn SHA512__fromJS(JSC.JSValue) ?*SHA512; - extern fn SHA512__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn SHA512__create(globalObject: *JSC.JSGlobalObject, ptr: ?*SHA512) JSC.JSValue; - - extern fn SHA512__dangerouslySetPtr(JSC.JSValue, ?*SHA512) bool; - - comptime { - if (@TypeOf(SHA512.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*SHA512)) { - @compileLog("SHA512.constructor is not a constructor"); - } - - if (@TypeOf(SHA512.finalize) != (fn (*SHA512) callconv(.C) void)) { - @compileLog("SHA512.finalize is not a finalizer"); - } - - if (@TypeOf(SHA512.getByteLength) != GetterType) - @compileLog("Expected SHA512.getByteLength to be a getter"); - - if (@TypeOf(SHA512.digest) != CallbackType) - @compileLog("Expected SHA512.digest to be a callback but received " ++ @typeName(@TypeOf(SHA512.digest))); - if (@TypeOf(SHA512.update) != CallbackType) - @compileLog("Expected SHA512.update to be a callback but received " ++ @typeName(@TypeOf(SHA512.update))); - if (@TypeOf(SHA512.getByteLengthStatic) != StaticGetterType) - @compileLog("Expected SHA512.getByteLengthStatic to be a static getter"); - - if (@TypeOf(SHA512.hash) != StaticCallbackType) - @compileLog("Expected SHA512.hash to be a static callback"); - if (!JSC.is_bindgen) { - @export(SHA512.constructor, .{ .name = "SHA512Class__construct" }); - @export(SHA512.digest, .{ .name = "SHA512Prototype__digest" }); - @export(SHA512.finalize, .{ .name = "SHA512Class__finalize" }); - @export(SHA512.getByteLength, .{ .name = "SHA512Prototype__getByteLength" }); - @export(SHA512.getByteLengthStatic, .{ .name = "SHA512Class__getByteLengthStatic" }); - @export(SHA512.hash, .{ .name = "SHA512Class__hash" }); - @export(SHA512.update, .{ .name = "SHA512Prototype__update" }); - } - } -}; -pub const JSSHA512_256 = struct { - const SHA512_256 = Classes.SHA512_256; - const GetterType = fn (*SHA512_256, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*SHA512_256, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*SHA512_256, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*SHA512_256, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*SHA512_256, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*SHA512_256 { - JSC.markBinding(@src()); - return SHA512_256__fromJS(value); - } - - /// Get the SHA512_256 constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return SHA512_256__getConstructor(globalObject); - } - - /// Create a new instance of SHA512_256 - pub fn toJS(this: *SHA512_256, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = SHA512_256__create(globalObject, this); - std.debug.assert(value__.as(SHA512_256).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return SHA512_256__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of SHA512_256. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*SHA512_256) bool { - JSC.markBinding(@src()); - return SHA512_256__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *SHA512_256, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(SHA512_256__dangerouslySetPtr(value, null)); - } - - extern fn SHA512_256__fromJS(JSC.JSValue) ?*SHA512_256; - extern fn SHA512_256__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn SHA512_256__create(globalObject: *JSC.JSGlobalObject, ptr: ?*SHA512_256) JSC.JSValue; - - extern fn SHA512_256__dangerouslySetPtr(JSC.JSValue, ?*SHA512_256) bool; - - comptime { - if (@TypeOf(SHA512_256.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*SHA512_256)) { - @compileLog("SHA512_256.constructor is not a constructor"); - } - - if (@TypeOf(SHA512_256.finalize) != (fn (*SHA512_256) callconv(.C) void)) { - @compileLog("SHA512_256.finalize is not a finalizer"); - } - - if (@TypeOf(SHA512_256.getByteLength) != GetterType) - @compileLog("Expected SHA512_256.getByteLength to be a getter"); - - if (@TypeOf(SHA512_256.digest) != CallbackType) - @compileLog("Expected SHA512_256.digest to be a callback but received " ++ @typeName(@TypeOf(SHA512_256.digest))); - if (@TypeOf(SHA512_256.update) != CallbackType) - @compileLog("Expected SHA512_256.update to be a callback but received " ++ @typeName(@TypeOf(SHA512_256.update))); - if (@TypeOf(SHA512_256.getByteLengthStatic) != StaticGetterType) - @compileLog("Expected SHA512_256.getByteLengthStatic to be a static getter"); - - if (@TypeOf(SHA512_256.hash) != StaticCallbackType) - @compileLog("Expected SHA512_256.hash to be a static callback"); - if (!JSC.is_bindgen) { - @export(SHA512_256.constructor, .{ .name = "SHA512_256Class__construct" }); - @export(SHA512_256.digest, .{ .name = "SHA512_256Prototype__digest" }); - @export(SHA512_256.finalize, .{ .name = "SHA512_256Class__finalize" }); - @export(SHA512_256.getByteLength, .{ .name = "SHA512_256Prototype__getByteLength" }); - @export(SHA512_256.getByteLengthStatic, .{ .name = "SHA512_256Class__getByteLengthStatic" }); - @export(SHA512_256.hash, .{ .name = "SHA512_256Class__hash" }); - @export(SHA512_256.update, .{ .name = "SHA512_256Prototype__update" }); - } - } -}; -pub const JSServerWebSocket = struct { - const ServerWebSocket = Classes.ServerWebSocket; - const GetterType = fn (*ServerWebSocket, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*ServerWebSocket, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*ServerWebSocket, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*ServerWebSocket, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*ServerWebSocket, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*ServerWebSocket { - JSC.markBinding(@src()); - return ServerWebSocket__fromJS(value); - } - - extern fn ServerWebSocketPrototype__dataSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ServerWebSocketPrototype__dataGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ServerWebSocket.data` setter - /// This value will be visited by the garbage collector. - pub fn dataSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ServerWebSocketPrototype__dataSetCachedValue(thisValue, globalObject, value); - } - - /// `ServerWebSocket.data` getter - /// This value will be visited by the garbage collector. - pub fn dataGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ServerWebSocketPrototype__dataGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn ServerWebSocketPrototype__remoteAddressSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn ServerWebSocketPrototype__remoteAddressGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `ServerWebSocket.remoteAddress` setter - /// This value will be visited by the garbage collector. - pub fn remoteAddressSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - ServerWebSocketPrototype__remoteAddressSetCachedValue(thisValue, globalObject, value); - } - - /// `ServerWebSocket.remoteAddress` getter - /// This value will be visited by the garbage collector. - pub fn remoteAddressGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = ServerWebSocketPrototype__remoteAddressGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the ServerWebSocket constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return ServerWebSocket__getConstructor(globalObject); - } - - /// Create a new instance of ServerWebSocket - pub fn toJS(this: *ServerWebSocket, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = ServerWebSocket__create(globalObject, this); - std.debug.assert(value__.as(ServerWebSocket).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return ServerWebSocket__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of ServerWebSocket. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*ServerWebSocket) bool { - JSC.markBinding(@src()); - return ServerWebSocket__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *ServerWebSocket, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(ServerWebSocket__dangerouslySetPtr(value, null)); - } - - extern fn ServerWebSocket__fromJS(JSC.JSValue) ?*ServerWebSocket; - extern fn ServerWebSocket__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn ServerWebSocket__create(globalObject: *JSC.JSGlobalObject, ptr: ?*ServerWebSocket) JSC.JSValue; - - extern fn ServerWebSocket__dangerouslySetPtr(JSC.JSValue, ?*ServerWebSocket) bool; - - comptime { - if (@TypeOf(ServerWebSocket.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*ServerWebSocket)) { - @compileLog("ServerWebSocket.constructor is not a constructor"); - } - - if (@TypeOf(ServerWebSocket.finalize) != (fn (*ServerWebSocket) callconv(.C) void)) { - @compileLog("ServerWebSocket.finalize is not a finalizer"); - } - - if (@TypeOf(ServerWebSocket.getBinaryType) != GetterType) - @compileLog("Expected ServerWebSocket.getBinaryType to be a getter"); - - if (@TypeOf(ServerWebSocket.setBinaryType) != SetterType) - @compileLog("Expected ServerWebSocket.setBinaryType to be a setter"); - if (@TypeOf(ServerWebSocket.close) != CallbackType) - @compileLog("Expected ServerWebSocket.close to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.close))); - if (@TypeOf(ServerWebSocket.cork) != CallbackType) - @compileLog("Expected ServerWebSocket.cork to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.cork))); - if (@TypeOf(ServerWebSocket.getData) != GetterType) - @compileLog("Expected ServerWebSocket.getData to be a getter"); - - if (@TypeOf(ServerWebSocket.setData) != SetterType) - @compileLog("Expected ServerWebSocket.setData to be a setter"); - if (@TypeOf(ServerWebSocket.getBufferedAmount) != CallbackType) - @compileLog("Expected ServerWebSocket.getBufferedAmount to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.getBufferedAmount))); - if (@TypeOf(ServerWebSocket.isSubscribed) != CallbackType) - @compileLog("Expected ServerWebSocket.isSubscribed to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.isSubscribed))); - if (@TypeOf(ServerWebSocket.ping) != CallbackType) - @compileLog("Expected ServerWebSocket.ping to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.ping))); - if (@TypeOf(ServerWebSocket.pong) != CallbackType) - @compileLog("Expected ServerWebSocket.pong to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.pong))); - if (@TypeOf(ServerWebSocket.publish) != CallbackType) - @compileLog("Expected ServerWebSocket.publish to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.publish))); - if (@TypeOf(ServerWebSocket.publishBinaryWithoutTypeChecks) != fn (*ServerWebSocket, *JSC.JSGlobalObject, *JSC.JSString, *JSC.JSUint8Array) callconv(.C) JSC.JSValue) - @compileLog("Expected ServerWebSocket.publishBinaryWithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(ServerWebSocket.publishBinary) != CallbackType) - @compileLog("Expected ServerWebSocket.publishBinary to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.publishBinary))); - if (@TypeOf(ServerWebSocket.publishTextWithoutTypeChecks) != fn (*ServerWebSocket, *JSC.JSGlobalObject, *JSC.JSString, *JSC.JSString) callconv(.C) JSC.JSValue) - @compileLog("Expected ServerWebSocket.publishTextWithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(ServerWebSocket.publishText) != CallbackType) - @compileLog("Expected ServerWebSocket.publishText to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.publishText))); - if (@TypeOf(ServerWebSocket.getReadyState) != GetterType) - @compileLog("Expected ServerWebSocket.getReadyState to be a getter"); - - if (@TypeOf(ServerWebSocket.getRemoteAddress) != GetterType) - @compileLog("Expected ServerWebSocket.getRemoteAddress to be a getter"); - - if (@TypeOf(ServerWebSocket.send) != CallbackType) - @compileLog("Expected ServerWebSocket.send to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.send))); - if (@TypeOf(ServerWebSocket.sendBinaryWithoutTypeChecks) != fn (*ServerWebSocket, *JSC.JSGlobalObject, *JSC.JSUint8Array, bool) callconv(.C) JSC.JSValue) - @compileLog("Expected ServerWebSocket.sendBinaryWithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(ServerWebSocket.sendBinary) != CallbackType) - @compileLog("Expected ServerWebSocket.sendBinary to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.sendBinary))); - if (@TypeOf(ServerWebSocket.sendTextWithoutTypeChecks) != fn (*ServerWebSocket, *JSC.JSGlobalObject, *JSC.JSString, bool) callconv(.C) JSC.JSValue) - @compileLog("Expected ServerWebSocket.sendTextWithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(ServerWebSocket.sendText) != CallbackType) - @compileLog("Expected ServerWebSocket.sendText to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.sendText))); - if (@TypeOf(ServerWebSocket.subscribe) != CallbackType) - @compileLog("Expected ServerWebSocket.subscribe to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.subscribe))); - if (@TypeOf(ServerWebSocket.terminate) != CallbackType) - @compileLog("Expected ServerWebSocket.terminate to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.terminate))); - if (@TypeOf(ServerWebSocket.unsubscribe) != CallbackType) - @compileLog("Expected ServerWebSocket.unsubscribe to be a callback but received " ++ @typeName(@TypeOf(ServerWebSocket.unsubscribe))); - if (!JSC.is_bindgen) { - @export(ServerWebSocket.close, .{ .name = "ServerWebSocketPrototype__close" }); - @export(ServerWebSocket.constructor, .{ .name = "ServerWebSocketClass__construct" }); - @export(ServerWebSocket.cork, .{ .name = "ServerWebSocketPrototype__cork" }); - @export(ServerWebSocket.finalize, .{ .name = "ServerWebSocketClass__finalize" }); - @export(ServerWebSocket.getBinaryType, .{ .name = "ServerWebSocketPrototype__getBinaryType" }); - @export(ServerWebSocket.getBufferedAmount, .{ .name = "ServerWebSocketPrototype__getBufferedAmount" }); - @export(ServerWebSocket.getData, .{ .name = "ServerWebSocketPrototype__getData" }); - @export(ServerWebSocket.getReadyState, .{ .name = "ServerWebSocketPrototype__getReadyState" }); - @export(ServerWebSocket.getRemoteAddress, .{ .name = "ServerWebSocketPrototype__getRemoteAddress" }); - @export(ServerWebSocket.isSubscribed, .{ .name = "ServerWebSocketPrototype__isSubscribed" }); - @export(ServerWebSocket.ping, .{ .name = "ServerWebSocketPrototype__ping" }); - @export(ServerWebSocket.pong, .{ .name = "ServerWebSocketPrototype__pong" }); - @export(ServerWebSocket.publish, .{ .name = "ServerWebSocketPrototype__publish" }); - @export(ServerWebSocket.publishBinary, .{ .name = "ServerWebSocketPrototype__publishBinary" }); - @export(ServerWebSocket.publishBinaryWithoutTypeChecks, .{ .name = "ServerWebSocketPrototype__publishBinaryWithoutTypeChecks" }); - @export(ServerWebSocket.publishText, .{ .name = "ServerWebSocketPrototype__publishText" }); - @export(ServerWebSocket.publishTextWithoutTypeChecks, .{ .name = "ServerWebSocketPrototype__publishTextWithoutTypeChecks" }); - @export(ServerWebSocket.send, .{ .name = "ServerWebSocketPrototype__send" }); - @export(ServerWebSocket.sendBinary, .{ .name = "ServerWebSocketPrototype__sendBinary" }); - @export(ServerWebSocket.sendBinaryWithoutTypeChecks, .{ .name = "ServerWebSocketPrototype__sendBinaryWithoutTypeChecks" }); - @export(ServerWebSocket.sendText, .{ .name = "ServerWebSocketPrototype__sendText" }); - @export(ServerWebSocket.sendTextWithoutTypeChecks, .{ .name = "ServerWebSocketPrototype__sendTextWithoutTypeChecks" }); - @export(ServerWebSocket.setBinaryType, .{ .name = "ServerWebSocketPrototype__setBinaryType" }); - @export(ServerWebSocket.setData, .{ .name = "ServerWebSocketPrototype__setData" }); - @export(ServerWebSocket.subscribe, .{ .name = "ServerWebSocketPrototype__subscribe" }); - @export(ServerWebSocket.terminate, .{ .name = "ServerWebSocketPrototype__terminate" }); - @export(ServerWebSocket.unsubscribe, .{ .name = "ServerWebSocketPrototype__unsubscribe" }); - } - } -}; -pub const JSStatWatcher = struct { - const StatWatcher = Classes.StatWatcher; - const GetterType = fn (*StatWatcher, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*StatWatcher, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*StatWatcher, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*StatWatcher, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*StatWatcher, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*StatWatcher { - JSC.markBinding(@src()); - return StatWatcher__fromJS(value); - } - - extern fn StatWatcherPrototype__listenerSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn StatWatcherPrototype__listenerGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `StatWatcher.listener` setter - /// This value will be visited by the garbage collector. - pub fn listenerSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - StatWatcherPrototype__listenerSetCachedValue(thisValue, globalObject, value); - } - - /// `StatWatcher.listener` getter - /// This value will be visited by the garbage collector. - pub fn listenerGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = StatWatcherPrototype__listenerGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of StatWatcher - pub fn toJS(this: *StatWatcher, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = StatWatcher__create(globalObject, this); - std.debug.assert(value__.as(StatWatcher).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return StatWatcher__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of StatWatcher. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*StatWatcher) bool { - JSC.markBinding(@src()); - return StatWatcher__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *StatWatcher, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(StatWatcher__dangerouslySetPtr(value, null)); - } - - extern fn StatWatcher__fromJS(JSC.JSValue) ?*StatWatcher; - extern fn StatWatcher__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn StatWatcher__create(globalObject: *JSC.JSGlobalObject, ptr: ?*StatWatcher) JSC.JSValue; - - extern fn StatWatcher__dangerouslySetPtr(JSC.JSValue, ?*StatWatcher) bool; - - comptime { - if (@TypeOf(StatWatcher.finalize) != (fn (*StatWatcher) callconv(.C) void)) { - @compileLog("StatWatcher.finalize is not a finalizer"); - } - - if (@TypeOf(StatWatcher.doClose) != CallbackType) - @compileLog("Expected StatWatcher.doClose to be a callback but received " ++ @typeName(@TypeOf(StatWatcher.doClose))); - if (@TypeOf(StatWatcher.doRef) != CallbackType) - @compileLog("Expected StatWatcher.doRef to be a callback but received " ++ @typeName(@TypeOf(StatWatcher.doRef))); - if (@TypeOf(StatWatcher.doUnref) != CallbackType) - @compileLog("Expected StatWatcher.doUnref to be a callback but received " ++ @typeName(@TypeOf(StatWatcher.doUnref))); - if (!JSC.is_bindgen) { - @export(StatWatcher.doClose, .{ .name = "StatWatcherPrototype__doClose" }); - @export(StatWatcher.doRef, .{ .name = "StatWatcherPrototype__doRef" }); - @export(StatWatcher.doUnref, .{ .name = "StatWatcherPrototype__doUnref" }); - @export(StatWatcher.finalize, .{ .name = "StatWatcherClass__finalize" }); - @export(StatWatcher.hasPendingActivity, .{ .name = "StatWatcher__hasPendingActivity" }); - } - } -}; -pub const JSStats = struct { - const Stats = Classes.Stats; - const GetterType = fn (*Stats, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Stats, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Stats, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Stats, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Stats, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Stats { - JSC.markBinding(@src()); - return Stats__fromJS(value); - } - - extern fn StatsPrototype__atimeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn StatsPrototype__atimeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Stats.atime` setter - /// This value will be visited by the garbage collector. - pub fn atimeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - StatsPrototype__atimeSetCachedValue(thisValue, globalObject, value); - } - - /// `Stats.atime` getter - /// This value will be visited by the garbage collector. - pub fn atimeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = StatsPrototype__atimeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn StatsPrototype__ctimeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn StatsPrototype__ctimeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Stats.ctime` setter - /// This value will be visited by the garbage collector. - pub fn ctimeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - StatsPrototype__ctimeSetCachedValue(thisValue, globalObject, value); - } - - /// `Stats.ctime` getter - /// This value will be visited by the garbage collector. - pub fn ctimeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = StatsPrototype__ctimeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn StatsPrototype__mtimeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn StatsPrototype__mtimeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Stats.mtime` setter - /// This value will be visited by the garbage collector. - pub fn mtimeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - StatsPrototype__mtimeSetCachedValue(thisValue, globalObject, value); - } - - /// `Stats.mtime` getter - /// This value will be visited by the garbage collector. - pub fn mtimeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = StatsPrototype__mtimeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the Stats constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return Stats__getConstructor(globalObject); - } - - /// Create a new instance of Stats - pub fn toJS(this: *Stats, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Stats__create(globalObject, this); - std.debug.assert(value__.as(Stats).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Stats__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Stats. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Stats) bool { - JSC.markBinding(@src()); - return Stats__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Stats, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Stats__dangerouslySetPtr(value, null)); - } - - extern fn Stats__fromJS(JSC.JSValue) ?*Stats; - extern fn Stats__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Stats__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Stats) JSC.JSValue; - - extern fn Stats__dangerouslySetPtr(JSC.JSValue, ?*Stats) bool; - - comptime { - if (@TypeOf(Stats.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Stats)) { - @compileLog("Stats.constructor is not a constructor"); - } - - if (@TypeOf(Stats.finalize) != (fn (*Stats) callconv(.C) void)) { - @compileLog("Stats.finalize is not a finalizer"); - } - - if (@TypeOf(Stats.atime) != GetterType) - @compileLog("Expected Stats.atime to be a getter"); - - if (@TypeOf(Stats.atimeMs) != GetterType) - @compileLog("Expected Stats.atimeMs to be a getter"); - - if (@TypeOf(Stats.birthtime) != GetterType) - @compileLog("Expected Stats.birthtime to be a getter"); - - if (@TypeOf(Stats.birthtimeMs) != GetterType) - @compileLog("Expected Stats.birthtimeMs to be a getter"); - - if (@TypeOf(Stats.blksize) != GetterType) - @compileLog("Expected Stats.blksize to be a getter"); - - if (@TypeOf(Stats.blocks) != GetterType) - @compileLog("Expected Stats.blocks to be a getter"); - - if (@TypeOf(Stats.ctime) != GetterType) - @compileLog("Expected Stats.ctime to be a getter"); - - if (@TypeOf(Stats.ctimeMs) != GetterType) - @compileLog("Expected Stats.ctimeMs to be a getter"); - - if (@TypeOf(Stats.dev) != GetterType) - @compileLog("Expected Stats.dev to be a getter"); - - if (@TypeOf(Stats.gid) != GetterType) - @compileLog("Expected Stats.gid to be a getter"); - - if (@TypeOf(Stats.ino) != GetterType) - @compileLog("Expected Stats.ino to be a getter"); - - if (@TypeOf(Stats.isBlockDevice_WithoutTypeChecks) != fn ( - *Stats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected Stats.isBlockDevice_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Stats.isBlockDevice_) != CallbackType) - @compileLog("Expected Stats.isBlockDevice_ to be a callback but received " ++ @typeName(@TypeOf(Stats.isBlockDevice_))); - if (@TypeOf(Stats.isCharacterDevice_WithoutTypeChecks) != fn ( - *Stats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected Stats.isCharacterDevice_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Stats.isCharacterDevice_) != CallbackType) - @compileLog("Expected Stats.isCharacterDevice_ to be a callback but received " ++ @typeName(@TypeOf(Stats.isCharacterDevice_))); - if (@TypeOf(Stats.isDirectory_WithoutTypeChecks) != fn ( - *Stats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected Stats.isDirectory_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Stats.isDirectory_) != CallbackType) - @compileLog("Expected Stats.isDirectory_ to be a callback but received " ++ @typeName(@TypeOf(Stats.isDirectory_))); - if (@TypeOf(Stats.isFIFO_WithoutTypeChecks) != fn ( - *Stats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected Stats.isFIFO_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Stats.isFIFO_) != CallbackType) - @compileLog("Expected Stats.isFIFO_ to be a callback but received " ++ @typeName(@TypeOf(Stats.isFIFO_))); - if (@TypeOf(Stats.isFile_WithoutTypeChecks) != fn ( - *Stats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected Stats.isFile_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Stats.isFile_) != CallbackType) - @compileLog("Expected Stats.isFile_ to be a callback but received " ++ @typeName(@TypeOf(Stats.isFile_))); - if (@TypeOf(Stats.isSocket_WithoutTypeChecks) != fn ( - *Stats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected Stats.isSocket_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Stats.isSocket_) != CallbackType) - @compileLog("Expected Stats.isSocket_ to be a callback but received " ++ @typeName(@TypeOf(Stats.isSocket_))); - if (@TypeOf(Stats.isSymbolicLink_WithoutTypeChecks) != fn ( - *Stats, - *JSC.JSGlobalObject, - ) callconv(.C) JSC.JSValue) - @compileLog("Expected Stats.isSymbolicLink_WithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(Stats.isSymbolicLink_) != CallbackType) - @compileLog("Expected Stats.isSymbolicLink_ to be a callback but received " ++ @typeName(@TypeOf(Stats.isSymbolicLink_))); - if (@TypeOf(Stats.mode) != GetterType) - @compileLog("Expected Stats.mode to be a getter"); - - if (@TypeOf(Stats.mtime) != GetterType) - @compileLog("Expected Stats.mtime to be a getter"); - - if (@TypeOf(Stats.mtimeMs) != GetterType) - @compileLog("Expected Stats.mtimeMs to be a getter"); - - if (@TypeOf(Stats.nlink) != GetterType) - @compileLog("Expected Stats.nlink to be a getter"); - - if (@TypeOf(Stats.rdev) != GetterType) - @compileLog("Expected Stats.rdev to be a getter"); - - if (@TypeOf(Stats.size) != GetterType) - @compileLog("Expected Stats.size to be a getter"); - - if (@TypeOf(Stats.uid) != GetterType) - @compileLog("Expected Stats.uid to be a getter"); - - if (!JSC.is_bindgen) { - @export(Stats.atime, .{ .name = "StatsPrototype__atime" }); - @export(Stats.atimeMs, .{ .name = "StatsPrototype__atimeMs" }); - @export(Stats.birthtime, .{ .name = "StatsPrototype__birthtime" }); - @export(Stats.birthtimeMs, .{ .name = "StatsPrototype__birthtimeMs" }); - @export(Stats.blksize, .{ .name = "StatsPrototype__blksize" }); - @export(Stats.blocks, .{ .name = "StatsPrototype__blocks" }); - @export(Stats.constructor, .{ .name = "StatsClass__construct" }); - @export(Stats.ctime, .{ .name = "StatsPrototype__ctime" }); - @export(Stats.ctimeMs, .{ .name = "StatsPrototype__ctimeMs" }); - @export(Stats.dev, .{ .name = "StatsPrototype__dev" }); - @export(Stats.finalize, .{ .name = "StatsClass__finalize" }); - @export(Stats.gid, .{ .name = "StatsPrototype__gid" }); - @export(Stats.ino, .{ .name = "StatsPrototype__ino" }); - @export(Stats.isBlockDevice_, .{ .name = "StatsPrototype__isBlockDevice_" }); - @export(Stats.isBlockDevice_WithoutTypeChecks, .{ .name = "StatsPrototype__isBlockDevice_WithoutTypeChecks" }); - @export(Stats.isCharacterDevice_, .{ .name = "StatsPrototype__isCharacterDevice_" }); - @export(Stats.isCharacterDevice_WithoutTypeChecks, .{ .name = "StatsPrototype__isCharacterDevice_WithoutTypeChecks" }); - @export(Stats.isDirectory_, .{ .name = "StatsPrototype__isDirectory_" }); - @export(Stats.isDirectory_WithoutTypeChecks, .{ .name = "StatsPrototype__isDirectory_WithoutTypeChecks" }); - @export(Stats.isFIFO_, .{ .name = "StatsPrototype__isFIFO_" }); - @export(Stats.isFIFO_WithoutTypeChecks, .{ .name = "StatsPrototype__isFIFO_WithoutTypeChecks" }); - @export(Stats.isFile_, .{ .name = "StatsPrototype__isFile_" }); - @export(Stats.isFile_WithoutTypeChecks, .{ .name = "StatsPrototype__isFile_WithoutTypeChecks" }); - @export(Stats.isSocket_, .{ .name = "StatsPrototype__isSocket_" }); - @export(Stats.isSocket_WithoutTypeChecks, .{ .name = "StatsPrototype__isSocket_WithoutTypeChecks" }); - @export(Stats.isSymbolicLink_, .{ .name = "StatsPrototype__isSymbolicLink_" }); - @export(Stats.isSymbolicLink_WithoutTypeChecks, .{ .name = "StatsPrototype__isSymbolicLink_WithoutTypeChecks" }); - @export(Stats.mode, .{ .name = "StatsPrototype__mode" }); - @export(Stats.mtime, .{ .name = "StatsPrototype__mtime" }); - @export(Stats.mtimeMs, .{ .name = "StatsPrototype__mtimeMs" }); - @export(Stats.nlink, .{ .name = "StatsPrototype__nlink" }); - @export(Stats.rdev, .{ .name = "StatsPrototype__rdev" }); - @export(Stats.size, .{ .name = "StatsPrototype__size" }); - @export(Stats.uid, .{ .name = "StatsPrototype__uid" }); - } - } -}; -pub const JSSubprocess = struct { - const Subprocess = Classes.Subprocess; - const GetterType = fn (*Subprocess, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Subprocess, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Subprocess, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Subprocess, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Subprocess, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Subprocess { - JSC.markBinding(@src()); - return Subprocess__fromJS(value); - } - - extern fn SubprocessPrototype__stderrSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn SubprocessPrototype__stderrGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Subprocess.stderr` setter - /// This value will be visited by the garbage collector. - pub fn stderrSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - SubprocessPrototype__stderrSetCachedValue(thisValue, globalObject, value); - } - - /// `Subprocess.stderr` getter - /// This value will be visited by the garbage collector. - pub fn stderrGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = SubprocessPrototype__stderrGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn SubprocessPrototype__stdinSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn SubprocessPrototype__stdinGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Subprocess.stdin` setter - /// This value will be visited by the garbage collector. - pub fn stdinSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - SubprocessPrototype__stdinSetCachedValue(thisValue, globalObject, value); - } - - /// `Subprocess.stdin` getter - /// This value will be visited by the garbage collector. - pub fn stdinGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = SubprocessPrototype__stdinGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn SubprocessPrototype__stdoutSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn SubprocessPrototype__stdoutGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Subprocess.stdout` setter - /// This value will be visited by the garbage collector. - pub fn stdoutSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - SubprocessPrototype__stdoutSetCachedValue(thisValue, globalObject, value); - } - - /// `Subprocess.stdout` getter - /// This value will be visited by the garbage collector. - pub fn stdoutGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = SubprocessPrototype__stdoutGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of Subprocess - pub fn toJS(this: *Subprocess, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Subprocess__create(globalObject, this); - std.debug.assert(value__.as(Subprocess).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Subprocess__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Subprocess. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Subprocess) bool { - JSC.markBinding(@src()); - return Subprocess__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Subprocess, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Subprocess__dangerouslySetPtr(value, null)); - } - - extern fn Subprocess__fromJS(JSC.JSValue) ?*Subprocess; - extern fn Subprocess__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Subprocess__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Subprocess) JSC.JSValue; - - extern fn Subprocess__dangerouslySetPtr(JSC.JSValue, ?*Subprocess) bool; - - comptime { - if (@TypeOf(Subprocess.finalize) != (fn (*Subprocess) callconv(.C) void)) { - @compileLog("Subprocess.finalize is not a finalizer"); - } - - if (@TypeOf(Subprocess.getExitCode) != GetterType) - @compileLog("Expected Subprocess.getExitCode to be a getter"); - - if (@TypeOf(Subprocess.getExited) != GetterType) - @compileLog("Expected Subprocess.getExited to be a getter"); - - if (@TypeOf(Subprocess.kill) != CallbackType) - @compileLog("Expected Subprocess.kill to be a callback but received " ++ @typeName(@TypeOf(Subprocess.kill))); - if (@TypeOf(Subprocess.getKilled) != GetterType) - @compileLog("Expected Subprocess.getKilled to be a getter"); - - if (@TypeOf(Subprocess.getPid) != GetterType) - @compileLog("Expected Subprocess.getPid to be a getter"); - - if (@TypeOf(Subprocess.getStdout) != GetterType) - @compileLog("Expected Subprocess.getStdout to be a getter"); - - if (@TypeOf(Subprocess.doRef) != CallbackType) - @compileLog("Expected Subprocess.doRef to be a callback but received " ++ @typeName(@TypeOf(Subprocess.doRef))); - if (@TypeOf(Subprocess.doSend) != CallbackType) - @compileLog("Expected Subprocess.doSend to be a callback but received " ++ @typeName(@TypeOf(Subprocess.doSend))); - if (@TypeOf(Subprocess.getSignalCode) != GetterType) - @compileLog("Expected Subprocess.getSignalCode to be a getter"); - - if (@TypeOf(Subprocess.getStderr) != GetterType) - @compileLog("Expected Subprocess.getStderr to be a getter"); - - if (@TypeOf(Subprocess.getStdin) != GetterType) - @compileLog("Expected Subprocess.getStdin to be a getter"); - - if (@TypeOf(Subprocess.getStdout) != GetterType) - @compileLog("Expected Subprocess.getStdout to be a getter"); - - if (@TypeOf(Subprocess.doUnref) != CallbackType) - @compileLog("Expected Subprocess.doUnref to be a callback but received " ++ @typeName(@TypeOf(Subprocess.doUnref))); - if (@TypeOf(Subprocess.getStdin) != GetterType) - @compileLog("Expected Subprocess.getStdin to be a getter"); - - if (!JSC.is_bindgen) { - @export(Subprocess.doRef, .{ .name = "SubprocessPrototype__doRef" }); - @export(Subprocess.doSend, .{ .name = "SubprocessPrototype__doSend" }); - @export(Subprocess.doUnref, .{ .name = "SubprocessPrototype__doUnref" }); - @export(Subprocess.finalize, .{ .name = "SubprocessClass__finalize" }); - @export(Subprocess.getExitCode, .{ .name = "SubprocessPrototype__getExitCode" }); - @export(Subprocess.getExited, .{ .name = "SubprocessPrototype__getExited" }); - @export(Subprocess.getKilled, .{ .name = "SubprocessPrototype__getKilled" }); - @export(Subprocess.getPid, .{ .name = "SubprocessPrototype__getPid" }); - @export(Subprocess.getSignalCode, .{ .name = "SubprocessPrototype__getSignalCode" }); - @export(Subprocess.getStderr, .{ .name = "SubprocessPrototype__getStderr" }); - @export(Subprocess.getStdin, .{ .name = "SubprocessPrototype__getStdin" }); - @export(Subprocess.getStdout, .{ .name = "SubprocessPrototype__getStdout" }); - @export(Subprocess.hasPendingActivity, .{ .name = "Subprocess__hasPendingActivity" }); - @export(Subprocess.kill, .{ .name = "SubprocessPrototype__kill" }); - } - } -}; -pub const JSTCPSocket = struct { - const TCPSocket = Classes.TCPSocket; - const GetterType = fn (*TCPSocket, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*TCPSocket, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*TCPSocket, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*TCPSocket, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*TCPSocket, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*TCPSocket { - JSC.markBinding(@src()); - return TCPSocket__fromJS(value); - } - - extern fn TCPSocketPrototype__dataSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn TCPSocketPrototype__dataGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `TCPSocket.data` setter - /// This value will be visited by the garbage collector. - pub fn dataSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - TCPSocketPrototype__dataSetCachedValue(thisValue, globalObject, value); - } - - /// `TCPSocket.data` getter - /// This value will be visited by the garbage collector. - pub fn dataGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = TCPSocketPrototype__dataGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn TCPSocketPrototype__remoteAddressSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn TCPSocketPrototype__remoteAddressGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `TCPSocket.remoteAddress` setter - /// This value will be visited by the garbage collector. - pub fn remoteAddressSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - TCPSocketPrototype__remoteAddressSetCachedValue(thisValue, globalObject, value); - } - - /// `TCPSocket.remoteAddress` getter - /// This value will be visited by the garbage collector. - pub fn remoteAddressGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = TCPSocketPrototype__remoteAddressGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of TCPSocket - pub fn toJS(this: *TCPSocket, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = TCPSocket__create(globalObject, this); - std.debug.assert(value__.as(TCPSocket).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return TCPSocket__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of TCPSocket. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*TCPSocket) bool { - JSC.markBinding(@src()); - return TCPSocket__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *TCPSocket, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(TCPSocket__dangerouslySetPtr(value, null)); - } - - extern fn TCPSocket__fromJS(JSC.JSValue) ?*TCPSocket; - extern fn TCPSocket__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn TCPSocket__create(globalObject: *JSC.JSGlobalObject, ptr: ?*TCPSocket) JSC.JSValue; - - extern fn TCPSocket__dangerouslySetPtr(JSC.JSValue, ?*TCPSocket) bool; - - comptime { - if (@TypeOf(TCPSocket.finalize) != (fn (*TCPSocket) callconv(.C) void)) { - @compileLog("TCPSocket.finalize is not a finalizer"); - } - - if (@TypeOf(TCPSocket.getALPNProtocol) != GetterType) - @compileLog("Expected TCPSocket.getALPNProtocol to be a getter"); - - if (@TypeOf(TCPSocket.getAuthorized) != GetterType) - @compileLog("Expected TCPSocket.getAuthorized to be a getter"); - - if (@TypeOf(TCPSocket.getData) != GetterType) - @compileLog("Expected TCPSocket.getData to be a getter"); - - if (@TypeOf(TCPSocket.setData) != SetterType) - @compileLog("Expected TCPSocket.setData to be a setter"); - if (@TypeOf(TCPSocket.end) != CallbackType) - @compileLog("Expected TCPSocket.end to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.end))); - if (@TypeOf(TCPSocket.exportKeyingMaterial) != CallbackType) - @compileLog("Expected TCPSocket.exportKeyingMaterial to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.exportKeyingMaterial))); - if (@TypeOf(TCPSocket.flush) != CallbackType) - @compileLog("Expected TCPSocket.flush to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.flush))); - if (@TypeOf(TCPSocket.getAuthorizationError) != CallbackType) - @compileLog("Expected TCPSocket.getAuthorizationError to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getAuthorizationError))); - if (@TypeOf(TCPSocket.getCertificate) != CallbackType) - @compileLog("Expected TCPSocket.getCertificate to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getCertificate))); - if (@TypeOf(TCPSocket.getCipher) != CallbackType) - @compileLog("Expected TCPSocket.getCipher to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getCipher))); - if (@TypeOf(TCPSocket.getEphemeralKeyInfo) != CallbackType) - @compileLog("Expected TCPSocket.getEphemeralKeyInfo to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getEphemeralKeyInfo))); - if (@TypeOf(TCPSocket.getPeerCertificate) != CallbackType) - @compileLog("Expected TCPSocket.getPeerCertificate to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getPeerCertificate))); - if (@TypeOf(TCPSocket.getSession) != CallbackType) - @compileLog("Expected TCPSocket.getSession to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getSession))); - if (@TypeOf(TCPSocket.getSharedSigalgs) != CallbackType) - @compileLog("Expected TCPSocket.getSharedSigalgs to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getSharedSigalgs))); - if (@TypeOf(TCPSocket.getTLSFinishedMessage) != CallbackType) - @compileLog("Expected TCPSocket.getTLSFinishedMessage to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getTLSFinishedMessage))); - if (@TypeOf(TCPSocket.getTLSPeerFinishedMessage) != CallbackType) - @compileLog("Expected TCPSocket.getTLSPeerFinishedMessage to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getTLSPeerFinishedMessage))); - if (@TypeOf(TCPSocket.getTLSTicket) != CallbackType) - @compileLog("Expected TCPSocket.getTLSTicket to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getTLSTicket))); - if (@TypeOf(TCPSocket.getTLSVersion) != CallbackType) - @compileLog("Expected TCPSocket.getTLSVersion to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.getTLSVersion))); - if (@TypeOf(TCPSocket.getListener) != GetterType) - @compileLog("Expected TCPSocket.getListener to be a getter"); - - if (@TypeOf(TCPSocket.getLocalPort) != GetterType) - @compileLog("Expected TCPSocket.getLocalPort to be a getter"); - - if (@TypeOf(TCPSocket.getReadyState) != GetterType) - @compileLog("Expected TCPSocket.getReadyState to be a getter"); - - if (@TypeOf(TCPSocket.ref) != CallbackType) - @compileLog("Expected TCPSocket.ref to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.ref))); - if (@TypeOf(TCPSocket.reload) != CallbackType) - @compileLog("Expected TCPSocket.reload to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.reload))); - if (@TypeOf(TCPSocket.getRemoteAddress) != GetterType) - @compileLog("Expected TCPSocket.getRemoteAddress to be a getter"); - - if (@TypeOf(TCPSocket.setMaxSendFragment) != CallbackType) - @compileLog("Expected TCPSocket.setMaxSendFragment to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.setMaxSendFragment))); - if (@TypeOf(TCPSocket.setServername) != CallbackType) - @compileLog("Expected TCPSocket.setServername to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.setServername))); - if (@TypeOf(TCPSocket.setSession) != CallbackType) - @compileLog("Expected TCPSocket.setSession to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.setSession))); - if (@TypeOf(TCPSocket.shutdown) != CallbackType) - @compileLog("Expected TCPSocket.shutdown to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.shutdown))); - if (@TypeOf(TCPSocket.timeout) != CallbackType) - @compileLog("Expected TCPSocket.timeout to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.timeout))); - if (@TypeOf(TCPSocket.unref) != CallbackType) - @compileLog("Expected TCPSocket.unref to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.unref))); - if (@TypeOf(TCPSocket.upgradeTLS) != CallbackType) - @compileLog("Expected TCPSocket.upgradeTLS to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.upgradeTLS))); - if (@TypeOf(TCPSocket.write) != CallbackType) - @compileLog("Expected TCPSocket.write to be a callback but received " ++ @typeName(@TypeOf(TCPSocket.write))); - if (!JSC.is_bindgen) { - @export(TCPSocket.end, .{ .name = "TCPSocketPrototype__end" }); - @export(TCPSocket.exportKeyingMaterial, .{ .name = "TCPSocketPrototype__exportKeyingMaterial" }); - @export(TCPSocket.finalize, .{ .name = "TCPSocketClass__finalize" }); - @export(TCPSocket.flush, .{ .name = "TCPSocketPrototype__flush" }); - @export(TCPSocket.getALPNProtocol, .{ .name = "TCPSocketPrototype__getALPNProtocol" }); - @export(TCPSocket.getAuthorizationError, .{ .name = "TCPSocketPrototype__getAuthorizationError" }); - @export(TCPSocket.getAuthorized, .{ .name = "TCPSocketPrototype__getAuthorized" }); - @export(TCPSocket.getCertificate, .{ .name = "TCPSocketPrototype__getCertificate" }); - @export(TCPSocket.getCipher, .{ .name = "TCPSocketPrototype__getCipher" }); - @export(TCPSocket.getData, .{ .name = "TCPSocketPrototype__getData" }); - @export(TCPSocket.getEphemeralKeyInfo, .{ .name = "TCPSocketPrototype__getEphemeralKeyInfo" }); - @export(TCPSocket.getListener, .{ .name = "TCPSocketPrototype__getListener" }); - @export(TCPSocket.getLocalPort, .{ .name = "TCPSocketPrototype__getLocalPort" }); - @export(TCPSocket.getPeerCertificate, .{ .name = "TCPSocketPrototype__getPeerCertificate" }); - @export(TCPSocket.getReadyState, .{ .name = "TCPSocketPrototype__getReadyState" }); - @export(TCPSocket.getRemoteAddress, .{ .name = "TCPSocketPrototype__getRemoteAddress" }); - @export(TCPSocket.getSession, .{ .name = "TCPSocketPrototype__getSession" }); - @export(TCPSocket.getSharedSigalgs, .{ .name = "TCPSocketPrototype__getSharedSigalgs" }); - @export(TCPSocket.getTLSFinishedMessage, .{ .name = "TCPSocketPrototype__getTLSFinishedMessage" }); - @export(TCPSocket.getTLSPeerFinishedMessage, .{ .name = "TCPSocketPrototype__getTLSPeerFinishedMessage" }); - @export(TCPSocket.getTLSTicket, .{ .name = "TCPSocketPrototype__getTLSTicket" }); - @export(TCPSocket.getTLSVersion, .{ .name = "TCPSocketPrototype__getTLSVersion" }); - @export(TCPSocket.hasPendingActivity, .{ .name = "TCPSocket__hasPendingActivity" }); - @export(TCPSocket.ref, .{ .name = "TCPSocketPrototype__ref" }); - @export(TCPSocket.reload, .{ .name = "TCPSocketPrototype__reload" }); - @export(TCPSocket.setData, .{ .name = "TCPSocketPrototype__setData" }); - @export(TCPSocket.setMaxSendFragment, .{ .name = "TCPSocketPrototype__setMaxSendFragment" }); - @export(TCPSocket.setServername, .{ .name = "TCPSocketPrototype__setServername" }); - @export(TCPSocket.setSession, .{ .name = "TCPSocketPrototype__setSession" }); - @export(TCPSocket.shutdown, .{ .name = "TCPSocketPrototype__shutdown" }); - @export(TCPSocket.timeout, .{ .name = "TCPSocketPrototype__timeout" }); - @export(TCPSocket.unref, .{ .name = "TCPSocketPrototype__unref" }); - @export(TCPSocket.upgradeTLS, .{ .name = "TCPSocketPrototype__upgradeTLS" }); - @export(TCPSocket.write, .{ .name = "TCPSocketPrototype__write" }); - } - } -}; -pub const JSTLSSocket = struct { - const TLSSocket = Classes.TLSSocket; - const GetterType = fn (*TLSSocket, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*TLSSocket, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*TLSSocket, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*TLSSocket, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*TLSSocket, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*TLSSocket { - JSC.markBinding(@src()); - return TLSSocket__fromJS(value); - } - - extern fn TLSSocketPrototype__dataSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn TLSSocketPrototype__dataGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `TLSSocket.data` setter - /// This value will be visited by the garbage collector. - pub fn dataSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - TLSSocketPrototype__dataSetCachedValue(thisValue, globalObject, value); - } - - /// `TLSSocket.data` getter - /// This value will be visited by the garbage collector. - pub fn dataGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = TLSSocketPrototype__dataGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn TLSSocketPrototype__remoteAddressSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn TLSSocketPrototype__remoteAddressGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `TLSSocket.remoteAddress` setter - /// This value will be visited by the garbage collector. - pub fn remoteAddressSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - TLSSocketPrototype__remoteAddressSetCachedValue(thisValue, globalObject, value); - } - - /// `TLSSocket.remoteAddress` getter - /// This value will be visited by the garbage collector. - pub fn remoteAddressGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = TLSSocketPrototype__remoteAddressGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of TLSSocket - pub fn toJS(this: *TLSSocket, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = TLSSocket__create(globalObject, this); - std.debug.assert(value__.as(TLSSocket).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return TLSSocket__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of TLSSocket. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*TLSSocket) bool { - JSC.markBinding(@src()); - return TLSSocket__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *TLSSocket, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(TLSSocket__dangerouslySetPtr(value, null)); - } - - extern fn TLSSocket__fromJS(JSC.JSValue) ?*TLSSocket; - extern fn TLSSocket__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn TLSSocket__create(globalObject: *JSC.JSGlobalObject, ptr: ?*TLSSocket) JSC.JSValue; - - extern fn TLSSocket__dangerouslySetPtr(JSC.JSValue, ?*TLSSocket) bool; - - comptime { - if (@TypeOf(TLSSocket.finalize) != (fn (*TLSSocket) callconv(.C) void)) { - @compileLog("TLSSocket.finalize is not a finalizer"); - } - - if (@TypeOf(TLSSocket.getALPNProtocol) != GetterType) - @compileLog("Expected TLSSocket.getALPNProtocol to be a getter"); - - if (@TypeOf(TLSSocket.getAuthorized) != GetterType) - @compileLog("Expected TLSSocket.getAuthorized to be a getter"); - - if (@TypeOf(TLSSocket.getData) != GetterType) - @compileLog("Expected TLSSocket.getData to be a getter"); - - if (@TypeOf(TLSSocket.setData) != SetterType) - @compileLog("Expected TLSSocket.setData to be a setter"); - if (@TypeOf(TLSSocket.end) != CallbackType) - @compileLog("Expected TLSSocket.end to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.end))); - if (@TypeOf(TLSSocket.exportKeyingMaterial) != CallbackType) - @compileLog("Expected TLSSocket.exportKeyingMaterial to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.exportKeyingMaterial))); - if (@TypeOf(TLSSocket.flush) != CallbackType) - @compileLog("Expected TLSSocket.flush to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.flush))); - if (@TypeOf(TLSSocket.getAuthorizationError) != CallbackType) - @compileLog("Expected TLSSocket.getAuthorizationError to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getAuthorizationError))); - if (@TypeOf(TLSSocket.getCertificate) != CallbackType) - @compileLog("Expected TLSSocket.getCertificate to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getCertificate))); - if (@TypeOf(TLSSocket.getCipher) != CallbackType) - @compileLog("Expected TLSSocket.getCipher to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getCipher))); - if (@TypeOf(TLSSocket.getEphemeralKeyInfo) != CallbackType) - @compileLog("Expected TLSSocket.getEphemeralKeyInfo to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getEphemeralKeyInfo))); - if (@TypeOf(TLSSocket.getPeerCertificate) != CallbackType) - @compileLog("Expected TLSSocket.getPeerCertificate to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getPeerCertificate))); - if (@TypeOf(TLSSocket.getSession) != CallbackType) - @compileLog("Expected TLSSocket.getSession to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getSession))); - if (@TypeOf(TLSSocket.getSharedSigalgs) != CallbackType) - @compileLog("Expected TLSSocket.getSharedSigalgs to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getSharedSigalgs))); - if (@TypeOf(TLSSocket.getTLSFinishedMessage) != CallbackType) - @compileLog("Expected TLSSocket.getTLSFinishedMessage to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getTLSFinishedMessage))); - if (@TypeOf(TLSSocket.getTLSPeerFinishedMessage) != CallbackType) - @compileLog("Expected TLSSocket.getTLSPeerFinishedMessage to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getTLSPeerFinishedMessage))); - if (@TypeOf(TLSSocket.getTLSTicket) != CallbackType) - @compileLog("Expected TLSSocket.getTLSTicket to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getTLSTicket))); - if (@TypeOf(TLSSocket.getTLSVersion) != CallbackType) - @compileLog("Expected TLSSocket.getTLSVersion to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.getTLSVersion))); - if (@TypeOf(TLSSocket.getListener) != GetterType) - @compileLog("Expected TLSSocket.getListener to be a getter"); - - if (@TypeOf(TLSSocket.getLocalPort) != GetterType) - @compileLog("Expected TLSSocket.getLocalPort to be a getter"); - - if (@TypeOf(TLSSocket.getReadyState) != GetterType) - @compileLog("Expected TLSSocket.getReadyState to be a getter"); - - if (@TypeOf(TLSSocket.ref) != CallbackType) - @compileLog("Expected TLSSocket.ref to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.ref))); - if (@TypeOf(TLSSocket.reload) != CallbackType) - @compileLog("Expected TLSSocket.reload to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.reload))); - if (@TypeOf(TLSSocket.getRemoteAddress) != GetterType) - @compileLog("Expected TLSSocket.getRemoteAddress to be a getter"); - - if (@TypeOf(TLSSocket.setMaxSendFragment) != CallbackType) - @compileLog("Expected TLSSocket.setMaxSendFragment to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.setMaxSendFragment))); - if (@TypeOf(TLSSocket.setServername) != CallbackType) - @compileLog("Expected TLSSocket.setServername to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.setServername))); - if (@TypeOf(TLSSocket.setSession) != CallbackType) - @compileLog("Expected TLSSocket.setSession to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.setSession))); - if (@TypeOf(TLSSocket.shutdown) != CallbackType) - @compileLog("Expected TLSSocket.shutdown to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.shutdown))); - if (@TypeOf(TLSSocket.timeout) != CallbackType) - @compileLog("Expected TLSSocket.timeout to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.timeout))); - if (@TypeOf(TLSSocket.unref) != CallbackType) - @compileLog("Expected TLSSocket.unref to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.unref))); - if (@TypeOf(TLSSocket.upgradeTLS) != CallbackType) - @compileLog("Expected TLSSocket.upgradeTLS to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.upgradeTLS))); - if (@TypeOf(TLSSocket.write) != CallbackType) - @compileLog("Expected TLSSocket.write to be a callback but received " ++ @typeName(@TypeOf(TLSSocket.write))); - if (!JSC.is_bindgen) { - @export(TLSSocket.end, .{ .name = "TLSSocketPrototype__end" }); - @export(TLSSocket.exportKeyingMaterial, .{ .name = "TLSSocketPrototype__exportKeyingMaterial" }); - @export(TLSSocket.finalize, .{ .name = "TLSSocketClass__finalize" }); - @export(TLSSocket.flush, .{ .name = "TLSSocketPrototype__flush" }); - @export(TLSSocket.getALPNProtocol, .{ .name = "TLSSocketPrototype__getALPNProtocol" }); - @export(TLSSocket.getAuthorizationError, .{ .name = "TLSSocketPrototype__getAuthorizationError" }); - @export(TLSSocket.getAuthorized, .{ .name = "TLSSocketPrototype__getAuthorized" }); - @export(TLSSocket.getCertificate, .{ .name = "TLSSocketPrototype__getCertificate" }); - @export(TLSSocket.getCipher, .{ .name = "TLSSocketPrototype__getCipher" }); - @export(TLSSocket.getData, .{ .name = "TLSSocketPrototype__getData" }); - @export(TLSSocket.getEphemeralKeyInfo, .{ .name = "TLSSocketPrototype__getEphemeralKeyInfo" }); - @export(TLSSocket.getListener, .{ .name = "TLSSocketPrototype__getListener" }); - @export(TLSSocket.getLocalPort, .{ .name = "TLSSocketPrototype__getLocalPort" }); - @export(TLSSocket.getPeerCertificate, .{ .name = "TLSSocketPrototype__getPeerCertificate" }); - @export(TLSSocket.getReadyState, .{ .name = "TLSSocketPrototype__getReadyState" }); - @export(TLSSocket.getRemoteAddress, .{ .name = "TLSSocketPrototype__getRemoteAddress" }); - @export(TLSSocket.getSession, .{ .name = "TLSSocketPrototype__getSession" }); - @export(TLSSocket.getSharedSigalgs, .{ .name = "TLSSocketPrototype__getSharedSigalgs" }); - @export(TLSSocket.getTLSFinishedMessage, .{ .name = "TLSSocketPrototype__getTLSFinishedMessage" }); - @export(TLSSocket.getTLSPeerFinishedMessage, .{ .name = "TLSSocketPrototype__getTLSPeerFinishedMessage" }); - @export(TLSSocket.getTLSTicket, .{ .name = "TLSSocketPrototype__getTLSTicket" }); - @export(TLSSocket.getTLSVersion, .{ .name = "TLSSocketPrototype__getTLSVersion" }); - @export(TLSSocket.hasPendingActivity, .{ .name = "TLSSocket__hasPendingActivity" }); - @export(TLSSocket.ref, .{ .name = "TLSSocketPrototype__ref" }); - @export(TLSSocket.reload, .{ .name = "TLSSocketPrototype__reload" }); - @export(TLSSocket.setData, .{ .name = "TLSSocketPrototype__setData" }); - @export(TLSSocket.setMaxSendFragment, .{ .name = "TLSSocketPrototype__setMaxSendFragment" }); - @export(TLSSocket.setServername, .{ .name = "TLSSocketPrototype__setServername" }); - @export(TLSSocket.setSession, .{ .name = "TLSSocketPrototype__setSession" }); - @export(TLSSocket.shutdown, .{ .name = "TLSSocketPrototype__shutdown" }); - @export(TLSSocket.timeout, .{ .name = "TLSSocketPrototype__timeout" }); - @export(TLSSocket.unref, .{ .name = "TLSSocketPrototype__unref" }); - @export(TLSSocket.upgradeTLS, .{ .name = "TLSSocketPrototype__upgradeTLS" }); - @export(TLSSocket.write, .{ .name = "TLSSocketPrototype__write" }); - } - } -}; -pub const JSTextChunk = struct { - const TextChunk = Classes.TextChunk; - const GetterType = fn (*TextChunk, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*TextChunk, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*TextChunk, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*TextChunk, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*TextChunk, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*TextChunk { - JSC.markBinding(@src()); - return TextChunk__fromJS(value); - } - - extern fn TextChunkPrototype__lastInTextNodeSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn TextChunkPrototype__lastInTextNodeGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `TextChunk.lastInTextNode` setter - /// This value will be visited by the garbage collector. - pub fn lastInTextNodeSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - TextChunkPrototype__lastInTextNodeSetCachedValue(thisValue, globalObject, value); - } - - /// `TextChunk.lastInTextNode` getter - /// This value will be visited by the garbage collector. - pub fn lastInTextNodeGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = TextChunkPrototype__lastInTextNodeGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of TextChunk - pub fn toJS(this: *TextChunk, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = TextChunk__create(globalObject, this); - std.debug.assert(value__.as(TextChunk).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return TextChunk__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of TextChunk. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*TextChunk) bool { - JSC.markBinding(@src()); - return TextChunk__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *TextChunk, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(TextChunk__dangerouslySetPtr(value, null)); - } - - extern fn TextChunk__fromJS(JSC.JSValue) ?*TextChunk; - extern fn TextChunk__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn TextChunk__create(globalObject: *JSC.JSGlobalObject, ptr: ?*TextChunk) JSC.JSValue; - - extern fn TextChunk__dangerouslySetPtr(JSC.JSValue, ?*TextChunk) bool; - - comptime { - if (@TypeOf(TextChunk.finalize) != (fn (*TextChunk) callconv(.C) void)) { - @compileLog("TextChunk.finalize is not a finalizer"); - } - - if (@TypeOf(TextChunk.after) != CallbackType) - @compileLog("Expected TextChunk.after to be a callback but received " ++ @typeName(@TypeOf(TextChunk.after))); - if (@TypeOf(TextChunk.before) != CallbackType) - @compileLog("Expected TextChunk.before to be a callback but received " ++ @typeName(@TypeOf(TextChunk.before))); - if (@TypeOf(TextChunk.lastInTextNode) != GetterType) - @compileLog("Expected TextChunk.lastInTextNode to be a getter"); - - if (@TypeOf(TextChunk.remove) != CallbackType) - @compileLog("Expected TextChunk.remove to be a callback but received " ++ @typeName(@TypeOf(TextChunk.remove))); - if (@TypeOf(TextChunk.removed) != GetterType) - @compileLog("Expected TextChunk.removed to be a getter"); - - if (@TypeOf(TextChunk.replace) != CallbackType) - @compileLog("Expected TextChunk.replace to be a callback but received " ++ @typeName(@TypeOf(TextChunk.replace))); - if (@TypeOf(TextChunk.getText) != GetterType) - @compileLog("Expected TextChunk.getText to be a getter"); - - if (!JSC.is_bindgen) { - @export(TextChunk.after, .{ .name = "TextChunkPrototype__after" }); - @export(TextChunk.before, .{ .name = "TextChunkPrototype__before" }); - @export(TextChunk.finalize, .{ .name = "TextChunkClass__finalize" }); - @export(TextChunk.getText, .{ .name = "TextChunkPrototype__getText" }); - @export(TextChunk.lastInTextNode, .{ .name = "TextChunkPrototype__lastInTextNode" }); - @export(TextChunk.remove, .{ .name = "TextChunkPrototype__remove" }); - @export(TextChunk.removed, .{ .name = "TextChunkPrototype__removed" }); - @export(TextChunk.replace, .{ .name = "TextChunkPrototype__replace" }); - } - } -}; -pub const JSTextDecoder = struct { - const TextDecoder = Classes.TextDecoder; - const GetterType = fn (*TextDecoder, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*TextDecoder, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*TextDecoder, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*TextDecoder, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*TextDecoder, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*TextDecoder { - JSC.markBinding(@src()); - return TextDecoder__fromJS(value); - } - - extern fn TextDecoderPrototype__encodingSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn TextDecoderPrototype__encodingGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `TextDecoder.encoding` setter - /// This value will be visited by the garbage collector. - pub fn encodingSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - TextDecoderPrototype__encodingSetCachedValue(thisValue, globalObject, value); - } - - /// `TextDecoder.encoding` getter - /// This value will be visited by the garbage collector. - pub fn encodingGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = TextDecoderPrototype__encodingGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Get the TextDecoder constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return TextDecoder__getConstructor(globalObject); - } - - /// Create a new instance of TextDecoder - pub fn toJS(this: *TextDecoder, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = TextDecoder__create(globalObject, this); - std.debug.assert(value__.as(TextDecoder).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return TextDecoder__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of TextDecoder. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*TextDecoder) bool { - JSC.markBinding(@src()); - return TextDecoder__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *TextDecoder, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(TextDecoder__dangerouslySetPtr(value, null)); - } - - extern fn TextDecoder__fromJS(JSC.JSValue) ?*TextDecoder; - extern fn TextDecoder__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn TextDecoder__create(globalObject: *JSC.JSGlobalObject, ptr: ?*TextDecoder) JSC.JSValue; - - extern fn TextDecoder__dangerouslySetPtr(JSC.JSValue, ?*TextDecoder) bool; - - comptime { - if (@TypeOf(TextDecoder.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*TextDecoder)) { - @compileLog("TextDecoder.constructor is not a constructor"); - } - - if (@TypeOf(TextDecoder.finalize) != (fn (*TextDecoder) callconv(.C) void)) { - @compileLog("TextDecoder.finalize is not a finalizer"); - } - - if (@TypeOf(TextDecoder.decodeWithoutTypeChecks) != fn (*TextDecoder, *JSC.JSGlobalObject, *JSC.JSUint8Array) callconv(.C) JSC.JSValue) - @compileLog("Expected TextDecoder.decodeWithoutTypeChecks to be a DOMJIT function"); - if (@TypeOf(TextDecoder.decode) != CallbackType) - @compileLog("Expected TextDecoder.decode to be a callback but received " ++ @typeName(@TypeOf(TextDecoder.decode))); - if (@TypeOf(TextDecoder.getEncoding) != GetterType) - @compileLog("Expected TextDecoder.getEncoding to be a getter"); - - if (@TypeOf(TextDecoder.getFatal) != GetterType) - @compileLog("Expected TextDecoder.getFatal to be a getter"); - - if (@TypeOf(TextDecoder.getIgnoreBOM) != GetterType) - @compileLog("Expected TextDecoder.getIgnoreBOM to be a getter"); - - if (!JSC.is_bindgen) { - @export(TextDecoder.constructor, .{ .name = "TextDecoderClass__construct" }); - @export(TextDecoder.decode, .{ .name = "TextDecoderPrototype__decode" }); - @export(TextDecoder.decodeWithoutTypeChecks, .{ .name = "TextDecoderPrototype__decodeWithoutTypeChecks" }); - @export(TextDecoder.finalize, .{ .name = "TextDecoderClass__finalize" }); - @export(TextDecoder.getEncoding, .{ .name = "TextDecoderPrototype__getEncoding" }); - @export(TextDecoder.getFatal, .{ .name = "TextDecoderPrototype__getFatal" }); - @export(TextDecoder.getIgnoreBOM, .{ .name = "TextDecoderPrototype__getIgnoreBOM" }); - } - } -}; -pub const JSTimeout = struct { - const Timeout = Classes.Timeout; - const GetterType = fn (*Timeout, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Timeout, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Timeout, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Timeout, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Timeout, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Timeout { - JSC.markBinding(@src()); - return Timeout__fromJS(value); - } - - extern fn TimeoutPrototype__argumentsSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn TimeoutPrototype__argumentsGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Timeout.arguments` setter - /// This value will be visited by the garbage collector. - pub fn argumentsSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - TimeoutPrototype__argumentsSetCachedValue(thisValue, globalObject, value); - } - - /// `Timeout.arguments` getter - /// This value will be visited by the garbage collector. - pub fn argumentsGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = TimeoutPrototype__argumentsGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - extern fn TimeoutPrototype__callbackSetCachedValue(JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) void; - - extern fn TimeoutPrototype__callbackGetCachedValue(JSC.JSValue) JSC.JSValue; - - /// `Timeout.callback` setter - /// This value will be visited by the garbage collector. - pub fn callbackSetCached(thisValue: JSC.JSValue, globalObject: *JSC.JSGlobalObject, value: JSC.JSValue) void { - JSC.markBinding(@src()); - TimeoutPrototype__callbackSetCachedValue(thisValue, globalObject, value); - } - - /// `Timeout.callback` getter - /// This value will be visited by the garbage collector. - pub fn callbackGetCached(thisValue: JSC.JSValue) ?JSC.JSValue { - JSC.markBinding(@src()); - const result = TimeoutPrototype__callbackGetCachedValue(thisValue); - if (result == .zero) - return null; - - return result; - } - - /// Create a new instance of Timeout - pub fn toJS(this: *Timeout, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Timeout__create(globalObject, this); - std.debug.assert(value__.as(Timeout).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Timeout__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Timeout. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Timeout) bool { - JSC.markBinding(@src()); - return Timeout__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Timeout, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Timeout__dangerouslySetPtr(value, null)); - } - - extern fn Timeout__fromJS(JSC.JSValue) ?*Timeout; - extern fn Timeout__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Timeout__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Timeout) JSC.JSValue; - - extern fn Timeout__dangerouslySetPtr(JSC.JSValue, ?*Timeout) bool; - - comptime { - if (@TypeOf(Timeout.finalize) != (fn (*Timeout) callconv(.C) void)) { - @compileLog("Timeout.finalize is not a finalizer"); - } - - if (@TypeOf(Timeout.toPrimitive) != CallbackType) - @compileLog("Expected Timeout.toPrimitive to be a callback but received " ++ @typeName(@TypeOf(Timeout.toPrimitive))); - if (@TypeOf(Timeout.hasRef) != CallbackType) - @compileLog("Expected Timeout.hasRef to be a callback but received " ++ @typeName(@TypeOf(Timeout.hasRef))); - if (@TypeOf(Timeout.doRef) != CallbackType) - @compileLog("Expected Timeout.doRef to be a callback but received " ++ @typeName(@TypeOf(Timeout.doRef))); - if (@TypeOf(Timeout.doRefresh) != CallbackType) - @compileLog("Expected Timeout.doRefresh to be a callback but received " ++ @typeName(@TypeOf(Timeout.doRefresh))); - if (@TypeOf(Timeout.doUnref) != CallbackType) - @compileLog("Expected Timeout.doUnref to be a callback but received " ++ @typeName(@TypeOf(Timeout.doUnref))); - if (!JSC.is_bindgen) { - @export(Timeout.doRef, .{ .name = "TimeoutPrototype__doRef" }); - @export(Timeout.doRefresh, .{ .name = "TimeoutPrototype__doRefresh" }); - @export(Timeout.doUnref, .{ .name = "TimeoutPrototype__doUnref" }); - @export(Timeout.finalize, .{ .name = "TimeoutClass__finalize" }); - @export(Timeout.hasRef, .{ .name = "TimeoutPrototype__hasRef" }); - @export(Timeout.toPrimitive, .{ .name = "TimeoutPrototype__toPrimitive" }); - } - } -}; -pub const JSTranspiler = struct { - const Transpiler = Classes.Transpiler; - const GetterType = fn (*Transpiler, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const GetterTypeWithThisValue = fn (*Transpiler, JSC.JSValue, *JSC.JSGlobalObject) callconv(.C) JSC.JSValue; - const SetterType = fn (*Transpiler, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const SetterTypeWithThisValue = fn (*Transpiler, JSC.JSValue, *JSC.JSGlobalObject, JSC.JSValue) callconv(.C) bool; - const CallbackType = fn (*Transpiler, *JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) JSC.JSValue; - - /// Return the pointer to the wrapped object. - /// If the object does not match the type, return null. - pub fn fromJS(value: JSC.JSValue) ?*Transpiler { - JSC.markBinding(@src()); - return Transpiler__fromJS(value); - } - - /// Get the Transpiler constructor value. - /// This loads lazily from the global object. - pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - return Transpiler__getConstructor(globalObject); - } - - /// Create a new instance of Transpiler - pub fn toJS(this: *Transpiler, globalObject: *JSC.JSGlobalObject) JSC.JSValue { - JSC.markBinding(@src()); - if (comptime Environment.allow_assert) { - const value__ = Transpiler__create(globalObject, this); - std.debug.assert(value__.as(Transpiler).? == this); // If this fails, likely a C ABI issue. - return value__; - } else { - return Transpiler__create(globalObject, this); - } - } - - /// Modify the internal ptr to point to a new instance of Transpiler. - pub fn dangerouslySetPtr(value: JSC.JSValue, ptr: ?*Transpiler) bool { - JSC.markBinding(@src()); - return Transpiler__dangerouslySetPtr(value, ptr); - } - - /// Detach the ptr from the thisValue - pub fn detachPtr(_: *Transpiler, value: JSC.JSValue) void { - JSC.markBinding(@src()); - std.debug.assert(Transpiler__dangerouslySetPtr(value, null)); - } - - extern fn Transpiler__fromJS(JSC.JSValue) ?*Transpiler; - extern fn Transpiler__getConstructor(*JSC.JSGlobalObject) JSC.JSValue; - - extern fn Transpiler__create(globalObject: *JSC.JSGlobalObject, ptr: ?*Transpiler) JSC.JSValue; - - extern fn Transpiler__dangerouslySetPtr(JSC.JSValue, ?*Transpiler) bool; - - comptime { - if (@TypeOf(Transpiler.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Transpiler)) { - @compileLog("Transpiler.constructor is not a constructor"); - } - - if (@TypeOf(Transpiler.finalize) != (fn (*Transpiler) callconv(.C) void)) { - @compileLog("Transpiler.finalize is not a finalizer"); - } - - if (@TypeOf(Transpiler.scan) != CallbackType) - @compileLog("Expected Transpiler.scan to be a callback but received " ++ @typeName(@TypeOf(Transpiler.scan))); - if (@TypeOf(Transpiler.scanImports) != CallbackType) - @compileLog("Expected Transpiler.scanImports to be a callback but received " ++ @typeName(@TypeOf(Transpiler.scanImports))); - if (@TypeOf(Transpiler.transform) != CallbackType) - @compileLog("Expected Transpiler.transform to be a callback but received " ++ @typeName(@TypeOf(Transpiler.transform))); - if (@TypeOf(Transpiler.transformSync) != CallbackType) - @compileLog("Expected Transpiler.transformSync to be a callback but received " ++ @typeName(@TypeOf(Transpiler.transformSync))); - if (!JSC.is_bindgen) { - @export(Transpiler.constructor, .{ .name = "TranspilerClass__construct" }); - @export(Transpiler.finalize, .{ .name = "TranspilerClass__finalize" }); - @export(Transpiler.scan, .{ .name = "TranspilerPrototype__scan" }); - @export(Transpiler.scanImports, .{ .name = "TranspilerPrototype__scanImports" }); - @export(Transpiler.transform, .{ .name = "TranspilerPrototype__transform" }); - @export(Transpiler.transformSync, .{ .name = "TranspilerPrototype__transformSync" }); - } - } -}; - -comptime { - _ = JSAttributeIterator; - _ = JSBigIntStats; - _ = JSBlob; - _ = JSBuildArtifact; - _ = JSBuildMessage; - _ = JSComment; - _ = JSCrypto; - _ = JSCryptoHasher; - _ = JSDebugHTTPSServer; - _ = JSDebugHTTPServer; - _ = JSDirent; - _ = JSDocEnd; - _ = JSDocType; - _ = JSElement; - _ = JSEndTag; - _ = JSExpect; - _ = JSExpectAny; - _ = JSExpectAnything; - _ = JSExpectArrayContaining; - _ = JSExpectStringContaining; - _ = JSExpectStringMatching; - _ = JSFFI; - _ = JSFSWatcher; - _ = JSFileSystemRouter; - _ = JSHTMLRewriter; - _ = JSHTTPSServer; - _ = JSHTTPServer; - _ = JSListener; - _ = JSMD4; - _ = JSMD5; - _ = JSMatchedRoute; - _ = JSNodeJSFS; - _ = JSRequest; - _ = JSResolveMessage; - _ = JSResponse; - _ = JSSHA1; - _ = JSSHA224; - _ = JSSHA256; - _ = JSSHA384; - _ = JSSHA512; - _ = JSSHA512_256; - _ = JSServerWebSocket; - _ = JSStatWatcher; - _ = JSStats; - _ = JSSubprocess; - _ = JSTCPSocket; - _ = JSTLSSocket; - _ = JSTextChunk; - _ = JSTextDecoder; - _ = JSTimeout; - _ = JSTranspiler; -} diff --git a/src/js/_codegen/builtin-parser.ts b/src/codegen/builtin-parser.ts index 4e35f13dd..4e35f13dd 100644 --- a/src/js/_codegen/builtin-parser.ts +++ b/src/codegen/builtin-parser.ts diff --git a/src/js/_codegen/build-functions.ts b/src/codegen/bundle-functions.ts index 275cd2e1a..ebdf0d748 100644 --- a/src/js/_codegen/build-functions.ts +++ b/src/codegen/bundle-functions.ts @@ -2,17 +2,29 @@ import { existsSync, mkdirSync, readdirSync, rmSync } from "fs"; import path from "path"; import { sliceSourceCode } from "./builtin-parser"; import { applyGlobalReplacements, define } from "./replacements"; -import { cap, fmtCPPString, low } from "./helpers"; +import { cap, fmtCPPString, low, writeIfNotChanged } from "./helpers"; +import { createInternalModuleRegistry } from "./internal-module-registry-scanner"; console.log("Bundling Bun builtin functions..."); -const MINIFY = process.argv.includes("--minify") || process.argv.includes("-m"); -const PARALLEL = process.argv.includes("--parallel") || process.argv.includes("-p"); -const KEEP_TMP = process.argv.includes("--keep-tmp") || process.argv.includes("-k") || true; +const PARALLEL = false; +const KEEP_TMP = true; -const SRC_DIR = path.join(import.meta.dir, "../builtins"); -const OUT_DIR = path.join(SRC_DIR, "../out"); -const TMP_DIR = path.join(SRC_DIR, "../out/tmp/builtins"); +const CMAKE_BUILD_ROOT = process.argv[2]; + +if (!CMAKE_BUILD_ROOT) { + console.error("Usage: bun bundle-functions.ts <CMAKE_WORK_DIR>"); + process.exit(1); +} + +const SRC_DIR = path.join(import.meta.dir, "../js/builtins"); +const OUT_DIR = path.join(CMAKE_BUILD_ROOT, "./js"); +const TMP_DIR = path.join(CMAKE_BUILD_ROOT, "./tmp"); + +const { + // + requireTransformer, +} = createInternalModuleRegistry(path.join(import.meta.dir, "../js")); if (existsSync(TMP_DIR)) rmSync(TMP_DIR, { recursive: true }); mkdirSync(TMP_DIR, { recursive: true }); @@ -122,7 +134,7 @@ async function processFileSplit(filename: string): Promise<{ functions: BundledB } const { result, rest } = sliceSourceCode(contents.slice(declaration[0].length - 1), true, x => - globalThis.requireTransformer(x, SRC_DIR + "/" + basename), + requireTransformer(x, SRC_DIR + "/" + basename), ); functions.push({ @@ -574,8 +586,8 @@ bundledHeader += ` } // namespace WebCore `; -await Bun.write(path.join(OUT_DIR, "WebCoreJSBuiltins.h"), bundledHeader); -await Bun.write(path.join(OUT_DIR, "WebCoreJSBuiltins.cpp"), bundledCPP); +writeIfNotChanged(path.join(OUT_DIR, "WebCoreJSBuiltins.h"), bundledHeader); +writeIfNotChanged(path.join(OUT_DIR, "WebCoreJSBuiltins.cpp"), bundledCPP); // Generate TS types let dts = `// Generated by \`bun src/js/builtins/codegen\` @@ -595,7 +607,7 @@ for (const { basename, functions, internal } of files) { } } -await Bun.write(path.join(OUT_DIR, "WebCoreJSBuiltins.d.ts"), dts); +writeIfNotChanged(path.join(OUT_DIR, "WebCoreJSBuiltins.d.ts"), dts); const totalJSSize = files.reduce( (acc, { functions }) => acc + functions.reduce((acc, fn) => acc + fn.source.length, 0), diff --git a/src/js/_codegen/build-modules.ts b/src/codegen/bundle-modules.ts index 3591d812e..00865b17b 100644 --- a/src/js/_codegen/build-modules.ts +++ b/src/codegen/bundle-modules.ts @@ -1,11 +1,24 @@ +// This script is run when you change anything in src/js/* import fs from "fs"; import path from "path"; import { sliceSourceCode } from "./builtin-parser"; -import { cap, checkAscii, fmtCPPString, readdirRecursive, resolveSyncOrNull } from "./helpers"; +import { cap, checkAscii, fmtCPPString, readdirRecursive, resolveSyncOrNull, writeIfNotChanged } from "./helpers"; import { createAssertClientJS, createLogClientJS } from "./client-js"; import { builtinModules } from "node:module"; import { BuildConfig } from "bun"; import { define } from "./replacements"; +import { createInternalModuleRegistry } from "./internal-module-registry-scanner"; + +const BASE = path.join(import.meta.dir, "../js"); +const CMAKE_BUILD_ROOT = process.argv[2]; + +if (!CMAKE_BUILD_ROOT) { + console.error("Usage: bun bundle-modules.ts <CMAKE_WORK_DIR>"); + process.exit(1); +} + +const TMP_DIR = path.join(CMAKE_BUILD_ROOT, "tmp"); +const OUT_DIR = path.join(CMAKE_BUILD_ROOT, "js"); const t = new Bun.Transpiler({ loader: "tsx" }); @@ -16,89 +29,14 @@ function mark(log: string) { start = now; } -const BASE = path.join(import.meta.dir, "../"); -const TMP = path.join(BASE, "out/tmp"); - -const moduleList = ["bun", "node", "thirdparty", "internal"] - .flatMap(dir => readdirRecursive(path.join(BASE, dir))) - .filter(file => file.endsWith(".js") || (file.endsWith(".ts") && !file.endsWith(".d.ts"))) - .map(file => file.slice(BASE.length)) - .sort(); - -const internalRegistry = new Map(); - -// Build Registry -for (let i = 0; i < moduleList.length; i++) { - const prefix = moduleList[i].startsWith("node/") - ? "node:" - : moduleList[i].startsWith("bun:") - ? "bun/" - : moduleList[i].startsWith("internal/") - ? "internal/" - : undefined; - if (prefix) { - const id = prefix + moduleList[i].slice(prefix.length).replaceAll(".", "/").slice(0, -3); - internalRegistry.set(id, i); - } -} - -// Native Module registry -const nativeModuleH = fs.readFileSync(path.join(BASE, "../bun.js/modules/_NativeModule.h"), "utf8"); -const nativeModuleDefine = nativeModuleH.match(/BUN_FOREACH_NATIVE_MODULE\(macro\)\s*\\\n((.*\\\n)*\n)/); -if (!nativeModuleDefine) { - throw new Error( - "Could not find BUN_FOREACH_NATIVE_MODULE in _NativeModule.h. Knowing native module IDs is a part of the codegen process.", - ); -} -let nextNativeModuleId = 0; -const nativeModuleIds: Record<string, number> = {}; -const nativeModuleEnums: Record<string, string> = {}; -const nativeModuleEnumToId: Record<string, number> = {}; -for (const [_, idString, enumValue] of nativeModuleDefine[0].matchAll(/macro\((.*?),(.*?)\)/g)) { - const processedIdString = JSON.parse(idString.trim().replace(/_s$/, "")); - const processedEnumValue = enumValue.trim(); - const processedNumericId = nextNativeModuleId++; - nativeModuleIds[processedIdString] = processedNumericId; - nativeModuleEnums[processedIdString] = processedEnumValue; - nativeModuleEnumToId[processedEnumValue] = processedNumericId; -} - -mark("Scan internal registry"); - -function codegenRequireId(id: string) { - return `(__intrinsic__getInternalField(__intrinsic__internalModuleRegistry, ${id}) || __intrinsic__createInternalModuleById(${id}))`; -} - -function codegenRequireNativeModule(id: string) { - return `(__intrinsic__requireNativeModule(${id.replace(/node:/, "")}))`; -} - -globalThis.requireTransformer = (specifier: string, from: string) => { - // this one is deprecated - if (specifier === "$shared") specifier = "./internal/shared.ts"; - - const directMatch = internalRegistry.get(specifier); - if (directMatch) return codegenRequireId(`${directMatch}/*${specifier}*/`); - - if (specifier in nativeModuleIds) { - return codegenRequireNativeModule(JSON.stringify(specifier)); - } - - const relativeMatch = - resolveSyncOrNull(specifier, path.join(BASE, path.dirname(from))) ?? resolveSyncOrNull(specifier, BASE); - - if (relativeMatch) { - const found = moduleList.indexOf(path.relative(BASE, relativeMatch)); - if (found === -1) { - throw new Error( - `Builtin Bundler: "${specifier}" cannot be imported here because it doesn't get a module ID. Only files in "src/js" besides "src/js/builtins" can be used here. Note that the 'node:' or 'bun:' prefix is required here. `, - ); - } - return codegenRequireId(`${found}/*${path.relative(BASE, relativeMatch)}*/`); - } - - throw new Error(`Builtin Bundler: Could not resolve "${specifier}" in ${from}.`); -}; +const { + // + moduleList, + nativeModuleIds, + nativeModuleEnumToId, + nativeModuleEnums, + requireTransformer, +} = createInternalModuleRegistry(BASE); // Preprocess builtins const bundledEntryPoints: string[] = []; @@ -112,7 +50,7 @@ for (let i = 0; i < moduleList.length; i++) { var isBuiltin = true; try { if (!builtinModules.includes(imp.path)) { - globalThis.requireTransformer(imp.path, moduleList[i]); + requireTransformer(imp.path, moduleList[i]); } } catch { isBuiltin = false; @@ -134,7 +72,7 @@ for (let i = 0; i < moduleList.length; i++) { ) .replace(/export\s*{\s*}\s*;/g, ""), true, - x => globalThis.requireTransformer(x, moduleList[i]), + x => requireTransformer(x, moduleList[i]), ); let fileToTranspile = `// @ts-nocheck // GENERATED TEMP FILE - DO NOT EDIT @@ -158,7 +96,7 @@ $$EXPORT$$(__intrinsic__exports).$$EXPORT_END$$; if (!exportOptimization) { fileToTranspile = `var $;` + fileToTranspile.replaceAll("__intrinsic__exports", "$"); } - const outputPath = path.join(TMP, moduleList[i].slice(0, -3) + ".ts"); + const outputPath = path.join(TMP_DIR, moduleList[i].slice(0, -3) + ".ts"); fs.mkdirSync(path.dirname(outputPath), { recursive: true }); fs.writeFileSync(outputPath, fileToTranspile); bundledEntryPoints.push(outputPath); @@ -176,7 +114,7 @@ const config = ({ platform, debug }: { platform: string; debug?: boolean }) => entrypoints: bundledEntryPoints, // Whitespace and identifiers are not minified to give better error messages when an error happens in our builtins minify: { syntax: !debug, whitespace: false }, - root: TMP, + root: TMP_DIR, target: "bun", external: builtinModules, define: { @@ -253,7 +191,7 @@ for (const [name, bundle, outputs] of [ : "") + (usesAssert ? createAssertClientJS(idToPublicSpecifierOrEnumName(file.path).replace(/^node:|^bun:/, "")) : ""), ); - const outputPath = path.join(BASE, "out", name, file.path); + const outputPath = path.join(OUT_DIR, name, file.path); if (name === "modules_dev") { fs.mkdirSync(path.dirname(outputPath), { recursive: true }); fs.writeFileSync(outputPath, captured); @@ -288,15 +226,15 @@ function idToPublicSpecifierOrEnumName(id: string) { } // This is a file with a single macro that is used in defining InternalModuleRegistry.h -fs.writeFileSync( - path.join(BASE, "out/InternalModuleRegistry+numberOfModules.h"), +writeIfNotChanged( + path.join(OUT_DIR, "InternalModuleRegistry+numberOfModules.h"), `#define BUN_INTERNAL_MODULE_COUNT ${moduleList.length}\n`, ); // This code slice is used in InternalModuleRegistry.h for inlining the enum. I dont think we // actually use this enum but it's probably a good thing to include. -fs.writeFileSync( - path.join(BASE, "out/InternalModuleRegistry+enum.h"), +writeIfNotChanged( + path.join(OUT_DIR, "InternalModuleRegistry+enum.h"), `${ moduleList .map((id, n) => { @@ -308,8 +246,8 @@ fs.writeFileSync( ); // This code slice is used in InternalModuleRegistry.cpp. It defines the loading function for modules. -fs.writeFileSync( - path.join(BASE, "out/InternalModuleRegistry+createInternalModuleById.h"), +writeIfNotChanged( + path.join(OUT_DIR, "InternalModuleRegistry+createInternalModuleById.h"), `// clang-format off JSValue InternalModuleRegistry::createInternalModuleById(JSGlobalObject* globalObject, VM& vm, Field id) { @@ -336,8 +274,8 @@ JSValue InternalModuleRegistry::createInternalModuleById(JSGlobalObject* globalO // // We cannot use ASCIILiteral's `_s` operator for the module source code because for long // strings it fails a constexpr assert. Instead, we do that assert in JS before we format the string -fs.writeFileSync( - path.join(BASE, "out/InternalModuleRegistryConstants.h"), +writeIfNotChanged( + path.join(OUT_DIR, "InternalModuleRegistryConstants.h"), `// clang-format off #pragma once @@ -388,8 +326,8 @@ static constexpr ASCIILiteral ${idToEnumName(id)}Code = ASCIILiteral::fromLitera ); // This is a generated enum for zig code (exports.zig) -fs.writeFileSync( - path.join(BASE, "out/ResolvedSourceTag.zig"), +writeIfNotChanged( + path.join(OUT_DIR, "ResolvedSourceTag.zig"), `// zig fmt: off pub const ResolvedSourceTag = enum(u32) { // Predefined @@ -413,8 +351,8 @@ ${Object.entries(nativeModuleIds) ); // This is a generated enum for c++ code (headers-handwritten.h) -fs.writeFileSync( - path.join(BASE, "out/SyntheticModuleType.h"), +writeIfNotChanged( + path.join(OUT_DIR, "SyntheticModuleType.h"), `enum SyntheticModuleType : uint32_t { JavaScript = 0, PackageJSONTypeModule = 1, @@ -441,20 +379,20 @@ ${Object.entries(nativeModuleEnumToId) ); // This is used in ModuleLoader.cpp to link to all the headers for native modules. -fs.writeFileSync( - path.join(BASE, "out/NativeModuleImpl.h"), +writeIfNotChanged( + path.join(OUT_DIR, "NativeModuleImpl.h"), Object.values(nativeModuleEnums) .map(value => `#include "../../bun.js/modules/${value}Module.h"`) .join("\n") + "\n", ); // This is used for debug builds for the base path for dynamic loading -fs.writeFileSync( - path.join(BASE, "out/DebugPath.h"), - `// Using __FILE__ does not give an absolute file path -// This is a workaround for that. -#define BUN_DYNAMIC_JS_LOAD_PATH "${path.join(BASE, "out/")}" -`, -); +// fs.writeFileSync( +// path.join(OUT_DIR, "DebugPath.h"), +// `// Using __FILE__ does not give an absolute file path +// // This is a workaround for that. +// #define BUN_DYNAMIC_JS_LOAD_PATH "${path.join(OUT_DIR, "")}" +// `, +// ); mark("Generate Code"); diff --git a/src/js/_codegen/client-js.ts b/src/codegen/client-js.ts index 4dfa6acf6..4dfa6acf6 100644 --- a/src/js/_codegen/client-js.ts +++ b/src/codegen/client-js.ts diff --git a/src/codegen/create-hash-table.ts b/src/codegen/create-hash-table.ts index 776abfdea..0d9b08d41 100644 --- a/src/codegen/create-hash-table.ts +++ b/src/codegen/create-hash-table.ts @@ -1,12 +1,12 @@ import { spawn } from "bun"; import path from "path"; +import { writeIfNotChanged } from "./helpers"; const input = process.argv[2]; -const out_dir = process.argv[3]; +const output = process.argv[3]; const create_hash_table = path.join(import.meta.dir, "./create_hash_table"); -console.time("Generate LUT"); const { stdout, exited } = spawn({ cmd: [create_hash_table, input], stdout: "pipe", @@ -18,6 +18,6 @@ str = str.replaceAll(/^\/\/.*$/gm, ""); str = str.replaceAll(/^#include.*$/gm, ""); str = str.replaceAll(`namespace JSC {`, ""); str = str.replaceAll(`} // namespace JSC`, ""); -str = "// File generated via `make static-hash-table` / `make cpp`\n" + str.trim() + "\n"; -await Bun.write(input.replace(/\.cpp$/, ".lut.h").replace(/(\.lut)?\.txt$/, ".lut.h"), str); -console.log("Wrote", path.join(out_dir, path.basename(process.cwd(), input.replace(/\.cpp$/, ".lut.h")))); +str = "// File generated via `static-hash-table.ts`\n" + str.trim() + "\n"; + +writeIfNotChanged(output, str); diff --git a/src/codegen/generate-jssink.ts b/src/codegen/generate-jssink.ts index 8774105d2..9ce0e2313 100644 --- a/src/codegen/generate-jssink.ts +++ b/src/codegen/generate-jssink.ts @@ -480,7 +480,7 @@ JSC_DEFINE_HOST_FUNCTION(${name}__doClose, (JSC::JSGlobalObject * lexicalGlobalO } templ += ` -#include "JSSinkLookupTable.h" +#include "JSSink.lut.h" `; for (let name of classes) { @@ -960,5 +960,5 @@ Bun.spawnSync([ process.execPath, join(import.meta.dir, "create-hash-table.ts"), resolve(outDir + "/JSSink.cpp"), - outDir, + join(outDir, "JSSink.lut.h"), ]); diff --git a/src/js/_codegen/helpers.ts b/src/codegen/helpers.ts index 74680b956..d259a526e 100644 --- a/src/js/_codegen/helpers.ts +++ b/src/codegen/helpers.ts @@ -51,3 +51,14 @@ export function checkAscii(str: string) { return str; } + +export function writeIfNotChanged(file: string, contents: string) { + if (fs.existsSync(file)) { + const oldContents = fs.readFileSync(file, "utf8"); + if (oldContents === contents) { + return; + } + } + + fs.writeFileSync(file, contents); +} diff --git a/src/codegen/internal-module-registry-scanner.ts b/src/codegen/internal-module-registry-scanner.ts new file mode 100644 index 000000000..7bc2f9bdd --- /dev/null +++ b/src/codegen/internal-module-registry-scanner.ts @@ -0,0 +1,92 @@ +import fs from "fs"; +import path from "path"; +import { readdirRecursive, resolveSyncOrNull } from "./helpers"; + +export function createInternalModuleRegistry(basedir: string) { + const moduleList = ["bun", "node", "thirdparty", "internal"] + .flatMap(dir => readdirRecursive(path.join(basedir, dir))) + .filter(file => file.endsWith(".js") || (file.endsWith(".ts") && !file.endsWith(".d.ts"))) + .map(file => file.slice(basedir.length + 1)) + .sort(); + + // Create the Internal Module Registry + const internalRegistry = new Map(); + for (let i = 0; i < moduleList.length; i++) { + const prefix = moduleList[i].startsWith("node/") + ? "node:" + : moduleList[i].startsWith("bun:") + ? "bun:" + : moduleList[i].startsWith("internal/") + ? "internal/" + : undefined; + if (prefix) { + const id = prefix + moduleList[i].slice(prefix.length).replaceAll(".", "/").slice(0, -3); + internalRegistry.set(id, i); + } + } + + // Native Module registry + const nativeModuleH = fs.readFileSync(path.join(basedir, "../bun.js/modules/_NativeModule.h"), "utf8"); + const nativeModuleDefine = nativeModuleH.match(/BUN_FOREACH_NATIVE_MODULE\(macro\)\s*\\\n((.*\\\n)*\n)/); + if (!nativeModuleDefine) { + throw new Error( + "Could not find BUN_FOREACH_NATIVE_MODULE in _NativeModule.h. Knowing native module IDs is a part of the codegen process.", + ); + } + let nextNativeModuleId = 0; + const nativeModuleIds: Record<string, number> = {}; + const nativeModuleEnums: Record<string, string> = {}; + const nativeModuleEnumToId: Record<string, number> = {}; + for (const [_, idString, enumValue] of nativeModuleDefine[0].matchAll(/macro\((.*?),(.*?)\)/g)) { + const processedIdString = JSON.parse(idString.trim().replace(/_s$/, "")); + const processedEnumValue = enumValue.trim(); + const processedNumericId = nextNativeModuleId++; + nativeModuleIds[processedIdString] = processedNumericId; + nativeModuleEnums[processedIdString] = processedEnumValue; + nativeModuleEnumToId[processedEnumValue] = processedNumericId; + } + + function codegenRequireId(id: string) { + return `(__intrinsic__getInternalField(__intrinsic__internalModuleRegistry, ${id}) || __intrinsic__createInternalModuleById(${id}))`; + } + + function codegenRequireNativeModule(id: string) { + return `(__intrinsic__requireNativeModule(${id.replace(/node:/, "")}))`; + } + + const requireTransformer = (specifier: string, from: string) => { + // this one is deprecated + if (specifier === "$shared") specifier = "./internal/shared.ts"; + + const directMatch = internalRegistry.get(specifier); + if (directMatch) return codegenRequireId(`${directMatch}/*${specifier}*/`); + + if (specifier in nativeModuleIds) { + return codegenRequireNativeModule(JSON.stringify(specifier)); + } + + const relativeMatch = + resolveSyncOrNull(specifier, path.join(basedir, path.dirname(from))) ?? resolveSyncOrNull(specifier, basedir); + + if (relativeMatch) { + const found = moduleList.indexOf(path.relative(basedir, relativeMatch)); + if (found === -1) { + throw new Error( + `Builtin Bundler: "${specifier}" cannot be imported here because it doesn't get a module ID. Only files in "src/js" besides "src/js/builtins" can be used here. Note that the 'node:' or 'bun:' prefix is required here. `, + ); + } + return codegenRequireId(`${found}/*${path.relative(basedir, relativeMatch)}*/`); + } + + throw new Error(`Builtin Bundler: Could not resolve "${specifier}" in ${from}.`); + }; + + return { + requireTransformer, + nativeModuleIds, + nativeModuleEnums, + nativeModuleEnumToId, + internalRegistry, + moduleList, + } as const; +} diff --git a/src/js/_codegen/replacements.ts b/src/codegen/replacements.ts index 45f2426b5..fbe7478de 100644 --- a/src/js/_codegen/replacements.ts +++ b/src/codegen/replacements.ts @@ -1,4 +1,4 @@ -import { LoaderKeys } from "../../api/schema"; +import { LoaderKeys } from "../api/schema"; import { sliceSourceCode } from "./builtin-parser"; // This is a list of extra syntax replacements to do. Kind of like macros diff --git a/src/js/_codegen/index.ts b/src/js/_codegen/index.ts deleted file mode 100644 index 4e048b144..000000000 --- a/src/js/_codegen/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -import "./build-modules"; -import "./build-functions"; diff --git a/src/js/_codegen/static-hash-tables.ts b/src/js/_codegen/static-hash-tables.ts deleted file mode 100644 index 858974aa1..000000000 --- a/src/js/_codegen/static-hash-tables.ts +++ /dev/null @@ -1,43 +0,0 @@ -// TODO: move this file somewhere else. it doesnt make sense in src/js/ -// it generates C++ code not related to javascript at all -import { spawn } from "bun"; -import path from "../node/path"; - -const STATIC_HASH_TABLES = [ - // - "src/bun.js/bindings/BunObject.cpp", - "src/bun.js/bindings/ZigGlobalObject.lut.txt", - "src/bun.js/bindings/JSBuffer.cpp", - "src/bun.js/bindings/Process.cpp", - "src/bun.js/bindings/ProcessBindingConstants.cpp", - "src/bun.js/bindings/ProcessBindingNatives.cpp", -]; - -console.time("Creating static hash tables..."); -const create_hash_table = path.join(import.meta.dir, "../../../src/bun.js/scripts/create_hash_table"); -if (!create_hash_table) { - console.warn("Could not find create_hash_table executable. Run `bun i` or clone webkit to build static hash tables"); - process.exit(1); -} - -await Promise.all( - STATIC_HASH_TABLES.map(async cpp => { - cpp = path.join(import.meta.dir, "../../../", cpp); - const { stdout, exited } = spawn({ - cmd: [create_hash_table, cpp], - stdout: "pipe", - stderr: "inherit", - }); - await exited; - let str = await new Response(stdout).text(); - str = str.replaceAll(/^\/\/.*$/gm, ""); - str = str.replaceAll(/^#include.*$/gm, ""); - str = str.replaceAll(`namespace JSC {`, ""); - str = str.replaceAll(`} // namespace JSC`, ""); - str = "// File generated via `make static-hash-table` / `make cpp`\n" + str.trim() + "\n"; - await Bun.write(cpp.replace(/\.cpp$/, ".lut.h").replace(/(\.lut)?\.txt$/, ".lut.h"), str); - console.log("Wrote", path.relative(process.cwd(), cpp.replace(/\.cpp$/, ".lut.h"))); - }), -); - -console.timeEnd("Creating static hash tables..."); diff --git a/src/js/out/InternalModuleRegistryConstants.h b/src/js/out/InternalModuleRegistryConstants.h index bdd7ac5dd..f7d4a2bb4 100644 --- a/src/js/out/InternalModuleRegistryConstants.h +++ b/src/js/out/InternalModuleRegistryConstants.h @@ -6,750 +6,750 @@ namespace InternalModuleRegistryConstants { #if __APPLE__ // -static constexpr ASCIILiteral BunFFICode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/bun/ffi.ts\nvar FFIBuilder = function(params, returnType, functionToCall, name) {\n const hasReturnType = typeof FFIType[returnType] === \"number\" && FFIType[returnType] !== FFIType.void;\n var paramNames = new @Array(params.length), args = new @Array(params.length);\n for (let i = 0;i < params.length; i++) {\n paramNames[i] = `p${i}`;\n const wrapper = ffiWrappers[FFIType[params[i]]];\n if (wrapper)\n args[i] = `(val=>${wrapper})(p${i})`;\n else\n @throwTypeError(`Unsupported type ${params[i]}. Must be one of: ${Object.keys(FFIType).sort().join(\", \")}`);\n }\n var code = `functionToCall(${args.join(\", \")})`;\n if (hasReturnType)\n if (FFIType[returnType] === FFIType.cstring)\n code = `return new __GlobalBunCString(${code})`;\n else\n code = `return ${code}`;\n var func = new Function(\"functionToCall\", ...paramNames, code);\n Object.defineProperty(func, \"name\", {\n value: name\n });\n var wrap;\n switch (paramNames.length) {\n case 0:\n wrap = () => func(functionToCall);\n break;\n case 1:\n wrap = (arg1) => func(functionToCall, arg1);\n break;\n case 2:\n wrap = (arg1, arg2) => func(functionToCall, arg1, arg2);\n break;\n case 3:\n wrap = (arg1, arg2, arg3) => func(functionToCall, arg1, arg2, arg3);\n break;\n case 4:\n wrap = (arg1, arg2, arg3, arg4) => func(functionToCall, arg1, arg2, arg3, arg4);\n break;\n case 5:\n wrap = (arg1, arg2, arg3, arg4, arg5) => func(functionToCall, arg1, arg2, arg3, arg4, arg5);\n break;\n case 6:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6);\n break;\n case 7:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7);\n break;\n case 8:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\n break;\n case 9:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\n break;\n default: {\n wrap = (...args2) => func(functionToCall, ...args2);\n break;\n }\n }\n return wrap.native = functionToCall, wrap.ptr = functionToCall.ptr, wrap;\n}, dlopen = function(path, options) {\n const result = nativeDLOpen(path, options);\n if (result instanceof Error)\n throw result;\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, path.includes(\"/\") \? `${key} (${path.split(\"/\").pop()})` : `${key} (${path})`);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result.close = result.close.bind(result), result;\n}, linkSymbols = function(options) {\n const result = nativeLinkSymbols(options);\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, key);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result;\n}, onCloseCFunction = function(close) {\n close();\n}, CFunction = function(options) {\n const identifier = `CFunction${cFunctionI++}`;\n var result = linkSymbols({\n [identifier]: options\n }), hasClosed = !1, close = result.close.bind(result);\n return result.symbols[identifier].close = () => {\n if (hasClosed || !close)\n return;\n hasClosed = !0, close(), close = @undefined;\n }, cFunctionRegistry ||= new FinalizationRegistry(onCloseCFunction), cFunctionRegistry.register(result.symbols[identifier], result.symbols[identifier].close), result.symbols[identifier];\n}, $, FFIType = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"10\": 10,\n \"11\": 11,\n \"12\": 12,\n \"13\": 13,\n \"14\": 14,\n \"15\": 15,\n \"16\": 16,\n \"17\": 17,\n bool: 11,\n c_int: 5,\n c_uint: 6,\n char: 0,\n \"char*\": 12,\n double: 9,\n f32: 10,\n f64: 9,\n float: 10,\n i16: 3,\n i32: 5,\n i64: 7,\n i8: 1,\n int: 5,\n int16_t: 3,\n int32_t: 5,\n int64_t: 7,\n int8_t: 1,\n isize: 7,\n u16: 4,\n u32: 6,\n u64: 8,\n u8: 2,\n uint16_t: 4,\n uint32_t: 6,\n uint64_t: 8,\n uint8_t: 2,\n usize: 8,\n \"void*\": 12,\n ptr: 12,\n pointer: 12,\n void: 13,\n cstring: 14,\n i64_fast: 15,\n u64_fast: 16,\n function: 17,\n callback: 17,\n fn: 17\n};\nvar ffi = globalThis.Bun.FFI, ptr = (arg1, arg2) => typeof arg2 === \"undefined\" \? ffi.ptr(arg1) : ffi.ptr(arg1, arg2), toBuffer = ffi.toBuffer, toArrayBuffer = ffi.toArrayBuffer, viewSource = ffi.viewSource, BunCString = ffi.CString, nativeLinkSymbols = ffi.linkSymbols, nativeDLOpen = ffi.dlopen, nativeCallback = ffi.callback, closeCallback = ffi.closeCallback;\ndelete ffi.callback;\ndelete ffi.closeCallback;\n\nclass JSCallback {\n constructor(cb, options) {\n const { ctx, ptr: ptr2 } = nativeCallback(options, cb);\n this.#ctx = ctx, this.ptr = ptr2, this.#threadsafe = !!options\?.threadsafe;\n }\n ptr;\n #ctx;\n #threadsafe;\n get threadsafe() {\n return this.#threadsafe;\n }\n [Symbol.toPrimitive]() {\n const { ptr: ptr2 } = this;\n return typeof ptr2 === \"number\" \? ptr2 : 0;\n }\n close() {\n const ctx = this.#ctx;\n if (this.ptr = null, this.#ctx = null, ctx)\n closeCallback(ctx);\n }\n}\n\nclass CString extends @String {\n constructor(ptr2, byteOffset, byteLength) {\n super(ptr2 \? typeof byteLength === \"number\" && Number.isSafeInteger(byteLength) \? BunCString(ptr2, byteOffset || 0, byteLength) : BunCString(ptr2) : \"\");\n if (this.ptr = typeof ptr2 === \"number\" \? ptr2 : 0, typeof byteOffset !== \"undefined\")\n this.byteOffset = byteOffset;\n if (typeof byteLength !== \"undefined\")\n this.byteLength = byteLength;\n }\n ptr;\n byteOffset;\n byteLength;\n #cachedArrayBuffer;\n get arrayBuffer() {\n if (this.#cachedArrayBuffer)\n return this.#cachedArrayBuffer;\n if (!this.ptr)\n return this.#cachedArrayBuffer = new @ArrayBuffer(0);\n return this.#cachedArrayBuffer = toArrayBuffer(this.ptr, this.byteOffset, this.byteLength);\n }\n}\nObject.defineProperty(globalThis, \"__GlobalBunCString\", {\n value: CString,\n enumerable: !1,\n configurable: !1\n});\nvar ffiWrappers = new @Array(18), char = \"val|0\";\nffiWrappers.fill(char);\nffiWrappers[FFIType.uint8_t] = \"val<0\?0:val>=255\?255:val|0\";\nffiWrappers[FFIType.int16_t] = \"val<=-32768\?-32768:val>=32768\?32768:val|0\";\nffiWrappers[FFIType.uint16_t] = \"val<=0\?0:val>=65536\?65536:val|0\";\nffiWrappers[FFIType.int32_t] = \"val|0\";\nffiWrappers[FFIType.uint32_t] = \"val<=0\?0:val>=0xffffffff\?0xffffffff:+val||0\";\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= 0) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.int64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.uint64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return val <= 0 \? BigInt(0) : BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(0)) return Number(val);\n return val;\n }\n\n return typeof val === \"number\" \? (val <= 0 \? 0 : +val || 0) : +val || 0;\n}`;\nffiWrappers[FFIType.uint16_t] = `{\n const ret = (typeof val === \"bigint\" \? Number(val) : val) | 0;\n return ret <= 0 \? 0 : ret > 0xffff \? 0xffff : ret;\n}`;\nffiWrappers[FFIType.double] = `{\n if (typeof val === \"bigint\") {\n if (val.valueOf() < BigInt(Number.MAX_VALUE)) {\n return Math.abs(Number(val).valueOf()) + 0.00000000000001 - 0.00000000000001;\n }\n }\n\n if (!val) {\n return 0 + 0.00000000000001 - 0.00000000000001;\n }\n\n return val + 0.00000000000001 - 0.00000000000001;\n}`;\nffiWrappers[FFIType.float] = ffiWrappers[10] = `{\n return Math.fround(val);\n}`;\nffiWrappers[FFIType.bool] = `{\n return !!val;\n}`;\nObject.defineProperty(globalThis, \"__GlobalBunFFIPtrFunctionForWrapper\", {\n value: ptr,\n enumerable: !1,\n configurable: !0\n});\nffiWrappers[FFIType.cstring] = ffiWrappers[FFIType.pointer] = `{\n if (typeof val === \"number\") return val;\n if (!val) {\n return null;\n }\n\n if (ArrayBuffer.isView(val) || val instanceof ArrayBuffer) {\n return __GlobalBunFFIPtrFunctionForWrapper(val);\n }\n\n if (typeof val === \"string\") {\n throw new TypeError(\"To convert a string to a pointer, encode it as a buffer\");\n }\n\n throw new TypeError(\\`Unable to convert \\${ val } to a pointer\\`);\n}`;\nffiWrappers[FFIType.function] = `{\n if (typeof val === \"number\") {\n return val;\n }\n\n if (typeof val === \"bigint\") {\n return Number(val);\n }\n\n var ptr = val && val.ptr;\n\n if (!ptr) {\n throw new TypeError(\"Expected function to be a JSCallback or a number\");\n }\n\n return ptr;\n}`;\nvar native = {\n dlopen: nativeDLOpen,\n callback: () => {\n throw new Error(\"Deprecated. Use new JSCallback(options, fn) instead\");\n }\n}, cFunctionI = 0, cFunctionRegistry, read = ffi.read;\n$ = {\n CFunction,\n CString,\n FFIType,\n JSCallback,\n dlopen,\n linkSymbols,\n native,\n ptr,\n read,\n suffix: \"dylib\",\n toArrayBuffer,\n toBuffer,\n viewSource\n};\nreturn $})\n"); +static constexpr ASCIILiteral BunFFICode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/bun/ffi.ts\nvar FFIBuilder = function(params, returnType, functionToCall, name) {\n const hasReturnType = typeof FFIType[returnType] === \"number\" && FFIType[returnType] !== FFIType.void;\n var paramNames = new @Array(params.length), args = new @Array(params.length);\n for (let i = 0;i < params.length; i++) {\n paramNames[i] = `p${i}`;\n const wrapper = ffiWrappers[FFIType[params[i]]];\n if (wrapper)\n args[i] = `(val=>${wrapper})(p${i})`;\n else\n @throwTypeError(`Unsupported type ${params[i]}. Must be one of: ${Object.keys(FFIType).sort().join(\", \")}`);\n }\n var code = `functionToCall(${args.join(\", \")})`;\n if (hasReturnType)\n if (FFIType[returnType] === FFIType.cstring)\n code = `return new __GlobalBunCString(${code})`;\n else\n code = `return ${code}`;\n var func = new Function(\"functionToCall\", ...paramNames, code);\n Object.defineProperty(func, \"name\", {\n value: name\n });\n var wrap;\n switch (paramNames.length) {\n case 0:\n wrap = () => func(functionToCall);\n break;\n case 1:\n wrap = (arg1) => func(functionToCall, arg1);\n break;\n case 2:\n wrap = (arg1, arg2) => func(functionToCall, arg1, arg2);\n break;\n case 3:\n wrap = (arg1, arg2, arg3) => func(functionToCall, arg1, arg2, arg3);\n break;\n case 4:\n wrap = (arg1, arg2, arg3, arg4) => func(functionToCall, arg1, arg2, arg3, arg4);\n break;\n case 5:\n wrap = (arg1, arg2, arg3, arg4, arg5) => func(functionToCall, arg1, arg2, arg3, arg4, arg5);\n break;\n case 6:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6);\n break;\n case 7:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7);\n break;\n case 8:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\n break;\n case 9:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\n break;\n default: {\n wrap = (...args2) => func(functionToCall, ...args2);\n break;\n }\n }\n return wrap.native = functionToCall, wrap.ptr = functionToCall.ptr, wrap;\n}, dlopen = function(path, options) {\n const result = nativeDLOpen(path, options);\n if (result instanceof Error)\n throw result;\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, path.includes(\"/\") \? `${key} (${path.split(\"/\").pop()})` : `${key} (${path})`);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result.close = result.close.bind(result), result;\n}, linkSymbols = function(options) {\n const result = nativeLinkSymbols(options);\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, key);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result;\n}, onCloseCFunction = function(close) {\n close();\n}, CFunction = function(options) {\n const identifier = `CFunction${cFunctionI++}`;\n var result = linkSymbols({\n [identifier]: options\n }), hasClosed = !1, close = result.close.bind(result);\n return result.symbols[identifier].close = () => {\n if (hasClosed || !close)\n return;\n hasClosed = !0, close(), close = @undefined;\n }, cFunctionRegistry ||= new FinalizationRegistry(onCloseCFunction), cFunctionRegistry.register(result.symbols[identifier], result.symbols[identifier].close), result.symbols[identifier];\n}, $, FFIType = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"10\": 10,\n \"11\": 11,\n \"12\": 12,\n \"13\": 13,\n \"14\": 14,\n \"15\": 15,\n \"16\": 16,\n \"17\": 17,\n bool: 11,\n c_int: 5,\n c_uint: 6,\n char: 0,\n \"char*\": 12,\n double: 9,\n f32: 10,\n f64: 9,\n float: 10,\n i16: 3,\n i32: 5,\n i64: 7,\n i8: 1,\n int: 5,\n int16_t: 3,\n int32_t: 5,\n int64_t: 7,\n int8_t: 1,\n isize: 7,\n u16: 4,\n u32: 6,\n u64: 8,\n u8: 2,\n uint16_t: 4,\n uint32_t: 6,\n uint64_t: 8,\n uint8_t: 2,\n usize: 8,\n \"void*\": 12,\n ptr: 12,\n pointer: 12,\n void: 13,\n cstring: 14,\n i64_fast: 15,\n u64_fast: 16,\n function: 17,\n callback: 17,\n fn: 17\n};\nvar ffi = globalThis.Bun.FFI, ptr = (arg1, arg2) => typeof arg2 === \"undefined\" \? ffi.ptr(arg1) : ffi.ptr(arg1, arg2), toBuffer = ffi.toBuffer, toArrayBuffer = ffi.toArrayBuffer, viewSource = ffi.viewSource, BunCString = ffi.CString, nativeLinkSymbols = ffi.linkSymbols, nativeDLOpen = ffi.dlopen, nativeCallback = ffi.callback, closeCallback = ffi.closeCallback;\ndelete ffi.callback;\ndelete ffi.closeCallback;\n\nclass JSCallback {\n constructor(cb, options) {\n const { ctx, ptr: ptr2 } = nativeCallback(options, cb);\n this.#ctx = ctx, this.ptr = ptr2, this.#threadsafe = !!options\?.threadsafe;\n }\n ptr;\n #ctx;\n #threadsafe;\n get threadsafe() {\n return this.#threadsafe;\n }\n [Symbol.toPrimitive]() {\n const { ptr: ptr2 } = this;\n return typeof ptr2 === \"number\" \? ptr2 : 0;\n }\n close() {\n const ctx = this.#ctx;\n if (this.ptr = null, this.#ctx = null, ctx)\n closeCallback(ctx);\n }\n}\n\nclass CString extends @String {\n constructor(ptr2, byteOffset, byteLength) {\n super(ptr2 \? typeof byteLength === \"number\" && Number.isSafeInteger(byteLength) \? BunCString(ptr2, byteOffset || 0, byteLength) : BunCString(ptr2) : \"\");\n if (this.ptr = typeof ptr2 === \"number\" \? ptr2 : 0, typeof byteOffset !== \"undefined\")\n this.byteOffset = byteOffset;\n if (typeof byteLength !== \"undefined\")\n this.byteLength = byteLength;\n }\n ptr;\n byteOffset;\n byteLength;\n #cachedArrayBuffer;\n get arrayBuffer() {\n if (this.#cachedArrayBuffer)\n return this.#cachedArrayBuffer;\n if (!this.ptr)\n return this.#cachedArrayBuffer = new @ArrayBuffer(0);\n return this.#cachedArrayBuffer = toArrayBuffer(this.ptr, this.byteOffset, this.byteLength);\n }\n}\nObject.defineProperty(globalThis, \"__GlobalBunCString\", {\n value: CString,\n enumerable: !1,\n configurable: !1\n});\nvar ffiWrappers = new @Array(18), char = \"val|0\";\nffiWrappers.fill(char);\nffiWrappers[FFIType.uint8_t] = \"val<0\?0:val>=255\?255:val|0\";\nffiWrappers[FFIType.int16_t] = \"val<=-32768\?-32768:val>=32768\?32768:val|0\";\nffiWrappers[FFIType.uint16_t] = \"val<=0\?0:val>=65536\?65536:val|0\";\nffiWrappers[FFIType.int32_t] = \"val|0\";\nffiWrappers[FFIType.uint32_t] = \"val<=0\?0:val>=0xffffffff\?0xffffffff:+val||0\";\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= 0) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.int64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.uint64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return val <= 0 \? BigInt(0) : BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(0)) return Number(val);\n return val;\n }\n\n return typeof val === \"number\" \? (val <= 0 \? 0 : +val || 0) : +val || 0;\n}`;\nffiWrappers[FFIType.uint16_t] = `{\n const ret = (typeof val === \"bigint\" \? Number(val) : val) | 0;\n return ret <= 0 \? 0 : ret > 0xffff \? 0xffff : ret;\n}`;\nffiWrappers[FFIType.double] = `{\n if (typeof val === \"bigint\") {\n if (val.valueOf() < BigInt(Number.MAX_VALUE)) {\n return Math.abs(Number(val).valueOf()) + 0.00000000000001 - 0.00000000000001;\n }\n }\n\n if (!val) {\n return 0 + 0.00000000000001 - 0.00000000000001;\n }\n\n return val + 0.00000000000001 - 0.00000000000001;\n}`;\nffiWrappers[FFIType.float] = ffiWrappers[10] = `{\n return Math.fround(val);\n}`;\nffiWrappers[FFIType.bool] = `{\n return !!val;\n}`;\nObject.defineProperty(globalThis, \"__GlobalBunFFIPtrFunctionForWrapper\", {\n value: ptr,\n enumerable: !1,\n configurable: !0\n});\nffiWrappers[FFIType.cstring] = ffiWrappers[FFIType.pointer] = `{\n if (typeof val === \"number\") return val;\n if (!val) {\n return null;\n }\n\n if (ArrayBuffer.isView(val) || val instanceof ArrayBuffer) {\n return __GlobalBunFFIPtrFunctionForWrapper(val);\n }\n\n if (typeof val === \"string\") {\n throw new TypeError(\"To convert a string to a pointer, encode it as a buffer\");\n }\n\n throw new TypeError(\\`Unable to convert \\${ val } to a pointer\\`);\n}`;\nffiWrappers[FFIType.function] = `{\n if (typeof val === \"number\") {\n return val;\n }\n\n if (typeof val === \"bigint\") {\n return Number(val);\n }\n\n var ptr = val && val.ptr;\n\n if (!ptr) {\n throw new TypeError(\"Expected function to be a JSCallback or a number\");\n }\n\n return ptr;\n}`;\nvar native = {\n dlopen: nativeDLOpen,\n callback: () => {\n throw new Error(\"Deprecated. Use new JSCallback(options, fn) instead\");\n }\n}, cFunctionI = 0, cFunctionRegistry, read = ffi.read;\n$ = {\n CFunction,\n CString,\n FFIType,\n JSCallback,\n dlopen,\n linkSymbols,\n native,\n ptr,\n read,\n suffix: \"dylib\",\n toArrayBuffer,\n toBuffer,\n viewSource\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral BunSqliteCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/bun/sqlite.ts\nvar $, defineProperties = Object.defineProperties, toStringTag = Symbol.toStringTag, isArray = @Array.isArray, isTypedArray = @ArrayBuffer.isView, constants = {\n SQLITE_OPEN_READONLY: 1,\n SQLITE_OPEN_READWRITE: 2,\n SQLITE_OPEN_CREATE: 4,\n SQLITE_OPEN_DELETEONCLOSE: 8,\n SQLITE_OPEN_EXCLUSIVE: 16,\n SQLITE_OPEN_AUTOPROXY: 32,\n SQLITE_OPEN_URI: 64,\n SQLITE_OPEN_MEMORY: 128,\n SQLITE_OPEN_MAIN_DB: 256,\n SQLITE_OPEN_TEMP_DB: 512,\n SQLITE_OPEN_TRANSIENT_DB: 1024,\n SQLITE_OPEN_MAIN_JOURNAL: 2048,\n SQLITE_OPEN_TEMP_JOURNAL: 4096,\n SQLITE_OPEN_SUBJOURNAL: 8192,\n SQLITE_OPEN_SUPER_JOURNAL: 16384,\n SQLITE_OPEN_NOMUTEX: 32768,\n SQLITE_OPEN_FULLMUTEX: 65536,\n SQLITE_OPEN_SHAREDCACHE: 131072,\n SQLITE_OPEN_PRIVATECACHE: 262144,\n SQLITE_OPEN_WAL: 524288,\n SQLITE_OPEN_NOFOLLOW: 16777216,\n SQLITE_OPEN_EXRESCODE: 33554432,\n SQLITE_PREPARE_PERSISTENT: 1,\n SQLITE_PREPARE_NORMALIZE: 2,\n SQLITE_PREPARE_NO_VTAB: 4\n}, SQL, controllers;\n\nclass Statement {\n constructor(raw) {\n switch (this.#raw = raw, raw.paramsCount) {\n case 0: {\n this.get = this.#getNoArgs, this.all = this.#allNoArgs, this.values = this.#valuesNoArgs, this.run = this.#runNoArgs;\n break;\n }\n default: {\n this.get = this.#get, this.all = this.#all, this.values = this.#values, this.run = this.#run;\n break;\n }\n }\n }\n #raw;\n get;\n all;\n values;\n run;\n isFinalized = !1;\n toJSON() {\n return {\n sql: this.native.toString(),\n isFinalized: this.isFinalized,\n paramsCount: this.paramsCount,\n columnNames: this.columnNames\n };\n }\n get [toStringTag]() {\n return `\"${this.native.toString()}\"`;\n }\n toString() {\n return this.native.toString();\n }\n get native() {\n return this.#raw;\n }\n #getNoArgs() {\n return this.#raw.get();\n }\n #allNoArgs() {\n return this.#raw.all();\n }\n #valuesNoArgs() {\n return this.#raw.values();\n }\n #runNoArgs() {\n this.#raw.run();\n }\n #get(...args) {\n if (args.length === 0)\n return this.#getNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.get(args) : this.#raw.get(...args);\n }\n #all(...args) {\n if (args.length === 0)\n return this.#allNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.all(args) : this.#raw.all(...args);\n }\n #values(...args) {\n if (args.length === 0)\n return this.#valuesNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.values(args) : this.#raw.values(...args);\n }\n #run(...args) {\n if (args.length === 0)\n return this.#runNoArgs();\n var arg0 = args[0];\n !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.run(args) : this.#raw.run(...args);\n }\n get columnNames() {\n return this.#raw.columns;\n }\n get paramsCount() {\n return this.#raw.paramsCount;\n }\n finalize(...args) {\n return this.isFinalized = !0, this.#raw.finalize(...args);\n }\n}\nvar cachedCount = Symbol.for(\"Bun.Database.cache.count\");\n\nclass Database {\n constructor(filenameGiven, options) {\n if (typeof filenameGiven === \"undefined\")\n ;\n else if (typeof filenameGiven !== \"string\") {\n if (isTypedArray(filenameGiven)) {\n this.#handle = Database.#deserialize(filenameGiven, typeof options === \"object\" && options \? !!options.readonly : ((options | 0) & constants.SQLITE_OPEN_READONLY) != 0), this.filename = \":memory:\";\n return;\n }\n @throwTypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`);\n }\n var filename = typeof filenameGiven === \"string\" \? filenameGiven.trim() : \":memory:\", flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (typeof options === \"object\" && options) {\n if (flags = 0, options.readonly)\n flags = constants.SQLITE_OPEN_READONLY;\n if (\"readOnly\" in options)\n @throwTypeError('Misspelled option \"readOnly\" should be \"readonly\"');\n if (options.create)\n flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (options.readwrite)\n flags |= constants.SQLITE_OPEN_READWRITE;\n } else if (typeof options === \"number\")\n flags = options;\n const anonymous = filename === \"\" || filename === \":memory:\";\n if (anonymous && (flags & constants.SQLITE_OPEN_READONLY) !== 0)\n throw new Error(\"Cannot open an anonymous database in read-only mode.\");\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n this.#handle = SQL.open(anonymous \? \":memory:\" : filename, flags), this.filename = filename;\n }\n #handle;\n #cachedQueriesKeys = [];\n #cachedQueriesLengths = [];\n #cachedQueriesValues = [];\n filename;\n get handle() {\n return this.#handle;\n }\n get inTransaction() {\n return SQL.isInTransaction(this.#handle);\n }\n static open(filename, options) {\n return new Database(filename, options);\n }\n loadExtension(name, entryPoint) {\n return SQL.loadExtension(this.#handle, name, entryPoint);\n }\n serialize(optionalName) {\n return SQL.serialize(this.#handle, optionalName || \"main\");\n }\n static #deserialize(serialized, isReadOnly = !1) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.deserialize(serialized, isReadOnly);\n }\n static deserialize(serialized, isReadOnly = !1) {\n return new Database(serialized, isReadOnly \? constants.SQLITE_OPEN_READONLY : 0);\n }\n static setCustomSQLite(path) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.setCustomSQLite(path);\n }\n close() {\n return this.clearQueryCache(), SQL.close(this.#handle);\n }\n clearQueryCache() {\n for (let item of this.#cachedQueriesValues)\n item.finalize();\n this.#cachedQueriesKeys.length = 0, this.#cachedQueriesValues.length = 0, this.#cachedQueriesLengths.length = 0;\n }\n run(query, ...params) {\n if (params.length === 0) {\n SQL.run(this.#handle, query);\n return;\n }\n var arg0 = params[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? SQL.run(this.#handle, query, params) : SQL.run(this.#handle, query, ...params);\n }\n prepare(query, params, flags) {\n return new Statement(SQL.prepare(this.#handle, query, params, flags || 0));\n }\n static MAX_QUERY_CACHE_SIZE = 20;\n get [cachedCount]() {\n return this.#cachedQueriesKeys.length;\n }\n query(query) {\n if (typeof query !== \"string\")\n @throwTypeError(`Expected 'query' to be a string, got '${typeof query}'`);\n if (query.length === 0)\n throw new Error(\"SQL query cannot be empty.\");\n const willCache = this.#cachedQueriesKeys.length < Database.MAX_QUERY_CACHE_SIZE;\n var index = this.#cachedQueriesLengths.indexOf(query.length);\n while (index !== -1) {\n if (this.#cachedQueriesKeys[index] !== query) {\n index = this.#cachedQueriesLengths.indexOf(query.length, index + 1);\n continue;\n }\n var stmt = this.#cachedQueriesValues[index];\n if (stmt.isFinalized)\n return this.#cachedQueriesValues[index] = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n return stmt;\n }\n var stmt = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n if (willCache)\n this.#cachedQueriesKeys.push(query), this.#cachedQueriesLengths.push(query.length), this.#cachedQueriesValues.push(stmt);\n return stmt;\n }\n transaction(fn, self) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"Expected first argument to be a function\");\n const db = this, controller = getController(db, self), properties = {\n default: { value: wrapTransaction(fn, db, controller.default) },\n deferred: { value: wrapTransaction(fn, db, controller.deferred) },\n immediate: {\n value: wrapTransaction(fn, db, controller.immediate)\n },\n exclusive: {\n value: wrapTransaction(fn, db, controller.exclusive)\n },\n database: { value: this, enumerable: !0 }\n };\n return defineProperties(properties.default.value, properties), defineProperties(properties.deferred.value, properties), defineProperties(properties.immediate.value, properties), defineProperties(properties.exclusive.value, properties), properties.default.value;\n }\n}\nDatabase.prototype.exec = Database.prototype.run;\nvar getController = (db, self) => {\n let controller = (controllers ||= new WeakMap).get(db);\n if (!controller) {\n const shared = {\n commit: db.prepare(\"COMMIT\", @undefined, 0),\n rollback: db.prepare(\"ROLLBACK\", @undefined, 0),\n savepoint: db.prepare(\"SAVEPOINT `\\t_bs3.\\t`\", @undefined, 0),\n release: db.prepare(\"RELEASE `\\t_bs3.\\t`\", @undefined, 0),\n rollbackTo: db.prepare(\"ROLLBACK TO `\\t_bs3.\\t`\", @undefined, 0)\n };\n controllers.set(db, controller = {\n default: Object.assign({ begin: db.prepare(\"BEGIN\", @undefined, 0) }, shared),\n deferred: Object.assign({ begin: db.prepare(\"BEGIN DEFERRED\", @undefined, 0) }, shared),\n immediate: Object.assign({ begin: db.prepare(\"BEGIN IMMEDIATE\", @undefined, 0) }, shared),\n exclusive: Object.assign({ begin: db.prepare(\"BEGIN EXCLUSIVE\", @undefined, 0) }, shared)\n });\n }\n return controller;\n}, wrapTransaction = (fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function transaction(...args) {\n let before, after, undo;\n if (db.inTransaction)\n before = savepoint, after = release, undo = rollbackTo;\n else\n before = begin, after = commit, undo = rollback;\n try {\n before.run();\n const result = fn.@apply(this, args);\n return after.run(), result;\n } catch (ex) {\n if (db.inTransaction) {\n if (undo.run(), undo !== rollback)\n after.run();\n }\n throw ex;\n }\n};\n$ = {\n __esModule: !0,\n Database,\n Statement,\n constants,\n default: Database\n};\nreturn $})\n"); +static constexpr ASCIILiteral BunSqliteCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/bun/sqlite.ts\nvar $, defineProperties = Object.defineProperties, toStringTag = Symbol.toStringTag, isArray = @Array.isArray, isTypedArray = @ArrayBuffer.isView, constants = {\n SQLITE_OPEN_READONLY: 1,\n SQLITE_OPEN_READWRITE: 2,\n SQLITE_OPEN_CREATE: 4,\n SQLITE_OPEN_DELETEONCLOSE: 8,\n SQLITE_OPEN_EXCLUSIVE: 16,\n SQLITE_OPEN_AUTOPROXY: 32,\n SQLITE_OPEN_URI: 64,\n SQLITE_OPEN_MEMORY: 128,\n SQLITE_OPEN_MAIN_DB: 256,\n SQLITE_OPEN_TEMP_DB: 512,\n SQLITE_OPEN_TRANSIENT_DB: 1024,\n SQLITE_OPEN_MAIN_JOURNAL: 2048,\n SQLITE_OPEN_TEMP_JOURNAL: 4096,\n SQLITE_OPEN_SUBJOURNAL: 8192,\n SQLITE_OPEN_SUPER_JOURNAL: 16384,\n SQLITE_OPEN_NOMUTEX: 32768,\n SQLITE_OPEN_FULLMUTEX: 65536,\n SQLITE_OPEN_SHAREDCACHE: 131072,\n SQLITE_OPEN_PRIVATECACHE: 262144,\n SQLITE_OPEN_WAL: 524288,\n SQLITE_OPEN_NOFOLLOW: 16777216,\n SQLITE_OPEN_EXRESCODE: 33554432,\n SQLITE_PREPARE_PERSISTENT: 1,\n SQLITE_PREPARE_NORMALIZE: 2,\n SQLITE_PREPARE_NO_VTAB: 4\n}, SQL, controllers;\n\nclass Statement {\n constructor(raw) {\n switch (this.#raw = raw, raw.paramsCount) {\n case 0: {\n this.get = this.#getNoArgs, this.all = this.#allNoArgs, this.values = this.#valuesNoArgs, this.run = this.#runNoArgs;\n break;\n }\n default: {\n this.get = this.#get, this.all = this.#all, this.values = this.#values, this.run = this.#run;\n break;\n }\n }\n }\n #raw;\n get;\n all;\n values;\n run;\n isFinalized = !1;\n toJSON() {\n return {\n sql: this.native.toString(),\n isFinalized: this.isFinalized,\n paramsCount: this.paramsCount,\n columnNames: this.columnNames\n };\n }\n get [toStringTag]() {\n return `\"${this.native.toString()}\"`;\n }\n toString() {\n return this.native.toString();\n }\n get native() {\n return this.#raw;\n }\n #getNoArgs() {\n return this.#raw.get();\n }\n #allNoArgs() {\n return this.#raw.all();\n }\n #valuesNoArgs() {\n return this.#raw.values();\n }\n #runNoArgs() {\n this.#raw.run();\n }\n #get(...args) {\n if (args.length === 0)\n return this.#getNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.get(args) : this.#raw.get(...args);\n }\n #all(...args) {\n if (args.length === 0)\n return this.#allNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.all(args) : this.#raw.all(...args);\n }\n #values(...args) {\n if (args.length === 0)\n return this.#valuesNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.values(args) : this.#raw.values(...args);\n }\n #run(...args) {\n if (args.length === 0)\n return this.#runNoArgs();\n var arg0 = args[0];\n !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.run(args) : this.#raw.run(...args);\n }\n get columnNames() {\n return this.#raw.columns;\n }\n get paramsCount() {\n return this.#raw.paramsCount;\n }\n finalize(...args) {\n return this.isFinalized = !0, this.#raw.finalize(...args);\n }\n}\nvar cachedCount = Symbol.for(\"Bun.Database.cache.count\");\n\nclass Database {\n constructor(filenameGiven, options) {\n if (typeof filenameGiven === \"undefined\")\n ;\n else if (typeof filenameGiven !== \"string\") {\n if (isTypedArray(filenameGiven)) {\n this.#handle = Database.#deserialize(filenameGiven, typeof options === \"object\" && options \? !!options.readonly : ((options | 0) & constants.SQLITE_OPEN_READONLY) != 0), this.filename = \":memory:\";\n return;\n }\n @throwTypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`);\n }\n var filename = typeof filenameGiven === \"string\" \? filenameGiven.trim() : \":memory:\", flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (typeof options === \"object\" && options) {\n if (flags = 0, options.readonly)\n flags = constants.SQLITE_OPEN_READONLY;\n if (\"readOnly\" in options)\n @throwTypeError('Misspelled option \"readOnly\" should be \"readonly\"');\n if (options.create)\n flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (options.readwrite)\n flags |= constants.SQLITE_OPEN_READWRITE;\n } else if (typeof options === \"number\")\n flags = options;\n const anonymous = filename === \"\" || filename === \":memory:\";\n if (anonymous && (flags & constants.SQLITE_OPEN_READONLY) !== 0)\n throw new Error(\"Cannot open an anonymous database in read-only mode.\");\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n this.#handle = SQL.open(anonymous \? \":memory:\" : filename, flags), this.filename = filename;\n }\n #handle;\n #cachedQueriesKeys = [];\n #cachedQueriesLengths = [];\n #cachedQueriesValues = [];\n filename;\n get handle() {\n return this.#handle;\n }\n get inTransaction() {\n return SQL.isInTransaction(this.#handle);\n }\n static open(filename, options) {\n return new Database(filename, options);\n }\n loadExtension(name, entryPoint) {\n return SQL.loadExtension(this.#handle, name, entryPoint);\n }\n serialize(optionalName) {\n return SQL.serialize(this.#handle, optionalName || \"main\");\n }\n static #deserialize(serialized, isReadOnly = !1) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.deserialize(serialized, isReadOnly);\n }\n static deserialize(serialized, isReadOnly = !1) {\n return new Database(serialized, isReadOnly \? constants.SQLITE_OPEN_READONLY : 0);\n }\n static setCustomSQLite(path) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.setCustomSQLite(path);\n }\n close() {\n return this.clearQueryCache(), SQL.close(this.#handle);\n }\n clearQueryCache() {\n for (let item of this.#cachedQueriesValues)\n item.finalize();\n this.#cachedQueriesKeys.length = 0, this.#cachedQueriesValues.length = 0, this.#cachedQueriesLengths.length = 0;\n }\n run(query, ...params) {\n if (params.length === 0) {\n SQL.run(this.#handle, query);\n return;\n }\n var arg0 = params[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? SQL.run(this.#handle, query, params) : SQL.run(this.#handle, query, ...params);\n }\n prepare(query, params, flags) {\n return new Statement(SQL.prepare(this.#handle, query, params, flags || 0));\n }\n static MAX_QUERY_CACHE_SIZE = 20;\n get [cachedCount]() {\n return this.#cachedQueriesKeys.length;\n }\n query(query) {\n if (typeof query !== \"string\")\n @throwTypeError(`Expected 'query' to be a string, got '${typeof query}'`);\n if (query.length === 0)\n throw new Error(\"SQL query cannot be empty.\");\n const willCache = this.#cachedQueriesKeys.length < Database.MAX_QUERY_CACHE_SIZE;\n var index = this.#cachedQueriesLengths.indexOf(query.length);\n while (index !== -1) {\n if (this.#cachedQueriesKeys[index] !== query) {\n index = this.#cachedQueriesLengths.indexOf(query.length, index + 1);\n continue;\n }\n var stmt = this.#cachedQueriesValues[index];\n if (stmt.isFinalized)\n return this.#cachedQueriesValues[index] = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n return stmt;\n }\n var stmt = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n if (willCache)\n this.#cachedQueriesKeys.push(query), this.#cachedQueriesLengths.push(query.length), this.#cachedQueriesValues.push(stmt);\n return stmt;\n }\n transaction(fn, self) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"Expected first argument to be a function\");\n const db = this, controller = getController(db, self), properties = {\n default: { value: wrapTransaction(fn, db, controller.default) },\n deferred: { value: wrapTransaction(fn, db, controller.deferred) },\n immediate: {\n value: wrapTransaction(fn, db, controller.immediate)\n },\n exclusive: {\n value: wrapTransaction(fn, db, controller.exclusive)\n },\n database: { value: this, enumerable: !0 }\n };\n return defineProperties(properties.default.value, properties), defineProperties(properties.deferred.value, properties), defineProperties(properties.immediate.value, properties), defineProperties(properties.exclusive.value, properties), properties.default.value;\n }\n}\nDatabase.prototype.exec = Database.prototype.run;\nvar getController = (db, self) => {\n let controller = (controllers ||= new WeakMap).get(db);\n if (!controller) {\n const shared = {\n commit: db.prepare(\"COMMIT\", @undefined, 0),\n rollback: db.prepare(\"ROLLBACK\", @undefined, 0),\n savepoint: db.prepare(\"SAVEPOINT `\\t_bs3.\\t`\", @undefined, 0),\n release: db.prepare(\"RELEASE `\\t_bs3.\\t`\", @undefined, 0),\n rollbackTo: db.prepare(\"ROLLBACK TO `\\t_bs3.\\t`\", @undefined, 0)\n };\n controllers.set(db, controller = {\n default: Object.assign({ begin: db.prepare(\"BEGIN\", @undefined, 0) }, shared),\n deferred: Object.assign({ begin: db.prepare(\"BEGIN DEFERRED\", @undefined, 0) }, shared),\n immediate: Object.assign({ begin: db.prepare(\"BEGIN IMMEDIATE\", @undefined, 0) }, shared),\n exclusive: Object.assign({ begin: db.prepare(\"BEGIN EXCLUSIVE\", @undefined, 0) }, shared)\n });\n }\n return controller;\n}, wrapTransaction = (fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function transaction(...args) {\n let before, after, undo;\n if (db.inTransaction)\n before = savepoint, after = release, undo = rollbackTo;\n else\n before = begin, after = commit, undo = rollback;\n try {\n before.run();\n const result = fn.@apply(this, args);\n return after.run(), result;\n } catch (ex) {\n if (db.inTransaction) {\n if (undo.run(), undo !== rollback)\n after.run();\n }\n throw ex;\n }\n};\n$ = {\n __esModule: !0,\n Database,\n Statement,\n constants,\n default: Database\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalDebuggerCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/debugger.ts\nvar versionInfo = function() {\n return {\n \"Protocol-Version\": \"1.3\",\n Browser: \"Bun\",\n \"User-Agent\": navigator.userAgent,\n \"WebKit-Version\": process.versions.webkit,\n \"Bun-Version\": Bun.version,\n \"Bun-Revision\": Bun.revision\n };\n}, webSocketWriter = function(ws) {\n return {\n write: (message) => !!ws.sendText(message),\n close: () => ws.close()\n };\n}, socketWriter = function(socket) {\n return {\n write: (message) => !!socket.write(message),\n close: () => socket.end()\n };\n}, bufferedWriter = function(writer) {\n let draining = !1, pendingMessages = [];\n return {\n write: (message) => {\n if (draining || !writer.write(message))\n pendingMessages.push(message);\n return !0;\n },\n drain: () => {\n draining = !0;\n try {\n for (let i = 0;i < pendingMessages.length; i++)\n if (!writer.write(pendingMessages[i])) {\n pendingMessages = pendingMessages.slice(i);\n return;\n }\n } finally {\n draining = !1;\n }\n },\n close: () => {\n writer.close(), pendingMessages.length = 0;\n }\n };\n}, parseUrl = function(url) {\n try {\n if (!url)\n return new URL(randomId(), `ws://${defaultHostname}:${defaultPort}/`);\n else if (url.startsWith(\"/\"))\n return new URL(url, `ws://${defaultHostname}:${defaultPort}/`);\n else if (/^[a-z+]+:\\/\\//i.test(url))\n return new URL(url);\n else if (/^\\d+$/.test(url))\n return new URL(randomId(), `ws://${defaultHostname}:${url}/`);\n else if (!url.includes(\"/\") && url.includes(\":\"))\n return new URL(randomId(), `ws://${url}/`);\n else if (!url.includes(\":\")) {\n const [hostname, pathname] = url.split(\"/\", 2);\n return new URL(`ws://${hostname}:${defaultPort}/${pathname}`);\n } else\n return new URL(randomId(), `ws://${url}`);\n } catch {\n @throwTypeError(`Invalid hostname or URL: '${url}'`);\n }\n}, randomId = function() {\n return Math.random().toString(36).slice(2);\n}, dim = function(string) {\n if (enableANSIColors)\n return `\\x1B[2m${string}\\x1B[22m`;\n return string;\n}, link = function(url) {\n if (enableANSIColors)\n return `\\x1B[1m\\x1B]8;;${url}\\x1B\\\\${url}\\x1B]8;;\\x1B\\\\\\x1B[22m`;\n return url;\n}, reset = function() {\n if (enableANSIColors)\n return \"\\x1B[49m\";\n return \"\";\n}, notify = function(unix) {\n Bun.connect({\n unix,\n socket: {\n open: (socket) => {\n socket.end(\"1\");\n },\n data: () => {\n }\n }\n }).finally(() => {\n });\n}, exit = function(...args) {\n console.error(...args), process.exit(1);\n}, $;\n$ = function(executionContextId, url, createBackend, send, close) {\n let debug;\n try {\n debug = new Debugger(executionContextId, url, createBackend, send, close);\n } catch (error) {\n exit(\"Failed to start inspector:\\n\", error);\n }\n const { protocol, href, host, pathname } = debug.url;\n if (!protocol.includes(\"unix\")) {\n if (console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset()), console.log(`Listening:\\n ${dim(href)}`), protocol.includes(\"ws\"))\n console.log(`Inspect in browser:\\n ${link(`https://debug.bun.sh/#${host}${pathname}`)}`);\n console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset());\n }\n const unix = process.env.BUN_INSPECT_NOTIFY;\n if (unix) {\n const { protocol: protocol2, pathname: pathname2 } = parseUrl(unix);\n if (protocol2 === \"unix:\")\n notify(pathname2);\n }\n};\n\nclass Debugger {\n #url;\n #createBackend;\n constructor(executionContextId, url, createBackend, send, close) {\n this.#url = parseUrl(url), this.#createBackend = (refEventLoop, receive) => {\n const backend = createBackend(executionContextId, refEventLoop, receive);\n return {\n write: (message) => {\n return send.@call(backend, message), !0;\n },\n close: () => close.@call(backend)\n };\n }, this.#listen();\n }\n get url() {\n return this.#url;\n }\n #listen() {\n const { protocol, hostname, port, pathname } = this.#url;\n if (protocol === \"ws:\" || protocol === \"ws+tcp:\") {\n const server = Bun.serve({\n hostname,\n port,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n this.#url.hostname = server.hostname, this.#url.port = `${server.port}`;\n return;\n }\n if (protocol === \"ws+unix:\") {\n Bun.serve({\n unix: pathname,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n return;\n }\n @throwTypeError(`Unsupported protocol: '${protocol}' (expected 'ws:', 'ws+unix:', or 'unix:')`);\n }\n get #websocket() {\n return {\n idleTimeout: 0,\n closeOnBackpressureLimit: !1,\n open: (ws) => this.#open(ws, webSocketWriter(ws)),\n message: (ws, message) => {\n if (typeof message === \"string\")\n this.#message(ws, message);\n else\n this.#error(ws, new Error(`Unexpected binary message: ${message.toString()}`));\n },\n drain: (ws) => this.#drain(ws),\n close: (ws) => this.#close(ws)\n };\n }\n #fetch(request, server) {\n const { method, url, headers } = request, { pathname } = new URL(url);\n if (method !== \"GET\")\n return new Response(null, {\n status: 405\n });\n switch (pathname) {\n case \"/json/version\":\n return Response.json(versionInfo());\n case \"/json\":\n case \"/json/list\":\n }\n if (!this.#url.protocol.includes(\"unix\") && this.#url.pathname !== pathname)\n return new Response(null, {\n status: 404\n });\n const data = {\n refEventLoop: headers.get(\"Ref-Event-Loop\") === \"0\"\n };\n if (!server.upgrade(request, { data }))\n return new Response(null, {\n status: 426,\n headers: {\n Upgrade: \"websocket\"\n }\n });\n }\n get #socket() {\n return {\n open: (socket) => this.#open(socket, socketWriter(socket)),\n data: (socket, message) => this.#message(socket, message.toString()),\n drain: (socket) => this.#drain(socket),\n close: (socket) => this.#close(socket),\n error: (socket, error) => this.#error(socket, error),\n connectError: (_, error) => exit(\"Failed to start inspector:\\n\", error)\n };\n }\n #open(connection, writer) {\n const { data } = connection, { refEventLoop } = data, client = bufferedWriter(writer), backend = this.#createBackend(refEventLoop, (...messages) => {\n for (let message of messages)\n client.write(message);\n });\n data.client = client, data.backend = backend;\n }\n #message(connection, message) {\n const { data } = connection, { backend } = data;\n backend\?.write(message);\n }\n #drain(connection) {\n const { data } = connection, { client } = data;\n client\?.drain\?.();\n }\n #close(connection) {\n const { data } = connection, { backend } = data;\n backend\?.close();\n }\n #error(connection, error) {\n const { data } = connection, { backend } = data;\n console.error(error), backend\?.close();\n }\n}\nvar defaultHostname = \"localhost\", defaultPort = 6499, { enableANSIColors } = Bun;\nreturn $})\n"); +static constexpr ASCIILiteral InternalDebuggerCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/debugger.ts\nvar versionInfo = function() {\n return {\n \"Protocol-Version\": \"1.3\",\n Browser: \"Bun\",\n \"User-Agent\": navigator.userAgent,\n \"WebKit-Version\": process.versions.webkit,\n \"Bun-Version\": Bun.version,\n \"Bun-Revision\": Bun.revision\n };\n}, webSocketWriter = function(ws) {\n return {\n write: (message) => !!ws.sendText(message),\n close: () => ws.close()\n };\n}, socketWriter = function(socket) {\n return {\n write: (message) => !!socket.write(message),\n close: () => socket.end()\n };\n}, bufferedWriter = function(writer) {\n let draining = !1, pendingMessages = [];\n return {\n write: (message) => {\n if (draining || !writer.write(message))\n pendingMessages.push(message);\n return !0;\n },\n drain: () => {\n draining = !0;\n try {\n for (let i = 0;i < pendingMessages.length; i++)\n if (!writer.write(pendingMessages[i])) {\n pendingMessages = pendingMessages.slice(i);\n return;\n }\n } finally {\n draining = !1;\n }\n },\n close: () => {\n writer.close(), pendingMessages.length = 0;\n }\n };\n}, parseUrl = function(url) {\n try {\n if (!url)\n return new URL(randomId(), `ws://${defaultHostname}:${defaultPort}/`);\n else if (url.startsWith(\"/\"))\n return new URL(url, `ws://${defaultHostname}:${defaultPort}/`);\n else if (/^[a-z+]+:\\/\\//i.test(url))\n return new URL(url);\n else if (/^\\d+$/.test(url))\n return new URL(randomId(), `ws://${defaultHostname}:${url}/`);\n else if (!url.includes(\"/\") && url.includes(\":\"))\n return new URL(randomId(), `ws://${url}/`);\n else if (!url.includes(\":\")) {\n const [hostname, pathname] = url.split(\"/\", 2);\n return new URL(`ws://${hostname}:${defaultPort}/${pathname}`);\n } else\n return new URL(randomId(), `ws://${url}`);\n } catch {\n @throwTypeError(`Invalid hostname or URL: '${url}'`);\n }\n}, randomId = function() {\n return Math.random().toString(36).slice(2);\n}, dim = function(string) {\n if (enableANSIColors)\n return `\\x1B[2m${string}\\x1B[22m`;\n return string;\n}, link = function(url) {\n if (enableANSIColors)\n return `\\x1B[1m\\x1B]8;;${url}\\x1B\\\\${url}\\x1B]8;;\\x1B\\\\\\x1B[22m`;\n return url;\n}, reset = function() {\n if (enableANSIColors)\n return \"\\x1B[49m\";\n return \"\";\n}, notify = function(unix) {\n Bun.connect({\n unix,\n socket: {\n open: (socket) => {\n socket.end(\"1\");\n },\n data: () => {\n }\n }\n }).finally(() => {\n });\n}, exit = function(...args) {\n console.error(...args), process.exit(1);\n}, $;\n$ = function(executionContextId, url, createBackend, send, close) {\n let debug;\n try {\n debug = new Debugger(executionContextId, url, createBackend, send, close);\n } catch (error) {\n exit(\"Failed to start inspector:\\n\", error);\n }\n const { protocol, href, host, pathname } = debug.url;\n if (!protocol.includes(\"unix\")) {\n if (console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset()), console.log(`Listening:\\n ${dim(href)}`), protocol.includes(\"ws\"))\n console.log(`Inspect in browser:\\n ${link(`https://debug.bun.sh/#${host}${pathname}`)}`);\n console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset());\n }\n const unix = process.env.BUN_INSPECT_NOTIFY;\n if (unix) {\n const { protocol: protocol2, pathname: pathname2 } = parseUrl(unix);\n if (protocol2 === \"unix:\")\n notify(pathname2);\n }\n};\n\nclass Debugger {\n #url;\n #createBackend;\n constructor(executionContextId, url, createBackend, send, close) {\n this.#url = parseUrl(url), this.#createBackend = (refEventLoop, receive) => {\n const backend = createBackend(executionContextId, refEventLoop, receive);\n return {\n write: (message) => {\n return send.@call(backend, message), !0;\n },\n close: () => close.@call(backend)\n };\n }, this.#listen();\n }\n get url() {\n return this.#url;\n }\n #listen() {\n const { protocol, hostname, port, pathname } = this.#url;\n if (protocol === \"ws:\" || protocol === \"ws+tcp:\") {\n const server = Bun.serve({\n hostname,\n port,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n this.#url.hostname = server.hostname, this.#url.port = `${server.port}`;\n return;\n }\n if (protocol === \"ws+unix:\") {\n Bun.serve({\n unix: pathname,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n return;\n }\n @throwTypeError(`Unsupported protocol: '${protocol}' (expected 'ws:', 'ws+unix:', or 'unix:')`);\n }\n get #websocket() {\n return {\n idleTimeout: 0,\n closeOnBackpressureLimit: !1,\n open: (ws) => this.#open(ws, webSocketWriter(ws)),\n message: (ws, message) => {\n if (typeof message === \"string\")\n this.#message(ws, message);\n else\n this.#error(ws, new Error(`Unexpected binary message: ${message.toString()}`));\n },\n drain: (ws) => this.#drain(ws),\n close: (ws) => this.#close(ws)\n };\n }\n #fetch(request, server) {\n const { method, url, headers } = request, { pathname } = new URL(url);\n if (method !== \"GET\")\n return new Response(null, {\n status: 405\n });\n switch (pathname) {\n case \"/json/version\":\n return Response.json(versionInfo());\n case \"/json\":\n case \"/json/list\":\n }\n if (!this.#url.protocol.includes(\"unix\") && this.#url.pathname !== pathname)\n return new Response(null, {\n status: 404\n });\n const data = {\n refEventLoop: headers.get(\"Ref-Event-Loop\") === \"0\"\n };\n if (!server.upgrade(request, { data }))\n return new Response(null, {\n status: 426,\n headers: {\n Upgrade: \"websocket\"\n }\n });\n }\n get #socket() {\n return {\n open: (socket) => this.#open(socket, socketWriter(socket)),\n data: (socket, message) => this.#message(socket, message.toString()),\n drain: (socket) => this.#drain(socket),\n close: (socket) => this.#close(socket),\n error: (socket, error) => this.#error(socket, error),\n connectError: (_, error) => exit(\"Failed to start inspector:\\n\", error)\n };\n }\n #open(connection, writer) {\n const { data } = connection, { refEventLoop } = data, client = bufferedWriter(writer), backend = this.#createBackend(refEventLoop, (...messages) => {\n for (let message of messages)\n client.write(message);\n });\n data.client = client, data.backend = backend;\n }\n #message(connection, message) {\n const { data } = connection, { backend } = data;\n backend\?.write(message);\n }\n #drain(connection) {\n const { data } = connection, { client } = data;\n client\?.drain\?.();\n }\n #close(connection) {\n const { data } = connection, { backend } = data;\n backend\?.close();\n }\n #error(connection, error) {\n const { data } = connection, { backend } = data;\n console.error(error), backend\?.close();\n }\n}\nvar defaultHostname = \"localhost\", defaultPort = 6499, { enableANSIColors } = Bun;\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalFSCpSyncCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/fs/cp-sync.ts\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n}, cpSyncFn = function(src, dest, opts) {\n const { srcStat, destStat, skipped } = checkPathsSync(src, dest, opts);\n if (skipped)\n return;\n return checkParentPathsSync(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}, checkPathsSync = function(src, dest, opts) {\n if (opts.filter) {\n const shouldCopy = opts.filter(src, dest);\n if (isPromise(shouldCopy))\n throw new Error(\"Expected a boolean from the filter function, but got a promise. Use `fs.promises.cp` instead.\");\n if (!shouldCopy)\n return { __proto__: null, skipped: !0 };\n }\n const { srcStat, destStat } = getStatsSync(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"src and dest cannot be the same\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}, getStatsSync = function(src, dest, opts) {\n let destStat;\n const statFunc = opts.dereference \? (file) => statSync(file, { bigint: !0 }) : (file) => lstatSync(file, { bigint: !0 }), srcStat = statFunc(src);\n try {\n destStat = statFunc(dest);\n } catch (err) {\n if (err.code === \"ENOENT\")\n return { srcStat, destStat: null };\n throw err;\n }\n return { srcStat, destStat };\n}, checkParentPathsSync = function(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = statSync(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPathsSync(src, srcStat, destParent);\n}, checkParentDir = function(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (!existsSync(destParent))\n mkdirSync(destParent, { recursive: !0 });\n return getStats(destStat, src, dest, opts);\n}, getStats = function(destStat, src, dest, opts) {\n const srcStat = (opts.dereference \? statSync : lstatSync)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}, onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n}, mayCopyFile = function(srcStat, src, dest, opts) {\n if (opts.force)\n return unlinkSync(dest), copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}, copyFile = function(srcStat, src, dest, opts) {\n if (copyFileSync(src, dest, opts.mode), opts.preserveTimestamps)\n handleTimestamps(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}, handleTimestamps = function(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n makeFileWritable(dest, srcMode);\n return setDestTimestamps(src, dest);\n}, fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n}, setDestMode = function(dest, srcMode) {\n return chmodSync(dest, srcMode);\n}, setDestTimestamps = function(src, dest) {\n const updatedSrcStat = statSync(src);\n return utimesSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}, onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n}, mkDirAndCopy = function(srcMode, src, dest, opts) {\n return mkdirSync(dest), copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}, copyDir = function(src, dest, opts) {\n for (let dirent of readdirSync(src, { withFileTypes: !0 })) {\n const { name } = dirent, srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = checkPathsSync(srcItem, destItem, opts);\n if (!skipped)\n getStats(destStat, srcItem, destItem, opts);\n }\n}, onLink = function(destStat, src, dest, opts) {\n let resolvedSrc = readlinkSync(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlinkSync(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = readlinkSync(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlinkSync(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if (statSync(dest).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}, copyLink = function(resolvedSrc, dest) {\n return unlinkSync(dest), symlinkSync(resolvedSrc, dest);\n}, ArrayPrototypeEvery = @Array.prototype.every, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit.@call(resolve(path), sep), Boolean), {\n chmodSync,\n copyFileSync,\n existsSync,\n lstatSync,\n mkdirSync,\n readdirSync,\n readlinkSync,\n statSync,\n symlinkSync,\n unlinkSync,\n utimesSync\n} = @getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), { isPromise } = @requireNativeModule(\"util/types\");\nreturn cpSyncFn})\n"); +static constexpr ASCIILiteral InternalFSCpSyncCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/fs/cp-sync.ts\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n}, cpSyncFn = function(src, dest, opts) {\n const { srcStat, destStat, skipped } = checkPathsSync(src, dest, opts);\n if (skipped)\n return;\n return checkParentPathsSync(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}, checkPathsSync = function(src, dest, opts) {\n if (opts.filter) {\n const shouldCopy = opts.filter(src, dest);\n if (isPromise(shouldCopy))\n throw new Error(\"Expected a boolean from the filter function, but got a promise. Use `fs.promises.cp` instead.\");\n if (!shouldCopy)\n return { __proto__: null, skipped: !0 };\n }\n const { srcStat, destStat } = getStatsSync(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"src and dest cannot be the same\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}, getStatsSync = function(src, dest, opts) {\n let destStat;\n const statFunc = opts.dereference \? (file) => statSync(file, { bigint: !0 }) : (file) => lstatSync(file, { bigint: !0 }), srcStat = statFunc(src);\n try {\n destStat = statFunc(dest);\n } catch (err) {\n if (err.code === \"ENOENT\")\n return { srcStat, destStat: null };\n throw err;\n }\n return { srcStat, destStat };\n}, checkParentPathsSync = function(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = statSync(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPathsSync(src, srcStat, destParent);\n}, checkParentDir = function(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (!existsSync(destParent))\n mkdirSync(destParent, { recursive: !0 });\n return getStats(destStat, src, dest, opts);\n}, getStats = function(destStat, src, dest, opts) {\n const srcStat = (opts.dereference \? statSync : lstatSync)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}, onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n}, mayCopyFile = function(srcStat, src, dest, opts) {\n if (opts.force)\n return unlinkSync(dest), copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}, copyFile = function(srcStat, src, dest, opts) {\n if (copyFileSync(src, dest, opts.mode), opts.preserveTimestamps)\n handleTimestamps(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}, handleTimestamps = function(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n makeFileWritable(dest, srcMode);\n return setDestTimestamps(src, dest);\n}, fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n}, setDestMode = function(dest, srcMode) {\n return chmodSync(dest, srcMode);\n}, setDestTimestamps = function(src, dest) {\n const updatedSrcStat = statSync(src);\n return utimesSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}, onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n}, mkDirAndCopy = function(srcMode, src, dest, opts) {\n return mkdirSync(dest), copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}, copyDir = function(src, dest, opts) {\n for (let dirent of readdirSync(src, { withFileTypes: !0 })) {\n const { name } = dirent, srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = checkPathsSync(srcItem, destItem, opts);\n if (!skipped)\n getStats(destStat, srcItem, destItem, opts);\n }\n}, onLink = function(destStat, src, dest, opts) {\n let resolvedSrc = readlinkSync(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlinkSync(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = readlinkSync(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlinkSync(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if (statSync(dest).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}, copyLink = function(resolvedSrc, dest) {\n return unlinkSync(dest), symlinkSync(resolvedSrc, dest);\n}, ArrayPrototypeEvery = @Array.prototype.every, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit.@call(resolve(path), sep), Boolean), {\n chmodSync,\n copyFileSync,\n existsSync,\n lstatSync,\n mkdirSync,\n readdirSync,\n readlinkSync,\n statSync,\n symlinkSync,\n unlinkSync,\n utimesSync\n} = @getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), { isPromise } = @requireNativeModule(\"util/types\");\nreturn cpSyncFn})\n"); // // -static constexpr ASCIILiteral InternalFSCpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/fs/cp.ts\nasync function cpFn(src, dest, opts) {\n const stats = await checkPaths(src, dest, opts), { srcStat, destStat, skipped } = stats;\n if (skipped)\n return;\n return await checkParentPaths(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}\nasync function checkPaths(src, dest, opts) {\n if (opts.filter && !await opts.filter(src, dest))\n return { __proto__: null, skipped: !0 };\n const { 0: srcStat, 1: destStat } = await getStats(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"Source and destination must not be the same.\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, getStats = function(src, dest, opts) {\n const statFunc = opts.dereference \? (file) => stat(file, { bigint: !0 }) : (file) => lstat(file, { bigint: !0 });\n return SafePromiseAll([\n statFunc(src),\n PromisePrototypeThen.@call(statFunc(dest), @undefined, (err) => {\n if (err.code === \"ENOENT\")\n return null;\n throw err;\n })\n ]);\n};\nasync function checkParentDir(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (await pathExists(destParent))\n return getStatsForCopy(destStat, src, dest, opts);\n return await mkdir(destParent, { recursive: !0 }), getStatsForCopy(destStat, src, dest, opts);\n}\nvar pathExists = function(dest) {\n return PromisePrototypeThen(stat(dest), () => !0, (err) => err.code === \"ENOENT\" \? !1 : PromiseReject(err));\n};\nasync function checkParentPaths(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = await stat(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPaths(src, srcStat, destParent);\n}\nvar isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n};\nasync function getStatsForCopy(destStat, src, dest, opts) {\n const srcStat = await (opts.dereference \? stat : lstat)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}\nvar onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return _copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n};\nasync function mayCopyFile(srcStat, src, dest, opts) {\n if (opts.force)\n return await unlink(dest), _copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}\nasync function _copyFile(srcStat, src, dest, opts) {\n if (await copyFile(src, dest, opts.mode), opts.preserveTimestamps)\n return handleTimestampsAndMode(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}\nasync function handleTimestampsAndMode(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n return await makeFileWritable(dest, srcMode), setDestTimestampsAndMode(srcMode, src, dest);\n return setDestTimestampsAndMode(srcMode, src, dest);\n}\nvar fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n};\nasync function setDestTimestampsAndMode(srcMode, src, dest) {\n return await setDestTimestamps(src, dest), setDestMode(dest, srcMode);\n}\nvar setDestMode = function(dest, srcMode) {\n return chmod(dest, srcMode);\n};\nasync function setDestTimestamps(src, dest) {\n const updatedSrcStat = await stat(src);\n return utimes(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}\nvar onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n};\nasync function mkDirAndCopy(srcMode, src, dest, opts) {\n return await mkdir(dest), await copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}\nasync function copyDir(src, dest, opts) {\n const dir = await opendir(src);\n for await (let { name } of dir) {\n const srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = await checkPaths(srcItem, destItem, opts);\n if (!skipped)\n await getStatsForCopy(destStat, srcItem, destItem, opts);\n }\n}\nasync function onLink(destStat, src, dest, opts) {\n let resolvedSrc = await readlink(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlink(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = await readlink(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlink(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if ((await stat(src)).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}\nasync function copyLink(resolvedSrc, dest) {\n return await unlink(dest), symlink(resolvedSrc, dest);\n}\nvar { chmod, copyFile, lstat, mkdir, opendir, readlink, stat, symlink, unlink, utimes } = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), SafePromiseAll = @Promise.all, PromisePrototypeThen = @Promise.prototype.then, PromiseReject = @Promise.reject, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, ArrayPrototypeEvery = @Array.prototype.every, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit(resolve(path), sep), Boolean);\nreturn cpFn})\n"); +static constexpr ASCIILiteral InternalFSCpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/fs/cp.ts\nasync function cpFn(src, dest, opts) {\n const stats = await checkPaths(src, dest, opts), { srcStat, destStat, skipped } = stats;\n if (skipped)\n return;\n return await checkParentPaths(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}\nasync function checkPaths(src, dest, opts) {\n if (opts.filter && !await opts.filter(src, dest))\n return { __proto__: null, skipped: !0 };\n const { 0: srcStat, 1: destStat } = await getStats(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"Source and destination must not be the same.\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, getStats = function(src, dest, opts) {\n const statFunc = opts.dereference \? (file) => stat(file, { bigint: !0 }) : (file) => lstat(file, { bigint: !0 });\n return SafePromiseAll([\n statFunc(src),\n PromisePrototypeThen.@call(statFunc(dest), @undefined, (err) => {\n if (err.code === \"ENOENT\")\n return null;\n throw err;\n })\n ]);\n};\nasync function checkParentDir(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (await pathExists(destParent))\n return getStatsForCopy(destStat, src, dest, opts);\n return await mkdir(destParent, { recursive: !0 }), getStatsForCopy(destStat, src, dest, opts);\n}\nvar pathExists = function(dest) {\n return PromisePrototypeThen(stat(dest), () => !0, (err) => err.code === \"ENOENT\" \? !1 : PromiseReject(err));\n};\nasync function checkParentPaths(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = await stat(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPaths(src, srcStat, destParent);\n}\nvar isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n};\nasync function getStatsForCopy(destStat, src, dest, opts) {\n const srcStat = await (opts.dereference \? stat : lstat)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}\nvar onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return _copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n};\nasync function mayCopyFile(srcStat, src, dest, opts) {\n if (opts.force)\n return await unlink(dest), _copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}\nasync function _copyFile(srcStat, src, dest, opts) {\n if (await copyFile(src, dest, opts.mode), opts.preserveTimestamps)\n return handleTimestampsAndMode(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}\nasync function handleTimestampsAndMode(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n return await makeFileWritable(dest, srcMode), setDestTimestampsAndMode(srcMode, src, dest);\n return setDestTimestampsAndMode(srcMode, src, dest);\n}\nvar fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n};\nasync function setDestTimestampsAndMode(srcMode, src, dest) {\n return await setDestTimestamps(src, dest), setDestMode(dest, srcMode);\n}\nvar setDestMode = function(dest, srcMode) {\n return chmod(dest, srcMode);\n};\nasync function setDestTimestamps(src, dest) {\n const updatedSrcStat = await stat(src);\n return utimes(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}\nvar onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n};\nasync function mkDirAndCopy(srcMode, src, dest, opts) {\n return await mkdir(dest), await copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}\nasync function copyDir(src, dest, opts) {\n const dir = await opendir(src);\n for await (let { name } of dir) {\n const srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = await checkPaths(srcItem, destItem, opts);\n if (!skipped)\n await getStatsForCopy(destStat, srcItem, destItem, opts);\n }\n}\nasync function onLink(destStat, src, dest, opts) {\n let resolvedSrc = await readlink(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlink(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = await readlink(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlink(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if ((await stat(src)).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}\nasync function copyLink(resolvedSrc, dest) {\n return await unlink(dest), symlink(resolvedSrc, dest);\n}\nvar { chmod, copyFile, lstat, mkdir, opendir, readlink, stat, symlink, unlink, utimes } = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), SafePromiseAll = @Promise.all, PromisePrototypeThen = @Promise.prototype.then, PromiseReject = @Promise.reject, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, ArrayPrototypeEvery = @Array.prototype.every, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit(resolve(path), sep), Boolean);\nreturn cpFn})\n"); // // -static constexpr ASCIILiteral InternalPrimordialsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/primordials.ts\nvar getGetter = function(cls, getter) {\n return FunctionPrototypeCall.bind(cls.prototype.__lookupGetter__(getter));\n}, uncurryThis = function(func) {\n return FunctionPrototypeCall.bind(func);\n}, ErrorCaptureStackTrace = function(targetObject) {\n const stack = new Error().stack;\n targetObject.stack = stack.replace(/.*\\n.*/, \"$1\");\n}, $, createSafeIterator = (factory, next) => {\n\n class SafeIterator {\n constructor(iterable) {\n this._iterator = factory(iterable);\n }\n next() {\n return next(this._iterator);\n }\n [Symbol.iterator]() {\n return this;\n }\n }\n return Object.setPrototypeOf(SafeIterator.prototype, null), Object.freeze(SafeIterator.prototype), Object.freeze(SafeIterator), SafeIterator;\n}, FunctionPrototypeCall = @getByIdDirect(Function.prototype, \"call\"), copyProps = (src, dest) => {\n ArrayPrototypeForEach(Reflect.ownKeys(src), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(dest, key))\n Reflect.defineProperty(dest, key, Reflect.getOwnPropertyDescriptor(src, key));\n });\n}, makeSafe = (unsafe, safe) => {\n if (Symbol.iterator in unsafe.prototype) {\n const dummy = new unsafe;\n let next;\n ArrayPrototypeForEach(Reflect.ownKeys(unsafe.prototype), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(safe.prototype, key)) {\n const desc = Reflect.getOwnPropertyDescriptor(unsafe.prototype, key);\n if (typeof desc.value === \"function\" && desc.value.length === 0 && (Symbol.iterator in (desc.value.@call(dummy) || {}))) {\n const createIterator = uncurryThis(desc.value);\n next \?\?= uncurryThis(createIterator(dummy).next);\n const SafeIterator = createSafeIterator(createIterator, next);\n desc.value = function() {\n return new SafeIterator(this);\n };\n }\n Reflect.defineProperty(safe.prototype, key, desc);\n }\n });\n } else\n copyProps(unsafe.prototype, safe.prototype);\n return copyProps(unsafe, safe), Object.setPrototypeOf(safe.prototype, null), Object.freeze(safe.prototype), Object.freeze(safe), safe;\n}, StringIterator = uncurryThis(@String.prototype[Symbol.iterator]), StringIteratorPrototype = Reflect.getPrototypeOf(StringIterator(\"\")), ArrayPrototypeForEach = uncurryThis(@Array.prototype.forEach), arrayProtoPush = @Array.prototype.push;\n$ = {\n makeSafe,\n Array: @Array,\n ArrayFrom: @Array.from,\n ArrayIsArray: @Array.isArray,\n ArrayPrototypeFlat: uncurryThis(@Array.prototype.flat),\n ArrayPrototypeFilter: uncurryThis(@Array.prototype.filter),\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes: uncurryThis(@Array.prototype.includes),\n ArrayPrototypeIndexOf: uncurryThis(@Array.prototype.indexOf),\n ArrayPrototypeJoin: uncurryThis(@Array.prototype.join),\n ArrayPrototypeMap: uncurryThis(@Array.prototype.map),\n ArrayPrototypePop: uncurryThis(@Array.prototype.pop),\n ArrayPrototypePush: uncurryThis(arrayProtoPush),\n ArrayPrototypePushApply: (a, b) => arrayProtoPush.@apply(a, b),\n ArrayPrototypeSlice: uncurryThis(@Array.prototype.slice),\n ArrayPrototypeSort: uncurryThis(@Array.prototype.sort),\n ArrayPrototypeSplice: uncurryThis(@Array.prototype.splice),\n ArrayPrototypeUnshift: uncurryThis(@Array.prototype.unshift),\n BigIntPrototypeValueOf: uncurryThis(BigInt.prototype.valueOf),\n BooleanPrototypeValueOf: uncurryThis(Boolean.prototype.valueOf),\n DatePrototypeGetTime: uncurryThis(Date.prototype.getTime),\n DatePrototypeToISOString: uncurryThis(Date.prototype.toISOString),\n DatePrototypeToString: uncurryThis(Date.prototype.toString),\n ErrorCaptureStackTrace,\n ErrorPrototypeToString: uncurryThis(Error.prototype.toString),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n JSONStringify: JSON.stringify,\n MapPrototypeGetSize: getGetter(Map, \"size\"),\n MapPrototypeEntries: uncurryThis(Map.prototype.entries),\n MapPrototypeValues: uncurryThis(Map.prototype.values),\n MapPrototypeKeys: uncurryThis(Map.prototype.keys),\n MathFloor: Math.floor,\n MathMax: Math.max,\n MathMin: Math.min,\n MathRound: Math.round,\n MathSqrt: Math.sqrt,\n MathTrunc: Math.trunc,\n Number,\n NumberIsFinite: Number.isFinite,\n NumberIsNaN: Number.isNaN,\n NumberParseFloat: Number.parseFloat,\n NumberParseInt: Number.parseInt,\n NumberPrototypeToString: uncurryThis(Number.prototype.toString),\n NumberPrototypeValueOf: uncurryThis(Number.prototype.valueOf),\n Object,\n ObjectAssign: Object.assign,\n ObjectCreate: Object.create,\n ObjectDefineProperty: Object.defineProperty,\n ObjectEntries: Object.entries,\n ObjectGetOwnPropertyDescriptor: Object.getOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors: Object.getOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames: Object.getOwnPropertyNames,\n ObjectGetOwnPropertySymbols: Object.getOwnPropertySymbols,\n ObjectGetPrototypeOf: Object.getPrototypeOf,\n ObjectIs: Object.is,\n ObjectKeys: Object.keys,\n ObjectPrototypeHasOwnProperty: uncurryThis(Object.prototype.hasOwnProperty),\n ObjectPrototypePropertyIsEnumerable: uncurryThis(Object.prototype.propertyIsEnumerable),\n ObjectPrototypeToString: uncurryThis(Object.prototype.toString),\n ObjectSeal: Object.seal,\n ObjectSetPrototypeOf: Object.setPrototypeOf,\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n ReflectOwnKeys: Reflect.ownKeys,\n RegExp: @RegExp,\n RegExpPrototypeExec: uncurryThis(@RegExp.prototype.exec),\n RegExpPrototypeSymbolReplace: uncurryThis(@RegExp.prototype[Symbol.replace]),\n RegExpPrototypeSymbolSplit: uncurryThis(@RegExp.prototype[Symbol.split]),\n RegExpPrototypeTest: uncurryThis(@RegExp.prototype.test),\n RegExpPrototypeToString: uncurryThis(@RegExp.prototype.toString),\n SafeStringIterator: createSafeIterator(StringIterator, uncurryThis(StringIteratorPrototype.next)),\n SafeMap: makeSafe(Map, class SafeMap extends Map {\n constructor(i) {\n super(i);\n }\n }),\n SafeSet: makeSafe(Set, class SafeSet extends Set {\n constructor(i) {\n super(i);\n }\n }),\n SetPrototypeGetSize: getGetter(Set, \"size\"),\n SetPrototypeEntries: uncurryThis(Set.prototype.entries),\n SetPrototypeValues: uncurryThis(Set.prototype.values),\n String: @String,\n StringPrototypeCharCodeAt: uncurryThis(@String.prototype.charCodeAt),\n StringPrototypeCodePointAt: uncurryThis(@String.prototype.codePointAt),\n StringPrototypeEndsWith: uncurryThis(@String.prototype.endsWith),\n StringPrototypeIncludes: uncurryThis(@String.prototype.includes),\n StringPrototypeIndexOf: uncurryThis(@String.prototype.indexOf),\n StringPrototypeLastIndexOf: uncurryThis(@String.prototype.lastIndexOf),\n StringPrototypeMatch: uncurryThis(@String.prototype.match),\n StringPrototypeNormalize: uncurryThis(@String.prototype.normalize),\n StringPrototypePadEnd: uncurryThis(@String.prototype.padEnd),\n StringPrototypePadStart: uncurryThis(@String.prototype.padStart),\n StringPrototypeRepeat: uncurryThis(@String.prototype.repeat),\n StringPrototypeReplace: uncurryThis(@String.prototype.replace),\n StringPrototypeReplaceAll: uncurryThis(@String.prototype.replaceAll),\n StringPrototypeSlice: uncurryThis(@String.prototype.slice),\n StringPrototypeSplit: uncurryThis(@String.prototype.split),\n StringPrototypeStartsWith: uncurryThis(@String.prototype.startsWith),\n StringPrototypeToLowerCase: uncurryThis(@String.prototype.toLowerCase),\n StringPrototypeTrim: uncurryThis(@String.prototype.trim),\n StringPrototypeValueOf: uncurryThis(@String.prototype.valueOf),\n SymbolPrototypeToString: uncurryThis(Symbol.prototype.toString),\n SymbolPrototypeValueOf: uncurryThis(Symbol.prototype.valueOf),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n FunctionPrototypeBind: uncurryThis(Function.prototype.bind),\n SymbolIterator: Symbol.iterator,\n SymbolFor: Symbol.for,\n SymbolToStringTag: Symbol.toStringTag,\n TypedArrayPrototypeGetLength: getGetter(@Uint8Array, \"length\"),\n TypedArrayPrototypeGetSymbolToStringTag: getGetter(@Uint8Array, Symbol.toStringTag),\n Uint8ClampedArray,\n Uint8Array: @Uint8Array,\n Uint16Array,\n Uint32Array,\n Int8Array,\n Int16Array,\n Int32Array,\n Float32Array,\n Float64Array,\n BigUint64Array,\n BigInt64Array,\n uncurryThis\n};\nreturn $})\n"); +static constexpr ASCIILiteral InternalPrimordialsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/primordials.ts\nvar getGetter = function(cls, getter) {\n return FunctionPrototypeCall.bind(cls.prototype.__lookupGetter__(getter));\n}, uncurryThis = function(func) {\n return FunctionPrototypeCall.bind(func);\n}, ErrorCaptureStackTrace = function(targetObject) {\n const stack = new Error().stack;\n targetObject.stack = stack.replace(/.*\\n.*/, \"$1\");\n}, $, createSafeIterator = (factory, next) => {\n\n class SafeIterator {\n constructor(iterable) {\n this._iterator = factory(iterable);\n }\n next() {\n return next(this._iterator);\n }\n [Symbol.iterator]() {\n return this;\n }\n }\n return Object.setPrototypeOf(SafeIterator.prototype, null), Object.freeze(SafeIterator.prototype), Object.freeze(SafeIterator), SafeIterator;\n}, FunctionPrototypeCall = @getByIdDirect(Function.prototype, \"call\"), copyProps = (src, dest) => {\n ArrayPrototypeForEach(Reflect.ownKeys(src), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(dest, key))\n Reflect.defineProperty(dest, key, Reflect.getOwnPropertyDescriptor(src, key));\n });\n}, makeSafe = (unsafe, safe) => {\n if (Symbol.iterator in unsafe.prototype) {\n const dummy = new unsafe;\n let next;\n ArrayPrototypeForEach(Reflect.ownKeys(unsafe.prototype), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(safe.prototype, key)) {\n const desc = Reflect.getOwnPropertyDescriptor(unsafe.prototype, key);\n if (typeof desc.value === \"function\" && desc.value.length === 0 && (Symbol.iterator in (desc.value.@call(dummy) || {}))) {\n const createIterator = uncurryThis(desc.value);\n next \?\?= uncurryThis(createIterator(dummy).next);\n const SafeIterator = createSafeIterator(createIterator, next);\n desc.value = function() {\n return new SafeIterator(this);\n };\n }\n Reflect.defineProperty(safe.prototype, key, desc);\n }\n });\n } else\n copyProps(unsafe.prototype, safe.prototype);\n return copyProps(unsafe, safe), Object.setPrototypeOf(safe.prototype, null), Object.freeze(safe.prototype), Object.freeze(safe), safe;\n}, StringIterator = uncurryThis(@String.prototype[Symbol.iterator]), StringIteratorPrototype = Reflect.getPrototypeOf(StringIterator(\"\")), ArrayPrototypeForEach = uncurryThis(@Array.prototype.forEach), arrayProtoPush = @Array.prototype.push;\n$ = {\n makeSafe,\n Array: @Array,\n ArrayFrom: @Array.from,\n ArrayIsArray: @Array.isArray,\n ArrayPrototypeFlat: uncurryThis(@Array.prototype.flat),\n ArrayPrototypeFilter: uncurryThis(@Array.prototype.filter),\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes: uncurryThis(@Array.prototype.includes),\n ArrayPrototypeIndexOf: uncurryThis(@Array.prototype.indexOf),\n ArrayPrototypeJoin: uncurryThis(@Array.prototype.join),\n ArrayPrototypeMap: uncurryThis(@Array.prototype.map),\n ArrayPrototypePop: uncurryThis(@Array.prototype.pop),\n ArrayPrototypePush: uncurryThis(arrayProtoPush),\n ArrayPrototypePushApply: (a, b) => arrayProtoPush.@apply(a, b),\n ArrayPrototypeSlice: uncurryThis(@Array.prototype.slice),\n ArrayPrototypeSort: uncurryThis(@Array.prototype.sort),\n ArrayPrototypeSplice: uncurryThis(@Array.prototype.splice),\n ArrayPrototypeUnshift: uncurryThis(@Array.prototype.unshift),\n BigIntPrototypeValueOf: uncurryThis(BigInt.prototype.valueOf),\n BooleanPrototypeValueOf: uncurryThis(Boolean.prototype.valueOf),\n DatePrototypeGetTime: uncurryThis(Date.prototype.getTime),\n DatePrototypeToISOString: uncurryThis(Date.prototype.toISOString),\n DatePrototypeToString: uncurryThis(Date.prototype.toString),\n ErrorCaptureStackTrace,\n ErrorPrototypeToString: uncurryThis(Error.prototype.toString),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n JSONStringify: JSON.stringify,\n MapPrototypeGetSize: getGetter(Map, \"size\"),\n MapPrototypeEntries: uncurryThis(Map.prototype.entries),\n MapPrototypeValues: uncurryThis(Map.prototype.values),\n MapPrototypeKeys: uncurryThis(Map.prototype.keys),\n MathFloor: Math.floor,\n MathMax: Math.max,\n MathMin: Math.min,\n MathRound: Math.round,\n MathSqrt: Math.sqrt,\n MathTrunc: Math.trunc,\n Number,\n NumberIsFinite: Number.isFinite,\n NumberIsNaN: Number.isNaN,\n NumberParseFloat: Number.parseFloat,\n NumberParseInt: Number.parseInt,\n NumberPrototypeToString: uncurryThis(Number.prototype.toString),\n NumberPrototypeValueOf: uncurryThis(Number.prototype.valueOf),\n Object,\n ObjectAssign: Object.assign,\n ObjectCreate: Object.create,\n ObjectDefineProperty: Object.defineProperty,\n ObjectEntries: Object.entries,\n ObjectGetOwnPropertyDescriptor: Object.getOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors: Object.getOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames: Object.getOwnPropertyNames,\n ObjectGetOwnPropertySymbols: Object.getOwnPropertySymbols,\n ObjectGetPrototypeOf: Object.getPrototypeOf,\n ObjectIs: Object.is,\n ObjectKeys: Object.keys,\n ObjectPrototypeHasOwnProperty: uncurryThis(Object.prototype.hasOwnProperty),\n ObjectPrototypePropertyIsEnumerable: uncurryThis(Object.prototype.propertyIsEnumerable),\n ObjectPrototypeToString: uncurryThis(Object.prototype.toString),\n ObjectSeal: Object.seal,\n ObjectSetPrototypeOf: Object.setPrototypeOf,\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n ReflectOwnKeys: Reflect.ownKeys,\n RegExp: @RegExp,\n RegExpPrototypeExec: uncurryThis(@RegExp.prototype.exec),\n RegExpPrototypeSymbolReplace: uncurryThis(@RegExp.prototype[Symbol.replace]),\n RegExpPrototypeSymbolSplit: uncurryThis(@RegExp.prototype[Symbol.split]),\n RegExpPrototypeTest: uncurryThis(@RegExp.prototype.test),\n RegExpPrototypeToString: uncurryThis(@RegExp.prototype.toString),\n SafeStringIterator: createSafeIterator(StringIterator, uncurryThis(StringIteratorPrototype.next)),\n SafeMap: makeSafe(Map, class SafeMap extends Map {\n constructor(i) {\n super(i);\n }\n }),\n SafeSet: makeSafe(Set, class SafeSet extends Set {\n constructor(i) {\n super(i);\n }\n }),\n SetPrototypeGetSize: getGetter(Set, \"size\"),\n SetPrototypeEntries: uncurryThis(Set.prototype.entries),\n SetPrototypeValues: uncurryThis(Set.prototype.values),\n String: @String,\n StringPrototypeCharCodeAt: uncurryThis(@String.prototype.charCodeAt),\n StringPrototypeCodePointAt: uncurryThis(@String.prototype.codePointAt),\n StringPrototypeEndsWith: uncurryThis(@String.prototype.endsWith),\n StringPrototypeIncludes: uncurryThis(@String.prototype.includes),\n StringPrototypeIndexOf: uncurryThis(@String.prototype.indexOf),\n StringPrototypeLastIndexOf: uncurryThis(@String.prototype.lastIndexOf),\n StringPrototypeMatch: uncurryThis(@String.prototype.match),\n StringPrototypeNormalize: uncurryThis(@String.prototype.normalize),\n StringPrototypePadEnd: uncurryThis(@String.prototype.padEnd),\n StringPrototypePadStart: uncurryThis(@String.prototype.padStart),\n StringPrototypeRepeat: uncurryThis(@String.prototype.repeat),\n StringPrototypeReplace: uncurryThis(@String.prototype.replace),\n StringPrototypeReplaceAll: uncurryThis(@String.prototype.replaceAll),\n StringPrototypeSlice: uncurryThis(@String.prototype.slice),\n StringPrototypeSplit: uncurryThis(@String.prototype.split),\n StringPrototypeStartsWith: uncurryThis(@String.prototype.startsWith),\n StringPrototypeToLowerCase: uncurryThis(@String.prototype.toLowerCase),\n StringPrototypeTrim: uncurryThis(@String.prototype.trim),\n StringPrototypeValueOf: uncurryThis(@String.prototype.valueOf),\n SymbolPrototypeToString: uncurryThis(Symbol.prototype.toString),\n SymbolPrototypeValueOf: uncurryThis(Symbol.prototype.valueOf),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n FunctionPrototypeBind: uncurryThis(Function.prototype.bind),\n SymbolIterator: Symbol.iterator,\n SymbolFor: Symbol.for,\n SymbolToStringTag: Symbol.toStringTag,\n TypedArrayPrototypeGetLength: getGetter(@Uint8Array, \"length\"),\n TypedArrayPrototypeGetSymbolToStringTag: getGetter(@Uint8Array, Symbol.toStringTag),\n Uint8ClampedArray,\n Uint8Array: @Uint8Array,\n Uint16Array,\n Uint32Array,\n Int8Array,\n Int16Array,\n Int32Array,\n Float32Array,\n Float64Array,\n BigUint64Array,\n BigInt64Array,\n uncurryThis\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalSharedCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/shared.ts\nvar throwNotImplemented = function(feature, issue) {\n throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue);\n}, hideFromStack = function(...fns) {\n for (let fn of fns)\n Object.defineProperty(fn, \"name\", {\n value: \"::bunternal::\"\n });\n}, $;\n\nclass NotImplementedError extends Error {\n code;\n constructor(feature, issue) {\n super(feature + \" is not yet implemented in Bun.\" + (issue \? \" Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/\" + issue : \"\"));\n this.name = \"NotImplementedError\", this.code = \"ERR_NOT_IMPLEMENTED\", hideFromStack(NotImplementedError);\n }\n}\n$ = {\n NotImplementedError,\n throwNotImplemented,\n hideFromStack\n};\nreturn $})\n"); +static constexpr ASCIILiteral InternalSharedCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/shared.ts\nvar throwNotImplemented = function(feature, issue) {\n throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue);\n}, hideFromStack = function(...fns) {\n for (let fn of fns)\n Object.defineProperty(fn, \"name\", {\n value: \"::bunternal::\"\n });\n}, $;\n\nclass NotImplementedError extends Error {\n code;\n constructor(feature, issue) {\n super(feature + \" is not yet implemented in Bun.\" + (issue \? \" Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/\" + issue : \"\"));\n this.name = \"NotImplementedError\", this.code = \"ERR_NOT_IMPLEMENTED\", hideFromStack(NotImplementedError);\n }\n}\n$ = {\n NotImplementedError,\n throwNotImplemented,\n hideFromStack\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalUtilInspectCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/util/inspect.ts\nvar vmSafeInstanceof = function(val, ctor) {\n if (val instanceof ctor)\n return !0;\n while (val) {\n if (typeof val !== \"object\")\n return !1;\n if (ctor.name === internalGetConstructorName(val))\n return !0;\n val = ObjectGetPrototypeOf(val);\n }\n return !1;\n}, checkBox = function(ctor) {\n return (val) => {\n if (!vmSafeInstanceof(val, ctor))\n return !1;\n try {\n ctor.prototype.valueOf.@call(val);\n } catch {\n return !1;\n }\n return !0;\n };\n}, assert = function(p, message) {\n if (!p)\n throw new AssertionError(message);\n}, getUserOptions = function(ctx, isCrossContext) {\n const ret = {\n stylize: ctx.stylize,\n showHidden: ctx.showHidden,\n depth: ctx.depth,\n colors: ctx.colors,\n customInspect: ctx.customInspect,\n showProxy: ctx.showProxy,\n maxArrayLength: ctx.maxArrayLength,\n maxStringLength: ctx.maxStringLength,\n breakLength: ctx.breakLength,\n compact: ctx.compact,\n sorted: ctx.sorted,\n getters: ctx.getters,\n numericSeparator: ctx.numericSeparator,\n ...ctx.userOptions\n };\n if (isCrossContext) {\n ObjectSetPrototypeOf(ret, null);\n for (let key of ObjectKeys(ret))\n if ((typeof ret[key] === \"object\" || typeof ret[key] === \"function\") && ret[key] !== null)\n delete ret[key];\n ret.stylize = ObjectSetPrototypeOf((value, flavour) => {\n let stylized;\n try {\n stylized = `${ctx.stylize(value, flavour)}`;\n } catch {\n }\n if (typeof stylized !== \"string\")\n return value;\n return stylized;\n }, null);\n }\n return ret;\n}, inspect = function(value, opts) {\n const ctx = {\n budget: {},\n indentationLvl: 0,\n seen: [],\n currentDepth: 0,\n stylize: stylizeNoColor,\n showHidden: inspectDefaultOptions.showHidden,\n depth: inspectDefaultOptions.depth,\n colors: inspectDefaultOptions.colors,\n customInspect: inspectDefaultOptions.customInspect,\n showProxy: inspectDefaultOptions.showProxy,\n maxArrayLength: inspectDefaultOptions.maxArrayLength,\n maxStringLength: inspectDefaultOptions.maxStringLength,\n breakLength: inspectDefaultOptions.breakLength,\n compact: inspectDefaultOptions.compact,\n sorted: inspectDefaultOptions.sorted,\n getters: inspectDefaultOptions.getters,\n numericSeparator: inspectDefaultOptions.numericSeparator\n };\n if (arguments.length > 1) {\n if (arguments.length > 2) {\n if (arguments[2] !== @undefined)\n ctx.depth = arguments[2];\n if (arguments.length > 3 && arguments[3] !== @undefined)\n ctx.colors = arguments[3];\n }\n if (typeof opts === \"boolean\")\n ctx.showHidden = opts;\n else if (opts) {\n const optKeys = ObjectKeys(opts);\n for (let i = 0;i < optKeys.length; ++i) {\n const key = optKeys[i];\n if (ObjectPrototypeHasOwnProperty(inspectDefaultOptions, key) || key === \"stylize\")\n ctx[key] = opts[key];\n else if (ctx.userOptions === @undefined)\n ctx.userOptions = opts;\n }\n }\n }\n if (ctx.colors)\n ctx.stylize = stylizeWithColor;\n if (ctx.maxArrayLength === null)\n ctx.maxArrayLength = @Infinity;\n if (ctx.maxStringLength === null)\n ctx.maxStringLength = @Infinity;\n return formatValue(ctx, value, 0);\n}, defineColorAlias = function(target, alias) {\n ObjectDefineProperty(inspect.colors, alias, {\n __proto__: null,\n get() {\n return this[target];\n },\n set(value) {\n this[target] = value;\n },\n configurable: !0,\n enumerable: !1\n });\n}, addQuotes = function(str, quotes) {\n if (quotes === -1)\n return `\"${str}\"`;\n if (quotes === -2)\n return `\\`${str}\\``;\n return `'${str}'`;\n}, escapeFn = function(str) {\n const charCode = StringPrototypeCharCodeAt(str);\n return meta.length > charCode \? meta[charCode] : `\\\\u${NumberPrototypeToString(charCode, 16)}`;\n}, strEscape = function(str) {\n let escapeTest = strEscapeSequencesRegExp, escapeReplace = strEscapeSequencesReplacer, singleQuote = 39;\n if (StringPrototypeIncludes(str, \"'\")) {\n if (!StringPrototypeIncludes(str, '\"'))\n singleQuote = -1;\n else if (!StringPrototypeIncludes(str, \"`\") && !StringPrototypeIncludes(str, \"${\"))\n singleQuote = -2;\n if (singleQuote !== 39)\n escapeTest = strEscapeSequencesRegExpSingle, escapeReplace = strEscapeSequencesReplacerSingle;\n }\n if (str.length < 5000 && RegExpPrototypeExec(escapeTest, str) === null)\n return addQuotes(str, singleQuote);\n if (str.length > 100)\n return str = RegExpPrototypeSymbolReplace(escapeReplace, str, escapeFn), addQuotes(str, singleQuote);\n let result = \"\", last = 0;\n for (let i = 0;i < str.length; i++) {\n const point = StringPrototypeCharCodeAt(str, i);\n if (point === singleQuote || point === 92 || point < 32 || point > 126 && point < 160) {\n if (last === i)\n result += meta[point];\n else\n result += `${StringPrototypeSlice(str, last, i)}${meta[point]}`;\n last = i + 1;\n } else if (point >= 55296 && point <= 57343) {\n if (point <= 56319 && i + 1 < str.length) {\n const point2 = StringPrototypeCharCodeAt(str, i + 1);\n if (point2 >= 56320 && point2 <= 57343) {\n i++;\n continue;\n }\n }\n result += `${StringPrototypeSlice(str, last, i)}\\\\u${NumberPrototypeToString(point, 16)}`, last = i + 1;\n }\n }\n if (last !== str.length)\n result += StringPrototypeSlice(str, last);\n return addQuotes(result, singleQuote);\n}, stylizeWithColor = function(str, styleType) {\n const style = inspect.styles[styleType];\n if (style !== @undefined) {\n const color = inspect.colors[style];\n if (color !== @undefined)\n return `\\x1B[${color[0]}m${str}\\x1B[${color[1]}m`;\n }\n return str;\n}, stylizeNoColor = function(str) {\n return str;\n}, getEmptyFormatArray = function() {\n return [];\n}, isInstanceof = function(object, proto) {\n try {\n return object instanceof proto;\n } catch {\n return !1;\n }\n}, getConstructorName = function(obj, ctx, recurseTimes, protoProps) {\n let firstProto;\n const tmp = obj;\n while (obj || isUndetectableObject(obj)) {\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && descriptor.value.name !== \"\" && isInstanceof(tmp, descriptor.value)) {\n if (protoProps !== @undefined && (firstProto !== obj || !builtInObjects.has(descriptor.value.name)))\n addPrototypeProperties(ctx, tmp, firstProto || tmp, recurseTimes, protoProps);\n return String(descriptor.value.name);\n }\n if (obj = ObjectGetPrototypeOf(obj), firstProto === @undefined)\n firstProto = obj;\n }\n if (firstProto === null)\n return null;\n const res = internalGetConstructorName(tmp);\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return `${res} <Complex prototype>`;\n const protoConstr = getConstructorName(firstProto, ctx, recurseTimes + 1, protoProps);\n if (protoConstr === null)\n return `${res} <${inspect(firstProto, {\n ...ctx,\n customInspect: !1,\n depth: -1\n })}>`;\n return `${res} <${protoConstr}>`;\n}, addPrototypeProperties = function(ctx, main, obj, recurseTimes, output) {\n let depth = 0, keys, keySet;\n do {\n if (depth !== 0 || main === obj) {\n if (obj = ObjectGetPrototypeOf(obj), obj === null)\n return;\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name))\n return;\n }\n if (depth === 0)\n keySet = new SafeSet;\n else\n ArrayPrototypeForEach(keys, (key) => keySet.add(key));\n keys = ReflectOwnKeys(obj), ArrayPrototypePush(ctx.seen, main);\n for (let key of keys) {\n if (key === \"constructor\" || ObjectPrototypeHasOwnProperty(main, key) || depth !== 0 && keySet.has(key))\n continue;\n const desc = ObjectGetOwnPropertyDescriptor(obj, key);\n if (typeof desc.value === \"function\")\n continue;\n const value = formatProperty(ctx, obj, recurseTimes, key, kObjectType, desc, main);\n if (ctx.colors)\n ArrayPrototypePush(output, `\\x1B[2m${value}\\x1B[22m`);\n else\n ArrayPrototypePush(output, value);\n }\n ArrayPrototypePop(ctx.seen);\n } while (++depth !== 3);\n}, getPrefix = function(constructor, tag, fallback, size = \"\") {\n if (constructor === null) {\n if (tag !== \"\" && fallback !== tag)\n return `[${fallback}${size}: null prototype] [${tag}] `;\n return `[${fallback}${size}: null prototype] `;\n }\n if (tag !== \"\" && constructor !== tag)\n return `${constructor}${size} [${tag}] `;\n return `${constructor}${size} `;\n}, getKeys = function(value, showHidden) {\n let keys;\n const symbols = ObjectGetOwnPropertySymbols(value);\n if (showHidden) {\n if (keys = ObjectGetOwnPropertyNames(value), symbols.length !== 0)\n ArrayPrototypePushApply(keys, symbols);\n } else {\n try {\n keys = ObjectKeys(value);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\" && isModuleNamespaceObject(value)), keys = ObjectGetOwnPropertyNames(value);\n }\n if (symbols.length !== 0)\n ArrayPrototypePushApply(keys, ArrayPrototypeFilter(symbols, (key) => ObjectPrototypePropertyIsEnumerable(value, key)));\n }\n return keys;\n}, getCtxStyle = function(value, constructor, tag) {\n let fallback = \"\";\n if (constructor === null) {\n if (fallback = internalGetConstructorName(value), fallback === tag)\n fallback = \"Object\";\n }\n return getPrefix(constructor, tag, fallback);\n}, formatProxy = function(ctx, proxy, recurseTimes) {\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(\"Proxy [Array]\", \"special\");\n recurseTimes += 1, ctx.indentationLvl += 2;\n const res = [formatValue(ctx, proxy[0], recurseTimes), formatValue(ctx, proxy[1], recurseTimes)];\n return ctx.indentationLvl -= 2, reduceToSingleString(ctx, res, \"\", [\"Proxy [\", \"]\"], kArrayExtrasType, recurseTimes);\n}, formatValue = function(ctx, value, recurseTimes, typedArray) {\n if (typeof value !== \"object\" && typeof value !== \"function\" && !isUndetectableObject(value))\n return formatPrimitive(ctx.stylize, value, ctx);\n if (value === null)\n return ctx.stylize(\"null\", \"null\");\n const context = value, proxy = getProxyDetails(value, !!ctx.showProxy);\n if (proxy !== @undefined) {\n if (proxy === null || proxy[0] === null)\n return ctx.stylize(\"<Revoked Proxy>\", \"special\");\n if (ctx.showProxy)\n return formatProxy(ctx, proxy, recurseTimes);\n value = proxy;\n }\n if (ctx.customInspect) {\n const maybeCustom = value[customInspectSymbol];\n if (typeof maybeCustom === \"function\" && maybeCustom !== inspect && !(value.constructor && value.constructor.prototype === value)) {\n const depth = ctx.depth === null \? null : ctx.depth - recurseTimes, isCrossContext = proxy !== @undefined || !(context instanceof Object), ret = maybeCustom.@call(context, depth, getUserOptions(ctx, isCrossContext), inspect);\n if (ret !== context) {\n if (typeof ret !== \"string\")\n return formatValue(ctx, ret, recurseTimes);\n return StringPrototypeReplaceAll(ret, \"\\n\", `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`);\n }\n }\n }\n if (ctx.seen.includes(value)) {\n let index = 1;\n if (ctx.circular === @undefined)\n ctx.circular = new SafeMap, ctx.circular.set(value, index);\n else if (index = ctx.circular.get(value), index === @undefined)\n index = ctx.circular.size + 1, ctx.circular.set(value, index);\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n return formatRaw(ctx, value, recurseTimes, typedArray);\n}, formatRaw = function(ctx, value, recurseTimes, typedArray) {\n let keys, protoProps;\n if (ctx.showHidden && (recurseTimes <= ctx.depth || ctx.depth === null))\n protoProps = [];\n const constructor = getConstructorName(value, ctx, recurseTimes, protoProps);\n if (protoProps !== @undefined && protoProps.length === 0)\n protoProps = @undefined;\n let tag = value[SymbolToStringTag];\n if (typeof tag !== \"string\" || tag !== \"\" && (ctx.showHidden \? ObjectPrototypeHasOwnProperty : ObjectPrototypePropertyIsEnumerable)(value, SymbolToStringTag))\n tag = \"\";\n let base = \"\", formatter = getEmptyFormatArray, braces, noIterator = !0, i = 0;\n const filter = ctx.showHidden \? 0 : 2;\n let extrasType = kObjectType;\n if ((SymbolIterator in value) || constructor === null)\n if (noIterator = !1, ArrayIsArray(value)) {\n const prefix = constructor !== \"Array\" || tag !== \"\" \? getPrefix(constructor, tag, \"Array\", `(${value.length})`) : \"\";\n if (keys = getOwnNonIndexProperties(value, filter), braces = [`${prefix}[`, \"]\"], value.length === 0 && keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}]`;\n extrasType = kArrayExtrasType, formatter = formatArray;\n } else if (isSet(value)) {\n const size = SetPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Set\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatSet, null, value) : FunctionPrototypeBind(formatSet, null, SetPrototypeValues(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isMap(value)) {\n const size = MapPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Map\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatMap, null, value) : FunctionPrototypeBind(formatMap, null, MapPrototypeEntries(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isTypedArray(value)) {\n keys = getOwnNonIndexProperties(value, filter);\n let bound = value, fallback = \"\";\n if (constructor === null)\n fallback = TypedArrayPrototypeGetSymbolToStringTag(value), bound = new primordials[fallback](value);\n const size = TypedArrayPrototypeGetLength(value);\n if (braces = [`${getPrefix(constructor, tag, fallback, `(${size})`)}[`, \"]\"], value.length === 0 && keys.length === 0 && !ctx.showHidden)\n return `${braces[0]}]`;\n formatter = FunctionPrototypeBind(formatTypedArray, null, bound, size), extrasType = kArrayExtrasType;\n } else if (isMapIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Map\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else if (isSetIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Set\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else\n noIterator = !0;\n if (noIterator)\n if (keys = getKeys(value, ctx.showHidden), braces = [\"{\", \"}\"], constructor === \"Object\") {\n if (isArgumentsObject(value))\n braces[0] = \"[Arguments] {\";\n else if (tag !== \"\")\n braces[0] = `${getPrefix(constructor, tag, \"Object\")}{`;\n if (keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}}`;\n } else if (typeof value === \"function\") {\n if (base = getFunctionBase(value, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"special\");\n } else if (isRegExp(value)) {\n base = RegExpPrototypeToString(constructor !== null \? value : new RegExp(value));\n const prefix = getPrefix(constructor, tag, \"RegExp\");\n if (prefix !== \"RegExp \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined || recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(base, \"regexp\");\n } else if (isDate(value)) {\n base = NumberIsNaN(DatePrototypeGetTime(value)) \? DatePrototypeToString(value) : DatePrototypeToISOString(value);\n const prefix = getPrefix(constructor, tag, \"Date\");\n if (prefix !== \"Date \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"date\");\n } else if (value instanceof Error) {\n if (base = formatError(value, constructor, tag, ctx, keys), keys.length === 0 && protoProps === @undefined)\n return base;\n } else if (isAnyArrayBuffer(value)) {\n const arrayType = isArrayBuffer(value) \? \"ArrayBuffer\" : \"SharedArrayBuffer\", prefix = getPrefix(constructor, tag, arrayType);\n if (typedArray === @undefined)\n formatter = formatArrayBuffer;\n else if (keys.length === 0 && protoProps === @undefined)\n return prefix + `{ byteLength: ${formatNumber(ctx.stylize, value.byteLength, !1)} }`;\n braces[0] = `${prefix}{`, ArrayPrototypeUnshift(keys, \"byteLength\");\n } else if (isDataView(value))\n braces[0] = `${getPrefix(constructor, tag, \"DataView\")}{`, ArrayPrototypeUnshift(keys, \"byteLength\", \"byteOffset\", \"buffer\");\n else if (isPromise(value))\n braces[0] = `${getPrefix(constructor, tag, \"Promise\")}{`, formatter = formatPromise;\n else if (isWeakSet(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakSet\")}{`, formatter = ctx.showHidden \? formatWeakSet : formatWeakCollection;\n else if (isWeakMap(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakMap\")}{`, formatter = ctx.showHidden \? formatWeakMap : formatWeakCollection;\n else if (isModuleNamespaceObject(value))\n braces[0] = `${getPrefix(constructor, tag, \"Module\")}{`, formatter = formatNamespaceObject.bind(null, keys);\n else if (isBoxedPrimitive(value)) {\n if (base = getBoxedBase(value, ctx, keys, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return base;\n } else {\n if (keys.length === 0 && protoProps === @undefined) {\n if (isExternal(value))\n return ctx.stylize(\"[External: 0]\", \"special\");\n return `${getCtxStyle(value, constructor, tag)}{}`;\n }\n braces[0] = `${getCtxStyle(value, constructor, tag)}{`;\n }\n if (recurseTimes > ctx.depth && ctx.depth !== null) {\n let constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n if (constructor !== null)\n constructorName = `[${constructorName}]`;\n return ctx.stylize(constructorName, \"special\");\n }\n recurseTimes += 1, ctx.seen.push(value), ctx.currentDepth = recurseTimes;\n let output;\n const indentationLvl = ctx.indentationLvl;\n try {\n if (ctx.currentDepth > 1000)\n @throwRangeError(ERROR_STACK_OVERFLOW_MSG);\n output = formatter(ctx, value, recurseTimes);\n for (i = 0;i < keys.length; i++)\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, keys[i], extrasType));\n if (protoProps !== @undefined)\n ArrayPrototypePushApply(output, protoProps);\n } catch (err) {\n if (err instanceof RangeError && err.message === ERROR_STACK_OVERFLOW_MSG) {\n const constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n return ctx.seen.pop(), ctx.indentationLvl = indentationLvl, ctx.stylize(`[${constructorName}: Inspection interrupted prematurely. Maximum call stack size exceeded.]`, \"special\");\n }\n throw new AssertionError(\"handleMaxCallStackSize assertion failed: \" + String(err), !0);\n }\n if (ctx.circular !== @undefined) {\n const index = ctx.circular.get(value);\n if (index !== @undefined)\n if (ctx.seenRefs \?\?= new Set, !ctx.seenRefs.has(index)) {\n ctx.seenRefs.add(index);\n const reference = ctx.stylize(`<ref *${index}>`, \"special\");\n if (ctx.compact !== !0)\n base = base === \"\" \? reference : `${reference} ${base}`;\n else\n braces[0] = `${reference} ${braces[0]}`;\n } else {\n //! this is a non-standard behavior compared to Node's implementation\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n }\n if (ctx.seen.pop(), ctx.sorted) {\n const comparator = ctx.sorted === !0 \? @undefined : ctx.sorted;\n if (extrasType === kObjectType)\n ArrayPrototypeSort(output, comparator);\n else if (keys.length > 1) {\n const sorted = ArrayPrototypeSort(ArrayPrototypeSlice(output, output.length - keys.length), comparator);\n ArrayPrototypeUnshift(sorted, output, output.length - keys.length, keys.length), ReflectApply(ArrayPrototypeSplice, null, sorted);\n }\n }\n const res = reduceToSingleString(ctx, output, base, braces, extrasType, recurseTimes, value), newLength = (ctx.budget[ctx.indentationLvl] || 0) + res.length;\n if (ctx.budget[ctx.indentationLvl] = newLength, newLength > 134217728)\n ctx.depth = -1;\n return res;\n}, getIteratorBraces = function(type, tag) {\n if (tag !== `${type} Iterator`) {\n if (tag !== \"\")\n tag += \"] [\";\n tag += `${type} Iterator`;\n }\n return [`[${tag}] {`, \"}\"];\n}, getBoxedBase = function(value, ctx, keys, constructor, tag) {\n let fn, type;\n if (isNumberObject(value))\n fn = NumberPrototypeValueOf, type = \"Number\";\n else if (isStringObject(value))\n fn = StringPrototypeValueOf, type = \"String\", keys.splice(0, value.length);\n else if (isBooleanObject(value))\n fn = BooleanPrototypeValueOf, type = \"Boolean\";\n else if (isBigIntObject(value))\n fn = BigIntPrototypeValueOf, type = \"BigInt\";\n else\n fn = SymbolPrototypeValueOf, type = \"Symbol\";\n let base = `[${type}`;\n if (type !== constructor)\n if (constructor === null)\n base += \" (null prototype)\";\n else\n base += ` (${constructor})`;\n if (base += `: ${formatPrimitive(stylizeNoColor, fn(value), ctx)}]`, tag !== \"\" && tag !== constructor)\n base += ` [${tag}]`;\n if (keys.length !== 0 || ctx.stylize === stylizeNoColor)\n return base;\n return ctx.stylize(base, StringPrototypeToLowerCase(type));\n}, getClassBase = function(value, constructor, tag) {\n let base = `class ${ObjectPrototypeHasOwnProperty(value, \"name\") && value.name || \"(anonymous)\"}`;\n if (constructor !== \"Function\" && constructor !== null)\n base += ` [${constructor}]`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n if (constructor !== null) {\n const superName = ObjectGetPrototypeOf(value).name;\n if (superName)\n base += ` extends ${superName}`;\n } else\n base += \" extends [null prototype]\";\n return `[${base}]`;\n}, getFunctionBase = function(value, constructor, tag) {\n const stringified = FunctionPrototypeToString(value);\n if (StringPrototypeStartsWith(stringified, \"class\") && StringPrototypeEndsWith(stringified, \"}\")) {\n const slice = StringPrototypeSlice(stringified, 5, -1), bracketIndex = StringPrototypeIndexOf(slice, \"{\");\n if (bracketIndex !== -1 && (!StringPrototypeIncludes(StringPrototypeSlice(slice, 0, bracketIndex), \"(\") || RegExpPrototypeExec(classRegExp, RegExpPrototypeSymbolReplace(stripCommentsRegExp, slice)) !== null))\n return getClassBase(value, constructor, tag);\n }\n let type = \"Function\";\n if (isGeneratorFunction(value))\n type = `Generator${type}`;\n if (isAsyncFunction(value))\n type = `Async${type}`;\n let base = `[${type}`;\n if (constructor === null)\n base += \" (null prototype)\";\n if (value.name === \"\")\n base += \" (anonymous)\";\n else\n base += `: ${value.name}`;\n if (base += \"]\", constructor !== type && constructor !== null)\n base += ` ${constructor}`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n return base;\n}, identicalSequenceRange = function(a, b) {\n for (let i = 0;i < a.length - 3; i++) {\n const pos = b.indexOf(a[i]);\n if (pos !== -1) {\n const rest = b.length - pos;\n if (rest > 3) {\n let len = 1;\n const maxLen = MathMin(a.length - i, rest);\n while (maxLen > len && a[i + len] === b[pos + len])\n len++;\n if (len > 3)\n return { len, offset: i };\n }\n }\n }\n return { len: 0, offset: 0 };\n}, getStackString = function(error) {\n return error.stack \? String(error.stack) : ErrorPrototypeToString(error);\n}, getStackFrames = function(ctx, err, stack) {\n const frames = StringPrototypeSplit(stack, \"\\n\");\n let cause;\n try {\n ({ cause } = err);\n } catch {\n }\n if (cause != null && cause instanceof Error) {\n const causeStack = getStackString(cause), causeStackStart = StringPrototypeIndexOf(causeStack, \"\\n at\");\n if (causeStackStart !== -1) {\n const causeFrames = StringPrototypeSplit(StringPrototypeSlice(causeStack, causeStackStart + 1), \"\\n\"), { len, offset } = identicalSequenceRange(frames, causeFrames);\n if (len > 0) {\n const skipped = len - 2, msg = ` ... ${skipped} lines matching cause stack trace ...`;\n frames.splice(offset + 1, skipped, ctx.stylize(msg, \"undefined\"));\n }\n }\n }\n return frames;\n}, improveStack = function(stack, constructor, name, tag) {\n let len = name.length;\n if (constructor === null || StringPrototypeEndsWith(name, \"Error\") && StringPrototypeStartsWith(stack, name) && (stack.length === len || stack[len] === \":\" || stack[len] === \"\\n\")) {\n let fallback = \"Error\";\n if (constructor === null) {\n const start = RegExpPrototypeExec(/^([A-Z][a-z_ A-Z0-9[\\]()-]+)(\?::|\\n {4}at)/, stack) || RegExpPrototypeExec(/^([a-z_A-Z0-9-]*Error)$/, stack);\n fallback = start && start[1] || \"\", len = fallback.length, fallback = fallback || \"Error\";\n }\n const prefix = StringPrototypeSlice(getPrefix(constructor, tag, fallback), 0, -1);\n if (name !== prefix)\n if (StringPrototypeIncludes(prefix, name))\n if (len === 0)\n stack = `${prefix}: ${stack}`;\n else\n stack = `${prefix}${StringPrototypeSlice(stack, len)}`;\n else\n stack = `${prefix} [${name}]${StringPrototypeSlice(stack, len)}`;\n }\n return stack;\n}, removeDuplicateErrorKeys = function(ctx, keys, err, stack) {\n if (!ctx.showHidden && keys.length !== 0)\n for (let name of [\"name\", \"message\", \"stack\"]) {\n const index = ArrayPrototypeIndexOf(keys, name);\n if (index !== -1 && StringPrototypeIncludes(stack, err[name]))\n ArrayPrototypeSplice(keys, index, 1);\n }\n}, markNodeModules = function(ctx, line) {\n let tempLine = \"\", nodeModule, pos = 0;\n while ((nodeModule = nodeModulesRegExp.exec(line)) !== null)\n tempLine += StringPrototypeSlice(line, pos, nodeModule.index + 14), tempLine += ctx.stylize(nodeModule[1], \"module\"), pos = nodeModule.index + nodeModule[0].length;\n if (pos !== 0)\n line = tempLine + StringPrototypeSlice(line, pos);\n return line;\n}, markCwd = function(ctx, line, workingDirectory) {\n let cwdStartPos = StringPrototypeIndexOf(line, workingDirectory), tempLine = \"\", cwdLength = workingDirectory.length;\n if (cwdStartPos !== -1) {\n if (StringPrototypeSlice(line, cwdStartPos - 7, cwdStartPos) === \"file://\")\n cwdLength += 7, cwdStartPos -= 7;\n const start = line[cwdStartPos - 1] === \"(\" \? cwdStartPos - 1 : cwdStartPos, end = start !== cwdStartPos && StringPrototypeEndsWith(line, \")\") \? -1 : line.length, workingDirectoryEndPos = cwdStartPos + cwdLength + 1, cwdSlice = StringPrototypeSlice(line, start, workingDirectoryEndPos);\n if (tempLine += StringPrototypeSlice(line, 0, start), tempLine += ctx.stylize(cwdSlice, \"undefined\"), tempLine += StringPrototypeSlice(line, workingDirectoryEndPos, end), end === -1)\n tempLine += ctx.stylize(\")\", \"undefined\");\n } else\n tempLine += line;\n return tempLine;\n}, safeGetCWD = function() {\n let workingDirectory;\n try {\n workingDirectory = process.cwd();\n } catch {\n return;\n }\n return workingDirectory;\n}, formatError = function(err, constructor, tag, ctx, keys) {\n const name = err.name != null \? String(err.name) : \"Error\";\n let stack = getStackString(err);\n //! temp fix for Bun losing the error name from inherited errors + extraneous \": \" with no message\n if (stack = stack.replace(/^Error: /, `${name}${err.message \? \": \" : \"\"}`), removeDuplicateErrorKeys(ctx, keys, err, stack), (\"cause\" in err) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"cause\")))\n ArrayPrototypePush(keys, \"cause\");\n if (ArrayIsArray(err.errors) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"errors\")))\n ArrayPrototypePush(keys, \"errors\");\n stack = improveStack(stack, constructor, name, tag);\n let pos = err.message && StringPrototypeIndexOf(stack, err.message) || -1;\n if (pos !== -1)\n pos += err.message.length;\n const stackStart = StringPrototypeIndexOf(stack, \"\\n at\", pos);\n if (stackStart === -1)\n stack = `[${stack}]`;\n else {\n let newStack = StringPrototypeSlice(stack, 0, stackStart);\n const stackFramePart = StringPrototypeSlice(stack, stackStart + 1), lines = getStackFrames(ctx, err, stackFramePart);\n if (ctx.colors) {\n const workingDirectory = safeGetCWD();\n let esmWorkingDirectory;\n for (let line of lines) {\n const core = RegExpPrototypeExec(coreModuleRegExp, line);\n if (core !== null && (StringPrototypeStartsWith(core[1], \"internal/\") || ArrayPrototypeIncludes(@requireNativeModule(\"module\").builtinModules, core[1])))\n newStack += `\\n${ctx.stylize(line, \"undefined\")}`;\n else {\n if (newStack += \"\\n\", line = markNodeModules(ctx, line), workingDirectory !== @undefined) {\n let newLine = markCwd(ctx, line, workingDirectory);\n if (newLine === line)\n esmWorkingDirectory \?\?= pathToFileURL(workingDirectory), newLine = markCwd(ctx, line, esmWorkingDirectory);\n line = newLine;\n }\n newStack += line;\n }\n }\n } else\n newStack += `\\n${ArrayPrototypeJoin(lines, \"\\n\")}`;\n stack = newStack;\n }\n if (ctx.indentationLvl !== 0) {\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl);\n stack = StringPrototypeReplaceAll(stack, \"\\n\", `\\n${indentation}`);\n }\n return stack;\n}, groupArrayElements = function(ctx, output, value) {\n let totalLength = 0, maxLength = 0, i = 0, outputLength = output.length;\n if (ctx.maxArrayLength < output.length)\n outputLength--;\n const separatorSpace = 2, dataLen = new Array(outputLength);\n for (;i < outputLength; i++) {\n const len = getStringWidth(output[i], ctx.colors);\n if (dataLen[i] = len, totalLength += len + separatorSpace, maxLength < len)\n maxLength = len;\n }\n const actualMax = maxLength + separatorSpace;\n if (actualMax * 3 + ctx.indentationLvl < ctx.breakLength && (totalLength / actualMax > 5 || maxLength <= 6)) {\n const averageBias = MathSqrt(actualMax - totalLength / output.length), biasedMax = MathMax(actualMax - 3 - averageBias, 1), columns = MathMin(MathRound(MathSqrt(2.5 * biasedMax * outputLength) / biasedMax), MathFloor((ctx.breakLength - ctx.indentationLvl) / actualMax), ctx.compact * 4, 15);\n if (columns <= 1)\n return output;\n const tmp = [], maxLineLength = [];\n for (let i2 = 0;i2 < columns; i2++) {\n let lineMaxLength = 0;\n for (let j = i2;j < output.length; j += columns)\n if (dataLen[j] > lineMaxLength)\n lineMaxLength = dataLen[j];\n lineMaxLength += separatorSpace, maxLineLength[i2] = lineMaxLength;\n }\n let order = StringPrototypePadStart;\n if (value !== @undefined) {\n for (let i2 = 0;i2 < output.length; i2++)\n if (typeof value[i2] !== \"number\" && typeof value[i2] !== \"bigint\") {\n order = StringPrototypePadEnd;\n break;\n }\n }\n for (let i2 = 0;i2 < outputLength; i2 += columns) {\n const max = MathMin(i2 + columns, outputLength);\n let str = \"\", j = i2;\n for (;j < max - 1; j++) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j];\n str += order(`${output[j]}, `, padding, \" \");\n }\n if (order === StringPrototypePadStart) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j] - separatorSpace;\n str += StringPrototypePadStart(output[j], padding, \" \");\n } else\n str += output[j];\n ArrayPrototypePush(tmp, str);\n }\n if (ctx.maxArrayLength < output.length)\n ArrayPrototypePush(tmp, output[outputLength]);\n output = tmp;\n }\n return output;\n}, addNumericSeparator = function(integerString) {\n let result = \"\", i = integerString.length;\n const start = StringPrototypeStartsWith(integerString, \"-\") \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n result = `_${StringPrototypeSlice(integerString, i - 3, i)}${result}`;\n return i === integerString.length \? integerString : `${StringPrototypeSlice(integerString, 0, i)}${result}`;\n}, addNumericSeparatorEnd = function(integerString) {\n let result = \"\", i = 0;\n for (;i < integerString.length - 3; i += 3)\n result += `${StringPrototypeSlice(integerString, i, i + 3)}_`;\n return i === 0 \? integerString : `${result}${StringPrototypeSlice(integerString, i)}`;\n}, formatNumber = function(fn, number, numericSeparator) {\n if (!numericSeparator) {\n if (ObjectIs(number, -0))\n return fn(\"-0\", \"number\");\n return fn(`${number}`, \"number\");\n }\n const integer = MathTrunc(number), string = String(integer);\n if (integer === number) {\n if (!NumberIsFinite(number) || StringPrototypeIncludes(string, \"e\"))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}`, \"number\");\n }\n if (NumberIsNaN(number))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}.${addNumericSeparatorEnd(StringPrototypeSlice(String(number), string.length + 1))}`, \"number\");\n}, formatBigInt = function(fn, bigint, numericSeparator) {\n const string = String(bigint);\n if (!numericSeparator)\n return fn(`${string}n`, \"bigint\");\n return fn(`${addNumericSeparator(string)}n`, \"bigint\");\n}, formatPrimitive = function(fn, value, ctx) {\n if (typeof value === \"string\") {\n let trailer = \"\";\n if (value.length > ctx.maxStringLength) {\n const remaining = value.length - ctx.maxStringLength;\n value = StringPrototypeSlice(value, 0, ctx.maxStringLength), trailer = `... ${remaining} more character${remaining > 1 \? \"s\" : \"\"}`;\n }\n if (ctx.compact !== !0 && value.length > kMinLineLength && value.length > ctx.breakLength - ctx.indentationLvl - 4)\n return ArrayPrototypeJoin(ArrayPrototypeMap(extractedSplitNewLines(value), (line) => fn(strEscape(line), \"string\")), ` +\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl + 2)}`) + trailer;\n return fn(strEscape(value), \"string\") + trailer;\n }\n if (typeof value === \"number\")\n return formatNumber(fn, value, ctx.numericSeparator);\n if (typeof value === \"bigint\")\n return formatBigInt(fn, value, ctx.numericSeparator);\n if (typeof value === \"boolean\")\n return fn(`${value}`, \"boolean\");\n if (typeof value === \"undefined\")\n return fn(\"undefined\", \"undefined\");\n return fn(SymbolPrototypeToString(value), \"symbol\");\n}, formatNamespaceObject = function(keys, ctx, value, recurseTimes) {\n const output = new Array(keys.length);\n for (let i = 0;i < keys.length; i++)\n try {\n output[i] = formatProperty(ctx, value, recurseTimes, keys[i], kObjectType);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\");\n const tmp = { [keys[i]]: \"\" };\n output[i] = formatProperty(ctx, tmp, recurseTimes, keys[i], kObjectType);\n const pos = StringPrototypeLastIndexOf(output[i], \" \");\n output[i] = StringPrototypeSlice(output[i], 0, pos + 1) + ctx.stylize(\"<uninitialized>\", \"special\");\n }\n return keys.length = 0, output;\n}, formatSpecialArray = function(ctx, value, recurseTimes, maxLength, output, i) {\n const keys = ObjectKeys(value);\n let index = i;\n for (;i < keys.length && output.length < maxLength; i++) {\n const key = keys[i], tmp = +key;\n if (tmp > 4294967294)\n break;\n if (`${index}` !== key) {\n if (RegExpPrototypeExec(numberRegExp, key) === null)\n break;\n const emptyItems = tmp - index, ending = emptyItems > 1 \? \"s\" : \"\", message = `<${emptyItems} empty item${ending}>`;\n if (ArrayPrototypePush(output, ctx.stylize(message, \"undefined\")), index = tmp, output.length === maxLength)\n break;\n }\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, key, kArrayType)), index++;\n }\n const remaining = value.length - index;\n if (output.length !== maxLength) {\n if (remaining > 0) {\n const ending = remaining > 1 \? \"s\" : \"\", message = `<${remaining} empty item${ending}>`;\n ArrayPrototypePush(output, ctx.stylize(message, \"undefined\"));\n }\n } else if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, hexSlice = function(buf, start = 0, end) {\n return ArrayPrototypeJoin(ArrayPrototypeMap(buf.slice(start, end), (x) => (\"00\" + x.toString(16)).slice(-2)), \"\");\n}, formatArrayBuffer = function(ctx, value) {\n let buffer;\n try {\n buffer = new Uint8Array(value);\n } catch {\n return [ctx.stylize(\"(detached)\", \"special\")];\n }\n let str = StringPrototypeTrim(RegExpPrototypeSymbolReplace(/(.{2})/g, hexSlice(buffer, 0, MathMin(ctx.maxArrayLength, buffer.length)), \"$1 \"));\n const remaining = buffer.length - ctx.maxArrayLength;\n if (remaining > 0)\n str += ` ... ${remaining} more byte${remaining > 1 \? \"s\" : \"\"}`;\n return [`${ctx.stylize(\"[Uint8Contents]\", \"special\")}: <${str}>`];\n}, formatArray = function(ctx, value, recurseTimes) {\n const valLen = value.length, len = MathMin(MathMax(0, ctx.maxArrayLength), valLen), remaining = valLen - len, output = [];\n for (let i = 0;i < len; i++) {\n if (!ObjectPrototypeHasOwnProperty(value, i))\n return formatSpecialArray(ctx, value, recurseTimes, len, output, i);\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, i, kArrayType));\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatTypedArray = function(value, length, ctx, ignored, recurseTimes) {\n const maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = value.length - maxLength, output = new Array(maxLength), elementFormatter = value.length > 0 && typeof value[0] === \"number\" \? formatNumber : formatBigInt;\n for (let i = 0;i < maxLength; ++i)\n output[i] = elementFormatter(ctx.stylize, value[i], ctx.numericSeparator);\n if (remaining > 0)\n output[maxLength] = remainingText(remaining);\n if (ctx.showHidden) {\n ctx.indentationLvl += 2;\n for (let key of [\"BYTES_PER_ELEMENT\", \"length\", \"byteLength\", \"byteOffset\", \"buffer\"]) {\n const str = formatValue(ctx, value[key], recurseTimes, !0);\n ArrayPrototypePush(output, `[${key}]: ${str}`);\n }\n ctx.indentationLvl -= 2;\n }\n return output;\n}, formatSet = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let v of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, formatValue(ctx, v, recurseTimes)), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatMap = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let { 0: k, 1: v } of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, `${formatValue(ctx, k, recurseTimes)} => ${formatValue(ctx, v, recurseTimes)}`), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatSetIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), maxLength = MathMin(maxArrayLength, entries.length), output = new Array(maxLength);\n ctx.indentationLvl += 2;\n for (let i = 0;i < maxLength; i++)\n output[i] = formatValue(ctx, entries[i], recurseTimes);\n if (ctx.indentationLvl -= 2, state === kWeak && !ctx.sorted)\n ArrayPrototypeSort(output);\n const remaining = entries.length - maxLength;\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatMapIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), len = entries.length / 2, remaining = len - maxArrayLength, maxLength = MathMin(maxArrayLength, len), output = new Array(maxLength);\n let i = 0;\n if (ctx.indentationLvl += 2, state === kWeak) {\n for (;i < maxLength; i++) {\n const pos = i * 2;\n output[i] = `${formatValue(ctx, entries[pos], recurseTimes)} => ${formatValue(ctx, entries[pos + 1], recurseTimes)}`;\n }\n if (!ctx.sorted)\n ArrayPrototypeSort(output);\n } else\n for (;i < maxLength; i++) {\n const pos = i * 2, res = [formatValue(ctx, entries[pos], recurseTimes), formatValue(ctx, entries[pos + 1], recurseTimes)];\n output[i] = reduceToSingleString(ctx, res, \"\", [\"[\", \"]\"], kArrayExtrasType, recurseTimes);\n }\n if (ctx.indentationLvl -= 2, remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatWeakCollection = function(ctx) {\n return [ctx.stylize(\"<items unknown>\", \"special\")];\n}, formatWeakSet = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatSetIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatWeakMap = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatMapIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatIterator = function(braces, ctx, value, recurseTimes) {\n const { 0: entries, 1: isKeyValue } = previewEntries(value, !0);\n if (isKeyValue)\n return braces[0] = RegExpPrototypeSymbolReplace(/ Iterator] {$/, braces[0], \" Entries] {\"), formatMapIterInner(ctx, recurseTimes, entries, kMapEntries);\n return formatSetIterInner(ctx, recurseTimes, entries, kIterator);\n}, formatPromise = function(ctx, value, recurseTimes) {\n let output;\n const { 0: state, 1: result } = getPromiseDetails(value);\n if (state === kPending)\n output = [ctx.stylize(\"<pending>\", \"special\")];\n else {\n ctx.indentationLvl += 2;\n const str = formatValue(ctx, result, recurseTimes);\n ctx.indentationLvl -= 2, output = [state === kRejected \? `${ctx.stylize(\"<rejected>\", \"special\")} ${str}` : str];\n }\n return output;\n}, formatProperty = function(ctx, value, recurseTimes, key, type, desc, original = value) {\n let name, str, extra = \" \";\n if (desc ||= ObjectGetOwnPropertyDescriptor(value, key) || { value: value[key], enumerable: !0 }, desc.value !== @undefined) {\n const diff = ctx.compact !== !0 || type !== kObjectType \? 2 : 3;\n if (ctx.indentationLvl += diff, str = formatValue(ctx, desc.value, recurseTimes), diff === 3 && ctx.breakLength < getStringWidth(str, ctx.colors))\n extra = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n ctx.indentationLvl -= diff;\n } else if (desc.get !== @undefined) {\n const label = desc.set !== @undefined \? \"Getter/Setter\" : \"Getter\", s = ctx.stylize;\n if (ctx.getters && (ctx.getters === !0 || ctx.getters === \"get\" && desc.set === @undefined || ctx.getters === \"set\" && desc.set !== @undefined))\n try {\n const tmp = desc.get.@call(original);\n if (ctx.indentationLvl += 2, tmp === null)\n str = `${s(`[${label}:`, \"special\")} ${s(\"null\", \"null\")}${s(\"]\", \"special\")}`;\n else if (typeof tmp === \"object\")\n str = `${s(`[${label}]`, \"special\")} ${formatValue(ctx, tmp, recurseTimes)}`;\n else {\n const primitive = formatPrimitive(s, tmp, ctx);\n str = `${s(`[${label}:`, \"special\")} ${primitive}${s(\"]\", \"special\")}`;\n }\n ctx.indentationLvl -= 2;\n } catch (err) {\n const message = `<Inspection threw (${err.message})>`;\n str = `${s(`[${label}:`, \"special\")} ${message}${s(\"]\", \"special\")}`;\n }\n else\n str = ctx.stylize(`[${label}]`, \"special\");\n } else if (desc.set !== @undefined)\n str = ctx.stylize(\"[Setter]\", \"special\");\n else\n str = ctx.stylize(\"undefined\", \"undefined\");\n if (type === kArrayType)\n return str;\n if (typeof key === \"symbol\") {\n const tmp = RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, SymbolPrototypeToString(key), escapeFn);\n name = `[${ctx.stylize(tmp, \"symbol\")}]`;\n } else if (key === \"__proto__\")\n name = \"['__proto__']\";\n else if (desc.enumerable === !1)\n name = `[${RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, key, escapeFn)}]`;\n else if (RegExpPrototypeExec(keyStrRegExp, key) !== null)\n name = ctx.stylize(key, \"name\");\n else\n name = ctx.stylize(strEscape(key), \"string\");\n return `${name}:${extra}${str}`;\n}, isBelowBreakLength = function(ctx, output, start, base) {\n let totalLength = output.length + start;\n if (totalLength + output.length > ctx.breakLength)\n return !1;\n for (let i = 0;i < output.length; i++) {\n if (ctx.colors)\n totalLength += StringPrototypeReplaceAll(output[i], /\\u001B\\[\\d\\d\?m/g, \"\").length;\n else\n totalLength += output[i].length;\n if (totalLength > ctx.breakLength)\n return !1;\n }\n return base === \"\" || !StringPrototypeIncludes(base, \"\\n\");\n}, reduceToSingleString = function(ctx, output, base, braces, extrasType, recurseTimes, value) {\n if (ctx.compact !== !0) {\n if (typeof ctx.compact === \"number\" && ctx.compact >= 1) {\n const entries = output.length;\n if (extrasType === kArrayExtrasType && entries > 6)\n output = groupArrayElements(ctx, output, value);\n if (ctx.currentDepth - recurseTimes < ctx.compact && entries === output.length) {\n const start = output.length + ctx.indentationLvl + braces[0].length + base.length + 10;\n if (isBelowBreakLength(ctx, output, start, base)) {\n const joinedOutput = ArrayPrototypeJoin(output, \", \");\n if (!StringPrototypeIncludes(joinedOutput, \"\\n\"))\n return `${base \? `${base} ` : \"\"}${braces[0]} ${joinedOutput}` + ` ${braces[1]}`;\n }\n }\n }\n const indentation2 = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n return `${base \? `${base} ` : \"\"}${braces[0]}${indentation2} ` + `${ArrayPrototypeJoin(output, `,${indentation2} `)}${indentation2}${braces[1]}`;\n }\n if (isBelowBreakLength(ctx, output, 0, base))\n return `${braces[0]}${base \? ` ${base}` : \"\"} ${ArrayPrototypeJoin(output, \", \")} ` + braces[1];\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl), ln = base === \"\" && braces[0].length === 1 \? \" \" : `${base \? ` ${base}` : \"\"}\\n${indentation} `;\n return `${braces[0]}${ln}${ArrayPrototypeJoin(output, `,\\n${indentation} `)} ${braces[1]}`;\n}, hasBuiltInToString = function(value) {\n const proxyTarget = getProxyDetails(value, !1);\n if (proxyTarget !== @undefined) {\n if (proxyTarget === null)\n return !0;\n value = proxyTarget;\n }\n if (typeof value.toString !== \"function\")\n return !0;\n if (ObjectPrototypeHasOwnProperty(value, \"toString\"))\n return !1;\n let pointer = value;\n do\n pointer = ObjectGetPrototypeOf(pointer);\n while (!ObjectPrototypeHasOwnProperty(pointer, \"toString\"));\n const descriptor = ObjectGetOwnPropertyDescriptor(pointer, \"constructor\");\n return descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name);\n}, tryStringify = function(arg) {\n try {\n return JSONStringify(arg);\n } catch (err) {\n if (!CIRCULAR_ERROR_MESSAGE)\n try {\n const a = {};\n a.a = a, JSONStringify(a);\n } catch (circularError) {\n CIRCULAR_ERROR_MESSAGE = firstErrorLine(circularError);\n }\n if (err.name === \"TypeError\" && firstErrorLine(err) === CIRCULAR_ERROR_MESSAGE)\n return \"[Circular]\";\n throw err;\n }\n}, format = function(...args) {\n return formatWithOptionsInternal(@undefined, args);\n}, formatWithOptions = function(inspectOptions, ...args) {\n return validateObject(inspectOptions, \"inspectOptions\", { allowArray: !0 }), formatWithOptionsInternal(inspectOptions, args);\n}, formatNumberNoColor = function(number, options) {\n return formatNumber(stylizeNoColor, number, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatBigIntNoColor = function(bigint, options) {\n return formatBigInt(stylizeNoColor, bigint, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatWithOptionsInternal = function(inspectOptions, args) {\n const first = args[0];\n let a = 0, str = \"\", join = \"\";\n if (typeof first === \"string\") {\n if (args.length === 1)\n return first;\n let tempStr, lastPos = 0;\n for (let i = 0;i < first.length - 1; i++)\n if (StringPrototypeCharCodeAt(first, i) === 37) {\n const nextChar = StringPrototypeCharCodeAt(first, ++i);\n if (a + 1 !== args.length) {\n switch (nextChar) {\n case 115: {\n const tempArg = args[++a];\n if (typeof tempArg === \"number\")\n tempStr = formatNumberNoColor(tempArg, inspectOptions);\n else if (typeof tempArg === \"bigint\")\n tempStr = formatBigIntNoColor(tempArg, inspectOptions);\n else if (typeof tempArg !== \"object\" || tempArg === null || !hasBuiltInToString(tempArg))\n tempStr = String(tempArg);\n else\n tempStr = inspect(tempArg, {\n ...inspectOptions,\n compact: 3,\n colors: !1,\n depth: 0\n });\n break;\n }\n case 106:\n tempStr = tryStringify(args[++a]);\n break;\n case 100: {\n const tempNum = args[++a];\n if (typeof tempNum === \"bigint\")\n tempStr = formatBigIntNoColor(tempNum, inspectOptions);\n else if (typeof tempNum === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(Number(tempNum), inspectOptions);\n break;\n }\n case 79:\n tempStr = inspect(args[++a], inspectOptions);\n break;\n case 111:\n tempStr = inspect(args[++a], {\n ...inspectOptions,\n showHidden: !0,\n showProxy: !0,\n depth: 4\n });\n break;\n case 105: {\n const tempInteger = args[++a];\n if (typeof tempInteger === \"bigint\")\n tempStr = formatBigIntNoColor(tempInteger, inspectOptions);\n else if (typeof tempInteger === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseInt(tempInteger), inspectOptions);\n break;\n }\n case 102: {\n const tempFloat = args[++a];\n if (typeof tempFloat === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseFloat(tempFloat), inspectOptions);\n break;\n }\n case 99:\n a += 1, tempStr = \"\";\n break;\n case 37:\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n continue;\n default:\n continue;\n }\n if (lastPos !== i - 1)\n str += StringPrototypeSlice(first, lastPos, i - 1);\n str += tempStr, lastPos = i + 1;\n } else if (nextChar === 37)\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n }\n if (lastPos !== 0) {\n if (a++, join = \" \", lastPos < first.length)\n str += StringPrototypeSlice(first, lastPos);\n }\n }\n while (a < args.length) {\n const value = args[a];\n str += join, str += typeof value !== \"string\" \? inspect(value, inspectOptions) : value, join = \" \", a++;\n }\n return str;\n}, isZeroWidthCodePoint = function(code) {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, stripVTControlCharacters = function(str) {\n if (typeof str !== \"string\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"str\", \"string\", str);\n return RegExpPrototypeSymbolReplace(ansi, str, \"\");\n}, getOwnNonIndexProperties = function(a, filter = 2) {\n const desc = ObjectGetOwnPropertyDescriptors(a), ret = [];\n for (let [k, v] of ObjectEntries(desc))\n if (!RegExpPrototypeTest(/^(0|[1-9][0-9]*)$/, k) || NumberParseInt(k, 10) >= 4294967295)\n if (filter === 2 && !v.enumerable)\n continue;\n else\n ArrayPrototypePush(ret, k);\n for (let s of ObjectGetOwnPropertySymbols(a)) {\n const v = ObjectGetOwnPropertyDescriptor(a, s);\n if (filter === 2 && !v.enumerable)\n continue;\n ArrayPrototypePush(ret, s);\n }\n return ret;\n}, getPromiseDetails = function(promise) {\n const state = @getPromiseInternalField(promise, @promiseFieldFlags) & @promiseStateMask;\n if (state !== @promiseStatePending)\n return [\n state === @promiseStateRejected \? kRejected : kFulfilled,\n @getPromiseInternalField(promise, @promiseFieldReactionsOrResult)\n ];\n return [kPending, @undefined];\n}, getProxyDetails = function(proxy, withHandler = !0) {\n if (!@isProxyObject(proxy))\n return @undefined;\n const handler = @getProxyInternalField(proxy, @proxyFieldHandler), target = handler === null \? null : @getProxyInternalField(proxy, @proxyFieldTarget);\n if (withHandler)\n return [target, handler];\n else\n return target;\n}, previewEntries = function(val, isIterator = !1) {\n if (isIterator) {\n const iteratedObject = @getInternalField(val, 1), kind = @getInternalField(val, 2), isEntries = kind === 2;\n if (@isMap(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(iteratedObject)), !0];\n else if (kind === 1)\n return [ArrayFrom(MapPrototypeValues(iteratedObject)), !1];\n else\n return [ArrayFrom(MapPrototypeKeys(iteratedObject)), !1];\n else if (@isSet(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(SetPrototypeEntries(iteratedObject))), !0];\n else\n return [ArrayFrom(iteratedObject), !1];\n else\n throw new Error(\"previewEntries(): Invalid iterator received\");\n }\n if (isWeakMap(val))\n return [];\n if (isWeakSet(val))\n return [];\n else\n throw new Error(\"previewEntries(): Invalid object received\");\n}, internalGetConstructorName = function(val) {\n if (!val || typeof val !== \"object\")\n throw new Error(\"Invalid object\");\n if (val.constructor\?.name)\n return val.constructor.name;\n const str = ObjectPrototypeToString(val), m = StringPrototypeMatch(str, /^\\[object ([^\\]]+)\\]/);\n return m \? m[1] : \"Object\";\n}, $, { pathToFileURL } = @getInternalField(@internalModuleRegistry, 47) || @createInternalModuleById(47), primordials = @getInternalField(@internalModuleRegistry, 5) || @createInternalModuleById(5), {\n Array,\n ArrayFrom,\n ArrayIsArray,\n ArrayPrototypeFilter,\n ArrayPrototypeFlat,\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes,\n ArrayPrototypeIndexOf,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n ArrayPrototypePop,\n ArrayPrototypePush,\n ArrayPrototypePushApply,\n ArrayPrototypeSlice,\n ArrayPrototypeSplice,\n ArrayPrototypeSort,\n ArrayPrototypeUnshift,\n BigIntPrototypeValueOf,\n BooleanPrototypeValueOf,\n DatePrototypeGetTime,\n DatePrototypeToISOString,\n DatePrototypeToString,\n ErrorCaptureStackTrace,\n ErrorPrototypeToString,\n FunctionPrototypeBind,\n FunctionPrototypeToString,\n JSONStringify,\n MapPrototypeGetSize,\n MapPrototypeEntries,\n MapPrototypeValues,\n MapPrototypeKeys,\n MathFloor,\n MathMax,\n MathMin,\n MathRound,\n MathSqrt,\n MathTrunc,\n Number,\n NumberIsFinite,\n NumberIsNaN,\n NumberParseFloat,\n NumberParseInt,\n NumberPrototypeToString,\n NumberPrototypeValueOf,\n Object,\n ObjectAssign,\n ObjectDefineProperty,\n ObjectEntries,\n ObjectGetOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames,\n ObjectGetOwnPropertySymbols,\n ObjectGetPrototypeOf,\n ObjectIs,\n ObjectKeys,\n ObjectPrototypeHasOwnProperty,\n ObjectPrototypePropertyIsEnumerable,\n ObjectPrototypeToString,\n ObjectSeal,\n ObjectSetPrototypeOf,\n ReflectApply,\n ReflectOwnKeys,\n RegExp,\n RegExpPrototypeExec,\n RegExpPrototypeSymbolReplace,\n RegExpPrototypeSymbolSplit,\n RegExpPrototypeTest,\n RegExpPrototypeToString,\n SafeStringIterator,\n SafeMap,\n SafeSet,\n SetPrototypeEntries,\n SetPrototypeGetSize,\n SetPrototypeValues,\n String,\n StringPrototypeCharCodeAt,\n StringPrototypeCodePointAt,\n StringPrototypeIncludes,\n StringPrototypeIndexOf,\n StringPrototypeLastIndexOf,\n StringPrototypeMatch,\n StringPrototypeNormalize,\n StringPrototypePadEnd,\n StringPrototypePadStart,\n StringPrototypeRepeat,\n StringPrototypeReplaceAll,\n StringPrototypeSlice,\n StringPrototypeSplit,\n StringPrototypeEndsWith,\n StringPrototypeStartsWith,\n StringPrototypeToLowerCase,\n StringPrototypeTrim,\n StringPrototypeValueOf,\n SymbolPrototypeToString,\n SymbolPrototypeValueOf,\n SymbolIterator,\n SymbolToStringTag,\n TypedArrayPrototypeGetLength,\n TypedArrayPrototypeGetSymbolToStringTag,\n Uint8Array\n} = primordials, customInspectSymbol = Symbol.for(\"nodejs.util.inspect.custom\"), kPending = Symbol(\"kPending\"), kFulfilled = Symbol(\"kFulfilled\"), kRejected = Symbol(\"kRejected\");\nvar isAsyncFunction = (v) => typeof v === \"function\" && StringPrototypeStartsWith(FunctionPrototypeToString(v), \"async\"), isGeneratorFunction = (v) => typeof v === \"function\" && StringPrototypeMatch(FunctionPrototypeToString(v), /^(async\\s+)\?function *\\*/), isBigIntObject = checkBox(BigInt), isSymbolObject = checkBox(Symbol), {\n isAnyArrayBuffer,\n isArrayBuffer,\n isArgumentsObject,\n isBoxedPrimitive: _native_isBoxedPrimitive,\n isDataView,\n isExternal,\n isMap,\n isMapIterator,\n isModuleNamespaceObject,\n isNativeError,\n isPromise,\n isSet,\n isSetIterator,\n isWeakMap,\n isWeakSet,\n isRegExp,\n isDate,\n isTypedArray,\n isStringObject,\n isNumberObject,\n isBooleanObject\n} = @requireNativeModule(\"util/types\");\n//! The native versions of the commented out functions are currently buggy, so we use the polyfills above for now.\n//! temp workaround to apply is{BigInt,Symbol}Object fix\nvar isBoxedPrimitive = (val) => isBigIntObject(val) || isSymbolObject(val) || _native_isBoxedPrimitive(val);\n\nclass AssertionError extends Error {\n constructor(message, isForced = !1) {\n super(message);\n this.name = \"AssertionError\", this.code = \"ERR_ASSERTION\", this.operator = \"==\", this.generatedMessage = !isForced, this.actual = isForced && @undefined, this.expected = !isForced || @undefined;\n }\n}\nvar codes = {};\n{\n const kTypes = [\n \"string\",\n \"function\",\n \"number\",\n \"object\",\n \"Function\",\n \"Object\",\n \"boolean\",\n \"bigint\",\n \"symbol\"\n ], classRegExp = /^([A-Z][a-z0-9]*)+$/, messages = new SafeMap;\n messages.set(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !ArrayIsArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (StringPrototypeEndsWith(name, \" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${StringPrototypeIncludes(name, \".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), ArrayPrototypeIncludes(kTypes, value))\n ArrayPrototypePush(types, StringPrototypeToLowerCase(value));\n else if (RegExpPrototypeTest(classRegExp, value))\n ArrayPrototypePush(instances, value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), ArrayPrototypePush(other, value);\n if (instances.length > 0) {\n const pos = ArrayPrototypeIndexOf(types, \"object\");\n if (pos !== -1)\n ArrayPrototypeSplice(types, pos, 1), ArrayPrototypePush(instances, \"Object\");\n }\n if (types.length > 0) {\n if (types.length > 2)\n msg += `one of type ${ArrayPrototypeJoin(types, \", \")}, or ${ArrayPrototypePop(types)}`;\n else if (types.length === 2)\n msg += `one of type ${types[0]} or ${types[1]}`;\n else\n msg += `of type ${types[0]}`;\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n if (instances.length > 2)\n msg += `an instance of ${ArrayPrototypeJoin(instances, \", \")}, or ${ArrayPrototypePop(instances)}`;\n else\n msg += `an instance of ${instances[0]}` + (instances.length === 2 \? ` or ${instances[1]}` : \"\");\n if (other.length > 0)\n msg += \" or \";\n }\n if (other.length > 0)\n if (other.length > 2) {\n const last = ArrayPrototypePop(other);\n msg += `one of ${ArrayPrototypeJoin(other, \", \")}, or ${last}`;\n } else if (other.length === 2)\n msg += `one of ${other[0]} or ${other[1]}`;\n else {\n if (StringPrototypeToLowerCase(other[0]) !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\")\n if (actual.constructor && actual.constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else\n msg += `. Received ${inspect(actual, { depth: -1 })}`;\n else {\n let inspected = inspect(actual, { colors: !1 });\n if (inspected.length > 25)\n inspected = `${StringPrototypeSlice(inspected, 0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }), codes[\"ERR_INVALID_ARG_TYPE\"] = function NodeError(...args) {\n const limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n const error = @makeTypeError();\n Error.stackTraceLimit = limit;\n const msg = messages.get(\"ERR_INVALID_ARG_TYPE\");\n assert(typeof msg === \"function\"), assert(msg.length <= args.length, `Code: ERR_INVALID_ARG_TYPE; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`);\n const message = ReflectApply(msg, error, args);\n ObjectDefineProperty(error, \"message\", { value: message, enumerable: !1, writable: !0, configurable: !0 }), ObjectDefineProperty(error, \"toString\", {\n value() {\n return `${this.name} [ERR_INVALID_ARG_TYPE]: ${this.message}`;\n },\n enumerable: !1,\n writable: !0,\n configurable: !0\n });\n let err = error;\n const userStackTraceLimit = Error.stackTraceLimit;\n return Error.stackTraceLimit = @Infinity, ErrorCaptureStackTrace(err), Error.stackTraceLimit = userStackTraceLimit, err.name = `${TypeError.name} [ERR_INVALID_ARG_TYPE]`, err.stack, delete err.name, error.code = \"ERR_INVALID_ARG_TYPE\", error;\n };\n}\nvar validateObject = (value, name, allowArray = !1) => {\n if (value === null || !allowArray && ArrayIsArray(value) || typeof value !== \"object\" && typeof value !== \"function\")\n throw new codes.ERR_INVALID_ARG_TYPE(name, \"Object\", value);\n}, builtInObjects = new SafeSet(ArrayPrototypeFilter(ObjectGetOwnPropertyNames(globalThis), (e) => RegExpPrototypeExec(/^[A-Z][a-zA-Z0-9]+$/, e) !== null)), isUndetectableObject = (v) => typeof v === \"undefined\" && v !== @undefined, ERROR_STACK_OVERFLOW_MSG = \"Maximum call stack size exceeded.\", inspectDefaultOptions = ObjectSeal({\n showHidden: !1,\n depth: 2,\n colors: !1,\n customInspect: !0,\n showProxy: !1,\n maxArrayLength: 100,\n maxStringLength: 1e4,\n breakLength: 80,\n compact: 3,\n sorted: !1,\n getters: !1,\n numericSeparator: !1\n}), inspectReplDefaults = ObjectSeal({\n ...inspectDefaultOptions,\n colors: Bun.enableANSIColors,\n showProxy: !0\n}), kObjectType = 0, kArrayType = 1, kArrayExtrasType = 2, strEscapeSequencesRegExp, strEscapeSequencesReplacer, strEscapeSequencesRegExpSingle, strEscapeSequencesReplacerSingle, extractedSplitNewLines;\ntry {\n strEscapeSequencesRegExp = new RegExp(\"[\\\\x00-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacer = new RegExp(\"[\\0-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\"), strEscapeSequencesRegExpSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacerSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\");\n const extractedNewLineRe = new RegExp(\"(\?<=\\\\n)\");\n extractedSplitNewLines = (value) => RegExpPrototypeSymbolSplit(extractedNewLineRe, value);\n} catch {\n strEscapeSequencesRegExp = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacer = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/g, strEscapeSequencesRegExpSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacerSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/g, extractedSplitNewLines = (value) => {\n const lines = RegExpPrototypeSymbolSplit(/\\n/, value), last = ArrayPrototypePop(lines), nlLines = ArrayPrototypeMap(lines, (line) => line + \"\\n\");\n if (last !== \"\")\n nlLines.push(last);\n return nlLines;\n };\n}\nvar keyStrRegExp = /^[a-zA-Z_][a-zA-Z_0-9]*$/, numberRegExp = /^(0|[1-9][0-9]*)$/, coreModuleRegExp = /^ {4}at (\?:[^/\\\\(]+ \\(|)node:(.+):\\d+:\\d+\\)\?$/, nodeModulesRegExp = /[/\\\\]node_modules[/\\\\](.+\?)(\?=[/\\\\])/g, classRegExp = /^(\\s+[^(]*\?)\\s*{/, stripCommentsRegExp = /(\\/\\/.*\?\\n)|(\\/\\*(.|\\n)*\?\\*\\/)/g, kMinLineLength = 16, kWeak = 0, kIterator = 1, kMapEntries = 2, meta = [\n \"\\\\x00\",\n \"\\\\x01\",\n \"\\\\x02\",\n \"\\\\x03\",\n \"\\\\x04\",\n \"\\\\x05\",\n \"\\\\x06\",\n \"\\\\x07\",\n \"\\\\b\",\n \"\\\\t\",\n \"\\\\n\",\n \"\\\\x0B\",\n \"\\\\f\",\n \"\\\\r\",\n \"\\\\x0E\",\n \"\\\\x0F\",\n \"\\\\x10\",\n \"\\\\x11\",\n \"\\\\x12\",\n \"\\\\x13\",\n \"\\\\x14\",\n \"\\\\x15\",\n \"\\\\x16\",\n \"\\\\x17\",\n \"\\\\x18\",\n \"\\\\x19\",\n \"\\\\x1A\",\n \"\\\\x1B\",\n \"\\\\x1C\",\n \"\\\\x1D\",\n \"\\\\x1E\",\n \"\\\\x1F\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\'\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\\\\\\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\x7F\",\n \"\\\\x80\",\n \"\\\\x81\",\n \"\\\\x82\",\n \"\\\\x83\",\n \"\\\\x84\",\n \"\\\\x85\",\n \"\\\\x86\",\n \"\\\\x87\",\n \"\\\\x88\",\n \"\\\\x89\",\n \"\\\\x8A\",\n \"\\\\x8B\",\n \"\\\\x8C\",\n \"\\\\x8D\",\n \"\\\\x8E\",\n \"\\\\x8F\",\n \"\\\\x90\",\n \"\\\\x91\",\n \"\\\\x92\",\n \"\\\\x93\",\n \"\\\\x94\",\n \"\\\\x95\",\n \"\\\\x96\",\n \"\\\\x97\",\n \"\\\\x98\",\n \"\\\\x99\",\n \"\\\\x9A\",\n \"\\\\x9B\",\n \"\\\\x9C\",\n \"\\\\x9D\",\n \"\\\\x9E\",\n \"\\\\x9F\"\n], getStringWidth;\ninspect.custom = customInspectSymbol;\nObjectDefineProperty(inspect, \"defaultOptions\", {\n __proto__: null,\n get() {\n return inspectDefaultOptions;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectDefaultOptions, options);\n }\n});\nObjectDefineProperty(inspect, \"replDefaults\", {\n __proto__: null,\n get() {\n return inspectReplDefaults;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectReplDefaults, options);\n }\n});\nvar defaultFG = 39, defaultBG = 49;\ninspect.colors = {\n __proto__: null,\n reset: [0, 0],\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n blink: [5, 25],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n doubleunderline: [21, 24],\n black: [30, defaultFG],\n red: [31, defaultFG],\n green: [32, defaultFG],\n yellow: [33, defaultFG],\n blue: [34, defaultFG],\n magenta: [35, defaultFG],\n cyan: [36, defaultFG],\n white: [37, defaultFG],\n bgBlack: [40, defaultBG],\n bgRed: [41, defaultBG],\n bgGreen: [42, defaultBG],\n bgYellow: [43, defaultBG],\n bgBlue: [44, defaultBG],\n bgMagenta: [45, defaultBG],\n bgCyan: [46, defaultBG],\n bgWhite: [47, defaultBG],\n framed: [51, 54],\n overlined: [53, 55],\n gray: [90, defaultFG],\n redBright: [91, defaultFG],\n greenBright: [92, defaultFG],\n yellowBright: [93, defaultFG],\n blueBright: [94, defaultFG],\n magentaBright: [95, defaultFG],\n cyanBright: [96, defaultFG],\n whiteBright: [97, defaultFG],\n bgGray: [100, defaultBG],\n bgRedBright: [101, defaultBG],\n bgGreenBright: [102, defaultBG],\n bgYellowBright: [103, defaultBG],\n bgBlueBright: [104, defaultBG],\n bgMagentaBright: [105, defaultBG],\n bgCyanBright: [106, defaultBG],\n bgWhiteBright: [107, defaultBG]\n};\ndefineColorAlias(\"gray\", \"grey\");\ndefineColorAlias(\"gray\", \"blackBright\");\ndefineColorAlias(\"bgGray\", \"bgGrey\");\ndefineColorAlias(\"bgGray\", \"bgBlackBright\");\ndefineColorAlias(\"dim\", \"faint\");\ndefineColorAlias(\"strikethrough\", \"crossedout\");\ndefineColorAlias(\"strikethrough\", \"strikeThrough\");\ndefineColorAlias(\"strikethrough\", \"crossedOut\");\ndefineColorAlias(\"hidden\", \"conceal\");\ndefineColorAlias(\"inverse\", \"swapColors\");\ndefineColorAlias(\"inverse\", \"swapcolors\");\ndefineColorAlias(\"doubleunderline\", \"doubleUnderline\");\ninspect.styles = {\n __proto__: null,\n special: \"cyan\",\n number: \"yellow\",\n bigint: \"yellow\",\n boolean: \"yellow\",\n undefined: \"grey\",\n null: \"bold\",\n string: \"green\",\n symbol: \"green\",\n date: \"magenta\",\n regexp: \"red\",\n module: \"underline\"\n};\nvar remainingText = (remaining) => `... ${remaining} more item${remaining > 1 \? \"s\" : \"\"}`, firstErrorLine = (error) => StringPrototypeSplit(error.message, \"\\n\", 1)[0], CIRCULAR_ERROR_MESSAGE;\n{\n getStringWidth = function getStringWidth(str, removeControlChars = !0) {\n let width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize(str, \"NFC\");\n for (let char of new SafeStringIterator(str)) {\n const code = StringPrototypeCodePointAt(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n };\n const isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n };\n}\nvar ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new RegExp(ansiPattern, \"g\");\n$ = {\n inspect,\n format,\n formatWithOptions,\n stripVTControlCharacters\n};\n//! non-standard properties, should these be kept\? (not currently exposed)\nreturn $})\n"); +static constexpr ASCIILiteral InternalUtilInspectCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/util/inspect.ts\nvar vmSafeInstanceof = function(val, ctor) {\n if (val instanceof ctor)\n return !0;\n while (val) {\n if (typeof val !== \"object\")\n return !1;\n if (ctor.name === internalGetConstructorName(val))\n return !0;\n val = ObjectGetPrototypeOf(val);\n }\n return !1;\n}, checkBox = function(ctor) {\n return (val) => {\n if (!vmSafeInstanceof(val, ctor))\n return !1;\n try {\n ctor.prototype.valueOf.@call(val);\n } catch {\n return !1;\n }\n return !0;\n };\n}, assert = function(p, message) {\n if (!p)\n throw new AssertionError(message);\n}, getUserOptions = function(ctx, isCrossContext) {\n const ret = {\n stylize: ctx.stylize,\n showHidden: ctx.showHidden,\n depth: ctx.depth,\n colors: ctx.colors,\n customInspect: ctx.customInspect,\n showProxy: ctx.showProxy,\n maxArrayLength: ctx.maxArrayLength,\n maxStringLength: ctx.maxStringLength,\n breakLength: ctx.breakLength,\n compact: ctx.compact,\n sorted: ctx.sorted,\n getters: ctx.getters,\n numericSeparator: ctx.numericSeparator,\n ...ctx.userOptions\n };\n if (isCrossContext) {\n ObjectSetPrototypeOf(ret, null);\n for (let key of ObjectKeys(ret))\n if ((typeof ret[key] === \"object\" || typeof ret[key] === \"function\") && ret[key] !== null)\n delete ret[key];\n ret.stylize = ObjectSetPrototypeOf((value, flavour) => {\n let stylized;\n try {\n stylized = `${ctx.stylize(value, flavour)}`;\n } catch {\n }\n if (typeof stylized !== \"string\")\n return value;\n return stylized;\n }, null);\n }\n return ret;\n}, inspect = function(value, opts) {\n const ctx = {\n budget: {},\n indentationLvl: 0,\n seen: [],\n currentDepth: 0,\n stylize: stylizeNoColor,\n showHidden: inspectDefaultOptions.showHidden,\n depth: inspectDefaultOptions.depth,\n colors: inspectDefaultOptions.colors,\n customInspect: inspectDefaultOptions.customInspect,\n showProxy: inspectDefaultOptions.showProxy,\n maxArrayLength: inspectDefaultOptions.maxArrayLength,\n maxStringLength: inspectDefaultOptions.maxStringLength,\n breakLength: inspectDefaultOptions.breakLength,\n compact: inspectDefaultOptions.compact,\n sorted: inspectDefaultOptions.sorted,\n getters: inspectDefaultOptions.getters,\n numericSeparator: inspectDefaultOptions.numericSeparator\n };\n if (arguments.length > 1) {\n if (arguments.length > 2) {\n if (arguments[2] !== @undefined)\n ctx.depth = arguments[2];\n if (arguments.length > 3 && arguments[3] !== @undefined)\n ctx.colors = arguments[3];\n }\n if (typeof opts === \"boolean\")\n ctx.showHidden = opts;\n else if (opts) {\n const optKeys = ObjectKeys(opts);\n for (let i = 0;i < optKeys.length; ++i) {\n const key = optKeys[i];\n if (ObjectPrototypeHasOwnProperty(inspectDefaultOptions, key) || key === \"stylize\")\n ctx[key] = opts[key];\n else if (ctx.userOptions === @undefined)\n ctx.userOptions = opts;\n }\n }\n }\n if (ctx.colors)\n ctx.stylize = stylizeWithColor;\n if (ctx.maxArrayLength === null)\n ctx.maxArrayLength = @Infinity;\n if (ctx.maxStringLength === null)\n ctx.maxStringLength = @Infinity;\n return formatValue(ctx, value, 0);\n}, defineColorAlias = function(target, alias) {\n ObjectDefineProperty(inspect.colors, alias, {\n __proto__: null,\n get() {\n return this[target];\n },\n set(value) {\n this[target] = value;\n },\n configurable: !0,\n enumerable: !1\n });\n}, addQuotes = function(str, quotes) {\n if (quotes === -1)\n return `\"${str}\"`;\n if (quotes === -2)\n return `\\`${str}\\``;\n return `'${str}'`;\n}, escapeFn = function(str) {\n const charCode = StringPrototypeCharCodeAt(str);\n return meta.length > charCode \? meta[charCode] : `\\\\u${NumberPrototypeToString(charCode, 16)}`;\n}, strEscape = function(str) {\n let escapeTest = strEscapeSequencesRegExp, escapeReplace = strEscapeSequencesReplacer, singleQuote = 39;\n if (StringPrototypeIncludes(str, \"'\")) {\n if (!StringPrototypeIncludes(str, '\"'))\n singleQuote = -1;\n else if (!StringPrototypeIncludes(str, \"`\") && !StringPrototypeIncludes(str, \"${\"))\n singleQuote = -2;\n if (singleQuote !== 39)\n escapeTest = strEscapeSequencesRegExpSingle, escapeReplace = strEscapeSequencesReplacerSingle;\n }\n if (str.length < 5000 && RegExpPrototypeExec(escapeTest, str) === null)\n return addQuotes(str, singleQuote);\n if (str.length > 100)\n return str = RegExpPrototypeSymbolReplace(escapeReplace, str, escapeFn), addQuotes(str, singleQuote);\n let result = \"\", last = 0;\n for (let i = 0;i < str.length; i++) {\n const point = StringPrototypeCharCodeAt(str, i);\n if (point === singleQuote || point === 92 || point < 32 || point > 126 && point < 160) {\n if (last === i)\n result += meta[point];\n else\n result += `${StringPrototypeSlice(str, last, i)}${meta[point]}`;\n last = i + 1;\n } else if (point >= 55296 && point <= 57343) {\n if (point <= 56319 && i + 1 < str.length) {\n const point2 = StringPrototypeCharCodeAt(str, i + 1);\n if (point2 >= 56320 && point2 <= 57343) {\n i++;\n continue;\n }\n }\n result += `${StringPrototypeSlice(str, last, i)}\\\\u${NumberPrototypeToString(point, 16)}`, last = i + 1;\n }\n }\n if (last !== str.length)\n result += StringPrototypeSlice(str, last);\n return addQuotes(result, singleQuote);\n}, stylizeWithColor = function(str, styleType) {\n const style = inspect.styles[styleType];\n if (style !== @undefined) {\n const color = inspect.colors[style];\n if (color !== @undefined)\n return `\\x1B[${color[0]}m${str}\\x1B[${color[1]}m`;\n }\n return str;\n}, stylizeNoColor = function(str) {\n return str;\n}, getEmptyFormatArray = function() {\n return [];\n}, isInstanceof = function(object, proto) {\n try {\n return object instanceof proto;\n } catch {\n return !1;\n }\n}, getConstructorName = function(obj, ctx, recurseTimes, protoProps) {\n let firstProto;\n const tmp = obj;\n while (obj || isUndetectableObject(obj)) {\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && descriptor.value.name !== \"\" && isInstanceof(tmp, descriptor.value)) {\n if (protoProps !== @undefined && (firstProto !== obj || !builtInObjects.has(descriptor.value.name)))\n addPrototypeProperties(ctx, tmp, firstProto || tmp, recurseTimes, protoProps);\n return String(descriptor.value.name);\n }\n if (obj = ObjectGetPrototypeOf(obj), firstProto === @undefined)\n firstProto = obj;\n }\n if (firstProto === null)\n return null;\n const res = internalGetConstructorName(tmp);\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return `${res} <Complex prototype>`;\n const protoConstr = getConstructorName(firstProto, ctx, recurseTimes + 1, protoProps);\n if (protoConstr === null)\n return `${res} <${inspect(firstProto, {\n ...ctx,\n customInspect: !1,\n depth: -1\n })}>`;\n return `${res} <${protoConstr}>`;\n}, addPrototypeProperties = function(ctx, main, obj, recurseTimes, output) {\n let depth = 0, keys, keySet;\n do {\n if (depth !== 0 || main === obj) {\n if (obj = ObjectGetPrototypeOf(obj), obj === null)\n return;\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name))\n return;\n }\n if (depth === 0)\n keySet = new SafeSet;\n else\n ArrayPrototypeForEach(keys, (key) => keySet.add(key));\n keys = ReflectOwnKeys(obj), ArrayPrototypePush(ctx.seen, main);\n for (let key of keys) {\n if (key === \"constructor\" || ObjectPrototypeHasOwnProperty(main, key) || depth !== 0 && keySet.has(key))\n continue;\n const desc = ObjectGetOwnPropertyDescriptor(obj, key);\n if (typeof desc.value === \"function\")\n continue;\n const value = formatProperty(ctx, obj, recurseTimes, key, kObjectType, desc, main);\n if (ctx.colors)\n ArrayPrototypePush(output, `\\x1B[2m${value}\\x1B[22m`);\n else\n ArrayPrototypePush(output, value);\n }\n ArrayPrototypePop(ctx.seen);\n } while (++depth !== 3);\n}, getPrefix = function(constructor, tag, fallback, size = \"\") {\n if (constructor === null) {\n if (tag !== \"\" && fallback !== tag)\n return `[${fallback}${size}: null prototype] [${tag}] `;\n return `[${fallback}${size}: null prototype] `;\n }\n if (tag !== \"\" && constructor !== tag)\n return `${constructor}${size} [${tag}] `;\n return `${constructor}${size} `;\n}, getKeys = function(value, showHidden) {\n let keys;\n const symbols = ObjectGetOwnPropertySymbols(value);\n if (showHidden) {\n if (keys = ObjectGetOwnPropertyNames(value), symbols.length !== 0)\n ArrayPrototypePushApply(keys, symbols);\n } else {\n try {\n keys = ObjectKeys(value);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\" && isModuleNamespaceObject(value)), keys = ObjectGetOwnPropertyNames(value);\n }\n if (symbols.length !== 0)\n ArrayPrototypePushApply(keys, ArrayPrototypeFilter(symbols, (key) => ObjectPrototypePropertyIsEnumerable(value, key)));\n }\n return keys;\n}, getCtxStyle = function(value, constructor, tag) {\n let fallback = \"\";\n if (constructor === null) {\n if (fallback = internalGetConstructorName(value), fallback === tag)\n fallback = \"Object\";\n }\n return getPrefix(constructor, tag, fallback);\n}, formatProxy = function(ctx, proxy, recurseTimes) {\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(\"Proxy [Array]\", \"special\");\n recurseTimes += 1, ctx.indentationLvl += 2;\n const res = [formatValue(ctx, proxy[0], recurseTimes), formatValue(ctx, proxy[1], recurseTimes)];\n return ctx.indentationLvl -= 2, reduceToSingleString(ctx, res, \"\", [\"Proxy [\", \"]\"], kArrayExtrasType, recurseTimes);\n}, formatValue = function(ctx, value, recurseTimes, typedArray) {\n if (typeof value !== \"object\" && typeof value !== \"function\" && !isUndetectableObject(value))\n return formatPrimitive(ctx.stylize, value, ctx);\n if (value === null)\n return ctx.stylize(\"null\", \"null\");\n const context = value, proxy = getProxyDetails(value, !!ctx.showProxy);\n if (proxy !== @undefined) {\n if (proxy === null || proxy[0] === null)\n return ctx.stylize(\"<Revoked Proxy>\", \"special\");\n if (ctx.showProxy)\n return formatProxy(ctx, proxy, recurseTimes);\n value = proxy;\n }\n if (ctx.customInspect) {\n const maybeCustom = value[customInspectSymbol];\n if (typeof maybeCustom === \"function\" && maybeCustom !== inspect && !(value.constructor && value.constructor.prototype === value)) {\n const depth = ctx.depth === null \? null : ctx.depth - recurseTimes, isCrossContext = proxy !== @undefined || !(context instanceof Object), ret = maybeCustom.@call(context, depth, getUserOptions(ctx, isCrossContext), inspect);\n if (ret !== context) {\n if (typeof ret !== \"string\")\n return formatValue(ctx, ret, recurseTimes);\n return StringPrototypeReplaceAll(ret, \"\\n\", `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`);\n }\n }\n }\n if (ctx.seen.includes(value)) {\n let index = 1;\n if (ctx.circular === @undefined)\n ctx.circular = new SafeMap, ctx.circular.set(value, index);\n else if (index = ctx.circular.get(value), index === @undefined)\n index = ctx.circular.size + 1, ctx.circular.set(value, index);\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n return formatRaw(ctx, value, recurseTimes, typedArray);\n}, formatRaw = function(ctx, value, recurseTimes, typedArray) {\n let keys, protoProps;\n if (ctx.showHidden && (recurseTimes <= ctx.depth || ctx.depth === null))\n protoProps = [];\n const constructor = getConstructorName(value, ctx, recurseTimes, protoProps);\n if (protoProps !== @undefined && protoProps.length === 0)\n protoProps = @undefined;\n let tag = value[SymbolToStringTag];\n if (typeof tag !== \"string\" || tag !== \"\" && (ctx.showHidden \? ObjectPrototypeHasOwnProperty : ObjectPrototypePropertyIsEnumerable)(value, SymbolToStringTag))\n tag = \"\";\n let base = \"\", formatter = getEmptyFormatArray, braces, noIterator = !0, i = 0;\n const filter = ctx.showHidden \? 0 : 2;\n let extrasType = kObjectType;\n if ((SymbolIterator in value) || constructor === null)\n if (noIterator = !1, ArrayIsArray(value)) {\n const prefix = constructor !== \"Array\" || tag !== \"\" \? getPrefix(constructor, tag, \"Array\", `(${value.length})`) : \"\";\n if (keys = getOwnNonIndexProperties(value, filter), braces = [`${prefix}[`, \"]\"], value.length === 0 && keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}]`;\n extrasType = kArrayExtrasType, formatter = formatArray;\n } else if (isSet(value)) {\n const size = SetPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Set\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatSet, null, value) : FunctionPrototypeBind(formatSet, null, SetPrototypeValues(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isMap(value)) {\n const size = MapPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Map\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatMap, null, value) : FunctionPrototypeBind(formatMap, null, MapPrototypeEntries(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isTypedArray(value)) {\n keys = getOwnNonIndexProperties(value, filter);\n let bound = value, fallback = \"\";\n if (constructor === null)\n fallback = TypedArrayPrototypeGetSymbolToStringTag(value), bound = new primordials[fallback](value);\n const size = TypedArrayPrototypeGetLength(value);\n if (braces = [`${getPrefix(constructor, tag, fallback, `(${size})`)}[`, \"]\"], value.length === 0 && keys.length === 0 && !ctx.showHidden)\n return `${braces[0]}]`;\n formatter = FunctionPrototypeBind(formatTypedArray, null, bound, size), extrasType = kArrayExtrasType;\n } else if (isMapIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Map\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else if (isSetIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Set\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else\n noIterator = !0;\n if (noIterator)\n if (keys = getKeys(value, ctx.showHidden), braces = [\"{\", \"}\"], constructor === \"Object\") {\n if (isArgumentsObject(value))\n braces[0] = \"[Arguments] {\";\n else if (tag !== \"\")\n braces[0] = `${getPrefix(constructor, tag, \"Object\")}{`;\n if (keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}}`;\n } else if (typeof value === \"function\") {\n if (base = getFunctionBase(value, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"special\");\n } else if (isRegExp(value)) {\n base = RegExpPrototypeToString(constructor !== null \? value : new RegExp(value));\n const prefix = getPrefix(constructor, tag, \"RegExp\");\n if (prefix !== \"RegExp \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined || recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(base, \"regexp\");\n } else if (isDate(value)) {\n base = NumberIsNaN(DatePrototypeGetTime(value)) \? DatePrototypeToString(value) : DatePrototypeToISOString(value);\n const prefix = getPrefix(constructor, tag, \"Date\");\n if (prefix !== \"Date \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"date\");\n } else if (value instanceof Error) {\n if (base = formatError(value, constructor, tag, ctx, keys), keys.length === 0 && protoProps === @undefined)\n return base;\n } else if (isAnyArrayBuffer(value)) {\n const arrayType = isArrayBuffer(value) \? \"ArrayBuffer\" : \"SharedArrayBuffer\", prefix = getPrefix(constructor, tag, arrayType);\n if (typedArray === @undefined)\n formatter = formatArrayBuffer;\n else if (keys.length === 0 && protoProps === @undefined)\n return prefix + `{ byteLength: ${formatNumber(ctx.stylize, value.byteLength, !1)} }`;\n braces[0] = `${prefix}{`, ArrayPrototypeUnshift(keys, \"byteLength\");\n } else if (isDataView(value))\n braces[0] = `${getPrefix(constructor, tag, \"DataView\")}{`, ArrayPrototypeUnshift(keys, \"byteLength\", \"byteOffset\", \"buffer\");\n else if (isPromise(value))\n braces[0] = `${getPrefix(constructor, tag, \"Promise\")}{`, formatter = formatPromise;\n else if (isWeakSet(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakSet\")}{`, formatter = ctx.showHidden \? formatWeakSet : formatWeakCollection;\n else if (isWeakMap(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakMap\")}{`, formatter = ctx.showHidden \? formatWeakMap : formatWeakCollection;\n else if (isModuleNamespaceObject(value))\n braces[0] = `${getPrefix(constructor, tag, \"Module\")}{`, formatter = formatNamespaceObject.bind(null, keys);\n else if (isBoxedPrimitive(value)) {\n if (base = getBoxedBase(value, ctx, keys, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return base;\n } else {\n if (keys.length === 0 && protoProps === @undefined) {\n if (isExternal(value))\n return ctx.stylize(\"[External: 0]\", \"special\");\n return `${getCtxStyle(value, constructor, tag)}{}`;\n }\n braces[0] = `${getCtxStyle(value, constructor, tag)}{`;\n }\n if (recurseTimes > ctx.depth && ctx.depth !== null) {\n let constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n if (constructor !== null)\n constructorName = `[${constructorName}]`;\n return ctx.stylize(constructorName, \"special\");\n }\n recurseTimes += 1, ctx.seen.push(value), ctx.currentDepth = recurseTimes;\n let output;\n const indentationLvl = ctx.indentationLvl;\n try {\n if (ctx.currentDepth > 1000)\n @throwRangeError(ERROR_STACK_OVERFLOW_MSG);\n output = formatter(ctx, value, recurseTimes);\n for (i = 0;i < keys.length; i++)\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, keys[i], extrasType));\n if (protoProps !== @undefined)\n ArrayPrototypePushApply(output, protoProps);\n } catch (err) {\n if (err instanceof RangeError && err.message === ERROR_STACK_OVERFLOW_MSG) {\n const constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n return ctx.seen.pop(), ctx.indentationLvl = indentationLvl, ctx.stylize(`[${constructorName}: Inspection interrupted prematurely. Maximum call stack size exceeded.]`, \"special\");\n }\n throw new AssertionError(\"handleMaxCallStackSize assertion failed: \" + String(err), !0);\n }\n if (ctx.circular !== @undefined) {\n const index = ctx.circular.get(value);\n if (index !== @undefined)\n if (ctx.seenRefs \?\?= new Set, !ctx.seenRefs.has(index)) {\n ctx.seenRefs.add(index);\n const reference = ctx.stylize(`<ref *${index}>`, \"special\");\n if (ctx.compact !== !0)\n base = base === \"\" \? reference : `${reference} ${base}`;\n else\n braces[0] = `${reference} ${braces[0]}`;\n } else {\n //! this is a non-standard behavior compared to Node's implementation\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n }\n if (ctx.seen.pop(), ctx.sorted) {\n const comparator = ctx.sorted === !0 \? @undefined : ctx.sorted;\n if (extrasType === kObjectType)\n ArrayPrototypeSort(output, comparator);\n else if (keys.length > 1) {\n const sorted = ArrayPrototypeSort(ArrayPrototypeSlice(output, output.length - keys.length), comparator);\n ArrayPrototypeUnshift(sorted, output, output.length - keys.length, keys.length), ReflectApply(ArrayPrototypeSplice, null, sorted);\n }\n }\n const res = reduceToSingleString(ctx, output, base, braces, extrasType, recurseTimes, value), newLength = (ctx.budget[ctx.indentationLvl] || 0) + res.length;\n if (ctx.budget[ctx.indentationLvl] = newLength, newLength > 134217728)\n ctx.depth = -1;\n return res;\n}, getIteratorBraces = function(type, tag) {\n if (tag !== `${type} Iterator`) {\n if (tag !== \"\")\n tag += \"] [\";\n tag += `${type} Iterator`;\n }\n return [`[${tag}] {`, \"}\"];\n}, getBoxedBase = function(value, ctx, keys, constructor, tag) {\n let fn, type;\n if (isNumberObject(value))\n fn = NumberPrototypeValueOf, type = \"Number\";\n else if (isStringObject(value))\n fn = StringPrototypeValueOf, type = \"String\", keys.splice(0, value.length);\n else if (isBooleanObject(value))\n fn = BooleanPrototypeValueOf, type = \"Boolean\";\n else if (isBigIntObject(value))\n fn = BigIntPrototypeValueOf, type = \"BigInt\";\n else\n fn = SymbolPrototypeValueOf, type = \"Symbol\";\n let base = `[${type}`;\n if (type !== constructor)\n if (constructor === null)\n base += \" (null prototype)\";\n else\n base += ` (${constructor})`;\n if (base += `: ${formatPrimitive(stylizeNoColor, fn(value), ctx)}]`, tag !== \"\" && tag !== constructor)\n base += ` [${tag}]`;\n if (keys.length !== 0 || ctx.stylize === stylizeNoColor)\n return base;\n return ctx.stylize(base, StringPrototypeToLowerCase(type));\n}, getClassBase = function(value, constructor, tag) {\n let base = `class ${ObjectPrototypeHasOwnProperty(value, \"name\") && value.name || \"(anonymous)\"}`;\n if (constructor !== \"Function\" && constructor !== null)\n base += ` [${constructor}]`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n if (constructor !== null) {\n const superName = ObjectGetPrototypeOf(value).name;\n if (superName)\n base += ` extends ${superName}`;\n } else\n base += \" extends [null prototype]\";\n return `[${base}]`;\n}, getFunctionBase = function(value, constructor, tag) {\n const stringified = FunctionPrototypeToString(value);\n if (StringPrototypeStartsWith(stringified, \"class\") && StringPrototypeEndsWith(stringified, \"}\")) {\n const slice = StringPrototypeSlice(stringified, 5, -1), bracketIndex = StringPrototypeIndexOf(slice, \"{\");\n if (bracketIndex !== -1 && (!StringPrototypeIncludes(StringPrototypeSlice(slice, 0, bracketIndex), \"(\") || RegExpPrototypeExec(classRegExp, RegExpPrototypeSymbolReplace(stripCommentsRegExp, slice)) !== null))\n return getClassBase(value, constructor, tag);\n }\n let type = \"Function\";\n if (isGeneratorFunction(value))\n type = `Generator${type}`;\n if (isAsyncFunction(value))\n type = `Async${type}`;\n let base = `[${type}`;\n if (constructor === null)\n base += \" (null prototype)\";\n if (value.name === \"\")\n base += \" (anonymous)\";\n else\n base += `: ${value.name}`;\n if (base += \"]\", constructor !== type && constructor !== null)\n base += ` ${constructor}`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n return base;\n}, identicalSequenceRange = function(a, b) {\n for (let i = 0;i < a.length - 3; i++) {\n const pos = b.indexOf(a[i]);\n if (pos !== -1) {\n const rest = b.length - pos;\n if (rest > 3) {\n let len = 1;\n const maxLen = MathMin(a.length - i, rest);\n while (maxLen > len && a[i + len] === b[pos + len])\n len++;\n if (len > 3)\n return { len, offset: i };\n }\n }\n }\n return { len: 0, offset: 0 };\n}, getStackString = function(error) {\n return error.stack \? String(error.stack) : ErrorPrototypeToString(error);\n}, getStackFrames = function(ctx, err, stack) {\n const frames = StringPrototypeSplit(stack, \"\\n\");\n let cause;\n try {\n ({ cause } = err);\n } catch {\n }\n if (cause != null && cause instanceof Error) {\n const causeStack = getStackString(cause), causeStackStart = StringPrototypeIndexOf(causeStack, \"\\n at\");\n if (causeStackStart !== -1) {\n const causeFrames = StringPrototypeSplit(StringPrototypeSlice(causeStack, causeStackStart + 1), \"\\n\"), { len, offset } = identicalSequenceRange(frames, causeFrames);\n if (len > 0) {\n const skipped = len - 2, msg = ` ... ${skipped} lines matching cause stack trace ...`;\n frames.splice(offset + 1, skipped, ctx.stylize(msg, \"undefined\"));\n }\n }\n }\n return frames;\n}, improveStack = function(stack, constructor, name, tag) {\n let len = name.length;\n if (constructor === null || StringPrototypeEndsWith(name, \"Error\") && StringPrototypeStartsWith(stack, name) && (stack.length === len || stack[len] === \":\" || stack[len] === \"\\n\")) {\n let fallback = \"Error\";\n if (constructor === null) {\n const start = RegExpPrototypeExec(/^([A-Z][a-z_ A-Z0-9[\\]()-]+)(\?::|\\n {4}at)/, stack) || RegExpPrototypeExec(/^([a-z_A-Z0-9-]*Error)$/, stack);\n fallback = start && start[1] || \"\", len = fallback.length, fallback = fallback || \"Error\";\n }\n const prefix = StringPrototypeSlice(getPrefix(constructor, tag, fallback), 0, -1);\n if (name !== prefix)\n if (StringPrototypeIncludes(prefix, name))\n if (len === 0)\n stack = `${prefix}: ${stack}`;\n else\n stack = `${prefix}${StringPrototypeSlice(stack, len)}`;\n else\n stack = `${prefix} [${name}]${StringPrototypeSlice(stack, len)}`;\n }\n return stack;\n}, removeDuplicateErrorKeys = function(ctx, keys, err, stack) {\n if (!ctx.showHidden && keys.length !== 0)\n for (let name of [\"name\", \"message\", \"stack\"]) {\n const index = ArrayPrototypeIndexOf(keys, name);\n if (index !== -1 && StringPrototypeIncludes(stack, err[name]))\n ArrayPrototypeSplice(keys, index, 1);\n }\n}, markNodeModules = function(ctx, line) {\n let tempLine = \"\", nodeModule, pos = 0;\n while ((nodeModule = nodeModulesRegExp.exec(line)) !== null)\n tempLine += StringPrototypeSlice(line, pos, nodeModule.index + 14), tempLine += ctx.stylize(nodeModule[1], \"module\"), pos = nodeModule.index + nodeModule[0].length;\n if (pos !== 0)\n line = tempLine + StringPrototypeSlice(line, pos);\n return line;\n}, markCwd = function(ctx, line, workingDirectory) {\n let cwdStartPos = StringPrototypeIndexOf(line, workingDirectory), tempLine = \"\", cwdLength = workingDirectory.length;\n if (cwdStartPos !== -1) {\n if (StringPrototypeSlice(line, cwdStartPos - 7, cwdStartPos) === \"file://\")\n cwdLength += 7, cwdStartPos -= 7;\n const start = line[cwdStartPos - 1] === \"(\" \? cwdStartPos - 1 : cwdStartPos, end = start !== cwdStartPos && StringPrototypeEndsWith(line, \")\") \? -1 : line.length, workingDirectoryEndPos = cwdStartPos + cwdLength + 1, cwdSlice = StringPrototypeSlice(line, start, workingDirectoryEndPos);\n if (tempLine += StringPrototypeSlice(line, 0, start), tempLine += ctx.stylize(cwdSlice, \"undefined\"), tempLine += StringPrototypeSlice(line, workingDirectoryEndPos, end), end === -1)\n tempLine += ctx.stylize(\")\", \"undefined\");\n } else\n tempLine += line;\n return tempLine;\n}, safeGetCWD = function() {\n let workingDirectory;\n try {\n workingDirectory = process.cwd();\n } catch {\n return;\n }\n return workingDirectory;\n}, formatError = function(err, constructor, tag, ctx, keys) {\n const name = err.name != null \? String(err.name) : \"Error\";\n let stack = getStackString(err);\n //! temp fix for Bun losing the error name from inherited errors + extraneous \": \" with no message\n if (stack = stack.replace(/^Error: /, `${name}${err.message \? \": \" : \"\"}`), removeDuplicateErrorKeys(ctx, keys, err, stack), (\"cause\" in err) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"cause\")))\n ArrayPrototypePush(keys, \"cause\");\n if (ArrayIsArray(err.errors) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"errors\")))\n ArrayPrototypePush(keys, \"errors\");\n stack = improveStack(stack, constructor, name, tag);\n let pos = err.message && StringPrototypeIndexOf(stack, err.message) || -1;\n if (pos !== -1)\n pos += err.message.length;\n const stackStart = StringPrototypeIndexOf(stack, \"\\n at\", pos);\n if (stackStart === -1)\n stack = `[${stack}]`;\n else {\n let newStack = StringPrototypeSlice(stack, 0, stackStart);\n const stackFramePart = StringPrototypeSlice(stack, stackStart + 1), lines = getStackFrames(ctx, err, stackFramePart);\n if (ctx.colors) {\n const workingDirectory = safeGetCWD();\n let esmWorkingDirectory;\n for (let line of lines) {\n const core = RegExpPrototypeExec(coreModuleRegExp, line);\n if (core !== null && (StringPrototypeStartsWith(core[1], \"internal/\") || ArrayPrototypeIncludes(@requireNativeModule(\"module\").builtinModules, core[1])))\n newStack += `\\n${ctx.stylize(line, \"undefined\")}`;\n else {\n if (newStack += \"\\n\", line = markNodeModules(ctx, line), workingDirectory !== @undefined) {\n let newLine = markCwd(ctx, line, workingDirectory);\n if (newLine === line)\n esmWorkingDirectory \?\?= pathToFileURL(workingDirectory), newLine = markCwd(ctx, line, esmWorkingDirectory);\n line = newLine;\n }\n newStack += line;\n }\n }\n } else\n newStack += `\\n${ArrayPrototypeJoin(lines, \"\\n\")}`;\n stack = newStack;\n }\n if (ctx.indentationLvl !== 0) {\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl);\n stack = StringPrototypeReplaceAll(stack, \"\\n\", `\\n${indentation}`);\n }\n return stack;\n}, groupArrayElements = function(ctx, output, value) {\n let totalLength = 0, maxLength = 0, i = 0, outputLength = output.length;\n if (ctx.maxArrayLength < output.length)\n outputLength--;\n const separatorSpace = 2, dataLen = new Array(outputLength);\n for (;i < outputLength; i++) {\n const len = getStringWidth(output[i], ctx.colors);\n if (dataLen[i] = len, totalLength += len + separatorSpace, maxLength < len)\n maxLength = len;\n }\n const actualMax = maxLength + separatorSpace;\n if (actualMax * 3 + ctx.indentationLvl < ctx.breakLength && (totalLength / actualMax > 5 || maxLength <= 6)) {\n const averageBias = MathSqrt(actualMax - totalLength / output.length), biasedMax = MathMax(actualMax - 3 - averageBias, 1), columns = MathMin(MathRound(MathSqrt(2.5 * biasedMax * outputLength) / biasedMax), MathFloor((ctx.breakLength - ctx.indentationLvl) / actualMax), ctx.compact * 4, 15);\n if (columns <= 1)\n return output;\n const tmp = [], maxLineLength = [];\n for (let i2 = 0;i2 < columns; i2++) {\n let lineMaxLength = 0;\n for (let j = i2;j < output.length; j += columns)\n if (dataLen[j] > lineMaxLength)\n lineMaxLength = dataLen[j];\n lineMaxLength += separatorSpace, maxLineLength[i2] = lineMaxLength;\n }\n let order = StringPrototypePadStart;\n if (value !== @undefined) {\n for (let i2 = 0;i2 < output.length; i2++)\n if (typeof value[i2] !== \"number\" && typeof value[i2] !== \"bigint\") {\n order = StringPrototypePadEnd;\n break;\n }\n }\n for (let i2 = 0;i2 < outputLength; i2 += columns) {\n const max = MathMin(i2 + columns, outputLength);\n let str = \"\", j = i2;\n for (;j < max - 1; j++) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j];\n str += order(`${output[j]}, `, padding, \" \");\n }\n if (order === StringPrototypePadStart) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j] - separatorSpace;\n str += StringPrototypePadStart(output[j], padding, \" \");\n } else\n str += output[j];\n ArrayPrototypePush(tmp, str);\n }\n if (ctx.maxArrayLength < output.length)\n ArrayPrototypePush(tmp, output[outputLength]);\n output = tmp;\n }\n return output;\n}, addNumericSeparator = function(integerString) {\n let result = \"\", i = integerString.length;\n const start = StringPrototypeStartsWith(integerString, \"-\") \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n result = `_${StringPrototypeSlice(integerString, i - 3, i)}${result}`;\n return i === integerString.length \? integerString : `${StringPrototypeSlice(integerString, 0, i)}${result}`;\n}, addNumericSeparatorEnd = function(integerString) {\n let result = \"\", i = 0;\n for (;i < integerString.length - 3; i += 3)\n result += `${StringPrototypeSlice(integerString, i, i + 3)}_`;\n return i === 0 \? integerString : `${result}${StringPrototypeSlice(integerString, i)}`;\n}, formatNumber = function(fn, number, numericSeparator) {\n if (!numericSeparator) {\n if (ObjectIs(number, -0))\n return fn(\"-0\", \"number\");\n return fn(`${number}`, \"number\");\n }\n const integer = MathTrunc(number), string = String(integer);\n if (integer === number) {\n if (!NumberIsFinite(number) || StringPrototypeIncludes(string, \"e\"))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}`, \"number\");\n }\n if (NumberIsNaN(number))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}.${addNumericSeparatorEnd(StringPrototypeSlice(String(number), string.length + 1))}`, \"number\");\n}, formatBigInt = function(fn, bigint, numericSeparator) {\n const string = String(bigint);\n if (!numericSeparator)\n return fn(`${string}n`, \"bigint\");\n return fn(`${addNumericSeparator(string)}n`, \"bigint\");\n}, formatPrimitive = function(fn, value, ctx) {\n if (typeof value === \"string\") {\n let trailer = \"\";\n if (value.length > ctx.maxStringLength) {\n const remaining = value.length - ctx.maxStringLength;\n value = StringPrototypeSlice(value, 0, ctx.maxStringLength), trailer = `... ${remaining} more character${remaining > 1 \? \"s\" : \"\"}`;\n }\n if (ctx.compact !== !0 && value.length > kMinLineLength && value.length > ctx.breakLength - ctx.indentationLvl - 4)\n return ArrayPrototypeJoin(ArrayPrototypeMap(extractedSplitNewLines(value), (line) => fn(strEscape(line), \"string\")), ` +\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl + 2)}`) + trailer;\n return fn(strEscape(value), \"string\") + trailer;\n }\n if (typeof value === \"number\")\n return formatNumber(fn, value, ctx.numericSeparator);\n if (typeof value === \"bigint\")\n return formatBigInt(fn, value, ctx.numericSeparator);\n if (typeof value === \"boolean\")\n return fn(`${value}`, \"boolean\");\n if (typeof value === \"undefined\")\n return fn(\"undefined\", \"undefined\");\n return fn(SymbolPrototypeToString(value), \"symbol\");\n}, formatNamespaceObject = function(keys, ctx, value, recurseTimes) {\n const output = new Array(keys.length);\n for (let i = 0;i < keys.length; i++)\n try {\n output[i] = formatProperty(ctx, value, recurseTimes, keys[i], kObjectType);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\");\n const tmp = { [keys[i]]: \"\" };\n output[i] = formatProperty(ctx, tmp, recurseTimes, keys[i], kObjectType);\n const pos = StringPrototypeLastIndexOf(output[i], \" \");\n output[i] = StringPrototypeSlice(output[i], 0, pos + 1) + ctx.stylize(\"<uninitialized>\", \"special\");\n }\n return keys.length = 0, output;\n}, formatSpecialArray = function(ctx, value, recurseTimes, maxLength, output, i) {\n const keys = ObjectKeys(value);\n let index = i;\n for (;i < keys.length && output.length < maxLength; i++) {\n const key = keys[i], tmp = +key;\n if (tmp > 4294967294)\n break;\n if (`${index}` !== key) {\n if (RegExpPrototypeExec(numberRegExp, key) === null)\n break;\n const emptyItems = tmp - index, ending = emptyItems > 1 \? \"s\" : \"\", message = `<${emptyItems} empty item${ending}>`;\n if (ArrayPrototypePush(output, ctx.stylize(message, \"undefined\")), index = tmp, output.length === maxLength)\n break;\n }\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, key, kArrayType)), index++;\n }\n const remaining = value.length - index;\n if (output.length !== maxLength) {\n if (remaining > 0) {\n const ending = remaining > 1 \? \"s\" : \"\", message = `<${remaining} empty item${ending}>`;\n ArrayPrototypePush(output, ctx.stylize(message, \"undefined\"));\n }\n } else if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, hexSlice = function(buf, start = 0, end) {\n return ArrayPrototypeJoin(ArrayPrototypeMap(buf.slice(start, end), (x) => (\"00\" + x.toString(16)).slice(-2)), \"\");\n}, formatArrayBuffer = function(ctx, value) {\n let buffer;\n try {\n buffer = new Uint8Array(value);\n } catch {\n return [ctx.stylize(\"(detached)\", \"special\")];\n }\n let str = StringPrototypeTrim(RegExpPrototypeSymbolReplace(/(.{2})/g, hexSlice(buffer, 0, MathMin(ctx.maxArrayLength, buffer.length)), \"$1 \"));\n const remaining = buffer.length - ctx.maxArrayLength;\n if (remaining > 0)\n str += ` ... ${remaining} more byte${remaining > 1 \? \"s\" : \"\"}`;\n return [`${ctx.stylize(\"[Uint8Contents]\", \"special\")}: <${str}>`];\n}, formatArray = function(ctx, value, recurseTimes) {\n const valLen = value.length, len = MathMin(MathMax(0, ctx.maxArrayLength), valLen), remaining = valLen - len, output = [];\n for (let i = 0;i < len; i++) {\n if (!ObjectPrototypeHasOwnProperty(value, i))\n return formatSpecialArray(ctx, value, recurseTimes, len, output, i);\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, i, kArrayType));\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatTypedArray = function(value, length, ctx, ignored, recurseTimes) {\n const maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = value.length - maxLength, output = new Array(maxLength), elementFormatter = value.length > 0 && typeof value[0] === \"number\" \? formatNumber : formatBigInt;\n for (let i = 0;i < maxLength; ++i)\n output[i] = elementFormatter(ctx.stylize, value[i], ctx.numericSeparator);\n if (remaining > 0)\n output[maxLength] = remainingText(remaining);\n if (ctx.showHidden) {\n ctx.indentationLvl += 2;\n for (let key of [\"BYTES_PER_ELEMENT\", \"length\", \"byteLength\", \"byteOffset\", \"buffer\"]) {\n const str = formatValue(ctx, value[key], recurseTimes, !0);\n ArrayPrototypePush(output, `[${key}]: ${str}`);\n }\n ctx.indentationLvl -= 2;\n }\n return output;\n}, formatSet = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let v of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, formatValue(ctx, v, recurseTimes)), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatMap = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let { 0: k, 1: v } of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, `${formatValue(ctx, k, recurseTimes)} => ${formatValue(ctx, v, recurseTimes)}`), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatSetIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), maxLength = MathMin(maxArrayLength, entries.length), output = new Array(maxLength);\n ctx.indentationLvl += 2;\n for (let i = 0;i < maxLength; i++)\n output[i] = formatValue(ctx, entries[i], recurseTimes);\n if (ctx.indentationLvl -= 2, state === kWeak && !ctx.sorted)\n ArrayPrototypeSort(output);\n const remaining = entries.length - maxLength;\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatMapIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), len = entries.length / 2, remaining = len - maxArrayLength, maxLength = MathMin(maxArrayLength, len), output = new Array(maxLength);\n let i = 0;\n if (ctx.indentationLvl += 2, state === kWeak) {\n for (;i < maxLength; i++) {\n const pos = i * 2;\n output[i] = `${formatValue(ctx, entries[pos], recurseTimes)} => ${formatValue(ctx, entries[pos + 1], recurseTimes)}`;\n }\n if (!ctx.sorted)\n ArrayPrototypeSort(output);\n } else\n for (;i < maxLength; i++) {\n const pos = i * 2, res = [formatValue(ctx, entries[pos], recurseTimes), formatValue(ctx, entries[pos + 1], recurseTimes)];\n output[i] = reduceToSingleString(ctx, res, \"\", [\"[\", \"]\"], kArrayExtrasType, recurseTimes);\n }\n if (ctx.indentationLvl -= 2, remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatWeakCollection = function(ctx) {\n return [ctx.stylize(\"<items unknown>\", \"special\")];\n}, formatWeakSet = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatSetIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatWeakMap = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatMapIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatIterator = function(braces, ctx, value, recurseTimes) {\n const { 0: entries, 1: isKeyValue } = previewEntries(value, !0);\n if (isKeyValue)\n return braces[0] = RegExpPrototypeSymbolReplace(/ Iterator] {$/, braces[0], \" Entries] {\"), formatMapIterInner(ctx, recurseTimes, entries, kMapEntries);\n return formatSetIterInner(ctx, recurseTimes, entries, kIterator);\n}, formatPromise = function(ctx, value, recurseTimes) {\n let output;\n const { 0: state, 1: result } = getPromiseDetails(value);\n if (state === kPending)\n output = [ctx.stylize(\"<pending>\", \"special\")];\n else {\n ctx.indentationLvl += 2;\n const str = formatValue(ctx, result, recurseTimes);\n ctx.indentationLvl -= 2, output = [state === kRejected \? `${ctx.stylize(\"<rejected>\", \"special\")} ${str}` : str];\n }\n return output;\n}, formatProperty = function(ctx, value, recurseTimes, key, type, desc, original = value) {\n let name, str, extra = \" \";\n if (desc ||= ObjectGetOwnPropertyDescriptor(value, key) || { value: value[key], enumerable: !0 }, desc.value !== @undefined) {\n const diff = ctx.compact !== !0 || type !== kObjectType \? 2 : 3;\n if (ctx.indentationLvl += diff, str = formatValue(ctx, desc.value, recurseTimes), diff === 3 && ctx.breakLength < getStringWidth(str, ctx.colors))\n extra = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n ctx.indentationLvl -= diff;\n } else if (desc.get !== @undefined) {\n const label = desc.set !== @undefined \? \"Getter/Setter\" : \"Getter\", s = ctx.stylize;\n if (ctx.getters && (ctx.getters === !0 || ctx.getters === \"get\" && desc.set === @undefined || ctx.getters === \"set\" && desc.set !== @undefined))\n try {\n const tmp = desc.get.@call(original);\n if (ctx.indentationLvl += 2, tmp === null)\n str = `${s(`[${label}:`, \"special\")} ${s(\"null\", \"null\")}${s(\"]\", \"special\")}`;\n else if (typeof tmp === \"object\")\n str = `${s(`[${label}]`, \"special\")} ${formatValue(ctx, tmp, recurseTimes)}`;\n else {\n const primitive = formatPrimitive(s, tmp, ctx);\n str = `${s(`[${label}:`, \"special\")} ${primitive}${s(\"]\", \"special\")}`;\n }\n ctx.indentationLvl -= 2;\n } catch (err) {\n const message = `<Inspection threw (${err.message})>`;\n str = `${s(`[${label}:`, \"special\")} ${message}${s(\"]\", \"special\")}`;\n }\n else\n str = ctx.stylize(`[${label}]`, \"special\");\n } else if (desc.set !== @undefined)\n str = ctx.stylize(\"[Setter]\", \"special\");\n else\n str = ctx.stylize(\"undefined\", \"undefined\");\n if (type === kArrayType)\n return str;\n if (typeof key === \"symbol\") {\n const tmp = RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, SymbolPrototypeToString(key), escapeFn);\n name = `[${ctx.stylize(tmp, \"symbol\")}]`;\n } else if (key === \"__proto__\")\n name = \"['__proto__']\";\n else if (desc.enumerable === !1)\n name = `[${RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, key, escapeFn)}]`;\n else if (RegExpPrototypeExec(keyStrRegExp, key) !== null)\n name = ctx.stylize(key, \"name\");\n else\n name = ctx.stylize(strEscape(key), \"string\");\n return `${name}:${extra}${str}`;\n}, isBelowBreakLength = function(ctx, output, start, base) {\n let totalLength = output.length + start;\n if (totalLength + output.length > ctx.breakLength)\n return !1;\n for (let i = 0;i < output.length; i++) {\n if (ctx.colors)\n totalLength += StringPrototypeReplaceAll(output[i], /\\u001B\\[\\d\\d\?m/g, \"\").length;\n else\n totalLength += output[i].length;\n if (totalLength > ctx.breakLength)\n return !1;\n }\n return base === \"\" || !StringPrototypeIncludes(base, \"\\n\");\n}, reduceToSingleString = function(ctx, output, base, braces, extrasType, recurseTimes, value) {\n if (ctx.compact !== !0) {\n if (typeof ctx.compact === \"number\" && ctx.compact >= 1) {\n const entries = output.length;\n if (extrasType === kArrayExtrasType && entries > 6)\n output = groupArrayElements(ctx, output, value);\n if (ctx.currentDepth - recurseTimes < ctx.compact && entries === output.length) {\n const start = output.length + ctx.indentationLvl + braces[0].length + base.length + 10;\n if (isBelowBreakLength(ctx, output, start, base)) {\n const joinedOutput = ArrayPrototypeJoin(output, \", \");\n if (!StringPrototypeIncludes(joinedOutput, \"\\n\"))\n return `${base \? `${base} ` : \"\"}${braces[0]} ${joinedOutput}` + ` ${braces[1]}`;\n }\n }\n }\n const indentation2 = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n return `${base \? `${base} ` : \"\"}${braces[0]}${indentation2} ` + `${ArrayPrototypeJoin(output, `,${indentation2} `)}${indentation2}${braces[1]}`;\n }\n if (isBelowBreakLength(ctx, output, 0, base))\n return `${braces[0]}${base \? ` ${base}` : \"\"} ${ArrayPrototypeJoin(output, \", \")} ` + braces[1];\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl), ln = base === \"\" && braces[0].length === 1 \? \" \" : `${base \? ` ${base}` : \"\"}\\n${indentation} `;\n return `${braces[0]}${ln}${ArrayPrototypeJoin(output, `,\\n${indentation} `)} ${braces[1]}`;\n}, hasBuiltInToString = function(value) {\n const proxyTarget = getProxyDetails(value, !1);\n if (proxyTarget !== @undefined) {\n if (proxyTarget === null)\n return !0;\n value = proxyTarget;\n }\n if (typeof value.toString !== \"function\")\n return !0;\n if (ObjectPrototypeHasOwnProperty(value, \"toString\"))\n return !1;\n let pointer = value;\n do\n pointer = ObjectGetPrototypeOf(pointer);\n while (!ObjectPrototypeHasOwnProperty(pointer, \"toString\"));\n const descriptor = ObjectGetOwnPropertyDescriptor(pointer, \"constructor\");\n return descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name);\n}, tryStringify = function(arg) {\n try {\n return JSONStringify(arg);\n } catch (err) {\n if (!CIRCULAR_ERROR_MESSAGE)\n try {\n const a = {};\n a.a = a, JSONStringify(a);\n } catch (circularError) {\n CIRCULAR_ERROR_MESSAGE = firstErrorLine(circularError);\n }\n if (err.name === \"TypeError\" && firstErrorLine(err) === CIRCULAR_ERROR_MESSAGE)\n return \"[Circular]\";\n throw err;\n }\n}, format = function(...args) {\n return formatWithOptionsInternal(@undefined, args);\n}, formatWithOptions = function(inspectOptions, ...args) {\n return validateObject(inspectOptions, \"inspectOptions\", { allowArray: !0 }), formatWithOptionsInternal(inspectOptions, args);\n}, formatNumberNoColor = function(number, options) {\n return formatNumber(stylizeNoColor, number, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatBigIntNoColor = function(bigint, options) {\n return formatBigInt(stylizeNoColor, bigint, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatWithOptionsInternal = function(inspectOptions, args) {\n const first = args[0];\n let a = 0, str = \"\", join = \"\";\n if (typeof first === \"string\") {\n if (args.length === 1)\n return first;\n let tempStr, lastPos = 0;\n for (let i = 0;i < first.length - 1; i++)\n if (StringPrototypeCharCodeAt(first, i) === 37) {\n const nextChar = StringPrototypeCharCodeAt(first, ++i);\n if (a + 1 !== args.length) {\n switch (nextChar) {\n case 115: {\n const tempArg = args[++a];\n if (typeof tempArg === \"number\")\n tempStr = formatNumberNoColor(tempArg, inspectOptions);\n else if (typeof tempArg === \"bigint\")\n tempStr = formatBigIntNoColor(tempArg, inspectOptions);\n else if (typeof tempArg !== \"object\" || tempArg === null || !hasBuiltInToString(tempArg))\n tempStr = String(tempArg);\n else\n tempStr = inspect(tempArg, {\n ...inspectOptions,\n compact: 3,\n colors: !1,\n depth: 0\n });\n break;\n }\n case 106:\n tempStr = tryStringify(args[++a]);\n break;\n case 100: {\n const tempNum = args[++a];\n if (typeof tempNum === \"bigint\")\n tempStr = formatBigIntNoColor(tempNum, inspectOptions);\n else if (typeof tempNum === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(Number(tempNum), inspectOptions);\n break;\n }\n case 79:\n tempStr = inspect(args[++a], inspectOptions);\n break;\n case 111:\n tempStr = inspect(args[++a], {\n ...inspectOptions,\n showHidden: !0,\n showProxy: !0,\n depth: 4\n });\n break;\n case 105: {\n const tempInteger = args[++a];\n if (typeof tempInteger === \"bigint\")\n tempStr = formatBigIntNoColor(tempInteger, inspectOptions);\n else if (typeof tempInteger === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseInt(tempInteger), inspectOptions);\n break;\n }\n case 102: {\n const tempFloat = args[++a];\n if (typeof tempFloat === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseFloat(tempFloat), inspectOptions);\n break;\n }\n case 99:\n a += 1, tempStr = \"\";\n break;\n case 37:\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n continue;\n default:\n continue;\n }\n if (lastPos !== i - 1)\n str += StringPrototypeSlice(first, lastPos, i - 1);\n str += tempStr, lastPos = i + 1;\n } else if (nextChar === 37)\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n }\n if (lastPos !== 0) {\n if (a++, join = \" \", lastPos < first.length)\n str += StringPrototypeSlice(first, lastPos);\n }\n }\n while (a < args.length) {\n const value = args[a];\n str += join, str += typeof value !== \"string\" \? inspect(value, inspectOptions) : value, join = \" \", a++;\n }\n return str;\n}, isZeroWidthCodePoint = function(code) {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, stripVTControlCharacters = function(str) {\n if (typeof str !== \"string\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"str\", \"string\", str);\n return RegExpPrototypeSymbolReplace(ansi, str, \"\");\n}, getOwnNonIndexProperties = function(a, filter = 2) {\n const desc = ObjectGetOwnPropertyDescriptors(a), ret = [];\n for (let [k, v] of ObjectEntries(desc))\n if (!RegExpPrototypeTest(/^(0|[1-9][0-9]*)$/, k) || NumberParseInt(k, 10) >= 4294967295)\n if (filter === 2 && !v.enumerable)\n continue;\n else\n ArrayPrototypePush(ret, k);\n for (let s of ObjectGetOwnPropertySymbols(a)) {\n const v = ObjectGetOwnPropertyDescriptor(a, s);\n if (filter === 2 && !v.enumerable)\n continue;\n ArrayPrototypePush(ret, s);\n }\n return ret;\n}, getPromiseDetails = function(promise) {\n const state = @getPromiseInternalField(promise, @promiseFieldFlags) & @promiseStateMask;\n if (state !== @promiseStatePending)\n return [\n state === @promiseStateRejected \? kRejected : kFulfilled,\n @getPromiseInternalField(promise, @promiseFieldReactionsOrResult)\n ];\n return [kPending, @undefined];\n}, getProxyDetails = function(proxy, withHandler = !0) {\n if (!@isProxyObject(proxy))\n return @undefined;\n const handler = @getProxyInternalField(proxy, @proxyFieldHandler), target = handler === null \? null : @getProxyInternalField(proxy, @proxyFieldTarget);\n if (withHandler)\n return [target, handler];\n else\n return target;\n}, previewEntries = function(val, isIterator = !1) {\n if (isIterator) {\n const iteratedObject = @getInternalField(val, 1), kind = @getInternalField(val, 2), isEntries = kind === 2;\n if (@isMap(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(iteratedObject)), !0];\n else if (kind === 1)\n return [ArrayFrom(MapPrototypeValues(iteratedObject)), !1];\n else\n return [ArrayFrom(MapPrototypeKeys(iteratedObject)), !1];\n else if (@isSet(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(SetPrototypeEntries(iteratedObject))), !0];\n else\n return [ArrayFrom(iteratedObject), !1];\n else\n throw new Error(\"previewEntries(): Invalid iterator received\");\n }\n if (isWeakMap(val))\n return [];\n if (isWeakSet(val))\n return [];\n else\n throw new Error(\"previewEntries(): Invalid object received\");\n}, internalGetConstructorName = function(val) {\n if (!val || typeof val !== \"object\")\n throw new Error(\"Invalid object\");\n if (val.constructor\?.name)\n return val.constructor.name;\n const str = ObjectPrototypeToString(val), m = StringPrototypeMatch(str, /^\\[object ([^\\]]+)\\]/);\n return m \? m[1] : \"Object\";\n}, $, { pathToFileURL } = @getInternalField(@internalModuleRegistry, 47) || @createInternalModuleById(47), primordials = @getInternalField(@internalModuleRegistry, 5) || @createInternalModuleById(5), {\n Array,\n ArrayFrom,\n ArrayIsArray,\n ArrayPrototypeFilter,\n ArrayPrototypeFlat,\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes,\n ArrayPrototypeIndexOf,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n ArrayPrototypePop,\n ArrayPrototypePush,\n ArrayPrototypePushApply,\n ArrayPrototypeSlice,\n ArrayPrototypeSplice,\n ArrayPrototypeSort,\n ArrayPrototypeUnshift,\n BigIntPrototypeValueOf,\n BooleanPrototypeValueOf,\n DatePrototypeGetTime,\n DatePrototypeToISOString,\n DatePrototypeToString,\n ErrorCaptureStackTrace,\n ErrorPrototypeToString,\n FunctionPrototypeBind,\n FunctionPrototypeToString,\n JSONStringify,\n MapPrototypeGetSize,\n MapPrototypeEntries,\n MapPrototypeValues,\n MapPrototypeKeys,\n MathFloor,\n MathMax,\n MathMin,\n MathRound,\n MathSqrt,\n MathTrunc,\n Number,\n NumberIsFinite,\n NumberIsNaN,\n NumberParseFloat,\n NumberParseInt,\n NumberPrototypeToString,\n NumberPrototypeValueOf,\n Object,\n ObjectAssign,\n ObjectDefineProperty,\n ObjectEntries,\n ObjectGetOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames,\n ObjectGetOwnPropertySymbols,\n ObjectGetPrototypeOf,\n ObjectIs,\n ObjectKeys,\n ObjectPrototypeHasOwnProperty,\n ObjectPrototypePropertyIsEnumerable,\n ObjectPrototypeToString,\n ObjectSeal,\n ObjectSetPrototypeOf,\n ReflectApply,\n ReflectOwnKeys,\n RegExp,\n RegExpPrototypeExec,\n RegExpPrototypeSymbolReplace,\n RegExpPrototypeSymbolSplit,\n RegExpPrototypeTest,\n RegExpPrototypeToString,\n SafeStringIterator,\n SafeMap,\n SafeSet,\n SetPrototypeEntries,\n SetPrototypeGetSize,\n SetPrototypeValues,\n String,\n StringPrototypeCharCodeAt,\n StringPrototypeCodePointAt,\n StringPrototypeIncludes,\n StringPrototypeIndexOf,\n StringPrototypeLastIndexOf,\n StringPrototypeMatch,\n StringPrototypeNormalize,\n StringPrototypePadEnd,\n StringPrototypePadStart,\n StringPrototypeRepeat,\n StringPrototypeReplaceAll,\n StringPrototypeSlice,\n StringPrototypeSplit,\n StringPrototypeEndsWith,\n StringPrototypeStartsWith,\n StringPrototypeToLowerCase,\n StringPrototypeTrim,\n StringPrototypeValueOf,\n SymbolPrototypeToString,\n SymbolPrototypeValueOf,\n SymbolIterator,\n SymbolToStringTag,\n TypedArrayPrototypeGetLength,\n TypedArrayPrototypeGetSymbolToStringTag,\n Uint8Array\n} = primordials, customInspectSymbol = Symbol.for(\"nodejs.util.inspect.custom\"), kPending = Symbol(\"kPending\"), kFulfilled = Symbol(\"kFulfilled\"), kRejected = Symbol(\"kRejected\");\nvar isAsyncFunction = (v) => typeof v === \"function\" && StringPrototypeStartsWith(FunctionPrototypeToString(v), \"async\"), isGeneratorFunction = (v) => typeof v === \"function\" && StringPrototypeMatch(FunctionPrototypeToString(v), /^(async\\s+)\?function *\\*/), isBigIntObject = checkBox(BigInt), isSymbolObject = checkBox(Symbol), {\n isAnyArrayBuffer,\n isArrayBuffer,\n isArgumentsObject,\n isBoxedPrimitive: _native_isBoxedPrimitive,\n isDataView,\n isExternal,\n isMap,\n isMapIterator,\n isModuleNamespaceObject,\n isNativeError,\n isPromise,\n isSet,\n isSetIterator,\n isWeakMap,\n isWeakSet,\n isRegExp,\n isDate,\n isTypedArray,\n isStringObject,\n isNumberObject,\n isBooleanObject\n} = @requireNativeModule(\"util/types\");\n//! The native versions of the commented out functions are currently buggy, so we use the polyfills above for now.\n//! temp workaround to apply is{BigInt,Symbol}Object fix\nvar isBoxedPrimitive = (val) => isBigIntObject(val) || isSymbolObject(val) || _native_isBoxedPrimitive(val);\n\nclass AssertionError extends Error {\n constructor(message, isForced = !1) {\n super(message);\n this.name = \"AssertionError\", this.code = \"ERR_ASSERTION\", this.operator = \"==\", this.generatedMessage = !isForced, this.actual = isForced && @undefined, this.expected = !isForced || @undefined;\n }\n}\nvar codes = {};\n{\n const kTypes = [\n \"string\",\n \"function\",\n \"number\",\n \"object\",\n \"Function\",\n \"Object\",\n \"boolean\",\n \"bigint\",\n \"symbol\"\n ], classRegExp = /^([A-Z][a-z0-9]*)+$/, messages = new SafeMap;\n messages.set(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !ArrayIsArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (StringPrototypeEndsWith(name, \" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${StringPrototypeIncludes(name, \".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), ArrayPrototypeIncludes(kTypes, value))\n ArrayPrototypePush(types, StringPrototypeToLowerCase(value));\n else if (RegExpPrototypeTest(classRegExp, value))\n ArrayPrototypePush(instances, value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), ArrayPrototypePush(other, value);\n if (instances.length > 0) {\n const pos = ArrayPrototypeIndexOf(types, \"object\");\n if (pos !== -1)\n ArrayPrototypeSplice(types, pos, 1), ArrayPrototypePush(instances, \"Object\");\n }\n if (types.length > 0) {\n if (types.length > 2)\n msg += `one of type ${ArrayPrototypeJoin(types, \", \")}, or ${ArrayPrototypePop(types)}`;\n else if (types.length === 2)\n msg += `one of type ${types[0]} or ${types[1]}`;\n else\n msg += `of type ${types[0]}`;\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n if (instances.length > 2)\n msg += `an instance of ${ArrayPrototypeJoin(instances, \", \")}, or ${ArrayPrototypePop(instances)}`;\n else\n msg += `an instance of ${instances[0]}` + (instances.length === 2 \? ` or ${instances[1]}` : \"\");\n if (other.length > 0)\n msg += \" or \";\n }\n if (other.length > 0)\n if (other.length > 2) {\n const last = ArrayPrototypePop(other);\n msg += `one of ${ArrayPrototypeJoin(other, \", \")}, or ${last}`;\n } else if (other.length === 2)\n msg += `one of ${other[0]} or ${other[1]}`;\n else {\n if (StringPrototypeToLowerCase(other[0]) !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\")\n if (actual.constructor && actual.constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else\n msg += `. Received ${inspect(actual, { depth: -1 })}`;\n else {\n let inspected = inspect(actual, { colors: !1 });\n if (inspected.length > 25)\n inspected = `${StringPrototypeSlice(inspected, 0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }), codes[\"ERR_INVALID_ARG_TYPE\"] = function NodeError(...args) {\n const limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n const error = @makeTypeError();\n Error.stackTraceLimit = limit;\n const msg = messages.get(\"ERR_INVALID_ARG_TYPE\");\n assert(typeof msg === \"function\"), assert(msg.length <= args.length, `Code: ERR_INVALID_ARG_TYPE; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`);\n const message = ReflectApply(msg, error, args);\n ObjectDefineProperty(error, \"message\", { value: message, enumerable: !1, writable: !0, configurable: !0 }), ObjectDefineProperty(error, \"toString\", {\n value() {\n return `${this.name} [ERR_INVALID_ARG_TYPE]: ${this.message}`;\n },\n enumerable: !1,\n writable: !0,\n configurable: !0\n });\n let err = error;\n const userStackTraceLimit = Error.stackTraceLimit;\n return Error.stackTraceLimit = @Infinity, ErrorCaptureStackTrace(err), Error.stackTraceLimit = userStackTraceLimit, err.name = `${TypeError.name} [ERR_INVALID_ARG_TYPE]`, err.stack, delete err.name, error.code = \"ERR_INVALID_ARG_TYPE\", error;\n };\n}\nvar validateObject = (value, name, allowArray = !1) => {\n if (value === null || !allowArray && ArrayIsArray(value) || typeof value !== \"object\" && typeof value !== \"function\")\n throw new codes.ERR_INVALID_ARG_TYPE(name, \"Object\", value);\n}, builtInObjects = new SafeSet(ArrayPrototypeFilter(ObjectGetOwnPropertyNames(globalThis), (e) => RegExpPrototypeExec(/^[A-Z][a-zA-Z0-9]+$/, e) !== null)), isUndetectableObject = (v) => typeof v === \"undefined\" && v !== @undefined, ERROR_STACK_OVERFLOW_MSG = \"Maximum call stack size exceeded.\", inspectDefaultOptions = ObjectSeal({\n showHidden: !1,\n depth: 2,\n colors: !1,\n customInspect: !0,\n showProxy: !1,\n maxArrayLength: 100,\n maxStringLength: 1e4,\n breakLength: 80,\n compact: 3,\n sorted: !1,\n getters: !1,\n numericSeparator: !1\n}), inspectReplDefaults = ObjectSeal({\n ...inspectDefaultOptions,\n colors: Bun.enableANSIColors,\n showProxy: !0\n}), kObjectType = 0, kArrayType = 1, kArrayExtrasType = 2, strEscapeSequencesRegExp, strEscapeSequencesReplacer, strEscapeSequencesRegExpSingle, strEscapeSequencesReplacerSingle, extractedSplitNewLines;\ntry {\n strEscapeSequencesRegExp = new RegExp(\"[\\\\x00-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacer = new RegExp(\"[\\0-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\"), strEscapeSequencesRegExpSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacerSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\");\n const extractedNewLineRe = new RegExp(\"(\?<=\\\\n)\");\n extractedSplitNewLines = (value) => RegExpPrototypeSymbolSplit(extractedNewLineRe, value);\n} catch {\n strEscapeSequencesRegExp = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacer = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/g, strEscapeSequencesRegExpSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacerSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/g, extractedSplitNewLines = (value) => {\n const lines = RegExpPrototypeSymbolSplit(/\\n/, value), last = ArrayPrototypePop(lines), nlLines = ArrayPrototypeMap(lines, (line) => line + \"\\n\");\n if (last !== \"\")\n nlLines.push(last);\n return nlLines;\n };\n}\nvar keyStrRegExp = /^[a-zA-Z_][a-zA-Z_0-9]*$/, numberRegExp = /^(0|[1-9][0-9]*)$/, coreModuleRegExp = /^ {4}at (\?:[^/\\\\(]+ \\(|)node:(.+):\\d+:\\d+\\)\?$/, nodeModulesRegExp = /[/\\\\]node_modules[/\\\\](.+\?)(\?=[/\\\\])/g, classRegExp = /^(\\s+[^(]*\?)\\s*{/, stripCommentsRegExp = /(\\/\\/.*\?\\n)|(\\/\\*(.|\\n)*\?\\*\\/)/g, kMinLineLength = 16, kWeak = 0, kIterator = 1, kMapEntries = 2, meta = [\n \"\\\\x00\",\n \"\\\\x01\",\n \"\\\\x02\",\n \"\\\\x03\",\n \"\\\\x04\",\n \"\\\\x05\",\n \"\\\\x06\",\n \"\\\\x07\",\n \"\\\\b\",\n \"\\\\t\",\n \"\\\\n\",\n \"\\\\x0B\",\n \"\\\\f\",\n \"\\\\r\",\n \"\\\\x0E\",\n \"\\\\x0F\",\n \"\\\\x10\",\n \"\\\\x11\",\n \"\\\\x12\",\n \"\\\\x13\",\n \"\\\\x14\",\n \"\\\\x15\",\n \"\\\\x16\",\n \"\\\\x17\",\n \"\\\\x18\",\n \"\\\\x19\",\n \"\\\\x1A\",\n \"\\\\x1B\",\n \"\\\\x1C\",\n \"\\\\x1D\",\n \"\\\\x1E\",\n \"\\\\x1F\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\'\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\\\\\\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\x7F\",\n \"\\\\x80\",\n \"\\\\x81\",\n \"\\\\x82\",\n \"\\\\x83\",\n \"\\\\x84\",\n \"\\\\x85\",\n \"\\\\x86\",\n \"\\\\x87\",\n \"\\\\x88\",\n \"\\\\x89\",\n \"\\\\x8A\",\n \"\\\\x8B\",\n \"\\\\x8C\",\n \"\\\\x8D\",\n \"\\\\x8E\",\n \"\\\\x8F\",\n \"\\\\x90\",\n \"\\\\x91\",\n \"\\\\x92\",\n \"\\\\x93\",\n \"\\\\x94\",\n \"\\\\x95\",\n \"\\\\x96\",\n \"\\\\x97\",\n \"\\\\x98\",\n \"\\\\x99\",\n \"\\\\x9A\",\n \"\\\\x9B\",\n \"\\\\x9C\",\n \"\\\\x9D\",\n \"\\\\x9E\",\n \"\\\\x9F\"\n], getStringWidth;\ninspect.custom = customInspectSymbol;\nObjectDefineProperty(inspect, \"defaultOptions\", {\n __proto__: null,\n get() {\n return inspectDefaultOptions;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectDefaultOptions, options);\n }\n});\nObjectDefineProperty(inspect, \"replDefaults\", {\n __proto__: null,\n get() {\n return inspectReplDefaults;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectReplDefaults, options);\n }\n});\nvar defaultFG = 39, defaultBG = 49;\ninspect.colors = {\n __proto__: null,\n reset: [0, 0],\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n blink: [5, 25],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n doubleunderline: [21, 24],\n black: [30, defaultFG],\n red: [31, defaultFG],\n green: [32, defaultFG],\n yellow: [33, defaultFG],\n blue: [34, defaultFG],\n magenta: [35, defaultFG],\n cyan: [36, defaultFG],\n white: [37, defaultFG],\n bgBlack: [40, defaultBG],\n bgRed: [41, defaultBG],\n bgGreen: [42, defaultBG],\n bgYellow: [43, defaultBG],\n bgBlue: [44, defaultBG],\n bgMagenta: [45, defaultBG],\n bgCyan: [46, defaultBG],\n bgWhite: [47, defaultBG],\n framed: [51, 54],\n overlined: [53, 55],\n gray: [90, defaultFG],\n redBright: [91, defaultFG],\n greenBright: [92, defaultFG],\n yellowBright: [93, defaultFG],\n blueBright: [94, defaultFG],\n magentaBright: [95, defaultFG],\n cyanBright: [96, defaultFG],\n whiteBright: [97, defaultFG],\n bgGray: [100, defaultBG],\n bgRedBright: [101, defaultBG],\n bgGreenBright: [102, defaultBG],\n bgYellowBright: [103, defaultBG],\n bgBlueBright: [104, defaultBG],\n bgMagentaBright: [105, defaultBG],\n bgCyanBright: [106, defaultBG],\n bgWhiteBright: [107, defaultBG]\n};\ndefineColorAlias(\"gray\", \"grey\");\ndefineColorAlias(\"gray\", \"blackBright\");\ndefineColorAlias(\"bgGray\", \"bgGrey\");\ndefineColorAlias(\"bgGray\", \"bgBlackBright\");\ndefineColorAlias(\"dim\", \"faint\");\ndefineColorAlias(\"strikethrough\", \"crossedout\");\ndefineColorAlias(\"strikethrough\", \"strikeThrough\");\ndefineColorAlias(\"strikethrough\", \"crossedOut\");\ndefineColorAlias(\"hidden\", \"conceal\");\ndefineColorAlias(\"inverse\", \"swapColors\");\ndefineColorAlias(\"inverse\", \"swapcolors\");\ndefineColorAlias(\"doubleunderline\", \"doubleUnderline\");\ninspect.styles = {\n __proto__: null,\n special: \"cyan\",\n number: \"yellow\",\n bigint: \"yellow\",\n boolean: \"yellow\",\n undefined: \"grey\",\n null: \"bold\",\n string: \"green\",\n symbol: \"green\",\n date: \"magenta\",\n regexp: \"red\",\n module: \"underline\"\n};\nvar remainingText = (remaining) => `... ${remaining} more item${remaining > 1 \? \"s\" : \"\"}`, firstErrorLine = (error) => StringPrototypeSplit(error.message, \"\\n\", 1)[0], CIRCULAR_ERROR_MESSAGE;\n{\n getStringWidth = function getStringWidth(str, removeControlChars = !0) {\n let width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize(str, \"NFC\");\n for (let char of new SafeStringIterator(str)) {\n const code = StringPrototypeCodePointAt(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n };\n const isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n };\n}\nvar ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new RegExp(ansiPattern, \"g\");\n$ = {\n inspect,\n format,\n formatWithOptions,\n stripVTControlCharacters\n};\n//! non-standard properties, should these be kept\? (not currently exposed)\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeAssertCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/assert.ts\nvar CallTracker = function() {\n throw new Error(\"CallTracker is not supported yet\");\n}, util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), isDeepEqual = Bun.deepEquals, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_errors = __commonJS({\n \"assert/build/internal/errors.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n var codes = {}, assert, util2;\n function createErrorType(code, message, Base) {\n Base || (Base = Error);\n function getMessage(arg1, arg2, arg3) {\n return typeof message == \"string\" \? message : message(arg1, arg2, arg3);\n }\n var NodeError = function(_Base) {\n _inherits(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n var _this;\n return _classCallCheck(this, NodeError2), _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError2).@call(this, getMessage(arg1, arg2, arg3))), _this.code = code, _this;\n }\n return NodeError2;\n }(Base);\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (@Array.isArray(expected)) {\n var len = expected.length;\n return expected = expected.map(function(i) {\n return @String(i);\n }), len > 2 \? \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(\", \"), \", or \") + expected[len - 1] : len === 2 \? \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]) : \"of \".concat(thing, \" \").concat(expected[0]);\n } else\n return \"of \".concat(thing, \" \").concat(@String(expected));\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 \? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n return typeof start != \"number\" && (start = 0), start + search.length > str.length \? !1 : str.indexOf(search, start) !== -1;\n }\n createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\", 'The \"%s\" argument is ambiguous. %s', TypeError), createErrorType(\"ERR_INVALID_ARG_TYPE\", function(name, expected, actual) {\n assert === void 0 && (assert = require_assert()), assert(typeof name == \"string\", \"'name' must be a string\");\n var determiner;\n typeof expected == \"string\" && startsWith(expected, \"not \") \? (determiner = \"must not be\", expected = expected.replace(/^not /, \"\")) : determiner = \"must be\";\n var msg;\n if (endsWith(name, \" argument\"))\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n else {\n var type = includes(name, \".\") \? \"property\" : \"argument\";\n msg = 'The \"'.concat(name, '\" ').concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n }\n return msg += \". Received type \".concat(_typeof(actual)), msg;\n }, TypeError), createErrorType(\"ERR_INVALID_ARG_VALUE\", function(name, value) {\n var reason = arguments.length > 2 && arguments[2] !== void 0 \? arguments[2] : \"is invalid\", inspected = util2.inspect(value);\n return inspected.length > 128 && (inspected = \"\".concat(inspected.slice(0, 128), \"...\")), \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n }, TypeError, RangeError), createErrorType(\"ERR_INVALID_RETURN_VALUE\", function(input, name, value) {\n var type;\n return value && value.constructor && value.constructor.name \? type = \"instance of \".concat(value.constructor.name) : type = \"type \".concat(_typeof(value)), \"Expected \".concat(input, ' to be returned from the \"').concat(name, '\"') + \" function but got \".concat(type, \".\");\n }, TypeError), createErrorType(\"ERR_MISSING_ARGS\", function() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n assert === void 0 && (assert = require_assert()), assert(args.length > 0, \"At least one arg needs to be specified\");\n var msg = \"The \", len = args.length;\n switch (args = args.map(function(a) {\n return '\"'.concat(a, '\"');\n }), len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n default:\n msg += args.slice(0, len - 1).join(\", \"), msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n return \"\".concat(msg, \" must be specified\");\n }, TypeError), module2.exports.codes = codes;\n }\n}), require_assertion_error = __commonJS({\n \"assert/build/internal/assert/assertion_error.js\"(exports, module2) {\n function _objectSpread(target) {\n for (var i = 1;i < arguments.length; i++) {\n var source = arguments[i] != null \? arguments[i] : {}, ownKeys = Object.keys(source);\n typeof Object.getOwnPropertySymbols == \"function\" && (ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }))), ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n return (key in obj) \? Object.defineProperty(obj, key, {\n value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _defineProperties(target, props) {\n for (var i = 0;i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, (\"value\" in descriptor) && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map == \"function\" \? new Map : void 0;\n return _wrapNativeSuper = function(Class2) {\n if (Class2 === null || !_isNativeFunction(Class2))\n return Class2;\n if (typeof Class2 != \"function\")\n @throwTypeError(\"Super expression must either be null or a function\");\n if (typeof _cache != \"undefined\") {\n if (_cache.has(Class2))\n return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(Class2.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), _setPrototypeOf(Wrapper, Class2);\n }, _wrapNativeSuper(Class);\n }\n function isNativeReflectConstruct() {\n if (typeof Reflect == \"undefined\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Date.prototype.toString.@call(Reflect.construct(Date, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n }\n function _construct(Parent, args, Class) {\n return isNativeReflectConstruct() \? _construct = Reflect.construct : _construct = function(Parent2, args2, Class2) {\n var a = [null];\n a.push.@apply(a, args2);\n var Constructor = Function.bind.@apply(Parent2, a), instance = new Constructor;\n return Class2 && _setPrototypeOf(instance, Class2.prototype), instance;\n }, _construct.@apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n return Function.toString.@call(fn).indexOf(\"[native code]\") !== -1;\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n var inspect = util.inspect, _require2 = require_errors(), ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function repeat(str, count) {\n if (count = Math.floor(count), str.length == 0 || count == 0)\n return \"\";\n var maxCount = str.length * count;\n for (count = Math.floor(Math.log(count) / Math.log(2));count; )\n str += str, count--;\n return str += str.substring(0, maxCount - str.length), str;\n }\n var blue = \"\", green = \"\", red = \"\", white = \"\", kReadableOperator = {\n deepStrictEqual: \"Expected values to be strictly deep-equal:\",\n strictEqual: \"Expected values to be strictly equal:\",\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: \"Expected values to be loosely deep-equal:\",\n equal: \"Expected values to be loosely equal:\",\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: \"Values identical but not reference-equal:\"\n }, kMaxShortLength = 10;\n function copyError(source) {\n var keys = Object.keys(source), target = Object.create(Object.getPrototypeOf(source));\n return keys.forEach(function(key) {\n target[key] = source[key];\n }), Object.defineProperty(target, \"message\", {\n value: source.message\n }), target;\n }\n function inspectValue(val) {\n return inspect(val, {\n compact: !1,\n customInspect: !1,\n depth: 1000,\n maxArrayLength: Infinity,\n showHidden: !1,\n breakLength: Infinity,\n showProxy: !1,\n sorted: !0,\n getters: !0\n });\n }\n function createErrDiff(actual, expected, operator) {\n var other = \"\", res = \"\", lastPos = 0, end = \"\", skipped = !1, actualInspected = inspectValue(actual), actualLines = actualInspected.split(`\n`), expectedLines = inspectValue(expected).split(`\n`), i = 0, indicator = \"\";\n if (operator === \"strictEqual\" && _typeof(actual) === \"object\" && _typeof(expected) === \"object\" && actual !== null && expected !== null && (operator = \"strictEqualObject\"), actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length;\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== \"object\" || actual === null) && (_typeof(expected) !== \"object\" || expected === null) && (actual !== 0 || expected !== 0))\n return \"\".concat(kReadableOperator[operator], `\n\n`) + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], `\n`);\n } else if (operator !== \"strictEqualObject\") {\n var maxLength = process.stderr && process.stderr.isTTY \? process.stderr.columns : 80;\n if (inputLength < maxLength) {\n for (;actualLines[0][i] === expectedLines[0][i]; )\n i++;\n i > 2 && (indicator = `\n `.concat(repeat(\" \", i), \"^\"), i = 0);\n }\n }\n }\n for (var a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];a === b && (i++ < 2 \? end = `\n `.concat(a).concat(end) : other = a, actualLines.pop(), expectedLines.pop(), !(actualLines.length === 0 || expectedLines.length === 0)); )\n a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];\n var maxLines = Math.max(actualLines.length, expectedLines.length);\n if (maxLines === 0) {\n var _actualLines = actualInspected.split(`\n`);\n if (_actualLines.length > 30)\n for (_actualLines[26] = \"\".concat(blue, \"...\").concat(white);_actualLines.length > 27; )\n _actualLines.pop();\n return \"\".concat(kReadableOperator.notIdentical, `\n\n`).concat(_actualLines.join(`\n`), `\n`);\n }\n i > 3 && (end = `\n`.concat(blue, \"...\").concat(white).concat(end), skipped = !0), other !== \"\" && (end = `\n `.concat(other).concat(end), other = \"\");\n var printedLines = 0, msg = kReadableOperator[operator] + `\n`.concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white), skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n for (i = 0;i < maxLines; i++) {\n var cur = i - lastPos;\n if (actualLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(expectedLines[i - 2]), printedLines++), res += `\n `.concat(expectedLines[i - 1]), printedLines++), lastPos = i, other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]), printedLines++;\n else if (expectedLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLines[i]), printedLines++;\n else {\n var expectedLine = expectedLines[i], actualLine = actualLines[i], divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, \",\") || actualLine.slice(0, -1) !== expectedLine);\n divergingLines && endsWith(expectedLine, \",\") && expectedLine.slice(0, -1) === actualLine && (divergingLines = !1, actualLine += \",\"), divergingLines \? (cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLine), other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLine), printedLines += 2) : (res += other, other = \"\", (cur === 1 || i === 0) && (res += `\n `.concat(actualLine), printedLines++));\n }\n if (printedLines > 20 && i < maxLines - 2)\n return \"\".concat(msg).concat(skippedMsg, `\n`).concat(res, `\n`).concat(blue, \"...\").concat(white).concat(other, `\n`) + \"\".concat(blue, \"...\").concat(white);\n }\n return \"\".concat(msg).concat(skipped \? skippedMsg : \"\", `\n`).concat(res).concat(other).concat(end).concat(indicator);\n }\n var AssertionError = function(_Error) {\n function AssertionError2(options) {\n var _this;\n if (_classCallCheck(this, AssertionError2), _typeof(options) !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n var { message, operator, stackStartFn, actual, expected } = options, limit = Error.stackTraceLimit;\n if (Error.stackTraceLimit = 0, message != null)\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, @String(message)));\n else if (process.stderr && process.stderr.isTTY && (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1 \? (blue = \"[34m\", green = \"[32m\", white = \"[39m\", red = \"[31m\") : (blue = \"\", green = \"\", white = \"\", red = \"\")), _typeof(actual) === \"object\" && actual !== null && _typeof(expected) === \"object\" && expected !== null && (\"stack\" in actual) && actual instanceof Error && (\"stack\" in expected) && expected instanceof Error && (actual = copyError(actual), expected = copyError(expected)), operator === \"deepStrictEqual\" || operator === \"strictEqual\")\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, createErrDiff(actual, expected, operator)));\n else if (operator === \"notDeepStrictEqual\" || operator === \"notStrictEqual\") {\n var base = kReadableOperator[operator], res = inspectValue(actual).split(`\n`);\n if (operator === \"notStrictEqual\" && _typeof(actual) === \"object\" && actual !== null && (base = kReadableOperator.notStrictEqualObject), res.length > 30)\n for (res[26] = \"\".concat(blue, \"...\").concat(white);res.length > 27; )\n res.pop();\n res.length === 1 \? _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, \" \").concat(res[0]))) : _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, `\n\n`).concat(res.join(`\n`), `\n`)));\n } else {\n var _res = inspectValue(actual), other = \"\", knownOperators = kReadableOperator[operator];\n operator === \"notDeepEqual\" || operator === \"notEqual\" \? (_res = \"\".concat(kReadableOperator[operator], `\n\n`).concat(_res), _res.length > 1024 && (_res = \"\".concat(_res.slice(0, 1021), \"...\"))) : (other = \"\".concat(inspectValue(expected)), _res.length > 512 && (_res = \"\".concat(_res.slice(0, 509), \"...\")), other.length > 512 && (other = \"\".concat(other.slice(0, 509), \"...\")), operator === \"deepEqual\" || operator === \"equal\" \? _res = \"\".concat(knownOperators, `\n\n`).concat(_res, `\n\nshould equal\n\n`) : other = \" \".concat(operator, \" \").concat(other)), _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(_res).concat(other)));\n }\n return Error.stackTraceLimit = limit, _this.generatedMessage = !message, Object.defineProperty(_assertThisInitialized(_this), \"name\", {\n value: \"AssertionError [ERR_ASSERTION]\",\n enumerable: !1,\n writable: !0,\n configurable: !0\n }), _this.code = \"ERR_ASSERTION\", _this.actual = actual, _this.expected = expected, _this.operator = operator, Error.captureStackTrace && Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn), _this.stack, _this.name = \"AssertionError\", _possibleConstructorReturn(_this);\n }\n return AssertionError2.prototype = {}, _inherits(AssertionError2, _Error), _createClass(AssertionError2, [\n {\n key: \"toString\",\n value: function() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n },\n {\n key: inspect.custom,\n value: function(recurseTimes, ctx) {\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: !1,\n depth: 0\n }));\n }\n }\n ]), AssertionError2;\n }(_wrapNativeSuper(Error));\n module2.exports = AssertionError;\n }\n}), require_assert = __commonJS({\n \"assert/build/assert.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n var _require = require_errors(), _require$codes = _require.codes, ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT, ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE, ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, AssertionError = require_assertion_error(), _require2 = util, inspect = _require2.inspect, _require$types = util.types, isPromise = _require$types.isPromise, isRegExp = _require$types.isRegExp, objectAssign = Object.assign, objectIs = Object.is, errorCache = new Map, warned = !1, assert = module2.exports = ok, NO_EXCEPTION_SENTINEL = {};\n function innerFail(obj) {\n throw obj.message instanceof Error \? obj.message : new AssertionError(obj);\n }\n function fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length, internalMessage;\n if (argsLen === 0)\n internalMessage = \"Failed\";\n else if (argsLen === 1)\n message = actual, actual = void 0;\n else {\n if (warned === !1) {\n warned = !0;\n var warn = process.emitWarning \? process.emitWarning : console.warn.bind(console);\n warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\", \"DeprecationWarning\", \"DEP0094\");\n }\n argsLen === 2 && (operator = \"!=\");\n }\n if (message instanceof Error)\n throw message;\n var errArgs = {\n actual,\n expected,\n operator: operator === void 0 \? \"fail\" : operator,\n stackStartFn: stackStartFn || fail\n };\n message !== void 0 && (errArgs.message = message);\n var err = new AssertionError(errArgs);\n throw internalMessage && (err.message = internalMessage, err.generatedMessage = !0), err;\n }\n assert.fail = fail, assert.AssertionError = AssertionError;\n function innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = !1;\n if (argLen === 0)\n generatedMessage = !0, message = \"No value argument passed to `assert.ok()`\";\n else if (message instanceof Error)\n throw message;\n var err = new AssertionError({\n actual: value,\n expected: !0,\n message,\n operator: \"==\",\n stackStartFn: fn\n });\n throw err.generatedMessage = generatedMessage, err;\n }\n }\n function ok() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n innerOk.@apply(void 0, [ok, args.length].concat(args));\n }\n assert.ok = ok, assert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual != expected && innerFail({\n actual,\n expected,\n message,\n operator: \"==\",\n stackStartFn: equal\n });\n }, assert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual == expected && innerFail({\n actual,\n expected,\n message,\n operator: \"!=\",\n stackStartFn: notEqual\n });\n }, assert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepEqual\",\n stackStartFn: deepEqual\n });\n }, assert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepEqual\",\n stackStartFn: notDeepEqual\n });\n }, assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepStrictEqual\",\n stackStartFn: deepStrictEqual\n });\n }, assert.notDeepStrictEqual = notDeepStrictEqual;\n function notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepStrictEqual\",\n stackStartFn: notDeepStrictEqual\n });\n }\n assert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) || innerFail({\n actual,\n expected,\n message,\n operator: \"strictEqual\",\n stackStartFn: strictEqual\n });\n }, assert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) && innerFail({\n actual,\n expected,\n message,\n operator: \"notStrictEqual\",\n stackStartFn: notStrictEqual\n });\n }, assert.match = function match(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n if (!isRegExp(expected))\n throw new ERR_INVALID_ARG_TYPE(\"expected\", \"RegExp\", expected);\n expected.test(actual) || innerFail({\n actual,\n expected,\n message,\n operator: \"match\",\n stackStartFn: match\n });\n };\n var Comparison = function Comparison2(obj, keys, actual) {\n var _this = this;\n _classCallCheck(this, Comparison2), keys.forEach(function(key) {\n (key in obj) && (actual !== void 0 && typeof actual[key] == \"string\" && isRegExp(obj[key]) && obj[key].test(actual[key]) \? _this[key] = actual[key] : _this[key] = obj[key]);\n });\n };\n function compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepEqual(actual[key], expected[key], !0)) {\n if (!message) {\n var a = new Comparison(actual, keys), b = new Comparison(expected, keys, actual), err = new AssertionError({\n actual: a,\n expected: b,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.actual = actual, err.expected = expected, err.operator = fn.name, err;\n }\n innerFail({\n actual,\n expected,\n message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n }\n function expectedException(actual, expected, msg, fn) {\n if (typeof expected != \"function\") {\n if (isRegExp(expected))\n return expected.test(actual);\n if (arguments.length === 2)\n throw new ERR_INVALID_ARG_TYPE(\"expected\", [\"Function\", \"RegExp\"], expected);\n if (_typeof(actual) !== \"object\" || actual === null) {\n var err = new AssertionError({\n actual,\n expected,\n message: msg,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.operator = fn.name, err;\n }\n var keys = Object.keys(expected);\n if (expected instanceof Error)\n keys.push(\"name\", \"message\");\n else if (keys.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"error\", expected, \"may not be an empty object\");\n return keys.forEach(function(key) {\n return typeof actual[key] == \"string\" && isRegExp(expected[key]) && expected[key].test(actual[key]) || compareExceptionKey(actual, expected, key, msg, keys, fn);\n }), !0;\n }\n return expected.prototype !== void 0 && actual instanceof expected \? !0 : Error.isPrototypeOf(expected) \? !1 : expected.@call({}, actual) === !0;\n }\n function getActual(fn) {\n if (typeof fn != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"fn\", \"Function\", fn);\n try {\n fn();\n } catch (e) {\n return e;\n }\n return NO_EXCEPTION_SENTINEL;\n }\n function checkIsPromise(obj) {\n return isPromise(obj) || obj !== null && _typeof(obj) === \"object\" && typeof obj.then == \"function\" && typeof obj.catch == \"function\";\n }\n function waitForActual(promiseFn) {\n return @Promise.resolve().then(function() {\n var resultPromise;\n if (typeof promiseFn == \"function\") {\n if (resultPromise = promiseFn(), !checkIsPromise(resultPromise))\n throw new ERR_INVALID_RETURN_VALUE(\"instance of Promise\", \"promiseFn\", resultPromise);\n } else if (checkIsPromise(promiseFn))\n resultPromise = promiseFn;\n else\n throw new ERR_INVALID_ARG_TYPE(\"promiseFn\", [\"Function\", \"Promise\"], promiseFn);\n return @Promise.resolve().then(function() {\n return resultPromise;\n }).then(function() {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function(e) {\n return e;\n });\n });\n }\n function expectsError(stackStartFn, actual, error, message) {\n if (typeof error == \"string\") {\n if (arguments.length === 4)\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (_typeof(actual) === \"object\" && actual !== null) {\n if (actual.message === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error message \"'.concat(actual.message, '\" is identical to the message.'));\n } else if (actual === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error \"'.concat(actual, '\" is identical to the message.'));\n message = error, error = void 0;\n } else if (error != null && _typeof(error) !== \"object\" && typeof error != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = \"\";\n error && error.name && (details += \" (\".concat(error.name, \")\")), details += message \? \": \".concat(message) : \".\";\n var fnType = stackStartFn.name === \"rejects\" \? \"rejection\" : \"exception\";\n innerFail({\n actual: void 0,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn\n });\n }\n if (error && !expectedException(actual, error, message, stackStartFn))\n throw actual;\n }\n function expectsNoError(stackStartFn, actual, error, message) {\n if (actual !== NO_EXCEPTION_SENTINEL) {\n if (typeof error == \"string\" && (message = error, error = void 0), !error || expectedException(actual, error)) {\n var details = message \? \": \".concat(message) : \".\", fnType = stackStartFn.name === \"doesNotReject\" \? \"rejection\" : \"exception\";\n innerFail({\n actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, `\n`) + 'Actual message: \"'.concat(actual && actual.message, '\"'),\n stackStartFn\n });\n }\n throw actual;\n }\n }\n assert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new @Array(_len2 > 1 \? _len2 - 1 : 0), _key2 = 1;_key2 < _len2; _key2++)\n args[_key2 - 1] = arguments[_key2];\n expectsError.@apply(void 0, [throws, getActual(promiseFn)].concat(args));\n }, assert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new @Array(_len3 > 1 \? _len3 - 1 : 0), _key3 = 1;_key3 < _len3; _key3++)\n args[_key3 - 1] = arguments[_key3];\n return waitForActual(promiseFn).then(function(result) {\n return expectsError.@apply(void 0, [rejects, result].concat(args));\n });\n }, assert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new @Array(_len4 > 1 \? _len4 - 1 : 0), _key4 = 1;_key4 < _len4; _key4++)\n args[_key4 - 1] = arguments[_key4];\n expectsNoError.@apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n }, assert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new @Array(_len5 > 1 \? _len5 - 1 : 0), _key5 = 1;_key5 < _len5; _key5++)\n args[_key5 - 1] = arguments[_key5];\n return waitForActual(fn).then(function(result) {\n return expectsNoError.@apply(void 0, [doesNotReject, result].concat(args));\n });\n }, assert.ifError = function ifError(err) {\n if (err != null) {\n var message = \"ifError got unwanted exception: \";\n _typeof(err) === \"object\" && typeof err.message == \"string\" \? err.message.length === 0 && err.constructor \? message += err.constructor.name : message += err.message : message += inspect(err);\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: \"ifError\",\n message,\n stackStartFn: ifError\n }), origStack = err.stack;\n if (typeof origStack == \"string\") {\n var tmp2 = origStack.split(`\n`);\n tmp2.shift();\n for (var tmp1 = newErr.stack.split(`\n`), i = 0;i < tmp2.length; i++) {\n var pos = tmp1.indexOf(tmp2[i]);\n if (pos !== -1) {\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n newErr.stack = \"\".concat(tmp1.join(`\n`), `\n`).concat(tmp2.join(`\n`));\n }\n throw newErr;\n }\n };\n function strict() {\n for (var _len6 = arguments.length, args = new @Array(_len6), _key6 = 0;_key6 < _len6; _key6++)\n args[_key6] = arguments[_key6];\n innerOk.@apply(void 0, [strict, args.length].concat(args));\n }\n assert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n }), assert.strict.strict = assert.strict;\n }\n}), assert_module = require_assert();\nassert_module.CallTracker = CallTracker;\nreturn assert_module})\n"); +static constexpr ASCIILiteral NodeAssertCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/assert.ts\nvar CallTracker = function() {\n throw new Error(\"CallTracker is not supported yet\");\n}, util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), isDeepEqual = Bun.deepEquals, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_errors = __commonJS({\n \"assert/build/internal/errors.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n var codes = {}, assert, util2;\n function createErrorType(code, message, Base) {\n Base || (Base = Error);\n function getMessage(arg1, arg2, arg3) {\n return typeof message == \"string\" \? message : message(arg1, arg2, arg3);\n }\n var NodeError = function(_Base) {\n _inherits(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n var _this;\n return _classCallCheck(this, NodeError2), _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError2).@call(this, getMessage(arg1, arg2, arg3))), _this.code = code, _this;\n }\n return NodeError2;\n }(Base);\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (@Array.isArray(expected)) {\n var len = expected.length;\n return expected = expected.map(function(i) {\n return @String(i);\n }), len > 2 \? \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(\", \"), \", or \") + expected[len - 1] : len === 2 \? \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]) : \"of \".concat(thing, \" \").concat(expected[0]);\n } else\n return \"of \".concat(thing, \" \").concat(@String(expected));\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 \? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n return typeof start != \"number\" && (start = 0), start + search.length > str.length \? !1 : str.indexOf(search, start) !== -1;\n }\n createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\", 'The \"%s\" argument is ambiguous. %s', TypeError), createErrorType(\"ERR_INVALID_ARG_TYPE\", function(name, expected, actual) {\n assert === void 0 && (assert = require_assert()), assert(typeof name == \"string\", \"'name' must be a string\");\n var determiner;\n typeof expected == \"string\" && startsWith(expected, \"not \") \? (determiner = \"must not be\", expected = expected.replace(/^not /, \"\")) : determiner = \"must be\";\n var msg;\n if (endsWith(name, \" argument\"))\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n else {\n var type = includes(name, \".\") \? \"property\" : \"argument\";\n msg = 'The \"'.concat(name, '\" ').concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n }\n return msg += \". Received type \".concat(_typeof(actual)), msg;\n }, TypeError), createErrorType(\"ERR_INVALID_ARG_VALUE\", function(name, value) {\n var reason = arguments.length > 2 && arguments[2] !== void 0 \? arguments[2] : \"is invalid\", inspected = util2.inspect(value);\n return inspected.length > 128 && (inspected = \"\".concat(inspected.slice(0, 128), \"...\")), \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n }, TypeError, RangeError), createErrorType(\"ERR_INVALID_RETURN_VALUE\", function(input, name, value) {\n var type;\n return value && value.constructor && value.constructor.name \? type = \"instance of \".concat(value.constructor.name) : type = \"type \".concat(_typeof(value)), \"Expected \".concat(input, ' to be returned from the \"').concat(name, '\"') + \" function but got \".concat(type, \".\");\n }, TypeError), createErrorType(\"ERR_MISSING_ARGS\", function() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n assert === void 0 && (assert = require_assert()), assert(args.length > 0, \"At least one arg needs to be specified\");\n var msg = \"The \", len = args.length;\n switch (args = args.map(function(a) {\n return '\"'.concat(a, '\"');\n }), len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n default:\n msg += args.slice(0, len - 1).join(\", \"), msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n return \"\".concat(msg, \" must be specified\");\n }, TypeError), module2.exports.codes = codes;\n }\n}), require_assertion_error = __commonJS({\n \"assert/build/internal/assert/assertion_error.js\"(exports, module2) {\n function _objectSpread(target) {\n for (var i = 1;i < arguments.length; i++) {\n var source = arguments[i] != null \? arguments[i] : {}, ownKeys = Object.keys(source);\n typeof Object.getOwnPropertySymbols == \"function\" && (ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }))), ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n return (key in obj) \? Object.defineProperty(obj, key, {\n value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _defineProperties(target, props) {\n for (var i = 0;i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, (\"value\" in descriptor) && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map == \"function\" \? new Map : void 0;\n return _wrapNativeSuper = function(Class2) {\n if (Class2 === null || !_isNativeFunction(Class2))\n return Class2;\n if (typeof Class2 != \"function\")\n @throwTypeError(\"Super expression must either be null or a function\");\n if (typeof _cache != \"undefined\") {\n if (_cache.has(Class2))\n return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(Class2.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), _setPrototypeOf(Wrapper, Class2);\n }, _wrapNativeSuper(Class);\n }\n function isNativeReflectConstruct() {\n if (typeof Reflect == \"undefined\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Date.prototype.toString.@call(Reflect.construct(Date, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n }\n function _construct(Parent, args, Class) {\n return isNativeReflectConstruct() \? _construct = Reflect.construct : _construct = function(Parent2, args2, Class2) {\n var a = [null];\n a.push.@apply(a, args2);\n var Constructor = Function.bind.@apply(Parent2, a), instance = new Constructor;\n return Class2 && _setPrototypeOf(instance, Class2.prototype), instance;\n }, _construct.@apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n return Function.toString.@call(fn).indexOf(\"[native code]\") !== -1;\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n var inspect = util.inspect, _require2 = require_errors(), ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function repeat(str, count) {\n if (count = Math.floor(count), str.length == 0 || count == 0)\n return \"\";\n var maxCount = str.length * count;\n for (count = Math.floor(Math.log(count) / Math.log(2));count; )\n str += str, count--;\n return str += str.substring(0, maxCount - str.length), str;\n }\n var blue = \"\", green = \"\", red = \"\", white = \"\", kReadableOperator = {\n deepStrictEqual: \"Expected values to be strictly deep-equal:\",\n strictEqual: \"Expected values to be strictly equal:\",\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: \"Expected values to be loosely deep-equal:\",\n equal: \"Expected values to be loosely equal:\",\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: \"Values identical but not reference-equal:\"\n }, kMaxShortLength = 10;\n function copyError(source) {\n var keys = Object.keys(source), target = Object.create(Object.getPrototypeOf(source));\n return keys.forEach(function(key) {\n target[key] = source[key];\n }), Object.defineProperty(target, \"message\", {\n value: source.message\n }), target;\n }\n function inspectValue(val) {\n return inspect(val, {\n compact: !1,\n customInspect: !1,\n depth: 1000,\n maxArrayLength: Infinity,\n showHidden: !1,\n breakLength: Infinity,\n showProxy: !1,\n sorted: !0,\n getters: !0\n });\n }\n function createErrDiff(actual, expected, operator) {\n var other = \"\", res = \"\", lastPos = 0, end = \"\", skipped = !1, actualInspected = inspectValue(actual), actualLines = actualInspected.split(`\n`), expectedLines = inspectValue(expected).split(`\n`), i = 0, indicator = \"\";\n if (operator === \"strictEqual\" && _typeof(actual) === \"object\" && _typeof(expected) === \"object\" && actual !== null && expected !== null && (operator = \"strictEqualObject\"), actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length;\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== \"object\" || actual === null) && (_typeof(expected) !== \"object\" || expected === null) && (actual !== 0 || expected !== 0))\n return \"\".concat(kReadableOperator[operator], `\n\n`) + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], `\n`);\n } else if (operator !== \"strictEqualObject\") {\n var maxLength = process.stderr && process.stderr.isTTY \? process.stderr.columns : 80;\n if (inputLength < maxLength) {\n for (;actualLines[0][i] === expectedLines[0][i]; )\n i++;\n i > 2 && (indicator = `\n `.concat(repeat(\" \", i), \"^\"), i = 0);\n }\n }\n }\n for (var a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];a === b && (i++ < 2 \? end = `\n `.concat(a).concat(end) : other = a, actualLines.pop(), expectedLines.pop(), !(actualLines.length === 0 || expectedLines.length === 0)); )\n a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];\n var maxLines = Math.max(actualLines.length, expectedLines.length);\n if (maxLines === 0) {\n var _actualLines = actualInspected.split(`\n`);\n if (_actualLines.length > 30)\n for (_actualLines[26] = \"\".concat(blue, \"...\").concat(white);_actualLines.length > 27; )\n _actualLines.pop();\n return \"\".concat(kReadableOperator.notIdentical, `\n\n`).concat(_actualLines.join(`\n`), `\n`);\n }\n i > 3 && (end = `\n`.concat(blue, \"...\").concat(white).concat(end), skipped = !0), other !== \"\" && (end = `\n `.concat(other).concat(end), other = \"\");\n var printedLines = 0, msg = kReadableOperator[operator] + `\n`.concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white), skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n for (i = 0;i < maxLines; i++) {\n var cur = i - lastPos;\n if (actualLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(expectedLines[i - 2]), printedLines++), res += `\n `.concat(expectedLines[i - 1]), printedLines++), lastPos = i, other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]), printedLines++;\n else if (expectedLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLines[i]), printedLines++;\n else {\n var expectedLine = expectedLines[i], actualLine = actualLines[i], divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, \",\") || actualLine.slice(0, -1) !== expectedLine);\n divergingLines && endsWith(expectedLine, \",\") && expectedLine.slice(0, -1) === actualLine && (divergingLines = !1, actualLine += \",\"), divergingLines \? (cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLine), other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLine), printedLines += 2) : (res += other, other = \"\", (cur === 1 || i === 0) && (res += `\n `.concat(actualLine), printedLines++));\n }\n if (printedLines > 20 && i < maxLines - 2)\n return \"\".concat(msg).concat(skippedMsg, `\n`).concat(res, `\n`).concat(blue, \"...\").concat(white).concat(other, `\n`) + \"\".concat(blue, \"...\").concat(white);\n }\n return \"\".concat(msg).concat(skipped \? skippedMsg : \"\", `\n`).concat(res).concat(other).concat(end).concat(indicator);\n }\n var AssertionError = function(_Error) {\n function AssertionError2(options) {\n var _this;\n if (_classCallCheck(this, AssertionError2), _typeof(options) !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n var { message, operator, stackStartFn, actual, expected } = options, limit = Error.stackTraceLimit;\n if (Error.stackTraceLimit = 0, message != null)\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, @String(message)));\n else if (process.stderr && process.stderr.isTTY && (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1 \? (blue = \"[34m\", green = \"[32m\", white = \"[39m\", red = \"[31m\") : (blue = \"\", green = \"\", white = \"\", red = \"\")), _typeof(actual) === \"object\" && actual !== null && _typeof(expected) === \"object\" && expected !== null && (\"stack\" in actual) && actual instanceof Error && (\"stack\" in expected) && expected instanceof Error && (actual = copyError(actual), expected = copyError(expected)), operator === \"deepStrictEqual\" || operator === \"strictEqual\")\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, createErrDiff(actual, expected, operator)));\n else if (operator === \"notDeepStrictEqual\" || operator === \"notStrictEqual\") {\n var base = kReadableOperator[operator], res = inspectValue(actual).split(`\n`);\n if (operator === \"notStrictEqual\" && _typeof(actual) === \"object\" && actual !== null && (base = kReadableOperator.notStrictEqualObject), res.length > 30)\n for (res[26] = \"\".concat(blue, \"...\").concat(white);res.length > 27; )\n res.pop();\n res.length === 1 \? _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, \" \").concat(res[0]))) : _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, `\n\n`).concat(res.join(`\n`), `\n`)));\n } else {\n var _res = inspectValue(actual), other = \"\", knownOperators = kReadableOperator[operator];\n operator === \"notDeepEqual\" || operator === \"notEqual\" \? (_res = \"\".concat(kReadableOperator[operator], `\n\n`).concat(_res), _res.length > 1024 && (_res = \"\".concat(_res.slice(0, 1021), \"...\"))) : (other = \"\".concat(inspectValue(expected)), _res.length > 512 && (_res = \"\".concat(_res.slice(0, 509), \"...\")), other.length > 512 && (other = \"\".concat(other.slice(0, 509), \"...\")), operator === \"deepEqual\" || operator === \"equal\" \? _res = \"\".concat(knownOperators, `\n\n`).concat(_res, `\n\nshould equal\n\n`) : other = \" \".concat(operator, \" \").concat(other)), _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(_res).concat(other)));\n }\n return Error.stackTraceLimit = limit, _this.generatedMessage = !message, Object.defineProperty(_assertThisInitialized(_this), \"name\", {\n value: \"AssertionError [ERR_ASSERTION]\",\n enumerable: !1,\n writable: !0,\n configurable: !0\n }), _this.code = \"ERR_ASSERTION\", _this.actual = actual, _this.expected = expected, _this.operator = operator, Error.captureStackTrace && Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn), _this.stack, _this.name = \"AssertionError\", _possibleConstructorReturn(_this);\n }\n return AssertionError2.prototype = {}, _inherits(AssertionError2, _Error), _createClass(AssertionError2, [\n {\n key: \"toString\",\n value: function() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n },\n {\n key: inspect.custom,\n value: function(recurseTimes, ctx) {\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: !1,\n depth: 0\n }));\n }\n }\n ]), AssertionError2;\n }(_wrapNativeSuper(Error));\n module2.exports = AssertionError;\n }\n}), require_assert = __commonJS({\n \"assert/build/assert.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n var _require = require_errors(), _require$codes = _require.codes, ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT, ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE, ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, AssertionError = require_assertion_error(), _require2 = util, inspect = _require2.inspect, _require$types = util.types, isPromise = _require$types.isPromise, isRegExp = _require$types.isRegExp, objectAssign = Object.assign, objectIs = Object.is, errorCache = new Map, warned = !1, assert = module2.exports = ok, NO_EXCEPTION_SENTINEL = {};\n function innerFail(obj) {\n throw obj.message instanceof Error \? obj.message : new AssertionError(obj);\n }\n function fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length, internalMessage;\n if (argsLen === 0)\n internalMessage = \"Failed\";\n else if (argsLen === 1)\n message = actual, actual = void 0;\n else {\n if (warned === !1) {\n warned = !0;\n var warn = process.emitWarning \? process.emitWarning : console.warn.bind(console);\n warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\", \"DeprecationWarning\", \"DEP0094\");\n }\n argsLen === 2 && (operator = \"!=\");\n }\n if (message instanceof Error)\n throw message;\n var errArgs = {\n actual,\n expected,\n operator: operator === void 0 \? \"fail\" : operator,\n stackStartFn: stackStartFn || fail\n };\n message !== void 0 && (errArgs.message = message);\n var err = new AssertionError(errArgs);\n throw internalMessage && (err.message = internalMessage, err.generatedMessage = !0), err;\n }\n assert.fail = fail, assert.AssertionError = AssertionError;\n function innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = !1;\n if (argLen === 0)\n generatedMessage = !0, message = \"No value argument passed to `assert.ok()`\";\n else if (message instanceof Error)\n throw message;\n var err = new AssertionError({\n actual: value,\n expected: !0,\n message,\n operator: \"==\",\n stackStartFn: fn\n });\n throw err.generatedMessage = generatedMessage, err;\n }\n }\n function ok() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n innerOk.@apply(void 0, [ok, args.length].concat(args));\n }\n assert.ok = ok, assert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual != expected && innerFail({\n actual,\n expected,\n message,\n operator: \"==\",\n stackStartFn: equal\n });\n }, assert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual == expected && innerFail({\n actual,\n expected,\n message,\n operator: \"!=\",\n stackStartFn: notEqual\n });\n }, assert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepEqual\",\n stackStartFn: deepEqual\n });\n }, assert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepEqual\",\n stackStartFn: notDeepEqual\n });\n }, assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepStrictEqual\",\n stackStartFn: deepStrictEqual\n });\n }, assert.notDeepStrictEqual = notDeepStrictEqual;\n function notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepStrictEqual\",\n stackStartFn: notDeepStrictEqual\n });\n }\n assert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) || innerFail({\n actual,\n expected,\n message,\n operator: \"strictEqual\",\n stackStartFn: strictEqual\n });\n }, assert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) && innerFail({\n actual,\n expected,\n message,\n operator: \"notStrictEqual\",\n stackStartFn: notStrictEqual\n });\n }, assert.match = function match(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n if (!isRegExp(expected))\n throw new ERR_INVALID_ARG_TYPE(\"expected\", \"RegExp\", expected);\n expected.test(actual) || innerFail({\n actual,\n expected,\n message,\n operator: \"match\",\n stackStartFn: match\n });\n };\n var Comparison = function Comparison2(obj, keys, actual) {\n var _this = this;\n _classCallCheck(this, Comparison2), keys.forEach(function(key) {\n (key in obj) && (actual !== void 0 && typeof actual[key] == \"string\" && isRegExp(obj[key]) && obj[key].test(actual[key]) \? _this[key] = actual[key] : _this[key] = obj[key]);\n });\n };\n function compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepEqual(actual[key], expected[key], !0)) {\n if (!message) {\n var a = new Comparison(actual, keys), b = new Comparison(expected, keys, actual), err = new AssertionError({\n actual: a,\n expected: b,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.actual = actual, err.expected = expected, err.operator = fn.name, err;\n }\n innerFail({\n actual,\n expected,\n message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n }\n function expectedException(actual, expected, msg, fn) {\n if (typeof expected != \"function\") {\n if (isRegExp(expected))\n return expected.test(actual);\n if (arguments.length === 2)\n throw new ERR_INVALID_ARG_TYPE(\"expected\", [\"Function\", \"RegExp\"], expected);\n if (_typeof(actual) !== \"object\" || actual === null) {\n var err = new AssertionError({\n actual,\n expected,\n message: msg,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.operator = fn.name, err;\n }\n var keys = Object.keys(expected);\n if (expected instanceof Error)\n keys.push(\"name\", \"message\");\n else if (keys.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"error\", expected, \"may not be an empty object\");\n return keys.forEach(function(key) {\n return typeof actual[key] == \"string\" && isRegExp(expected[key]) && expected[key].test(actual[key]) || compareExceptionKey(actual, expected, key, msg, keys, fn);\n }), !0;\n }\n return expected.prototype !== void 0 && actual instanceof expected \? !0 : Error.isPrototypeOf(expected) \? !1 : expected.@call({}, actual) === !0;\n }\n function getActual(fn) {\n if (typeof fn != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"fn\", \"Function\", fn);\n try {\n fn();\n } catch (e) {\n return e;\n }\n return NO_EXCEPTION_SENTINEL;\n }\n function checkIsPromise(obj) {\n return isPromise(obj) || obj !== null && _typeof(obj) === \"object\" && typeof obj.then == \"function\" && typeof obj.catch == \"function\";\n }\n function waitForActual(promiseFn) {\n return @Promise.resolve().then(function() {\n var resultPromise;\n if (typeof promiseFn == \"function\") {\n if (resultPromise = promiseFn(), !checkIsPromise(resultPromise))\n throw new ERR_INVALID_RETURN_VALUE(\"instance of Promise\", \"promiseFn\", resultPromise);\n } else if (checkIsPromise(promiseFn))\n resultPromise = promiseFn;\n else\n throw new ERR_INVALID_ARG_TYPE(\"promiseFn\", [\"Function\", \"Promise\"], promiseFn);\n return @Promise.resolve().then(function() {\n return resultPromise;\n }).then(function() {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function(e) {\n return e;\n });\n });\n }\n function expectsError(stackStartFn, actual, error, message) {\n if (typeof error == \"string\") {\n if (arguments.length === 4)\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (_typeof(actual) === \"object\" && actual !== null) {\n if (actual.message === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error message \"'.concat(actual.message, '\" is identical to the message.'));\n } else if (actual === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error \"'.concat(actual, '\" is identical to the message.'));\n message = error, error = void 0;\n } else if (error != null && _typeof(error) !== \"object\" && typeof error != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = \"\";\n error && error.name && (details += \" (\".concat(error.name, \")\")), details += message \? \": \".concat(message) : \".\";\n var fnType = stackStartFn.name === \"rejects\" \? \"rejection\" : \"exception\";\n innerFail({\n actual: void 0,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn\n });\n }\n if (error && !expectedException(actual, error, message, stackStartFn))\n throw actual;\n }\n function expectsNoError(stackStartFn, actual, error, message) {\n if (actual !== NO_EXCEPTION_SENTINEL) {\n if (typeof error == \"string\" && (message = error, error = void 0), !error || expectedException(actual, error)) {\n var details = message \? \": \".concat(message) : \".\", fnType = stackStartFn.name === \"doesNotReject\" \? \"rejection\" : \"exception\";\n innerFail({\n actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, `\n`) + 'Actual message: \"'.concat(actual && actual.message, '\"'),\n stackStartFn\n });\n }\n throw actual;\n }\n }\n assert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new @Array(_len2 > 1 \? _len2 - 1 : 0), _key2 = 1;_key2 < _len2; _key2++)\n args[_key2 - 1] = arguments[_key2];\n expectsError.@apply(void 0, [throws, getActual(promiseFn)].concat(args));\n }, assert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new @Array(_len3 > 1 \? _len3 - 1 : 0), _key3 = 1;_key3 < _len3; _key3++)\n args[_key3 - 1] = arguments[_key3];\n return waitForActual(promiseFn).then(function(result) {\n return expectsError.@apply(void 0, [rejects, result].concat(args));\n });\n }, assert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new @Array(_len4 > 1 \? _len4 - 1 : 0), _key4 = 1;_key4 < _len4; _key4++)\n args[_key4 - 1] = arguments[_key4];\n expectsNoError.@apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n }, assert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new @Array(_len5 > 1 \? _len5 - 1 : 0), _key5 = 1;_key5 < _len5; _key5++)\n args[_key5 - 1] = arguments[_key5];\n return waitForActual(fn).then(function(result) {\n return expectsNoError.@apply(void 0, [doesNotReject, result].concat(args));\n });\n }, assert.ifError = function ifError(err) {\n if (err != null) {\n var message = \"ifError got unwanted exception: \";\n _typeof(err) === \"object\" && typeof err.message == \"string\" \? err.message.length === 0 && err.constructor \? message += err.constructor.name : message += err.message : message += inspect(err);\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: \"ifError\",\n message,\n stackStartFn: ifError\n }), origStack = err.stack;\n if (typeof origStack == \"string\") {\n var tmp2 = origStack.split(`\n`);\n tmp2.shift();\n for (var tmp1 = newErr.stack.split(`\n`), i = 0;i < tmp2.length; i++) {\n var pos = tmp1.indexOf(tmp2[i]);\n if (pos !== -1) {\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n newErr.stack = \"\".concat(tmp1.join(`\n`), `\n`).concat(tmp2.join(`\n`));\n }\n throw newErr;\n }\n };\n function strict() {\n for (var _len6 = arguments.length, args = new @Array(_len6), _key6 = 0;_key6 < _len6; _key6++)\n args[_key6] = arguments[_key6];\n innerOk.@apply(void 0, [strict, args.length].concat(args));\n }\n assert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n }), assert.strict.strict = assert.strict;\n }\n}), assert_module = require_assert();\nassert_module.CallTracker = CallTracker;\nreturn assert_module})\n"); // // -static constexpr ASCIILiteral NodeAssertStrictCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/assert.strict.ts\nreturn (@getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8)).strict})\n"); +static constexpr ASCIILiteral NodeAssertStrictCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/assert.strict.ts\nreturn (@getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8)).strict})\n"); // // -static constexpr ASCIILiteral NodeAsyncHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/async_hooks.ts\nvar get = function() {\n return @getInternalField(@asyncContext, 0);\n}, set = function(contextValue) {\n return @putInternalField(@asyncContext, 0, contextValue);\n}, createWarning = function(message) {\n let warned = !1;\n var wrapped = function() {\n if (warned)\n return;\n if (new Error().stack.includes(\"zx/build/core.js\"))\n return;\n warned = !0, console.warn(\"[bun] Warning:\", message);\n };\n return wrapped;\n}, createHook = function(callbacks) {\n return {\n enable: createHookNotImpl,\n disable: createHookNotImpl\n };\n}, executionAsyncId = function() {\n return executionAsyncIdNotImpl(), 0;\n}, triggerAsyncId = function() {\n return 0;\n}, executionAsyncResource = function() {\n return executionAsyncResourceWarning(), process.stdin;\n}, $, { cleanupLater, setAsyncHooksEnabled } = @lazy(\"async_hooks\");\n\nclass AsyncLocalStorage {\n #disableCalled = !1;\n constructor() {\n setAsyncHooksEnabled(!0);\n }\n static bind(fn, ...args) {\n return this.snapshot().bind(null, fn, ...args);\n }\n static snapshot() {\n var context = get();\n return (fn, ...args) => {\n var prev = get();\n set(context);\n try {\n return fn(...args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n };\n }\n enterWith(store) {\n cleanupLater();\n var context = get();\n if (!context) {\n set([this, store]);\n return;\n }\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n const clone = context.slice();\n clone[i + 1] = store, set(clone);\n return;\n }\n set(context.concat(this, store));\n }\n exit(cb, ...args) {\n return this.run(@undefined, cb, ...args);\n }\n run(store_value, callback, ...args) {\n var context = get(), hasPrevious = !1, previous_value, i = 0, contextWasAlreadyInit = !context;\n if (contextWasAlreadyInit)\n set(context = [this, store_value]);\n else {\n if (context = context.slice(), i = context.indexOf(this), i > -1)\n hasPrevious = !0, previous_value = context[i + 1], context[i + 1] = store_value;\n else\n i = context.length, context.push(this, store_value);\n set(context);\n }\n try {\n return callback(...args);\n } catch (e) {\n throw e;\n } finally {\n if (!this.#disableCalled) {\n var context2 = get();\n if (context2 === context && contextWasAlreadyInit)\n set(@undefined);\n else if (context2 = context2.slice(), hasPrevious)\n context2[i + 1] = previous_value, set(context2);\n else\n context2.splice(i, 2), set(context2.length \? context2 : @undefined);\n }\n }\n }\n disable() {\n if (!this.#disableCalled) {\n var context = get();\n if (context) {\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n context.splice(i, 2), set(context.length \? context : @undefined);\n break;\n }\n }\n this.#disableCalled = !0;\n }\n }\n getStore() {\n var context = get();\n if (!context)\n return;\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this)\n return context[i + 1];\n }\n}\n\nclass AsyncResource {\n type;\n #snapshot;\n constructor(type, options) {\n if (typeof type !== \"string\")\n @throwTypeError('The \"type\" argument must be of type string. Received type ' + typeof type);\n setAsyncHooksEnabled(!0), this.type = type, this.#snapshot = get();\n }\n emitBefore() {\n return !0;\n }\n emitAfter() {\n return !0;\n }\n asyncId() {\n return 0;\n }\n triggerAsyncId() {\n return 0;\n }\n emitDestroy() {\n }\n runInAsyncScope(fn, thisArg, ...args) {\n var prev = get();\n set(this.#snapshot);\n try {\n return fn.@apply(thisArg, args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n }\n bind(fn, thisArg) {\n return this.runInAsyncScope.bind(this, fn, thisArg \?\? this);\n }\n static bind(fn, type, thisArg) {\n return type = type || fn.name, new AsyncResource(type || \"bound-anonymous-fn\").bind(fn, thisArg);\n }\n}\nvar createHookNotImpl = createWarning(\"async_hooks.createHook is not implemented in Bun. Hooks can still be created but will never be called.\"), executionAsyncIdNotImpl = createWarning(\"async_hooks.executionAsyncId/triggerAsyncId are not implemented in Bun. It will return 0 every time.\"), executionAsyncResourceWarning = createWarning(\"async_hooks.executionAsyncResource is not implemented in Bun. It returns a reference to process.stdin every time.\"), asyncWrapProviders = {\n NONE: 0,\n DIRHANDLE: 1,\n DNSCHANNEL: 2,\n ELDHISTOGRAM: 3,\n FILEHANDLE: 4,\n FILEHANDLECLOSEREQ: 5,\n FIXEDSIZEBLOBCOPY: 6,\n FSEVENTWRAP: 7,\n FSREQCALLBACK: 8,\n FSREQPROMISE: 9,\n GETADDRINFOREQWRAP: 10,\n GETNAMEINFOREQWRAP: 11,\n HEAPSNAPSHOT: 12,\n HTTP2SESSION: 13,\n HTTP2STREAM: 14,\n HTTP2PING: 15,\n HTTP2SETTINGS: 16,\n HTTPINCOMINGMESSAGE: 17,\n HTTPCLIENTREQUEST: 18,\n JSSTREAM: 19,\n JSUDPWRAP: 20,\n MESSAGEPORT: 21,\n PIPECONNECTWRAP: 22,\n PIPESERVERWRAP: 23,\n PIPEWRAP: 24,\n PROCESSWRAP: 25,\n PROMISE: 26,\n QUERYWRAP: 27,\n SHUTDOWNWRAP: 28,\n SIGNALWRAP: 29,\n STATWATCHER: 30,\n STREAMPIPE: 31,\n TCPCONNECTWRAP: 32,\n TCPSERVERWRAP: 33,\n TCPWRAP: 34,\n TTYWRAP: 35,\n UDPSENDWRAP: 36,\n UDPWRAP: 37,\n SIGINTWATCHDOG: 38,\n WORKER: 39,\n WORKERHEAPSNAPSHOT: 40,\n WRITEWRAP: 41,\n ZLIB: 42,\n CHECKPRIMEREQUEST: 43,\n PBKDF2REQUEST: 44,\n KEYPAIRGENREQUEST: 45,\n KEYGENREQUEST: 46,\n KEYEXPORTREQUEST: 47,\n CIPHERREQUEST: 48,\n DERIVEBITSREQUEST: 49,\n HASHREQUEST: 50,\n RANDOMBYTESREQUEST: 51,\n RANDOMPRIMEREQUEST: 52,\n SCRYPTREQUEST: 53,\n SIGNREQUEST: 54,\n TLSWRAP: 55,\n VERIFYREQUEST: 56,\n INSPECTORJSBINDING: 57\n};\n$ = {\n AsyncLocalStorage,\n createHook,\n executionAsyncId,\n triggerAsyncId,\n executionAsyncResource,\n asyncWrapProviders,\n AsyncResource\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeAsyncHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/async_hooks.ts\nvar get = function() {\n return @getInternalField(@asyncContext, 0);\n}, set = function(contextValue) {\n return @putInternalField(@asyncContext, 0, contextValue);\n}, createWarning = function(message) {\n let warned = !1;\n var wrapped = function() {\n if (warned)\n return;\n if (new Error().stack.includes(\"zx/build/core.js\"))\n return;\n warned = !0, console.warn(\"[bun] Warning:\", message);\n };\n return wrapped;\n}, createHook = function(callbacks) {\n return {\n enable: createHookNotImpl,\n disable: createHookNotImpl\n };\n}, executionAsyncId = function() {\n return executionAsyncIdNotImpl(), 0;\n}, triggerAsyncId = function() {\n return 0;\n}, executionAsyncResource = function() {\n return executionAsyncResourceWarning(), process.stdin;\n}, $, { cleanupLater, setAsyncHooksEnabled } = @lazy(\"async_hooks\");\n\nclass AsyncLocalStorage {\n #disableCalled = !1;\n constructor() {\n setAsyncHooksEnabled(!0);\n }\n static bind(fn, ...args) {\n return this.snapshot().bind(null, fn, ...args);\n }\n static snapshot() {\n var context = get();\n return (fn, ...args) => {\n var prev = get();\n set(context);\n try {\n return fn(...args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n };\n }\n enterWith(store) {\n cleanupLater();\n var context = get();\n if (!context) {\n set([this, store]);\n return;\n }\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n const clone = context.slice();\n clone[i + 1] = store, set(clone);\n return;\n }\n set(context.concat(this, store));\n }\n exit(cb, ...args) {\n return this.run(@undefined, cb, ...args);\n }\n run(store_value, callback, ...args) {\n var context = get(), hasPrevious = !1, previous_value, i = 0, contextWasAlreadyInit = !context;\n if (contextWasAlreadyInit)\n set(context = [this, store_value]);\n else {\n if (context = context.slice(), i = context.indexOf(this), i > -1)\n hasPrevious = !0, previous_value = context[i + 1], context[i + 1] = store_value;\n else\n i = context.length, context.push(this, store_value);\n set(context);\n }\n try {\n return callback(...args);\n } catch (e) {\n throw e;\n } finally {\n if (!this.#disableCalled) {\n var context2 = get();\n if (context2 === context && contextWasAlreadyInit)\n set(@undefined);\n else if (context2 = context2.slice(), hasPrevious)\n context2[i + 1] = previous_value, set(context2);\n else\n context2.splice(i, 2), set(context2.length \? context2 : @undefined);\n }\n }\n }\n disable() {\n if (!this.#disableCalled) {\n var context = get();\n if (context) {\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n context.splice(i, 2), set(context.length \? context : @undefined);\n break;\n }\n }\n this.#disableCalled = !0;\n }\n }\n getStore() {\n var context = get();\n if (!context)\n return;\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this)\n return context[i + 1];\n }\n}\n\nclass AsyncResource {\n type;\n #snapshot;\n constructor(type, options) {\n if (typeof type !== \"string\")\n @throwTypeError('The \"type\" argument must be of type string. Received type ' + typeof type);\n setAsyncHooksEnabled(!0), this.type = type, this.#snapshot = get();\n }\n emitBefore() {\n return !0;\n }\n emitAfter() {\n return !0;\n }\n asyncId() {\n return 0;\n }\n triggerAsyncId() {\n return 0;\n }\n emitDestroy() {\n }\n runInAsyncScope(fn, thisArg, ...args) {\n var prev = get();\n set(this.#snapshot);\n try {\n return fn.@apply(thisArg, args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n }\n bind(fn, thisArg) {\n return this.runInAsyncScope.bind(this, fn, thisArg \?\? this);\n }\n static bind(fn, type, thisArg) {\n return type = type || fn.name, new AsyncResource(type || \"bound-anonymous-fn\").bind(fn, thisArg);\n }\n}\nvar createHookNotImpl = createWarning(\"async_hooks.createHook is not implemented in Bun. Hooks can still be created but will never be called.\"), executionAsyncIdNotImpl = createWarning(\"async_hooks.executionAsyncId/triggerAsyncId are not implemented in Bun. It will return 0 every time.\"), executionAsyncResourceWarning = createWarning(\"async_hooks.executionAsyncResource is not implemented in Bun. It returns a reference to process.stdin every time.\"), asyncWrapProviders = {\n NONE: 0,\n DIRHANDLE: 1,\n DNSCHANNEL: 2,\n ELDHISTOGRAM: 3,\n FILEHANDLE: 4,\n FILEHANDLECLOSEREQ: 5,\n FIXEDSIZEBLOBCOPY: 6,\n FSEVENTWRAP: 7,\n FSREQCALLBACK: 8,\n FSREQPROMISE: 9,\n GETADDRINFOREQWRAP: 10,\n GETNAMEINFOREQWRAP: 11,\n HEAPSNAPSHOT: 12,\n HTTP2SESSION: 13,\n HTTP2STREAM: 14,\n HTTP2PING: 15,\n HTTP2SETTINGS: 16,\n HTTPINCOMINGMESSAGE: 17,\n HTTPCLIENTREQUEST: 18,\n JSSTREAM: 19,\n JSUDPWRAP: 20,\n MESSAGEPORT: 21,\n PIPECONNECTWRAP: 22,\n PIPESERVERWRAP: 23,\n PIPEWRAP: 24,\n PROCESSWRAP: 25,\n PROMISE: 26,\n QUERYWRAP: 27,\n SHUTDOWNWRAP: 28,\n SIGNALWRAP: 29,\n STATWATCHER: 30,\n STREAMPIPE: 31,\n TCPCONNECTWRAP: 32,\n TCPSERVERWRAP: 33,\n TCPWRAP: 34,\n TTYWRAP: 35,\n UDPSENDWRAP: 36,\n UDPWRAP: 37,\n SIGINTWATCHDOG: 38,\n WORKER: 39,\n WORKERHEAPSNAPSHOT: 40,\n WRITEWRAP: 41,\n ZLIB: 42,\n CHECKPRIMEREQUEST: 43,\n PBKDF2REQUEST: 44,\n KEYPAIRGENREQUEST: 45,\n KEYGENREQUEST: 46,\n KEYEXPORTREQUEST: 47,\n CIPHERREQUEST: 48,\n DERIVEBITSREQUEST: 49,\n HASHREQUEST: 50,\n RANDOMBYTESREQUEST: 51,\n RANDOMPRIMEREQUEST: 52,\n SCRYPTREQUEST: 53,\n SIGNREQUEST: 54,\n TLSWRAP: 55,\n VERIFYREQUEST: 56,\n INSPECTORJSBINDING: 57\n};\n$ = {\n AsyncLocalStorage,\n createHook,\n executionAsyncId,\n triggerAsyncId,\n executionAsyncResource,\n asyncWrapProviders,\n AsyncResource\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeChildProcessCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/child_process.ts\nvar spawn = function(file, args, options) {\n options = normalizeSpawnArguments(file, args, options), validateTimeout(options.timeout), validateAbortSignal(options.signal, \"options.signal\");\n const killSignal2 = sanitizeKillSignal(options.killSignal), child = new ChildProcess;\n if (child.spawn(options), options.timeout > 0) {\n let timeoutId = setTimeout(() => {\n if (timeoutId) {\n try {\n child.kill(killSignal2);\n } catch (err) {\n child.emit(\"error\", err);\n }\n timeoutId = null;\n }\n });\n child.once(\"exit\", () => {\n if (timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n });\n }\n if (options.signal) {\n let onAbortListener2 = function() {\n abortChildProcess(child, killSignal2, options.signal.reason);\n };\n var onAbortListener = onAbortListener2;\n const signal = options.signal;\n if (signal.aborted)\n process.nextTick(onAbortListener2);\n else\n signal.addEventListener(\"abort\", onAbortListener2, { once: !0 }), child.once(\"exit\", () => signal.removeEventListener(\"abort\", onAbortListener2));\n }\n return child;\n}, execFile = function(file, args, options, callback) {\n ({ file, args, options, callback } = normalizeExecFileArgs(file, args, options, callback)), options = {\n encoding: \"utf8\",\n timeout: 0,\n maxBuffer: MAX_BUFFER,\n killSignal: \"SIGTERM\",\n cwd: null,\n env: null,\n shell: !1,\n ...options\n };\n const maxBuffer = options.maxBuffer;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const child = spawn(file, args, {\n cwd: options.cwd,\n env: options.env,\n shell: options.shell,\n signal: options.signal\n });\n let encoding;\n const _stdout = [], _stderr = [];\n if (options.encoding !== \"buffer\" && BufferIsEncoding(options.encoding))\n encoding = options.encoding;\n else\n encoding = null;\n let stdoutLen = 0, stderrLen = 0, killed = !1, exited = !1, timeoutId, encodedStdoutLen, encodedStderrLen, ex = null, cmd = file;\n function exitHandler(code, signal) {\n if (exited)\n return;\n if (exited = !0, timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n if (!callback)\n return;\n const readableEncoding = child\?.stdout\?.readableEncoding;\n let stdout, stderr;\n if (encoding || child.stdout && readableEncoding)\n stdout = ArrayPrototypeJoin.@call(_stdout, \"\");\n else\n stdout = BufferConcat(_stdout);\n if (encoding || child.stderr && readableEncoding)\n stderr = ArrayPrototypeJoin.@call(_stderr, \"\");\n else\n stderr = BufferConcat(_stderr);\n if (!ex && code === 0 && signal === null) {\n callback(null, stdout, stderr);\n return;\n }\n if (args\?.length)\n cmd += ` ${ArrayPrototypeJoin.@call(args, \" \")}`;\n if (!ex) {\n let message = `Command failed: ${cmd}`;\n if (stderr)\n message += `\\n${stderr}`;\n ex = genericNodeError(message, {\n code,\n killed: child.killed || killed,\n signal\n });\n }\n ex.cmd = cmd, callback(ex, stdout, stderr);\n }\n function errorHandler(e) {\n if (ex = e, child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n exitHandler();\n }\n function kill() {\n if (child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n killed = !0;\n try {\n child.kill(options.killSignal);\n } catch (e) {\n ex = e, exitHandler();\n }\n }\n if (options.timeout > 0)\n timeoutId = setTimeout(function delayedKill() {\n kill(), timeoutId = null;\n }, options.timeout);\n if (child.stdout) {\n if (encoding)\n child.stdout.setEncoding(encoding);\n child.stdout.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stdout, chunk);\n } : encoding \? function onChildStdoutEncoded(chunk) {\n if (stdoutLen += chunk.length, stdoutLen * 4 > maxBuffer) {\n const encoding2 = child.stdout.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStdoutLen === @undefined)\n for (let i = 0;i < _stdout.length; i++)\n encodedStdoutLen += @Buffer.byteLength(_stdout[i], encoding2);\n else\n encodedStdoutLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStdoutLen - actualLen);\n ArrayPrototypePush.@call(_stdout, StringPrototypeSlice.@apply(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n } : function onChildStdoutRaw(chunk) {\n if (stdoutLen += chunk.length, stdoutLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stdoutLen - chunk.length);\n ArrayPrototypePush.@call(_stdout, chunk.slice(0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n });\n }\n if (child.stderr) {\n if (encoding)\n child.stderr.setEncoding(encoding);\n child.stderr.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stderr, chunk);\n } : encoding \? function onChildStderrEncoded(chunk) {\n if (stderrLen += chunk.length, stderrLen * 4 > maxBuffer) {\n const encoding2 = child.stderr.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStderrLen === @undefined)\n for (let i = 0;i < _stderr.length; i++)\n encodedStderrLen += @Buffer.byteLength(_stderr[i], encoding2);\n else\n encodedStderrLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStderrLen - actualLen);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n } : function onChildStderrRaw(chunk) {\n if (stderrLen += chunk.length, stderrLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stderrLen - chunk.length);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n });\n }\n return child.addListener(\"close\", exitHandler), child.addListener(\"error\", errorHandler), child;\n}, exec = function(command, options, callback) {\n const opts = normalizeExecArgs(command, options, callback);\n return execFile(opts.file, opts.options, opts.callback);\n}, spawnSync = function(file, args, options) {\n options = {\n maxBuffer: MAX_BUFFER,\n ...normalizeSpawnArguments(file, args, options)\n };\n const { maxBuffer, encoding } = options;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const stdio = options.stdio || \"pipe\", bunStdio = getBunStdioFromOptions(stdio);\n var { input } = options;\n if (input)\n if (ArrayBufferIsView(input))\n bunStdio[0] = input;\n else if (typeof input === \"string\")\n bunStdio[0] = @Buffer.from(input, encoding || \"utf8\");\n else\n throw new ERR_INVALID_ARG_TYPE(\"options.stdio[0]\", [\"Buffer\", \"TypedArray\", \"DataView\", \"string\"], input);\n const { stdout, stderr, success, exitCode } = Bun.spawnSync({\n cmd: options.args,\n env: options.env || @undefined,\n cwd: options.cwd || @undefined,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2]\n }), result = {\n signal: null,\n status: exitCode,\n output: [null, stdout, stderr]\n };\n if (stdout && encoding && encoding !== \"buffer\")\n result.output[1] = result.output[1]\?.toString(encoding);\n if (stderr && encoding && encoding !== \"buffer\")\n result.output[2] = result.output[2]\?.toString(encoding);\n if (result.stdout = result.output[1], result.stderr = result.output[2], !success)\n result.error = new SystemError(result.output[2], options.file, \"spawnSync\", -1, result.status), result.error.spawnargs = ArrayPrototypeSlice.@call(options.args, 1);\n return result;\n}, execFileSync = function(file, args, options) {\n ({ file, args, options } = normalizeExecFileArgs(file, args, options));\n const ret = spawnSync(file, args, options), errArgs = [options.argv0 || file];\n ArrayPrototypePush.@apply(errArgs, args);\n const err = checkExecSyncError(ret, errArgs);\n if (err)\n throw err;\n return ret.stdout;\n}, execSync = function(command, options) {\n const opts = normalizeExecArgs(command, options, null), ret = spawnSync(opts.file, opts.options), err = checkExecSyncError(ret, @undefined, command);\n if (err)\n throw err;\n return ret.stdout;\n}, stdioStringToArray = function(stdio, channel) {\n const options = [];\n switch (stdio) {\n case \"ignore\":\n case \"overlapped\":\n case \"pipe\":\n ArrayPrototypePush.@call(options, stdio, stdio, stdio);\n break;\n case \"inherit\":\n ArrayPrototypePush.@call(options, 0, 1, 2);\n break;\n default:\n throw new ERR_INVALID_ARG_VALUE(\"stdio\", stdio);\n }\n if (channel)\n ArrayPrototypePush.@call(options, channel);\n return options;\n}, fork = function(modulePath, args = [], options) {\n modulePath = getValidatedPath(modulePath, \"modulePath\");\n let execArgv;\n if (args == null)\n args = [];\n else if (typeof args === \"object\" && !ArrayIsArray(args))\n options = args, args = [];\n else\n validateArray(args, \"args\");\n if (options != null)\n validateObject(options, \"options\");\n if (options = { __proto__: null, ...options, shell: !1 }, options.execPath = options.execPath || process.execPath, validateArgumentNullCheck(options.execPath, \"options.execPath\"), args = [modulePath, ...args], typeof options.stdio === \"string\")\n options.stdio = stdioStringToArray(options.stdio, \"ipc\");\n else if (!ArrayIsArray(options.stdio))\n options.stdio = stdioStringToArray(options.silent \? \"pipe\" : \"inherit\", \"ipc\");\n else if (!ArrayPrototypeIncludes.@call(options.stdio, \"ipc\"))\n throw new ERR_CHILD_PROCESS_IPC_REQUIRED(\"options.stdio\");\n return spawn(options.execPath, args, options);\n}, convertToValidSignal = function(signal) {\n if (typeof signal === \"number\" && getSignalsToNamesMapping()[signal])\n return signal;\n if (typeof signal === \"string\") {\n const signalName = signals[StringPrototypeToUpperCase.@call(signal)];\n if (signalName)\n return signalName;\n }\n throw new ERR_UNKNOWN_SIGNAL(signal);\n}, sanitizeKillSignal = function(killSignal2) {\n if (typeof killSignal2 === \"string\" || typeof killSignal2 === \"number\")\n return convertToValidSignal(killSignal2);\n else if (killSignal2 != null)\n throw new ERR_INVALID_ARG_TYPE(\"options.killSignal\", [\"string\", \"number\"], killSignal2);\n}, getSignalsToNamesMapping = function() {\n if (signalsToNamesMapping !== @undefined)\n return signalsToNamesMapping;\n signalsToNamesMapping = ObjectCreate(null);\n for (let key in signals)\n signalsToNamesMapping[signals[key]] = key;\n return signalsToNamesMapping;\n}, normalizeExecFileArgs = function(file, args, options, callback) {\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args != null && typeof args === \"object\")\n callback = options, options = args, args = null;\n else if (typeof args === \"function\")\n callback = args, options = null, args = null;\n if (args == null)\n args = [];\n if (typeof options === \"function\")\n callback = options;\n else if (options != null)\n validateObject(options, \"options\");\n if (options == null)\n options = kEmptyObject;\n if (callback != null)\n validateFunction(callback, \"callback\");\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n return { file, args, options, callback };\n}, normalizeExecArgs = function(command, options, callback) {\n if (validateString(command, \"command\"), validateArgumentNullCheck(command, \"command\"), typeof options === \"function\")\n callback = options, options = @undefined;\n return options = { ...options }, options.shell = typeof options.shell === \"string\" \? options.shell : !0, {\n file: command,\n options,\n callback\n };\n}, normalizeSpawnArguments = function(file, args, options) {\n if (validateString(file, \"file\"), validateArgumentNullCheck(file, \"file\"), file.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"file\", file, \"cannot be empty\");\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args == null)\n args = [];\n else if (typeof args !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"args\", \"object\", args);\n else\n options = args, args = [];\n if (validateArgumentsNullCheck(args, \"args\"), options === @undefined)\n options = {};\n else\n validateObject(options, \"options\");\n let cwd = options.cwd;\n if (cwd != null)\n cwd = getValidatedPath(cwd, \"options.cwd\");\n var detached = !1;\n const { detached: detachedOption } = options;\n if (detachedOption != null)\n detached = !!detachedOption;\n if (options.shell != null && typeof options.shell !== \"boolean\" && typeof options.shell !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(\"options.shell\", [\"boolean\", \"string\"], options.shell);\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n if (options.shell) {\n validateArgumentNullCheck(options.shell, \"options.shell\");\n const command = ArrayPrototypeJoin.@call([file, ...args], \" \");\n if (typeof options.shell === \"string\")\n file = options.shell;\n else\n file = \"sh\";\n args = [\"-c\", command];\n }\n if (typeof options.argv0 === \"string\")\n ArrayPrototypeUnshift.@call(args, options.argv0);\n else\n ArrayPrototypeUnshift.@call(args, file);\n const envPairs = options.env || process.env;\n return { ...options, detached, file, args, cwd, envPairs };\n}, checkExecSyncError = function(ret, args, cmd) {\n let err;\n if (ret.error)\n err = ret.error, ObjectAssign(err, ret);\n else if (ret.status !== 0) {\n let msg = \"Command failed: \";\n if (msg += cmd || ArrayPrototypeJoin.@call(args, \" \"), ret.stderr && ret.stderr.length > 0)\n msg += `\\n${ret.stderr.toString()}`;\n err = genericNodeError(msg, ret);\n }\n return err;\n}, nodeToBun = function(item) {\n if (typeof item === \"number\")\n return item;\n else {\n const result = nodeToBunLookup[item];\n if (result === @undefined)\n throw new Error(`Invalid stdio option \"${item}\"`);\n return result;\n }\n}, fdToStdioName = function(fd) {\n switch (fd) {\n case 0:\n return \"stdin\";\n case 1:\n return \"stdout\";\n case 2:\n return \"stderr\";\n default:\n return null;\n }\n}, getBunStdioFromOptions = function(stdio) {\n return normalizeStdio(stdio).map((item) => nodeToBun(item));\n}, normalizeStdio = function(stdio) {\n if (typeof stdio === \"string\")\n switch (stdio) {\n case \"ignore\":\n return [\"ignore\", \"ignore\", \"ignore\"];\n case \"pipe\":\n return [\"pipe\", \"pipe\", \"pipe\"];\n case \"inherit\":\n return [\"inherit\", \"inherit\", \"inherit\"];\n default:\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n }\n else if (ArrayIsArray(stdio)) {\n let processedStdio;\n if (stdio.length === 0)\n processedStdio = [\"pipe\", \"pipe\", \"pipe\"];\n else if (stdio.length === 1)\n processedStdio = [stdio[0], \"pipe\", \"pipe\"];\n else if (stdio.length === 2)\n processedStdio = [stdio[0], stdio[1], \"pipe\"];\n else if (stdio.length >= 3)\n processedStdio = [stdio[0], stdio[1], stdio[2]];\n return processedStdio.map((item) => !item \? \"pipe\" : item);\n } else\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n}, flushStdio = function(subprocess) {\n const stdio = subprocess.stdio;\n if (stdio == null)\n return;\n for (let i = 0;i < stdio.length; i++) {\n const stream = stdio[i];\n if (!stream || !stream.readable)\n continue;\n stream.resume();\n }\n}, onSpawnNT = function(self) {\n self.emit(\"spawn\");\n}, abortChildProcess = function(child, killSignal2, reason) {\n if (!child)\n return;\n try {\n if (child.kill(killSignal2))\n child.emit(\"error\", new AbortError(@undefined, { cause: reason }));\n } catch (err) {\n child.emit(\"error\", err);\n }\n}, validateMaxBuffer = function(maxBuffer) {\n if (maxBuffer != null && !(typeof maxBuffer === \"number\" && maxBuffer >= 0))\n throw new ERR_OUT_OF_RANGE(\"options.maxBuffer\", \"a positive number\", maxBuffer);\n}, validateArgumentNullCheck = function(arg, propName) {\n if (typeof arg === \"string\" && StringPrototypeIncludes.@call(arg, \"\\0\"))\n throw new ERR_INVALID_ARG_VALUE(propName, arg, \"must be a string without null bytes\");\n}, validateArgumentsNullCheck = function(args, propName) {\n for (let i = 0;i < args.length; ++i)\n validateArgumentNullCheck(args[i], `${propName}[${i}]`);\n}, validateTimeout = function(timeout) {\n if (timeout != null && !(NumberIsInteger(timeout) && timeout >= 0))\n throw new ERR_OUT_OF_RANGE(\"timeout\", \"an unsigned integer\", timeout);\n};\nvar validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, nullCheck = function(path, propName, throwError = !0) {\n const pathIsString = typeof path === \"string\", pathIsUint8Array = isUint8Array(path);\n if (!pathIsString && !pathIsUint8Array || pathIsString && !StringPrototypeIncludes.@call(path, \"\\0\") || pathIsUint8Array && !Uint8ArrayPrototypeIncludes.@call(path, 0))\n return;\n const err = new ERR_INVALID_ARG_VALUE(propName, path, \"must be a string or Uint8Array without null bytes\");\n if (throwError)\n throw err;\n return err;\n}, validatePath = function(path, propName = \"path\") {\n if (typeof path !== \"string\" && !isUint8Array(path))\n throw new ERR_INVALID_ARG_TYPE(propName, [\"string\", \"Buffer\", \"URL\"], path);\n const err = nullCheck(path, propName, !1);\n if (err !== @undefined)\n throw err;\n}, getValidatedPath = function(fileURLOrPath, propName = \"path\") {\n const path = toPathIfFileURL(fileURLOrPath);\n return validatePath(path, propName), path;\n}, isUint8Array = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @Uint8Array;\n}, isURLInstance = function(fileURLOrPath) {\n return fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.origin;\n}, toPathIfFileURL = function(fileURLOrPath) {\n if (!isURLInstance(fileURLOrPath))\n return fileURLOrPath;\n return Bun.fileURLToPath(fileURLOrPath);\n}, genericNodeError = function(message, options) {\n const err = new Error(message);\n return err.code = options.code, err.killed = options.killed, err.signal = options.signal, err;\n}, ERR_OUT_OF_RANGE = function(str, range, input, replaceDefaultBoolean = !1) {\n return new RangeError(`The value of ${str} is out of range. It must be ${range}. Received ${input}`);\n}, ERR_CHILD_PROCESS_STDIO_MAXBUFFER = function(stdio) {\n return Error(`${stdio} maxBuffer length exceeded`);\n}, ERR_UNKNOWN_SIGNAL = function(name) {\n const err = @makeTypeError(`Unknown signal: ${name}`);\n return err.code = \"ERR_UNKNOWN_SIGNAL\", err;\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value\?.toString()}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_INVALID_OPT_VALUE = function(name, value) {\n return @makeTypeError(`The value \"${value}\" is invalid for option \"${name}\"`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value \"${value}\" is invalid for argument '${name}'. Reason: ${reason}`);\n}, ERR_CHILD_PROCESS_IPC_REQUIRED = function(name) {\n const err = @makeTypeError(`Forked processes must have an IPC channel, missing value 'ipc' in ${name}`);\n return err.code = \"ERR_CHILD_PROCESS_IPC_REQUIRED\", err;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), {\n constants: { signals }\n} = @getInternalField(@internalModuleRegistry, 28) || @createInternalModuleById(28), { promisify } = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), ObjectCreate = Object.create, ObjectAssign = Object.assign, ObjectDefineProperty = Object.defineProperty, BufferConcat = @Buffer.concat, BufferIsEncoding = @Buffer.isEncoding, kEmptyObject = ObjectCreate(null), ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeUnshift = @Array.prototype.unshift, ArrayPrototypeLastIndexOf = @Array.prototype.lastIndexOf, ArrayPrototypeSplice = @Array.prototype.splice, ArrayIsArray = @Array.isArray, ArrayBufferIsView = @ArrayBuffer.isView, NumberIsInteger = Number.isInteger;\nvar StringPrototypeToUpperCase = @String.prototype.toUpperCase, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSlice = @String.prototype.slice, Uint8ArrayPrototypeIncludes = @Uint8Array.prototype.includes, MAX_BUFFER = 1048576, NativeWritable, ReadableFromWeb, customPromiseExecFunction = (orig) => {\n return (...args) => {\n let resolve, reject;\n const promise = new @Promise((res, rej) => {\n resolve = res, reject = rej;\n });\n return promise.child = orig(...args, (err, stdout, stderr) => {\n if (err !== null)\n err.stdout = stdout, err.stderr = stderr, reject(err);\n else\n resolve({ stdout, stderr });\n }), promise;\n };\n};\nObjectDefineProperty(exec, promisify.custom, {\n __proto__: null,\n enumerable: !1,\n value: customPromiseExecFunction(exec)\n});\nvar signalsToNamesMapping;\n\nclass ChildProcess extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n #handle;\n #exited = !1;\n #closesNeeded = 1;\n #closesGot = 0;\n connected = !1;\n signalCode = null;\n exitCode = null;\n spawnfile;\n spawnargs;\n pid;\n channel;\n get killed() {\n if (this.#handle == null)\n return !1;\n }\n #handleOnExit(exitCode, signalCode, err) {\n if (this.#exited)\n return;\n if (signalCode)\n this.signalCode = signalCode;\n else\n this.exitCode = exitCode;\n if (this.#stdin)\n this.#stdin.destroy();\n if (this.#handle)\n this.#handle = null;\n if (exitCode < 0) {\n const err2 = new SystemError(`Spawned process exited with error code: ${exitCode}`, @undefined, \"spawn\", \"EUNKNOWN\", \"ERR_CHILD_PROCESS_UNKNOWN_ERROR\");\n if (this.spawnfile)\n err2.path = this.spawnfile;\n err2.spawnargs = ArrayPrototypeSlice.@call(this.spawnargs, 1), this.emit(\"error\", err2);\n } else\n this.emit(\"exit\", this.exitCode, this.signalCode);\n process.nextTick(flushStdio, this), this.#maybeClose(), this.#exited = !0, this.#stdioOptions = [\"destroyed\", \"destroyed\", \"destroyed\"];\n }\n #getBunSpawnIo(i, encoding) {\n NativeWritable ||= StreamModule.NativeWritable, ReadableFromWeb ||= StreamModule.Readable.fromWeb;\n const io = this.#stdioOptions[i];\n switch (i) {\n case 0:\n switch (io) {\n case \"pipe\":\n return new NativeWritable(this.#handle.stdin);\n case \"inherit\":\n return process.stdin || null;\n case \"destroyed\":\n return new ShimmedStdin;\n default:\n return null;\n }\n case 2:\n case 1:\n switch (io) {\n case \"pipe\":\n return ReadableFromWeb(this.#handle[fdToStdioName(i)], { encoding });\n case \"inherit\":\n return process[fdToStdioName(i)] || null;\n case \"destroyed\":\n return new ShimmedStdioOutStream;\n default:\n return null;\n }\n }\n }\n #stdin;\n #stdout;\n #stderr;\n #stdioObject;\n #encoding;\n #stdioOptions;\n #createStdioObject() {\n return Object.create(null, {\n 0: {\n get: () => this.stdin\n },\n 1: {\n get: () => this.stdout\n },\n 2: {\n get: () => this.stderr\n }\n });\n }\n get stdin() {\n return this.#stdin \?\?= this.#getBunSpawnIo(0, this.#encoding);\n }\n get stdout() {\n return this.#stdout \?\?= this.#getBunSpawnIo(1, this.#encoding);\n }\n get stderr() {\n return this.#stderr \?\?= this.#getBunSpawnIo(2, this.#encoding);\n }\n get stdio() {\n return this.#stdioObject \?\?= this.#createStdioObject();\n }\n spawn(options) {\n validateObject(options, \"options\"), validateString(options.file, \"options.file\");\n var file = this.spawnfile = options.file, spawnargs;\n if (options.args == null)\n spawnargs = this.spawnargs = [];\n else\n validateArray(options.args, \"options.args\"), spawnargs = this.spawnargs = options.args;\n const stdio = options.stdio || [\"pipe\", \"pipe\", \"pipe\"], bunStdio = getBunStdioFromOptions(stdio), ipc = @isArray(stdio) && stdio[3] === \"ipc\";\n var env = options.envPairs || @undefined;\n const detachedOption = options.detached;\n if (this.#encoding = options.encoding || @undefined, this.#stdioOptions = bunStdio, this.#handle = Bun.spawn({\n cmd: spawnargs,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2],\n cwd: options.cwd || @undefined,\n env: env || process.env,\n detached: typeof detachedOption !== \"undefined\" \? !!detachedOption : !1,\n onExit: (handle, exitCode, signalCode, err) => {\n this.#handle = handle, this.pid = this.#handle.pid, process.nextTick((exitCode2, signalCode2, err2) => this.#handleOnExit(exitCode2, signalCode2, err2), exitCode, signalCode, err);\n },\n lazy: !0,\n ipc: ipc \? this.#emitIpcMessage.bind(this) : @undefined\n }), this.pid = this.#handle.pid, onSpawnNT(this), ipc)\n this.send = this.#send, this.disconnect = this.#disconnect;\n }\n #emitIpcMessage(message) {\n this.emit(\"message\", message);\n }\n #send(message, handle, options, callback) {\n if (typeof handle === \"function\")\n callback = handle, handle = @undefined, options = @undefined;\n else if (typeof options === \"function\")\n callback = options, options = @undefined;\n else if (options !== @undefined) {\n if (typeof options !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n }\n if (!this.#handle) {\n if (callback)\n process.nextTick(callback, @makeTypeError(\"Process was closed while trying to send message\"));\n else\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return !1;\n }\n try {\n if (this.#handle.send(message), callback)\n process.nextTick(callback);\n return !0;\n } catch (error) {\n if (callback)\n process.nextTick(callback, error);\n else\n this.emit(\"error\", error);\n return !1;\n }\n }\n #disconnect() {\n if (!this.connected) {\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return;\n }\n this.connected = !1, this.#handle.disconnect();\n }\n kill(sig) {\n const signal = sig === 0 \? sig : convertToValidSignal(sig === @undefined \? \"SIGTERM\" : sig);\n if (this.#handle)\n this.#handle.kill(signal);\n return this.#maybeClose(), !0;\n }\n #maybeClose() {\n if (this.#closesGot++, this.#closesGot === this.#closesNeeded)\n this.emit(\"close\", this.exitCode, this.signalCode);\n }\n ref() {\n if (this.#handle)\n this.#handle.ref();\n }\n unref() {\n if (this.#handle)\n this.#handle.unref();\n }\n}\nvar nodeToBunLookup = {\n ignore: null,\n pipe: \"pipe\",\n overlapped: \"pipe\",\n inherit: \"inherit\"\n};\n\nclass ShimmedStdin extends EventEmitter {\n constructor() {\n super();\n }\n write() {\n return !1;\n }\n destroy() {\n }\n end() {\n }\n pipe() {\n }\n}\n\nclass ShimmedStdioOutStream extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n pipe() {\n }\n}\nvar validateAbortSignal = (signal, name) => {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n};\nvar validateObject = (value, name, options = null) => {\n const allowArray = options\?.allowArray \?\? !1, allowFunction = options\?.allowFunction \?\? !1;\n if (!(options\?.nullable \?\? !1) && value === null || !allowArray && ArrayIsArray.@call(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE(name, \"object\", value);\n}, validateArray = (value, name, minLength = 0) => {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, Error = globalThis.Error, TypeError = globalThis.TypeError, RangeError = globalThis.RangeError;\n\nclass AbortError extends Error {\n code = \"ABORT_ERR\";\n name = \"AbortError\";\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n }\n}\n\nclass SystemError extends Error {\n path;\n syscall;\n errno;\n code;\n constructor(message, path, syscall, errno, code) {\n super(message);\n this.path = path, this.syscall = syscall, this.errno = errno, this.code = code;\n }\n get name() {\n return \"SystemError\";\n }\n}\n$ = {\n ChildProcess,\n spawn,\n execFile,\n exec,\n fork,\n spawnSync,\n execFileSync,\n execSync\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeChildProcessCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/child_process.ts\nvar spawn = function(file, args, options) {\n options = normalizeSpawnArguments(file, args, options), validateTimeout(options.timeout), validateAbortSignal(options.signal, \"options.signal\");\n const killSignal2 = sanitizeKillSignal(options.killSignal), child = new ChildProcess;\n if (child.spawn(options), options.timeout > 0) {\n let timeoutId = setTimeout(() => {\n if (timeoutId) {\n try {\n child.kill(killSignal2);\n } catch (err) {\n child.emit(\"error\", err);\n }\n timeoutId = null;\n }\n });\n child.once(\"exit\", () => {\n if (timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n });\n }\n if (options.signal) {\n let onAbortListener2 = function() {\n abortChildProcess(child, killSignal2, options.signal.reason);\n };\n var onAbortListener = onAbortListener2;\n const signal = options.signal;\n if (signal.aborted)\n process.nextTick(onAbortListener2);\n else\n signal.addEventListener(\"abort\", onAbortListener2, { once: !0 }), child.once(\"exit\", () => signal.removeEventListener(\"abort\", onAbortListener2));\n }\n return child;\n}, execFile = function(file, args, options, callback) {\n ({ file, args, options, callback } = normalizeExecFileArgs(file, args, options, callback)), options = {\n encoding: \"utf8\",\n timeout: 0,\n maxBuffer: MAX_BUFFER,\n killSignal: \"SIGTERM\",\n cwd: null,\n env: null,\n shell: !1,\n ...options\n };\n const maxBuffer = options.maxBuffer;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const child = spawn(file, args, {\n cwd: options.cwd,\n env: options.env,\n shell: options.shell,\n signal: options.signal\n });\n let encoding;\n const _stdout = [], _stderr = [];\n if (options.encoding !== \"buffer\" && BufferIsEncoding(options.encoding))\n encoding = options.encoding;\n else\n encoding = null;\n let stdoutLen = 0, stderrLen = 0, killed = !1, exited = !1, timeoutId, encodedStdoutLen, encodedStderrLen, ex = null, cmd = file;\n function exitHandler(code, signal) {\n if (exited)\n return;\n if (exited = !0, timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n if (!callback)\n return;\n const readableEncoding = child\?.stdout\?.readableEncoding;\n let stdout, stderr;\n if (encoding || child.stdout && readableEncoding)\n stdout = ArrayPrototypeJoin.@call(_stdout, \"\");\n else\n stdout = BufferConcat(_stdout);\n if (encoding || child.stderr && readableEncoding)\n stderr = ArrayPrototypeJoin.@call(_stderr, \"\");\n else\n stderr = BufferConcat(_stderr);\n if (!ex && code === 0 && signal === null) {\n callback(null, stdout, stderr);\n return;\n }\n if (args\?.length)\n cmd += ` ${ArrayPrototypeJoin.@call(args, \" \")}`;\n if (!ex) {\n let message = `Command failed: ${cmd}`;\n if (stderr)\n message += `\\n${stderr}`;\n ex = genericNodeError(message, {\n code,\n killed: child.killed || killed,\n signal\n });\n }\n ex.cmd = cmd, callback(ex, stdout, stderr);\n }\n function errorHandler(e) {\n if (ex = e, child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n exitHandler();\n }\n function kill() {\n if (child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n killed = !0;\n try {\n child.kill(options.killSignal);\n } catch (e) {\n ex = e, exitHandler();\n }\n }\n if (options.timeout > 0)\n timeoutId = setTimeout(function delayedKill() {\n kill(), timeoutId = null;\n }, options.timeout);\n if (child.stdout) {\n if (encoding)\n child.stdout.setEncoding(encoding);\n child.stdout.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stdout, chunk);\n } : encoding \? function onChildStdoutEncoded(chunk) {\n if (stdoutLen += chunk.length, stdoutLen * 4 > maxBuffer) {\n const encoding2 = child.stdout.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStdoutLen === @undefined)\n for (let i = 0;i < _stdout.length; i++)\n encodedStdoutLen += @Buffer.byteLength(_stdout[i], encoding2);\n else\n encodedStdoutLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStdoutLen - actualLen);\n ArrayPrototypePush.@call(_stdout, StringPrototypeSlice.@apply(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n } : function onChildStdoutRaw(chunk) {\n if (stdoutLen += chunk.length, stdoutLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stdoutLen - chunk.length);\n ArrayPrototypePush.@call(_stdout, chunk.slice(0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n });\n }\n if (child.stderr) {\n if (encoding)\n child.stderr.setEncoding(encoding);\n child.stderr.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stderr, chunk);\n } : encoding \? function onChildStderrEncoded(chunk) {\n if (stderrLen += chunk.length, stderrLen * 4 > maxBuffer) {\n const encoding2 = child.stderr.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStderrLen === @undefined)\n for (let i = 0;i < _stderr.length; i++)\n encodedStderrLen += @Buffer.byteLength(_stderr[i], encoding2);\n else\n encodedStderrLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStderrLen - actualLen);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n } : function onChildStderrRaw(chunk) {\n if (stderrLen += chunk.length, stderrLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stderrLen - chunk.length);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n });\n }\n return child.addListener(\"close\", exitHandler), child.addListener(\"error\", errorHandler), child;\n}, exec = function(command, options, callback) {\n const opts = normalizeExecArgs(command, options, callback);\n return execFile(opts.file, opts.options, opts.callback);\n}, spawnSync = function(file, args, options) {\n options = {\n maxBuffer: MAX_BUFFER,\n ...normalizeSpawnArguments(file, args, options)\n };\n const { maxBuffer, encoding } = options;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const stdio = options.stdio || \"pipe\", bunStdio = getBunStdioFromOptions(stdio);\n var { input } = options;\n if (input)\n if (ArrayBufferIsView(input))\n bunStdio[0] = input;\n else if (typeof input === \"string\")\n bunStdio[0] = @Buffer.from(input, encoding || \"utf8\");\n else\n throw new ERR_INVALID_ARG_TYPE(\"options.stdio[0]\", [\"Buffer\", \"TypedArray\", \"DataView\", \"string\"], input);\n const { stdout, stderr, success, exitCode } = Bun.spawnSync({\n cmd: options.args,\n env: options.env || @undefined,\n cwd: options.cwd || @undefined,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2]\n }), result = {\n signal: null,\n status: exitCode,\n output: [null, stdout, stderr]\n };\n if (stdout && encoding && encoding !== \"buffer\")\n result.output[1] = result.output[1]\?.toString(encoding);\n if (stderr && encoding && encoding !== \"buffer\")\n result.output[2] = result.output[2]\?.toString(encoding);\n if (result.stdout = result.output[1], result.stderr = result.output[2], !success)\n result.error = new SystemError(result.output[2], options.file, \"spawnSync\", -1, result.status), result.error.spawnargs = ArrayPrototypeSlice.@call(options.args, 1);\n return result;\n}, execFileSync = function(file, args, options) {\n ({ file, args, options } = normalizeExecFileArgs(file, args, options));\n const ret = spawnSync(file, args, options), errArgs = [options.argv0 || file];\n ArrayPrototypePush.@apply(errArgs, args);\n const err = checkExecSyncError(ret, errArgs);\n if (err)\n throw err;\n return ret.stdout;\n}, execSync = function(command, options) {\n const opts = normalizeExecArgs(command, options, null), ret = spawnSync(opts.file, opts.options), err = checkExecSyncError(ret, @undefined, command);\n if (err)\n throw err;\n return ret.stdout;\n}, stdioStringToArray = function(stdio, channel) {\n const options = [];\n switch (stdio) {\n case \"ignore\":\n case \"overlapped\":\n case \"pipe\":\n ArrayPrototypePush.@call(options, stdio, stdio, stdio);\n break;\n case \"inherit\":\n ArrayPrototypePush.@call(options, 0, 1, 2);\n break;\n default:\n throw new ERR_INVALID_ARG_VALUE(\"stdio\", stdio);\n }\n if (channel)\n ArrayPrototypePush.@call(options, channel);\n return options;\n}, fork = function(modulePath, args = [], options) {\n modulePath = getValidatedPath(modulePath, \"modulePath\");\n let execArgv;\n if (args == null)\n args = [];\n else if (typeof args === \"object\" && !ArrayIsArray(args))\n options = args, args = [];\n else\n validateArray(args, \"args\");\n if (options != null)\n validateObject(options, \"options\");\n if (options = { __proto__: null, ...options, shell: !1 }, options.execPath = options.execPath || process.execPath, validateArgumentNullCheck(options.execPath, \"options.execPath\"), args = [modulePath, ...args], typeof options.stdio === \"string\")\n options.stdio = stdioStringToArray(options.stdio, \"ipc\");\n else if (!ArrayIsArray(options.stdio))\n options.stdio = stdioStringToArray(options.silent \? \"pipe\" : \"inherit\", \"ipc\");\n else if (!ArrayPrototypeIncludes.@call(options.stdio, \"ipc\"))\n throw new ERR_CHILD_PROCESS_IPC_REQUIRED(\"options.stdio\");\n return spawn(options.execPath, args, options);\n}, convertToValidSignal = function(signal) {\n if (typeof signal === \"number\" && getSignalsToNamesMapping()[signal])\n return signal;\n if (typeof signal === \"string\") {\n const signalName = signals[StringPrototypeToUpperCase.@call(signal)];\n if (signalName)\n return signalName;\n }\n throw new ERR_UNKNOWN_SIGNAL(signal);\n}, sanitizeKillSignal = function(killSignal2) {\n if (typeof killSignal2 === \"string\" || typeof killSignal2 === \"number\")\n return convertToValidSignal(killSignal2);\n else if (killSignal2 != null)\n throw new ERR_INVALID_ARG_TYPE(\"options.killSignal\", [\"string\", \"number\"], killSignal2);\n}, getSignalsToNamesMapping = function() {\n if (signalsToNamesMapping !== @undefined)\n return signalsToNamesMapping;\n signalsToNamesMapping = ObjectCreate(null);\n for (let key in signals)\n signalsToNamesMapping[signals[key]] = key;\n return signalsToNamesMapping;\n}, normalizeExecFileArgs = function(file, args, options, callback) {\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args != null && typeof args === \"object\")\n callback = options, options = args, args = null;\n else if (typeof args === \"function\")\n callback = args, options = null, args = null;\n if (args == null)\n args = [];\n if (typeof options === \"function\")\n callback = options;\n else if (options != null)\n validateObject(options, \"options\");\n if (options == null)\n options = kEmptyObject;\n if (callback != null)\n validateFunction(callback, \"callback\");\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n return { file, args, options, callback };\n}, normalizeExecArgs = function(command, options, callback) {\n if (validateString(command, \"command\"), validateArgumentNullCheck(command, \"command\"), typeof options === \"function\")\n callback = options, options = @undefined;\n return options = { ...options }, options.shell = typeof options.shell === \"string\" \? options.shell : !0, {\n file: command,\n options,\n callback\n };\n}, normalizeSpawnArguments = function(file, args, options) {\n if (validateString(file, \"file\"), validateArgumentNullCheck(file, \"file\"), file.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"file\", file, \"cannot be empty\");\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args == null)\n args = [];\n else if (typeof args !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"args\", \"object\", args);\n else\n options = args, args = [];\n if (validateArgumentsNullCheck(args, \"args\"), options === @undefined)\n options = {};\n else\n validateObject(options, \"options\");\n let cwd = options.cwd;\n if (cwd != null)\n cwd = getValidatedPath(cwd, \"options.cwd\");\n var detached = !1;\n const { detached: detachedOption } = options;\n if (detachedOption != null)\n detached = !!detachedOption;\n if (options.shell != null && typeof options.shell !== \"boolean\" && typeof options.shell !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(\"options.shell\", [\"boolean\", \"string\"], options.shell);\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n if (options.shell) {\n validateArgumentNullCheck(options.shell, \"options.shell\");\n const command = ArrayPrototypeJoin.@call([file, ...args], \" \");\n if (typeof options.shell === \"string\")\n file = options.shell;\n else\n file = \"sh\";\n args = [\"-c\", command];\n }\n if (typeof options.argv0 === \"string\")\n ArrayPrototypeUnshift.@call(args, options.argv0);\n else\n ArrayPrototypeUnshift.@call(args, file);\n const envPairs = options.env || process.env;\n return { ...options, detached, file, args, cwd, envPairs };\n}, checkExecSyncError = function(ret, args, cmd) {\n let err;\n if (ret.error)\n err = ret.error, ObjectAssign(err, ret);\n else if (ret.status !== 0) {\n let msg = \"Command failed: \";\n if (msg += cmd || ArrayPrototypeJoin.@call(args, \" \"), ret.stderr && ret.stderr.length > 0)\n msg += `\\n${ret.stderr.toString()}`;\n err = genericNodeError(msg, ret);\n }\n return err;\n}, nodeToBun = function(item) {\n if (typeof item === \"number\")\n return item;\n else {\n const result = nodeToBunLookup[item];\n if (result === @undefined)\n throw new Error(`Invalid stdio option \"${item}\"`);\n return result;\n }\n}, fdToStdioName = function(fd) {\n switch (fd) {\n case 0:\n return \"stdin\";\n case 1:\n return \"stdout\";\n case 2:\n return \"stderr\";\n default:\n return null;\n }\n}, getBunStdioFromOptions = function(stdio) {\n return normalizeStdio(stdio).map((item) => nodeToBun(item));\n}, normalizeStdio = function(stdio) {\n if (typeof stdio === \"string\")\n switch (stdio) {\n case \"ignore\":\n return [\"ignore\", \"ignore\", \"ignore\"];\n case \"pipe\":\n return [\"pipe\", \"pipe\", \"pipe\"];\n case \"inherit\":\n return [\"inherit\", \"inherit\", \"inherit\"];\n default:\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n }\n else if (ArrayIsArray(stdio)) {\n let processedStdio;\n if (stdio.length === 0)\n processedStdio = [\"pipe\", \"pipe\", \"pipe\"];\n else if (stdio.length === 1)\n processedStdio = [stdio[0], \"pipe\", \"pipe\"];\n else if (stdio.length === 2)\n processedStdio = [stdio[0], stdio[1], \"pipe\"];\n else if (stdio.length >= 3)\n processedStdio = [stdio[0], stdio[1], stdio[2]];\n return processedStdio.map((item) => !item \? \"pipe\" : item);\n } else\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n}, flushStdio = function(subprocess) {\n const stdio = subprocess.stdio;\n if (stdio == null)\n return;\n for (let i = 0;i < stdio.length; i++) {\n const stream = stdio[i];\n if (!stream || !stream.readable)\n continue;\n stream.resume();\n }\n}, onSpawnNT = function(self) {\n self.emit(\"spawn\");\n}, abortChildProcess = function(child, killSignal2, reason) {\n if (!child)\n return;\n try {\n if (child.kill(killSignal2))\n child.emit(\"error\", new AbortError(@undefined, { cause: reason }));\n } catch (err) {\n child.emit(\"error\", err);\n }\n}, validateMaxBuffer = function(maxBuffer) {\n if (maxBuffer != null && !(typeof maxBuffer === \"number\" && maxBuffer >= 0))\n throw new ERR_OUT_OF_RANGE(\"options.maxBuffer\", \"a positive number\", maxBuffer);\n}, validateArgumentNullCheck = function(arg, propName) {\n if (typeof arg === \"string\" && StringPrototypeIncludes.@call(arg, \"\\0\"))\n throw new ERR_INVALID_ARG_VALUE(propName, arg, \"must be a string without null bytes\");\n}, validateArgumentsNullCheck = function(args, propName) {\n for (let i = 0;i < args.length; ++i)\n validateArgumentNullCheck(args[i], `${propName}[${i}]`);\n}, validateTimeout = function(timeout) {\n if (timeout != null && !(NumberIsInteger(timeout) && timeout >= 0))\n throw new ERR_OUT_OF_RANGE(\"timeout\", \"an unsigned integer\", timeout);\n};\nvar validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, nullCheck = function(path, propName, throwError = !0) {\n const pathIsString = typeof path === \"string\", pathIsUint8Array = isUint8Array(path);\n if (!pathIsString && !pathIsUint8Array || pathIsString && !StringPrototypeIncludes.@call(path, \"\\0\") || pathIsUint8Array && !Uint8ArrayPrototypeIncludes.@call(path, 0))\n return;\n const err = new ERR_INVALID_ARG_VALUE(propName, path, \"must be a string or Uint8Array without null bytes\");\n if (throwError)\n throw err;\n return err;\n}, validatePath = function(path, propName = \"path\") {\n if (typeof path !== \"string\" && !isUint8Array(path))\n throw new ERR_INVALID_ARG_TYPE(propName, [\"string\", \"Buffer\", \"URL\"], path);\n const err = nullCheck(path, propName, !1);\n if (err !== @undefined)\n throw err;\n}, getValidatedPath = function(fileURLOrPath, propName = \"path\") {\n const path = toPathIfFileURL(fileURLOrPath);\n return validatePath(path, propName), path;\n}, isUint8Array = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @Uint8Array;\n}, isURLInstance = function(fileURLOrPath) {\n return fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.origin;\n}, toPathIfFileURL = function(fileURLOrPath) {\n if (!isURLInstance(fileURLOrPath))\n return fileURLOrPath;\n return Bun.fileURLToPath(fileURLOrPath);\n}, genericNodeError = function(message, options) {\n const err = new Error(message);\n return err.code = options.code, err.killed = options.killed, err.signal = options.signal, err;\n}, ERR_OUT_OF_RANGE = function(str, range, input, replaceDefaultBoolean = !1) {\n return new RangeError(`The value of ${str} is out of range. It must be ${range}. Received ${input}`);\n}, ERR_CHILD_PROCESS_STDIO_MAXBUFFER = function(stdio) {\n return Error(`${stdio} maxBuffer length exceeded`);\n}, ERR_UNKNOWN_SIGNAL = function(name) {\n const err = @makeTypeError(`Unknown signal: ${name}`);\n return err.code = \"ERR_UNKNOWN_SIGNAL\", err;\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value\?.toString()}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_INVALID_OPT_VALUE = function(name, value) {\n return @makeTypeError(`The value \"${value}\" is invalid for option \"${name}\"`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value \"${value}\" is invalid for argument '${name}'. Reason: ${reason}`);\n}, ERR_CHILD_PROCESS_IPC_REQUIRED = function(name) {\n const err = @makeTypeError(`Forked processes must have an IPC channel, missing value 'ipc' in ${name}`);\n return err.code = \"ERR_CHILD_PROCESS_IPC_REQUIRED\", err;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), {\n constants: { signals }\n} = @getInternalField(@internalModuleRegistry, 28) || @createInternalModuleById(28), { promisify } = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), ObjectCreate = Object.create, ObjectAssign = Object.assign, ObjectDefineProperty = Object.defineProperty, BufferConcat = @Buffer.concat, BufferIsEncoding = @Buffer.isEncoding, kEmptyObject = ObjectCreate(null), ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeUnshift = @Array.prototype.unshift, ArrayPrototypeLastIndexOf = @Array.prototype.lastIndexOf, ArrayPrototypeSplice = @Array.prototype.splice, ArrayIsArray = @Array.isArray, ArrayBufferIsView = @ArrayBuffer.isView, NumberIsInteger = Number.isInteger;\nvar StringPrototypeToUpperCase = @String.prototype.toUpperCase, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSlice = @String.prototype.slice, Uint8ArrayPrototypeIncludes = @Uint8Array.prototype.includes, MAX_BUFFER = 1048576, NativeWritable, ReadableFromWeb, customPromiseExecFunction = (orig) => {\n return (...args) => {\n let resolve, reject;\n const promise = new @Promise((res, rej) => {\n resolve = res, reject = rej;\n });\n return promise.child = orig(...args, (err, stdout, stderr) => {\n if (err !== null)\n err.stdout = stdout, err.stderr = stderr, reject(err);\n else\n resolve({ stdout, stderr });\n }), promise;\n };\n};\nObjectDefineProperty(exec, promisify.custom, {\n __proto__: null,\n enumerable: !1,\n value: customPromiseExecFunction(exec)\n});\nvar signalsToNamesMapping;\n\nclass ChildProcess extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n #handle;\n #exited = !1;\n #closesNeeded = 1;\n #closesGot = 0;\n connected = !1;\n signalCode = null;\n exitCode = null;\n spawnfile;\n spawnargs;\n pid;\n channel;\n get killed() {\n if (this.#handle == null)\n return !1;\n }\n #handleOnExit(exitCode, signalCode, err) {\n if (this.#exited)\n return;\n if (signalCode)\n this.signalCode = signalCode;\n else\n this.exitCode = exitCode;\n if (this.#stdin)\n this.#stdin.destroy();\n if (this.#handle)\n this.#handle = null;\n if (exitCode < 0) {\n const err2 = new SystemError(`Spawned process exited with error code: ${exitCode}`, @undefined, \"spawn\", \"EUNKNOWN\", \"ERR_CHILD_PROCESS_UNKNOWN_ERROR\");\n if (this.spawnfile)\n err2.path = this.spawnfile;\n err2.spawnargs = ArrayPrototypeSlice.@call(this.spawnargs, 1), this.emit(\"error\", err2);\n } else\n this.emit(\"exit\", this.exitCode, this.signalCode);\n process.nextTick(flushStdio, this), this.#maybeClose(), this.#exited = !0, this.#stdioOptions = [\"destroyed\", \"destroyed\", \"destroyed\"];\n }\n #getBunSpawnIo(i, encoding) {\n NativeWritable ||= StreamModule.NativeWritable, ReadableFromWeb ||= StreamModule.Readable.fromWeb;\n const io = this.#stdioOptions[i];\n switch (i) {\n case 0:\n switch (io) {\n case \"pipe\":\n return new NativeWritable(this.#handle.stdin);\n case \"inherit\":\n return process.stdin || null;\n case \"destroyed\":\n return new ShimmedStdin;\n default:\n return null;\n }\n case 2:\n case 1:\n switch (io) {\n case \"pipe\":\n return ReadableFromWeb(this.#handle[fdToStdioName(i)], { encoding });\n case \"inherit\":\n return process[fdToStdioName(i)] || null;\n case \"destroyed\":\n return new ShimmedStdioOutStream;\n default:\n return null;\n }\n }\n }\n #stdin;\n #stdout;\n #stderr;\n #stdioObject;\n #encoding;\n #stdioOptions;\n #createStdioObject() {\n return Object.create(null, {\n 0: {\n get: () => this.stdin\n },\n 1: {\n get: () => this.stdout\n },\n 2: {\n get: () => this.stderr\n }\n });\n }\n get stdin() {\n return this.#stdin \?\?= this.#getBunSpawnIo(0, this.#encoding);\n }\n get stdout() {\n return this.#stdout \?\?= this.#getBunSpawnIo(1, this.#encoding);\n }\n get stderr() {\n return this.#stderr \?\?= this.#getBunSpawnIo(2, this.#encoding);\n }\n get stdio() {\n return this.#stdioObject \?\?= this.#createStdioObject();\n }\n spawn(options) {\n validateObject(options, \"options\"), validateString(options.file, \"options.file\");\n var file = this.spawnfile = options.file, spawnargs;\n if (options.args == null)\n spawnargs = this.spawnargs = [];\n else\n validateArray(options.args, \"options.args\"), spawnargs = this.spawnargs = options.args;\n const stdio = options.stdio || [\"pipe\", \"pipe\", \"pipe\"], bunStdio = getBunStdioFromOptions(stdio), ipc = @isArray(stdio) && stdio[3] === \"ipc\";\n var env = options.envPairs || @undefined;\n const detachedOption = options.detached;\n if (this.#encoding = options.encoding || @undefined, this.#stdioOptions = bunStdio, this.#handle = Bun.spawn({\n cmd: spawnargs,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2],\n cwd: options.cwd || @undefined,\n env: env || process.env,\n detached: typeof detachedOption !== \"undefined\" \? !!detachedOption : !1,\n onExit: (handle, exitCode, signalCode, err) => {\n this.#handle = handle, this.pid = this.#handle.pid, process.nextTick((exitCode2, signalCode2, err2) => this.#handleOnExit(exitCode2, signalCode2, err2), exitCode, signalCode, err);\n },\n lazy: !0,\n ipc: ipc \? this.#emitIpcMessage.bind(this) : @undefined\n }), this.pid = this.#handle.pid, onSpawnNT(this), ipc)\n this.send = this.#send, this.disconnect = this.#disconnect;\n }\n #emitIpcMessage(message) {\n this.emit(\"message\", message);\n }\n #send(message, handle, options, callback) {\n if (typeof handle === \"function\")\n callback = handle, handle = @undefined, options = @undefined;\n else if (typeof options === \"function\")\n callback = options, options = @undefined;\n else if (options !== @undefined) {\n if (typeof options !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n }\n if (!this.#handle) {\n if (callback)\n process.nextTick(callback, @makeTypeError(\"Process was closed while trying to send message\"));\n else\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return !1;\n }\n try {\n if (this.#handle.send(message), callback)\n process.nextTick(callback);\n return !0;\n } catch (error) {\n if (callback)\n process.nextTick(callback, error);\n else\n this.emit(\"error\", error);\n return !1;\n }\n }\n #disconnect() {\n if (!this.connected) {\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return;\n }\n this.connected = !1, this.#handle.disconnect();\n }\n kill(sig) {\n const signal = sig === 0 \? sig : convertToValidSignal(sig === @undefined \? \"SIGTERM\" : sig);\n if (this.#handle)\n this.#handle.kill(signal);\n return this.#maybeClose(), !0;\n }\n #maybeClose() {\n if (this.#closesGot++, this.#closesGot === this.#closesNeeded)\n this.emit(\"close\", this.exitCode, this.signalCode);\n }\n ref() {\n if (this.#handle)\n this.#handle.ref();\n }\n unref() {\n if (this.#handle)\n this.#handle.unref();\n }\n}\nvar nodeToBunLookup = {\n ignore: null,\n pipe: \"pipe\",\n overlapped: \"pipe\",\n inherit: \"inherit\"\n};\n\nclass ShimmedStdin extends EventEmitter {\n constructor() {\n super();\n }\n write() {\n return !1;\n }\n destroy() {\n }\n end() {\n }\n pipe() {\n }\n}\n\nclass ShimmedStdioOutStream extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n pipe() {\n }\n}\nvar validateAbortSignal = (signal, name) => {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n};\nvar validateObject = (value, name, options = null) => {\n const allowArray = options\?.allowArray \?\? !1, allowFunction = options\?.allowFunction \?\? !1;\n if (!(options\?.nullable \?\? !1) && value === null || !allowArray && ArrayIsArray.@call(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE(name, \"object\", value);\n}, validateArray = (value, name, minLength = 0) => {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, Error = globalThis.Error, TypeError = globalThis.TypeError, RangeError = globalThis.RangeError;\n\nclass AbortError extends Error {\n code = \"ABORT_ERR\";\n name = \"AbortError\";\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n }\n}\n\nclass SystemError extends Error {\n path;\n syscall;\n errno;\n code;\n constructor(message, path, syscall, errno, code) {\n super(message);\n this.path = path, this.syscall = syscall, this.errno = errno, this.code = code;\n }\n get name() {\n return \"SystemError\";\n }\n}\n$ = {\n ChildProcess,\n spawn,\n execFile,\n exec,\n fork,\n spawnSync,\n execFileSync,\n execSync\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeClusterCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/cluster.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n\nclass Cluster extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n isWorker = !1;\n isPrimary = !0;\n isMaster = !0;\n workers = {};\n settings = {};\n SCHED_NONE = 1;\n SCHED_RR = 2;\n schedulingPolicy = 2;\n Worker = function Worker() {\n throwNotImplemented(\"node:cluster Worker\", 2428);\n };\n setupPrimary() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n setupMaster() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n fork() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n disconnect() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n}\nreturn new Cluster})\n"); +static constexpr ASCIILiteral NodeClusterCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/cluster.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n\nclass Cluster extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n isWorker = !1;\n isPrimary = !0;\n isMaster = !0;\n workers = {};\n settings = {};\n SCHED_NONE = 1;\n SCHED_RR = 2;\n schedulingPolicy = 2;\n Worker = function Worker() {\n throwNotImplemented(\"node:cluster Worker\", 2428);\n };\n setupPrimary() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n setupMaster() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n fork() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n disconnect() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n}\nreturn new Cluster})\n"); // // -static constexpr ASCIILiteral NodeConsoleCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/console.ts\nreturn console})\n"); +static constexpr ASCIILiteral NodeConsoleCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/console.ts\nreturn console})\n"); // // -static constexpr ASCIILiteral NodeCryptoCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/crypto.ts\nvar exportIfKeyObject = function(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n return key2;\n}, getKeyFrom = function(key2, type) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n else if (!Buffer.isBuffer(key2) && typeof key2 === \"object\") {\n if ((typeof key2.format === \"string\" || typeof key2.passphrase === \"string\") && typeof key2.key !== \"undefined\")\n key2 = type === \"public\" \? _createPublicKey(key2).export() : _createPrivateKey(key2).export();\n } else if (typeof key2 === \"string\" && type === \"public\")\n key2.indexOf(\"PRIVATE KEY-----\") !== -1 && (key2 = _createPublicKey(key2).export());\n return key2;\n}, getArrayBufferOrView = function(buffer, name, encoding) {\n if (buffer instanceof KeyObject) {\n if (buffer.type !== \"secret\") {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key.type}, expected secret`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n buffer = buffer.export();\n }\n if (isAnyArrayBuffer(buffer))\n return buffer;\n if (typeof buffer === \"string\") {\n if (encoding === \"buffer\")\n encoding = \"utf8\";\n return Buffer.from(buffer, encoding);\n }\n if (!isArrayBufferView(buffer)) {\n var error = @makeTypeError(`ERR_INVALID_ARG_TYPE: The \"${name}\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received ` + buffer);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n return buffer;\n}, getCurves = function() {\n return harcoded_curves;\n}, _generateKeyPairSync = function(algorithm, options) {\n const result = generateKeyPairSync(algorithm, options);\n if (result) {\n const publicKeyEncoding = options\?.publicKeyEncoding, privateKeyEncoding = options\?.privateKeyEncoding;\n result.publicKey = publicKeyEncoding \? KeyObject.from(result.publicKey).export(publicKeyEncoding) : KeyObject.from(result.publicKey), result.privateKey = privateKeyEncoding \? KeyObject.from(result.privateKey).export(privateKeyEncoding) : KeyObject.from(result.privateKey);\n }\n return result;\n}, _createPrivateKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + actual_key);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPrivateKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, _createPublicKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type === \"private\")\n return KeyObject.from(createPublicKey({ key: key2[kCryptoKey] || key2, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n if (key2.passphrase) {\n let actual_key2 = key2.key;\n if (typeof actual_key2 === \"string\")\n actual_key2 = Buffer.from(actual_key2, key2.encoding || \"utf8\");\n return KeyObject.from(createPublicKey({\n key: createPrivateKey({ key: actual_key2, format: key2.format, passphrase: key2.passphrase }),\n format: \"\"\n }));\n }\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n if (actual_key.type === \"private\")\n return KeyObject.from(createPublicKey({ key: actual_key[kCryptoKey] || actual_key, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${actual_key.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPublicKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, $, __defProp = Object.defineProperty, __getOwnPropNames = Object.getOwnPropertyNames, StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), BufferModule = @requireNativeModule(\"buffer\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, MAX_STRING_LENGTH = 536870888, Buffer = globalThis.Buffer, EMPTY_BUFFER = Buffer.alloc(0), { isAnyArrayBuffer, isArrayBufferView } = @requireNativeModule(\"util/types\"), crypto = globalThis.crypto, globalCrypto = crypto, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, require_safe_buffer = __commonJS({\n \"node_modules/safe-buffer/index.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src)\n dst[key2] = src[key2];\n }\n Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow \? module.exports = buffer : (copyProps(buffer, exports), exports.Buffer = SafeBuffer);\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer2(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer2.prototype), copyProps(Buffer2, SafeBuffer), SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg == \"number\")\n @throwTypeError(\"Argument must not be a number\");\n return Buffer2(arg, encodingOrOffset, length);\n }, SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n var buf = Buffer2(size);\n return fill !== void 0 \? typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill) : buf.fill(0), buf;\n }, SafeBuffer.allocUnsafe = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return Buffer2(size);\n }, SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return buffer.SlowBuffer(size);\n };\n }\n}), require_browser = __commonJS({\n \"node_modules/randombytes/browser.js\"(exports, module) {\n var MAX_BYTES = 65536, MAX_UINT32 = 4294967295;\n function oldBrowser() {\n throw new Error(`Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11`);\n }\n var Buffer2 = require_safe_buffer().Buffer, crypto2 = globalCrypto;\n crypto2 && crypto2.getRandomValues \? module.exports = randomBytes : module.exports = oldBrowser;\n function randomBytes(size, cb) {\n if (size > MAX_UINT32)\n @throwRangeError(\"requested too many random bytes\");\n var bytes = Buffer2.allocUnsafe(size);\n if (size > 0)\n if (size > MAX_BYTES)\n for (var generated = 0;generated < size; generated += MAX_BYTES)\n crypto2.getRandomValues(bytes.slice(generated, generated + MAX_BYTES));\n else\n crypto2.getRandomValues(bytes);\n return typeof cb == \"function\" \? process.nextTick(function() {\n cb(null, bytes);\n }) : bytes;\n }\n }\n}), require_inherits_browser = __commonJS({\n \"node_modules/inherits/inherits_browser.js\"(exports, module) {\n module.exports = function(ctor, superCtor) {\n superCtor && (ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }));\n };\n }\n}), require_hash_base = __commonJS({\n \"node_modules/hash-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function throwIfNotStringOrBuffer(val, prefix) {\n if (!Buffer2.isBuffer(val) && typeof val != \"string\")\n @throwTypeError(prefix + \" must be a string or a buffer\");\n }\n function HashBase(blockSize) {\n StreamModule.Transform.@call(this), this._block = Buffer2.allocUnsafe(blockSize), this._blockSize = blockSize, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1;\n }\n inherits(HashBase, StreamModule.Transform), HashBase.prototype._transform = function(chunk, encoding, callback) {\n var error = null;\n try {\n this.update(chunk, encoding);\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype._flush = function(callback) {\n var error = null;\n try {\n this.push(this.digest());\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype.update = function(data, encoding) {\n if (throwIfNotStringOrBuffer(data, \"Data\"), this._finalized)\n throw new Error(\"Digest already called\");\n Buffer2.isBuffer(data) || (data = Buffer2.from(data, encoding));\n for (var block = this._block, offset = 0;this._blockOffset + data.length - offset >= this._blockSize; ) {\n for (var i = this._blockOffset;i < this._blockSize; )\n block[i++] = data[offset++];\n this._update(), this._blockOffset = 0;\n }\n for (;offset < data.length; )\n block[this._blockOffset++] = data[offset++];\n for (var j = 0, carry = data.length * 8;carry > 0; ++j)\n this._length[j] += carry, carry = this._length[j] / 4294967296 | 0, carry > 0 && (this._length[j] -= 4294967296 * carry);\n return this;\n }, HashBase.prototype._update = function() {\n throw new Error(\"_update is not implemented\");\n }, HashBase.prototype.digest = function(encoding) {\n if (this._finalized)\n throw new Error(\"Digest already called\");\n this._finalized = !0;\n var digest = this._digest();\n encoding !== void 0 && (digest = digest.toString(encoding)), this._block.fill(0), this._blockOffset = 0;\n for (var i = 0;i < 4; ++i)\n this._length[i] = 0;\n return digest;\n }, HashBase.prototype._digest = function() {\n throw new Error(\"_digest is not implemented\");\n }, module.exports = HashBase;\n }\n}), require_md5 = __commonJS({\n \"node_modules/md5.js/index.js\"(exports, module) {\n var inherits = require_inherits_browser(), HashBase = require_hash_base(), Buffer2 = require_safe_buffer().Buffer, ARRAY16 = new @Array(16);\n function MD5() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878;\n }\n inherits(MD5, HashBase), MD5.prototype._update = function() {\n for (var M = ARRAY16, i = 0;i < 16; ++i)\n M[i] = this._block.readInt32LE(i * 4);\n var a = this._a, b = this._b, c = this._c, d = this._d;\n a = fnF(a, b, c, d, M[0], 3614090360, 7), d = fnF(d, a, b, c, M[1], 3905402710, 12), c = fnF(c, d, a, b, M[2], 606105819, 17), b = fnF(b, c, d, a, M[3], 3250441966, 22), a = fnF(a, b, c, d, M[4], 4118548399, 7), d = fnF(d, a, b, c, M[5], 1200080426, 12), c = fnF(c, d, a, b, M[6], 2821735955, 17), b = fnF(b, c, d, a, M[7], 4249261313, 22), a = fnF(a, b, c, d, M[8], 1770035416, 7), d = fnF(d, a, b, c, M[9], 2336552879, 12), c = fnF(c, d, a, b, M[10], 4294925233, 17), b = fnF(b, c, d, a, M[11], 2304563134, 22), a = fnF(a, b, c, d, M[12], 1804603682, 7), d = fnF(d, a, b, c, M[13], 4254626195, 12), c = fnF(c, d, a, b, M[14], 2792965006, 17), b = fnF(b, c, d, a, M[15], 1236535329, 22), a = fnG(a, b, c, d, M[1], 4129170786, 5), d = fnG(d, a, b, c, M[6], 3225465664, 9), c = fnG(c, d, a, b, M[11], 643717713, 14), b = fnG(b, c, d, a, M[0], 3921069994, 20), a = fnG(a, b, c, d, M[5], 3593408605, 5), d = fnG(d, a, b, c, M[10], 38016083, 9), c = fnG(c, d, a, b, M[15], 3634488961, 14), b = fnG(b, c, d, a, M[4], 3889429448, 20), a = fnG(a, b, c, d, M[9], 568446438, 5), d = fnG(d, a, b, c, M[14], 3275163606, 9), c = fnG(c, d, a, b, M[3], 4107603335, 14), b = fnG(b, c, d, a, M[8], 1163531501, 20), a = fnG(a, b, c, d, M[13], 2850285829, 5), d = fnG(d, a, b, c, M[2], 4243563512, 9), c = fnG(c, d, a, b, M[7], 1735328473, 14), b = fnG(b, c, d, a, M[12], 2368359562, 20), a = fnH(a, b, c, d, M[5], 4294588738, 4), d = fnH(d, a, b, c, M[8], 2272392833, 11), c = fnH(c, d, a, b, M[11], 1839030562, 16), b = fnH(b, c, d, a, M[14], 4259657740, 23), a = fnH(a, b, c, d, M[1], 2763975236, 4), d = fnH(d, a, b, c, M[4], 1272893353, 11), c = fnH(c, d, a, b, M[7], 4139469664, 16), b = fnH(b, c, d, a, M[10], 3200236656, 23), a = fnH(a, b, c, d, M[13], 681279174, 4), d = fnH(d, a, b, c, M[0], 3936430074, 11), c = fnH(c, d, a, b, M[3], 3572445317, 16), b = fnH(b, c, d, a, M[6], 76029189, 23), a = fnH(a, b, c, d, M[9], 3654602809, 4), d = fnH(d, a, b, c, M[12], 3873151461, 11), c = fnH(c, d, a, b, M[15], 530742520, 16), b = fnH(b, c, d, a, M[2], 3299628645, 23), a = fnI(a, b, c, d, M[0], 4096336452, 6), d = fnI(d, a, b, c, M[7], 1126891415, 10), c = fnI(c, d, a, b, M[14], 2878612391, 15), b = fnI(b, c, d, a, M[5], 4237533241, 21), a = fnI(a, b, c, d, M[12], 1700485571, 6), d = fnI(d, a, b, c, M[3], 2399980690, 10), c = fnI(c, d, a, b, M[10], 4293915773, 15), b = fnI(b, c, d, a, M[1], 2240044497, 21), a = fnI(a, b, c, d, M[8], 1873313359, 6), d = fnI(d, a, b, c, M[15], 4264355552, 10), c = fnI(c, d, a, b, M[6], 2734768916, 15), b = fnI(b, c, d, a, M[13], 1309151649, 21), a = fnI(a, b, c, d, M[4], 4149444226, 6), d = fnI(d, a, b, c, M[11], 3174756917, 10), c = fnI(c, d, a, b, M[2], 718787259, 15), b = fnI(b, c, d, a, M[9], 3951481745, 21), this._a = this._a + a | 0, this._b = this._b + b | 0, this._c = this._c + c | 0, this._d = this._d + d | 0;\n }, MD5.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.allocUnsafe(16);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fnF(a, b, c, d, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + b | 0;\n }\n function fnG(a, b, c, d, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + b | 0;\n }\n function fnH(a, b, c, d, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + b | 0;\n }\n function fnI(a, b, c, d, m, k, s) {\n return rotl(a + (c ^ (b | ~d)) + m + k | 0, s) + b | 0;\n }\n module.exports = MD5;\n }\n}), require_ripemd160 = __commonJS({\n \"node_modules/ripemd160/index.js\"(exports, module) {\n var Buffer2 = Buffer, inherits = require_inherits_browser(), HashBase = require_hash_base(), ARRAY16 = new @Array(16), zl = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], zr = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], sl = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sr = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ], hl = [0, 1518500249, 1859775393, 2400959708, 2840853838], hr = [1352829926, 1548603684, 1836072691, 2053994217, 0];\n function RIPEMD160() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520;\n }\n inherits(RIPEMD160, HashBase), RIPEMD160.prototype._update = function() {\n for (var words = ARRAY16, j = 0;j < 16; ++j)\n words[j] = this._block.readInt32LE(j * 4);\n for (var al = this._a | 0, bl = this._b | 0, cl = this._c | 0, dl = this._d | 0, el = this._e | 0, ar = this._a | 0, br = this._b | 0, cr = this._c | 0, dr = this._d | 0, er = this._e | 0, i = 0;i < 80; i += 1) {\n var tl, tr;\n i < 16 \? (tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i]), tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])) : i < 32 \? (tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i]), tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])) : i < 48 \? (tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i]), tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])) : i < 64 \? (tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i]), tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])) : (tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i]), tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])), al = el, el = dl, dl = rotl(cl, 10), cl = bl, bl = tl, ar = er, er = dr, dr = rotl(cr, 10), cr = br, br = tr;\n }\n var t = this._b + cl + dr | 0;\n this._b = this._c + dl + er | 0, this._c = this._d + el + ar | 0, this._d = this._e + al + br | 0, this._e = this._a + bl + cr | 0, this._a = t;\n }, RIPEMD160.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.alloc \? Buffer2.alloc(20) : new Buffer2(20);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer.writeInt32LE(this._e, 16), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fn1(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + e | 0;\n }\n function fn2(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + e | 0;\n }\n function fn3(a, b, c, d, e, m, k, s) {\n return rotl(a + ((b | ~c) ^ d) + m + k | 0, s) + e | 0;\n }\n function fn4(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + e | 0;\n }\n function fn5(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ (c | ~d)) + m + k | 0, s) + e | 0;\n }\n module.exports = RIPEMD160;\n }\n}), require_hash = __commonJS({\n \"node_modules/sha.js/hash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function Hash(blockSize, finalSize) {\n this._block = Buffer2.alloc(blockSize), this._finalSize = finalSize, this._blockSize = blockSize, this._len = 0;\n }\n Hash.prototype = {}, Hash.prototype.update = function(data, enc) {\n typeof data == \"string\" && (enc = enc || \"utf8\", data = Buffer2.from(data, enc));\n for (var block = this._block, blockSize = this._blockSize, length = data.length, accum = this._len, offset = 0;offset < length; ) {\n for (var assigned = accum % blockSize, remainder = Math.min(length - offset, blockSize - assigned), i = 0;i < remainder; i++)\n block[assigned + i] = data[offset + i];\n accum += remainder, offset += remainder, accum % blockSize === 0 && this._update(block);\n }\n return this._len += length, this;\n }, Hash.prototype.digest = function(enc) {\n var rem = this._len % this._blockSize;\n this._block[rem] = 128, this._block.fill(0, rem + 1), rem >= this._finalSize && (this._update(this._block), this._block.fill(0));\n var bits = this._len * 8;\n if (bits <= 4294967295)\n this._block.writeUInt32BE(bits, this._blockSize - 4);\n else {\n var lowBits = (bits & 4294967295) >>> 0, highBits = (bits - lowBits) / 4294967296;\n this._block.writeUInt32BE(highBits, this._blockSize - 8), this._block.writeUInt32BE(lowBits, this._blockSize - 4);\n }\n this._update(this._block);\n var hash = this._hash();\n return enc \? hash.toString(enc) : hash;\n }, Hash.prototype._update = function() {\n throw new Error(\"_update must be implemented by subclass\");\n }, module.exports = Hash;\n }\n}), require_sha = __commonJS({\n \"node_modules/sha.js/sha.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha, Hash), Sha.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16];\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha;\n }\n}), require_sha1 = __commonJS({\n \"node_modules/sha.js/sha1.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha1() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha1, Hash), Sha1.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl1(num) {\n return num << 1 | num >>> 31;\n }\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha1.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = rotl1(W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16]);\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha1.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha1;\n }\n}), require_sha256 = __commonJS({\n \"node_modules/sha.js/sha256.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ], W = new @Array(64);\n function Sha256() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha256, Hash), Sha256.prototype.init = function() {\n return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this;\n };\n function ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10);\n }\n function sigma1(x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7);\n }\n function gamma0(x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3;\n }\n function gamma1(x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10;\n }\n Sha256.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, f = this._f | 0, g = this._g | 0, h = this._h | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 64; ++i)\n W2[i] = gamma1(W2[i - 2]) + W2[i - 7] + gamma0(W2[i - 15]) + W2[i - 16] | 0;\n for (var j = 0;j < 64; ++j) {\n var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W2[j] | 0, T2 = sigma0(a) + maj(a, b, c) | 0;\n h = g, g = f, f = e, e = d + T1 | 0, d = c, c = b, b = a, a = T1 + T2 | 0;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0, this._f = f + this._f | 0, this._g = g + this._g | 0, this._h = h + this._h | 0;\n }, Sha256.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(32);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H.writeInt32BE(this._h, 28), H;\n }, module.exports = Sha256;\n }\n}), require_sha224 = __commonJS({\n \"node_modules/sha.js/sha224.js\"(exports, module) {\n var inherits = require_inherits_browser(), Sha256 = require_sha256(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(64);\n function Sha224() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha224, Sha256), Sha224.prototype.init = function() {\n return this._a = 3238371032, this._b = 914150663, this._c = 812702999, this._d = 4144912697, this._e = 4290775857, this._f = 1750603025, this._g = 1694076839, this._h = 3204075428, this;\n }, Sha224.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(28);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H;\n }, module.exports = Sha224;\n }\n}), require_sha512 = __commonJS({\n \"node_modules/sha.js/sha512.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ], W = new @Array(160);\n function Sha512() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha512, Hash), Sha512.prototype.init = function() {\n return this._ah = 1779033703, this._bh = 3144134277, this._ch = 1013904242, this._dh = 2773480762, this._eh = 1359893119, this._fh = 2600822924, this._gh = 528734635, this._hh = 1541459225, this._al = 4089235720, this._bl = 2227873595, this._cl = 4271175723, this._dl = 1595750129, this._el = 2917565137, this._fl = 725511199, this._gl = 4215389547, this._hl = 327033209, this;\n };\n function Ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25);\n }\n function sigma1(x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23);\n }\n function Gamma0(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7;\n }\n function Gamma0l(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25);\n }\n function Gamma1(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6;\n }\n function Gamma1l(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26);\n }\n function getCarry(a, b) {\n return a >>> 0 < b >>> 0 \? 1 : 0;\n }\n Sha512.prototype._update = function(M) {\n for (var W2 = this._w, ah = this._ah | 0, bh = this._bh | 0, ch = this._ch | 0, dh = this._dh | 0, eh = this._eh | 0, fh = this._fh | 0, gh = this._gh | 0, hh = this._hh | 0, al = this._al | 0, bl = this._bl | 0, cl = this._cl | 0, dl = this._dl | 0, el = this._el | 0, fl = this._fl | 0, gl = this._gl | 0, hl = this._hl | 0, i = 0;i < 32; i += 2)\n W2[i] = M.readInt32BE(i * 4), W2[i + 1] = M.readInt32BE(i * 4 + 4);\n for (;i < 160; i += 2) {\n var xh = W2[i - 30], xl = W2[i - 30 + 1], gamma0 = Gamma0(xh, xl), gamma0l = Gamma0l(xl, xh);\n xh = W2[i - 4], xl = W2[i - 4 + 1];\n var gamma1 = Gamma1(xh, xl), gamma1l = Gamma1l(xl, xh), Wi7h = W2[i - 14], Wi7l = W2[i - 14 + 1], Wi16h = W2[i - 32], Wi16l = W2[i - 32 + 1], Wil = gamma0l + Wi7l | 0, Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0;\n Wil = Wil + gamma1l | 0, Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0, Wil = Wil + Wi16l | 0, Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0, W2[i] = Wih, W2[i + 1] = Wil;\n }\n for (var j = 0;j < 160; j += 2) {\n Wih = W2[j], Wil = W2[j + 1];\n var majh = maj(ah, bh, ch), majl = maj(al, bl, cl), sigma0h = sigma0(ah, al), sigma0l = sigma0(al, ah), sigma1h = sigma1(eh, el), sigma1l = sigma1(el, eh), Kih = K[j], Kil = K[j + 1], chh = Ch(eh, fh, gh), chl = Ch(el, fl, gl), t1l = hl + sigma1l | 0, t1h = hh + sigma1h + getCarry(t1l, hl) | 0;\n t1l = t1l + chl | 0, t1h = t1h + chh + getCarry(t1l, chl) | 0, t1l = t1l + Kil | 0, t1h = t1h + Kih + getCarry(t1l, Kil) | 0, t1l = t1l + Wil | 0, t1h = t1h + Wih + getCarry(t1l, Wil) | 0;\n var t2l = sigma0l + majl | 0, t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0;\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, el = dl + t1l | 0, eh = dh + t1h + getCarry(el, dl) | 0, dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, al = t1l + t2l | 0, ah = t1h + t2h + getCarry(al, t1l) | 0;\n }\n this._al = this._al + al | 0, this._bl = this._bl + bl | 0, this._cl = this._cl + cl | 0, this._dl = this._dl + dl | 0, this._el = this._el + el | 0, this._fl = this._fl + fl | 0, this._gl = this._gl + gl | 0, this._hl = this._hl + hl | 0, this._ah = this._ah + ah + getCarry(this._al, al) | 0, this._bh = this._bh + bh + getCarry(this._bl, bl) | 0, this._ch = this._ch + ch + getCarry(this._cl, cl) | 0, this._dh = this._dh + dh + getCarry(this._dl, dl) | 0, this._eh = this._eh + eh + getCarry(this._el, el) | 0, this._fh = this._fh + fh + getCarry(this._fl, fl) | 0, this._gh = this._gh + gh + getCarry(this._gl, gl) | 0, this._hh = this._hh + hh + getCarry(this._hl, hl) | 0;\n }, Sha512.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(64);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), writeInt64BE(this._gh, this._gl, 48), writeInt64BE(this._hh, this._hl, 56), H;\n }, module.exports = Sha512;\n }\n}), require_sha384 = __commonJS({\n \"node_modules/sha.js/sha384.js\"(exports, module) {\n var inherits = require_inherits_browser(), SHA512 = require_sha512(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(160);\n function Sha384() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha384, SHA512), Sha384.prototype.init = function() {\n return this._ah = 3418070365, this._bh = 1654270250, this._ch = 2438529370, this._dh = 355462360, this._eh = 1731405415, this._fh = 2394180231, this._gh = 3675008525, this._hh = 1203062813, this._al = 3238371032, this._bl = 914150663, this._cl = 812702999, this._dl = 4144912697, this._el = 4290775857, this._fl = 1750603025, this._gl = 1694076839, this._hl = 3204075428, this;\n }, Sha384.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(48);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), H;\n }, module.exports = Sha384;\n }\n}), require_sha2 = __commonJS({\n \"node_modules/sha.js/index.js\"(exports, module) {\n var exports = module.exports = function(algorithm) {\n algorithm = algorithm.toLowerCase();\n var Algorithm = exports[algorithm];\n if (!Algorithm)\n throw new Error(algorithm + \" is not supported (we accept pull requests)\");\n return new Algorithm;\n };\n exports.sha = require_sha(), exports.sha1 = require_sha1(), exports.sha224 = require_sha224(), exports.sha256 = require_sha256(), exports.sha384 = require_sha384(), exports.sha512 = require_sha512();\n }\n}), require_cipher_base = __commonJS({\n \"node_modules/cipher-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function CipherBase(hashMode) {\n StreamModule.Transform.@call(this), this.hashMode = typeof hashMode == \"string\", this.hashMode \? this[hashMode] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null, this._finalized = !1;\n }\n inherits(CipherBase, StreamModule.Transform), CipherBase.prototype.update = function(data, inputEnc, outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n typeof data == \"string\" && (data = Buffer2.from(data, inputEnc));\n var outData = this._update(data);\n return this.hashMode \? this : (outputEnc && (outData = this._toString(outData, outputEnc)), outData);\n }, CipherBase.prototype.setAutoPadding = function() {\n }, CipherBase.prototype.getAuthTag = function() {\n throw new Error(\"trying to get auth tag in unsupported state\");\n }, CipherBase.prototype.setAuthTag = function() {\n throw new Error(\"trying to set auth tag in unsupported state\");\n }, CipherBase.prototype.setAAD = function() {\n throw new Error(\"trying to set aad in unsupported state\");\n }, CipherBase.prototype._transform = function(data, _, next) {\n var err;\n try {\n this.hashMode \? this._update(data) : this.push(this._update(data));\n } catch (e) {\n err = e;\n } finally {\n next(err);\n }\n }, CipherBase.prototype._flush = function(done) {\n var err;\n try {\n this.push(this.__final());\n } catch (e) {\n err = e;\n }\n done(err);\n }, CipherBase.prototype._finalOrDigest = function(outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n if (this._finalized) {\n if (!this._encoding)\n return Buffer2.alloc(0);\n return \"\";\n }\n this._finalized = !0;\n var outData = this.__final() || Buffer2.alloc(0);\n return outputEnc && (outData = this._toString(outData, outputEnc, !0)), outData;\n }, CipherBase.prototype._toString = function(value, enc, fin) {\n if (this._decoder || (this._decoder = new StringDecoder(enc), this._encoding = enc), this._encoding !== enc)\n throw new Error(\"can't switch encodings\");\n var out = this._decoder.write(value);\n return fin && (out += this._decoder.end()), out;\n }, module.exports = CipherBase;\n }\n}), require_browser2 = __commonJS({\n \"node_modules/create-hash/browser.js\"(exports, module) {\n const LazyHash = function Hash(algorithm, options) {\n this._options = options, this._hasher = new CryptoHasher(algorithm, options), this._finalized = !1;\n };\n LazyHash.prototype = Object.create(StreamModule.Transform.prototype), LazyHash.prototype.update = function update(data, encoding) {\n return this._checkFinalized(), this._hasher.update(data, encoding), this;\n }, LazyHash.prototype.digest = function update(data, encoding) {\n return this._checkFinalized(), this._finalized = !0, this._hasher.digest(data, encoding);\n }, LazyHash.prototype._checkFinalized = function _checkFinalized() {\n if (this._finalized) {\n var err = new Error(\"Digest already called\");\n throw err.code = \"ERR_CRYPTO_HASH_FINALIZED\", err;\n }\n }, LazyHash.prototype.copy = function copy() {\n const copy = Object.create(LazyHash.prototype);\n return copy._options = this._options, copy._hasher = this._hasher.copy(), copy._finalized = this._finalized, copy;\n };\n const lazyHashFullInitProto = {\n __proto__: StreamModule.Transform.prototype,\n ...LazyHash.prototype,\n _transform(data, encoding, callback) {\n this.update(data, encoding), callback && callback();\n },\n _flush(callback) {\n this.push(this.digest()), callback();\n }\n }, triggerMethods = [\n \"_events\",\n \"_eventsCount\",\n \"_final\",\n \"_maxListeners\",\n \"_maxListeners\",\n \"_read\",\n \"_undestroy\",\n \"_writableState\",\n \"_write\",\n \"_writev\",\n \"addListener\",\n \"asIndexedPairs\",\n \"closed\",\n \"compose\",\n \"constructor\",\n \"cork\",\n \"destroy\",\n \"destroyed\",\n \"drop\",\n \"emit\",\n \"end\",\n \"errored\",\n \"eventNames\",\n \"every\",\n \"filter\",\n \"find\",\n \"flatMap\",\n \"forEach\",\n \"getMaxListeners\",\n \"hasOwnProperty\",\n \"isPaused\",\n \"isPrototypeOf\",\n \"iterator\",\n \"listenerCount\",\n \"listeners\",\n \"map\",\n \"off\",\n \"on\",\n \"once\",\n \"pause\",\n \"pipe\",\n \"prependListener\",\n \"prependOnceListener\",\n \"propertyIsEnumerable\",\n \"push\",\n \"rawListeners\",\n \"read\",\n \"readable\",\n \"readableAborted\",\n \"readableBuffer\",\n \"readableDidRead\",\n \"readableEncoding\",\n \"readableEnded\",\n \"readableFlowing\",\n \"readableHighWaterMark\",\n \"readableLength\",\n \"readableObjectMode\",\n \"reduce\",\n \"removeAllListeners\",\n \"removeListener\",\n \"resume\",\n \"setDefaultEncoding\",\n \"setEncoding\",\n \"setMaxListeners\",\n \"some\",\n \"take\",\n \"toArray\",\n \"toLocaleString\",\n \"toString\",\n \"uncork\",\n \"unpipe\",\n \"unshift\",\n \"valueOf\",\n \"wrap\",\n \"writable\",\n \"writableBuffer\",\n \"writableCorked\",\n \"writableEnded\",\n \"writableFinished\",\n \"writableHighWaterMark\",\n \"writableLength\",\n \"writableNeedDrain\",\n \"writableObjectMode\",\n \"write\"\n ];\n for (let method of triggerMethods)\n Object.defineProperty(LazyHash.prototype, method, {\n get() {\n return Object.setPrototypeOf(this, lazyHashFullInitProto), StreamModule.Transform.@call(this, this._options), this[method];\n },\n enumerable: !1,\n configurable: !0\n });\n module.exports = function createHash(algorithm) {\n return new LazyHash(algorithm);\n }, module.exports.createHash = module.exports, module.exports.Hash = LazyHash;\n }\n}), require_legacy = __commonJS({\n \"node_modules/create-hmac/legacy.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, Base = require_cipher_base(), ZEROS = Buffer2.alloc(128), blocksize = 64;\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2)), this._alg = alg, this._key = key2, key2.length > blocksize \? key2 = alg(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = [ipad];\n }\n Hmac.prototype = {}, inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.push(data);\n }, Hmac.prototype._final = function() {\n var h = this._alg(Buffer2.concat(this._hash));\n return this._alg(Buffer2.concat([this._opad, h]));\n }, module.exports = Hmac;\n }\n}), require_md52 = __commonJS({\n \"node_modules/create-hash/md5.js\"(exports, module) {\n var MD5 = require_md5();\n module.exports = function(buffer) {\n return new MD5().update(buffer).digest();\n };\n }\n}), require_browser3 = __commonJS({\n \"node_modules/create-hmac/browser.js\"(exports, module) {\n var inherits = require_inherits_browser(), Legacy = require_legacy(), Base = require_cipher_base(), Buffer2 = require_safe_buffer().Buffer, md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), ZEROS = Buffer2.alloc(128);\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2));\n var blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n if (this._alg = alg, this._key = key2, key2.length > blocksize) {\n var hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg);\n key2 = hash.update(key2).digest();\n } else\n key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg), this._hash.update(ipad);\n }\n inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.update(data);\n }, Hmac.prototype._final = function() {\n var h = this._hash.digest(), hash = this._alg === \"rmd160\" \? new RIPEMD160 : sha(this._alg);\n return hash.update(this._opad).update(h).digest();\n }, module.exports = function(alg, key2) {\n return key2 = exportIfKeyObject(key2), alg = alg.toLowerCase(), alg === \"rmd160\" || alg === \"ripemd160\" \? new Hmac(\"rmd160\", key2) : alg === \"md5\" \? new Legacy(md5, key2) : new Hmac(alg, key2);\n };\n }\n}), require_algorithms = __commonJS({\n \"node_modules/browserify-sign/browser/algorithms.json\"(exports, module) {\n module.exports = {\n sha224WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n \"RSA-SHA224\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n sha256WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n \"RSA-SHA256\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n sha384WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n \"RSA-SHA384\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n sha512WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA512\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA1\": {\n sign: \"rsa\",\n hash: \"sha1\",\n id: \"3021300906052b0e03021a05000414\"\n },\n \"ecdsa-with-SHA1\": {\n sign: \"ecdsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha1: {\n sign: \"ecdsa/rsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha256: {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"\"\n },\n sha224: {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"\"\n },\n sha384: {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"\"\n },\n sha512: {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-SHA1\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n DSA: {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-WITH-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-WITH-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-WITH-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-WITH-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-RIPEMD160\": {\n sign: \"dsa\",\n hash: \"rmd160\",\n id: \"\"\n },\n ripemd160WithRSA: {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n \"RSA-RIPEMD160\": {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n md5WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n },\n \"RSA-MD5\": {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n }\n };\n }\n}), require_algos = __commonJS({\n \"node_modules/browserify-sign/algos.js\"(exports, module) {\n module.exports = require_algorithms();\n }\n}), require_precondition = __commonJS({\n \"node_modules/pbkdf2/lib/precondition.js\"(exports, module) {\n var MAX_ALLOC = Math.pow(2, 30) - 1;\n module.exports = function(iterations, keylen) {\n if (typeof iterations != \"number\")\n @throwTypeError(\"Iterations not a number\");\n if (iterations < 0)\n @throwTypeError(\"Bad iterations\");\n if (typeof keylen != \"number\")\n @throwTypeError(\"Key length not a number\");\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen)\n @throwTypeError(\"Bad key length\");\n };\n }\n}), require_default_encoding = __commonJS({\n \"node_modules/pbkdf2/lib/default-encoding.js\"(exports, module) {\n var defaultEncoding;\n global.process && global.process.browser \? defaultEncoding = \"utf-8\" : global.process && global.process.version \? (pVersionMajor = parseInt(process.version.split(\".\")[0].slice(1), 10), defaultEncoding = pVersionMajor >= 6 \? \"utf-8\" : \"binary\") : defaultEncoding = \"utf-8\";\n var pVersionMajor;\n module.exports = defaultEncoding;\n }\n}), require_to_buffer = __commonJS({\n \"node_modules/pbkdf2/lib/to-buffer.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(thing, encoding, name) {\n if (Buffer2.isBuffer(thing))\n return thing;\n if (typeof thing == \"string\")\n return Buffer2.from(thing, encoding);\n if (@ArrayBuffer.isView(thing))\n return Buffer2.from(thing.buffer);\n @throwTypeError(name + \" must be a string, a Buffer, a typed array or a DataView\");\n };\n }\n}), require_sync_browser = __commonJS({\n \"node_modules/pbkdf2/lib/sync-browser.js\"(exports, module) {\n var md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), toBuffer = require_to_buffer(), ZEROS = Buffer2.alloc(128), sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n };\n function Hmac(alg, key2, saltLen) {\n key2 = exportIfKeyObject(key2);\n var hash = getDigest(alg), blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n key2.length > blocksize \? key2 = hash(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = Buffer2.allocUnsafe(blocksize + sizes[alg]), opad = Buffer2.allocUnsafe(blocksize + sizes[alg]), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n var ipad1 = Buffer2.allocUnsafe(blocksize + saltLen + 4);\n ipad.copy(ipad1, 0, 0, blocksize), this.ipad1 = ipad1, this.ipad2 = ipad, this.opad = opad, this.alg = alg, this.blocksize = blocksize, this.hash = hash, this.size = sizes[alg];\n }\n Hmac.prototype = {}, Hmac.prototype.run = function(data, ipad) {\n data.copy(ipad, this.blocksize);\n var h = this.hash(ipad);\n return h.copy(this.opad, this.blocksize), this.hash(this.opad);\n };\n function getDigest(alg) {\n function shaFunc(data) {\n return sha(alg).update(data).digest();\n }\n function rmd160Func(data) {\n return new RIPEMD160().update(data).digest();\n }\n return alg === \"rmd160\" || alg === \"ripemd160\" \? rmd160Func : alg === \"md5\" \? md5 : shaFunc;\n }\n function pbkdf2(password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), digest = digest || \"sha1\";\n var hmac = new Hmac(digest, password, salt.length), DK = Buffer2.allocUnsafe(keylen), block1 = Buffer2.allocUnsafe(salt.length + 4);\n salt.copy(block1, 0, 0, salt.length);\n for (var destPos = 0, hLen = sizes[digest], l = Math.ceil(keylen / hLen), i = 1;i <= l; i++) {\n block1.writeUInt32BE(i, salt.length);\n for (var T = hmac.run(block1, hmac.ipad1), U = T, j = 1;j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2);\n for (var k = 0;k < hLen; k++)\n T[k] ^= U[k];\n }\n T.copy(DK, destPos), destPos += hLen;\n }\n return DK;\n }\n module.exports = pbkdf2;\n }\n}), require_async = __commonJS({\n \"node_modules/pbkdf2/lib/async.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), sync = require_sync_browser(), toBuffer = require_to_buffer(), ZERO_BUF, subtle = globalCrypto.subtle, toBrowser = {\n sha: \"SHA-1\",\n \"sha-1\": \"SHA-1\",\n sha1: \"SHA-1\",\n sha256: \"SHA-256\",\n \"sha-256\": \"SHA-256\",\n sha384: \"SHA-384\",\n \"sha-384\": \"SHA-384\",\n \"sha-512\": \"SHA-512\",\n sha512: \"SHA-512\"\n }, checks = [];\n function checkNative(algo) {\n if (global.process && !global.process.browser || !subtle || !subtle.importKey || !subtle.deriveBits)\n return @Promise.resolve(!1);\n if (checks[algo] !== void 0)\n return checks[algo];\n ZERO_BUF = ZERO_BUF || Buffer2.alloc(8);\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo).then(function() {\n return !0;\n }).catch(function() {\n return !1;\n });\n return checks[algo] = prom, prom;\n }\n var nextTick;\n function getNextTick() {\n return nextTick || (global.process && global.process.nextTick \? nextTick = global.process.nextTick : global.queueMicrotask \? nextTick = global.queueMicrotask : global.setImmediate \? nextTick = global.setImmediate : nextTick = global.setTimeout, nextTick);\n }\n function browserPbkdf2(password, salt, iterations, length, algo) {\n return subtle.importKey(\"raw\", password, { name: \"PBKDF2\" }, !1, [\"deriveBits\"]).then(function(key2) {\n return subtle.deriveBits({\n name: \"PBKDF2\",\n salt,\n iterations,\n hash: {\n name: algo\n }\n }, key2, length << 3);\n }).then(function(res) {\n return Buffer2.from(res);\n });\n }\n function resolvePromise(promise, callback) {\n promise.then(function(out) {\n getNextTick()(function() {\n callback(null, out);\n });\n }, function(e) {\n getNextTick()(function() {\n callback(e);\n });\n });\n }\n module.exports = function(password, salt, iterations, keylen, digest, callback) {\n typeof digest == \"function\" && (callback = digest, digest = void 0), digest = digest || \"sha1\";\n var algo = toBrowser[digest.toLowerCase()];\n if (!algo || typeof global.Promise != \"function\") {\n getNextTick()(function() {\n var out;\n try {\n out = sync(password, salt, iterations, keylen, digest);\n } catch (e) {\n return callback(e);\n }\n callback(null, out);\n });\n return;\n }\n if (checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), typeof callback != \"function\")\n throw new Error(\"No callback provided to pbkdf2\");\n resolvePromise(checkNative(algo).then(function(resp) {\n return resp \? browserPbkdf2(password, salt, iterations, keylen, algo) : sync(password, salt, iterations, keylen, digest);\n }), callback);\n };\n }\n}), require_browser4 = __commonJS({\n \"node_modules/pbkdf2/browser.js\"(exports) {\n exports.pbkdf2 = require_async(), exports.pbkdf2Sync = require_sync_browser();\n }\n}), require_utils = __commonJS({\n \"node_modules/des.js/lib/des/utils.js\"(exports) {\n exports.readUInt32BE = function(bytes, off) {\n var res = bytes[0 + off] << 24 | bytes[1 + off] << 16 | bytes[2 + off] << 8 | bytes[3 + off];\n return res >>> 0;\n }, exports.writeUInt32BE = function(bytes, value, off) {\n bytes[0 + off] = value >>> 24, bytes[1 + off] = value >>> 16 & 255, bytes[2 + off] = value >>> 8 & 255, bytes[3 + off] = value & 255;\n }, exports.ip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 6;i >= 0; i -= 2) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >>> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >>> j + i & 1;\n }\n for (var i = 6;i >= 0; i -= 2) {\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inR >>> j + i & 1;\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inL >>> j + i & 1;\n }\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.rip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 0;i < 4; i++)\n for (var j = 24;j >= 0; j -= 8)\n outL <<= 1, outL |= inR >>> j + i & 1, outL <<= 1, outL |= inL >>> j + i & 1;\n for (var i = 4;i < 8; i++)\n for (var j = 24;j >= 0; j -= 8)\n outR <<= 1, outR |= inR >>> j + i & 1, outR <<= 1, outR |= inL >>> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.pc1 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 7;i >= 5; i--) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var i = 1;i <= 3; i++) {\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.r28shl = function(num, shift) {\n return num << shift & 268435455 | num >>> 28 - shift;\n };\n var pc2table = [\n 14,\n 11,\n 17,\n 4,\n 27,\n 23,\n 25,\n 0,\n 13,\n 22,\n 7,\n 18,\n 5,\n 9,\n 16,\n 24,\n 2,\n 20,\n 12,\n 21,\n 1,\n 8,\n 15,\n 26,\n 15,\n 4,\n 25,\n 19,\n 9,\n 1,\n 26,\n 16,\n 5,\n 11,\n 23,\n 8,\n 12,\n 7,\n 17,\n 0,\n 22,\n 3,\n 10,\n 14,\n 6,\n 20,\n 27,\n 24\n ];\n exports.pc2 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, len = pc2table.length >>> 1, i = 0;i < len; i++)\n outL <<= 1, outL |= inL >>> pc2table[i] & 1;\n for (var i = len;i < pc2table.length; i++)\n outR <<= 1, outR |= inR >>> pc2table[i] & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.expand = function(r, out, off) {\n var outL = 0, outR = 0;\n outL = (r & 1) << 5 | r >>> 27;\n for (var i = 23;i >= 15; i -= 4)\n outL <<= 6, outL |= r >>> i & 63;\n for (var i = 11;i >= 3; i -= 4)\n outR |= r >>> i & 63, outR <<= 6;\n outR |= (r & 31) << 1 | r >>> 31, out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n };\n var sTable = [\n 14,\n 0,\n 4,\n 15,\n 13,\n 7,\n 1,\n 4,\n 2,\n 14,\n 15,\n 2,\n 11,\n 13,\n 8,\n 1,\n 3,\n 10,\n 10,\n 6,\n 6,\n 12,\n 12,\n 11,\n 5,\n 9,\n 9,\n 5,\n 0,\n 3,\n 7,\n 8,\n 4,\n 15,\n 1,\n 12,\n 14,\n 8,\n 8,\n 2,\n 13,\n 4,\n 6,\n 9,\n 2,\n 1,\n 11,\n 7,\n 15,\n 5,\n 12,\n 11,\n 9,\n 3,\n 7,\n 14,\n 3,\n 10,\n 10,\n 0,\n 5,\n 6,\n 0,\n 13,\n 15,\n 3,\n 1,\n 13,\n 8,\n 4,\n 14,\n 7,\n 6,\n 15,\n 11,\n 2,\n 3,\n 8,\n 4,\n 14,\n 9,\n 12,\n 7,\n 0,\n 2,\n 1,\n 13,\n 10,\n 12,\n 6,\n 0,\n 9,\n 5,\n 11,\n 10,\n 5,\n 0,\n 13,\n 14,\n 8,\n 7,\n 10,\n 11,\n 1,\n 10,\n 3,\n 4,\n 15,\n 13,\n 4,\n 1,\n 2,\n 5,\n 11,\n 8,\n 6,\n 12,\n 7,\n 6,\n 12,\n 9,\n 0,\n 3,\n 5,\n 2,\n 14,\n 15,\n 9,\n 10,\n 13,\n 0,\n 7,\n 9,\n 0,\n 14,\n 9,\n 6,\n 3,\n 3,\n 4,\n 15,\n 6,\n 5,\n 10,\n 1,\n 2,\n 13,\n 8,\n 12,\n 5,\n 7,\n 14,\n 11,\n 12,\n 4,\n 11,\n 2,\n 15,\n 8,\n 1,\n 13,\n 1,\n 6,\n 10,\n 4,\n 13,\n 9,\n 0,\n 8,\n 6,\n 15,\n 9,\n 3,\n 8,\n 0,\n 7,\n 11,\n 4,\n 1,\n 15,\n 2,\n 14,\n 12,\n 3,\n 5,\n 11,\n 10,\n 5,\n 14,\n 2,\n 7,\n 12,\n 7,\n 13,\n 13,\n 8,\n 14,\n 11,\n 3,\n 5,\n 0,\n 6,\n 6,\n 15,\n 9,\n 0,\n 10,\n 3,\n 1,\n 4,\n 2,\n 7,\n 8,\n 2,\n 5,\n 12,\n 11,\n 1,\n 12,\n 10,\n 4,\n 14,\n 15,\n 9,\n 10,\n 3,\n 6,\n 15,\n 9,\n 0,\n 0,\n 6,\n 12,\n 10,\n 11,\n 1,\n 7,\n 13,\n 13,\n 8,\n 15,\n 9,\n 1,\n 4,\n 3,\n 5,\n 14,\n 11,\n 5,\n 12,\n 2,\n 7,\n 8,\n 2,\n 4,\n 14,\n 2,\n 14,\n 12,\n 11,\n 4,\n 2,\n 1,\n 12,\n 7,\n 4,\n 10,\n 7,\n 11,\n 13,\n 6,\n 1,\n 8,\n 5,\n 5,\n 0,\n 3,\n 15,\n 15,\n 10,\n 13,\n 3,\n 0,\n 9,\n 14,\n 8,\n 9,\n 6,\n 4,\n 11,\n 2,\n 8,\n 1,\n 12,\n 11,\n 7,\n 10,\n 1,\n 13,\n 14,\n 7,\n 2,\n 8,\n 13,\n 15,\n 6,\n 9,\n 15,\n 12,\n 0,\n 5,\n 9,\n 6,\n 10,\n 3,\n 4,\n 0,\n 5,\n 14,\n 3,\n 12,\n 10,\n 1,\n 15,\n 10,\n 4,\n 15,\n 2,\n 9,\n 7,\n 2,\n 12,\n 6,\n 9,\n 8,\n 5,\n 0,\n 6,\n 13,\n 1,\n 3,\n 13,\n 4,\n 14,\n 14,\n 0,\n 7,\n 11,\n 5,\n 3,\n 11,\n 8,\n 9,\n 4,\n 14,\n 3,\n 15,\n 2,\n 5,\n 12,\n 2,\n 9,\n 8,\n 5,\n 12,\n 15,\n 3,\n 10,\n 7,\n 11,\n 0,\n 14,\n 4,\n 1,\n 10,\n 7,\n 1,\n 6,\n 13,\n 0,\n 11,\n 8,\n 6,\n 13,\n 4,\n 13,\n 11,\n 0,\n 2,\n 11,\n 14,\n 7,\n 15,\n 4,\n 0,\n 9,\n 8,\n 1,\n 13,\n 10,\n 3,\n 14,\n 12,\n 3,\n 9,\n 5,\n 7,\n 12,\n 5,\n 2,\n 10,\n 15,\n 6,\n 8,\n 1,\n 6,\n 1,\n 6,\n 4,\n 11,\n 11,\n 13,\n 13,\n 8,\n 12,\n 1,\n 3,\n 4,\n 7,\n 10,\n 14,\n 7,\n 10,\n 9,\n 15,\n 5,\n 6,\n 0,\n 8,\n 15,\n 0,\n 14,\n 5,\n 2,\n 9,\n 3,\n 2,\n 12,\n 13,\n 1,\n 2,\n 15,\n 8,\n 13,\n 4,\n 8,\n 6,\n 10,\n 15,\n 3,\n 11,\n 7,\n 1,\n 4,\n 10,\n 12,\n 9,\n 5,\n 3,\n 6,\n 14,\n 11,\n 5,\n 0,\n 0,\n 14,\n 12,\n 9,\n 7,\n 2,\n 7,\n 2,\n 11,\n 1,\n 4,\n 14,\n 1,\n 7,\n 9,\n 4,\n 12,\n 10,\n 14,\n 8,\n 2,\n 13,\n 0,\n 15,\n 6,\n 12,\n 10,\n 9,\n 13,\n 0,\n 15,\n 3,\n 3,\n 5,\n 5,\n 6,\n 8,\n 11\n ];\n exports.substitute = function(inL, inR) {\n for (var out = 0, i = 0;i < 4; i++) {\n var b = inL >>> 18 - i * 6 & 63, sb = sTable[i * 64 + b];\n out <<= 4, out |= sb;\n }\n for (var i = 0;i < 4; i++) {\n var b = inR >>> 18 - i * 6 & 63, sb = sTable[256 + i * 64 + b];\n out <<= 4, out |= sb;\n }\n return out >>> 0;\n };\n var permuteTable = [\n 16,\n 25,\n 12,\n 11,\n 3,\n 20,\n 4,\n 15,\n 31,\n 17,\n 9,\n 6,\n 27,\n 14,\n 1,\n 22,\n 30,\n 24,\n 8,\n 18,\n 0,\n 5,\n 29,\n 23,\n 13,\n 19,\n 2,\n 26,\n 10,\n 21,\n 28,\n 7\n ];\n exports.permute = function(num) {\n for (var out = 0, i = 0;i < permuteTable.length; i++)\n out <<= 1, out |= num >>> permuteTable[i] & 1;\n return out >>> 0;\n }, exports.padSplit = function(num, size, group) {\n for (var str = num.toString(2);str.length < size; )\n str = \"0\" + str;\n for (var out = [], i = 0;i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(\" \");\n };\n }\n}), require_minimalistic_assert = __commonJS({\n \"node_modules/minimalistic-assert/index.js\"(exports, module) {\n module.exports = assert;\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n assert.equal = function(l, r, msg) {\n if (l != r)\n throw new Error(msg || \"Assertion failed: \" + l + \" != \" + r);\n };\n }\n}), require_cipher = __commonJS({\n \"node_modules/des.js/lib/des/cipher.js\"(exports, module) {\n var assert = require_minimalistic_assert();\n function Cipher(options) {\n this.options = options, this.type = this.options.type, this.blockSize = 8, this._init(), this.buffer = new @Array(this.blockSize), this.bufferOff = 0;\n }\n Cipher.prototype = {}, module.exports = Cipher, Cipher.prototype._init = function() {\n }, Cipher.prototype.update = function(data) {\n return data.length === 0 \? [] : this.type === \"decrypt\" \? this._updateDecrypt(data) : this._updateEncrypt(data);\n }, Cipher.prototype._buffer = function(data, off) {\n for (var min = Math.min(this.buffer.length - this.bufferOff, data.length - off), i = 0;i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n return this.bufferOff += min, min;\n }, Cipher.prototype._flushBuffer = function(out, off) {\n return this._update(this.buffer, 0, out, off), this.bufferOff = 0, this.blockSize;\n }, Cipher.prototype._updateEncrypt = function(data) {\n var inputOff = 0, outputOff = 0, count = (this.bufferOff + data.length) / this.blockSize | 0, out = new @Array(count * this.blockSize);\n this.bufferOff !== 0 && (inputOff += this._buffer(data, inputOff), this.bufferOff === this.buffer.length && (outputOff += this._flushBuffer(out, outputOff)));\n for (var max = data.length - (data.length - inputOff) % this.blockSize;inputOff < max; inputOff += this.blockSize)\n this._update(data, inputOff, out, outputOff), outputOff += this.blockSize;\n for (;inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n return out;\n }, Cipher.prototype._updateDecrypt = function(data) {\n for (var inputOff = 0, outputOff = 0, count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1, out = new @Array(count * this.blockSize);count > 0; count--)\n inputOff += this._buffer(data, inputOff), outputOff += this._flushBuffer(out, outputOff);\n return inputOff += this._buffer(data, inputOff), out;\n }, Cipher.prototype.final = function(buffer) {\n var first;\n buffer && (first = this.update(buffer));\n var last;\n return this.type === \"encrypt\" \? last = this._finalEncrypt() : last = this._finalDecrypt(), first \? first.concat(last) : last;\n }, Cipher.prototype._pad = function(buffer, off) {\n if (off === 0)\n return !1;\n for (;off < buffer.length; )\n buffer[off++] = 0;\n return !0;\n }, Cipher.prototype._finalEncrypt = function() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n var out = new @Array(this.blockSize);\n return this._update(this.buffer, 0, out, 0), out;\n }, Cipher.prototype._unpad = function(buffer) {\n return buffer;\n }, Cipher.prototype._finalDecrypt = function() {\n assert.equal(this.bufferOff, this.blockSize, \"Not enough data to decrypt\");\n var out = new @Array(this.blockSize);\n return this._flushBuffer(out, 0), this._unpad(out);\n };\n }\n}), require_des = __commonJS({\n \"node_modules/des.js/lib/des/des.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), utils = require_utils(), Cipher = require_cipher();\n function DESState() {\n this.tmp = new @Array(2), this.keys = null;\n }\n function DES(options) {\n Cipher.@call(this, options);\n var state = new DESState;\n this._desState = state, this.deriveKeys(state, options.key);\n }\n inherits(DES, Cipher), module.exports = DES, DES.create = function(options) {\n return new DES(options);\n };\n var shiftTable = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];\n DES.prototype.deriveKeys = function(state, key2) {\n state.keys = new @Array(32), assert.equal(key2.length, this.blockSize, \"Invalid key length\");\n var kL = utils.readUInt32BE(key2, 0), kR = utils.readUInt32BE(key2, 4);\n utils.pc1(kL, kR, state.tmp, 0), kL = state.tmp[0], kR = state.tmp[1];\n for (var i = 0;i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift), kR = utils.r28shl(kR, shift), utils.pc2(kL, kR, state.keys, i);\n }\n }, DES.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._desState, l = utils.readUInt32BE(inp, inOff), r = utils.readUInt32BE(inp, inOff + 4);\n utils.ip(l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], this.type === \"encrypt\" \? this._encrypt(state, l, r, state.tmp, 0) : this._decrypt(state, l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], utils.writeUInt32BE(out, l, outOff), utils.writeUInt32BE(out, r, outOff + 4);\n }, DES.prototype._pad = function(buffer, off) {\n for (var value = buffer.length - off, i = off;i < buffer.length; i++)\n buffer[i] = value;\n return !0;\n }, DES.prototype._unpad = function(buffer) {\n for (var pad = buffer[buffer.length - 1], i = buffer.length - pad;i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n return buffer.slice(0, buffer.length - pad);\n }, DES.prototype._encrypt = function(state, lStart, rStart, out, off) {\n for (var l = lStart, r = rStart, i = 0;i < state.keys.length; i += 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(r, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = r;\n r = (l ^ f) >>> 0, l = t;\n }\n utils.rip(r, l, out, off);\n }, DES.prototype._decrypt = function(state, lStart, rStart, out, off) {\n for (var l = rStart, r = lStart, i = state.keys.length - 2;i >= 0; i -= 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(l, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = l;\n l = (r ^ f) >>> 0, r = t;\n }\n utils.rip(l, r, out, off);\n };\n }\n}), require_cbc = __commonJS({\n \"node_modules/des.js/lib/des/cbc.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), proto = {};\n function CBCState(iv) {\n assert.equal(iv.length, 8, \"Invalid IV length\"), this.iv = new @Array(8);\n for (var i = 0;i < this.iv.length; i++)\n this.iv[i] = iv[i];\n }\n function instantiate(Base) {\n function CBC(options) {\n Base.@call(this, options), this._cbcInit();\n }\n inherits(CBC, Base);\n for (var keys = Object.keys(proto), i = 0;i < keys.length; i++) {\n var key2 = keys[i];\n CBC.prototype[key2] = proto[key2];\n }\n return CBC.create = function(options) {\n return new CBC(options);\n }, CBC;\n }\n exports.instantiate = instantiate, proto._cbcInit = function() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n }, proto._update = function(inp, inOff, out, outOff) {\n var state = this._cbcState, superProto = this.constructor.super_.prototype, iv = state.iv;\n if (this.type === \"encrypt\") {\n for (var i = 0;i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n superProto._update.@call(this, iv, 0, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.@call(this, inp, inOff, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n };\n }\n}), require_ede = __commonJS({\n \"node_modules/des.js/lib/des/ede.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), Cipher = require_cipher(), DES = require_des();\n function EDEState(type, key2) {\n assert.equal(key2.length, 24, \"Invalid key length\");\n var k1 = key2.slice(0, 8), k2 = key2.slice(8, 16), k3 = key2.slice(16, 24);\n type === \"encrypt\" \? this.ciphers = [\n DES.create({ type: \"encrypt\", key: k1 }),\n DES.create({ type: \"decrypt\", key: k2 }),\n DES.create({ type: \"encrypt\", key: k3 })\n ] : this.ciphers = [\n DES.create({ type: \"decrypt\", key: k3 }),\n DES.create({ type: \"encrypt\", key: k2 }),\n DES.create({ type: \"decrypt\", key: k1 })\n ];\n }\n function EDE(options) {\n Cipher.@call(this, options);\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n }\n inherits(EDE, Cipher), module.exports = EDE, EDE.create = function(options) {\n return new EDE(options);\n }, EDE.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._edeState;\n state.ciphers[0]._update(inp, inOff, out, outOff), state.ciphers[1]._update(out, outOff, out, outOff), state.ciphers[2]._update(out, outOff, out, outOff);\n }, EDE.prototype._pad = DES.prototype._pad, EDE.prototype._unpad = DES.prototype._unpad;\n }\n}), require_des2 = __commonJS({\n \"node_modules/des.js/lib/des.js\"(exports) {\n exports.utils = require_utils(), exports.Cipher = require_cipher(), exports.DES = require_des(), exports.CBC = require_cbc(), exports.EDE = require_ede();\n }\n}), require_browserify_des = __commonJS({\n \"node_modules/browserify-des/index.js\"(exports, module) {\n var CipherBase = require_cipher_base(), des = require_des2(), inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, modes = {\n \"des-ede3-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede3\": des.EDE,\n \"des-ede-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede\": des.EDE,\n \"des-cbc\": des.CBC.instantiate(des.DES),\n \"des-ecb\": des.DES\n };\n modes.des = modes[\"des-cbc\"], modes.des3 = modes[\"des-ede3-cbc\"], module.exports = DES, inherits(DES, CipherBase);\n function DES(opts) {\n CipherBase.@call(this);\n var modeName = opts.mode.toLowerCase(), mode = modes[modeName], type;\n opts.decrypt \? type = \"decrypt\" : type = \"encrypt\";\n var key2 = opts.key;\n Buffer2.isBuffer(key2) || (key2 = Buffer2.from(key2)), (modeName === \"des-ede\" || modeName === \"des-ede-cbc\") && (key2 = Buffer2.concat([key2, key2.slice(0, 8)]));\n var iv = opts.iv;\n Buffer2.isBuffer(iv) || (iv = Buffer2.from(iv)), this._des = mode.create({\n key: key2,\n iv,\n type\n });\n }\n DES.prototype._update = function(data) {\n return Buffer2.from(this._des.update(data));\n }, DES.prototype._final = function() {\n return Buffer2.from(this._des.final());\n };\n }\n}), require_ecb = __commonJS({\n \"node_modules/browserify-aes/modes/ecb.js\"(exports) {\n exports.encrypt = function(self2, block) {\n return self2._cipher.encryptBlock(block);\n }, exports.decrypt = function(self2, block) {\n return self2._cipher.decryptBlock(block);\n };\n }\n}), require_buffer_xor = __commonJS({\n \"node_modules/buffer-xor/index.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var length = Math.min(a.length, b.length), buffer = new Buffer(length), i = 0;i < length; ++i)\n buffer[i] = a[i] ^ b[i];\n return buffer;\n };\n }\n}), require_cbc2 = __commonJS({\n \"node_modules/browserify-aes/modes/cbc.js\"(exports) {\n var xor = require_buffer_xor();\n exports.encrypt = function(self2, block) {\n var data = xor(block, self2._prev);\n return self2._prev = self2._cipher.encryptBlock(data), self2._prev;\n }, exports.decrypt = function(self2, block) {\n var pad = self2._prev;\n self2._prev = block;\n var out = self2._cipher.decryptBlock(block);\n return xor(out, pad);\n };\n }\n}), require_cfb = __commonJS({\n \"node_modules/browserify-aes/modes/cfb.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer, xor = require_buffer_xor();\n function encryptStart(self2, data, decrypt) {\n var len = data.length, out = xor(data, self2._cache);\n return self2._cache = self2._cache.slice(len), self2._prev = Buffer2.concat([self2._prev, decrypt \? data : out]), out;\n }\n exports.encrypt = function(self2, data, decrypt) {\n for (var out = Buffer2.allocUnsafe(0), len;data.length; )\n if (self2._cache.length === 0 && (self2._cache = self2._cipher.encryptBlock(self2._prev), self2._prev = Buffer2.allocUnsafe(0)), self2._cache.length <= data.length)\n len = self2._cache.length, out = Buffer2.concat([out, encryptStart(self2, data.slice(0, len), decrypt)]), data = data.slice(len);\n else {\n out = Buffer2.concat([out, encryptStart(self2, data, decrypt)]);\n break;\n }\n return out;\n };\n }\n}), require_cfb8 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb8.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n var pad = self2._cipher.encryptBlock(self2._prev), out = pad[0] ^ byteParam;\n return self2._prev = Buffer2.concat([self2._prev.slice(1), Buffer2.from([decrypt \? byteParam : out])]), out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_cfb1 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb1.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n for (var pad, i = -1, len = 8, out = 0, bit, value;++i < len; )\n pad = self2._cipher.encryptBlock(self2._prev), bit = byteParam & 1 << 7 - i \? 128 : 0, value = pad[0] ^ bit, out += (value & 128) >> i % 8, self2._prev = shiftIn(self2._prev, decrypt \? bit : value);\n return out;\n }\n function shiftIn(buffer, value) {\n var len = buffer.length, i = -1, out = Buffer2.allocUnsafe(buffer.length);\n for (buffer = Buffer2.concat([buffer, Buffer2.from([value])]);++i < len; )\n out[i] = buffer[i] << 1 | buffer[i + 1] >> 7;\n return out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_ofb = __commonJS({\n \"node_modules/browserify-aes/modes/ofb.js\"(exports) {\n var xor = require_buffer_xor();\n function getBlock(self2) {\n return self2._prev = self2._cipher.encryptBlock(self2._prev), self2._prev;\n }\n exports.encrypt = function(self2, chunk) {\n for (;self2._cache.length < chunk.length; )\n self2._cache = Buffer.concat([self2._cache, getBlock(self2)]);\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_incr32 = __commonJS({\n \"node_modules/browserify-aes/incr32.js\"(exports, module) {\n function incr32(iv) {\n for (var len = iv.length, item;len--; )\n if (item = iv.readUInt8(len), item === 255)\n iv.writeUInt8(0, len);\n else {\n item++, iv.writeUInt8(item, len);\n break;\n }\n }\n module.exports = incr32;\n }\n}), require_ctr = __commonJS({\n \"node_modules/browserify-aes/modes/ctr.js\"(exports) {\n var xor = require_buffer_xor(), Buffer2 = require_safe_buffer().Buffer, incr32 = require_incr32();\n function getBlock(self2) {\n var out = self2._cipher.encryptBlockRaw(self2._prev);\n return incr32(self2._prev), out;\n }\n var blockSize = 16;\n exports.encrypt = function(self2, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize), start = self2._cache.length;\n self2._cache = Buffer2.concat([self2._cache, Buffer2.allocUnsafe(chunkNum * blockSize)]);\n for (var i = 0;i < chunkNum; i++) {\n var out = getBlock(self2), offset = start + i * blockSize;\n self2._cache.writeUInt32BE(out[0], offset + 0), self2._cache.writeUInt32BE(out[1], offset + 4), self2._cache.writeUInt32BE(out[2], offset + 8), self2._cache.writeUInt32BE(out[3], offset + 12);\n }\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_list = __commonJS({\n \"node_modules/browserify-aes/modes/list.json\"(exports, module) {\n module.exports = {\n \"aes-128-ecb\": {\n cipher: \"AES\",\n key: 128,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-192-ecb\": {\n cipher: \"AES\",\n key: 192,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-256-ecb\": {\n cipher: \"AES\",\n key: 256,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-128-cbc\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-192-cbc\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-256-cbc\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes128: {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes192: {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes256: {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-128-cfb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-192-cfb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-256-cfb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-128-cfb8\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-192-cfb8\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-256-cfb8\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-128-cfb1\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-192-cfb1\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-256-cfb1\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-128-ofb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-192-ofb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-256-ofb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-128-ctr\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-192-ctr\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-256-ctr\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-128-gcm\": {\n cipher: \"AES\",\n key: 128,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-192-gcm\": {\n cipher: \"AES\",\n key: 192,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-256-gcm\": {\n cipher: \"AES\",\n key: 256,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n }\n };\n }\n}), require_modes = __commonJS({\n \"node_modules/browserify-aes/modes/index.js\"(exports, module) {\n var modeModules = {\n ECB: require_ecb(),\n CBC: require_cbc2(),\n CFB: require_cfb(),\n CFB8: require_cfb8(),\n CFB1: require_cfb1(),\n OFB: require_ofb(),\n CTR: require_ctr(),\n GCM: require_ctr()\n }, modes = require_list();\n for (key2 in modes)\n modes[key2].module = modeModules[modes[key2].mode];\n var key2;\n module.exports = modes;\n }\n}), require_aes = __commonJS({\n \"node_modules/browserify-aes/aes.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function asUInt32Array(buf) {\n if (buf instanceof KeyObject)\n buf = buf.export();\n else if (buf instanceof CryptoKey)\n buf = KeyObject.from(buf).export();\n Buffer2.isBuffer(buf) || (buf = Buffer2.from(buf));\n for (var len = buf.length / 4 | 0, out = new @Array(len), i = 0;i < len; i++)\n out[i] = buf.readUInt32BE(i * 4);\n return out;\n }\n function scrubVec(v) {\n for (var i = 0;i < v.length; v++)\n v[i] = 0;\n }\n function cryptBlock(M, keySchedule, SUB_MIX, SBOX, nRounds) {\n for (var SUB_MIX0 = SUB_MIX[0], SUB_MIX1 = SUB_MIX[1], SUB_MIX2 = SUB_MIX[2], SUB_MIX3 = SUB_MIX[3], s0 = M[0] ^ keySchedule[0], s1 = M[1] ^ keySchedule[1], s2 = M[2] ^ keySchedule[2], s3 = M[3] ^ keySchedule[3], t0, t1, t2, t3, ksRow = 4, round = 1;round < nRounds; round++)\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[s1 >>> 16 & 255] ^ SUB_MIX2[s2 >>> 8 & 255] ^ SUB_MIX3[s3 & 255] ^ keySchedule[ksRow++], t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[s2 >>> 16 & 255] ^ SUB_MIX2[s3 >>> 8 & 255] ^ SUB_MIX3[s0 & 255] ^ keySchedule[ksRow++], t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[s3 >>> 16 & 255] ^ SUB_MIX2[s0 >>> 8 & 255] ^ SUB_MIX3[s1 & 255] ^ keySchedule[ksRow++], t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[s0 >>> 16 & 255] ^ SUB_MIX2[s1 >>> 8 & 255] ^ SUB_MIX3[s2 & 255] ^ keySchedule[ksRow++], s0 = t0, s1 = t1, s2 = t2, s3 = t3;\n return t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 255] << 16 | SBOX[s2 >>> 8 & 255] << 8 | SBOX[s3 & 255]) ^ keySchedule[ksRow++], t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 255] << 16 | SBOX[s3 >>> 8 & 255] << 8 | SBOX[s0 & 255]) ^ keySchedule[ksRow++], t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 255] << 16 | SBOX[s0 >>> 8 & 255] << 8 | SBOX[s1 & 255]) ^ keySchedule[ksRow++], t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 255] << 16 | SBOX[s1 >>> 8 & 255] << 8 | SBOX[s2 & 255]) ^ keySchedule[ksRow++], t0 = t0 >>> 0, t1 = t1 >>> 0, t2 = t2 >>> 0, t3 = t3 >>> 0, [t0, t1, t2, t3];\n }\n var RCON = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], G = function() {\n for (var d = new @Array(256), j = 0;j < 256; j++)\n j < 128 \? d[j] = j << 1 : d[j] = j << 1 ^ 283;\n for (var SBOX = [], INV_SBOX = [], SUB_MIX = [[], [], [], []], INV_SUB_MIX = [[], [], [], []], x = 0, xi = 0, i = 0;i < 256; ++i) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 255 ^ 99, SBOX[x] = sx, INV_SBOX[sx] = x;\n var x2 = d[x], x4 = d[x2], x8 = d[x4], t = d[sx] * 257 ^ sx * 16843008;\n SUB_MIX[0][x] = t << 24 | t >>> 8, SUB_MIX[1][x] = t << 16 | t >>> 16, SUB_MIX[2][x] = t << 8 | t >>> 24, SUB_MIX[3][x] = t, t = x8 * 16843009 ^ x4 * 65537 ^ x2 * 257 ^ x * 16843008, INV_SUB_MIX[0][sx] = t << 24 | t >>> 8, INV_SUB_MIX[1][sx] = t << 16 | t >>> 16, INV_SUB_MIX[2][sx] = t << 8 | t >>> 24, INV_SUB_MIX[3][sx] = t, x === 0 \? x = xi = 1 : (x = x2 ^ d[d[d[x8 ^ x2]]], xi ^= d[d[xi]]);\n }\n return {\n SBOX,\n INV_SBOX,\n SUB_MIX,\n INV_SUB_MIX\n };\n }();\n function AES(key2) {\n this._key = asUInt32Array(key2), this._reset();\n }\n AES.prototype = {}, AES.blockSize = 16, AES.keySize = 32, AES.prototype.blockSize = AES.blockSize, AES.prototype.keySize = AES.keySize, AES.prototype._reset = function() {\n for (var keyWords = this._key, keySize = keyWords.length, nRounds = keySize + 6, ksRows = (nRounds + 1) * 4, keySchedule = [], k = 0;k < keySize; k++)\n keySchedule[k] = keyWords[k];\n for (k = keySize;k < ksRows; k++) {\n var t = keySchedule[k - 1];\n k % keySize === 0 \? (t = t << 8 | t >>> 24, t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255], t ^= RCON[k / keySize | 0] << 24) : keySize > 6 && k % keySize === 4 && (t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255]), keySchedule[k] = keySchedule[k - keySize] ^ t;\n }\n for (var invKeySchedule = [], ik = 0;ik < ksRows; ik++) {\n var ksR = ksRows - ik, tt = keySchedule[ksR - (ik % 4 \? 0 : 4)];\n ik < 4 || ksR <= 4 \? invKeySchedule[ik] = tt : invKeySchedule[ik] = G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[tt >>> 16 & 255]] ^ G.INV_SUB_MIX[2][G.SBOX[tt >>> 8 & 255]] ^ G.INV_SUB_MIX[3][G.SBOX[tt & 255]];\n }\n this._nRounds = nRounds, this._keySchedule = keySchedule, this._invKeySchedule = invKeySchedule;\n }, AES.prototype.encryptBlockRaw = function(M) {\n return M = asUInt32Array(M), cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds);\n }, AES.prototype.encryptBlock = function(M) {\n var out = this.encryptBlockRaw(M), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[1], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[3], 12), buf;\n }, AES.prototype.decryptBlock = function(M) {\n M = asUInt32Array(M);\n var m1 = M[1];\n M[1] = M[3], M[3] = m1;\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[3], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[1], 12), buf;\n }, AES.prototype.scrub = function() {\n scrubVec(this._keySchedule), scrubVec(this._invKeySchedule), scrubVec(this._key);\n }, module.exports.AES = AES;\n }\n}), require_ghash = __commonJS({\n \"node_modules/browserify-aes/ghash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, ZEROES = Buffer2.alloc(16, 0);\n function toArray(buf) {\n return [buf.readUInt32BE(0), buf.readUInt32BE(4), buf.readUInt32BE(8), buf.readUInt32BE(12)];\n }\n function fromArray(out) {\n var buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0] >>> 0, 0), buf.writeUInt32BE(out[1] >>> 0, 4), buf.writeUInt32BE(out[2] >>> 0, 8), buf.writeUInt32BE(out[3] >>> 0, 12), buf;\n }\n function GHASH(key2) {\n this.h = key2, this.state = Buffer2.alloc(16, 0), this.cache = Buffer2.allocUnsafe(0);\n }\n GHASH.prototype = {}, GHASH.prototype.ghash = function(block) {\n for (var i = -1;++i < block.length; )\n this.state[i] ^= block[i];\n this._multiply();\n }, GHASH.prototype._multiply = function() {\n for (var Vi = toArray(this.h), Zi = [0, 0, 0, 0], j, xi, lsbVi, i = -1;++i < 128; ) {\n for (xi = (this.state[~~(i / 8)] & 1 << 7 - i % 8) !== 0, xi && (Zi[0] ^= Vi[0], Zi[1] ^= Vi[1], Zi[2] ^= Vi[2], Zi[3] ^= Vi[3]), lsbVi = (Vi[3] & 1) !== 0, j = 3;j > 0; j--)\n Vi[j] = Vi[j] >>> 1 | (Vi[j - 1] & 1) << 31;\n Vi[0] = Vi[0] >>> 1, lsbVi && (Vi[0] = Vi[0] ^ 225 << 24);\n }\n this.state = fromArray(Zi);\n }, GHASH.prototype.update = function(buf) {\n this.cache = Buffer2.concat([this.cache, buf]);\n for (var chunk;this.cache.length >= 16; )\n chunk = this.cache.slice(0, 16), this.cache = this.cache.slice(16), this.ghash(chunk);\n }, GHASH.prototype.final = function(abl, bl) {\n return this.cache.length && this.ghash(Buffer2.concat([this.cache, ZEROES], 16)), this.ghash(fromArray([0, abl, 0, bl])), this.state;\n }, module.exports = GHASH;\n }\n}), require_authCipher = __commonJS({\n \"node_modules/browserify-aes/authCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser(), GHASH = require_ghash(), xor = require_buffer_xor(), incr32 = require_incr32();\n function xorTest(a, b) {\n var out = 0;\n a.length !== b.length && out++;\n for (var len = Math.min(a.length, b.length), i = 0;i < len; ++i)\n out += a[i] ^ b[i];\n return out;\n }\n function calcIv(self2, iv, ck) {\n if (iv.length === 12)\n return self2._finID = Buffer2.concat([iv, Buffer2.from([0, 0, 0, 1])]), Buffer2.concat([iv, Buffer2.from([0, 0, 0, 2])]);\n var ghash = new GHASH(ck), len = iv.length, toPad = len % 16;\n ghash.update(iv), toPad && (toPad = 16 - toPad, ghash.update(Buffer2.alloc(toPad, 0))), ghash.update(Buffer2.alloc(8, 0));\n var ivBits = len * 8, tail = Buffer2.alloc(8);\n tail.writeUIntBE(ivBits, 0, 8), ghash.update(tail), self2._finID = ghash.state;\n var out = Buffer2.from(self2._finID);\n return incr32(out), out;\n }\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this);\n var h = Buffer2.alloc(4, 0);\n this._cipher = new aes.AES(key2);\n var ck = this._cipher.encryptBlock(h);\n this._ghash = new GHASH(ck), iv = calcIv(this, iv, ck), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._alen = 0, this._len = 0, this._mode = mode, this._authTag = null, this._called = !1;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - this._alen % 16;\n rump < 16 && (rump = Buffer2.alloc(rump, 0), this._ghash.update(rump));\n }\n this._called = !0;\n var out = this._mode.encrypt(this, chunk);\n return this._decrypt \? this._ghash.update(chunk) : this._ghash.update(out), this._len += chunk.length, out;\n }, StreamCipher.prototype._final = function() {\n if (this._decrypt && !this._authTag)\n throw new Error(\"Unsupported state or unable to authenticate data\");\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID));\n if (this._decrypt && xorTest(tag, this._authTag))\n throw new Error(\"Unsupported state or unable to authenticate data\");\n this._authTag = tag, this._cipher.scrub();\n }, StreamCipher.prototype.getAuthTag = function() {\n if (this._decrypt || !Buffer2.isBuffer(this._authTag))\n throw new Error(\"Attempting to get auth tag in unsupported state\");\n return this._authTag;\n }, StreamCipher.prototype.setAuthTag = function(tag) {\n if (!this._decrypt)\n throw new Error(\"Attempting to set auth tag in unsupported state\");\n this._authTag = tag;\n }, StreamCipher.prototype.setAAD = function(buf) {\n if (this._called)\n throw new Error(\"Attempting to set AAD in unsupported state\");\n this._ghash.update(buf), this._alen += buf.length;\n }, module.exports = StreamCipher;\n }\n}), require_streamCipher = __commonJS({\n \"node_modules/browserify-aes/streamCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser();\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this), this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._mode = mode;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt);\n }, StreamCipher.prototype._final = function() {\n this._cipher.scrub();\n }, module.exports = StreamCipher;\n }\n}), require_evp_bytestokey = __commonJS({\n \"node_modules/evp_bytestokey/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, MD5 = require_md5();\n function EVP_BytesToKey(password, salt, keyBits, ivLen) {\n if (Buffer2.isBuffer(password) || (password = Buffer2.from(password, \"binary\")), salt && (Buffer2.isBuffer(salt) || (salt = Buffer2.from(salt, \"binary\")), salt.length !== 8))\n @throwRangeError(\"salt should be Buffer with 8 byte length\");\n for (var keyLen = keyBits / 8, key2 = Buffer2.alloc(keyLen), iv = Buffer2.alloc(ivLen || 0), tmp = Buffer2.alloc(0);keyLen > 0 || ivLen > 0; ) {\n var hash = new MD5;\n hash.update(tmp), hash.update(password), salt && hash.update(salt), tmp = hash.digest();\n var used = 0;\n if (keyLen > 0) {\n var keyStart = key2.length - keyLen;\n used = Math.min(keyLen, tmp.length), tmp.copy(key2, keyStart, 0, used), keyLen -= used;\n }\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen, length = Math.min(ivLen, tmp.length - used);\n tmp.copy(iv, ivStart, used, used + length), ivLen -= length;\n }\n }\n return tmp.fill(0), { key: key2, iv };\n }\n module.exports = EVP_BytesToKey;\n }\n}), require_encrypter = __commonJS({\n \"node_modules/browserify-aes/encrypter.js\"(exports) {\n var MODES = require_modes(), AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Cipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Cipher, Transform), Cipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(); )\n thing = this._mode.encrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n };\n var PADDING = Buffer2.alloc(16, 16);\n Cipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return chunk = this._mode.encrypt(this, chunk), this._cipher.scrub(), chunk;\n if (!chunk.equals(PADDING))\n throw this._cipher.scrub(), new Error(\"data not multiple of block length\");\n }, Cipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function() {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16);\n return this.cache = this.cache.slice(16), out;\n }\n return null;\n }, Splitter.prototype.flush = function() {\n for (var len = 16 - this.cache.length, padBuff = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n padBuff.writeUInt8(len, i);\n return Buffer2.concat([this.cache, padBuff]);\n };\n function createCipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), password\?.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv) : new Cipher(config.module, password, iv);\n }\n function createCipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n exports.createCipheriv = createCipheriv, exports.createCipher = createCipher;\n }\n}), require_decrypter = __commonJS({\n \"node_modules/browserify-aes/decrypter.js\"(exports) {\n var AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, MODES = require_modes(), StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Decipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._last = void 0, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Decipher, Transform), Decipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(this._autopadding); )\n thing = this._mode.decrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n }, Decipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return unpad(this._mode.decrypt(this, chunk));\n if (chunk)\n throw new Error(\"data not multiple of block length\");\n }, Decipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function(autoPadding) {\n var out;\n if (autoPadding) {\n if (this.cache.length > 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n } else if (this.cache.length >= 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n return null;\n }, Splitter.prototype.flush = function() {\n if (this.cache.length)\n return this.cache;\n };\n function unpad(last) {\n var padded = last[15];\n if (padded < 1 || padded > 16)\n throw new Error(\"unable to decrypt data\");\n for (var i = -1;++i < padded; )\n if (last[i + (16 - padded)] !== padded)\n throw new Error(\"unable to decrypt data\");\n if (padded !== 16)\n return last.slice(0, 16 - padded);\n }\n function createDecipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (password.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv, !0) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv, !0) : new Decipher(config.module, password, iv);\n }\n function createDecipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n exports.createDecipher = createDecipher, exports.createDecipheriv = createDecipheriv;\n }\n}), require_browser5 = __commonJS({\n \"node_modules/browserify-aes/browser.js\"(exports) {\n var ciphers = require_encrypter(), deciphers = require_decrypter(), modes = require_list();\n function getCiphers() {\n return Object.keys(modes);\n }\n exports.createCipher = exports.Cipher = ciphers.createCipher, exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv, exports.createDecipher = exports.Decipher = deciphers.createDecipher, exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_modes2 = __commonJS({\n \"node_modules/browserify-des/modes.js\"(exports) {\n exports[\"des-ecb\"] = {\n key: 8,\n iv: 0\n }, exports[\"des-cbc\"] = exports.des = {\n key: 8,\n iv: 8\n }, exports[\"des-ede3-cbc\"] = exports.des3 = {\n key: 24,\n iv: 8\n }, exports[\"des-ede3\"] = {\n key: 24,\n iv: 0\n }, exports[\"des-ede-cbc\"] = {\n key: 16,\n iv: 8\n }, exports[\"des-ede\"] = {\n key: 16,\n iv: 0\n };\n }\n}), require_browser6 = __commonJS({\n \"node_modules/browserify-cipher/browser.js\"(exports) {\n var DES = require_browserify_des(), aes = require_browser5(), aesModes = require_modes(), desModes = require_modes2(), ebtk = require_evp_bytestokey();\n function createCipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n function createDecipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n function createCipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createCipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite });\n @throwTypeError(\"invalid suite type\");\n }\n function createDecipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createDecipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite, decrypt: !0 });\n @throwTypeError(\"invalid suite type\");\n }\n function getCiphers() {\n return Object.keys(desModes).concat(aes.getCiphers());\n }\n exports.createCipher = exports.Cipher = createCipher, exports.createCipheriv = exports.Cipheriv = createCipheriv, exports.createDecipher = exports.Decipher = createDecipher, exports.createDecipheriv = exports.Decipheriv = createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_bn = __commonJS({\n \"node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js\"(exports, module) {\n (function(module2, exports2) {\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype, ctor.prototype = new TempCtor, ctor.prototype.constructor = ctor;\n }\n function BN(number, base, endian) {\n if (BN.isBN(number))\n return number;\n this.negative = 0, this.words = null, this.length = 0, this.red = null, number !== null && ((base === \"le\" || base === \"be\") && (endian = base, base = 10), this._init(number || 0, base || 10, endian || \"be\"));\n }\n BN.prototype = {}, typeof module2 == \"object\" \? module2.exports = BN : exports2.BN = BN, BN.BN = BN, BN.wordSize = 26;\n var Buffer2 = Buffer;\n BN.isBN = function(num) {\n return num instanceof BN \? !0 : num !== null && typeof num == \"object\" && num.constructor.wordSize === BN.wordSize && @Array.isArray(num.words);\n }, BN.max = function(left, right) {\n return left.cmp(right) > 0 \? left : right;\n }, BN.min = function(left, right) {\n return left.cmp(right) < 0 \? left : right;\n }, BN.prototype._init = function(number, base, endian) {\n if (typeof number == \"number\")\n return this._initNumber(number, base, endian);\n if (typeof number == \"object\")\n return this._initArray(number, base, endian);\n base === \"hex\" && (base = 16), assert(base === (base | 0) && base >= 2 && base <= 36), number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n number[0] === \"-\" && (start++, this.negative = 1), start < number.length && (base === 16 \? this._parseHex(number, start, endian) : (this._parseBase(number, base, start), endian === \"le\" && this._initArray(this.toArray(), base, endian)));\n }, BN.prototype._initNumber = function(number, base, endian) {\n number < 0 && (this.negative = 1, number = -number), number < 67108864 \? (this.words = [number & 67108863], this.length = 1) : number < 4503599627370496 \? (this.words = [number & 67108863, number / 67108864 & 67108863], this.length = 2) : (assert(number < 9007199254740992), this.words = [number & 67108863, number / 67108864 & 67108863, 1], this.length = 3), endian === \"le\" && this._initArray(this.toArray(), base, endian);\n }, BN.prototype._initArray = function(number, base, endian) {\n if (assert(typeof number.length == \"number\"), number.length <= 0)\n return this.words = [0], this.length = 1, this;\n this.length = Math.ceil(number.length / 3), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var j, w, off = 0;\n if (endian === \"be\")\n for (i = number.length - 1, j = 0;i >= 0; i -= 3)\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n else if (endian === \"le\")\n for (i = 0, j = 0;i < number.length; i += 3)\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n return this.strip();\n };\n function parseHex4Bits(string, index) {\n var c = string.charCodeAt(index);\n return c >= 65 && c <= 70 \? c - 55 : c >= 97 && c <= 102 \? c - 87 : c - 48 & 15;\n }\n function parseHexByte(string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n return index - 1 >= lowerBound && (r |= parseHex4Bits(string, index - 1) << 4), r;\n }\n BN.prototype._parseHex = function(number, start, endian) {\n this.length = Math.ceil((number.length - start) / 6), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var off = 0, j = 0, w;\n if (endian === \"be\")\n for (i = number.length - 1;i >= start; i -= 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 \? start + 1 : start;i < number.length; i += 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n }\n this.strip();\n };\n function parseBase(str, start, end, mul) {\n for (var r = 0, len = Math.min(str.length, end), i = start;i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n r *= mul, c >= 49 \? r += c - 49 + 10 : c >= 17 \? r += c - 17 + 10 : r += c;\n }\n return r;\n }\n BN.prototype._parseBase = function(number, base, start) {\n this.words = [0], this.length = 1;\n for (var limbLen = 0, limbPow = 1;limbPow <= 67108863; limbPow *= base)\n limbLen++;\n limbLen--, limbPow = limbPow / base | 0;\n for (var total = number.length - start, mod = total % limbLen, end = Math.min(total, total - mod) + start, word = 0, i = start;i < end; i += limbLen)\n word = parseBase(number, i, i + limbLen, base), this.imuln(limbPow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n if (mod !== 0) {\n var pow = 1;\n for (word = parseBase(number, i, number.length, base), i = 0;i < mod; i++)\n pow *= base;\n this.imuln(pow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n }\n this.strip();\n }, BN.prototype.copy = function(dest) {\n dest.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n dest.words[i] = this.words[i];\n dest.length = this.length, dest.negative = this.negative, dest.red = this.red;\n }, BN.prototype.clone = function() {\n var r = new BN(null);\n return this.copy(r), r;\n }, BN.prototype._expand = function(size) {\n for (;this.length < size; )\n this.words[this.length++] = 0;\n return this;\n }, BN.prototype.strip = function() {\n for (;this.length > 1 && this.words[this.length - 1] === 0; )\n this.length--;\n return this._normSign();\n }, BN.prototype._normSign = function() {\n return this.length === 1 && this.words[0] === 0 && (this.negative = 0), this;\n }, BN.prototype.inspect = function() {\n return (this.red \? \"<BN-R: \" : \"<BN: \") + this.toString(16) + \">\";\n };\n var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ], groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ], groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 1e7,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function(base, padding) {\n base = base || 10, padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n for (var off = 0, carry = 0, i = 0;i < this.length; i++) {\n var w = this.words[i], word = ((w << off | carry) & 16777215).toString(16);\n carry = w >>> 24 - off & 16777215, carry !== 0 || i !== this.length - 1 \? out = zeros[6 - word.length] + word + out : out = word + out, off += 2, off >= 26 && (off -= 26, i--);\n }\n for (carry !== 0 && (out = carry.toString(16) + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n var groupSize = groupSizes[base], groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n for (c.negative = 0;!c.isZero(); ) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase), c.isZero() \? out = r + out : out = zeros[groupSize - r.length] + r + out;\n }\n for (this.isZero() && (out = \"0\" + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n assert(!1, \"Base should be between 2 and 36\");\n }, BN.prototype.toNumber = function() {\n var ret = this.words[0];\n return this.length === 2 \? ret += this.words[1] * 67108864 : this.length === 3 && this.words[2] === 1 \? ret += 4503599627370496 + this.words[1] * 67108864 : this.length > 2 && assert(!1, \"Number can only safely store up to 53 bits\"), this.negative !== 0 \? -ret : ret;\n }, BN.prototype.toJSON = function() {\n return this.toString(16);\n }, BN.prototype.toBuffer = function(endian, length) {\n return assert(typeof Buffer2 < \"u\"), this.toArrayLike(Buffer2, endian, length);\n }, BN.prototype.toArray = function(endian, length) {\n return this.toArrayLike(@Array, endian, length);\n }, BN.prototype.toArrayLike = function(ArrayType, endian, length) {\n var byteLength = this.byteLength(), reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\"), assert(reqLength > 0, \"Requested array length <= 0\"), this.strip();\n var littleEndian = endian === \"le\", res = new ArrayType(reqLength), b, i, q = this.clone();\n if (littleEndian) {\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[i] = b;\n for (;i < reqLength; i++)\n res[i] = 0;\n } else {\n for (i = 0;i < reqLength - byteLength; i++)\n res[i] = 0;\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[reqLength - i - 1] = b;\n }\n return res;\n }, Math.clz32 \? BN.prototype._countBits = function(w) {\n return 32 - Math.clz32(w);\n } : BN.prototype._countBits = function(w) {\n var t = w, r = 0;\n return t >= 4096 && (r += 13, t >>>= 13), t >= 64 && (r += 7, t >>>= 7), t >= 8 && (r += 4, t >>>= 4), t >= 2 && (r += 2, t >>>= 2), r + t;\n }, BN.prototype._zeroBits = function(w) {\n if (w === 0)\n return 26;\n var t = w, r = 0;\n return (t & 8191) === 0 && (r += 13, t >>>= 13), (t & 127) === 0 && (r += 7, t >>>= 7), (t & 15) === 0 && (r += 4, t >>>= 4), (t & 3) === 0 && (r += 2, t >>>= 2), (t & 1) === 0 && r++, r;\n }, BN.prototype.bitLength = function() {\n var w = this.words[this.length - 1], hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n for (var w = new @Array(num.bitLength()), bit = 0;bit < w.length; bit++) {\n var off = bit / 26 | 0, wbit = bit % 26;\n w[bit] = (num.words[off] & 1 << wbit) >>> wbit;\n }\n return w;\n }\n BN.prototype.zeroBits = function() {\n if (this.isZero())\n return 0;\n for (var r = 0, i = 0;i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n if (r += b, b !== 26)\n break;\n }\n return r;\n }, BN.prototype.byteLength = function() {\n return Math.ceil(this.bitLength() / 8);\n }, BN.prototype.toTwos = function(width) {\n return this.negative !== 0 \? this.abs().inotn(width).iaddn(1) : this.clone();\n }, BN.prototype.fromTwos = function(width) {\n return this.testn(width - 1) \? this.notn(width).iaddn(1).ineg() : this.clone();\n }, BN.prototype.isNeg = function() {\n return this.negative !== 0;\n }, BN.prototype.neg = function() {\n return this.clone().ineg();\n }, BN.prototype.ineg = function() {\n return this.isZero() || (this.negative ^= 1), this;\n }, BN.prototype.iuor = function(num) {\n for (;this.length < num.length; )\n this.words[this.length++] = 0;\n for (var i = 0;i < num.length; i++)\n this.words[i] = this.words[i] | num.words[i];\n return this.strip();\n }, BN.prototype.ior = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuor(num);\n }, BN.prototype.or = function(num) {\n return this.length > num.length \? this.clone().ior(num) : num.clone().ior(this);\n }, BN.prototype.uor = function(num) {\n return this.length > num.length \? this.clone().iuor(num) : num.clone().iuor(this);\n }, BN.prototype.iuand = function(num) {\n var b;\n this.length > num.length \? b = num : b = this;\n for (var i = 0;i < b.length; i++)\n this.words[i] = this.words[i] & num.words[i];\n return this.length = b.length, this.strip();\n }, BN.prototype.iand = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuand(num);\n }, BN.prototype.and = function(num) {\n return this.length > num.length \? this.clone().iand(num) : num.clone().iand(this);\n }, BN.prototype.uand = function(num) {\n return this.length > num.length \? this.clone().iuand(num) : num.clone().iuand(this);\n }, BN.prototype.iuxor = function(num) {\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var i = 0;i < b.length; i++)\n this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = a.length, this.strip();\n }, BN.prototype.ixor = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuxor(num);\n }, BN.prototype.xor = function(num) {\n return this.length > num.length \? this.clone().ixor(num) : num.clone().ixor(this);\n }, BN.prototype.uxor = function(num) {\n return this.length > num.length \? this.clone().iuxor(num) : num.clone().iuxor(this);\n }, BN.prototype.inotn = function(width) {\n assert(typeof width == \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0, bitsLeft = width % 26;\n this._expand(bytesNeeded), bitsLeft > 0 && bytesNeeded--;\n for (var i = 0;i < bytesNeeded; i++)\n this.words[i] = ~this.words[i] & 67108863;\n return bitsLeft > 0 && (this.words[i] = ~this.words[i] & 67108863 >> 26 - bitsLeft), this.strip();\n }, BN.prototype.notn = function(width) {\n return this.clone().inotn(width);\n }, BN.prototype.setn = function(bit, val) {\n assert(typeof bit == \"number\" && bit >= 0);\n var off = bit / 26 | 0, wbit = bit % 26;\n return this._expand(off + 1), val \? this.words[off] = this.words[off] | 1 << wbit : this.words[off] = this.words[off] & ~(1 << wbit), this.strip();\n }, BN.prototype.iadd = function(num) {\n var r;\n if (this.negative !== 0 && num.negative === 0)\n return this.negative = 0, r = this.isub(num), this.negative ^= 1, this._normSign();\n if (this.negative === 0 && num.negative !== 0)\n return num.negative = 0, r = this.isub(num), num.negative = 1, r._normSign();\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n if (this.length = a.length, carry !== 0)\n this.words[this.length] = carry, this.length++;\n else if (a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this;\n }, BN.prototype.add = function(num) {\n var res;\n return num.negative !== 0 && this.negative === 0 \? (num.negative = 0, res = this.sub(num), num.negative ^= 1, res) : num.negative === 0 && this.negative !== 0 \? (this.negative = 0, res = num.sub(this), this.negative = 1, res) : this.length > num.length \? this.clone().iadd(num) : num.clone().iadd(this);\n }, BN.prototype.isub = function(num) {\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n return num.negative = 1, r._normSign();\n } else if (this.negative !== 0)\n return this.negative = 0, this.iadd(num), this.negative = 1, this._normSign();\n var cmp = this.cmp(num);\n if (cmp === 0)\n return this.negative = 0, this.length = 1, this.words[0] = 0, this;\n var a, b;\n cmp > 0 \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n if (carry === 0 && i < a.length && a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = Math.max(this.length, i), a !== this && (this.negative = 1), this.strip();\n }, BN.prototype.sub = function(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative;\n var len = self2.length + num.length | 0;\n out.length = len, len = len - 1 | 0;\n var a = self2.words[0] | 0, b = num.words[0] | 0, r = a * b, lo = r & 67108863, carry = r / 67108864 | 0;\n out.words[0] = lo;\n for (var k = 1;k < len; k++) {\n for (var ncarry = carry >>> 26, rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j | 0;\n a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b + rword, ncarry += r / 67108864 | 0, rword = r & 67108863;\n }\n out.words[k] = rword | 0, carry = ncarry | 0;\n }\n return carry !== 0 \? out.words[k] = carry | 0 : out.length--, out.strip();\n }\n var comb10MulTo = function(self2, num, out) {\n var a = self2.words, b = num.words, o = out.words, c = 0, lo, mid, hi, a0 = a[0] | 0, al0 = a0 & 8191, ah0 = a0 >>> 13, a1 = a[1] | 0, al1 = a1 & 8191, ah1 = a1 >>> 13, a2 = a[2] | 0, al2 = a2 & 8191, ah2 = a2 >>> 13, a3 = a[3] | 0, al3 = a3 & 8191, ah3 = a3 >>> 13, a4 = a[4] | 0, al4 = a4 & 8191, ah4 = a4 >>> 13, a5 = a[5] | 0, al5 = a5 & 8191, ah5 = a5 >>> 13, a6 = a[6] | 0, al6 = a6 & 8191, ah6 = a6 >>> 13, a7 = a[7] | 0, al7 = a7 & 8191, ah7 = a7 >>> 13, a8 = a[8] | 0, al8 = a8 & 8191, ah8 = a8 >>> 13, a9 = a[9] | 0, al9 = a9 & 8191, ah9 = a9 >>> 13, b0 = b[0] | 0, bl0 = b0 & 8191, bh0 = b0 >>> 13, b1 = b[1] | 0, bl1 = b1 & 8191, bh1 = b1 >>> 13, b2 = b[2] | 0, bl2 = b2 & 8191, bh2 = b2 >>> 13, b3 = b[3] | 0, bl3 = b3 & 8191, bh3 = b3 >>> 13, b4 = b[4] | 0, bl4 = b4 & 8191, bh4 = b4 >>> 13, b5 = b[5] | 0, bl5 = b5 & 8191, bh5 = b5 >>> 13, b6 = b[6] | 0, bl6 = b6 & 8191, bh6 = b6 >>> 13, b7 = b[7] | 0, bl7 = b7 & 8191, bh7 = b7 >>> 13, b8 = b[8] | 0, bl8 = b8 & 8191, bh8 = b8 >>> 13, b9 = b[9] | 0, bl9 = b9 & 8191, bh9 = b9 >>> 13;\n out.negative = self2.negative ^ num.negative, out.length = 19, lo = Math.imul(al0, bl0), mid = Math.imul(al0, bh0), mid = mid + Math.imul(ah0, bl0) | 0, hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0, w0 &= 67108863, lo = Math.imul(al1, bl0), mid = Math.imul(al1, bh0), mid = mid + Math.imul(ah1, bl0) | 0, hi = Math.imul(ah1, bh0), lo = lo + Math.imul(al0, bl1) | 0, mid = mid + Math.imul(al0, bh1) | 0, mid = mid + Math.imul(ah0, bl1) | 0, hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0, w1 &= 67108863, lo = Math.imul(al2, bl0), mid = Math.imul(al2, bh0), mid = mid + Math.imul(ah2, bl0) | 0, hi = Math.imul(ah2, bh0), lo = lo + Math.imul(al1, bl1) | 0, mid = mid + Math.imul(al1, bh1) | 0, mid = mid + Math.imul(ah1, bl1) | 0, hi = hi + Math.imul(ah1, bh1) | 0, lo = lo + Math.imul(al0, bl2) | 0, mid = mid + Math.imul(al0, bh2) | 0, mid = mid + Math.imul(ah0, bl2) | 0, hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0, w2 &= 67108863, lo = Math.imul(al3, bl0), mid = Math.imul(al3, bh0), mid = mid + Math.imul(ah3, bl0) | 0, hi = Math.imul(ah3, bh0), lo = lo + Math.imul(al2, bl1) | 0, mid = mid + Math.imul(al2, bh1) | 0, mid = mid + Math.imul(ah2, bl1) | 0, hi = hi + Math.imul(ah2, bh1) | 0, lo = lo + Math.imul(al1, bl2) | 0, mid = mid + Math.imul(al1, bh2) | 0, mid = mid + Math.imul(ah1, bl2) | 0, hi = hi + Math.imul(ah1, bh2) | 0, lo = lo + Math.imul(al0, bl3) | 0, mid = mid + Math.imul(al0, bh3) | 0, mid = mid + Math.imul(ah0, bl3) | 0, hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0, w3 &= 67108863, lo = Math.imul(al4, bl0), mid = Math.imul(al4, bh0), mid = mid + Math.imul(ah4, bl0) | 0, hi = Math.imul(ah4, bh0), lo = lo + Math.imul(al3, bl1) | 0, mid = mid + Math.imul(al3, bh1) | 0, mid = mid + Math.imul(ah3, bl1) | 0, hi = hi + Math.imul(ah3, bh1) | 0, lo = lo + Math.imul(al2, bl2) | 0, mid = mid + Math.imul(al2, bh2) | 0, mid = mid + Math.imul(ah2, bl2) | 0, hi = hi + Math.imul(ah2, bh2) | 0, lo = lo + Math.imul(al1, bl3) | 0, mid = mid + Math.imul(al1, bh3) | 0, mid = mid + Math.imul(ah1, bl3) | 0, hi = hi + Math.imul(ah1, bh3) | 0, lo = lo + Math.imul(al0, bl4) | 0, mid = mid + Math.imul(al0, bh4) | 0, mid = mid + Math.imul(ah0, bl4) | 0, hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0, w4 &= 67108863, lo = Math.imul(al5, bl0), mid = Math.imul(al5, bh0), mid = mid + Math.imul(ah5, bl0) | 0, hi = Math.imul(ah5, bh0), lo = lo + Math.imul(al4, bl1) | 0, mid = mid + Math.imul(al4, bh1) | 0, mid = mid + Math.imul(ah4, bl1) | 0, hi = hi + Math.imul(ah4, bh1) | 0, lo = lo + Math.imul(al3, bl2) | 0, mid = mid + Math.imul(al3, bh2) | 0, mid = mid + Math.imul(ah3, bl2) | 0, hi = hi + Math.imul(ah3, bh2) | 0, lo = lo + Math.imul(al2, bl3) | 0, mid = mid + Math.imul(al2, bh3) | 0, mid = mid + Math.imul(ah2, bl3) | 0, hi = hi + Math.imul(ah2, bh3) | 0, lo = lo + Math.imul(al1, bl4) | 0, mid = mid + Math.imul(al1, bh4) | 0, mid = mid + Math.imul(ah1, bl4) | 0, hi = hi + Math.imul(ah1, bh4) | 0, lo = lo + Math.imul(al0, bl5) | 0, mid = mid + Math.imul(al0, bh5) | 0, mid = mid + Math.imul(ah0, bl5) | 0, hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0, w5 &= 67108863, lo = Math.imul(al6, bl0), mid = Math.imul(al6, bh0), mid = mid + Math.imul(ah6, bl0) | 0, hi = Math.imul(ah6, bh0), lo = lo + Math.imul(al5, bl1) | 0, mid = mid + Math.imul(al5, bh1) | 0, mid = mid + Math.imul(ah5, bl1) | 0, hi = hi + Math.imul(ah5, bh1) | 0, lo = lo + Math.imul(al4, bl2) | 0, mid = mid + Math.imul(al4, bh2) | 0, mid = mid + Math.imul(ah4, bl2) | 0, hi = hi + Math.imul(ah4, bh2) | 0, lo = lo + Math.imul(al3, bl3) | 0, mid = mid + Math.imul(al3, bh3) | 0, mid = mid + Math.imul(ah3, bl3) | 0, hi = hi + Math.imul(ah3, bh3) | 0, lo = lo + Math.imul(al2, bl4) | 0, mid = mid + Math.imul(al2, bh4) | 0, mid = mid + Math.imul(ah2, bl4) | 0, hi = hi + Math.imul(ah2, bh4) | 0, lo = lo + Math.imul(al1, bl5) | 0, mid = mid + Math.imul(al1, bh5) | 0, mid = mid + Math.imul(ah1, bl5) | 0, hi = hi + Math.imul(ah1, bh5) | 0, lo = lo + Math.imul(al0, bl6) | 0, mid = mid + Math.imul(al0, bh6) | 0, mid = mid + Math.imul(ah0, bl6) | 0, hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0, w6 &= 67108863, lo = Math.imul(al7, bl0), mid = Math.imul(al7, bh0), mid = mid + Math.imul(ah7, bl0) | 0, hi = Math.imul(ah7, bh0), lo = lo + Math.imul(al6, bl1) | 0, mid = mid + Math.imul(al6, bh1) | 0, mid = mid + Math.imul(ah6, bl1) | 0, hi = hi + Math.imul(ah6, bh1) | 0, lo = lo + Math.imul(al5, bl2) | 0, mid = mid + Math.imul(al5, bh2) | 0, mid = mid + Math.imul(ah5, bl2) | 0, hi = hi + Math.imul(ah5, bh2) | 0, lo = lo + Math.imul(al4, bl3) | 0, mid = mid + Math.imul(al4, bh3) | 0, mid = mid + Math.imul(ah4, bl3) | 0, hi = hi + Math.imul(ah4, bh3) | 0, lo = lo + Math.imul(al3, bl4) | 0, mid = mid + Math.imul(al3, bh4) | 0, mid = mid + Math.imul(ah3, bl4) | 0, hi = hi + Math.imul(ah3, bh4) | 0, lo = lo + Math.imul(al2, bl5) | 0, mid = mid + Math.imul(al2, bh5) | 0, mid = mid + Math.imul(ah2, bl5) | 0, hi = hi + Math.imul(ah2, bh5) | 0, lo = lo + Math.imul(al1, bl6) | 0, mid = mid + Math.imul(al1, bh6) | 0, mid = mid + Math.imul(ah1, bl6) | 0, hi = hi + Math.imul(ah1, bh6) | 0, lo = lo + Math.imul(al0, bl7) | 0, mid = mid + Math.imul(al0, bh7) | 0, mid = mid + Math.imul(ah0, bl7) | 0, hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0, w7 &= 67108863, lo = Math.imul(al8, bl0), mid = Math.imul(al8, bh0), mid = mid + Math.imul(ah8, bl0) | 0, hi = Math.imul(ah8, bh0), lo = lo + Math.imul(al7, bl1) | 0, mid = mid + Math.imul(al7, bh1) | 0, mid = mid + Math.imul(ah7, bl1) | 0, hi = hi + Math.imul(ah7, bh1) | 0, lo = lo + Math.imul(al6, bl2) | 0, mid = mid + Math.imul(al6, bh2) | 0, mid = mid + Math.imul(ah6, bl2) | 0, hi = hi + Math.imul(ah6, bh2) | 0, lo = lo + Math.imul(al5, bl3) | 0, mid = mid + Math.imul(al5, bh3) | 0, mid = mid + Math.imul(ah5, bl3) | 0, hi = hi + Math.imul(ah5, bh3) | 0, lo = lo + Math.imul(al4, bl4) | 0, mid = mid + Math.imul(al4, bh4) | 0, mid = mid + Math.imul(ah4, bl4) | 0, hi = hi + Math.imul(ah4, bh4) | 0, lo = lo + Math.imul(al3, bl5) | 0, mid = mid + Math.imul(al3, bh5) | 0, mid = mid + Math.imul(ah3, bl5) | 0, hi = hi + Math.imul(ah3, bh5) | 0, lo = lo + Math.imul(al2, bl6) | 0, mid = mid + Math.imul(al2, bh6) | 0, mid = mid + Math.imul(ah2, bl6) | 0, hi = hi + Math.imul(ah2, bh6) | 0, lo = lo + Math.imul(al1, bl7) | 0, mid = mid + Math.imul(al1, bh7) | 0, mid = mid + Math.imul(ah1, bl7) | 0, hi = hi + Math.imul(ah1, bh7) | 0, lo = lo + Math.imul(al0, bl8) | 0, mid = mid + Math.imul(al0, bh8) | 0, mid = mid + Math.imul(ah0, bl8) | 0, hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0, w8 &= 67108863, lo = Math.imul(al9, bl0), mid = Math.imul(al9, bh0), mid = mid + Math.imul(ah9, bl0) | 0, hi = Math.imul(ah9, bh0), lo = lo + Math.imul(al8, bl1) | 0, mid = mid + Math.imul(al8, bh1) | 0, mid = mid + Math.imul(ah8, bl1) | 0, hi = hi + Math.imul(ah8, bh1) | 0, lo = lo + Math.imul(al7, bl2) | 0, mid = mid + Math.imul(al7, bh2) | 0, mid = mid + Math.imul(ah7, bl2) | 0, hi = hi + Math.imul(ah7, bh2) | 0, lo = lo + Math.imul(al6, bl3) | 0, mid = mid + Math.imul(al6, bh3) | 0, mid = mid + Math.imul(ah6, bl3) | 0, hi = hi + Math.imul(ah6, bh3) | 0, lo = lo + Math.imul(al5, bl4) | 0, mid = mid + Math.imul(al5, bh4) | 0, mid = mid + Math.imul(ah5, bl4) | 0, hi = hi + Math.imul(ah5, bh4) | 0, lo = lo + Math.imul(al4, bl5) | 0, mid = mid + Math.imul(al4, bh5) | 0, mid = mid + Math.imul(ah4, bl5) | 0, hi = hi + Math.imul(ah4, bh5) | 0, lo = lo + Math.imul(al3, bl6) | 0, mid = mid + Math.imul(al3, bh6) | 0, mid = mid + Math.imul(ah3, bl6) | 0, hi = hi + Math.imul(ah3, bh6) | 0, lo = lo + Math.imul(al2, bl7) | 0, mid = mid + Math.imul(al2, bh7) | 0, mid = mid + Math.imul(ah2, bl7) | 0, hi = hi + Math.imul(ah2, bh7) | 0, lo = lo + Math.imul(al1, bl8) | 0, mid = mid + Math.imul(al1, bh8) | 0, mid = mid + Math.imul(ah1, bl8) | 0, hi = hi + Math.imul(ah1, bh8) | 0, lo = lo + Math.imul(al0, bl9) | 0, mid = mid + Math.imul(al0, bh9) | 0, mid = mid + Math.imul(ah0, bl9) | 0, hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0, w9 &= 67108863, lo = Math.imul(al9, bl1), mid = Math.imul(al9, bh1), mid = mid + Math.imul(ah9, bl1) | 0, hi = Math.imul(ah9, bh1), lo = lo + Math.imul(al8, bl2) | 0, mid = mid + Math.imul(al8, bh2) | 0, mid = mid + Math.imul(ah8, bl2) | 0, hi = hi + Math.imul(ah8, bh2) | 0, lo = lo + Math.imul(al7, bl3) | 0, mid = mid + Math.imul(al7, bh3) | 0, mid = mid + Math.imul(ah7, bl3) | 0, hi = hi + Math.imul(ah7, bh3) | 0, lo = lo + Math.imul(al6, bl4) | 0, mid = mid + Math.imul(al6, bh4) | 0, mid = mid + Math.imul(ah6, bl4) | 0, hi = hi + Math.imul(ah6, bh4) | 0, lo = lo + Math.imul(al5, bl5) | 0, mid = mid + Math.imul(al5, bh5) | 0, mid = mid + Math.imul(ah5, bl5) | 0, hi = hi + Math.imul(ah5, bh5) | 0, lo = lo + Math.imul(al4, bl6) | 0, mid = mid + Math.imul(al4, bh6) | 0, mid = mid + Math.imul(ah4, bl6) | 0, hi = hi + Math.imul(ah4, bh6) | 0, lo = lo + Math.imul(al3, bl7) | 0, mid = mid + Math.imul(al3, bh7) | 0, mid = mid + Math.imul(ah3, bl7) | 0, hi = hi + Math.imul(ah3, bh7) | 0, lo = lo + Math.imul(al2, bl8) | 0, mid = mid + Math.imul(al2, bh8) | 0, mid = mid + Math.imul(ah2, bl8) | 0, hi = hi + Math.imul(ah2, bh8) | 0, lo = lo + Math.imul(al1, bl9) | 0, mid = mid + Math.imul(al1, bh9) | 0, mid = mid + Math.imul(ah1, bl9) | 0, hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0, w10 &= 67108863, lo = Math.imul(al9, bl2), mid = Math.imul(al9, bh2), mid = mid + Math.imul(ah9, bl2) | 0, hi = Math.imul(ah9, bh2), lo = lo + Math.imul(al8, bl3) | 0, mid = mid + Math.imul(al8, bh3) | 0, mid = mid + Math.imul(ah8, bl3) | 0, hi = hi + Math.imul(ah8, bh3) | 0, lo = lo + Math.imul(al7, bl4) | 0, mid = mid + Math.imul(al7, bh4) | 0, mid = mid + Math.imul(ah7, bl4) | 0, hi = hi + Math.imul(ah7, bh4) | 0, lo = lo + Math.imul(al6, bl5) | 0, mid = mid + Math.imul(al6, bh5) | 0, mid = mid + Math.imul(ah6, bl5) | 0, hi = hi + Math.imul(ah6, bh5) | 0, lo = lo + Math.imul(al5, bl6) | 0, mid = mid + Math.imul(al5, bh6) | 0, mid = mid + Math.imul(ah5, bl6) | 0, hi = hi + Math.imul(ah5, bh6) | 0, lo = lo + Math.imul(al4, bl7) | 0, mid = mid + Math.imul(al4, bh7) | 0, mid = mid + Math.imul(ah4, bl7) | 0, hi = hi + Math.imul(ah4, bh7) | 0, lo = lo + Math.imul(al3, bl8) | 0, mid = mid + Math.imul(al3, bh8) | 0, mid = mid + Math.imul(ah3, bl8) | 0, hi = hi + Math.imul(ah3, bh8) | 0, lo = lo + Math.imul(al2, bl9) | 0, mid = mid + Math.imul(al2, bh9) | 0, mid = mid + Math.imul(ah2, bl9) | 0, hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0, w11 &= 67108863, lo = Math.imul(al9, bl3), mid = Math.imul(al9, bh3), mid = mid + Math.imul(ah9, bl3) | 0, hi = Math.imul(ah9, bh3), lo = lo + Math.imul(al8, bl4) | 0, mid = mid + Math.imul(al8, bh4) | 0, mid = mid + Math.imul(ah8, bl4) | 0, hi = hi + Math.imul(ah8, bh4) | 0, lo = lo + Math.imul(al7, bl5) | 0, mid = mid + Math.imul(al7, bh5) | 0, mid = mid + Math.imul(ah7, bl5) | 0, hi = hi + Math.imul(ah7, bh5) | 0, lo = lo + Math.imul(al6, bl6) | 0, mid = mid + Math.imul(al6, bh6) | 0, mid = mid + Math.imul(ah6, bl6) | 0, hi = hi + Math.imul(ah6, bh6) | 0, lo = lo + Math.imul(al5, bl7) | 0, mid = mid + Math.imul(al5, bh7) | 0, mid = mid + Math.imul(ah5, bl7) | 0, hi = hi + Math.imul(ah5, bh7) | 0, lo = lo + Math.imul(al4, bl8) | 0, mid = mid + Math.imul(al4, bh8) | 0, mid = mid + Math.imul(ah4, bl8) | 0, hi = hi + Math.imul(ah4, bh8) | 0, lo = lo + Math.imul(al3, bl9) | 0, mid = mid + Math.imul(al3, bh9) | 0, mid = mid + Math.imul(ah3, bl9) | 0, hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0, w12 &= 67108863, lo = Math.imul(al9, bl4), mid = Math.imul(al9, bh4), mid = mid + Math.imul(ah9, bl4) | 0, hi = Math.imul(ah9, bh4), lo = lo + Math.imul(al8, bl5) | 0, mid = mid + Math.imul(al8, bh5) | 0, mid = mid + Math.imul(ah8, bl5) | 0, hi = hi + Math.imul(ah8, bh5) | 0, lo = lo + Math.imul(al7, bl6) | 0, mid = mid + Math.imul(al7, bh6) | 0, mid = mid + Math.imul(ah7, bl6) | 0, hi = hi + Math.imul(ah7, bh6) | 0, lo = lo + Math.imul(al6, bl7) | 0, mid = mid + Math.imul(al6, bh7) | 0, mid = mid + Math.imul(ah6, bl7) | 0, hi = hi + Math.imul(ah6, bh7) | 0, lo = lo + Math.imul(al5, bl8) | 0, mid = mid + Math.imul(al5, bh8) | 0, mid = mid + Math.imul(ah5, bl8) | 0, hi = hi + Math.imul(ah5, bh8) | 0, lo = lo + Math.imul(al4, bl9) | 0, mid = mid + Math.imul(al4, bh9) | 0, mid = mid + Math.imul(ah4, bl9) | 0, hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0, w13 &= 67108863, lo = Math.imul(al9, bl5), mid = Math.imul(al9, bh5), mid = mid + Math.imul(ah9, bl5) | 0, hi = Math.imul(ah9, bh5), lo = lo + Math.imul(al8, bl6) | 0, mid = mid + Math.imul(al8, bh6) | 0, mid = mid + Math.imul(ah8, bl6) | 0, hi = hi + Math.imul(ah8, bh6) | 0, lo = lo + Math.imul(al7, bl7) | 0, mid = mid + Math.imul(al7, bh7) | 0, mid = mid + Math.imul(ah7, bl7) | 0, hi = hi + Math.imul(ah7, bh7) | 0, lo = lo + Math.imul(al6, bl8) | 0, mid = mid + Math.imul(al6, bh8) | 0, mid = mid + Math.imul(ah6, bl8) | 0, hi = hi + Math.imul(ah6, bh8) | 0, lo = lo + Math.imul(al5, bl9) | 0, mid = mid + Math.imul(al5, bh9) | 0, mid = mid + Math.imul(ah5, bl9) | 0, hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0, w14 &= 67108863, lo = Math.imul(al9, bl6), mid = Math.imul(al9, bh6), mid = mid + Math.imul(ah9, bl6) | 0, hi = Math.imul(ah9, bh6), lo = lo + Math.imul(al8, bl7) | 0, mid = mid + Math.imul(al8, bh7) | 0, mid = mid + Math.imul(ah8, bl7) | 0, hi = hi + Math.imul(ah8, bh7) | 0, lo = lo + Math.imul(al7, bl8) | 0, mid = mid + Math.imul(al7, bh8) | 0, mid = mid + Math.imul(ah7, bl8) | 0, hi = hi + Math.imul(ah7, bh8) | 0, lo = lo + Math.imul(al6, bl9) | 0, mid = mid + Math.imul(al6, bh9) | 0, mid = mid + Math.imul(ah6, bl9) | 0, hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0, w15 &= 67108863, lo = Math.imul(al9, bl7), mid = Math.imul(al9, bh7), mid = mid + Math.imul(ah9, bl7) | 0, hi = Math.imul(ah9, bh7), lo = lo + Math.imul(al8, bl8) | 0, mid = mid + Math.imul(al8, bh8) | 0, mid = mid + Math.imul(ah8, bl8) | 0, hi = hi + Math.imul(ah8, bh8) | 0, lo = lo + Math.imul(al7, bl9) | 0, mid = mid + Math.imul(al7, bh9) | 0, mid = mid + Math.imul(ah7, bl9) | 0, hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0, w16 &= 67108863, lo = Math.imul(al9, bl8), mid = Math.imul(al9, bh8), mid = mid + Math.imul(ah9, bl8) | 0, hi = Math.imul(ah9, bh8), lo = lo + Math.imul(al8, bl9) | 0, mid = mid + Math.imul(al8, bh9) | 0, mid = mid + Math.imul(ah8, bl9) | 0, hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0, w17 &= 67108863, lo = Math.imul(al9, bl9), mid = Math.imul(al9, bh9), mid = mid + Math.imul(ah9, bl9) | 0, hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n return c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0, w18 &= 67108863, o[0] = w0, o[1] = w1, o[2] = w2, o[3] = w3, o[4] = w4, o[5] = w5, o[6] = w6, o[7] = w7, o[8] = w8, o[9] = w9, o[10] = w10, o[11] = w11, o[12] = w12, o[13] = w13, o[14] = w14, o[15] = w15, o[16] = w16, o[17] = w17, o[18] = w18, c !== 0 && (o[19] = c, out.length++), out;\n };\n Math.imul || (comb10MulTo = smallMulTo);\n function bigMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative, out.length = self2.length + num.length;\n for (var carry = 0, hncarry = 0, k = 0;k < out.length - 1; k++) {\n var ncarry = hncarry;\n hncarry = 0;\n for (var rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j, a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b, lo = r & 67108863;\n ncarry = ncarry + (r / 67108864 | 0) | 0, lo = lo + rword | 0, rword = lo & 67108863, ncarry = ncarry + (lo >>> 26) | 0, hncarry += ncarry >>> 26, ncarry &= 67108863;\n }\n out.words[k] = rword, carry = ncarry, ncarry = hncarry;\n }\n return carry !== 0 \? out.words[k] = carry : out.length--, out.strip();\n }\n function jumboMulTo(self2, num, out) {\n var fftm = new FFTM;\n return fftm.mulp(self2, num, out);\n }\n BN.prototype.mulTo = function(num, out) {\n var res, len = this.length + num.length;\n return this.length === 10 && num.length === 10 \? res = comb10MulTo(this, num, out) : len < 63 \? res = smallMulTo(this, num, out) : len < 1024 \? res = bigMulTo(this, num, out) : res = jumboMulTo(this, num, out), res;\n };\n function FFTM(x, y) {\n this.x = x, this.y = y;\n }\n FFTM.prototype = {}, FFTM.prototype.makeRBT = function(N) {\n for (var t = new @Array(N), l = BN.prototype._countBits(N) - 1, i = 0;i < N; i++)\n t[i] = this.revBin(i, l, N);\n return t;\n }, FFTM.prototype.revBin = function(x, l, N) {\n if (x === 0 || x === N - 1)\n return x;\n for (var rb = 0, i = 0;i < l; i++)\n rb |= (x & 1) << l - i - 1, x >>= 1;\n return rb;\n }, FFTM.prototype.permute = function(rbt, rws, iws, rtws, itws, N) {\n for (var i = 0;i < N; i++)\n rtws[i] = rws[rbt[i]], itws[i] = iws[rbt[i]];\n }, FFTM.prototype.transform = function(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for (var s = 1;s < N; s <<= 1)\n for (var l = s << 1, rtwdf = Math.cos(2 * Math.PI / l), itwdf = Math.sin(2 * Math.PI / l), p = 0;p < N; p += l)\n for (var rtwdf_ = rtwdf, itwdf_ = itwdf, j = 0;j < s; j++) {\n var re = rtws[p + j], ie = itws[p + j], ro = rtws[p + j + s], io = itws[p + j + s], rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro, ro = rx, rtws[p + j] = re + ro, itws[p + j] = ie + io, rtws[p + j + s] = re - ro, itws[p + j + s] = ie - io, j !== l && (rx = rtwdf * rtwdf_ - itwdf * itwdf_, itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_, rtwdf_ = rx);\n }\n }, FFTM.prototype.guessLen13b = function(n, m) {\n var N = Math.max(m, n) | 1, odd = N & 1, i = 0;\n for (N = N / 2 | 0;N; N = N >>> 1)\n i++;\n return 1 << i + 1 + odd;\n }, FFTM.prototype.conjugate = function(rws, iws, N) {\n if (!(N <= 1))\n for (var i = 0;i < N / 2; i++) {\n var t = rws[i];\n rws[i] = rws[N - i - 1], rws[N - i - 1] = t, t = iws[i], iws[i] = -iws[N - i - 1], iws[N - i - 1] = -t;\n }\n }, FFTM.prototype.normalize13b = function(ws, N) {\n for (var carry = 0, i = 0;i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 8192 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 67108863, w < 67108864 \? carry = 0 : carry = w / 67108864 | 0;\n }\n return ws;\n }, FFTM.prototype.convert13b = function(ws, len, rws, N) {\n for (var carry = 0, i = 0;i < len; i++)\n carry = carry + (ws[i] | 0), rws[2 * i] = carry & 8191, carry = carry >>> 13, rws[2 * i + 1] = carry & 8191, carry = carry >>> 13;\n for (i = 2 * len;i < N; ++i)\n rws[i] = 0;\n assert(carry === 0), assert((carry & -8192) === 0);\n }, FFTM.prototype.stub = function(N) {\n for (var ph = new @Array(N), i = 0;i < N; i++)\n ph[i] = 0;\n return ph;\n }, FFTM.prototype.mulp = function(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length), rbt = this.makeRBT(N), _ = this.stub(N), rws = new @Array(N), rwst = new @Array(N), iwst = new @Array(N), nrws = new @Array(N), nrwst = new @Array(N), niwst = new @Array(N), rmws = out.words;\n rmws.length = N, this.convert13b(x.words, x.length, rws, N), this.convert13b(y.words, y.length, nrws, N), this.transform(rws, _, rwst, iwst, N, rbt), this.transform(nrws, _, nrwst, niwst, N, rbt);\n for (var i = 0;i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i], rwst[i] = rx;\n }\n return this.conjugate(rwst, iwst, N), this.transform(rwst, iwst, rmws, _, N, rbt), this.conjugate(rmws, _, N), this.normalize13b(rmws, N), out.negative = x.negative ^ y.negative, out.length = x.length + y.length, out.strip();\n }, BN.prototype.mul = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), this.mulTo(num, out);\n }, BN.prototype.mulf = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), jumboMulTo(this, num, out);\n }, BN.prototype.imul = function(num) {\n return this.clone().mulTo(num, this);\n }, BN.prototype.imuln = function(num) {\n assert(typeof num == \"number\"), assert(num < 67108864);\n for (var carry = 0, i = 0;i < this.length; i++) {\n var w = (this.words[i] | 0) * num, lo = (w & 67108863) + (carry & 67108863);\n carry >>= 26, carry += w / 67108864 | 0, carry += lo >>> 26, this.words[i] = lo & 67108863;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.muln = function(num) {\n return this.clone().imuln(num);\n }, BN.prototype.sqr = function() {\n return this.mul(this);\n }, BN.prototype.isqr = function() {\n return this.imul(this.clone());\n }, BN.prototype.pow = function(num) {\n var w = toBitArray(num);\n if (w.length === 0)\n return new BN(1);\n for (var res = this, i = 0;i < w.length && w[i] === 0; i++, res = res.sqr())\n ;\n if (++i < w.length)\n for (var q = res.sqr();i < w.length; i++, q = q.sqr())\n w[i] !== 0 && (res = res.mul(q));\n return res;\n }, BN.prototype.iushln = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26, carryMask = 67108863 >>> 26 - r << 26 - r, i;\n if (r !== 0) {\n var carry = 0;\n for (i = 0;i < this.length; i++) {\n var newCarry = this.words[i] & carryMask, c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry, carry = newCarry >>> 26 - r;\n }\n carry && (this.words[i] = carry, this.length++);\n }\n if (s !== 0) {\n for (i = this.length - 1;i >= 0; i--)\n this.words[i + s] = this.words[i];\n for (i = 0;i < s; i++)\n this.words[i] = 0;\n this.length += s;\n }\n return this.strip();\n }, BN.prototype.ishln = function(bits) {\n return assert(this.negative === 0), this.iushln(bits);\n }, BN.prototype.iushrn = function(bits, hint, extended) {\n assert(typeof bits == \"number\" && bits >= 0);\n var h;\n hint \? h = (hint - hint % 26) / 26 : h = 0;\n var r = bits % 26, s = Math.min((bits - r) / 26, this.length), mask = 67108863 ^ 67108863 >>> r << r, maskedWords = extended;\n if (h -= s, h = Math.max(0, h), maskedWords) {\n for (var i = 0;i < s; i++)\n maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s !== 0)\n if (this.length > s)\n for (this.length -= s, i = 0;i < this.length; i++)\n this.words[i] = this.words[i + s];\n else\n this.words[0] = 0, this.length = 1;\n var carry = 0;\n for (i = this.length - 1;i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r, carry = word & mask;\n }\n return maskedWords && carry !== 0 && (maskedWords.words[maskedWords.length++] = carry), this.length === 0 && (this.words[0] = 0, this.length = 1), this.strip();\n }, BN.prototype.ishrn = function(bits, hint, extended) {\n return assert(this.negative === 0), this.iushrn(bits, hint, extended);\n }, BN.prototype.shln = function(bits) {\n return this.clone().ishln(bits);\n }, BN.prototype.ushln = function(bits) {\n return this.clone().iushln(bits);\n }, BN.prototype.shrn = function(bits) {\n return this.clone().ishrn(bits);\n }, BN.prototype.ushrn = function(bits) {\n return this.clone().iushrn(bits);\n }, BN.prototype.testn = function(bit) {\n assert(typeof bit == \"number\" && bit >= 0);\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return !1;\n var w = this.words[s];\n return !!(w & q);\n }, BN.prototype.imaskn = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26;\n if (assert(this.negative === 0, \"imaskn works only with positive numbers\"), this.length <= s)\n return this;\n if (r !== 0 && s++, this.length = Math.min(s, this.length), r !== 0) {\n var mask = 67108863 ^ 67108863 >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this.strip();\n }, BN.prototype.maskn = function(bits) {\n return this.clone().imaskn(bits);\n }, BN.prototype.iaddn = function(num) {\n return assert(typeof num == \"number\"), assert(num < 67108864), num < 0 \? this.isubn(-num) : this.negative !== 0 \? this.length === 1 && (this.words[0] | 0) < num \? (this.words[0] = num - (this.words[0] | 0), this.negative = 0, this) : (this.negative = 0, this.isubn(num), this.negative = 1, this) : this._iaddn(num);\n }, BN.prototype._iaddn = function(num) {\n this.words[0] += num;\n for (var i = 0;i < this.length && this.words[i] >= 67108864; i++)\n this.words[i] -= 67108864, i === this.length - 1 \? this.words[i + 1] = 1 : this.words[i + 1]++;\n return this.length = Math.max(this.length, i + 1), this;\n }, BN.prototype.isubn = function(num) {\n if (assert(typeof num == \"number\"), assert(num < 67108864), num < 0)\n return this.iaddn(-num);\n if (this.negative !== 0)\n return this.negative = 0, this.iaddn(num), this.negative = 1, this;\n if (this.words[0] -= num, this.length === 1 && this.words[0] < 0)\n this.words[0] = -this.words[0], this.negative = 1;\n else\n for (var i = 0;i < this.length && this.words[i] < 0; i++)\n this.words[i] += 67108864, this.words[i + 1] -= 1;\n return this.strip();\n }, BN.prototype.addn = function(num) {\n return this.clone().iaddn(num);\n }, BN.prototype.subn = function(num) {\n return this.clone().isubn(num);\n }, BN.prototype.iabs = function() {\n return this.negative = 0, this;\n }, BN.prototype.abs = function() {\n return this.clone().iabs();\n }, BN.prototype._ishlnsubmul = function(num, mul, shift) {\n var len = num.length + shift, i;\n this._expand(len);\n var w, carry = 0;\n for (i = 0;i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 67108863, carry = (w >> 26) - (right / 67108864 | 0), this.words[i + shift] = w & 67108863;\n }\n for (;i < this.length - shift; i++)\n w = (this.words[i + shift] | 0) + carry, carry = w >> 26, this.words[i + shift] = w & 67108863;\n if (carry === 0)\n return this.strip();\n for (assert(carry === -1), carry = 0, i = 0;i < this.length; i++)\n w = -(this.words[i] | 0) + carry, carry = w >> 26, this.words[i] = w & 67108863;\n return this.negative = 1, this.strip();\n }, BN.prototype._wordDiv = function(num, mode) {\n var shift = this.length - num.length, a = this.clone(), b = num, bhi = b.words[b.length - 1] | 0, bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits, shift !== 0 && (b = b.ushln(shift), a.iushln(shift), bhi = b.words[b.length - 1] | 0);\n var m = a.length - b.length, q;\n if (mode !== \"mod\") {\n q = new BN(null), q.length = m + 1, q.words = new @Array(q.length);\n for (var i = 0;i < q.length; i++)\n q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n diff.negative === 0 && (a = diff, q && (q.words[m] = 1));\n for (var j = m - 1;j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 67108864 + (a.words[b.length + j - 1] | 0);\n for (qj = Math.min(qj / bhi | 0, 67108863), a._ishlnsubmul(b, qj, j);a.negative !== 0; )\n qj--, a.negative = 0, a._ishlnsubmul(b, 1, j), a.isZero() || (a.negative ^= 1);\n q && (q.words[j] = qj);\n }\n return q && q.strip(), a.strip(), mode !== \"div\" && shift !== 0 && a.iushrn(shift), {\n div: q || null,\n mod: a\n };\n }, BN.prototype.divmod = function(num, mode, positive) {\n if (assert(!num.isZero()), this.isZero())\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n return this.negative !== 0 && num.negative === 0 \? (res = this.neg().divmod(num, mode), mode !== \"mod\" && (div = res.div.neg()), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.iadd(num)), {\n div,\n mod\n }) : this.negative === 0 && num.negative !== 0 \? (res = this.divmod(num.neg(), mode), mode !== \"mod\" && (div = res.div.neg()), {\n div,\n mod: res.mod\n }) : (this.negative & num.negative) !== 0 \? (res = this.neg().divmod(num.neg(), mode), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.isub(num)), {\n div: res.div,\n mod\n }) : num.length > this.length || this.cmp(num) < 0 \? {\n div: new BN(0),\n mod: this\n } : num.length === 1 \? mode === \"div\" \? {\n div: this.divn(num.words[0]),\n mod: null\n } : mode === \"mod\" \? {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n } : {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n } : this._wordDiv(num, mode);\n }, BN.prototype.div = function(num) {\n return this.divmod(num, \"div\", !1).div;\n }, BN.prototype.mod = function(num) {\n return this.divmod(num, \"mod\", !1).mod;\n }, BN.prototype.umod = function(num) {\n return this.divmod(num, \"mod\", !0).mod;\n }, BN.prototype.divRound = function(num) {\n var dm = this.divmod(num);\n if (dm.mod.isZero())\n return dm.div;\n var mod = dm.div.negative !== 0 \? dm.mod.isub(num) : dm.mod, half = num.ushrn(1), r2 = num.andln(1), cmp = mod.cmp(half);\n return cmp < 0 || r2 === 1 && cmp === 0 \? dm.div : dm.div.negative !== 0 \? dm.div.isubn(1) : dm.div.iaddn(1);\n }, BN.prototype.modn = function(num) {\n assert(num <= 67108863);\n for (var p = (1 << 26) % num, acc = 0, i = this.length - 1;i >= 0; i--)\n acc = (p * acc + (this.words[i] | 0)) % num;\n return acc;\n }, BN.prototype.idivn = function(num) {\n assert(num <= 67108863);\n for (var carry = 0, i = this.length - 1;i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 67108864;\n this.words[i] = w / num | 0, carry = w % num;\n }\n return this.strip();\n }, BN.prototype.divn = function(num) {\n return this.clone().idivn(num);\n }, BN.prototype.egcd = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var x = this, y = p.clone();\n x.negative !== 0 \? x = x.umod(p) : x = x.clone();\n for (var A = new BN(1), B = new BN(0), C = new BN(0), D = new BN(1), g = 0;x.isEven() && y.isEven(); )\n x.iushrn(1), y.iushrn(1), ++g;\n for (var yp = y.clone(), xp = x.clone();!x.isZero(); ) {\n for (var i = 0, im = 1;(x.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (x.iushrn(i);i-- > 0; )\n (A.isOdd() || B.isOdd()) && (A.iadd(yp), B.isub(xp)), A.iushrn(1), B.iushrn(1);\n for (var j = 0, jm = 1;(y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (y.iushrn(j);j-- > 0; )\n (C.isOdd() || D.isOdd()) && (C.iadd(yp), D.isub(xp)), C.iushrn(1), D.iushrn(1);\n x.cmp(y) >= 0 \? (x.isub(y), A.isub(C), B.isub(D)) : (y.isub(x), C.isub(A), D.isub(B));\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n }, BN.prototype._invmp = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var a = this, b = p.clone();\n a.negative !== 0 \? a = a.umod(p) : a = a.clone();\n for (var x1 = new BN(1), x2 = new BN(0), delta = b.clone();a.cmpn(1) > 0 && b.cmpn(1) > 0; ) {\n for (var i = 0, im = 1;(a.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (a.iushrn(i);i-- > 0; )\n x1.isOdd() && x1.iadd(delta), x1.iushrn(1);\n for (var j = 0, jm = 1;(b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (b.iushrn(j);j-- > 0; )\n x2.isOdd() && x2.iadd(delta), x2.iushrn(1);\n a.cmp(b) >= 0 \? (a.isub(b), x1.isub(x2)) : (b.isub(a), x2.isub(x1));\n }\n var res;\n return a.cmpn(1) === 0 \? res = x1 : res = x2, res.cmpn(0) < 0 && res.iadd(p), res;\n }, BN.prototype.gcd = function(num) {\n if (this.isZero())\n return num.abs();\n if (num.isZero())\n return this.abs();\n var a = this.clone(), b = num.clone();\n a.negative = 0, b.negative = 0;\n for (var shift = 0;a.isEven() && b.isEven(); shift++)\n a.iushrn(1), b.iushrn(1);\n do {\n for (;a.isEven(); )\n a.iushrn(1);\n for (;b.isEven(); )\n b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n var t = a;\n a = b, b = t;\n } else if (r === 0 || b.cmpn(1) === 0)\n break;\n a.isub(b);\n } while (!0);\n return b.iushln(shift);\n }, BN.prototype.invm = function(num) {\n return this.egcd(num).a.umod(num);\n }, BN.prototype.isEven = function() {\n return (this.words[0] & 1) === 0;\n }, BN.prototype.isOdd = function() {\n return (this.words[0] & 1) === 1;\n }, BN.prototype.andln = function(num) {\n return this.words[0] & num;\n }, BN.prototype.bincn = function(bit) {\n assert(typeof bit == \"number\");\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return this._expand(s + 1), this.words[s] |= q, this;\n for (var carry = q, i = s;carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry, carry = w >>> 26, w &= 67108863, this.words[i] = w;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.isZero = function() {\n return this.length === 1 && this.words[0] === 0;\n }, BN.prototype.cmpn = function(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative)\n return -1;\n if (this.negative === 0 && negative)\n return 1;\n this.strip();\n var res;\n if (this.length > 1)\n res = 1;\n else {\n negative && (num = -num), assert(num <= 67108863, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num \? 0 : w < num \? -1 : 1;\n }\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.cmp = function(num) {\n if (this.negative !== 0 && num.negative === 0)\n return -1;\n if (this.negative === 0 && num.negative !== 0)\n return 1;\n var res = this.ucmp(num);\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.ucmp = function(num) {\n if (this.length > num.length)\n return 1;\n if (this.length < num.length)\n return -1;\n for (var res = 0, i = this.length - 1;i >= 0; i--) {\n var a = this.words[i] | 0, b = num.words[i] | 0;\n if (a !== b) {\n a < b \? res = -1 : a > b && (res = 1);\n break;\n }\n }\n return res;\n }, BN.prototype.gtn = function(num) {\n return this.cmpn(num) === 1;\n }, BN.prototype.gt = function(num) {\n return this.cmp(num) === 1;\n }, BN.prototype.gten = function(num) {\n return this.cmpn(num) >= 0;\n }, BN.prototype.gte = function(num) {\n return this.cmp(num) >= 0;\n }, BN.prototype.ltn = function(num) {\n return this.cmpn(num) === -1;\n }, BN.prototype.lt = function(num) {\n return this.cmp(num) === -1;\n }, BN.prototype.lten = function(num) {\n return this.cmpn(num) <= 0;\n }, BN.prototype.lte = function(num) {\n return this.cmp(num) <= 0;\n }, BN.prototype.eqn = function(num) {\n return this.cmpn(num) === 0;\n }, BN.prototype.eq = function(num) {\n return this.cmp(num) === 0;\n }, BN.red = function(num) {\n return new Red(num);\n }, BN.prototype.toRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), assert(this.negative === 0, \"red works only with positives\"), ctx.convertTo(this)._forceRed(ctx);\n }, BN.prototype.fromRed = function() {\n return assert(this.red, \"fromRed works only with numbers in reduction context\"), this.red.convertFrom(this);\n }, BN.prototype._forceRed = function(ctx) {\n return this.red = ctx, this;\n }, BN.prototype.forceRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), this._forceRed(ctx);\n }, BN.prototype.redAdd = function(num) {\n return assert(this.red, \"redAdd works only with red numbers\"), this.red.add(this, num);\n }, BN.prototype.redIAdd = function(num) {\n return assert(this.red, \"redIAdd works only with red numbers\"), this.red.iadd(this, num);\n }, BN.prototype.redSub = function(num) {\n return assert(this.red, \"redSub works only with red numbers\"), this.red.sub(this, num);\n }, BN.prototype.redISub = function(num) {\n return assert(this.red, \"redISub works only with red numbers\"), this.red.isub(this, num);\n }, BN.prototype.redShl = function(num) {\n return assert(this.red, \"redShl works only with red numbers\"), this.red.shl(this, num);\n }, BN.prototype.redMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.mul(this, num);\n }, BN.prototype.redIMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.imul(this, num);\n }, BN.prototype.redSqr = function() {\n return assert(this.red, \"redSqr works only with red numbers\"), this.red._verify1(this), this.red.sqr(this);\n }, BN.prototype.redISqr = function() {\n return assert(this.red, \"redISqr works only with red numbers\"), this.red._verify1(this), this.red.isqr(this);\n }, BN.prototype.redSqrt = function() {\n return assert(this.red, \"redSqrt works only with red numbers\"), this.red._verify1(this), this.red.sqrt(this);\n }, BN.prototype.redInvm = function() {\n return assert(this.red, \"redInvm works only with red numbers\"), this.red._verify1(this), this.red.invm(this);\n }, BN.prototype.redNeg = function() {\n return assert(this.red, \"redNeg works only with red numbers\"), this.red._verify1(this), this.red.neg(this);\n }, BN.prototype.redPow = function(num) {\n return assert(this.red && !num.red, \"redPow(normalNum)\"), this.red._verify1(this), this.red.pow(this, num);\n };\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n function MPrime(name, p) {\n this.name = name, this.p = new BN(p, 16), this.n = this.p.bitLength(), this.k = new BN(1).iushln(this.n).isub(this.p), this.tmp = this._tmp();\n }\n MPrime.prototype = {}, MPrime.prototype._tmp = function() {\n var tmp = new BN(null);\n return tmp.words = new @Array(Math.ceil(this.n / 13)), tmp;\n }, MPrime.prototype.ireduce = function(num) {\n var r = num, rlen;\n do\n this.split(r, this.tmp), r = this.imulK(r), r = r.iadd(this.tmp), rlen = r.bitLength();\n while (rlen > this.n);\n var cmp = rlen < this.n \? -1 : r.ucmp(this.p);\n return cmp === 0 \? (r.words[0] = 0, r.length = 1) : cmp > 0 \? r.isub(this.p) : r.strip !== void 0 \? r.strip() : r._strip(), r;\n }, MPrime.prototype.split = function(input, out) {\n input.iushrn(this.n, 0, out);\n }, MPrime.prototype.imulK = function(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.@call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime), K256.prototype.split = function(input, output) {\n for (var mask = 4194303, outLen = Math.min(input.length, 9), i = 0;i < outLen; i++)\n output.words[i] = input.words[i];\n if (output.length = outLen, input.length <= 9) {\n input.words[0] = 0, input.length = 1;\n return;\n }\n var prev = input.words[9];\n for (output.words[output.length++] = prev & mask, i = 10;i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22, prev = next;\n }\n prev >>>= 22, input.words[i - 10] = prev, prev === 0 && input.length > 10 \? input.length -= 10 : input.length -= 9;\n }, K256.prototype.imulK = function(num) {\n num.words[num.length] = 0, num.words[num.length + 1] = 0, num.length += 2;\n for (var lo = 0, i = 0;i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 977, num.words[i] = lo & 67108863, lo = w * 64 + (lo / 67108864 | 0);\n }\n return num.words[num.length - 1] === 0 && (num.length--, num.words[num.length - 1] === 0 && num.length--), num;\n };\n function P224() {\n MPrime.@call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.@call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n MPrime.@call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime), P25519.prototype.imulK = function(num) {\n for (var carry = 0, i = 0;i < num.length; i++) {\n var hi = (num.words[i] | 0) * 19 + carry, lo = hi & 67108863;\n hi >>>= 26, num.words[i] = lo, carry = hi;\n }\n return carry !== 0 && (num.words[num.length++] = carry), num;\n }, BN._prime = function(name) {\n if (primes[name])\n return primes[name];\n var prime2;\n if (name === \"k256\")\n prime2 = new K256;\n else if (name === \"p224\")\n prime2 = new P224;\n else if (name === \"p192\")\n prime2 = new P192;\n else if (name === \"p25519\")\n prime2 = new P25519;\n else\n throw new Error(\"Unknown prime \" + name);\n return primes[name] = prime2, prime2;\n };\n function Red(m) {\n if (typeof m == \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p, this.prime = prime;\n } else\n assert(m.gtn(1), \"modulus must be greater than 1\"), this.m = m, this.prime = null;\n }\n Red.prototype = {}, Red.prototype._verify1 = function(a) {\n assert(a.negative === 0, \"red works only with positives\"), assert(a.red, \"red works only with red numbers\");\n }, Red.prototype._verify2 = function(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\"), assert(a.red && a.red === b.red, \"red works only with red numbers\");\n }, Red.prototype.imod = function(a) {\n return this.prime \? this.prime.ireduce(a)._forceRed(this) : a.umod(this.m)._forceRed(this);\n }, Red.prototype.neg = function(a) {\n return a.isZero() \? a.clone() : this.m.sub(a)._forceRed(this);\n }, Red.prototype.add = function(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res._forceRed(this);\n }, Red.prototype.iadd = function(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res;\n }, Red.prototype.sub = function(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res._forceRed(this);\n }, Red.prototype.isub = function(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res;\n }, Red.prototype.shl = function(a, num) {\n return this._verify1(a), this.imod(a.ushln(num));\n }, Red.prototype.imul = function(a, b) {\n return this._verify2(a, b), this.imod(a.imul(b));\n }, Red.prototype.mul = function(a, b) {\n return this._verify2(a, b), this.imod(a.mul(b));\n }, Red.prototype.isqr = function(a) {\n return this.imul(a, a.clone());\n }, Red.prototype.sqr = function(a) {\n return this.mul(a, a);\n }, Red.prototype.sqrt = function(a) {\n if (a.isZero())\n return a.clone();\n var mod3 = this.m.andln(3);\n if (assert(mod3 % 2 === 1), mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n for (var q = this.m.subn(1), s = 0;!q.isZero() && q.andln(1) === 0; )\n s++, q.iushrn(1);\n assert(!q.isZero());\n var one = new BN(1).toRed(this), nOne = one.redNeg(), lpow = this.m.subn(1).iushrn(1), z = this.m.bitLength();\n for (z = new BN(2 * z * z).toRed(this);this.pow(z, lpow).cmp(nOne) !== 0; )\n z.redIAdd(nOne);\n for (var c = this.pow(z, q), r = this.pow(a, q.addn(1).iushrn(1)), t = this.pow(a, q), m = s;t.cmp(one) !== 0; ) {\n for (var tmp = t, i = 0;tmp.cmp(one) !== 0; i++)\n tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b), c = b.redSqr(), t = t.redMul(c), m = i;\n }\n return r;\n }, Red.prototype.invm = function(a) {\n var inv = a._invmp(this.m);\n return inv.negative !== 0 \? (inv.negative = 0, this.imod(inv).redNeg()) : this.imod(inv);\n }, Red.prototype.pow = function(a, num) {\n if (num.isZero())\n return new BN(1).toRed(this);\n if (num.cmpn(1) === 0)\n return a.clone();\n var windowSize = 4, wnd = new @Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this), wnd[1] = a;\n for (var i = 2;i < wnd.length; i++)\n wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0], current = 0, currentLen = 0, start = num.bitLength() % 26;\n for (start === 0 && (start = 26), i = num.length - 1;i >= 0; i--) {\n for (var word = num.words[i], j = start - 1;j >= 0; j--) {\n var bit = word >> j & 1;\n if (res !== wnd[0] && (res = this.sqr(res)), bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1, current |= bit, currentLen++, !(currentLen !== windowSize && (i !== 0 || j !== 0)) && (res = this.mul(res, wnd[current]), currentLen = 0, current = 0);\n }\n start = 26;\n }\n return res;\n }, Red.prototype.convertTo = function(num) {\n var r = num.umod(this.m);\n return r === num \? r.clone() : r;\n }, Red.prototype.convertFrom = function(num) {\n var res = num.clone();\n return res.red = null, res;\n }, BN.mont = function(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.@call(this, m), this.shift = this.m.bitLength(), this.shift % 26 !== 0 && (this.shift += 26 - this.shift % 26), this.r = new BN(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red), Mont.prototype.convertTo = function(num) {\n return this.imod(num.ushln(this.shift));\n }, Mont.prototype.convertFrom = function(num) {\n var r = this.imod(num.mul(this.rinv));\n return r.red = null, r;\n }, Mont.prototype.imul = function(a, b) {\n if (a.isZero() || b.isZero())\n return a.words[0] = 0, a.length = 1, a;\n var t = a.imul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.mul = function(a, b) {\n if (a.isZero() || b.isZero())\n return new BN(0)._forceRed(this);\n var t = a.mul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.invm = function(a) {\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n })(typeof module > \"u\" || module, exports);\n }\n}), require_bn2 = require_bn, require_brorand = __commonJS({\n \"node_modules/brorand/index.js\"(exports, module) {\n var r;\n module.exports = function(len) {\n return r || (r = new Rand(null)), r.generate(len);\n };\n function Rand(rand) {\n this.rand = rand;\n }\n Rand.prototype = {}, module.exports.Rand = Rand, Rand.prototype.generate = function(len) {\n return this._rand(len);\n }, Rand.prototype._rand = function(n) {\n var out = new Buffer(n);\n return crypto.getRandomValues(out), out;\n };\n }\n}), require_mr = __commonJS({\n \"node_modules/miller-rabin/lib/mr.js\"(exports, module) {\n var bn = require_bn2(), brorand = require_brorand();\n function MillerRabin(rand) {\n this.rand = rand || new brorand.Rand;\n }\n module.exports = MillerRabin, MillerRabin.create = function(rand) {\n return new MillerRabin(rand);\n }, MillerRabin.prototype = {}, MillerRabin.prototype._randbelow = function(n) {\n var len = n.bitLength(), min_bytes = Math.ceil(len / 8);\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n return a;\n }, MillerRabin.prototype._randrange = function(start, stop) {\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n }, MillerRabin.prototype.test = function(n, k, cb) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red), prime = !0;k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n cb && cb(a);\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return !1;\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return !1;\n }\n }\n return prime;\n }, MillerRabin.prototype.getDivisor = function(n, k) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red);k > 0; k--) {\n var a = this._randrange(new bn(2), n1), g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return x = x.redSqr(), x.fromRed().subn(1).gcd(n);\n }\n }\n return !1;\n };\n }\n}), require_generatePrime = __commonJS({\n \"node_modules/diffie-hellman/lib/generatePrime.js\"(exports, module) {\n var randomBytes = require_browser();\n module.exports = findPrime, findPrime.simpleSieve = simpleSieve, findPrime.fermatTest = fermatTest;\n var BN = require_bn(), TWENTYFOUR = new BN(24), MillerRabin = require_mr(), millerRabin = new MillerRabin, ONE = new BN(1), TWO = new BN(2), FIVE = new BN(5), SIXTEEN = new BN(16), EIGHT = new BN(8), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), ELEVEN = new BN(11), FOUR = new BN(4), TWELVE = new BN(12), primes = null;\n function _getPrimes() {\n if (primes !== null)\n return primes;\n var limit = 1048576, res = [];\n res[0] = 2;\n for (var i = 1, k = 3;k < limit; k += 2) {\n for (var sqrt = Math.ceil(Math.sqrt(k)), j = 0;j < i && res[j] <= sqrt && k % res[j] !== 0; j++)\n ;\n i !== j && res[j] <= sqrt || (res[i++] = k);\n }\n return primes = res, res;\n }\n function simpleSieve(p) {\n for (var primes2 = _getPrimes(), i = 0;i < primes2.length; i++)\n if (p.modn(primes2[i]) === 0)\n return p.cmpn(primes2[i]) === 0;\n return !0;\n }\n function fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n }\n function findPrime(bits, gen) {\n if (bits < 16)\n return gen === 2 || gen === 5 \? new BN([140, 123]) : new BN([140, 39]);\n gen = new BN(gen);\n for (var num, n2;; ) {\n for (num = new BN(randomBytes(Math.ceil(bits / 8)));num.bitLength() > bits; )\n num.ishrn(1);\n if (num.isEven() && num.iadd(ONE), num.testn(1) || num.iadd(TWO), gen.cmp(TWO)) {\n if (!gen.cmp(FIVE))\n for (;num.mod(TEN).cmp(THREE); )\n num.iadd(FOUR);\n } else\n for (;num.mod(TWENTYFOUR).cmp(ELEVEN); )\n num.iadd(FOUR);\n if (n2 = num.shrn(1), simpleSieve(n2) && simpleSieve(num) && fermatTest(n2) && fermatTest(num) && millerRabin.test(n2) && millerRabin.test(num))\n return num;\n }\n }\n }\n}), require_primes = __commonJS({\n \"node_modules/diffie-hellman/lib/primes.json\"(exports, module) {\n module.exports = {\n modp1: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"\n },\n modp2: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"\n },\n modp5: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"\n },\n modp14: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"\n },\n modp15: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"\n },\n modp16: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"\n },\n modp17: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"\n },\n modp18: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"\n }\n };\n }\n}), require_dh = __commonJS({\n \"node_modules/diffie-hellman/lib/dh.js\"(exports, module) {\n var BN = require_bn(), MillerRabin = require_mr(), millerRabin = new MillerRabin, TWENTYFOUR = new BN(24), ELEVEN = new BN(11), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), primes = require_generatePrime(), randomBytes = require_browser();\n module.exports = DH;\n function setPublicKey(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this._pub = new BN(pub), this;\n }\n function setPrivateKey(priv, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc)), this._priv = new BN(priv), this;\n }\n var primeCache = {};\n function checkPrime(prime, generator) {\n var gen = generator.toString(\"hex\"), hex = [gen, prime.toString(16)].join(\"_\");\n if (hex in primeCache)\n return primeCache[hex];\n var error = 0;\n if (prime.isEven() || !primes.simpleSieve || !primes.fermatTest(prime) || !millerRabin.test(prime))\n return error += 1, gen === \"02\" || gen === \"05\" \? error += 8 : error += 4, primeCache[hex] = error, error;\n millerRabin.test(prime.shrn(1)) || (error += 2);\n var rem;\n switch (gen) {\n case \"02\":\n prime.mod(TWENTYFOUR).cmp(ELEVEN) && (error += 8);\n break;\n case \"05\":\n rem = prime.mod(TEN), rem.cmp(THREE) && rem.cmp(SEVEN) && (error += 8);\n break;\n default:\n error += 4;\n }\n return primeCache[hex] = error, error;\n }\n function DH(prime, generator, malleable) {\n this.setGenerator(generator), this.__prime = new BN(prime), this._prime = BN.mont(this.__prime), this._primeLen = prime.length, this._pub = void 0, this._priv = void 0, this._primeCode = void 0, malleable \? (this.setPublicKey = setPublicKey, this.setPrivateKey = setPrivateKey) : this._primeCode = 8;\n }\n DH.prototype = {}, Object.defineProperty(DH.prototype, \"verifyError\", {\n enumerable: !0,\n get: function() {\n return typeof this._primeCode != \"number\" && (this._primeCode = checkPrime(this.__prime, this.__gen)), this._primeCode;\n }\n }), DH.prototype.generateKeys = function() {\n return this._priv || (this._priv = new BN(randomBytes(this._primeLen))), this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(), this.getPublicKey();\n }, DH.prototype.computeSecret = function(other) {\n other = new BN(other), other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed(), out = new Buffer(secret.toArray()), prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0), out = Buffer.concat([front, out]);\n }\n return out;\n }, DH.prototype.getPublicKey = function(enc) {\n return formatReturnValue(this._pub, enc);\n }, DH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this._priv, enc);\n }, DH.prototype.getPrime = function(enc) {\n return formatReturnValue(this.__prime, enc);\n }, DH.prototype.getGenerator = function(enc) {\n return formatReturnValue(this._gen, enc);\n }, DH.prototype.setGenerator = function(gen, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(gen) || (gen = new Buffer(gen, enc)), this.__gen = gen, this._gen = new BN(gen), this;\n };\n function formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_browser7 = __commonJS({\n \"node_modules/diffie-hellman/browser.js\"(exports) {\n var generatePrime = require_generatePrime(), primes = require_primes(), DH = require_dh();\n function getDiffieHellman(mod) {\n var prime = new Buffer(primes[mod].prime, \"hex\"), gen = new Buffer(primes[mod].gen, \"hex\");\n return new DH(prime, gen);\n }\n var ENCODINGS = {\n binary: !0,\n hex: !0,\n base64: !0\n };\n function createDiffieHellman(prime, enc, generator, genc) {\n return Buffer.isBuffer(enc) || ENCODINGS[enc] === void 0 \? createDiffieHellman(prime, \"binary\", enc, generator) : (enc = enc || \"binary\", genc = genc || \"binary\", generator = generator || new Buffer([2]), Buffer.isBuffer(generator) || (generator = new Buffer(generator, genc)), typeof prime == \"number\" \? new DH(generatePrime(prime, generator), generator, !0) : (Buffer.isBuffer(prime) || (prime = new Buffer(prime, enc)), new DH(prime, generator, !0)));\n }\n exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman, exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman;\n }\n}), require_bn3 = require_bn, require_browserify_rsa = __commonJS({\n \"node_modules/browserify-rsa/index.js\"(exports, module) {\n var BN = require_bn3(), randomBytes = require_browser();\n function blind(priv) {\n var r = getr(priv), blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();\n return { blinder, unblinder: r.invm(priv.modulus) };\n }\n function getr(priv) {\n var len = priv.modulus.byteLength(), r;\n do\n r = new BN(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2));\n return r;\n }\n function crt(msg, priv) {\n var blinds = blind(priv), len = priv.modulus.byteLength(), blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus), c1 = blinded.toRed(BN.mont(priv.prime1)), c2 = blinded.toRed(BN.mont(priv.prime2)), qinv = priv.coefficient, p = priv.prime1, q = priv.prime2, m1 = c1.redPow(priv.exponent1).fromRed(), m2 = c2.redPow(priv.exponent2).fromRed(), h = m1.isub(m2).imul(qinv).umod(p).imul(q);\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, \"be\", len);\n }\n crt.getr = getr, module.exports = crt;\n }\n}), require_package = __commonJS({\n \"node_modules/elliptic/package.json\"(exports, module) {\n module.exports = {\n name: \"elliptic\",\n version: \"6.5.4\",\n description: \"EC cryptography\",\n main: \"lib/elliptic.js\",\n files: [\"lib\"],\n scripts: {\n lint: \"eslint lib test\",\n \"lint:fix\": \"npm run lint -- --fix\",\n unit: \"istanbul test _mocha --reporter=spec test/index.js\",\n test: \"npm run lint && npm run unit\",\n version: \"grunt dist && git add dist/\"\n },\n repository: {\n type: \"git\",\n url: \"git@github.com:indutny/elliptic\"\n },\n keywords: [\"EC\", \"Elliptic\", \"curve\", \"Cryptography\"],\n author: \"Fedor Indutny <fedor@indutny.com>\",\n license: \"MIT\",\n bugs: {\n url: \"https://github.com/indutny/elliptic/issues\"\n },\n homepage: \"https://github.com/indutny/elliptic\",\n devDependencies: {\n brfs: \"^2.0.2\",\n coveralls: \"^3.1.0\",\n eslint: \"^7.6.0\",\n grunt: \"^1.2.1\",\n \"grunt-browserify\": \"^5.3.0\",\n \"grunt-cli\": \"^1.3.2\",\n \"grunt-contrib-connect\": \"^3.0.0\",\n \"grunt-contrib-copy\": \"^1.0.0\",\n \"grunt-contrib-uglify\": \"^5.0.0\",\n \"grunt-mocha-istanbul\": \"^5.0.2\",\n \"grunt-saucelabs\": \"^9.0.1\",\n istanbul: \"^0.4.5\",\n mocha: \"^8.0.1\"\n },\n dependencies: {\n \"bn.js\": \"^4.11.9\",\n brorand: \"^1.1.0\",\n \"hash.js\": \"^1.0.0\",\n \"hmac-drbg\": \"^1.0.1\",\n inherits: \"^2.0.4\",\n \"minimalistic-assert\": \"^1.0.1\",\n \"minimalistic-crypto-utils\": \"^1.0.1\"\n }\n };\n }\n}), require_bn4 = require_bn, require_utils2 = __commonJS({\n \"node_modules/minimalistic-crypto-utils/lib/utils.js\"(exports) {\n var utils = exports;\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg != \"string\") {\n for (var i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg);\n for (var i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i), hi = c >> 8, lo = c & 255;\n hi \? res.push(hi, lo) : res.push(lo);\n }\n return res;\n }\n utils.toArray = toArray;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n utils.zero2 = zero2;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n utils.toHex = toHex, utils.encode = function(arr, enc) {\n return enc === \"hex\" \? toHex(arr) : arr;\n };\n }\n}), require_utils3 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/utils.js\"(exports) {\n var utils = exports, BN = require_bn4(), minAssert = require_minimalistic_assert(), minUtils = require_utils2();\n utils.assert = minAssert, utils.toArray = minUtils.toArray, utils.zero2 = minUtils.zero2, utils.toHex = minUtils.toHex, utils.encode = minUtils.encode;\n function getNAF(num, w, bits) {\n var naf = new @Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n for (var ws = 1 << w + 1, k = num.clone(), i = 0;i < naf.length; i++) {\n var z, mod = k.andln(ws - 1);\n k.isOdd() \? (mod > (ws >> 1) - 1 \? z = (ws >> 1) - mod : z = mod, k.isubn(z)) : z = 0, naf[i] = z, k.iushrn(1);\n }\n return naf;\n }\n utils.getNAF = getNAF;\n function getJSF(k1, k2) {\n var jsf = [[], []];\n k1 = k1.clone(), k2 = k2.clone();\n for (var d1 = 0, d2 = 0, m8;k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0; ) {\n var m14 = k1.andln(3) + d1 & 3, m24 = k2.andln(3) + d2 & 3;\n m14 === 3 && (m14 = -1), m24 === 3 && (m24 = -1);\n var u1;\n (m14 & 1) === 0 \? u1 = 0 : (m8 = k1.andln(7) + d1 & 7, (m8 === 3 || m8 === 5) && m24 === 2 \? u1 = -m14 : u1 = m14), jsf[0].push(u1);\n var u2;\n (m24 & 1) === 0 \? u2 = 0 : (m8 = k2.andln(7) + d2 & 7, (m8 === 3 || m8 === 5) && m14 === 2 \? u2 = -m24 : u2 = m24), jsf[1].push(u2), 2 * d1 === u1 + 1 && (d1 = 1 - d1), 2 * d2 === u2 + 1 && (d2 = 1 - d2), k1.iushrn(1), k2.iushrn(1);\n }\n return jsf;\n }\n utils.getJSF = getJSF;\n function cachedProperty(obj, name, computer) {\n var key2 = \"_\" + name;\n obj.prototype[name] = function() {\n return this[key2] !== void 0 \? this[key2] : this[key2] = computer.@call(this);\n };\n }\n utils.cachedProperty = cachedProperty;\n function parseBytes(bytes) {\n if (bytes instanceof KeyObject)\n bytes = bytes.export();\n else if (bytes instanceof CryptoKey)\n bytes = KeyObject.from(bytes).export();\n return typeof bytes == \"string\" \? utils.toArray(bytes, \"hex\") : bytes;\n }\n utils.parseBytes = parseBytes;\n function intFromLE(bytes) {\n return new BN(bytes, \"hex\", \"le\");\n }\n utils.intFromLE = intFromLE;\n }\n}), require_base = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/base.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), getNAF = utils.getNAF, getJSF = utils.getJSF, assert = utils.assert;\n function BaseCurve(type, conf) {\n this.type = type, this.p = new BN(conf.p, 16), this.red = conf.prime \? BN.red(conf.prime) : BN.mont(this.p), this.zero = new BN(0).toRed(this.red), this.one = new BN(1).toRed(this.red), this.two = new BN(2).toRed(this.red), this.n = conf.n && new BN(conf.n, 16), this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed), this._wnafT1 = new @Array(4), this._wnafT2 = new @Array(4), this._wnafT3 = new @Array(4), this._wnafT4 = new @Array(4), this._bitLength = this.n \? this.n.bitLength() : 0;\n var adjustCount = this.n && this.p.div(this.n);\n !adjustCount || adjustCount.cmpn(100) > 0 \? this.redN = null : (this._maxwellTrick = !0, this.redN = this.n.toRed(this.red));\n }\n module.exports = BaseCurve, BaseCurve.prototype = {}, BaseCurve.prototype.point = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype.validate = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype._fixedNafMul = function(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles(), naf = getNAF(k, 1, this._bitLength), I = (1 << doubles.step + 1) - (doubles.step % 2 === 0 \? 2 : 1);\n I /= 3;\n var repr = [], j, nafW;\n for (j = 0;j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1;l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n for (var a = this.jpoint(null, null, null), b = this.jpoint(null, null, null), i = I;i > 0; i--) {\n for (j = 0;j < repr.length; j++)\n nafW = repr[j], nafW === i \? b = b.mixedAdd(doubles.points[j]) : nafW === -i && (b = b.mixedAdd(doubles.points[j].neg()));\n a = a.add(b);\n }\n return a.toP();\n }, BaseCurve.prototype._wnafMul = function(p, k) {\n var w = 4, nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n for (var wnd = nafPoints.points, naf = getNAF(k, w, this._bitLength), acc = this.jpoint(null, null, null), i = naf.length - 1;i >= 0; i--) {\n for (var l = 0;i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0 && l++, acc = acc.dblp(l), i < 0)\n break;\n var z = naf[i];\n assert(z !== 0), p.type === \"affine\" \? z > 0 \? acc = acc.mixedAdd(wnd[z - 1 >> 1]) : acc = acc.mixedAdd(wnd[-z - 1 >> 1].neg()) : z > 0 \? acc = acc.add(wnd[z - 1 >> 1]) : acc = acc.add(wnd[-z - 1 >> 1].neg());\n }\n return p.type === \"affine\" \? acc.toP() : acc;\n }, BaseCurve.prototype._wnafMulAdd = function(defW, points, coeffs, len, jacobianResult) {\n var wndWidth = this._wnafT1, wnd = this._wnafT2, naf = this._wnafT3, max = 0, i, j, p;\n for (i = 0;i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd, wnd[i] = nafPoints.points;\n }\n for (i = len - 1;i >= 1; i -= 2) {\n var a = i - 1, b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength), naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength), max = Math.max(naf[a].length, max), max = Math.max(naf[b].length, max);\n continue;\n }\n var comb = [points[a], null, null, points[b]];\n points[a].y.cmp(points[b].y) === 0 \? (comb[1] = points[a].add(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg())) : points[a].y.cmp(points[b].y.redNeg()) === 0 \? (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].add(points[b].neg())) : (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg()));\n var index = [-3, -1, -5, -7, 0, 7, 5, 1, 3], jsf = getJSF(coeffs[a], coeffs[b]);\n for (max = Math.max(jsf[0].length, max), naf[a] = new @Array(max), naf[b] = new @Array(max), j = 0;j < max; j++) {\n var ja = jsf[0][j] | 0, jb = jsf[1][j] | 0;\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)], naf[b][j] = 0, wnd[a] = comb;\n }\n }\n var acc = this.jpoint(null, null, null), tmp = this._wnafT4;\n for (i = max;i >= 0; i--) {\n for (var k = 0;i >= 0; ) {\n var zero = !0;\n for (j = 0;j < len; j++)\n tmp[j] = naf[j][i] | 0, tmp[j] !== 0 && (zero = !1);\n if (!zero)\n break;\n k++, i--;\n }\n if (i >= 0 && k++, acc = acc.dblp(k), i < 0)\n break;\n for (j = 0;j < len; j++) {\n var z = tmp[j];\n z !== 0 && (z > 0 \? p = wnd[j][z - 1 >> 1] : z < 0 && (p = wnd[j][-z - 1 >> 1].neg()), p.type === \"affine\" \? acc = acc.mixedAdd(p) : acc = acc.add(p));\n }\n }\n for (i = 0;i < len; i++)\n wnd[i] = null;\n return jacobianResult \? acc : acc.toP();\n };\n function BasePoint(curve, type) {\n this.curve = curve, this.type = type, this.precomputed = null;\n }\n BasePoint.prototype = {}, BaseCurve.BasePoint = BasePoint, BasePoint.prototype.eq = function() {\n throw new Error(\"Not implemented\");\n }, BasePoint.prototype.validate = function() {\n return this.curve.validate(this);\n }, BaseCurve.prototype.decodePoint = function(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n var len = this.p.byteLength();\n if ((bytes[0] === 4 || bytes[0] === 6 || bytes[0] === 7) && bytes.length - 1 === 2 * len) {\n bytes[0] === 6 \? assert(bytes[bytes.length - 1] % 2 === 0) : bytes[0] === 7 && assert(bytes[bytes.length - 1] % 2 === 1);\n var res = this.point(bytes.slice(1, 1 + len), bytes.slice(1 + len, 1 + 2 * len));\n return res;\n } else if ((bytes[0] === 2 || bytes[0] === 3) && bytes.length - 1 === len)\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 3);\n throw new Error(\"Unknown point format\");\n }, BasePoint.prototype.encodeCompressed = function(enc) {\n return this.encode(enc, !0);\n }, BasePoint.prototype._encode = function(compact) {\n var len = this.curve.p.byteLength(), x = this.getX().toArray(\"be\", len);\n return compact \? [this.getY().isEven() \? 2 : 3].concat(x) : [4].concat(x, this.getY().toArray(\"be\", len));\n }, BasePoint.prototype.encode = function(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n }, BasePoint.prototype.precompute = function(power) {\n if (this.precomputed)\n return this;\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n return precomputed.naf = this._getNAFPoints(8), precomputed.doubles = this._getDoubles(4, power), precomputed.beta = this._getBeta(), this.precomputed = precomputed, this;\n }, BasePoint.prototype._hasDoubles = function(k) {\n if (!this.precomputed)\n return !1;\n var doubles = this.precomputed.doubles;\n return doubles \? doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step) : !1;\n }, BasePoint.prototype._getDoubles = function(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n for (var doubles = [this], acc = this, i = 0;i < power; i += step) {\n for (var j = 0;j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step,\n points: doubles\n };\n }, BasePoint.prototype._getNAFPoints = function(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n for (var res = [this], max = (1 << wnd) - 1, dbl = max === 1 \? null : this.dbl(), i = 1;i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd,\n points: res\n };\n }, BasePoint.prototype._getBeta = function() {\n return null;\n }, BasePoint.prototype.dblp = function(k) {\n for (var r = this, i = 0;i < k; i++)\n r = r.dbl();\n return r;\n };\n }\n}), require_short = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/short.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function ShortCurve(conf) {\n Base.@call(this, \"short\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.tinv = this.two.redInvm(), this.zeroA = this.a.fromRed().cmpn(0) === 0, this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0, this.endo = this._getEndomorphism(conf), this._endoWnafT1 = new @Array(4), this._endoWnafT2 = new @Array(4);\n }\n inherits(ShortCurve, Base), module.exports = ShortCurve, ShortCurve.prototype._getEndomorphism = function(conf) {\n if (!(!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)) {\n var beta, lambda;\n if (conf.beta)\n beta = new BN(conf.beta, 16).toRed(this.red);\n else {\n var betas = this._getEndoRoots(this.p);\n beta = betas[0].cmp(betas[1]) < 0 \? betas[0] : betas[1], beta = beta.toRed(this.red);\n }\n if (conf.lambda)\n lambda = new BN(conf.lambda, 16);\n else {\n var lambdas = this._getEndoRoots(this.n);\n this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0 \? lambda = lambdas[0] : (lambda = lambdas[1], assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0));\n }\n var basis;\n return conf.basis \? basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n }) : basis = this._getEndoBasis(lambda), {\n beta,\n lambda,\n basis\n };\n }\n }, ShortCurve.prototype._getEndoRoots = function(num) {\n var red = num === this.p \? this.red : BN.mont(num), tinv = new BN(2).toRed(red).redInvm(), ntinv = tinv.redNeg(), s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv), l1 = ntinv.redAdd(s).fromRed(), l2 = ntinv.redSub(s).fromRed();\n return [l1, l2];\n }, ShortCurve.prototype._getEndoBasis = function(lambda) {\n for (var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)), u = lambda, v = this.n.clone(), x1 = new BN(1), y1 = new BN(0), x2 = new BN(0), y2 = new BN(1), a0, b0, a1, b1, a2, b2, prevR, i = 0, r, x;u.cmpn(0) !== 0; ) {\n var q = v.div(u);\n r = v.sub(q.mul(u)), x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n if (!a1 && r.cmp(aprxSqrt) < 0)\n a0 = prevR.neg(), b0 = x1, a1 = r.neg(), b1 = x;\n else if (a1 && ++i === 2)\n break;\n prevR = r, v = u, u = r, x2 = x1, x1 = x, y2 = y1, y1 = y;\n }\n a2 = r.neg(), b2 = x;\n var len1 = a1.sqr().add(b1.sqr()), len2 = a2.sqr().add(b2.sqr());\n return len2.cmp(len1) >= 0 && (a2 = a0, b2 = b0), a1.negative && (a1 = a1.neg(), b1 = b1.neg()), a2.negative && (a2 = a2.neg(), b2 = b2.neg()), [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n }, ShortCurve.prototype._endoSplit = function(k) {\n var basis = this.endo.basis, v1 = basis[0], v2 = basis[1], c1 = v2.b.mul(k).divRound(this.n), c2 = v1.b.neg().mul(k).divRound(this.n), p1 = c1.mul(v1.a), p2 = c2.mul(v2.a), q1 = c1.mul(v1.b), q2 = c2.mul(v2.b), k1 = k.sub(p1).sub(p2), k2 = q1.add(q2).neg();\n return { k1, k2 };\n }, ShortCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, ShortCurve.prototype.validate = function(point) {\n if (point.inf)\n return !0;\n var { x, y } = point, ax = this.a.redMul(x), rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n }, ShortCurve.prototype._endoWnafMulAdd = function(points, coeffs, jacobianResult) {\n for (var npoints = this._endoWnafT1, ncoeffs = this._endoWnafT2, i = 0;i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]), p = points[i], beta = p._getBeta();\n split.k1.negative && (split.k1.ineg(), p = p.neg(!0)), split.k2.negative && (split.k2.ineg(), beta = beta.neg(!0)), npoints[i * 2] = p, npoints[i * 2 + 1] = beta, ncoeffs[i * 2] = split.k1, ncoeffs[i * 2 + 1] = split.k2;\n }\n for (var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult), j = 0;j < i * 2; j++)\n npoints[j] = null, ncoeffs[j] = null;\n return res;\n };\n function Point(curve, x, y, isRed) {\n Base.BasePoint.@call(this, curve, \"affine\"), x === null && y === null \? (this.x = null, this.y = null, this.inf = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), isRed && (this.x.forceRed(this.curve.red), this.y.forceRed(this.curve.red)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.inf = !1);\n }\n inherits(Point, Base.BasePoint), ShortCurve.prototype.point = function(x, y, isRed) {\n return new Point(this, x, y, isRed);\n }, ShortCurve.prototype.pointFromJSON = function(obj, red) {\n return Point.fromJSON(this, obj, red);\n }, Point.prototype._getBeta = function() {\n if (this.curve.endo) {\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve, endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta, beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n }\n }, Point.prototype.toJSON = function() {\n return this.precomputed \? [\n this.x,\n this.y,\n this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n }\n ] : [this.x, this.y];\n }, Point.fromJSON = function(curve, obj, red) {\n typeof obj == \"string\" && (obj = JSON.parse(obj));\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n function obj2point(obj2) {\n return curve.point(obj2[0], obj2[1], red);\n }\n var pre = obj[2];\n return res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [res].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [res].concat(pre.naf.points.map(obj2point))\n }\n }, res;\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.inf;\n }, Point.prototype.add = function(p) {\n if (this.inf)\n return p;\n if (p.inf)\n return this;\n if (this.eq(p))\n return this.dbl();\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n var c = this.y.redSub(p.y);\n c.cmpn(0) !== 0 && (c = c.redMul(this.x.redSub(p.x).redInvm()));\n var nx = c.redSqr().redISub(this.x).redISub(p.x), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.dbl = function() {\n if (this.inf)\n return this;\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n var a = this.curve.a, x2 = this.x.redSqr(), dyinv = ys1.redInvm(), c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv), nx = c.redSqr().redISub(this.x.redAdd(this.x)), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.getX = function() {\n return this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.y.fromRed();\n }, Point.prototype.mul = function(k) {\n return k = new BN(k, 16), this.isInfinity() \? this : this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve.endo \? this.curve._endoWnafMulAdd([this], [k]) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs) : this.curve._wnafMulAdd(1, points, coeffs, 2);\n }, Point.prototype.jmulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs, !0) : this.curve._wnafMulAdd(1, points, coeffs, 2, !0);\n }, Point.prototype.eq = function(p) {\n return this === p || this.inf === p.inf && (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n }, Point.prototype.neg = function(_precompute) {\n if (this.inf)\n return this;\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed, negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n }, Point.prototype.toJ = function() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n };\n function JPoint(curve, x, y, z) {\n Base.BasePoint.@call(this, curve, \"jacobian\"), x === null && y === null && z === null \? (this.x = this.curve.one, this.y = this.curve.one, this.z = new BN(0)) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = new BN(z, 16)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.zOne = this.z === this.curve.one;\n }\n inherits(JPoint, Base.BasePoint), ShortCurve.prototype.jpoint = function(x, y, z) {\n return new JPoint(this, x, y, z);\n }, JPoint.prototype.toP = function() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n var zinv = this.z.redInvm(), zinv2 = zinv.redSqr(), ax = this.x.redMul(zinv2), ay = this.y.redMul(zinv2).redMul(zinv);\n return this.curve.point(ax, ay);\n }, JPoint.prototype.neg = function() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n }, JPoint.prototype.add = function(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n var pz2 = p.z.redSqr(), z2 = this.z.redSqr(), u1 = this.x.redMul(pz2), u2 = p.x.redMul(z2), s1 = this.y.redMul(pz2.redMul(p.z)), s2 = p.y.redMul(z2.redMul(this.z)), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(p.z).redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mixedAdd = function(p) {\n if (this.isInfinity())\n return p.toJ();\n if (p.isInfinity())\n return this;\n var z2 = this.z.redSqr(), u1 = this.x, u2 = p.x.redMul(z2), s1 = this.y, s2 = p.y.redMul(z2).redMul(this.z), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.dblp = function(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0;i < pow; i++)\n r = r.dbl();\n return r;\n }\n var a = this.curve.a, tinv = this.curve.tinv, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jyd = jy.redAdd(jy);\n for (i = 0;i < pow; i++) {\n var jx2 = jx.redSqr(), jyd2 = jyd.redSqr(), jyd4 = jyd2.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), t1 = jx.redMul(jyd2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n i + 1 < pow && (jz4 = jz4.redMul(jyd4)), jx = nx, jz = nz, jyd = dny;\n }\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n }, JPoint.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.zeroA \? this._zeroDbl() : this.curve.threeA \? this._threeDbl() : this._dbl();\n }, JPoint.prototype._zeroDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx), t = m.redSqr().redISub(s).redISub(s), yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), nx = t, ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = b.redSqr(), d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n var e = a.redAdd(a).redIAdd(a), f = e.redSqr(), c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8), c8 = c8.redIAdd(c8), nx = f.redISub(d).redISub(d), ny = e.redMul(d.redISub(nx)).redISub(c8), nz = this.y.redMul(this.z), nz = nz.redIAdd(nz);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._threeDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a), t = m.redSqr().redISub(s).redISub(s);\n nx = t;\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var delta = this.z.redSqr(), gamma = this.y.redSqr(), beta = this.x.redMul(gamma), alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8), nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._dbl = function() {\n var a = this.curve.a, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jx2 = jx.redSqr(), jy2 = jy.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8), nz = jy.redAdd(jy).redMul(jz);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.trpl = function() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n var xx = this.x.redSqr(), yy = this.y.redSqr(), zz = this.z.redSqr(), yyyy = yy.redSqr(), m = xx.redAdd(xx).redIAdd(xx), mm = m.redSqr(), e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e), e = e.redAdd(e).redIAdd(e), e = e.redISub(mm);\n var ee = e.redSqr(), t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t), t = t.redIAdd(t), t = t.redIAdd(t);\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t), yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4), yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx), nx = nx.redIAdd(nx);\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny), ny = ny.redIAdd(ny), ny = ny.redIAdd(ny);\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mul = function(k, kbase) {\n return k = new BN(k, kbase), this.curve._wnafMul(this, k);\n }, JPoint.prototype.eq = function(p) {\n if (p.type === \"affine\")\n return this.eq(p.toJ());\n if (this === p)\n return !0;\n var z2 = this.z.redSqr(), pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return !1;\n var z3 = z2.redMul(this.z), pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n }, JPoint.prototype.eqXToP = function(x) {\n var zs = this.z.redSqr(), rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(zs);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, JPoint.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC JPoint Infinity>\" : \"<EC JPoint x: \" + this.x.toString(16, 2) + \" y: \" + this.y.toString(16, 2) + \" z: \" + this.z.toString(16, 2) + \">\";\n }, JPoint.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n };\n }\n}), require_mont = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/mont.js\"(exports, module) {\n var BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), utils = require_utils3();\n function MontCurve(conf) {\n Base.@call(this, \"mont\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.i4 = new BN(4).toRed(this.red).redInvm(), this.two = new BN(2).toRed(this.red), this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n }\n inherits(MontCurve, Base), module.exports = MontCurve, MontCurve.prototype.validate = function(point) {\n var x = point.normalize().x, x2 = x.redSqr(), rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x), y = rhs.redSqrt();\n return y.redSqr().cmp(rhs) === 0;\n };\n function Point(curve, x, z) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && z === null \? (this.x = this.curve.one, this.z = this.curve.zero) : (this.x = new BN(x, 16), this.z = new BN(z, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)));\n }\n inherits(Point, Base.BasePoint), MontCurve.prototype.decodePoint = function(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n }, MontCurve.prototype.point = function(x, z) {\n return new Point(this, x, z);\n }, MontCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, Point.prototype.precompute = function() {\n }, Point.prototype._encode = function() {\n return this.getX().toArray(\"be\", this.curve.p.byteLength());\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n }, Point.prototype.dbl = function() {\n var a = this.x.redAdd(this.z), aa = a.redSqr(), b = this.x.redSub(this.z), bb = b.redSqr(), c = aa.redSub(bb), nx = aa.redMul(bb), nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n }, Point.prototype.add = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.diffAdd = function(p, diff) {\n var a = this.x.redAdd(this.z), b = this.x.redSub(this.z), c = p.x.redAdd(p.z), d = p.x.redSub(p.z), da = d.redMul(a), cb = c.redMul(b), nx = diff.z.redMul(da.redAdd(cb).redSqr()), nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n }, Point.prototype.mul = function(k) {\n for (var t = k.clone(), a = this, b = this.curve.point(null, null), c = this, bits = [];t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n for (var i = bits.length - 1;i >= 0; i--)\n bits[i] === 0 \? (a = a.diffAdd(b, c), b = b.dbl()) : (b = a.diffAdd(b, c), a = a.dbl());\n return b;\n }, Point.prototype.mulAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.jumlAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.eq = function(other) {\n return this.getX().cmp(other.getX()) === 0;\n }, Point.prototype.normalize = function() {\n return this.x = this.x.redMul(this.z.redInvm()), this.z = this.curve.one, this;\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n };\n }\n}), require_edwards = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/edwards.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function EdwardsCurve(conf) {\n this.twisted = (conf.a | 0) !== 1, this.mOneA = this.twisted && (conf.a | 0) === -1, this.extended = this.mOneA, Base.@call(this, \"edwards\", conf), this.a = new BN(conf.a, 16).umod(this.red.m), this.a = this.a.toRed(this.red), this.c = new BN(conf.c, 16).toRed(this.red), this.c2 = this.c.redSqr(), this.d = new BN(conf.d, 16).toRed(this.red), this.dd = this.d.redAdd(this.d), assert(!this.twisted || this.c.fromRed().cmpn(1) === 0), this.oneC = (conf.c | 0) === 1;\n }\n inherits(EdwardsCurve, Base), module.exports = EdwardsCurve, EdwardsCurve.prototype._mulA = function(num) {\n return this.mOneA \? num.redNeg() : this.a.redMul(num);\n }, EdwardsCurve.prototype._mulC = function(num) {\n return this.oneC \? num : this.c.redMul(num);\n }, EdwardsCurve.prototype.jpoint = function(x, y, z, t) {\n return this.point(x, y, z, t);\n }, EdwardsCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var x2 = x.redSqr(), rhs = this.c2.redSub(this.a.redMul(x2)), lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)), y2 = rhs.redMul(lhs.redInvm()), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.pointFromY = function(y, odd) {\n y = new BN(y, 16), y.red || (y = y.toRed(this.red));\n var y2 = y.redSqr(), lhs = y2.redSub(this.c2), rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a), x2 = lhs.redMul(rhs.redInvm());\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error(\"invalid point\");\n return this.point(this.zero, y);\n }\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n return x.fromRed().isOdd() !== odd && (x = x.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.validate = function(point) {\n if (point.isInfinity())\n return !0;\n point.normalize();\n var x2 = point.x.redSqr(), y2 = point.y.redSqr(), lhs = x2.redMul(this.a).redAdd(y2), rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n return lhs.cmp(rhs) === 0;\n };\n function Point(curve, x, y, z, t) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && y === null && z === null \? (this.x = this.curve.zero, this.y = this.curve.one, this.z = this.curve.one, this.t = this.curve.zero, this.zOne = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = z \? new BN(z, 16) : this.curve.one, this.t = t && new BN(t, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.t && !this.t.red && (this.t = this.t.toRed(this.curve.red)), this.zOne = this.z === this.curve.one, this.curve.extended && !this.t && (this.t = this.x.redMul(this.y), this.zOne || (this.t = this.t.redMul(this.z.redInvm()))));\n }\n inherits(Point, Base.BasePoint), EdwardsCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, EdwardsCurve.prototype.point = function(x, y, z, t) {\n return new Point(this, x, y, z, t);\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.x.cmpn(0) === 0 && (this.y.cmp(this.z) === 0 || this.zOne && this.y.cmp(this.curve.c) === 0);\n }, Point.prototype._extDbl = function() {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = this.z.redSqr();\n c = c.redIAdd(c);\n var d = this.curve._mulA(a), e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b), g = d.redAdd(b), f = g.redSub(c), h = d.redSub(b), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projDbl = function() {\n var b = this.x.redAdd(this.y).redSqr(), c = this.x.redSqr(), d = this.y.redSqr(), nx, ny, nz, e, h, j;\n if (this.curve.twisted) {\n e = this.curve._mulA(c);\n var f = e.redAdd(d);\n this.zOne \? (nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)), ny = f.redMul(e.redSub(d)), nz = f.redSqr().redSub(f).redSub(f)) : (h = this.z.redSqr(), j = f.redSub(h).redISub(h), nx = b.redSub(c).redISub(d).redMul(j), ny = f.redMul(e.redSub(d)), nz = f.redMul(j));\n } else\n e = c.redAdd(d), h = this.curve._mulC(this.z).redSqr(), j = e.redSub(h).redSub(h), nx = this.curve._mulC(b.redISub(e)).redMul(j), ny = this.curve._mulC(e).redMul(c.redISub(d)), nz = e.redMul(j);\n return this.curve.point(nx, ny, nz);\n }, Point.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.extended \? this._extDbl() : this._projDbl();\n }, Point.prototype._extAdd = function(p) {\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)), b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)), c = this.t.redMul(this.curve.dd).redMul(p.t), d = this.z.redMul(p.z.redAdd(p.z)), e = b.redSub(a), f = d.redSub(c), g = d.redAdd(c), h = b.redAdd(a), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projAdd = function(p) {\n var a = this.z.redMul(p.z), b = a.redSqr(), c = this.x.redMul(p.x), d = this.y.redMul(p.y), e = this.curve.d.redMul(c).redMul(d), f = b.redSub(e), g = b.redAdd(e), tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d), nx = a.redMul(f).redMul(tmp), ny, nz;\n return this.curve.twisted \? (ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))), nz = f.redMul(g)) : (ny = a.redMul(g).redMul(d.redSub(c)), nz = this.curve._mulC(f).redMul(g)), this.curve.point(nx, ny, nz);\n }, Point.prototype.add = function(p) {\n return this.isInfinity() \? p : p.isInfinity() \? this : this.curve.extended \? this._extAdd(p) : this._projAdd(p);\n }, Point.prototype.mul = function(k) {\n return this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !1);\n }, Point.prototype.jmulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !0);\n }, Point.prototype.normalize = function() {\n if (this.zOne)\n return this;\n var zi = this.z.redInvm();\n return this.x = this.x.redMul(zi), this.y = this.y.redMul(zi), this.t && (this.t = this.t.redMul(zi)), this.z = this.curve.one, this.zOne = !0, this;\n }, Point.prototype.neg = function() {\n return this.curve.point(this.x.redNeg(), this.y, this.z, this.t && this.t.redNeg());\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.normalize(), this.y.fromRed();\n }, Point.prototype.eq = function(other) {\n return this === other || this.getX().cmp(other.getX()) === 0 && this.getY().cmp(other.getY()) === 0;\n }, Point.prototype.eqXToP = function(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(this.z);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, Point.prototype.toP = Point.prototype.normalize, Point.prototype.mixedAdd = Point.prototype.add;\n }\n}), require_curve = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/index.js\"(exports) {\n var curve = exports;\n curve.base = require_base(), curve.short = require_short(), curve.mont = require_mont(), curve.edwards = require_edwards();\n }\n}), require_utils4 = __commonJS({\n \"node_modules/hash.js/lib/hash/utils.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser();\n exports.inherits = inherits;\n function isSurrogatePair(msg, i) {\n return (msg.charCodeAt(i) & 64512) !== 55296 || i < 0 || i + 1 >= msg.length \? !1 : (msg.charCodeAt(i + 1) & 64512) === 56320;\n }\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg == \"string\")\n if (enc) {\n if (enc === \"hex\")\n for (msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg), i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var p = 0, i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n c < 128 \? res[p++] = c : c < 2048 \? (res[p++] = c >> 6 | 192, res[p++] = c & 63 | 128) : isSurrogatePair(msg, i) \? (c = 65536 + ((c & 1023) << 10) + (msg.charCodeAt(++i) & 1023), res[p++] = c >> 18 | 240, res[p++] = c >> 12 & 63 | 128, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128) : (res[p++] = c >> 12 | 224, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128);\n }\n else\n for (i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n exports.toArray = toArray;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n exports.toHex = toHex;\n function htonl(w) {\n var res = w >>> 24 | w >>> 8 & 65280 | w << 8 & 16711680 | (w & 255) << 24;\n return res >>> 0;\n }\n exports.htonl = htonl;\n function toHex32(msg, endian) {\n for (var res = \"\", i = 0;i < msg.length; i++) {\n var w = msg[i];\n endian === \"little\" && (w = htonl(w)), res += zero8(w.toString(16));\n }\n return res;\n }\n exports.toHex32 = toHex32;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n exports.zero2 = zero2;\n function zero8(word) {\n return word.length === 7 \? \"0\" + word : word.length === 6 \? \"00\" + word : word.length === 5 \? \"000\" + word : word.length === 4 \? \"0000\" + word : word.length === 3 \? \"00000\" + word : word.length === 2 \? \"000000\" + word : word.length === 1 \? \"0000000\" + word : word;\n }\n exports.zero8 = zero8;\n function join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n for (var res = new @Array(len / 4), i = 0, k = start;i < res.length; i++, k += 4) {\n var w;\n endian === \"big\" \? w = msg[k] << 24 | msg[k + 1] << 16 | msg[k + 2] << 8 | msg[k + 3] : w = msg[k + 3] << 24 | msg[k + 2] << 16 | msg[k + 1] << 8 | msg[k], res[i] = w >>> 0;\n }\n return res;\n }\n exports.join32 = join32;\n function split32(msg, endian) {\n for (var res = new @Array(msg.length * 4), i = 0, k = 0;i < msg.length; i++, k += 4) {\n var m = msg[i];\n endian === \"big\" \? (res[k] = m >>> 24, res[k + 1] = m >>> 16 & 255, res[k + 2] = m >>> 8 & 255, res[k + 3] = m & 255) : (res[k + 3] = m >>> 24, res[k + 2] = m >>> 16 & 255, res[k + 1] = m >>> 8 & 255, res[k] = m & 255);\n }\n return res;\n }\n exports.split32 = split32;\n function rotr32(w, b) {\n return w >>> b | w << 32 - b;\n }\n exports.rotr32 = rotr32;\n function rotl32(w, b) {\n return w << b | w >>> 32 - b;\n }\n exports.rotl32 = rotl32;\n function sum32(a, b) {\n return a + b >>> 0;\n }\n exports.sum32 = sum32;\n function sum32_3(a, b, c) {\n return a + b + c >>> 0;\n }\n exports.sum32_3 = sum32_3;\n function sum32_4(a, b, c, d) {\n return a + b + c + d >>> 0;\n }\n exports.sum32_4 = sum32_4;\n function sum32_5(a, b, c, d, e) {\n return a + b + c + d + e >>> 0;\n }\n exports.sum32_5 = sum32_5;\n function sum64(buf, pos, ah, al) {\n var bh = buf[pos], bl = buf[pos + 1], lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0, buf[pos + 1] = lo;\n }\n exports.sum64 = sum64;\n function sum64_hi(ah, al, bh, bl) {\n var lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n return hi >>> 0;\n }\n exports.sum64_hi = sum64_hi;\n function sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n }\n exports.sum64_lo = sum64_lo;\n function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0;\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n }\n exports.sum64_4_hi = sum64_4_hi;\n function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n }\n exports.sum64_4_lo = sum64_4_lo;\n function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0, lo = lo + el >>> 0, carry += lo < el \? 1 : 0;\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n }\n exports.sum64_5_hi = sum64_5_hi;\n function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n return lo >>> 0;\n }\n exports.sum64_5_lo = sum64_5_lo;\n function rotr64_hi(ah, al, num) {\n var r = al << 32 - num | ah >>> num;\n return r >>> 0;\n }\n exports.rotr64_hi = rotr64_hi;\n function rotr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.rotr64_lo = rotr64_lo;\n function shr64_hi(ah, al, num) {\n return ah >>> num;\n }\n exports.shr64_hi = shr64_hi;\n function shr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.shr64_lo = shr64_lo;\n }\n}), require_common = __commonJS({\n \"node_modules/hash.js/lib/hash/common.js\"(exports) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function BlockHash() {\n this.pending = null, this.pendingTotal = 0, this.blockSize = this.constructor.blockSize, this.outSize = this.constructor.outSize, this.hmacStrength = this.constructor.hmacStrength, this.padLength = this.constructor.padLength / 8, this.endian = \"big\", this._delta8 = this.blockSize / 8, this._delta32 = this.blockSize / 32;\n }\n BlockHash.prototype = {}, exports.BlockHash = BlockHash, BlockHash.prototype.update = function(msg, enc) {\n if (msg = utils.toArray(msg, enc), this.pending \? this.pending = this.pending.concat(msg) : this.pending = msg, this.pendingTotal += msg.length, this.pending.length >= this._delta8) {\n msg = this.pending;\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length), this.pending.length === 0 && (this.pending = null), msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0;i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n return this;\n }, BlockHash.prototype.digest = function(enc) {\n return this.update(this._pad()), assert(this.pending === null), this._digest(enc);\n }, BlockHash.prototype._pad = function() {\n var len = this.pendingTotal, bytes = this._delta8, k = bytes - (len + this.padLength) % bytes, res = new @Array(k + this.padLength);\n res[0] = 128;\n for (var i = 1;i < k; i++)\n res[i] = 0;\n if (len <<= 3, this.endian === \"big\") {\n for (var t = 8;t < this.padLength; t++)\n res[i++] = 0;\n res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = len >>> 24 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 8 & 255, res[i++] = len & 255;\n } else\n for (res[i++] = len & 255, res[i++] = len >>> 8 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 24 & 255, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, t = 8;t < this.padLength; t++)\n res[i++] = 0;\n return res;\n };\n }\n}), require_common2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/common.js\"(exports) {\n var utils = require_utils4(), rotr32 = utils.rotr32;\n function ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n }\n exports.ft_1 = ft_1;\n function ch32(x, y, z) {\n return x & y ^ ~x & z;\n }\n exports.ch32 = ch32;\n function maj32(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n exports.maj32 = maj32;\n function p32(x, y, z) {\n return x ^ y ^ z;\n }\n exports.p32 = p32;\n function s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n }\n exports.s0_256 = s0_256;\n function s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n }\n exports.s1_256 = s1_256;\n function g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ x >>> 3;\n }\n exports.g0_256 = g0_256;\n function g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ x >>> 10;\n }\n exports.g1_256 = g1_256;\n }\n}), require__ = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/1.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_5 = utils.sum32_5, ft_1 = shaCommon.ft_1, BlockHash = common.BlockHash, sha1_K = [1518500249, 1859775393, 2400959708, 3395469782];\n function SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.W = new @Array(80);\n }\n utils.inherits(SHA1, BlockHash), module.exports = SHA1, SHA1.blockSize = 512, SHA1.outSize = 160, SHA1.hmacStrength = 80, SHA1.padLength = 64, SHA1.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4];\n for (i = 0;i < W.length; i++) {\n var s = ~~(i / 20), t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d, d = c, c = rotl32(b, 30), b = a, a = t;\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e);\n }, SHA1.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/256.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), assert = require_minimalistic_assert(), sum32 = utils.sum32, sum32_4 = utils.sum32_4, sum32_5 = utils.sum32_5, ch32 = shaCommon.ch32, maj32 = shaCommon.maj32, s0_256 = shaCommon.s0_256, s1_256 = shaCommon.s1_256, g0_256 = shaCommon.g0_256, g1_256 = shaCommon.g1_256, BlockHash = common.BlockHash, sha256_K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ];\n function SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256;\n BlockHash.@call(this), this.h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.k = sha256_K, this.W = new @Array(64);\n }\n utils.inherits(SHA256, BlockHash), module.exports = SHA256, SHA256.blockSize = 512, SHA256.outSize = 256, SHA256.hmacStrength = 192, SHA256.padLength = 64, SHA256.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4], f = this.h[5], g = this.h[6], h = this.h[7];\n for (assert(this.k.length === W.length), i = 0;i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]), T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g, g = f, f = e, e = sum32(d, T1), d = c, c = b, b = a, a = sum32(T1, T2);\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e), this.h[5] = sum32(this.h[5], f), this.h[6] = sum32(this.h[6], g), this.h[7] = sum32(this.h[7], h);\n }, SHA256.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/224.js\"(exports, module) {\n var utils = require_utils4(), SHA256 = require__2();\n function SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224;\n SHA256.@call(this), this.h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n }\n utils.inherits(SHA224, SHA256), module.exports = SHA224, SHA224.blockSize = 512, SHA224.outSize = 224, SHA224.hmacStrength = 192, SHA224.padLength = 64, SHA224.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 7), \"big\") : utils.split32(this.h.slice(0, 7), \"big\");\n };\n }\n}), require__4 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/512.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), assert = require_minimalistic_assert(), rotr64_hi = utils.rotr64_hi, rotr64_lo = utils.rotr64_lo, shr64_hi = utils.shr64_hi, shr64_lo = utils.shr64_lo, sum64 = utils.sum64, sum64_hi = utils.sum64_hi, sum64_lo = utils.sum64_lo, sum64_4_hi = utils.sum64_4_hi, sum64_4_lo = utils.sum64_4_lo, sum64_5_hi = utils.sum64_5_hi, sum64_5_lo = utils.sum64_5_lo, BlockHash = common.BlockHash, sha512_K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ];\n function SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512;\n BlockHash.@call(this), this.h = [\n 1779033703,\n 4089235720,\n 3144134277,\n 2227873595,\n 1013904242,\n 4271175723,\n 2773480762,\n 1595750129,\n 1359893119,\n 2917565137,\n 2600822924,\n 725511199,\n 528734635,\n 4215389547,\n 1541459225,\n 327033209\n ], this.k = sha512_K, this.W = new @Array(160);\n }\n utils.inherits(SHA512, BlockHash), module.exports = SHA512, SHA512.blockSize = 1024, SHA512.outSize = 512, SHA512.hmacStrength = 192, SHA512.padLength = 128, SHA512.prototype._prepareBlock = function(msg, start) {\n for (var W = this.W, i = 0;i < 32; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]), c0_lo = g1_512_lo(W[i - 4], W[i - 3]), c1_hi = W[i - 14], c1_lo = W[i - 13], c2_hi = g0_512_hi(W[i - 30], W[i - 29]), c2_lo = g0_512_lo(W[i - 30], W[i - 29]), c3_hi = W[i - 32], c3_lo = W[i - 31];\n W[i] = sum64_4_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo), W[i + 1] = sum64_4_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);\n }\n }, SHA512.prototype._update = function(msg, start) {\n this._prepareBlock(msg, start);\n var W = this.W, ah = this.h[0], al = this.h[1], bh = this.h[2], bl = this.h[3], ch = this.h[4], cl = this.h[5], dh = this.h[6], dl = this.h[7], eh = this.h[8], el = this.h[9], fh = this.h[10], fl = this.h[11], gh = this.h[12], gl = this.h[13], hh = this.h[14], hl = this.h[15];\n assert(this.k.length === W.length);\n for (var i = 0;i < W.length; i += 2) {\n var c0_hi = hh, c0_lo = hl, c1_hi = s1_512_hi(eh, el), c1_lo = s1_512_lo(eh, el), c2_hi = ch64_hi(eh, el, fh, fl, gh, gl), c2_lo = ch64_lo(eh, el, fh, fl, gh, gl), c3_hi = this.k[i], c3_lo = this.k[i + 1], c4_hi = W[i], c4_lo = W[i + 1], T1_hi = sum64_5_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo), T1_lo = sum64_5_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);\n c0_hi = s0_512_hi(ah, al), c0_lo = s0_512_lo(ah, al), c1_hi = maj64_hi(ah, al, bh, bl, ch, cl), c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo), T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, eh = sum64_hi(dh, dl, T1_hi, T1_lo), el = sum64_lo(dl, dl, T1_hi, T1_lo), dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo), al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n sum64(this.h, 0, ah, al), sum64(this.h, 2, bh, bl), sum64(this.h, 4, ch, cl), sum64(this.h, 6, dh, dl), sum64(this.h, 8, eh, el), sum64(this.h, 10, fh, fl), sum64(this.h, 12, gh, gl), sum64(this.h, 14, hh, hl);\n }, SHA512.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n function ch64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ ~xh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ ~xl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ xh & zh ^ yh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ xl & zl ^ yl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28), c1_hi = rotr64_hi(xl, xh, 2), c2_hi = rotr64_hi(xl, xh, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28), c1_lo = rotr64_lo(xl, xh, 2), c2_lo = rotr64_lo(xl, xh, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14), c1_hi = rotr64_hi(xh, xl, 18), c2_hi = rotr64_hi(xl, xh, 9), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14), c1_lo = rotr64_lo(xh, xl, 18), c2_lo = rotr64_lo(xl, xh, 9), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1), c1_hi = rotr64_hi(xh, xl, 8), c2_hi = shr64_hi(xh, xl, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1), c1_lo = rotr64_lo(xh, xl, 8), c2_lo = shr64_lo(xh, xl, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19), c1_hi = rotr64_hi(xl, xh, 29), c2_hi = shr64_hi(xh, xl, 6), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19), c1_lo = rotr64_lo(xl, xh, 29), c2_lo = shr64_lo(xh, xl, 6), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n }\n}), require__5 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/384.js\"(exports, module) {\n var utils = require_utils4(), SHA512 = require__4();\n function SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384;\n SHA512.@call(this), this.h = [\n 3418070365,\n 3238371032,\n 1654270250,\n 914150663,\n 2438529370,\n 812702999,\n 355462360,\n 4144912697,\n 1731405415,\n 4290775857,\n 2394180231,\n 1750603025,\n 3675008525,\n 1694076839,\n 1203062813,\n 3204075428\n ];\n }\n utils.inherits(SHA384, SHA512), module.exports = SHA384, SHA384.blockSize = 1024, SHA384.outSize = 384, SHA384.hmacStrength = 192, SHA384.padLength = 128, SHA384.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 12), \"big\") : utils.split32(this.h.slice(0, 12), \"big\");\n };\n }\n}), require_sha3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha.js\"(exports) {\n exports.sha1 = require__(), exports.sha224 = require__3(), exports.sha256 = require__2(), exports.sha384 = require__5(), exports.sha512 = require__4();\n }\n}), require_ripemd = __commonJS({\n \"node_modules/hash.js/lib/hash/ripemd.js\"(exports) {\n var utils = require_utils4(), common = require_common(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_3 = utils.sum32_3, sum32_4 = utils.sum32_4, BlockHash = common.BlockHash;\n function RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.endian = \"little\";\n }\n utils.inherits(RIPEMD160, BlockHash), exports.ripemd160 = RIPEMD160, RIPEMD160.blockSize = 512, RIPEMD160.outSize = 160, RIPEMD160.hmacStrength = 192, RIPEMD160.padLength = 64, RIPEMD160.prototype._update = function(msg, start) {\n for (var A = this.h[0], B = this.h[1], C = this.h[2], D = this.h[3], E = this.h[4], Ah = A, Bh = B, Ch = C, Dh = D, Eh = E, j = 0;j < 80; j++) {\n var T = sum32(rotl32(sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), s[j]), E);\n A = E, E = D, D = rotl32(C, 10), C = B, B = T, T = sum32(rotl32(sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), sh[j]), Eh), Ah = Eh, Eh = Dh, Dh = rotl32(Ch, 10), Ch = Bh, Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh), this.h[1] = sum32_3(this.h[2], D, Eh), this.h[2] = sum32_3(this.h[3], E, Ah), this.h[3] = sum32_3(this.h[4], A, Bh), this.h[4] = sum32_3(this.h[0], B, Ch), this.h[0] = T;\n }, RIPEMD160.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"little\") : utils.split32(this.h, \"little\");\n };\n function f(j, x, y, z) {\n return j <= 15 \? x ^ y ^ z : j <= 31 \? x & y | ~x & z : j <= 47 \? (x | ~y) ^ z : j <= 63 \? x & z | y & ~z : x ^ (y | ~z);\n }\n function K(j) {\n return j <= 15 \? 0 : j <= 31 \? 1518500249 : j <= 47 \? 1859775393 : j <= 63 \? 2400959708 : 2840853838;\n }\n function Kh(j) {\n return j <= 15 \? 1352829926 : j <= 31 \? 1548603684 : j <= 47 \? 1836072691 : j <= 63 \? 2053994217 : 0;\n }\n var r = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], rh = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], s = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sh = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ];\n }\n}), require_hmac = __commonJS({\n \"node_modules/hash.js/lib/hash/hmac.js\"(exports, module) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function Hmac(hash, key2, enc) {\n if (key2 = exportIfKeyObject(key2), !(this instanceof Hmac))\n return new Hmac(hash, key2, enc);\n this.Hash = hash, this.blockSize = hash.blockSize / 8, this.outSize = hash.outSize / 8, this.inner = null, this.outer = null, this._init(utils.toArray(key2, enc));\n }\n Hmac.prototype = {}, module.exports = Hmac, Hmac.prototype._init = function(key2) {\n key2.length > this.blockSize && (key2 = new this.Hash().update(key2).digest()), assert(key2.length <= this.blockSize);\n for (var i = key2.length;i < this.blockSize; i++)\n key2.push(0);\n for (i = 0;i < key2.length; i++)\n key2[i] ^= 54;\n for (this.inner = new this.Hash().update(key2), i = 0;i < key2.length; i++)\n key2[i] ^= 106;\n this.outer = new this.Hash().update(key2);\n }, Hmac.prototype.update = function(msg, enc) {\n return this.inner.update(msg, enc), this;\n }, Hmac.prototype.digest = function(enc) {\n return this.outer.update(this.inner.digest()), this.outer.digest(enc);\n };\n }\n}), require_hash2 = __commonJS({\n \"node_modules/hash.js/lib/hash.js\"(exports) {\n var hash = exports;\n hash.utils = require_utils4(), hash.common = require_common(), hash.sha = require_sha3(), hash.ripemd = require_ripemd(), hash.hmac = require_hmac(), hash.sha1 = hash.sha.sha1, hash.sha256 = hash.sha.sha256, hash.sha224 = hash.sha.sha224, hash.sha384 = hash.sha.sha384, hash.sha512 = hash.sha.sha512, hash.ripemd160 = hash.ripemd.ripemd160;\n }\n}), require_secp256k1 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\"(exports, module) {\n module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n \"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\n \"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"\n ],\n [\n \"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\n \"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"\n ],\n [\n \"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\n \"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"\n ],\n [\n \"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\n \"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"\n ],\n [\n \"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\n \"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"\n ],\n [\n \"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\n \"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"\n ],\n [\n \"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\n \"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"\n ],\n [\n \"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\n \"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"\n ],\n [\n \"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\n \"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"\n ],\n [\n \"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\n \"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"\n ],\n [\n \"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\n \"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"\n ],\n [\n \"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\n \"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"\n ],\n [\n \"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\n \"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"\n ],\n [\n \"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\n \"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"\n ],\n [\n \"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\n \"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"\n ],\n [\n \"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\n \"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"\n ],\n [\n \"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\n \"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"\n ],\n [\n \"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\n \"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"\n ],\n [\n \"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\n \"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"\n ],\n [\n \"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\n \"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"\n ],\n [\n \"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\n \"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"\n ],\n [\n \"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\n \"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"\n ],\n [\n \"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\n \"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"\n ],\n [\n \"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\n \"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"\n ],\n [\n \"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\n \"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"\n ],\n [\n \"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\n \"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"\n ],\n [\n \"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\n \"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"\n ],\n [\n \"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\n \"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"\n ],\n [\n \"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\n \"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"\n ],\n [\n \"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\n \"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"\n ],\n [\n \"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\n \"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"\n ],\n [\n \"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\n \"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"\n ],\n [\n \"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\n \"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"\n ],\n [\n \"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\n \"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"\n ],\n [\n \"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\n \"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"\n ],\n [\n \"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\n \"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"\n ],\n [\n \"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\n \"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"\n ],\n [\n \"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\n \"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"\n ],\n [\n \"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\n \"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"\n ],\n [\n \"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\n \"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"\n ],\n [\n \"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\n \"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"\n ],\n [\n \"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\n \"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"\n ],\n [\n \"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\n \"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"\n ],\n [\n \"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\n \"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"\n ],\n [\n \"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\n \"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"\n ],\n [\n \"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\n \"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"\n ],\n [\n \"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\n \"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"\n ],\n [\n \"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\n \"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"\n ],\n [\n \"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\n \"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"\n ],\n [\n \"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\n \"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"\n ],\n [\n \"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\n \"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"\n ],\n [\n \"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\n \"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"\n ],\n [\n \"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\n \"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"\n ],\n [\n \"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\n \"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"\n ],\n [\n \"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\n \"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"\n ],\n [\n \"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\n \"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"\n ],\n [\n \"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\n \"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"\n ],\n [\n \"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\n \"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"\n ],\n [\n \"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\n \"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"\n ],\n [\n \"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\n \"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"\n ],\n [\n \"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\n \"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"\n ],\n [\n \"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\n \"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"\n ],\n [\n \"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\n \"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"\n ],\n [\n \"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\n \"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"\n ],\n [\n \"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\n \"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n \"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\n \"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"\n ],\n [\n \"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\n \"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"\n ],\n [\n \"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\n \"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"\n ],\n [\n \"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\n \"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"\n ],\n [\n \"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\n \"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"\n ],\n [\n \"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\n \"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"\n ],\n [\n \"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\n \"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"\n ],\n [\n \"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\n \"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"\n ],\n [\n \"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\n \"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"\n ],\n [\n \"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\n \"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"\n ],\n [\n \"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\n \"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"\n ],\n [\n \"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\n \"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"\n ],\n [\n \"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\n \"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"\n ],\n [\n \"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\n \"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"\n ],\n [\n \"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\n \"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"\n ],\n [\n \"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\n \"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"\n ],\n [\n \"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\n \"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"\n ],\n [\n \"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\n \"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"\n ],\n [\n \"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\n \"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"\n ],\n [\n \"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\n \"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"\n ],\n [\n \"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\n \"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"\n ],\n [\n \"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\n \"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"\n ],\n [\n \"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\n \"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"\n ],\n [\n \"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\n \"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"\n ],\n [\n \"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\n \"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"\n ],\n [\n \"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\n \"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"\n ],\n [\n \"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\n \"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"\n ],\n [\n \"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\n \"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"\n ],\n [\n \"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\n \"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"\n ],\n [\n \"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\n \"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"\n ],\n [\n \"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\n \"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"\n ],\n [\n \"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\n \"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"\n ],\n [\n \"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\n \"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"\n ],\n [\n \"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\n \"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"\n ],\n [\n \"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\n \"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"\n ],\n [\n \"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\n \"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"\n ],\n [\n \"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\n \"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"\n ],\n [\n \"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\n \"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"\n ],\n [\n \"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\n \"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"\n ],\n [\n \"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\n \"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"\n ],\n [\n \"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\n \"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"\n ],\n [\n \"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\n \"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"\n ],\n [\n \"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\n \"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"\n ],\n [\n \"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\n \"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"\n ],\n [\n \"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\n \"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"\n ],\n [\n \"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\n \"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"\n ],\n [\n \"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\n \"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"\n ],\n [\n \"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\n \"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"\n ],\n [\n \"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\n \"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"\n ],\n [\n \"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\n \"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"\n ],\n [\n \"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\n \"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"\n ],\n [\n \"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\n \"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"\n ],\n [\n \"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\n \"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"\n ],\n [\n \"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\n \"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"\n ],\n [\n \"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\n \"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"\n ],\n [\n \"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\n \"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"\n ],\n [\n \"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\n \"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"\n ],\n [\n \"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\n \"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"\n ],\n [\n \"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\n \"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"\n ],\n [\n \"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\n \"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"\n ],\n [\n \"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\n \"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"\n ],\n [\n \"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\n \"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"\n ],\n [\n \"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\n \"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"\n ],\n [\n \"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\n \"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"\n ],\n [\n \"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\n \"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"\n ],\n [\n \"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\n \"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"\n ],\n [\n \"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\n \"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"\n ],\n [\n \"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\n \"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"\n ],\n [\n \"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\n \"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"\n ],\n [\n \"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\n \"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"\n ],\n [\n \"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\n \"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"\n ],\n [\n \"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\n \"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"\n ],\n [\n \"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\n \"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"\n ],\n [\n \"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\n \"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"\n ],\n [\n \"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\n \"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"\n ],\n [\n \"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\n \"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"\n ],\n [\n \"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\n \"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"\n ],\n [\n \"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\n \"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"\n ],\n [\n \"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\n \"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"\n ],\n [\n \"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\n \"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"\n ],\n [\n \"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\n \"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"\n ],\n [\n \"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\n \"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"\n ],\n [\n \"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\n \"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"\n ],\n [\n \"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\n \"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"\n ],\n [\n \"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\n \"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"\n ],\n [\n \"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\n \"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"\n ],\n [\n \"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\n \"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"\n ],\n [\n \"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\n \"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"\n ],\n [\n \"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\n \"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"\n ],\n [\n \"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\n \"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"\n ],\n [\n \"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\n \"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"\n ],\n [\n \"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\n \"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"\n ],\n [\n \"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\n \"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"\n ],\n [\n \"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\n \"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"\n ],\n [\n \"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\n \"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"\n ],\n [\n \"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\n \"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"\n ],\n [\n \"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\n \"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"\n ],\n [\n \"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\n \"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"\n ],\n [\n \"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\n \"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"\n ],\n [\n \"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\n \"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"\n ],\n [\n \"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\n \"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"\n ],\n [\n \"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\n \"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"\n ],\n [\n \"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\n \"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"\n ],\n [\n \"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\n \"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"\n ],\n [\n \"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\n \"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"\n ],\n [\n \"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\n \"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"\n ],\n [\n \"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\n \"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"\n ],\n [\n \"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\n \"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"\n ],\n [\n \"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\n \"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"\n ],\n [\n \"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\n \"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"\n ],\n [\n \"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\n \"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"\n ],\n [\n \"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\n \"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"\n ],\n [\n \"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\n \"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"\n ],\n [\n \"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\n \"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"\n ],\n [\n \"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\n \"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"\n ],\n [\n \"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\n \"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"\n ],\n [\n \"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\n \"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"\n ],\n [\n \"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\n \"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"\n ],\n [\n \"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\n \"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"\n ],\n [\n \"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\n \"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"\n ],\n [\n \"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\n \"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"\n ],\n [\n \"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\n \"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"\n ],\n [\n \"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\n \"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"\n ],\n [\n \"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\n \"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"\n ],\n [\n \"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\n \"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"\n ],\n [\n \"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\n \"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"\n ],\n [\n \"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\n \"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"\n ]\n ]\n }\n };\n }\n}), require_curves = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curves.js\"(exports) {\n var curves = exports, hash = require_hash2(), curve = require_curve(), utils = require_utils3(), assert = utils.assert;\n function PresetCurve(options) {\n options.type === \"short\" \? this.curve = new curve.short(options) : options.type === \"edwards\" \? this.curve = new curve.edwards(options) : this.curve = new curve.mont(options), this.g = this.curve.g, this.n = this.curve.n, this.hash = options.hash, assert(this.g.validate(), \"Invalid curve\"), assert(this.g.mul(this.n).isInfinity(), \"Invalid curve, G*N != O\");\n }\n PresetCurve.prototype = {}, curves.PresetCurve = PresetCurve;\n function defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n var curve2 = new PresetCurve(options);\n return Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n value: curve2\n }), curve2;\n }\n });\n }\n defineCurve(\"p192\", {\n type: \"short\",\n prime: \"p192\",\n p: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",\n b: \"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",\n n: \"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\n \"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"\n ]\n }), defineCurve(\"p224\", {\n type: \"short\",\n prime: \"p224\",\n p: \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",\n b: \"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",\n n: \"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\n \"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"\n ]\n }), defineCurve(\"p256\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",\n a: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",\n b: \"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",\n n: \"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\n \"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"\n ]\n }), defineCurve(\"p384\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",\n a: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",\n b: \"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",\n n: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",\n hash: hash.sha384,\n gRed: !1,\n g: [\n \"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\n \"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"\n ]\n }), defineCurve(\"p521\", {\n type: \"short\",\n prime: null,\n p: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",\n a: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",\n b: \"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",\n n: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",\n hash: hash.sha512,\n gRed: !1,\n g: [\n \"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\n \"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"\n ]\n }), defineCurve(\"curve25519\", {\n type: \"mont\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"76d06\",\n b: \"1\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\"9\"]\n }), defineCurve(\"ed25519\", {\n type: \"edwards\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"-1\",\n c: \"1\",\n d: \"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\n \"6666666666666666666666666666666666666666666666666666666666666658\"\n ]\n });\n var pre;\n try {\n pre = require_secp256k1();\n } catch {\n pre = void 0;\n }\n defineCurve(\"secp256k1\", {\n type: \"short\",\n prime: \"k256\",\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",\n a: \"0\",\n b: \"7\",\n n: \"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",\n h: \"1\",\n hash: hash.sha256,\n beta: \"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",\n lambda: \"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",\n basis: [\n {\n a: \"3086d221a7d46bcde86c90e49284eb15\",\n b: \"-e4437ed6010e88286f547fa90abfe4c3\"\n },\n {\n a: \"114ca50f7a8e2f3f657c1108d9d44cfd8\",\n b: \"3086d221a7d46bcde86c90e49284eb15\"\n }\n ],\n gRed: !1,\n g: [\n \"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n \"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",\n pre\n ]\n });\n }\n}), require_hmac_drbg = __commonJS({\n \"node_modules/hmac-drbg/lib/hmac-drbg.js\"(exports, module) {\n var hash = require_hash2(), utils = require_utils2(), assert = require_minimalistic_assert();\n function HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash, this.predResist = !!options.predResist, this.outLen = this.hash.outSize, this.minEntropy = options.minEntropy || this.hash.hmacStrength, this._reseed = null, this.reseedInterval = null, this.K = null, this.V = null;\n var entropy = utils.toArray(options.entropy, options.entropyEnc || \"hex\"), nonce = utils.toArray(options.nonce, options.nonceEnc || \"hex\"), pers = utils.toArray(options.pers, options.persEnc || \"hex\");\n assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._init(entropy, nonce, pers);\n }\n HmacDRBG.prototype = {}, module.exports = HmacDRBG, HmacDRBG.prototype._init = function(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n this.K = new @Array(this.outLen / 8), this.V = new @Array(this.outLen / 8);\n for (var i = 0;i < this.V.length; i++)\n this.K[i] = 0, this.V[i] = 1;\n this._update(seed), this._reseed = 1, this.reseedInterval = 281474976710656;\n }, HmacDRBG.prototype._hmac = function() {\n return new hash.hmac(this.hash, this.K);\n }, HmacDRBG.prototype._update = function(seed) {\n var kmac = this._hmac().update(this.V).update([0]);\n seed && (kmac = kmac.update(seed)), this.K = kmac.digest(), this.V = this._hmac().update(this.V).digest(), seed && (this.K = this._hmac().update(this.V).update([1]).update(seed).digest(), this.V = this._hmac().update(this.V).digest());\n }, HmacDRBG.prototype.reseed = function(entropy, entropyEnc, add, addEnc) {\n typeof entropyEnc != \"string\" && (addEnc = add, add = entropyEnc, entropyEnc = null), entropy = utils.toArray(entropy, entropyEnc), add = utils.toArray(add, addEnc), assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._update(entropy.concat(add || [])), this._reseed = 1;\n }, HmacDRBG.prototype.generate = function(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error(\"Reseed is required\");\n typeof enc != \"string\" && (addEnc = add, add = enc, enc = null), add && (add = utils.toArray(add, addEnc || \"hex\"), this._update(add));\n for (var temp = [];temp.length < len; )\n this.V = this._hmac().update(this.V).digest(), temp = temp.concat(this.V);\n var res = temp.slice(0, len);\n return this._update(add), this._reseed++, utils.encode(res, enc);\n };\n }\n}), require_key = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/key.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function KeyPair(ec, options) {\n this.ec = ec, this.priv = null, this.pub = null, options.priv && this._importPrivate(options.priv, options.privEnc), options.pub && this._importPublic(options.pub, options.pubEnc);\n }\n KeyPair.prototype = {}, module.exports = KeyPair, KeyPair.fromPublic = function(ec, pub, enc) {\n return pub instanceof KeyPair \? pub : new KeyPair(ec, {\n pub,\n pubEnc: enc\n });\n }, KeyPair.fromPrivate = function(ec, priv, enc) {\n return priv instanceof KeyPair \? priv : new KeyPair(ec, {\n priv,\n privEnc: enc\n });\n }, KeyPair.prototype.validate = function() {\n var pub = this.getPublic();\n return pub.isInfinity() \? { result: !1, reason: \"Invalid public key\" } : pub.validate() \? pub.mul(this.ec.curve.n).isInfinity() \? { result: !0, reason: null } : { result: !1, reason: \"Public key * N != O\" } : { result: !1, reason: \"Public key is not a point\" };\n }, KeyPair.prototype.getPublic = function(compact, enc) {\n return typeof compact == \"string\" && (enc = compact, compact = null), this.pub || (this.pub = this.ec.g.mul(this.priv)), enc \? this.pub.encode(enc, compact) : this.pub;\n }, KeyPair.prototype.getPrivate = function(enc) {\n return enc === \"hex\" \? this.priv.toString(16, 2) : this.priv;\n }, KeyPair.prototype._importPrivate = function(key2, enc) {\n this.priv = new BN(key2, enc || 16), this.priv = this.priv.umod(this.ec.curve.n);\n }, KeyPair.prototype._importPublic = function(key2, enc) {\n if (key2.x || key2.y) {\n this.ec.curve.type === \"mont\" \? assert(key2.x, \"Need x coordinate\") : (this.ec.curve.type === \"short\" || this.ec.curve.type === \"edwards\") && assert(key2.x && key2.y, \"Need both x and y coordinate\"), this.pub = this.ec.curve.point(key2.x, key2.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key2, enc);\n }, KeyPair.prototype.derive = function(pub) {\n return pub.validate() || assert(pub.validate(), \"public point not validated\"), pub.mul(this.priv).getX();\n }, KeyPair.prototype.sign = function(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n }, KeyPair.prototype.verify = function(msg, signature) {\n return this.ec.verify(msg, signature, this);\n }, KeyPair.prototype.inspect = function() {\n return \"<Key priv: \" + (this.priv && this.priv.toString(16, 2)) + \" pub: \" + (this.pub && this.pub.inspect()) + \" >\";\n };\n }\n}), require_signature = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n this._importDER(options, enc) || (assert(options.r && options.s, \"Signature without r or s\"), this.r = new BN(options.r, 16), this.s = new BN(options.s, 16), options.recoveryParam === void 0 \? this.recoveryParam = null : this.recoveryParam = options.recoveryParam);\n }\n Signature.prototype = {}, module.exports = Signature;\n function Position() {\n this.place = 0;\n }\n function getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 128))\n return initial;\n var octetLen = initial & 15;\n if (octetLen === 0 || octetLen > 4)\n return !1;\n for (var val = 0, i = 0, off = p.place;i < octetLen; i++, off++)\n val <<= 8, val |= buf[off], val >>>= 0;\n return val <= 127 \? !1 : (p.place = off, val);\n }\n function rmPadding(buf) {\n for (var i = 0, len = buf.length - 1;!buf[i] && !(buf[i + 1] & 128) && i < len; )\n i++;\n return i === 0 \? buf : buf.slice(i);\n }\n Signature.prototype._importDER = function(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position;\n if (data[p.place++] !== 48)\n return !1;\n var len = getLength(data, p);\n if (len === !1 || len + p.place !== data.length || data[p.place++] !== 2)\n return !1;\n var rlen = getLength(data, p);\n if (rlen === !1)\n return !1;\n var r = data.slice(p.place, rlen + p.place);\n if (p.place += rlen, data[p.place++] !== 2)\n return !1;\n var slen = getLength(data, p);\n if (slen === !1 || data.length !== slen + p.place)\n return !1;\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0)\n if (r[1] & 128)\n r = r.slice(1);\n else\n return !1;\n if (s[0] === 0)\n if (s[1] & 128)\n s = s.slice(1);\n else\n return !1;\n return this.r = new BN(r), this.s = new BN(s), this.recoveryParam = null, !0;\n };\n function constructLength(arr, len) {\n if (len < 128) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n for (arr.push(octets | 128);--octets; )\n arr.push(len >>> (octets << 3) & 255);\n arr.push(len);\n }\n Signature.prototype.toDER = function(enc) {\n var r = this.r.toArray(), s = this.s.toArray();\n for (r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s)), r = rmPadding(r), s = rmPadding(s);!s[0] && !(s[1] & 128); )\n s = s.slice(1);\n var arr = [2];\n constructLength(arr, r.length), arr = arr.concat(r), arr.push(2), constructLength(arr, s.length);\n var backHalf = arr.concat(s), res = [48];\n return constructLength(res, backHalf.length), res = res.concat(backHalf), utils.encode(res, enc);\n };\n }\n}), require_ec = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/index.js\"(exports, module) {\n var BN = require_bn4(), HmacDRBG = require_hmac_drbg(), utils = require_utils3(), curves = require_curves(), rand = require_brorand(), assert = utils.assert, KeyPair = require_key(), Signature = require_signature();\n function EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n typeof options == \"string\" && (assert(Object.prototype.hasOwnProperty.@call(curves, options), \"Unknown curve \" + options), options = curves[options]), options instanceof curves.PresetCurve && (options = { curve: options }), this.curve = options.curve.curve, this.n = this.curve.n, this.nh = this.n.ushrn(1), this.g = this.curve.g, this.g = options.curve.g, this.g.precompute(options.curve.n.bitLength() + 1), this.hash = options.hash || options.curve.hash;\n }\n EC.prototype = {}, module.exports = EC, EC.prototype.keyPair = function(options) {\n return new KeyPair(this, options);\n }, EC.prototype.keyFromPrivate = function(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n }, EC.prototype.keyFromPublic = function(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n }, EC.prototype.genKeyPair = function(options) {\n options || (options = {});\n for (var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\",\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || \"utf8\",\n nonce: this.n.toArray()\n }), bytes = this.n.byteLength(), ns2 = this.n.sub(new BN(2));; ) {\n var priv = new BN(drbg.generate(bytes));\n if (!(priv.cmp(ns2) > 0))\n return priv.iaddn(1), this.keyFromPrivate(priv);\n }\n }, EC.prototype._truncateToN = function(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n return delta > 0 && (msg = msg.ushrn(delta)), !truncOnly && msg.cmp(this.n) >= 0 \? msg.sub(this.n) : msg;\n }, EC.prototype.sign = function(msg, key2, enc, options) {\n typeof enc == \"object\" && (options = enc, enc = null), options || (options = {}), key2 = this.keyFromPrivate(key2, enc), msg = this._truncateToN(new BN(msg, 16));\n for (var bytes = this.n.byteLength(), bkey = key2.getPrivate().toArray(\"be\", bytes), nonce = msg.toArray(\"be\", bytes), drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\"\n }), ns1 = this.n.sub(new BN(1)), iter = 0;; iter++) {\n var k = options.k \? options.k(iter) : new BN(drbg.generate(this.n.byteLength()));\n if (k = this._truncateToN(k, !0), !(k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)) {\n var kp = this.g.mul(k);\n if (!kp.isInfinity()) {\n var kpX = kp.getX(), r = kpX.umod(this.n);\n if (r.cmpn(0) !== 0) {\n var s = k.invm(this.n).mul(r.mul(key2.getPrivate()).iadd(msg));\n if (s = s.umod(this.n), s.cmpn(0) !== 0) {\n var recoveryParam = (kp.getY().isOdd() \? 1 : 0) | (kpX.cmp(r) !== 0 \? 2 : 0);\n return options.canonical && s.cmp(this.nh) > 0 && (s = this.n.sub(s), recoveryParam ^= 1), new Signature({ r, s, recoveryParam });\n }\n }\n }\n }\n }\n }, EC.prototype.verify = function(msg, signature, key2, enc) {\n msg = this._truncateToN(new BN(msg, 16)), key2 = this.keyFromPublic(key2, enc), signature = new Signature(signature, \"hex\");\n var { r, s } = signature;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0 || s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return !1;\n var sinv = s.invm(this.n), u1 = sinv.mul(msg).umod(this.n), u2 = sinv.mul(r).umod(this.n), p;\n return this.curve._maxwellTrick \? (p = this.g.jmulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.eqXToP(r)) : (p = this.g.mulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.getX().umod(this.n).cmp(r) === 0);\n }, EC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, \"The recovery param is more than two bits\"), signature = new Signature(signature, enc);\n var n = this.n, e = new BN(msg), r = signature.r, s = signature.s, isYOdd = j & 1, isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error(\"Unable to find sencond key candinate\");\n isSecondKey \? r = this.curve.pointFromX(r.add(this.curve.n), isYOdd) : r = this.curve.pointFromX(r, isYOdd);\n var rInv = signature.r.invm(n), s1 = n.sub(e).mul(rInv).umod(n), s2 = s.mul(rInv).umod(n);\n return this.g.mulAdd(s1, r, s2);\n }, EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n if (signature = new Signature(signature, enc), signature.recoveryParam !== null)\n return signature.recoveryParam;\n for (var i = 0;i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch {\n continue;\n }\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error(\"Unable to find valid recovery factor\");\n };\n }\n}), require_key2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/key.js\"(exports, module) {\n var utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, cachedProperty = utils.cachedProperty;\n function KeyPair(eddsa, params) {\n this.eddsa = eddsa, this._secret = parseBytes(params.secret), eddsa.isPoint(params.pub) \? this._pub = params.pub : this._pubBytes = parseBytes(params.pub);\n }\n KeyPair.prototype = {}, KeyPair.fromPublic = function(eddsa, pub) {\n return pub instanceof KeyPair \? pub : new KeyPair(eddsa, { pub });\n }, KeyPair.fromSecret = function(eddsa, secret) {\n return secret instanceof KeyPair \? secret : new KeyPair(eddsa, { secret });\n }, KeyPair.prototype.secret = function() {\n return this._secret;\n }, cachedProperty(KeyPair, \"pubBytes\", function() {\n return this.eddsa.encodePoint(this.pub());\n }), cachedProperty(KeyPair, \"pub\", function() {\n return this._pubBytes \? this.eddsa.decodePoint(this._pubBytes) : this.eddsa.g.mul(this.priv());\n }), cachedProperty(KeyPair, \"privBytes\", function() {\n var eddsa = this.eddsa, hash = this.hash(), lastIx = eddsa.encodingLength - 1, a = hash.slice(0, eddsa.encodingLength);\n return a[0] &= 248, a[lastIx] &= 127, a[lastIx] |= 64, a;\n }), cachedProperty(KeyPair, \"priv\", function() {\n return this.eddsa.decodeInt(this.privBytes());\n }), cachedProperty(KeyPair, \"hash\", function() {\n return this.eddsa.hash().update(this.secret()).digest();\n }), cachedProperty(KeyPair, \"messagePrefix\", function() {\n return this.hash().slice(this.eddsa.encodingLength);\n }), KeyPair.prototype.sign = function(message) {\n return assert(this._secret, \"KeyPair can only verify\"), this.eddsa.sign(message, this);\n }, KeyPair.prototype.verify = function(message, sig) {\n return this.eddsa.verify(message, sig, this);\n }, KeyPair.prototype.getSecret = function(enc) {\n return assert(this._secret, \"KeyPair is public only\"), utils.encode(this.secret(), enc);\n }, KeyPair.prototype.getPublic = function(enc) {\n return utils.encode(this.pubBytes(), enc);\n }, module.exports = KeyPair;\n }\n}), require_signature2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert, cachedProperty = utils.cachedProperty, parseBytes = utils.parseBytes;\n function Signature(eddsa, sig) {\n this.eddsa = eddsa, typeof sig != \"object\" && (sig = parseBytes(sig)), @Array.isArray(sig) && (sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n }), assert(sig.R && sig.S, \"Signature without R or S\"), eddsa.isPoint(sig.R) && (this._R = sig.R), sig.S instanceof BN && (this._S = sig.S), this._Rencoded = @Array.isArray(sig.R) \? sig.R : sig.Rencoded, this._Sencoded = @Array.isArray(sig.S) \? sig.S : sig.Sencoded;\n }\n Signature.prototype = {}, cachedProperty(Signature, \"S\", function() {\n return this.eddsa.decodeInt(this.Sencoded());\n }), cachedProperty(Signature, \"R\", function() {\n return this.eddsa.decodePoint(this.Rencoded());\n }), cachedProperty(Signature, \"Rencoded\", function() {\n return this.eddsa.encodePoint(this.R());\n }), cachedProperty(Signature, \"Sencoded\", function() {\n return this.eddsa.encodeInt(this.S());\n }), Signature.prototype.toBytes = function() {\n return this.Rencoded().concat(this.Sencoded());\n }, Signature.prototype.toHex = function() {\n return utils.encode(this.toBytes(), \"hex\").toUpperCase();\n }, module.exports = Signature;\n }\n}), require_eddsa = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/index.js\"(exports, module) {\n var hash = require_hash2(), curves = require_curves(), utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, KeyPair = require_key2(), Signature = require_signature2();\n function EDDSA(curve) {\n if (assert(curve === \"ed25519\", \"only tested with ed25519 so far\"), !(this instanceof EDDSA))\n return new EDDSA(curve);\n curve = curves[curve].curve, this.curve = curve, this.g = curve.g, this.g.precompute(curve.n.bitLength() + 1), this.pointClass = curve.point().constructor, this.encodingLength = Math.ceil(curve.n.bitLength() / 8), this.hash = hash.sha512;\n }\n EDDSA.prototype = {}, module.exports = EDDSA, EDDSA.prototype.sign = function(message, secret) {\n message = parseBytes(message);\n var key2 = this.keyFromSecret(secret), r = this.hashInt(key2.messagePrefix(), message), R = this.g.mul(r), Rencoded = this.encodePoint(R), s_ = this.hashInt(Rencoded, key2.pubBytes(), message).mul(key2.priv()), S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R, S, Rencoded });\n }, EDDSA.prototype.verify = function(message, sig, pub) {\n message = parseBytes(message), sig = this.makeSignature(sig);\n var key2 = this.keyFromPublic(pub), h = this.hashInt(sig.Rencoded(), key2.pubBytes(), message), SG = this.g.mul(sig.S()), RplusAh = sig.R().add(key2.pub().mul(h));\n return RplusAh.eq(SG);\n }, EDDSA.prototype.hashInt = function() {\n for (var hash2 = this.hash(), i = 0;i < arguments.length; i++)\n hash2.update(arguments[i]);\n return utils.intFromLE(hash2.digest()).umod(this.curve.n);\n }, EDDSA.prototype.keyFromPublic = function(pub) {\n return KeyPair.fromPublic(this, pub);\n }, EDDSA.prototype.keyFromSecret = function(secret) {\n return KeyPair.fromSecret(this, secret);\n }, EDDSA.prototype.makeSignature = function(sig) {\n return sig instanceof Signature \? sig : new Signature(this, sig);\n }, EDDSA.prototype.encodePoint = function(point) {\n var enc = point.getY().toArray(\"le\", this.encodingLength);\n return enc[this.encodingLength - 1] |= point.getX().isOdd() \? 128 : 0, enc;\n }, EDDSA.prototype.decodePoint = function(bytes) {\n bytes = utils.parseBytes(bytes);\n var lastIx = bytes.length - 1, normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & -129), xIsOdd = (bytes[lastIx] & 128) !== 0, y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n }, EDDSA.prototype.encodeInt = function(num) {\n return num.toArray(\"le\", this.encodingLength);\n }, EDDSA.prototype.decodeInt = function(bytes) {\n return utils.intFromLE(bytes);\n }, EDDSA.prototype.isPoint = function(val) {\n return val instanceof this.pointClass;\n };\n }\n}), require_elliptic = __commonJS({\n \"node_modules/elliptic/lib/elliptic.js\"(exports) {\n var elliptic = exports;\n elliptic.version = require_package().version, elliptic.utils = require_utils3(), elliptic.rand = require_brorand(), elliptic.curve = require_curve(), elliptic.curves = require_curves(), elliptic.ec = require_ec(), elliptic.eddsa = require_eddsa();\n }\n}), require_bn5 = require_bn, require_safer = __commonJS({\n \"node_modules/safer-buffer/safer.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = Buffer, safer = {}, key2;\n for (key2 in buffer)\n !buffer.hasOwnProperty(key2) || key2 === \"SlowBuffer\" || key2 === \"Buffer\" || (safer[key2] = buffer[key2]);\n var Safer = safer.Buffer = {};\n for (key2 in Buffer2)\n !Buffer2.hasOwnProperty(key2) || key2 === \"allocUnsafe\" || key2 === \"allocUnsafeSlow\" || (Safer[key2] = Buffer2[key2]);\n if (safer.Buffer.prototype = Buffer2.prototype, (!Safer.from || Safer.from === @Uint8Array.from) && (Safer.from = function(value, encodingOrOffset, length) {\n if (typeof value == \"number\")\n @throwTypeError('The \"value\" argument must not be of type number. Received type ' + typeof value);\n if (value && typeof value.length > \"u\")\n @throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n return Buffer2(value, encodingOrOffset, length);\n }), Safer.alloc || (Safer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError('The \"size\" argument must be of type number. Received type ' + typeof size);\n if (size < 0 || size >= 2 * (1 << 30))\n @throwRangeError('The value \"' + size + '\" is invalid for option \"size\"');\n var buf = Buffer2(size);\n return !fill || fill.length === 0 \? buf.fill(0) : typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill), buf;\n }), !safer.kStringMaxLength)\n try {\n safer.kStringMaxLength = MAX_STRING_LENGTH;\n } catch {\n }\n safer.constants || (safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }, safer.kStringMaxLength && (safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength)), module.exports = safer;\n }\n}), require_reporter = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/reporter.js\"(exports) {\n var inherits = require_inherits_browser();\n function Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n }\n Reporter.prototype = {}, exports.Reporter = Reporter, Reporter.prototype.isError = function(obj) {\n return obj instanceof ReporterError;\n }, Reporter.prototype.save = function() {\n let state = this._reporterState;\n return { obj: state.obj, pathLen: state.path.length };\n }, Reporter.prototype.restore = function(data) {\n let state = this._reporterState;\n state.obj = data.obj, state.path = state.path.slice(0, data.pathLen);\n }, Reporter.prototype.enterKey = function(key2) {\n return this._reporterState.path.push(key2);\n }, Reporter.prototype.exitKey = function(index) {\n let state = this._reporterState;\n state.path = state.path.slice(0, index - 1);\n }, Reporter.prototype.leaveKey = function(index, key2, value) {\n let state = this._reporterState;\n this.exitKey(index), state.obj !== null && (state.obj[key2] = value);\n }, Reporter.prototype.path = function() {\n return this._reporterState.path.join(\"/\");\n }, Reporter.prototype.enterObject = function() {\n let state = this._reporterState, prev = state.obj;\n return state.obj = {}, prev;\n }, Reporter.prototype.leaveObject = function(prev) {\n let state = this._reporterState, now = state.obj;\n return state.obj = prev, now;\n }, Reporter.prototype.error = function(msg) {\n let err, state = this._reporterState, inherited = msg instanceof ReporterError;\n if (inherited \? err = msg : err = new ReporterError(state.path.map(function(elem) {\n return \"[\" + JSON.stringify(elem) + \"]\";\n }).join(\"\"), msg.message || msg, msg.stack), !state.options.partial)\n throw err;\n return inherited || state.errors.push(err), err;\n }, Reporter.prototype.wrapResult = function(result) {\n let state = this._reporterState;\n return state.options.partial \? {\n result: this.isError(result) \? null : result,\n errors: state.errors\n } : result;\n };\n function ReporterError(path, msg) {\n this.path = path, this.rethrow(msg);\n }\n inherits(ReporterError, Error), ReporterError.prototype.rethrow = function(msg) {\n if (this.message = msg + \" at: \" + (this.path || \"(shallow)\"), Error.captureStackTrace && Error.captureStackTrace(this, ReporterError), !this.stack)\n try {\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n return this;\n };\n }\n}), require_buffer = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/buffer.js\"(exports) {\n var inherits = require_inherits_browser(), Reporter = require_reporter().Reporter, Buffer2 = require_safer().Buffer;\n function DecoderBuffer(base, options) {\n if (Reporter.@call(this, options), !Buffer2.isBuffer(base)) {\n this.error(\"Input not Buffer\");\n return;\n }\n this.base = base, this.offset = 0, this.length = base.length;\n }\n inherits(DecoderBuffer, Reporter), exports.DecoderBuffer = DecoderBuffer, DecoderBuffer.isDecoderBuffer = function(data) {\n return data instanceof DecoderBuffer \? !0 : typeof data == \"object\" && Buffer2.isBuffer(data.base) && data.constructor.name === \"DecoderBuffer\" && typeof data.offset == \"number\" && typeof data.length == \"number\" && typeof data.save == \"function\" && typeof data.restore == \"function\" && typeof data.isEmpty == \"function\" && typeof data.readUInt8 == \"function\" && typeof data.skip == \"function\" && typeof data.raw == \"function\";\n }, DecoderBuffer.prototype.save = function() {\n return {\n offset: this.offset,\n reporter: Reporter.prototype.save.@call(this)\n };\n }, DecoderBuffer.prototype.restore = function(save) {\n let res = new DecoderBuffer(this.base);\n return res.offset = save.offset, res.length = this.offset, this.offset = save.offset, Reporter.prototype.restore.@call(this, save.reporter), res;\n }, DecoderBuffer.prototype.isEmpty = function() {\n return this.offset === this.length;\n }, DecoderBuffer.prototype.readUInt8 = function(fail) {\n return this.offset + 1 <= this.length \? this.base.readUInt8(this.offset++, !0) : this.error(fail || \"DecoderBuffer overrun\");\n }, DecoderBuffer.prototype.skip = function(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || \"DecoderBuffer overrun\");\n let res = new DecoderBuffer(this.base);\n return res._reporterState = this._reporterState, res.offset = this.offset, res.length = this.offset + bytes, this.offset += bytes, res;\n }, DecoderBuffer.prototype.raw = function(save) {\n return this.base.slice(save \? save.offset : this.offset, this.length);\n };\n function EncoderBuffer(value, reporter) {\n if (@Array.isArray(value))\n this.length = 0, this.value = value.map(function(item) {\n return EncoderBuffer.isEncoderBuffer(item) || (item = new EncoderBuffer(item, reporter)), this.length += item.length, item;\n }, this);\n else if (typeof value == \"number\") {\n if (!(0 <= value && value <= 255))\n return reporter.error(\"non-byte EncoderBuffer value\");\n this.value = value, this.length = 1;\n } else if (typeof value == \"string\")\n this.value = value, this.length = Buffer2.byteLength(value);\n else if (Buffer2.isBuffer(value))\n this.value = value, this.length = value.length;\n else\n return reporter.error(\"Unsupported type: \" + typeof value);\n }\n EncoderBuffer.prototype = {}, exports.EncoderBuffer = EncoderBuffer, EncoderBuffer.isEncoderBuffer = function(data) {\n return data instanceof EncoderBuffer \? !0 : typeof data == \"object\" && data.constructor.name === \"EncoderBuffer\" && typeof data.length == \"number\" && typeof data.join == \"function\";\n }, EncoderBuffer.prototype.join = function(out, offset) {\n return out || (out = Buffer2.alloc(this.length)), offset || (offset = 0), this.length === 0 || (@Array.isArray(this.value) \? this.value.forEach(function(item) {\n item.join(out, offset), offset += item.length;\n }) : (typeof this.value == \"number\" \? out[offset] = this.value : typeof this.value == \"string\" \? out.write(this.value, offset) : Buffer2.isBuffer(this.value) && this.value.copy(out, offset), offset += this.length)), out;\n };\n }\n}), require_node = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/node.js\"(exports, module) {\n var Reporter = require_reporter().Reporter, EncoderBuffer = require_buffer().EncoderBuffer, DecoderBuffer = require_buffer().DecoderBuffer, assert = require_minimalistic_assert(), tags = [\n \"seq\",\n \"seqof\",\n \"set\",\n \"setof\",\n \"objid\",\n \"bool\",\n \"gentime\",\n \"utctime\",\n \"null_\",\n \"enum\",\n \"int\",\n \"objDesc\",\n \"bitstr\",\n \"bmpstr\",\n \"charstr\",\n \"genstr\",\n \"graphstr\",\n \"ia5str\",\n \"iso646str\",\n \"numstr\",\n \"octstr\",\n \"printstr\",\n \"t61str\",\n \"unistr\",\n \"utf8str\",\n \"videostr\"\n ], methods = [\"key\", \"obj\", \"use\", \"optional\", \"explicit\", \"implicit\", \"def\", \"choice\", \"any\", \"contains\"].concat(tags), overrided = [\n \"_peekTag\",\n \"_decodeTag\",\n \"_use\",\n \"_decodeStr\",\n \"_decodeObjid\",\n \"_decodeTime\",\n \"_decodeNull\",\n \"_decodeInt\",\n \"_decodeBool\",\n \"_decodeList\",\n \"_encodeComposite\",\n \"_encodeStr\",\n \"_encodeObjid\",\n \"_encodeTime\",\n \"_encodeNull\",\n \"_encodeInt\",\n \"_encodeBool\"\n ];\n function Node(enc, parent, name) {\n let state = {};\n this._baseState = state, state.name = name, state.enc = enc, state.parent = parent || null, state.children = null, state.tag = null, state.args = null, state.reverseArgs = null, state.choice = null, state.optional = !1, state.any = !1, state.obj = !1, state.use = null, state.useDecoder = null, state.key = null, state.default = null, state.explicit = null, state.implicit = null, state.contains = null, state.parent || (state.children = [], this._wrap());\n }\n Node.prototype = {}, module.exports = Node;\n var stateProps = [\n \"enc\",\n \"parent\",\n \"children\",\n \"tag\",\n \"args\",\n \"reverseArgs\",\n \"choice\",\n \"optional\",\n \"any\",\n \"obj\",\n \"use\",\n \"alteredUse\",\n \"key\",\n \"default\",\n \"explicit\",\n \"implicit\",\n \"contains\"\n ];\n Node.prototype.clone = function() {\n let state = this._baseState, cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n let res = new this.constructor(cstate.parent);\n return res._baseState = cstate, res;\n }, Node.prototype._wrap = function() {\n let state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function() {\n let clone = new this.constructor(this);\n return state.children.push(clone), clone[method].@apply(clone, arguments);\n };\n }, this);\n }, Node.prototype._init = function(body) {\n let state = this._baseState;\n assert(state.parent === null), body.@call(this), state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this), assert.equal(state.children.length, 1, \"Root node can have only one child\");\n }, Node.prototype._useArgs = function(args) {\n let state = this._baseState, children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this), children.length !== 0 && (assert(state.children === null), state.children = children, children.forEach(function(child) {\n child._baseState.parent = this;\n }, this)), args.length !== 0 && (assert(state.args === null), state.args = args, state.reverseArgs = args.map(function(arg) {\n if (typeof arg != \"object\" || arg.constructor !== Object)\n return arg;\n let res = {};\n return Object.keys(arg).forEach(function(key2) {\n key2 == (key2 | 0) && (key2 |= 0);\n let value = arg[key2];\n res[value] = key2;\n }), res;\n }));\n }, overrided.forEach(function(method) {\n Node.prototype[method] = function() {\n let state = this._baseState;\n throw new Error(method + \" not implemented for encoding: \" + state.enc);\n };\n }), tags.forEach(function(tag) {\n Node.prototype[tag] = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return assert(state.tag === null), state.tag = tag, this._useArgs(args), this;\n };\n }), Node.prototype.use = function(item) {\n assert(item);\n let state = this._baseState;\n return assert(state.use === null), state.use = item, this;\n }, Node.prototype.optional = function() {\n let state = this._baseState;\n return state.optional = !0, this;\n }, Node.prototype.def = function(val) {\n let state = this._baseState;\n return assert(state.default === null), state.default = val, state.optional = !0, this;\n }, Node.prototype.explicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.explicit = num, this;\n }, Node.prototype.implicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.implicit = num, this;\n }, Node.prototype.obj = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return state.obj = !0, args.length !== 0 && this._useArgs(args), this;\n }, Node.prototype.key = function(newKey) {\n let state = this._baseState;\n return assert(state.key === null), state.key = newKey, this;\n }, Node.prototype.any = function() {\n let state = this._baseState;\n return state.any = !0, this;\n }, Node.prototype.choice = function(obj) {\n let state = this._baseState;\n return assert(state.choice === null), state.choice = obj, this._useArgs(Object.keys(obj).map(function(key2) {\n return obj[key2];\n })), this;\n }, Node.prototype.contains = function(item) {\n let state = this._baseState;\n return assert(state.use === null), state.contains = item, this;\n }, Node.prototype._decode = function(input, options) {\n let state = this._baseState;\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n let result = state.default, present = !0, prevKey = null;\n if (state.key !== null && (prevKey = input.enterKey(state.key)), state.optional) {\n let tag = null;\n if (state.explicit !== null \? tag = state.explicit : state.implicit !== null \? tag = state.implicit : state.tag !== null && (tag = state.tag), tag === null && !state.any) {\n let save = input.save();\n try {\n state.choice === null \? this._decodeGeneric(state.tag, input, options) : this._decodeChoice(input, options), present = !0;\n } catch {\n present = !1;\n }\n input.restore(save);\n } else if (present = this._peekTag(input, tag, state.any), input.isError(present))\n return present;\n }\n let prevObj;\n if (state.obj && present && (prevObj = input.enterObject()), present) {\n if (state.explicit !== null) {\n let explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n let start = input.offset;\n if (state.use === null && state.choice === null) {\n let save;\n state.any && (save = input.save());\n let body = this._decodeTag(input, state.implicit !== null \? state.implicit : state.tag, state.any);\n if (input.isError(body))\n return body;\n state.any \? result = input.raw(save) : input = body;\n }\n if (options && options.track && state.tag !== null && options.track(input.path(), start, input.length, \"tagged\"), options && options.track && state.tag !== null && options.track(input.path(), input.offset, input.length, \"content\"), state.any || (state.choice === null \? result = this._decodeGeneric(state.tag, input, options) : result = this._decodeChoice(input, options)), input.isError(result))\n return result;\n if (!state.any && state.choice === null && state.children !== null && state.children.forEach(function(child) {\n child._decode(input, options);\n }), state.contains && (state.tag === \"octstr\" || state.tag === \"bitstr\")) {\n let data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)._decode(data, options);\n }\n }\n return state.obj && present && (result = input.leaveObject(prevObj)), state.key !== null && (result !== null || present === !0) \? input.leaveKey(prevKey, state.key, result) : prevKey !== null && input.exitKey(prevKey), result;\n }, Node.prototype._decodeGeneric = function(tag, input, options) {\n let state = this._baseState;\n return tag === \"seq\" || tag === \"set\" \? null : tag === \"seqof\" || tag === \"setof\" \? this._decodeList(input, tag, state.args[0], options) : /str$/.test(tag) \? this._decodeStr(input, tag, options) : tag === \"objid\" && state.args \? this._decodeObjid(input, state.args[0], state.args[1], options) : tag === \"objid\" \? this._decodeObjid(input, null, null, options) : tag === \"gentime\" || tag === \"utctime\" \? this._decodeTime(input, tag, options) : tag === \"null_\" \? this._decodeNull(input, options) : tag === \"bool\" \? this._decodeBool(input, options) : tag === \"objDesc\" \? this._decodeStr(input, tag, options) : tag === \"int\" || tag === \"enum\" \? this._decodeInt(input, state.args && state.args[0], options) : state.use !== null \? this._getUse(state.use, input._reporterState.obj)._decode(input, options) : input.error(\"unknown tag: \" + tag);\n }, Node.prototype._getUse = function(entity, obj) {\n let state = this._baseState;\n return state.useDecoder = this._use(entity, obj), assert(state.useDecoder._baseState.parent === null), state.useDecoder = state.useDecoder._baseState.children[0], state.implicit !== state.useDecoder._baseState.implicit && (state.useDecoder = state.useDecoder.clone(), state.useDecoder._baseState.implicit = state.implicit), state.useDecoder;\n }, Node.prototype._decodeChoice = function(input, options) {\n let state = this._baseState, result = null, match = !1;\n return Object.keys(state.choice).some(function(key2) {\n let save = input.save(), node = state.choice[key2];\n try {\n let value = node._decode(input, options);\n if (input.isError(value))\n return !1;\n result = { type: key2, value }, match = !0;\n } catch {\n return input.restore(save), !1;\n }\n return !0;\n }, this), match \? result : input.error(\"Choice not matched\");\n }, Node.prototype._createEncoderBuffer = function(data) {\n return new EncoderBuffer(data, this.reporter);\n }, Node.prototype._encode = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.default !== null && state.default === data)\n return;\n let result = this._encodeValue(data, reporter, parent);\n if (result !== void 0 && !this._skipDefault(result, reporter, parent))\n return result;\n }, Node.prototype._encodeValue = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter);\n let result = null;\n if (this.reporter = reporter, state.optional && data === void 0)\n if (state.default !== null)\n data = state.default;\n else\n return;\n let content = null, primitive = !1;\n if (state.any)\n result = this._createEncoderBuffer(data);\n else if (state.choice)\n result = this._encodeChoice(data, reporter);\n else if (state.contains)\n content = this._getUse(state.contains, parent)._encode(data, reporter), primitive = !0;\n else if (state.children)\n content = state.children.map(function(child) {\n if (child._baseState.tag === \"null_\")\n return child._encode(null, reporter, data);\n if (child._baseState.key === null)\n return reporter.error(\"Child should have a key\");\n let prevKey = reporter.enterKey(child._baseState.key);\n if (typeof data != \"object\")\n return reporter.error(\"Child expected, but input is not object\");\n let res = child._encode(data[child._baseState.key], reporter, data);\n return reporter.leaveKey(prevKey), res;\n }, this).filter(function(child) {\n return child;\n }), content = this._createEncoderBuffer(content);\n else if (state.tag === \"seqof\" || state.tag === \"setof\") {\n if (!(state.args && state.args.length === 1))\n return reporter.error(\"Too many args for : \" + state.tag);\n if (!@Array.isArray(data))\n return reporter.error(\"seqof/setof, but data is not Array\");\n let child = this.clone();\n child._baseState.implicit = null, content = this._createEncoderBuffer(data.map(function(item) {\n let state2 = this._baseState;\n return this._getUse(state2.args[0], data)._encode(item, reporter);\n }, child));\n } else\n state.use !== null \? result = this._getUse(state.use, parent)._encode(data, reporter) : (content = this._encodePrimitive(state.tag, data), primitive = !0);\n if (!state.any && state.choice === null) {\n let tag = state.implicit !== null \? state.implicit : state.tag, cls = state.implicit === null \? \"universal\" : \"context\";\n tag === null \? state.use === null && reporter.error(\"Tag could be omitted only for .use()\") : state.use === null && (result = this._encodeComposite(tag, primitive, cls, content));\n }\n return state.explicit !== null && (result = this._encodeComposite(state.explicit, !1, \"context\", result)), result;\n }, Node.prototype._encodeChoice = function(data, reporter) {\n let state = this._baseState, node = state.choice[data.type];\n return node || assert(!1, data.type + \" not found in \" + JSON.stringify(Object.keys(state.choice))), node._encode(data.value, reporter);\n }, Node.prototype._encodePrimitive = function(tag, data) {\n let state = this._baseState;\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n if (tag === \"objid\" && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n if (tag === \"objid\")\n return this._encodeObjid(data, null, null);\n if (tag === \"gentime\" || tag === \"utctime\")\n return this._encodeTime(data, tag);\n if (tag === \"null_\")\n return this._encodeNull();\n if (tag === \"int\" || tag === \"enum\")\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n if (tag === \"bool\")\n return this._encodeBool(data);\n if (tag === \"objDesc\")\n return this._encodeStr(data, tag);\n throw new Error(\"Unsupported tag: \" + tag);\n }, Node.prototype._isNumstr = function(str) {\n return /^[0-9 ]*$/.test(str);\n }, Node.prototype._isPrintstr = function(str) {\n return /^[A-Za-z0-9 '()+,-./:=\?]*$/.test(str);\n };\n }\n}), require_der = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/der.js\"(exports) {\n function reverse(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }\n exports.tagClass = {\n 0: \"universal\",\n 1: \"application\",\n 2: \"context\",\n 3: \"private\"\n }, exports.tagClassByName = reverse(exports.tagClass), exports.tag = {\n 0: \"end\",\n 1: \"bool\",\n 2: \"int\",\n 3: \"bitstr\",\n 4: \"octstr\",\n 5: \"null_\",\n 6: \"objid\",\n 7: \"objDesc\",\n 8: \"external\",\n 9: \"real\",\n 10: \"enum\",\n 11: \"embed\",\n 12: \"utf8str\",\n 13: \"relativeOid\",\n 16: \"seq\",\n 17: \"set\",\n 18: \"numstr\",\n 19: \"printstr\",\n 20: \"t61str\",\n 21: \"videostr\",\n 22: \"ia5str\",\n 23: \"utctime\",\n 24: \"gentime\",\n 25: \"graphstr\",\n 26: \"iso646str\",\n 27: \"genstr\",\n 28: \"unistr\",\n 29: \"charstr\",\n 30: \"bmpstr\"\n }, exports.tagByName = reverse(exports.tag);\n }\n}), require_der2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, Node = require_node(), der = require_der();\n function DEREncoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DEREncoder.prototype = {}, module.exports = DEREncoder, DEREncoder.prototype.encode = function(data, reporter) {\n return this.tree._encode(data, reporter).join();\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._encodeComposite = function(tag, primitive, cls, content) {\n let encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n if (content.length < 128) {\n let header2 = Buffer2.alloc(2);\n return header2[0] = encodedTag, header2[1] = content.length, this._createEncoderBuffer([header2, content]);\n }\n let lenOctets = 1;\n for (let i = content.length;i >= 256; i >>= 8)\n lenOctets++;\n let header = Buffer2.alloc(2 + lenOctets);\n header[0] = encodedTag, header[1] = 128 | lenOctets;\n for (let i = 1 + lenOctets, j = content.length;j > 0; i--, j >>= 8)\n header[i] = j & 255;\n return this._createEncoderBuffer([header, content]);\n }, DERNode.prototype._encodeStr = function(str, tag) {\n if (tag === \"bitstr\")\n return this._createEncoderBuffer([str.unused | 0, str.data]);\n if (tag === \"bmpstr\") {\n let buf = Buffer2.alloc(str.length * 2);\n for (let i = 0;i < str.length; i++)\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n return this._createEncoderBuffer(buf);\n } else\n return tag === \"numstr\" \? this._isNumstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: numstr supports only digits and space\") : tag === \"printstr\" \? this._isPrintstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\") : /str$/.test(tag) \? this._createEncoderBuffer(str) : tag === \"objDesc\" \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: \" + tag + \" unsupported\");\n }, DERNode.prototype._encodeObjid = function(id, values, relative) {\n if (typeof id == \"string\") {\n if (!values)\n return this.reporter.error(\"string objid given, but no values map found\");\n if (!values.hasOwnProperty(id))\n return this.reporter.error(\"objid not found in values map\");\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n } else if (@Array.isArray(id)) {\n id = id.slice();\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n }\n if (!@Array.isArray(id))\n return this.reporter.error(\"objid() should be either array or string, got: \" + JSON.stringify(id));\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error(\"Second objid identifier OOB\");\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n let size = 0;\n for (let i = 0;i < id.length; i++) {\n let ident = id[i];\n for (size++;ident >= 128; ident >>= 7)\n size++;\n }\n let objid = Buffer2.alloc(size), offset = objid.length - 1;\n for (let i = id.length - 1;i >= 0; i--) {\n let ident = id[i];\n for (objid[offset--] = ident & 127;(ident >>= 7) > 0; )\n objid[offset--] = 128 | ident & 127;\n }\n return this._createEncoderBuffer(objid);\n };\n function two(num) {\n return num < 10 \? \"0\" + num : num;\n }\n DERNode.prototype._encodeTime = function(time, tag) {\n let str, date = new Date(time);\n return tag === \"gentime\" \? str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : tag === \"utctime\" \? str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : this.reporter.error(\"Encoding \" + tag + \" time is not supported yet\"), this._encodeStr(str, \"octstr\");\n }, DERNode.prototype._encodeNull = function() {\n return this._createEncoderBuffer(\"\");\n }, DERNode.prototype._encodeInt = function(num, values) {\n if (typeof num == \"string\") {\n if (!values)\n return this.reporter.error(\"String int or enum given, but no values map\");\n if (!values.hasOwnProperty(num))\n return this.reporter.error(\"Values map doesn't contain: \" + JSON.stringify(num));\n num = values[num];\n }\n if (typeof num != \"number\" && !Buffer2.isBuffer(num)) {\n let numArray = num.toArray();\n !num.sign && numArray[0] & 128 && numArray.unshift(0), num = Buffer2.from(numArray);\n }\n if (Buffer2.isBuffer(num)) {\n let size2 = num.length;\n num.length === 0 && size2++;\n let out2 = Buffer2.alloc(size2);\n return num.copy(out2), num.length === 0 && (out2[0] = 0), this._createEncoderBuffer(out2);\n }\n if (num < 128)\n return this._createEncoderBuffer(num);\n if (num < 256)\n return this._createEncoderBuffer([0, num]);\n let size = 1;\n for (let i = num;i >= 256; i >>= 8)\n size++;\n let out = new @Array(size);\n for (let i = out.length - 1;i >= 0; i--)\n out[i] = num & 255, num >>= 8;\n return out[0] & 128 && out.unshift(0), this._createEncoderBuffer(Buffer2.from(out));\n }, DERNode.prototype._encodeBool = function(value) {\n return this._createEncoderBuffer(value \? 255 : 0);\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getEncoder(\"der\").tree;\n }, DERNode.prototype._skipDefault = function(dataBuffer, reporter, parent) {\n let state = this._baseState, i;\n if (state.default === null)\n return !1;\n let data = dataBuffer.join();\n if (state.defaultBuffer === void 0 && (state.defaultBuffer = this._encodeValue(state.default, reporter, parent).join()), data.length !== state.defaultBuffer.length)\n return !1;\n for (i = 0;i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return !1;\n return !0;\n };\n function encodeTag(tag, primitive, cls, reporter) {\n let res;\n if (tag === \"seqof\" \? tag = \"seq\" : tag === \"setof\" && (tag = \"set\"), der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag == \"number\" && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error(\"Unknown tag: \" + tag);\n return res >= 31 \? reporter.error(\"Multi-octet tag encoding unsupported\") : (primitive || (res |= 32), res |= der.tagClassByName[cls || \"universal\"] << 6, res);\n }\n }\n}), require_pem = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), DEREncoder = require_der2();\n function PEMEncoder(entity) {\n DEREncoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMEncoder, DEREncoder), module.exports = PEMEncoder, PEMEncoder.prototype.encode = function(data, options) {\n let p = DEREncoder.prototype.encode.@call(this, data).toString(\"base64\"), out = [\"-----BEGIN \" + options.label + \"-----\"];\n for (let i = 0;i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n return out.push(\"-----END \" + options.label + \"-----\"), out.join(`\n`);\n };\n }\n}), require_encoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/index.js\"(exports) {\n var encoders = exports;\n encoders.der = require_der2(), encoders.pem = require_pem();\n }\n}), require_der3 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), bignum = require_bn5(), DecoderBuffer = require_buffer().DecoderBuffer, Node = require_node(), der = require_der();\n function DERDecoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DERDecoder.prototype = {}, module.exports = DERDecoder, DERDecoder.prototype.decode = function(data, options) {\n return DecoderBuffer.isDecoderBuffer(data) || (data = new DecoderBuffer(data, options)), this.tree._decode(data, options);\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._peekTag = function(buffer, tag, any) {\n if (buffer.isEmpty())\n return !1;\n let state = buffer.save(), decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n return buffer.isError(decodedTag) \? decodedTag : (buffer.restore(state), decodedTag.tag === tag || decodedTag.tagStr === tag || decodedTag.tagStr + \"of\" === tag || any);\n }, DERNode.prototype._decodeTag = function(buffer, tag, any) {\n let decodedTag = derDecodeTag(buffer, 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n let len = derDecodeLen(buffer, decodedTag.primitive, 'Failed to get length of \"' + tag + '\"');\n if (buffer.isError(len))\n return len;\n if (!any && decodedTag.tag !== tag && decodedTag.tagStr !== tag && decodedTag.tagStr + \"of\" !== tag)\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n let state = buffer.save(), res = this._skipUntilEnd(buffer, 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n return buffer.isError(res) \? res : (len = buffer.offset - state.offset, buffer.restore(state), buffer.skip(len, 'Failed to match body of: \"' + tag + '\"'));\n }, DERNode.prototype._skipUntilEnd = function(buffer, fail) {\n for (;; ) {\n let tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n let len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n let res;\n if (tag.primitive || len !== null \? res = buffer.skip(len) : res = this._skipUntilEnd(buffer, fail), buffer.isError(res))\n return res;\n if (tag.tagStr === \"end\")\n break;\n }\n }, DERNode.prototype._decodeList = function(buffer, tag, decoder, options) {\n let result = [];\n for (;!buffer.isEmpty(); ) {\n let possibleEnd = this._peekTag(buffer, \"end\");\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n let res = decoder.decode(buffer, \"der\", options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n }, DERNode.prototype._decodeStr = function(buffer, tag) {\n if (tag === \"bitstr\") {\n let unused = buffer.readUInt8();\n return buffer.isError(unused) \? unused : { unused, data: buffer.raw() };\n } else if (tag === \"bmpstr\") {\n let raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error(\"Decoding of string type: bmpstr length mismatch\");\n let str = \"\";\n for (let i = 0;i < raw.length / 2; i++)\n str += @String.fromCharCode(raw.readUInt16BE(i * 2));\n return str;\n } else if (tag === \"numstr\") {\n let numstr = buffer.raw().toString(\"ascii\");\n return this._isNumstr(numstr) \? numstr : buffer.error(\"Decoding of string type: numstr unsupported characters\");\n } else {\n if (tag === \"octstr\")\n return buffer.raw();\n if (tag === \"objDesc\")\n return buffer.raw();\n if (tag === \"printstr\") {\n let printstr = buffer.raw().toString(\"ascii\");\n return this._isPrintstr(printstr) \? printstr : buffer.error(\"Decoding of string type: printstr unsupported characters\");\n } else\n return /str$/.test(tag) \? buffer.raw().toString() : buffer.error(\"Decoding of string type: \" + tag + \" unsupported\");\n }\n }, DERNode.prototype._decodeObjid = function(buffer, values, relative) {\n let result, identifiers = [], ident = 0, subident = 0;\n for (;!buffer.isEmpty(); )\n subident = buffer.readUInt8(), ident <<= 7, ident |= subident & 127, (subident & 128) === 0 && (identifiers.push(ident), ident = 0);\n subident & 128 && identifiers.push(ident);\n let first = identifiers[0] / 40 | 0, second = identifiers[0] % 40;\n if (relative \? result = identifiers : result = [first, second].concat(identifiers.slice(1)), values) {\n let tmp = values[result.join(\" \")];\n tmp === void 0 && (tmp = values[result.join(\".\")]), tmp !== void 0 && (result = tmp);\n }\n return result;\n }, DERNode.prototype._decodeTime = function(buffer, tag) {\n let str = buffer.raw().toString(), year, mon, day, hour, min, sec;\n if (tag === \"gentime\")\n year = str.slice(0, 4) | 0, mon = str.slice(4, 6) | 0, day = str.slice(6, 8) | 0, hour = str.slice(8, 10) | 0, min = str.slice(10, 12) | 0, sec = str.slice(12, 14) | 0;\n else if (tag === \"utctime\")\n year = str.slice(0, 2) | 0, mon = str.slice(2, 4) | 0, day = str.slice(4, 6) | 0, hour = str.slice(6, 8) | 0, min = str.slice(8, 10) | 0, sec = str.slice(10, 12) | 0, year < 70 \? year = 2000 + year : year = 1900 + year;\n else\n return buffer.error(\"Decoding \" + tag + \" time is not supported yet\");\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n }, DERNode.prototype._decodeNull = function() {\n return null;\n }, DERNode.prototype._decodeBool = function(buffer) {\n let res = buffer.readUInt8();\n return buffer.isError(res) \? res : res !== 0;\n }, DERNode.prototype._decodeInt = function(buffer, values) {\n let raw = buffer.raw(), res = new bignum(raw);\n return values && (res = values[res.toString(10)] || res), res;\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getDecoder(\"der\").tree;\n };\n function derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n let cls = der.tagClass[tag >> 6], primitive = (tag & 32) === 0;\n if ((tag & 31) === 31) {\n let oct = tag;\n for (tag = 0;(oct & 128) === 128; ) {\n if (oct = buf.readUInt8(fail), buf.isError(oct))\n return oct;\n tag <<= 7, tag |= oct & 127;\n }\n } else\n tag &= 31;\n let tagStr = der.tag[tag];\n return {\n cls,\n primitive,\n tag,\n tagStr\n };\n }\n function derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n if (!primitive && len === 128)\n return null;\n if ((len & 128) === 0)\n return len;\n let num = len & 127;\n if (num > 4)\n return buf.error(\"length octect is too long\");\n len = 0;\n for (let i = 0;i < num; i++) {\n len <<= 8;\n let j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n return len;\n }\n }\n}), require_pem2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, DERDecoder = require_der3();\n function PEMDecoder(entity) {\n DERDecoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMDecoder, DERDecoder), module.exports = PEMDecoder, PEMDecoder.prototype.decode = function(data, options) {\n let lines = data.toString().split(/[\\r\\n]+/g), label = options.label.toUpperCase(), re = /^-----(BEGIN|END) ([^-]+)-----$/, start = -1, end = -1;\n for (let i = 0;i < lines.length; i++) {\n let match = lines[i].match(re);\n if (match !== null && match[2] === label)\n if (start === -1) {\n if (match[1] !== \"BEGIN\")\n break;\n start = i;\n } else {\n if (match[1] !== \"END\")\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error(\"PEM section not found for: \" + label);\n let base64 = lines.slice(start + 1, end).join(\"\");\n base64.replace(/[^a-z0-9+/=]+/gi, \"\");\n let input = Buffer2.from(base64, \"base64\");\n return DERDecoder.prototype.decode.@call(this, input, options);\n };\n }\n}), require_decoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/index.js\"(exports) {\n var decoders = exports;\n decoders.der = require_der3(), decoders.pem = require_pem2();\n }\n}), require_api = __commonJS({\n \"node_modules/asn1.js/lib/asn1/api.js\"(exports) {\n var encoders = require_encoders(), decoders = require_decoders(), inherits = require_inherits_browser(), api = exports;\n api.define = function(name, body) {\n return new Entity(name, body);\n };\n function Entity(name, body) {\n this.name = name, this.body = body, this.decoders = {}, this.encoders = {};\n }\n Entity.prototype = {}, Entity.prototype._createNamed = function(Base) {\n let name = this.name;\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n return inherits(Generated, Base), Generated.prototype._initNamed = function(entity, name2) {\n Base.@call(this, entity, name2);\n }, new Generated(this);\n }, Entity.prototype._getDecoder = function(enc) {\n return enc = enc || \"der\", this.decoders.hasOwnProperty(enc) || (this.decoders[enc] = this._createNamed(decoders[enc])), this.decoders[enc];\n }, Entity.prototype.decode = function(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n }, Entity.prototype._getEncoder = function(enc) {\n return enc = enc || \"der\", this.encoders.hasOwnProperty(enc) || (this.encoders[enc] = this._createNamed(encoders[enc])), this.encoders[enc];\n }, Entity.prototype.encode = function(data, enc, reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n };\n }\n}), require_base2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/index.js\"(exports) {\n var base = exports;\n base.Reporter = require_reporter().Reporter, base.DecoderBuffer = require_buffer().DecoderBuffer, base.EncoderBuffer = require_buffer().EncoderBuffer, base.Node = require_node();\n }\n}), require_constants = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/index.js\"(exports) {\n var constants = exports;\n constants._reverse = function(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }, constants.der = require_der();\n }\n}), require_asn1 = __commonJS({\n \"node_modules/asn1.js/lib/asn1.js\"(exports) {\n var asn1 = exports;\n asn1.bignum = require_bn5(), asn1.define = require_api().define, asn1.base = require_base2(), asn1.constants = require_constants(), asn1.decoders = require_decoders(), asn1.encoders = require_encoders();\n }\n}), require_certificate = __commonJS({\n \"node_modules/parse-asn1/certificate.js\"(exports, module) {\n var asn = require_asn1(), Time = asn.define(\"Time\", function() {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n });\n }), AttributeTypeValue = asn.define(\"AttributeTypeValue\", function() {\n this.seq().obj(this.key(\"type\").objid(), this.key(\"value\").any());\n }), AlgorithmIdentifier = asn.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"parameters\").optional(), this.key(\"curve\").objid().optional());\n }), SubjectPublicKeyInfo = asn.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n }), RelativeDistinguishedName = asn.define(\"RelativeDistinguishedName\", function() {\n this.setof(AttributeTypeValue);\n }), RDNSequence = asn.define(\"RDNSequence\", function() {\n this.seqof(RelativeDistinguishedName);\n }), Name = asn.define(\"Name\", function() {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n });\n }), Validity = asn.define(\"Validity\", function() {\n this.seq().obj(this.key(\"notBefore\").use(Time), this.key(\"notAfter\").use(Time));\n }), Extension = asn.define(\"Extension\", function() {\n this.seq().obj(this.key(\"extnID\").objid(), this.key(\"critical\").bool().def(!1), this.key(\"extnValue\").octstr());\n }), TBSCertificate = asn.define(\"TBSCertificate\", function() {\n this.seq().obj(this.key(\"version\").explicit(0).int().optional(), this.key(\"serialNumber\").int(), this.key(\"signature\").use(AlgorithmIdentifier), this.key(\"issuer\").use(Name), this.key(\"validity\").use(Validity), this.key(\"subject\").use(Name), this.key(\"subjectPublicKeyInfo\").use(SubjectPublicKeyInfo), this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(), this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(), this.key(\"extensions\").explicit(3).seqof(Extension).optional());\n }), X509Certificate = asn.define(\"X509Certificate\", function() {\n this.seq().obj(this.key(\"tbsCertificate\").use(TBSCertificate), this.key(\"signatureAlgorithm\").use(AlgorithmIdentifier), this.key(\"signatureValue\").bitstr());\n });\n module.exports = X509Certificate;\n }\n}), require_asn12 = __commonJS({\n \"node_modules/parse-asn1/asn1.js\"(exports) {\n var asn1 = require_asn1();\n exports.certificate = require_certificate();\n var RSAPrivateKey = asn1.define(\"RSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"modulus\").int(), this.key(\"publicExponent\").int(), this.key(\"privateExponent\").int(), this.key(\"prime1\").int(), this.key(\"prime2\").int(), this.key(\"exponent1\").int(), this.key(\"exponent2\").int(), this.key(\"coefficient\").int());\n });\n exports.RSAPrivateKey = RSAPrivateKey;\n var RSAPublicKey = asn1.define(\"RSAPublicKey\", function() {\n this.seq().obj(this.key(\"modulus\").int(), this.key(\"publicExponent\").int());\n });\n exports.RSAPublicKey = RSAPublicKey;\n var PublicKey = asn1.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n });\n exports.PublicKey = PublicKey;\n var AlgorithmIdentifier = asn1.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"none\").null_().optional(), this.key(\"curve\").objid().optional(), this.key(\"params\").seq().obj(this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int()).optional());\n }), PrivateKeyInfo = asn1.define(\"PrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.PrivateKey = PrivateKeyInfo;\n var EncryptedPrivateKeyInfo = asn1.define(\"EncryptedPrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(), this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(), this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(), this.key(\"iters\").int())), this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(), this.key(\"iv\").octstr()))), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo;\n var DSAPrivateKey = asn1.define(\"DSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int(), this.key(\"pub_key\").int(), this.key(\"priv_key\").int());\n });\n exports.DSAPrivateKey = DSAPrivateKey, exports.DSAparam = asn1.define(\"DSAparam\", function() {\n this.int();\n });\n var ECPrivateKey = asn1.define(\"ECPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"privateKey\").octstr(), this.key(\"parameters\").optional().explicit(0).use(ECParameters), this.key(\"publicKey\").optional().explicit(1).bitstr());\n });\n exports.ECPrivateKey = ECPrivateKey;\n var ECParameters = asn1.define(\"ECParameters\", function() {\n this.choice({\n namedCurve: this.objid()\n });\n });\n exports.signature = asn1.define(\"signature\", function() {\n this.seq().obj(this.key(\"r\").int(), this.key(\"s\").int());\n });\n }\n}), require_aesid = __commonJS({\n \"node_modules/parse-asn1/aesid.json\"(exports, module) {\n module.exports = {\n \"2.16.840.1.101.3.4.1.1\": \"aes-128-ecb\",\n \"2.16.840.1.101.3.4.1.2\": \"aes-128-cbc\",\n \"2.16.840.1.101.3.4.1.3\": \"aes-128-ofb\",\n \"2.16.840.1.101.3.4.1.4\": \"aes-128-cfb\",\n \"2.16.840.1.101.3.4.1.21\": \"aes-192-ecb\",\n \"2.16.840.1.101.3.4.1.22\": \"aes-192-cbc\",\n \"2.16.840.1.101.3.4.1.23\": \"aes-192-ofb\",\n \"2.16.840.1.101.3.4.1.24\": \"aes-192-cfb\",\n \"2.16.840.1.101.3.4.1.41\": \"aes-256-ecb\",\n \"2.16.840.1.101.3.4.1.42\": \"aes-256-cbc\",\n \"2.16.840.1.101.3.4.1.43\": \"aes-256-ofb\",\n \"2.16.840.1.101.3.4.1.44\": \"aes-256-cfb\"\n };\n }\n}), require_fixProc = __commonJS({\n \"node_modules/parse-asn1/fixProc.js\"(exports, module) {\n var findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((\?:128)|(\?:192)|(\?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m, startRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----/m, fullRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m, evp = require_evp_bytestokey(), ciphers = require_browser5(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(okey, password) {\n var key2 = okey.toString(), match = key2.match(findProc), decrypted;\n if (match) {\n var suite = \"aes\" + match[1], iv = Buffer2.from(match[2], \"hex\"), cipherText = Buffer2.from(match[3].replace(/[\\r\\n]/g, \"\"), \"base64\"), cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key, out = [], cipher = ciphers.createDecipheriv(suite, cipherKey, iv);\n out.push(cipher.update(cipherText)), out.push(cipher.final()), decrypted = Buffer2.concat(out);\n } else {\n var match2 = key2.match(fullRegex);\n decrypted = Buffer2.from(match2[2].replace(/[\\r\\n]/g, \"\"), \"base64\");\n }\n var tag = key2.match(startRegex)[1];\n return {\n tag,\n data: decrypted\n };\n };\n }\n}), require_parse_asn1 = __commonJS({\n \"node_modules/parse-asn1/index.js\"(exports, module) {\n var asn1 = require_asn12(), aesid = require_aesid(), fixProc = require_fixProc(), ciphers = require_browser5(), compat = require_browser4(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = parseKeys;\n function parseKeys(buffer) {\n var password;\n if (buffer instanceof KeyObject)\n buffer = buffer.export();\n else if (buffer instanceof CryptoKey)\n buffer = KeyObject.from(buffer).export();\n else if (typeof buffer == \"object\" && !Buffer2.isBuffer(buffer)) {\n if (password = buffer.passphrase, buffer = buffer.key, buffer instanceof KeyObject) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = buffer.export(options);\n } else if (buffer instanceof CryptoKey) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = KeyObject.from(buffer).export(options);\n }\n }\n typeof buffer == \"string\" && (buffer = Buffer2.from(buffer));\n var stripped = fixProc(buffer, password), type = stripped.tag, data = stripped.data, subtype, ndata;\n switch (type) {\n case \"CERTIFICATE\":\n ndata = asn1.certificate.decode(data, \"der\").tbsCertificate.subjectPublicKeyInfo;\n case \"PUBLIC KEY\":\n switch (ndata || (ndata = asn1.PublicKey.decode(data, \"der\")), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, \"der\");\n case \"1.2.840.10045.2.1\":\n return ndata.subjectPrivateKey = ndata.subjectPublicKey, {\n type: \"ec\",\n data: ndata\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, \"der\"), {\n type: \"dsa\",\n data: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"ENCRYPTED PRIVATE KEY\":\n data = asn1.EncryptedPrivateKey.decode(data, \"der\"), data = decrypt(data, password);\n case \"PRIVATE KEY\":\n switch (ndata = asn1.PrivateKey.decode(data, \"der\"), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, \"der\");\n case \"1.2.840.10045.2.1\":\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, \"der\").privateKey\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, \"der\"), {\n type: \"dsa\",\n params: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"RSA PUBLIC KEY\":\n return asn1.RSAPublicKey.decode(data, \"der\");\n case \"RSA PRIVATE KEY\":\n return asn1.RSAPrivateKey.decode(data, \"der\");\n case \"DSA PRIVATE KEY\":\n return {\n type: \"dsa\",\n params: asn1.DSAPrivateKey.decode(data, \"der\")\n };\n case \"EC PRIVATE KEY\":\n return data = asn1.ECPrivateKey.decode(data, \"der\"), {\n curve: data.parameters.value,\n privateKey: data.privateKey\n };\n default:\n throw new Error(\"unknown key type \" + type);\n }\n }\n parseKeys.signature = asn1.signature;\n function decrypt(data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt, iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10), algo = aesid[data.algorithm.decrypt.cipher.algo.join(\".\")], iv = data.algorithm.decrypt.cipher.iv, cipherText = data.subjectPrivateKey, keylen = parseInt(algo.split(\"-\")[1], 10) / 8, key2 = compat.pbkdf2Sync(password, salt, iters, keylen, \"sha1\"), cipher = ciphers.createDecipheriv(algo, key2, iv), out = [];\n return out.push(cipher.update(cipherText)), out.push(cipher.final()), Buffer2.concat(out);\n }\n }\n}), require_curves2 = __commonJS({\n \"node_modules/browserify-sign/browser/curves.json\"(exports, module) {\n module.exports = {\n \"1.3.132.0.10\": \"secp256k1\",\n \"1.3.132.0.33\": \"p224\",\n \"1.2.840.10045.3.1.1\": \"p192\",\n \"1.2.840.10045.3.1.7\": \"p256\",\n \"1.3.132.0.34\": \"p384\",\n \"1.3.132.0.35\": \"p521\"\n };\n }\n}), require_sign = __commonJS({\n \"node_modules/browserify-sign/browser/sign.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHmac = require_browser3(), crt = require_browserify_rsa(), EC = require_elliptic().ec, BN = require_bn3(), parseKeys = require_parse_asn1(), curves = require_curves2();\n function sign(hash, key2, hashType, signType, tag) {\n var priv = parseKeys(getKeyFrom(key2, \"private\"));\n if (priv.curve) {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n return ecSign(hash, priv);\n } else if (priv.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong private key type\");\n return dsaSign(hash, priv, hashType);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = priv.modulus.byteLength(), pad = [0, 1];hash.length + pad.length + 1 < len; )\n pad.push(255);\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n var out = crt(pad, priv);\n return out;\n }\n function ecSign(hash, priv) {\n var curveId = curves[priv.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + priv.curve.join(\".\"));\n var curve = new EC(curveId), key2 = curve.keyFromPrivate(priv.privateKey), out = key2.sign(hash);\n return Buffer2.from(out.toDER());\n }\n function dsaSign(hash, priv, algo) {\n for (var x = priv.params.priv_key, p = priv.params.p, q = priv.params.q, g = priv.params.g, r = new BN(0), k, H = bits2int(hash, q).mod(q), s = !1, kv = getKey(x, q, hash, algo);s === !1; )\n k = makeKey(q, kv, algo), r = makeR(g, k, p, q), s = k.invm(q).imul(H.add(x.mul(r))).mod(q), s.cmpn(0) === 0 && (s = !1, r = new BN(0));\n return toDER(r, s);\n }\n function toDER(r, s) {\n r = r.toArray(), s = s.toArray(), r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s));\n var total = r.length + s.length + 4, res = [48, total, 2, r.length];\n return res = res.concat(r, [2, s.length], s), Buffer2.from(res);\n }\n function getKey(x, q, hash, algo) {\n if (x = Buffer2.from(x.toArray()), x.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - x.length);\n x = Buffer2.concat([zeros, x]);\n }\n var hlen = hash.length, hbits = bits2octets(hash, q), v = Buffer2.alloc(hlen);\n v.fill(1);\n var k = Buffer2.alloc(hlen);\n return k = createHmac(algo, k).update(v).update(Buffer2.from([0])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), k = createHmac(algo, k).update(v).update(Buffer2.from([1])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), { k, v };\n }\n function bits2int(obits, q) {\n var bits = new BN(obits), shift = (obits.length << 3) - q.bitLength();\n return shift > 0 && bits.ishrn(shift), bits;\n }\n function bits2octets(bits, q) {\n bits = bits2int(bits, q), bits = bits.mod(q);\n var out = Buffer2.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - out.length);\n out = Buffer2.concat([zeros, out]);\n }\n return out;\n }\n function makeKey(q, kv, algo) {\n var t, k;\n do {\n for (t = Buffer2.alloc(0);t.length * 8 < q.bitLength(); )\n kv.v = createHmac(algo, kv.k).update(kv.v).digest(), t = Buffer2.concat([t, kv.v]);\n k = bits2int(t, q), kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer2.from([0])).digest(), kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n return k;\n }\n function makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n }\n module.exports = sign, module.exports.getKey = getKey, module.exports.makeKey = makeKey;\n }\n}), require_verify = __commonJS({\n \"node_modules/browserify-sign/browser/verify.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, BN = require_bn3(), EC = require_elliptic().ec, parseKeys = require_parse_asn1(), curves = require_curves2();\n function verify(sig, hash, key2, signType, tag) {\n var pub = parseKeys(getKeyFrom(key2, \"public\"));\n if (pub.type === \"ec\") {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n return ecVerify(sig, hash, pub);\n } else if (pub.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong public key type\");\n return dsaVerify(sig, hash, pub);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = pub.modulus.byteLength(), pad = [1], padNum = 0;hash.length + pad.length + 2 < len; )\n pad.push(255), padNum++;\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n pad = Buffer2.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red), sig = sig.redPow(new BN(pub.publicExponent)), sig = Buffer2.from(sig.fromRed().toArray());\n var out = padNum < 8 \? 1 : 0;\n for (len = Math.min(sig.length, pad.length), sig.length !== pad.length && (out = 1), i = -1;++i < len; )\n out |= sig[i] ^ pad[i];\n return out === 0;\n }\n function ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + pub.data.algorithm.curve.join(\".\"));\n var curve = new EC(curveId), pubkey = pub.data.subjectPrivateKey.data;\n return curve.verify(hash, sig, pubkey);\n }\n function dsaVerify(sig, hash, pub) {\n var p = pub.data.p, q = pub.data.q, g = pub.data.g, y = pub.data.pub_key, unpacked = parseKeys.signature.decode(sig, \"der\"), s = unpacked.s, r = unpacked.r;\n checkValue(s, q), checkValue(r, q);\n var montp = BN.mont(p), w = s.invm(q), v = g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q);\n return v.cmp(r) === 0;\n }\n function checkValue(b, q) {\n if (b.cmpn(0) <= 0)\n throw new Error(\"invalid sig\");\n if (b.cmp(q) >= q)\n throw new Error(\"invalid sig\");\n }\n module.exports = verify;\n }\n}), require_browser8 = __commonJS({\n \"node_modules/browserify-sign/browser/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHash = require_browser2(), inherits = require_inherits_browser(), sign = require_sign(), verify = require_verify(), algorithms = require_algorithms();\n Object.keys(algorithms).forEach(function(key2) {\n algorithms[key2].id = Buffer2.from(algorithms[key2].id, \"hex\"), algorithms[key2.toLowerCase()] = algorithms[key2];\n });\n function Sign(algorithm) {\n if (typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n StreamModule.Writable.@call(this);\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hashType = data.hash, this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Sign, StreamModule.Writable), Sign.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Sign.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Sign.prototype.sign = function(key2, enc) {\n this.end();\n var hash = this._hash.digest(), sig = sign(hash, key2, this._hashType, this._signType, this._tag);\n return enc \? sig.toString(enc) : sig;\n };\n function Verify(algorithm) {\n if (StreamModule.Writable.@call(this), typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Verify, StreamModule.Writable), Verify.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Verify.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Verify.prototype.verify = function(key2, sig, enc) {\n typeof sig == \"string\" && (sig = Buffer2.from(sig, enc)), this.end();\n var hash = this._hash.digest();\n return verify(sig, hash, key2, this._signType, this._tag);\n };\n function createSign(algorithm) {\n return new Sign(algorithm);\n }\n function createVerify(algorithm) {\n return new Verify(algorithm);\n }\n module.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign,\n createVerify\n };\n }\n}), require_bn6 = require_bn, require_browser9 = __commonJS({\n \"node_modules/create-ecdh/browser.js\"(exports, module) {\n var elliptic = require_elliptic(), BN = require_bn6();\n module.exports = function(curve) {\n return new ECDH(curve);\n };\n var aliases = {\n secp256k1: {\n name: \"secp256k1\",\n byteLength: 32\n },\n secp224r1: {\n name: \"p224\",\n byteLength: 28\n },\n prime256v1: {\n name: \"p256\",\n byteLength: 32\n },\n prime192v1: {\n name: \"p192\",\n byteLength: 24\n },\n ed25519: {\n name: \"ed25519\",\n byteLength: 32\n },\n secp384r1: {\n name: \"p384\",\n byteLength: 48\n },\n secp521r1: {\n name: \"p521\",\n byteLength: 66\n }\n };\n aliases.p224 = aliases.secp224r1, aliases.p256 = aliases.secp256r1 = aliases.prime256v1, aliases.p192 = aliases.secp192r1 = aliases.prime192v1, aliases.p384 = aliases.secp384r1, aliases.p521 = aliases.secp521r1;\n function ECDH(curve) {\n this.curveType = aliases[curve], this.curveType || (this.curveType = {\n name: curve\n }), this.curve = new elliptic.ec(this.curveType.name), this.keys = void 0;\n }\n ECDH.prototype = {}, ECDH.prototype.generateKeys = function(enc, format) {\n return this.keys = this.curve.genKeyPair(), this.getPublicKey(enc, format);\n }, ECDH.prototype.computeSecret = function(other, inenc, enc) {\n inenc = inenc || \"utf8\", Buffer.isBuffer(other) || (other = new Buffer(other, inenc));\n var otherPub = this.curve.keyFromPublic(other).getPublic(), out = otherPub.mul(this.keys.getPrivate()).getX();\n return formatReturnValue(out, enc, this.curveType.byteLength);\n }, ECDH.prototype.getPublicKey = function(enc, format) {\n var key2 = this.keys.getPublic(format === \"compressed\", !0);\n return format === \"hybrid\" && (key2[key2.length - 1] % 2 \? key2[0] = 7 : key2[0] = 6), formatReturnValue(key2, enc);\n }, ECDH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this.keys.getPrivate(), enc);\n }, ECDH.prototype.setPublicKey = function(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this.keys._importPublic(pub), this;\n }, ECDH.prototype.setPrivateKey = function(priv, enc) {\n enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc));\n var _priv = new BN(priv);\n return _priv = _priv.toString(16), this.keys = this.curve.genKeyPair(), this.keys._importPrivate(_priv), this;\n };\n function formatReturnValue(bn, enc, len) {\n @Array.isArray(bn) || (bn = bn.toArray());\n var buf = new Buffer(bn);\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length);\n zeros.fill(0), buf = Buffer.concat([zeros, buf]);\n }\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_mgf = __commonJS({\n \"node_modules/public-encrypt/mgf.js\"(exports, module) {\n var createHash = require_browser2(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(seed, len) {\n for (var t = Buffer2.alloc(0), i = 0, c;t.length < len; )\n c = i2ops(i++), t = Buffer2.concat([t, createHash(\"sha1\").update(seed).update(c).digest()]);\n return t.slice(0, len);\n };\n function i2ops(c) {\n var out = Buffer2.allocUnsafe(4);\n return out.writeUInt32BE(c, 0), out;\n }\n }\n}), require_xor = __commonJS({\n \"node_modules/public-encrypt/xor.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var len = a.length, i = -1;++i < len; )\n a[i] ^= b[i];\n return a;\n };\n }\n}), require_bn7 = require_bn, { CryptoHasher } = globalThis.Bun, require_withPublic = __commonJS({\n \"node_modules/public-encrypt/withPublic.js\"(exports, module) {\n var BN = require_bn7(), Buffer2 = require_safe_buffer().Buffer;\n function withPublic(paddedMsg, key2) {\n return Buffer2.from(paddedMsg.toRed(BN.mont(key2.modulus)).redPow(new BN(key2.publicExponent)).fromRed().toArray());\n }\n module.exports = withPublic;\n }\n}), require_publicEncrypt = __commonJS({\n \"node_modules/public-encrypt/publicEncrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), randomBytes = require_browser(), createHash = require_browser2(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), withPublic = require_withPublic(), crt = require_browserify_rsa(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(publicKey, msg, reverse) {\n var padding;\n publicKey.padding \? padding = publicKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(publicKey), paddedMsg;\n if (padding === 4)\n paddedMsg = oaep(key2, msg);\n else if (padding === 1)\n paddedMsg = pkcs1(key2, msg, reverse);\n else if (padding === 3) {\n if (paddedMsg = new BN(msg), paddedMsg.cmp(key2.modulus) >= 0)\n throw new Error(\"data too long for modulus\");\n } else\n throw new Error(\"unknown padding\");\n return reverse \? crt(paddedMsg, key2) : withPublic(paddedMsg, key2);\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), mLen = msg.length, iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length, hLen2 = 2 * hLen;\n if (mLen > k - hLen2 - 2)\n throw new Error(\"message too long\");\n var ps = Buffer2.alloc(k - mLen - hLen2 - 2), dblen = k - hLen - 1, seed = randomBytes(hLen), maskedDb = xor(Buffer2.concat([iHash, ps, Buffer2.alloc(1, 1), msg], dblen), mgf(seed, dblen)), maskedSeed = xor(seed, mgf(maskedDb, hLen));\n return new BN(Buffer2.concat([Buffer2.alloc(1), maskedSeed, maskedDb], k));\n }\n function pkcs1(key2, msg, reverse) {\n var mLen = msg.length, k = key2.modulus.byteLength();\n if (mLen > k - 11)\n throw new Error(\"message too long\");\n var ps;\n return reverse \? ps = Buffer2.alloc(k - mLen - 3, 255) : ps = nonZero(k - mLen - 3), new BN(Buffer2.concat([Buffer2.from([0, reverse \? 1 : 2]), ps, Buffer2.alloc(1), msg], k));\n }\n function nonZero(len) {\n for (var out = Buffer2.allocUnsafe(len), i = 0, cache = randomBytes(len * 2), cur = 0, num;i < len; )\n cur === cache.length && (cache = randomBytes(len * 2), cur = 0), num = cache[cur++], num && (out[i++] = num);\n return out;\n }\n }\n}), require_privateDecrypt = __commonJS({\n \"node_modules/public-encrypt/privateDecrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), crt = require_browserify_rsa(), createHash = require_browser2(), withPublic = require_withPublic(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(privateKey, enc, reverse) {\n var padding;\n privateKey.padding \? padding = privateKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(privateKey), k = key2.modulus.byteLength();\n if (enc.length > k || new BN(enc).cmp(key2.modulus) >= 0)\n throw new Error(\"decryption error\");\n var msg;\n reverse \? msg = withPublic(new BN(enc), key2) : msg = crt(enc, key2);\n var zBuffer = Buffer2.alloc(k - msg.length);\n if (msg = Buffer2.concat([zBuffer, msg], k), padding === 4)\n return oaep(key2, msg);\n if (padding === 1)\n return pkcs1(key2, msg, reverse);\n if (padding === 3)\n return msg;\n throw new Error(\"unknown padding\");\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length;\n if (msg[0] !== 0)\n throw new Error(\"decryption error\");\n var maskedSeed = msg.slice(1, hLen + 1), maskedDb = msg.slice(hLen + 1), seed = xor(maskedSeed, mgf(maskedDb, hLen)), db = xor(maskedDb, mgf(seed, k - hLen - 1));\n if (compare(iHash, db.slice(0, hLen)))\n throw new Error(\"decryption error\");\n for (var i = hLen;db[i] === 0; )\n i++;\n if (db[i++] !== 1)\n throw new Error(\"decryption error\");\n return db.slice(i);\n }\n function pkcs1(key2, msg, reverse) {\n for (var p1 = msg.slice(0, 2), i = 2, status = 0;msg[i++] !== 0; )\n if (i >= msg.length) {\n status++;\n break;\n }\n var ps = msg.slice(2, i - 1);\n if ((p1.toString(\"hex\") !== \"0002\" && !reverse || p1.toString(\"hex\") !== \"0001\" && reverse) && status++, ps.length < 8 && status++, status)\n throw new Error(\"decryption error\");\n return msg.slice(i);\n }\n function compare(a, b) {\n a = Buffer2.from(a), b = Buffer2.from(b);\n var dif = 0, len = a.length;\n a.length !== b.length && (dif++, len = Math.min(a.length, b.length));\n for (var i = -1;++i < len; )\n dif += a[i] ^ b[i];\n return dif;\n }\n }\n}), require_browser10 = __commonJS({\n \"node_modules/public-encrypt/browser.js\"(exports) {\n var publicEncrypt = require_publicEncrypt();\n exports.publicEncrypt = function(key2, buf, options) {\n return publicEncrypt(getKeyFrom(key2, \"public\"), buf, options);\n };\n var privateDecrypt = require_privateDecrypt();\n exports.privateDecrypt = function(key2, buf, options) {\n return privateDecrypt(getKeyFrom(key2, \"private\"), buf, options);\n }, exports.privateEncrypt = function(key2, buf) {\n return publicEncrypt(getKeyFrom(key2, \"private\"), buf, !0);\n }, exports.publicDecrypt = function(key2, buf) {\n return privateDecrypt(getKeyFrom(key2, \"public\"), buf, !0);\n };\n }\n}), require_browser11 = __commonJS({\n \"node_modules/randomfill/browser.js\"(exports) {\n var safeBuffer = require_safe_buffer(), randombytes = require_browser(), Buffer2 = safeBuffer.Buffer, kBufferMaxLength = safeBuffer.kMaxLength, kMaxUint32 = Math.pow(2, 32) - 1;\n function assertOffset(offset, length) {\n if (typeof offset != \"number\" || offset !== offset)\n @throwTypeError(\"offset must be a number\");\n if (offset > kMaxUint32 || offset < 0)\n @throwTypeError(\"offset must be a uint32\");\n if (offset > kBufferMaxLength || offset > length)\n @throwRangeError(\"offset out of range\");\n }\n function assertSize(size, offset, length) {\n if (typeof size != \"number\" || size !== size)\n @throwTypeError(\"size must be a number\");\n if (size > kMaxUint32 || size < 0)\n @throwTypeError(\"size must be a uint32\");\n if (size + offset > length || size > kBufferMaxLength)\n @throwRangeError(\"buffer too small\");\n }\n exports.randomFill = randomFill, exports.randomFillSync = randomFillSync;\n function randomFill(buf, offset, size, cb) {\n if (!Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n if (typeof offset == \"function\")\n cb = offset, offset = 0, size = buf.length;\n else if (typeof size == \"function\")\n cb = size, size = buf.length - offset;\n else if (typeof cb != \"function\")\n @throwTypeError('\"cb\" argument must be a function');\n return assertOffset(offset, buf.length), assertSize(size, offset, buf.length), actualFill(buf, offset, size, cb);\n }\n function actualFill(buf, offset, size, cb) {\n if (cb) {\n randombytes(size, function(err, bytes2) {\n if (err)\n return cb(err);\n bytes2.copy(buf, offset), cb(null, buf);\n });\n return;\n }\n var bytes = randombytes(size);\n return bytes.copy(buf, offset), buf;\n }\n function randomFillSync(buf, offset, size) {\n if (typeof offset > \"u\" && (offset = 0), !Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n return assertOffset(offset, buf.length), size === void 0 && (size = buf.length - offset), assertSize(size, offset, buf.length), actualFill(buf, offset, size);\n }\n }\n}), require_crypto_browserify2 = __commonJS({\n \"node_modules/crypto-browserify/index.js\"(exports) {\n exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require_browser(), exports.createHash = require_browser2(), exports.Hash = exports.createHash.Hash, exports.createHmac = exports.Hmac = require_browser3();\n var algos = require_algos(), algoKeys = Object.keys(algos), hashes = [\"sha1\", \"sha224\", \"sha256\", \"sha384\", \"sha512\", \"md5\", \"rmd160\"].concat(algoKeys);\n exports.getHashes = function() {\n return hashes;\n };\n var p = require_browser4();\n exports.pbkdf2 = p.pbkdf2, exports.pbkdf2Sync = p.pbkdf2Sync;\n var aes = require_browser6();\n exports.Cipher = aes.Cipher, exports.createCipher = aes.createCipher, exports.Cipheriv = aes.Cipheriv, exports.createCipheriv = aes.createCipheriv, exports.Decipher = aes.Decipher, exports.createDecipher = aes.createDecipher, exports.Decipheriv = aes.Decipheriv, exports.createDecipheriv = aes.createDecipheriv, exports.getCiphers = aes.getCiphers, exports.listCiphers = aes.listCiphers;\n var dh = require_browser7();\n exports.DiffieHellmanGroup = dh.DiffieHellmanGroup, exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup, exports.getDiffieHellman = dh.getDiffieHellman, exports.createDiffieHellman = dh.createDiffieHellman, exports.DiffieHellman = dh.DiffieHellman;\n var sign = require_browser8();\n exports.createSign = sign.createSign, exports.Sign = sign.Sign, exports.createVerify = sign.createVerify, exports.Verify = sign.Verify, exports.createECDH = require_browser9();\n var publicEncrypt = require_browser10();\n exports.publicEncrypt = publicEncrypt.publicEncrypt, exports.privateEncrypt = publicEncrypt.privateEncrypt, exports.publicDecrypt = publicEncrypt.publicDecrypt, exports.privateDecrypt = publicEncrypt.privateDecrypt, exports.getRandomValues = (values) => crypto.getRandomValues(values);\n var rf = require_browser11();\n exports.randomFill = rf.randomFill, exports.randomFillSync = rf.randomFillSync, exports.createCredentials = function() {\n throw new Error([\n \"sorry, createCredentials is not implemented yet\",\n \"we accept pull requests\",\n \"https://github.com/crypto-browserify/crypto-browserify\"\n ].join(`\n`));\n }, exports.constants = @processBindingConstants.crypto;\n }\n}), crypto_exports = require_crypto_browserify2(), DEFAULT_ENCODING = \"buffer\", getRandomValues = (array) => crypto.getRandomValues(array), randomUUID = () => crypto.randomUUID(), randomInt = (...args) => crypto.randomInt(...args), timingSafeEqual = \"timingSafeEqual\" in crypto \? (a, b) => {\n let { byteLength: byteLengthA } = a, { byteLength: byteLengthB } = b;\n if (typeof byteLengthA != \"number\" || typeof byteLengthB != \"number\")\n @throwTypeError(\"Input must be an array buffer view\");\n if (byteLengthA !== byteLengthB)\n @throwRangeError(\"Input buffers must have the same length\");\n return crypto.timingSafeEqual(a, b);\n} : void 0, scryptSync = \"scryptSync\" in crypto \? (password, salt, keylen, options) => {\n let res = crypto.scryptSync(password, salt, keylen, options);\n return DEFAULT_ENCODING !== \"buffer\" \? new Buffer(res).toString(DEFAULT_ENCODING) : new Buffer(res);\n} : void 0, scrypt = \"scryptSync\" in crypto \? function(password, salt, keylen, options, callback) {\n if (typeof options == \"function\" && (callback = options, options = void 0), typeof callback != \"function\") {\n var err = @makeTypeError(\"callback must be a function\");\n throw err.code = \"ERR_INVALID_CALLBACK\", err;\n }\n try {\n let result = crypto.scryptSync(password, salt, keylen, options);\n process.nextTick(callback, null, DEFAULT_ENCODING !== \"buffer\" \? new Buffer(result).toString(DEFAULT_ENCODING) : new Buffer(result));\n } catch (err2) {\n throw err2;\n }\n} : void 0;\ntimingSafeEqual && (Object.defineProperty(timingSafeEqual, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scrypt, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scryptSync, \"name\", {\n value: \"::bunternal::\"\n}));\nvar harcoded_curves = [\n \"p192\",\n \"p224\",\n \"p256\",\n \"p384\",\n \"p521\",\n \"curve25519\",\n \"ed25519\",\n \"secp256k1\",\n \"secp224r1\",\n \"prime256v1\",\n \"prime192v1\",\n \"ed25519\",\n \"secp384r1\",\n \"secp521r1\"\n], {\n symmetricKeySize,\n asymmetricKeyDetails,\n asymmetricKeyType,\n equals,\n exports,\n createSecretKey,\n createPublicKey,\n createPrivateKey,\n generateKeySync,\n generateKeyPairSync\n} = @lazy(\"internal/crypto\"), kCryptoKey = Symbol.for(\"::bunKeyObjectCryptoKey::\");\n\nclass KeyObject {\n [kCryptoKey];\n constructor(key2) {\n if (typeof key2 !== \"object\")\n @throwTypeError('The \"key\" argument must be an instance of CryptoKey.');\n this[kCryptoKey] = key2;\n }\n toString() {\n return \"[object KeyObject]\";\n }\n static from(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2[kCryptoKey];\n return new KeyObject(key2);\n }\n get asymmetricKeyDetails() {\n return asymmetricKeyDetails(this[kCryptoKey]);\n }\n get symmetricKeySize() {\n return symmetricKeySize(this[kCryptoKey]);\n }\n get asymmetricKeyType() {\n return asymmetricKeyType(this[kCryptoKey]);\n }\n [\"export\"](options) {\n switch (arguments.length) {\n case 0:\n switch (this.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\"\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\"\n };\n break;\n }\n break;\n case 1:\n if (typeof options === \"object\" && !options.format)\n switch (this.type) {\n case \"secret\":\n options.format = \"buffer\";\n break;\n default:\n options.format = \"pem\";\n break;\n }\n }\n return exports(this[kCryptoKey], options);\n }\n equals(otherKey) {\n if (!(otherKey instanceof KeyObject))\n @throwTypeError(\"otherKey must be a KeyObject\");\n return equals(this[kCryptoKey], otherKey[kCryptoKey]);\n }\n get type() {\n return this[kCryptoKey].type;\n }\n}\ncrypto_exports.generateKeySync = function(algorithm, options) {\n return KeyObject.from(generateKeySync(algorithm, options\?.length));\n};\ncrypto_exports.generateKey = function(algorithm, options, callback) {\n try {\n const key2 = KeyObject.from(generateKeySync(algorithm, options\?.length));\n typeof callback === \"function\" && callback(null, KeyObject.from(key2));\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.generateKeyPairSync = _generateKeyPairSync;\ncrypto_exports.generateKeyPair = function(algorithm, options, callback) {\n try {\n const result = _generateKeyPairSync(algorithm, options);\n typeof callback === \"function\" && callback(null, result.publicKey, result.privateKey);\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.createSecretKey = function(key2, encoding) {\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type !== \"secret\") {\n const error = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected secret`);\n throw error.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error;\n }\n return KeyObject.from(key2);\n }\n const buffer = getArrayBufferOrView(key2, encoding || \"utf8\");\n return KeyObject.from(createSecretKey(buffer));\n};\ncrypto_exports.createPrivateKey = _createPrivateKey;\ncrypto_exports.createPublicKey = _createPublicKey;\ncrypto_exports.KeyObject = KeyObject;\nvar _createSign = crypto_exports.createSign;\ncrypto_exports.sign = function(algorithm, data, key2, encoding, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n};\nvar _createVerify = crypto_exports.createVerify;\ncrypto_exports.verify = function(algorithm, data, key2, signature, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createVerify(algorithm).update(data).verify(key2, signature);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createVerify(algorithm).update(data).verify(key2, signature);\n};\nvar webcrypto = crypto;\n__export(crypto_exports, {\n DEFAULT_ENCODING: () => DEFAULT_ENCODING,\n getRandomValues: () => getRandomValues,\n randomUUID: () => randomUUID,\n randomInt: () => randomInt,\n getCurves: () => getCurves,\n scrypt: () => scrypt,\n scryptSync: () => scryptSync,\n timingSafeEqual: () => timingSafeEqual,\n webcrypto: () => webcrypto,\n subtle: () => webcrypto.subtle\n});\n$ = crypto_exports;\n/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nreturn $})\n"); +static constexpr ASCIILiteral NodeCryptoCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/crypto.ts\nvar exportIfKeyObject = function(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n return key2;\n}, getKeyFrom = function(key2, type) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n else if (!Buffer.isBuffer(key2) && typeof key2 === \"object\") {\n if ((typeof key2.format === \"string\" || typeof key2.passphrase === \"string\") && typeof key2.key !== \"undefined\")\n key2 = type === \"public\" \? _createPublicKey(key2).export() : _createPrivateKey(key2).export();\n } else if (typeof key2 === \"string\" && type === \"public\")\n key2.indexOf(\"PRIVATE KEY-----\") !== -1 && (key2 = _createPublicKey(key2).export());\n return key2;\n}, getArrayBufferOrView = function(buffer, name, encoding) {\n if (buffer instanceof KeyObject) {\n if (buffer.type !== \"secret\") {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key.type}, expected secret`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n buffer = buffer.export();\n }\n if (isAnyArrayBuffer(buffer))\n return buffer;\n if (typeof buffer === \"string\") {\n if (encoding === \"buffer\")\n encoding = \"utf8\";\n return Buffer.from(buffer, encoding);\n }\n if (!isArrayBufferView(buffer)) {\n var error = @makeTypeError(`ERR_INVALID_ARG_TYPE: The \"${name}\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received ` + buffer);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n return buffer;\n}, getCurves = function() {\n return harcoded_curves;\n}, _generateKeyPairSync = function(algorithm, options) {\n const result = generateKeyPairSync(algorithm, options);\n if (result) {\n const publicKeyEncoding = options\?.publicKeyEncoding, privateKeyEncoding = options\?.privateKeyEncoding;\n result.publicKey = publicKeyEncoding \? KeyObject.from(result.publicKey).export(publicKeyEncoding) : KeyObject.from(result.publicKey), result.privateKey = privateKeyEncoding \? KeyObject.from(result.privateKey).export(privateKeyEncoding) : KeyObject.from(result.privateKey);\n }\n return result;\n}, _createPrivateKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + actual_key);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPrivateKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, _createPublicKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type === \"private\")\n return KeyObject.from(createPublicKey({ key: key2[kCryptoKey] || key2, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n if (key2.passphrase) {\n let actual_key2 = key2.key;\n if (typeof actual_key2 === \"string\")\n actual_key2 = Buffer.from(actual_key2, key2.encoding || \"utf8\");\n return KeyObject.from(createPublicKey({\n key: createPrivateKey({ key: actual_key2, format: key2.format, passphrase: key2.passphrase }),\n format: \"\"\n }));\n }\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n if (actual_key.type === \"private\")\n return KeyObject.from(createPublicKey({ key: actual_key[kCryptoKey] || actual_key, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${actual_key.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPublicKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, $, __defProp = Object.defineProperty, __getOwnPropNames = Object.getOwnPropertyNames, StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), BufferModule = @requireNativeModule(\"buffer\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, MAX_STRING_LENGTH = 536870888, Buffer = globalThis.Buffer, EMPTY_BUFFER = Buffer.alloc(0), { isAnyArrayBuffer, isArrayBufferView } = @requireNativeModule(\"util/types\"), crypto = globalThis.crypto, globalCrypto = crypto, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, require_safe_buffer = __commonJS({\n \"node_modules/safe-buffer/index.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src)\n dst[key2] = src[key2];\n }\n Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow \? module.exports = buffer : (copyProps(buffer, exports), exports.Buffer = SafeBuffer);\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer2(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer2.prototype), copyProps(Buffer2, SafeBuffer), SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg == \"number\")\n @throwTypeError(\"Argument must not be a number\");\n return Buffer2(arg, encodingOrOffset, length);\n }, SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n var buf = Buffer2(size);\n return fill !== void 0 \? typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill) : buf.fill(0), buf;\n }, SafeBuffer.allocUnsafe = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return Buffer2(size);\n }, SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return buffer.SlowBuffer(size);\n };\n }\n}), require_browser = __commonJS({\n \"node_modules/randombytes/browser.js\"(exports, module) {\n var MAX_BYTES = 65536, MAX_UINT32 = 4294967295;\n function oldBrowser() {\n throw new Error(`Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11`);\n }\n var Buffer2 = require_safe_buffer().Buffer, crypto2 = globalCrypto;\n crypto2 && crypto2.getRandomValues \? module.exports = randomBytes : module.exports = oldBrowser;\n function randomBytes(size, cb) {\n if (size > MAX_UINT32)\n @throwRangeError(\"requested too many random bytes\");\n var bytes = Buffer2.allocUnsafe(size);\n if (size > 0)\n if (size > MAX_BYTES)\n for (var generated = 0;generated < size; generated += MAX_BYTES)\n crypto2.getRandomValues(bytes.slice(generated, generated + MAX_BYTES));\n else\n crypto2.getRandomValues(bytes);\n return typeof cb == \"function\" \? process.nextTick(function() {\n cb(null, bytes);\n }) : bytes;\n }\n }\n}), require_inherits_browser = __commonJS({\n \"node_modules/inherits/inherits_browser.js\"(exports, module) {\n module.exports = function(ctor, superCtor) {\n superCtor && (ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }));\n };\n }\n}), require_hash_base = __commonJS({\n \"node_modules/hash-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function throwIfNotStringOrBuffer(val, prefix) {\n if (!Buffer2.isBuffer(val) && typeof val != \"string\")\n @throwTypeError(prefix + \" must be a string or a buffer\");\n }\n function HashBase(blockSize) {\n StreamModule.Transform.@call(this), this._block = Buffer2.allocUnsafe(blockSize), this._blockSize = blockSize, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1;\n }\n inherits(HashBase, StreamModule.Transform), HashBase.prototype._transform = function(chunk, encoding, callback) {\n var error = null;\n try {\n this.update(chunk, encoding);\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype._flush = function(callback) {\n var error = null;\n try {\n this.push(this.digest());\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype.update = function(data, encoding) {\n if (throwIfNotStringOrBuffer(data, \"Data\"), this._finalized)\n throw new Error(\"Digest already called\");\n Buffer2.isBuffer(data) || (data = Buffer2.from(data, encoding));\n for (var block = this._block, offset = 0;this._blockOffset + data.length - offset >= this._blockSize; ) {\n for (var i = this._blockOffset;i < this._blockSize; )\n block[i++] = data[offset++];\n this._update(), this._blockOffset = 0;\n }\n for (;offset < data.length; )\n block[this._blockOffset++] = data[offset++];\n for (var j = 0, carry = data.length * 8;carry > 0; ++j)\n this._length[j] += carry, carry = this._length[j] / 4294967296 | 0, carry > 0 && (this._length[j] -= 4294967296 * carry);\n return this;\n }, HashBase.prototype._update = function() {\n throw new Error(\"_update is not implemented\");\n }, HashBase.prototype.digest = function(encoding) {\n if (this._finalized)\n throw new Error(\"Digest already called\");\n this._finalized = !0;\n var digest = this._digest();\n encoding !== void 0 && (digest = digest.toString(encoding)), this._block.fill(0), this._blockOffset = 0;\n for (var i = 0;i < 4; ++i)\n this._length[i] = 0;\n return digest;\n }, HashBase.prototype._digest = function() {\n throw new Error(\"_digest is not implemented\");\n }, module.exports = HashBase;\n }\n}), require_md5 = __commonJS({\n \"node_modules/md5.js/index.js\"(exports, module) {\n var inherits = require_inherits_browser(), HashBase = require_hash_base(), Buffer2 = require_safe_buffer().Buffer, ARRAY16 = new @Array(16);\n function MD5() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878;\n }\n inherits(MD5, HashBase), MD5.prototype._update = function() {\n for (var M = ARRAY16, i = 0;i < 16; ++i)\n M[i] = this._block.readInt32LE(i * 4);\n var a = this._a, b = this._b, c = this._c, d = this._d;\n a = fnF(a, b, c, d, M[0], 3614090360, 7), d = fnF(d, a, b, c, M[1], 3905402710, 12), c = fnF(c, d, a, b, M[2], 606105819, 17), b = fnF(b, c, d, a, M[3], 3250441966, 22), a = fnF(a, b, c, d, M[4], 4118548399, 7), d = fnF(d, a, b, c, M[5], 1200080426, 12), c = fnF(c, d, a, b, M[6], 2821735955, 17), b = fnF(b, c, d, a, M[7], 4249261313, 22), a = fnF(a, b, c, d, M[8], 1770035416, 7), d = fnF(d, a, b, c, M[9], 2336552879, 12), c = fnF(c, d, a, b, M[10], 4294925233, 17), b = fnF(b, c, d, a, M[11], 2304563134, 22), a = fnF(a, b, c, d, M[12], 1804603682, 7), d = fnF(d, a, b, c, M[13], 4254626195, 12), c = fnF(c, d, a, b, M[14], 2792965006, 17), b = fnF(b, c, d, a, M[15], 1236535329, 22), a = fnG(a, b, c, d, M[1], 4129170786, 5), d = fnG(d, a, b, c, M[6], 3225465664, 9), c = fnG(c, d, a, b, M[11], 643717713, 14), b = fnG(b, c, d, a, M[0], 3921069994, 20), a = fnG(a, b, c, d, M[5], 3593408605, 5), d = fnG(d, a, b, c, M[10], 38016083, 9), c = fnG(c, d, a, b, M[15], 3634488961, 14), b = fnG(b, c, d, a, M[4], 3889429448, 20), a = fnG(a, b, c, d, M[9], 568446438, 5), d = fnG(d, a, b, c, M[14], 3275163606, 9), c = fnG(c, d, a, b, M[3], 4107603335, 14), b = fnG(b, c, d, a, M[8], 1163531501, 20), a = fnG(a, b, c, d, M[13], 2850285829, 5), d = fnG(d, a, b, c, M[2], 4243563512, 9), c = fnG(c, d, a, b, M[7], 1735328473, 14), b = fnG(b, c, d, a, M[12], 2368359562, 20), a = fnH(a, b, c, d, M[5], 4294588738, 4), d = fnH(d, a, b, c, M[8], 2272392833, 11), c = fnH(c, d, a, b, M[11], 1839030562, 16), b = fnH(b, c, d, a, M[14], 4259657740, 23), a = fnH(a, b, c, d, M[1], 2763975236, 4), d = fnH(d, a, b, c, M[4], 1272893353, 11), c = fnH(c, d, a, b, M[7], 4139469664, 16), b = fnH(b, c, d, a, M[10], 3200236656, 23), a = fnH(a, b, c, d, M[13], 681279174, 4), d = fnH(d, a, b, c, M[0], 3936430074, 11), c = fnH(c, d, a, b, M[3], 3572445317, 16), b = fnH(b, c, d, a, M[6], 76029189, 23), a = fnH(a, b, c, d, M[9], 3654602809, 4), d = fnH(d, a, b, c, M[12], 3873151461, 11), c = fnH(c, d, a, b, M[15], 530742520, 16), b = fnH(b, c, d, a, M[2], 3299628645, 23), a = fnI(a, b, c, d, M[0], 4096336452, 6), d = fnI(d, a, b, c, M[7], 1126891415, 10), c = fnI(c, d, a, b, M[14], 2878612391, 15), b = fnI(b, c, d, a, M[5], 4237533241, 21), a = fnI(a, b, c, d, M[12], 1700485571, 6), d = fnI(d, a, b, c, M[3], 2399980690, 10), c = fnI(c, d, a, b, M[10], 4293915773, 15), b = fnI(b, c, d, a, M[1], 2240044497, 21), a = fnI(a, b, c, d, M[8], 1873313359, 6), d = fnI(d, a, b, c, M[15], 4264355552, 10), c = fnI(c, d, a, b, M[6], 2734768916, 15), b = fnI(b, c, d, a, M[13], 1309151649, 21), a = fnI(a, b, c, d, M[4], 4149444226, 6), d = fnI(d, a, b, c, M[11], 3174756917, 10), c = fnI(c, d, a, b, M[2], 718787259, 15), b = fnI(b, c, d, a, M[9], 3951481745, 21), this._a = this._a + a | 0, this._b = this._b + b | 0, this._c = this._c + c | 0, this._d = this._d + d | 0;\n }, MD5.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.allocUnsafe(16);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fnF(a, b, c, d, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + b | 0;\n }\n function fnG(a, b, c, d, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + b | 0;\n }\n function fnH(a, b, c, d, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + b | 0;\n }\n function fnI(a, b, c, d, m, k, s) {\n return rotl(a + (c ^ (b | ~d)) + m + k | 0, s) + b | 0;\n }\n module.exports = MD5;\n }\n}), require_ripemd160 = __commonJS({\n \"node_modules/ripemd160/index.js\"(exports, module) {\n var Buffer2 = Buffer, inherits = require_inherits_browser(), HashBase = require_hash_base(), ARRAY16 = new @Array(16), zl = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], zr = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], sl = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sr = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ], hl = [0, 1518500249, 1859775393, 2400959708, 2840853838], hr = [1352829926, 1548603684, 1836072691, 2053994217, 0];\n function RIPEMD160() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520;\n }\n inherits(RIPEMD160, HashBase), RIPEMD160.prototype._update = function() {\n for (var words = ARRAY16, j = 0;j < 16; ++j)\n words[j] = this._block.readInt32LE(j * 4);\n for (var al = this._a | 0, bl = this._b | 0, cl = this._c | 0, dl = this._d | 0, el = this._e | 0, ar = this._a | 0, br = this._b | 0, cr = this._c | 0, dr = this._d | 0, er = this._e | 0, i = 0;i < 80; i += 1) {\n var tl, tr;\n i < 16 \? (tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i]), tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])) : i < 32 \? (tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i]), tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])) : i < 48 \? (tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i]), tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])) : i < 64 \? (tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i]), tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])) : (tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i]), tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])), al = el, el = dl, dl = rotl(cl, 10), cl = bl, bl = tl, ar = er, er = dr, dr = rotl(cr, 10), cr = br, br = tr;\n }\n var t = this._b + cl + dr | 0;\n this._b = this._c + dl + er | 0, this._c = this._d + el + ar | 0, this._d = this._e + al + br | 0, this._e = this._a + bl + cr | 0, this._a = t;\n }, RIPEMD160.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.alloc \? Buffer2.alloc(20) : new Buffer2(20);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer.writeInt32LE(this._e, 16), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fn1(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + e | 0;\n }\n function fn2(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + e | 0;\n }\n function fn3(a, b, c, d, e, m, k, s) {\n return rotl(a + ((b | ~c) ^ d) + m + k | 0, s) + e | 0;\n }\n function fn4(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + e | 0;\n }\n function fn5(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ (c | ~d)) + m + k | 0, s) + e | 0;\n }\n module.exports = RIPEMD160;\n }\n}), require_hash = __commonJS({\n \"node_modules/sha.js/hash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function Hash(blockSize, finalSize) {\n this._block = Buffer2.alloc(blockSize), this._finalSize = finalSize, this._blockSize = blockSize, this._len = 0;\n }\n Hash.prototype = {}, Hash.prototype.update = function(data, enc) {\n typeof data == \"string\" && (enc = enc || \"utf8\", data = Buffer2.from(data, enc));\n for (var block = this._block, blockSize = this._blockSize, length = data.length, accum = this._len, offset = 0;offset < length; ) {\n for (var assigned = accum % blockSize, remainder = Math.min(length - offset, blockSize - assigned), i = 0;i < remainder; i++)\n block[assigned + i] = data[offset + i];\n accum += remainder, offset += remainder, accum % blockSize === 0 && this._update(block);\n }\n return this._len += length, this;\n }, Hash.prototype.digest = function(enc) {\n var rem = this._len % this._blockSize;\n this._block[rem] = 128, this._block.fill(0, rem + 1), rem >= this._finalSize && (this._update(this._block), this._block.fill(0));\n var bits = this._len * 8;\n if (bits <= 4294967295)\n this._block.writeUInt32BE(bits, this._blockSize - 4);\n else {\n var lowBits = (bits & 4294967295) >>> 0, highBits = (bits - lowBits) / 4294967296;\n this._block.writeUInt32BE(highBits, this._blockSize - 8), this._block.writeUInt32BE(lowBits, this._blockSize - 4);\n }\n this._update(this._block);\n var hash = this._hash();\n return enc \? hash.toString(enc) : hash;\n }, Hash.prototype._update = function() {\n throw new Error(\"_update must be implemented by subclass\");\n }, module.exports = Hash;\n }\n}), require_sha = __commonJS({\n \"node_modules/sha.js/sha.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha, Hash), Sha.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16];\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha;\n }\n}), require_sha1 = __commonJS({\n \"node_modules/sha.js/sha1.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha1() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha1, Hash), Sha1.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl1(num) {\n return num << 1 | num >>> 31;\n }\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha1.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = rotl1(W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16]);\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha1.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha1;\n }\n}), require_sha256 = __commonJS({\n \"node_modules/sha.js/sha256.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ], W = new @Array(64);\n function Sha256() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha256, Hash), Sha256.prototype.init = function() {\n return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this;\n };\n function ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10);\n }\n function sigma1(x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7);\n }\n function gamma0(x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3;\n }\n function gamma1(x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10;\n }\n Sha256.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, f = this._f | 0, g = this._g | 0, h = this._h | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 64; ++i)\n W2[i] = gamma1(W2[i - 2]) + W2[i - 7] + gamma0(W2[i - 15]) + W2[i - 16] | 0;\n for (var j = 0;j < 64; ++j) {\n var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W2[j] | 0, T2 = sigma0(a) + maj(a, b, c) | 0;\n h = g, g = f, f = e, e = d + T1 | 0, d = c, c = b, b = a, a = T1 + T2 | 0;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0, this._f = f + this._f | 0, this._g = g + this._g | 0, this._h = h + this._h | 0;\n }, Sha256.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(32);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H.writeInt32BE(this._h, 28), H;\n }, module.exports = Sha256;\n }\n}), require_sha224 = __commonJS({\n \"node_modules/sha.js/sha224.js\"(exports, module) {\n var inherits = require_inherits_browser(), Sha256 = require_sha256(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(64);\n function Sha224() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha224, Sha256), Sha224.prototype.init = function() {\n return this._a = 3238371032, this._b = 914150663, this._c = 812702999, this._d = 4144912697, this._e = 4290775857, this._f = 1750603025, this._g = 1694076839, this._h = 3204075428, this;\n }, Sha224.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(28);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H;\n }, module.exports = Sha224;\n }\n}), require_sha512 = __commonJS({\n \"node_modules/sha.js/sha512.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ], W = new @Array(160);\n function Sha512() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha512, Hash), Sha512.prototype.init = function() {\n return this._ah = 1779033703, this._bh = 3144134277, this._ch = 1013904242, this._dh = 2773480762, this._eh = 1359893119, this._fh = 2600822924, this._gh = 528734635, this._hh = 1541459225, this._al = 4089235720, this._bl = 2227873595, this._cl = 4271175723, this._dl = 1595750129, this._el = 2917565137, this._fl = 725511199, this._gl = 4215389547, this._hl = 327033209, this;\n };\n function Ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25);\n }\n function sigma1(x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23);\n }\n function Gamma0(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7;\n }\n function Gamma0l(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25);\n }\n function Gamma1(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6;\n }\n function Gamma1l(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26);\n }\n function getCarry(a, b) {\n return a >>> 0 < b >>> 0 \? 1 : 0;\n }\n Sha512.prototype._update = function(M) {\n for (var W2 = this._w, ah = this._ah | 0, bh = this._bh | 0, ch = this._ch | 0, dh = this._dh | 0, eh = this._eh | 0, fh = this._fh | 0, gh = this._gh | 0, hh = this._hh | 0, al = this._al | 0, bl = this._bl | 0, cl = this._cl | 0, dl = this._dl | 0, el = this._el | 0, fl = this._fl | 0, gl = this._gl | 0, hl = this._hl | 0, i = 0;i < 32; i += 2)\n W2[i] = M.readInt32BE(i * 4), W2[i + 1] = M.readInt32BE(i * 4 + 4);\n for (;i < 160; i += 2) {\n var xh = W2[i - 30], xl = W2[i - 30 + 1], gamma0 = Gamma0(xh, xl), gamma0l = Gamma0l(xl, xh);\n xh = W2[i - 4], xl = W2[i - 4 + 1];\n var gamma1 = Gamma1(xh, xl), gamma1l = Gamma1l(xl, xh), Wi7h = W2[i - 14], Wi7l = W2[i - 14 + 1], Wi16h = W2[i - 32], Wi16l = W2[i - 32 + 1], Wil = gamma0l + Wi7l | 0, Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0;\n Wil = Wil + gamma1l | 0, Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0, Wil = Wil + Wi16l | 0, Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0, W2[i] = Wih, W2[i + 1] = Wil;\n }\n for (var j = 0;j < 160; j += 2) {\n Wih = W2[j], Wil = W2[j + 1];\n var majh = maj(ah, bh, ch), majl = maj(al, bl, cl), sigma0h = sigma0(ah, al), sigma0l = sigma0(al, ah), sigma1h = sigma1(eh, el), sigma1l = sigma1(el, eh), Kih = K[j], Kil = K[j + 1], chh = Ch(eh, fh, gh), chl = Ch(el, fl, gl), t1l = hl + sigma1l | 0, t1h = hh + sigma1h + getCarry(t1l, hl) | 0;\n t1l = t1l + chl | 0, t1h = t1h + chh + getCarry(t1l, chl) | 0, t1l = t1l + Kil | 0, t1h = t1h + Kih + getCarry(t1l, Kil) | 0, t1l = t1l + Wil | 0, t1h = t1h + Wih + getCarry(t1l, Wil) | 0;\n var t2l = sigma0l + majl | 0, t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0;\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, el = dl + t1l | 0, eh = dh + t1h + getCarry(el, dl) | 0, dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, al = t1l + t2l | 0, ah = t1h + t2h + getCarry(al, t1l) | 0;\n }\n this._al = this._al + al | 0, this._bl = this._bl + bl | 0, this._cl = this._cl + cl | 0, this._dl = this._dl + dl | 0, this._el = this._el + el | 0, this._fl = this._fl + fl | 0, this._gl = this._gl + gl | 0, this._hl = this._hl + hl | 0, this._ah = this._ah + ah + getCarry(this._al, al) | 0, this._bh = this._bh + bh + getCarry(this._bl, bl) | 0, this._ch = this._ch + ch + getCarry(this._cl, cl) | 0, this._dh = this._dh + dh + getCarry(this._dl, dl) | 0, this._eh = this._eh + eh + getCarry(this._el, el) | 0, this._fh = this._fh + fh + getCarry(this._fl, fl) | 0, this._gh = this._gh + gh + getCarry(this._gl, gl) | 0, this._hh = this._hh + hh + getCarry(this._hl, hl) | 0;\n }, Sha512.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(64);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), writeInt64BE(this._gh, this._gl, 48), writeInt64BE(this._hh, this._hl, 56), H;\n }, module.exports = Sha512;\n }\n}), require_sha384 = __commonJS({\n \"node_modules/sha.js/sha384.js\"(exports, module) {\n var inherits = require_inherits_browser(), SHA512 = require_sha512(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(160);\n function Sha384() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha384, SHA512), Sha384.prototype.init = function() {\n return this._ah = 3418070365, this._bh = 1654270250, this._ch = 2438529370, this._dh = 355462360, this._eh = 1731405415, this._fh = 2394180231, this._gh = 3675008525, this._hh = 1203062813, this._al = 3238371032, this._bl = 914150663, this._cl = 812702999, this._dl = 4144912697, this._el = 4290775857, this._fl = 1750603025, this._gl = 1694076839, this._hl = 3204075428, this;\n }, Sha384.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(48);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), H;\n }, module.exports = Sha384;\n }\n}), require_sha2 = __commonJS({\n \"node_modules/sha.js/index.js\"(exports, module) {\n var exports = module.exports = function(algorithm) {\n algorithm = algorithm.toLowerCase();\n var Algorithm = exports[algorithm];\n if (!Algorithm)\n throw new Error(algorithm + \" is not supported (we accept pull requests)\");\n return new Algorithm;\n };\n exports.sha = require_sha(), exports.sha1 = require_sha1(), exports.sha224 = require_sha224(), exports.sha256 = require_sha256(), exports.sha384 = require_sha384(), exports.sha512 = require_sha512();\n }\n}), require_cipher_base = __commonJS({\n \"node_modules/cipher-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function CipherBase(hashMode) {\n StreamModule.Transform.@call(this), this.hashMode = typeof hashMode == \"string\", this.hashMode \? this[hashMode] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null, this._finalized = !1;\n }\n inherits(CipherBase, StreamModule.Transform), CipherBase.prototype.update = function(data, inputEnc, outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n typeof data == \"string\" && (data = Buffer2.from(data, inputEnc));\n var outData = this._update(data);\n return this.hashMode \? this : (outputEnc && (outData = this._toString(outData, outputEnc)), outData);\n }, CipherBase.prototype.setAutoPadding = function() {\n }, CipherBase.prototype.getAuthTag = function() {\n throw new Error(\"trying to get auth tag in unsupported state\");\n }, CipherBase.prototype.setAuthTag = function() {\n throw new Error(\"trying to set auth tag in unsupported state\");\n }, CipherBase.prototype.setAAD = function() {\n throw new Error(\"trying to set aad in unsupported state\");\n }, CipherBase.prototype._transform = function(data, _, next) {\n var err;\n try {\n this.hashMode \? this._update(data) : this.push(this._update(data));\n } catch (e) {\n err = e;\n } finally {\n next(err);\n }\n }, CipherBase.prototype._flush = function(done) {\n var err;\n try {\n this.push(this.__final());\n } catch (e) {\n err = e;\n }\n done(err);\n }, CipherBase.prototype._finalOrDigest = function(outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n if (this._finalized) {\n if (!this._encoding)\n return Buffer2.alloc(0);\n return \"\";\n }\n this._finalized = !0;\n var outData = this.__final() || Buffer2.alloc(0);\n return outputEnc && (outData = this._toString(outData, outputEnc, !0)), outData;\n }, CipherBase.prototype._toString = function(value, enc, fin) {\n if (this._decoder || (this._decoder = new StringDecoder(enc), this._encoding = enc), this._encoding !== enc)\n throw new Error(\"can't switch encodings\");\n var out = this._decoder.write(value);\n return fin && (out += this._decoder.end()), out;\n }, module.exports = CipherBase;\n }\n}), require_browser2 = __commonJS({\n \"node_modules/create-hash/browser.js\"(exports, module) {\n const LazyHash = function Hash(algorithm, options) {\n this._options = options, this._hasher = new CryptoHasher(algorithm, options), this._finalized = !1;\n };\n LazyHash.prototype = Object.create(StreamModule.Transform.prototype), LazyHash.prototype.update = function update(data, encoding) {\n return this._checkFinalized(), this._hasher.update(data, encoding), this;\n }, LazyHash.prototype.digest = function update(data, encoding) {\n return this._checkFinalized(), this._finalized = !0, this._hasher.digest(data, encoding);\n }, LazyHash.prototype._checkFinalized = function _checkFinalized() {\n if (this._finalized) {\n var err = new Error(\"Digest already called\");\n throw err.code = \"ERR_CRYPTO_HASH_FINALIZED\", err;\n }\n }, LazyHash.prototype.copy = function copy() {\n const copy = Object.create(LazyHash.prototype);\n return copy._options = this._options, copy._hasher = this._hasher.copy(), copy._finalized = this._finalized, copy;\n };\n const lazyHashFullInitProto = {\n __proto__: StreamModule.Transform.prototype,\n ...LazyHash.prototype,\n _transform(data, encoding, callback) {\n this.update(data, encoding), callback && callback();\n },\n _flush(callback) {\n this.push(this.digest()), callback();\n }\n }, triggerMethods = [\n \"_events\",\n \"_eventsCount\",\n \"_final\",\n \"_maxListeners\",\n \"_maxListeners\",\n \"_read\",\n \"_undestroy\",\n \"_writableState\",\n \"_write\",\n \"_writev\",\n \"addListener\",\n \"asIndexedPairs\",\n \"closed\",\n \"compose\",\n \"constructor\",\n \"cork\",\n \"destroy\",\n \"destroyed\",\n \"drop\",\n \"emit\",\n \"end\",\n \"errored\",\n \"eventNames\",\n \"every\",\n \"filter\",\n \"find\",\n \"flatMap\",\n \"forEach\",\n \"getMaxListeners\",\n \"hasOwnProperty\",\n \"isPaused\",\n \"isPrototypeOf\",\n \"iterator\",\n \"listenerCount\",\n \"listeners\",\n \"map\",\n \"off\",\n \"on\",\n \"once\",\n \"pause\",\n \"pipe\",\n \"prependListener\",\n \"prependOnceListener\",\n \"propertyIsEnumerable\",\n \"push\",\n \"rawListeners\",\n \"read\",\n \"readable\",\n \"readableAborted\",\n \"readableBuffer\",\n \"readableDidRead\",\n \"readableEncoding\",\n \"readableEnded\",\n \"readableFlowing\",\n \"readableHighWaterMark\",\n \"readableLength\",\n \"readableObjectMode\",\n \"reduce\",\n \"removeAllListeners\",\n \"removeListener\",\n \"resume\",\n \"setDefaultEncoding\",\n \"setEncoding\",\n \"setMaxListeners\",\n \"some\",\n \"take\",\n \"toArray\",\n \"toLocaleString\",\n \"toString\",\n \"uncork\",\n \"unpipe\",\n \"unshift\",\n \"valueOf\",\n \"wrap\",\n \"writable\",\n \"writableBuffer\",\n \"writableCorked\",\n \"writableEnded\",\n \"writableFinished\",\n \"writableHighWaterMark\",\n \"writableLength\",\n \"writableNeedDrain\",\n \"writableObjectMode\",\n \"write\"\n ];\n for (let method of triggerMethods)\n Object.defineProperty(LazyHash.prototype, method, {\n get() {\n return Object.setPrototypeOf(this, lazyHashFullInitProto), StreamModule.Transform.@call(this, this._options), this[method];\n },\n enumerable: !1,\n configurable: !0\n });\n module.exports = function createHash(algorithm) {\n return new LazyHash(algorithm);\n }, module.exports.createHash = module.exports, module.exports.Hash = LazyHash;\n }\n}), require_legacy = __commonJS({\n \"node_modules/create-hmac/legacy.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, Base = require_cipher_base(), ZEROS = Buffer2.alloc(128), blocksize = 64;\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2)), this._alg = alg, this._key = key2, key2.length > blocksize \? key2 = alg(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = [ipad];\n }\n Hmac.prototype = {}, inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.push(data);\n }, Hmac.prototype._final = function() {\n var h = this._alg(Buffer2.concat(this._hash));\n return this._alg(Buffer2.concat([this._opad, h]));\n }, module.exports = Hmac;\n }\n}), require_md52 = __commonJS({\n \"node_modules/create-hash/md5.js\"(exports, module) {\n var MD5 = require_md5();\n module.exports = function(buffer) {\n return new MD5().update(buffer).digest();\n };\n }\n}), require_browser3 = __commonJS({\n \"node_modules/create-hmac/browser.js\"(exports, module) {\n var inherits = require_inherits_browser(), Legacy = require_legacy(), Base = require_cipher_base(), Buffer2 = require_safe_buffer().Buffer, md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), ZEROS = Buffer2.alloc(128);\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2));\n var blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n if (this._alg = alg, this._key = key2, key2.length > blocksize) {\n var hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg);\n key2 = hash.update(key2).digest();\n } else\n key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg), this._hash.update(ipad);\n }\n inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.update(data);\n }, Hmac.prototype._final = function() {\n var h = this._hash.digest(), hash = this._alg === \"rmd160\" \? new RIPEMD160 : sha(this._alg);\n return hash.update(this._opad).update(h).digest();\n }, module.exports = function(alg, key2) {\n return key2 = exportIfKeyObject(key2), alg = alg.toLowerCase(), alg === \"rmd160\" || alg === \"ripemd160\" \? new Hmac(\"rmd160\", key2) : alg === \"md5\" \? new Legacy(md5, key2) : new Hmac(alg, key2);\n };\n }\n}), require_algorithms = __commonJS({\n \"node_modules/browserify-sign/browser/algorithms.json\"(exports, module) {\n module.exports = {\n sha224WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n \"RSA-SHA224\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n sha256WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n \"RSA-SHA256\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n sha384WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n \"RSA-SHA384\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n sha512WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA512\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA1\": {\n sign: \"rsa\",\n hash: \"sha1\",\n id: \"3021300906052b0e03021a05000414\"\n },\n \"ecdsa-with-SHA1\": {\n sign: \"ecdsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha1: {\n sign: \"ecdsa/rsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha256: {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"\"\n },\n sha224: {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"\"\n },\n sha384: {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"\"\n },\n sha512: {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-SHA1\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n DSA: {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-WITH-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-WITH-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-WITH-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-WITH-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-RIPEMD160\": {\n sign: \"dsa\",\n hash: \"rmd160\",\n id: \"\"\n },\n ripemd160WithRSA: {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n \"RSA-RIPEMD160\": {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n md5WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n },\n \"RSA-MD5\": {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n }\n };\n }\n}), require_algos = __commonJS({\n \"node_modules/browserify-sign/algos.js\"(exports, module) {\n module.exports = require_algorithms();\n }\n}), require_precondition = __commonJS({\n \"node_modules/pbkdf2/lib/precondition.js\"(exports, module) {\n var MAX_ALLOC = Math.pow(2, 30) - 1;\n module.exports = function(iterations, keylen) {\n if (typeof iterations != \"number\")\n @throwTypeError(\"Iterations not a number\");\n if (iterations < 0)\n @throwTypeError(\"Bad iterations\");\n if (typeof keylen != \"number\")\n @throwTypeError(\"Key length not a number\");\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen)\n @throwTypeError(\"Bad key length\");\n };\n }\n}), require_default_encoding = __commonJS({\n \"node_modules/pbkdf2/lib/default-encoding.js\"(exports, module) {\n var defaultEncoding;\n global.process && global.process.browser \? defaultEncoding = \"utf-8\" : global.process && global.process.version \? (pVersionMajor = parseInt(process.version.split(\".\")[0].slice(1), 10), defaultEncoding = pVersionMajor >= 6 \? \"utf-8\" : \"binary\") : defaultEncoding = \"utf-8\";\n var pVersionMajor;\n module.exports = defaultEncoding;\n }\n}), require_to_buffer = __commonJS({\n \"node_modules/pbkdf2/lib/to-buffer.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(thing, encoding, name) {\n if (Buffer2.isBuffer(thing))\n return thing;\n if (typeof thing == \"string\")\n return Buffer2.from(thing, encoding);\n if (@ArrayBuffer.isView(thing))\n return Buffer2.from(thing.buffer);\n @throwTypeError(name + \" must be a string, a Buffer, a typed array or a DataView\");\n };\n }\n}), require_sync_browser = __commonJS({\n \"node_modules/pbkdf2/lib/sync-browser.js\"(exports, module) {\n var md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), toBuffer = require_to_buffer(), ZEROS = Buffer2.alloc(128), sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n };\n function Hmac(alg, key2, saltLen) {\n key2 = exportIfKeyObject(key2);\n var hash = getDigest(alg), blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n key2.length > blocksize \? key2 = hash(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = Buffer2.allocUnsafe(blocksize + sizes[alg]), opad = Buffer2.allocUnsafe(blocksize + sizes[alg]), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n var ipad1 = Buffer2.allocUnsafe(blocksize + saltLen + 4);\n ipad.copy(ipad1, 0, 0, blocksize), this.ipad1 = ipad1, this.ipad2 = ipad, this.opad = opad, this.alg = alg, this.blocksize = blocksize, this.hash = hash, this.size = sizes[alg];\n }\n Hmac.prototype = {}, Hmac.prototype.run = function(data, ipad) {\n data.copy(ipad, this.blocksize);\n var h = this.hash(ipad);\n return h.copy(this.opad, this.blocksize), this.hash(this.opad);\n };\n function getDigest(alg) {\n function shaFunc(data) {\n return sha(alg).update(data).digest();\n }\n function rmd160Func(data) {\n return new RIPEMD160().update(data).digest();\n }\n return alg === \"rmd160\" || alg === \"ripemd160\" \? rmd160Func : alg === \"md5\" \? md5 : shaFunc;\n }\n function pbkdf2(password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), digest = digest || \"sha1\";\n var hmac = new Hmac(digest, password, salt.length), DK = Buffer2.allocUnsafe(keylen), block1 = Buffer2.allocUnsafe(salt.length + 4);\n salt.copy(block1, 0, 0, salt.length);\n for (var destPos = 0, hLen = sizes[digest], l = Math.ceil(keylen / hLen), i = 1;i <= l; i++) {\n block1.writeUInt32BE(i, salt.length);\n for (var T = hmac.run(block1, hmac.ipad1), U = T, j = 1;j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2);\n for (var k = 0;k < hLen; k++)\n T[k] ^= U[k];\n }\n T.copy(DK, destPos), destPos += hLen;\n }\n return DK;\n }\n module.exports = pbkdf2;\n }\n}), require_async = __commonJS({\n \"node_modules/pbkdf2/lib/async.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), sync = require_sync_browser(), toBuffer = require_to_buffer(), ZERO_BUF, subtle = globalCrypto.subtle, toBrowser = {\n sha: \"SHA-1\",\n \"sha-1\": \"SHA-1\",\n sha1: \"SHA-1\",\n sha256: \"SHA-256\",\n \"sha-256\": \"SHA-256\",\n sha384: \"SHA-384\",\n \"sha-384\": \"SHA-384\",\n \"sha-512\": \"SHA-512\",\n sha512: \"SHA-512\"\n }, checks = [];\n function checkNative(algo) {\n if (global.process && !global.process.browser || !subtle || !subtle.importKey || !subtle.deriveBits)\n return @Promise.resolve(!1);\n if (checks[algo] !== void 0)\n return checks[algo];\n ZERO_BUF = ZERO_BUF || Buffer2.alloc(8);\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo).then(function() {\n return !0;\n }).catch(function() {\n return !1;\n });\n return checks[algo] = prom, prom;\n }\n var nextTick;\n function getNextTick() {\n return nextTick || (global.process && global.process.nextTick \? nextTick = global.process.nextTick : global.queueMicrotask \? nextTick = global.queueMicrotask : global.setImmediate \? nextTick = global.setImmediate : nextTick = global.setTimeout, nextTick);\n }\n function browserPbkdf2(password, salt, iterations, length, algo) {\n return subtle.importKey(\"raw\", password, { name: \"PBKDF2\" }, !1, [\"deriveBits\"]).then(function(key2) {\n return subtle.deriveBits({\n name: \"PBKDF2\",\n salt,\n iterations,\n hash: {\n name: algo\n }\n }, key2, length << 3);\n }).then(function(res) {\n return Buffer2.from(res);\n });\n }\n function resolvePromise(promise, callback) {\n promise.then(function(out) {\n getNextTick()(function() {\n callback(null, out);\n });\n }, function(e) {\n getNextTick()(function() {\n callback(e);\n });\n });\n }\n module.exports = function(password, salt, iterations, keylen, digest, callback) {\n typeof digest == \"function\" && (callback = digest, digest = void 0), digest = digest || \"sha1\";\n var algo = toBrowser[digest.toLowerCase()];\n if (!algo || typeof global.Promise != \"function\") {\n getNextTick()(function() {\n var out;\n try {\n out = sync(password, salt, iterations, keylen, digest);\n } catch (e) {\n return callback(e);\n }\n callback(null, out);\n });\n return;\n }\n if (checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), typeof callback != \"function\")\n throw new Error(\"No callback provided to pbkdf2\");\n resolvePromise(checkNative(algo).then(function(resp) {\n return resp \? browserPbkdf2(password, salt, iterations, keylen, algo) : sync(password, salt, iterations, keylen, digest);\n }), callback);\n };\n }\n}), require_browser4 = __commonJS({\n \"node_modules/pbkdf2/browser.js\"(exports) {\n exports.pbkdf2 = require_async(), exports.pbkdf2Sync = require_sync_browser();\n }\n}), require_utils = __commonJS({\n \"node_modules/des.js/lib/des/utils.js\"(exports) {\n exports.readUInt32BE = function(bytes, off) {\n var res = bytes[0 + off] << 24 | bytes[1 + off] << 16 | bytes[2 + off] << 8 | bytes[3 + off];\n return res >>> 0;\n }, exports.writeUInt32BE = function(bytes, value, off) {\n bytes[0 + off] = value >>> 24, bytes[1 + off] = value >>> 16 & 255, bytes[2 + off] = value >>> 8 & 255, bytes[3 + off] = value & 255;\n }, exports.ip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 6;i >= 0; i -= 2) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >>> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >>> j + i & 1;\n }\n for (var i = 6;i >= 0; i -= 2) {\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inR >>> j + i & 1;\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inL >>> j + i & 1;\n }\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.rip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 0;i < 4; i++)\n for (var j = 24;j >= 0; j -= 8)\n outL <<= 1, outL |= inR >>> j + i & 1, outL <<= 1, outL |= inL >>> j + i & 1;\n for (var i = 4;i < 8; i++)\n for (var j = 24;j >= 0; j -= 8)\n outR <<= 1, outR |= inR >>> j + i & 1, outR <<= 1, outR |= inL >>> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.pc1 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 7;i >= 5; i--) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var i = 1;i <= 3; i++) {\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.r28shl = function(num, shift) {\n return num << shift & 268435455 | num >>> 28 - shift;\n };\n var pc2table = [\n 14,\n 11,\n 17,\n 4,\n 27,\n 23,\n 25,\n 0,\n 13,\n 22,\n 7,\n 18,\n 5,\n 9,\n 16,\n 24,\n 2,\n 20,\n 12,\n 21,\n 1,\n 8,\n 15,\n 26,\n 15,\n 4,\n 25,\n 19,\n 9,\n 1,\n 26,\n 16,\n 5,\n 11,\n 23,\n 8,\n 12,\n 7,\n 17,\n 0,\n 22,\n 3,\n 10,\n 14,\n 6,\n 20,\n 27,\n 24\n ];\n exports.pc2 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, len = pc2table.length >>> 1, i = 0;i < len; i++)\n outL <<= 1, outL |= inL >>> pc2table[i] & 1;\n for (var i = len;i < pc2table.length; i++)\n outR <<= 1, outR |= inR >>> pc2table[i] & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.expand = function(r, out, off) {\n var outL = 0, outR = 0;\n outL = (r & 1) << 5 | r >>> 27;\n for (var i = 23;i >= 15; i -= 4)\n outL <<= 6, outL |= r >>> i & 63;\n for (var i = 11;i >= 3; i -= 4)\n outR |= r >>> i & 63, outR <<= 6;\n outR |= (r & 31) << 1 | r >>> 31, out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n };\n var sTable = [\n 14,\n 0,\n 4,\n 15,\n 13,\n 7,\n 1,\n 4,\n 2,\n 14,\n 15,\n 2,\n 11,\n 13,\n 8,\n 1,\n 3,\n 10,\n 10,\n 6,\n 6,\n 12,\n 12,\n 11,\n 5,\n 9,\n 9,\n 5,\n 0,\n 3,\n 7,\n 8,\n 4,\n 15,\n 1,\n 12,\n 14,\n 8,\n 8,\n 2,\n 13,\n 4,\n 6,\n 9,\n 2,\n 1,\n 11,\n 7,\n 15,\n 5,\n 12,\n 11,\n 9,\n 3,\n 7,\n 14,\n 3,\n 10,\n 10,\n 0,\n 5,\n 6,\n 0,\n 13,\n 15,\n 3,\n 1,\n 13,\n 8,\n 4,\n 14,\n 7,\n 6,\n 15,\n 11,\n 2,\n 3,\n 8,\n 4,\n 14,\n 9,\n 12,\n 7,\n 0,\n 2,\n 1,\n 13,\n 10,\n 12,\n 6,\n 0,\n 9,\n 5,\n 11,\n 10,\n 5,\n 0,\n 13,\n 14,\n 8,\n 7,\n 10,\n 11,\n 1,\n 10,\n 3,\n 4,\n 15,\n 13,\n 4,\n 1,\n 2,\n 5,\n 11,\n 8,\n 6,\n 12,\n 7,\n 6,\n 12,\n 9,\n 0,\n 3,\n 5,\n 2,\n 14,\n 15,\n 9,\n 10,\n 13,\n 0,\n 7,\n 9,\n 0,\n 14,\n 9,\n 6,\n 3,\n 3,\n 4,\n 15,\n 6,\n 5,\n 10,\n 1,\n 2,\n 13,\n 8,\n 12,\n 5,\n 7,\n 14,\n 11,\n 12,\n 4,\n 11,\n 2,\n 15,\n 8,\n 1,\n 13,\n 1,\n 6,\n 10,\n 4,\n 13,\n 9,\n 0,\n 8,\n 6,\n 15,\n 9,\n 3,\n 8,\n 0,\n 7,\n 11,\n 4,\n 1,\n 15,\n 2,\n 14,\n 12,\n 3,\n 5,\n 11,\n 10,\n 5,\n 14,\n 2,\n 7,\n 12,\n 7,\n 13,\n 13,\n 8,\n 14,\n 11,\n 3,\n 5,\n 0,\n 6,\n 6,\n 15,\n 9,\n 0,\n 10,\n 3,\n 1,\n 4,\n 2,\n 7,\n 8,\n 2,\n 5,\n 12,\n 11,\n 1,\n 12,\n 10,\n 4,\n 14,\n 15,\n 9,\n 10,\n 3,\n 6,\n 15,\n 9,\n 0,\n 0,\n 6,\n 12,\n 10,\n 11,\n 1,\n 7,\n 13,\n 13,\n 8,\n 15,\n 9,\n 1,\n 4,\n 3,\n 5,\n 14,\n 11,\n 5,\n 12,\n 2,\n 7,\n 8,\n 2,\n 4,\n 14,\n 2,\n 14,\n 12,\n 11,\n 4,\n 2,\n 1,\n 12,\n 7,\n 4,\n 10,\n 7,\n 11,\n 13,\n 6,\n 1,\n 8,\n 5,\n 5,\n 0,\n 3,\n 15,\n 15,\n 10,\n 13,\n 3,\n 0,\n 9,\n 14,\n 8,\n 9,\n 6,\n 4,\n 11,\n 2,\n 8,\n 1,\n 12,\n 11,\n 7,\n 10,\n 1,\n 13,\n 14,\n 7,\n 2,\n 8,\n 13,\n 15,\n 6,\n 9,\n 15,\n 12,\n 0,\n 5,\n 9,\n 6,\n 10,\n 3,\n 4,\n 0,\n 5,\n 14,\n 3,\n 12,\n 10,\n 1,\n 15,\n 10,\n 4,\n 15,\n 2,\n 9,\n 7,\n 2,\n 12,\n 6,\n 9,\n 8,\n 5,\n 0,\n 6,\n 13,\n 1,\n 3,\n 13,\n 4,\n 14,\n 14,\n 0,\n 7,\n 11,\n 5,\n 3,\n 11,\n 8,\n 9,\n 4,\n 14,\n 3,\n 15,\n 2,\n 5,\n 12,\n 2,\n 9,\n 8,\n 5,\n 12,\n 15,\n 3,\n 10,\n 7,\n 11,\n 0,\n 14,\n 4,\n 1,\n 10,\n 7,\n 1,\n 6,\n 13,\n 0,\n 11,\n 8,\n 6,\n 13,\n 4,\n 13,\n 11,\n 0,\n 2,\n 11,\n 14,\n 7,\n 15,\n 4,\n 0,\n 9,\n 8,\n 1,\n 13,\n 10,\n 3,\n 14,\n 12,\n 3,\n 9,\n 5,\n 7,\n 12,\n 5,\n 2,\n 10,\n 15,\n 6,\n 8,\n 1,\n 6,\n 1,\n 6,\n 4,\n 11,\n 11,\n 13,\n 13,\n 8,\n 12,\n 1,\n 3,\n 4,\n 7,\n 10,\n 14,\n 7,\n 10,\n 9,\n 15,\n 5,\n 6,\n 0,\n 8,\n 15,\n 0,\n 14,\n 5,\n 2,\n 9,\n 3,\n 2,\n 12,\n 13,\n 1,\n 2,\n 15,\n 8,\n 13,\n 4,\n 8,\n 6,\n 10,\n 15,\n 3,\n 11,\n 7,\n 1,\n 4,\n 10,\n 12,\n 9,\n 5,\n 3,\n 6,\n 14,\n 11,\n 5,\n 0,\n 0,\n 14,\n 12,\n 9,\n 7,\n 2,\n 7,\n 2,\n 11,\n 1,\n 4,\n 14,\n 1,\n 7,\n 9,\n 4,\n 12,\n 10,\n 14,\n 8,\n 2,\n 13,\n 0,\n 15,\n 6,\n 12,\n 10,\n 9,\n 13,\n 0,\n 15,\n 3,\n 3,\n 5,\n 5,\n 6,\n 8,\n 11\n ];\n exports.substitute = function(inL, inR) {\n for (var out = 0, i = 0;i < 4; i++) {\n var b = inL >>> 18 - i * 6 & 63, sb = sTable[i * 64 + b];\n out <<= 4, out |= sb;\n }\n for (var i = 0;i < 4; i++) {\n var b = inR >>> 18 - i * 6 & 63, sb = sTable[256 + i * 64 + b];\n out <<= 4, out |= sb;\n }\n return out >>> 0;\n };\n var permuteTable = [\n 16,\n 25,\n 12,\n 11,\n 3,\n 20,\n 4,\n 15,\n 31,\n 17,\n 9,\n 6,\n 27,\n 14,\n 1,\n 22,\n 30,\n 24,\n 8,\n 18,\n 0,\n 5,\n 29,\n 23,\n 13,\n 19,\n 2,\n 26,\n 10,\n 21,\n 28,\n 7\n ];\n exports.permute = function(num) {\n for (var out = 0, i = 0;i < permuteTable.length; i++)\n out <<= 1, out |= num >>> permuteTable[i] & 1;\n return out >>> 0;\n }, exports.padSplit = function(num, size, group) {\n for (var str = num.toString(2);str.length < size; )\n str = \"0\" + str;\n for (var out = [], i = 0;i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(\" \");\n };\n }\n}), require_minimalistic_assert = __commonJS({\n \"node_modules/minimalistic-assert/index.js\"(exports, module) {\n module.exports = assert;\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n assert.equal = function(l, r, msg) {\n if (l != r)\n throw new Error(msg || \"Assertion failed: \" + l + \" != \" + r);\n };\n }\n}), require_cipher = __commonJS({\n \"node_modules/des.js/lib/des/cipher.js\"(exports, module) {\n var assert = require_minimalistic_assert();\n function Cipher(options) {\n this.options = options, this.type = this.options.type, this.blockSize = 8, this._init(), this.buffer = new @Array(this.blockSize), this.bufferOff = 0;\n }\n Cipher.prototype = {}, module.exports = Cipher, Cipher.prototype._init = function() {\n }, Cipher.prototype.update = function(data) {\n return data.length === 0 \? [] : this.type === \"decrypt\" \? this._updateDecrypt(data) : this._updateEncrypt(data);\n }, Cipher.prototype._buffer = function(data, off) {\n for (var min = Math.min(this.buffer.length - this.bufferOff, data.length - off), i = 0;i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n return this.bufferOff += min, min;\n }, Cipher.prototype._flushBuffer = function(out, off) {\n return this._update(this.buffer, 0, out, off), this.bufferOff = 0, this.blockSize;\n }, Cipher.prototype._updateEncrypt = function(data) {\n var inputOff = 0, outputOff = 0, count = (this.bufferOff + data.length) / this.blockSize | 0, out = new @Array(count * this.blockSize);\n this.bufferOff !== 0 && (inputOff += this._buffer(data, inputOff), this.bufferOff === this.buffer.length && (outputOff += this._flushBuffer(out, outputOff)));\n for (var max = data.length - (data.length - inputOff) % this.blockSize;inputOff < max; inputOff += this.blockSize)\n this._update(data, inputOff, out, outputOff), outputOff += this.blockSize;\n for (;inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n return out;\n }, Cipher.prototype._updateDecrypt = function(data) {\n for (var inputOff = 0, outputOff = 0, count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1, out = new @Array(count * this.blockSize);count > 0; count--)\n inputOff += this._buffer(data, inputOff), outputOff += this._flushBuffer(out, outputOff);\n return inputOff += this._buffer(data, inputOff), out;\n }, Cipher.prototype.final = function(buffer) {\n var first;\n buffer && (first = this.update(buffer));\n var last;\n return this.type === \"encrypt\" \? last = this._finalEncrypt() : last = this._finalDecrypt(), first \? first.concat(last) : last;\n }, Cipher.prototype._pad = function(buffer, off) {\n if (off === 0)\n return !1;\n for (;off < buffer.length; )\n buffer[off++] = 0;\n return !0;\n }, Cipher.prototype._finalEncrypt = function() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n var out = new @Array(this.blockSize);\n return this._update(this.buffer, 0, out, 0), out;\n }, Cipher.prototype._unpad = function(buffer) {\n return buffer;\n }, Cipher.prototype._finalDecrypt = function() {\n assert.equal(this.bufferOff, this.blockSize, \"Not enough data to decrypt\");\n var out = new @Array(this.blockSize);\n return this._flushBuffer(out, 0), this._unpad(out);\n };\n }\n}), require_des = __commonJS({\n \"node_modules/des.js/lib/des/des.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), utils = require_utils(), Cipher = require_cipher();\n function DESState() {\n this.tmp = new @Array(2), this.keys = null;\n }\n function DES(options) {\n Cipher.@call(this, options);\n var state = new DESState;\n this._desState = state, this.deriveKeys(state, options.key);\n }\n inherits(DES, Cipher), module.exports = DES, DES.create = function(options) {\n return new DES(options);\n };\n var shiftTable = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];\n DES.prototype.deriveKeys = function(state, key2) {\n state.keys = new @Array(32), assert.equal(key2.length, this.blockSize, \"Invalid key length\");\n var kL = utils.readUInt32BE(key2, 0), kR = utils.readUInt32BE(key2, 4);\n utils.pc1(kL, kR, state.tmp, 0), kL = state.tmp[0], kR = state.tmp[1];\n for (var i = 0;i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift), kR = utils.r28shl(kR, shift), utils.pc2(kL, kR, state.keys, i);\n }\n }, DES.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._desState, l = utils.readUInt32BE(inp, inOff), r = utils.readUInt32BE(inp, inOff + 4);\n utils.ip(l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], this.type === \"encrypt\" \? this._encrypt(state, l, r, state.tmp, 0) : this._decrypt(state, l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], utils.writeUInt32BE(out, l, outOff), utils.writeUInt32BE(out, r, outOff + 4);\n }, DES.prototype._pad = function(buffer, off) {\n for (var value = buffer.length - off, i = off;i < buffer.length; i++)\n buffer[i] = value;\n return !0;\n }, DES.prototype._unpad = function(buffer) {\n for (var pad = buffer[buffer.length - 1], i = buffer.length - pad;i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n return buffer.slice(0, buffer.length - pad);\n }, DES.prototype._encrypt = function(state, lStart, rStart, out, off) {\n for (var l = lStart, r = rStart, i = 0;i < state.keys.length; i += 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(r, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = r;\n r = (l ^ f) >>> 0, l = t;\n }\n utils.rip(r, l, out, off);\n }, DES.prototype._decrypt = function(state, lStart, rStart, out, off) {\n for (var l = rStart, r = lStart, i = state.keys.length - 2;i >= 0; i -= 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(l, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = l;\n l = (r ^ f) >>> 0, r = t;\n }\n utils.rip(l, r, out, off);\n };\n }\n}), require_cbc = __commonJS({\n \"node_modules/des.js/lib/des/cbc.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), proto = {};\n function CBCState(iv) {\n assert.equal(iv.length, 8, \"Invalid IV length\"), this.iv = new @Array(8);\n for (var i = 0;i < this.iv.length; i++)\n this.iv[i] = iv[i];\n }\n function instantiate(Base) {\n function CBC(options) {\n Base.@call(this, options), this._cbcInit();\n }\n inherits(CBC, Base);\n for (var keys = Object.keys(proto), i = 0;i < keys.length; i++) {\n var key2 = keys[i];\n CBC.prototype[key2] = proto[key2];\n }\n return CBC.create = function(options) {\n return new CBC(options);\n }, CBC;\n }\n exports.instantiate = instantiate, proto._cbcInit = function() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n }, proto._update = function(inp, inOff, out, outOff) {\n var state = this._cbcState, superProto = this.constructor.super_.prototype, iv = state.iv;\n if (this.type === \"encrypt\") {\n for (var i = 0;i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n superProto._update.@call(this, iv, 0, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.@call(this, inp, inOff, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n };\n }\n}), require_ede = __commonJS({\n \"node_modules/des.js/lib/des/ede.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), Cipher = require_cipher(), DES = require_des();\n function EDEState(type, key2) {\n assert.equal(key2.length, 24, \"Invalid key length\");\n var k1 = key2.slice(0, 8), k2 = key2.slice(8, 16), k3 = key2.slice(16, 24);\n type === \"encrypt\" \? this.ciphers = [\n DES.create({ type: \"encrypt\", key: k1 }),\n DES.create({ type: \"decrypt\", key: k2 }),\n DES.create({ type: \"encrypt\", key: k3 })\n ] : this.ciphers = [\n DES.create({ type: \"decrypt\", key: k3 }),\n DES.create({ type: \"encrypt\", key: k2 }),\n DES.create({ type: \"decrypt\", key: k1 })\n ];\n }\n function EDE(options) {\n Cipher.@call(this, options);\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n }\n inherits(EDE, Cipher), module.exports = EDE, EDE.create = function(options) {\n return new EDE(options);\n }, EDE.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._edeState;\n state.ciphers[0]._update(inp, inOff, out, outOff), state.ciphers[1]._update(out, outOff, out, outOff), state.ciphers[2]._update(out, outOff, out, outOff);\n }, EDE.prototype._pad = DES.prototype._pad, EDE.prototype._unpad = DES.prototype._unpad;\n }\n}), require_des2 = __commonJS({\n \"node_modules/des.js/lib/des.js\"(exports) {\n exports.utils = require_utils(), exports.Cipher = require_cipher(), exports.DES = require_des(), exports.CBC = require_cbc(), exports.EDE = require_ede();\n }\n}), require_browserify_des = __commonJS({\n \"node_modules/browserify-des/index.js\"(exports, module) {\n var CipherBase = require_cipher_base(), des = require_des2(), inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, modes = {\n \"des-ede3-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede3\": des.EDE,\n \"des-ede-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede\": des.EDE,\n \"des-cbc\": des.CBC.instantiate(des.DES),\n \"des-ecb\": des.DES\n };\n modes.des = modes[\"des-cbc\"], modes.des3 = modes[\"des-ede3-cbc\"], module.exports = DES, inherits(DES, CipherBase);\n function DES(opts) {\n CipherBase.@call(this);\n var modeName = opts.mode.toLowerCase(), mode = modes[modeName], type;\n opts.decrypt \? type = \"decrypt\" : type = \"encrypt\";\n var key2 = opts.key;\n Buffer2.isBuffer(key2) || (key2 = Buffer2.from(key2)), (modeName === \"des-ede\" || modeName === \"des-ede-cbc\") && (key2 = Buffer2.concat([key2, key2.slice(0, 8)]));\n var iv = opts.iv;\n Buffer2.isBuffer(iv) || (iv = Buffer2.from(iv)), this._des = mode.create({\n key: key2,\n iv,\n type\n });\n }\n DES.prototype._update = function(data) {\n return Buffer2.from(this._des.update(data));\n }, DES.prototype._final = function() {\n return Buffer2.from(this._des.final());\n };\n }\n}), require_ecb = __commonJS({\n \"node_modules/browserify-aes/modes/ecb.js\"(exports) {\n exports.encrypt = function(self2, block) {\n return self2._cipher.encryptBlock(block);\n }, exports.decrypt = function(self2, block) {\n return self2._cipher.decryptBlock(block);\n };\n }\n}), require_buffer_xor = __commonJS({\n \"node_modules/buffer-xor/index.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var length = Math.min(a.length, b.length), buffer = new Buffer(length), i = 0;i < length; ++i)\n buffer[i] = a[i] ^ b[i];\n return buffer;\n };\n }\n}), require_cbc2 = __commonJS({\n \"node_modules/browserify-aes/modes/cbc.js\"(exports) {\n var xor = require_buffer_xor();\n exports.encrypt = function(self2, block) {\n var data = xor(block, self2._prev);\n return self2._prev = self2._cipher.encryptBlock(data), self2._prev;\n }, exports.decrypt = function(self2, block) {\n var pad = self2._prev;\n self2._prev = block;\n var out = self2._cipher.decryptBlock(block);\n return xor(out, pad);\n };\n }\n}), require_cfb = __commonJS({\n \"node_modules/browserify-aes/modes/cfb.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer, xor = require_buffer_xor();\n function encryptStart(self2, data, decrypt) {\n var len = data.length, out = xor(data, self2._cache);\n return self2._cache = self2._cache.slice(len), self2._prev = Buffer2.concat([self2._prev, decrypt \? data : out]), out;\n }\n exports.encrypt = function(self2, data, decrypt) {\n for (var out = Buffer2.allocUnsafe(0), len;data.length; )\n if (self2._cache.length === 0 && (self2._cache = self2._cipher.encryptBlock(self2._prev), self2._prev = Buffer2.allocUnsafe(0)), self2._cache.length <= data.length)\n len = self2._cache.length, out = Buffer2.concat([out, encryptStart(self2, data.slice(0, len), decrypt)]), data = data.slice(len);\n else {\n out = Buffer2.concat([out, encryptStart(self2, data, decrypt)]);\n break;\n }\n return out;\n };\n }\n}), require_cfb8 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb8.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n var pad = self2._cipher.encryptBlock(self2._prev), out = pad[0] ^ byteParam;\n return self2._prev = Buffer2.concat([self2._prev.slice(1), Buffer2.from([decrypt \? byteParam : out])]), out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_cfb1 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb1.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n for (var pad, i = -1, len = 8, out = 0, bit, value;++i < len; )\n pad = self2._cipher.encryptBlock(self2._prev), bit = byteParam & 1 << 7 - i \? 128 : 0, value = pad[0] ^ bit, out += (value & 128) >> i % 8, self2._prev = shiftIn(self2._prev, decrypt \? bit : value);\n return out;\n }\n function shiftIn(buffer, value) {\n var len = buffer.length, i = -1, out = Buffer2.allocUnsafe(buffer.length);\n for (buffer = Buffer2.concat([buffer, Buffer2.from([value])]);++i < len; )\n out[i] = buffer[i] << 1 | buffer[i + 1] >> 7;\n return out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_ofb = __commonJS({\n \"node_modules/browserify-aes/modes/ofb.js\"(exports) {\n var xor = require_buffer_xor();\n function getBlock(self2) {\n return self2._prev = self2._cipher.encryptBlock(self2._prev), self2._prev;\n }\n exports.encrypt = function(self2, chunk) {\n for (;self2._cache.length < chunk.length; )\n self2._cache = Buffer.concat([self2._cache, getBlock(self2)]);\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_incr32 = __commonJS({\n \"node_modules/browserify-aes/incr32.js\"(exports, module) {\n function incr32(iv) {\n for (var len = iv.length, item;len--; )\n if (item = iv.readUInt8(len), item === 255)\n iv.writeUInt8(0, len);\n else {\n item++, iv.writeUInt8(item, len);\n break;\n }\n }\n module.exports = incr32;\n }\n}), require_ctr = __commonJS({\n \"node_modules/browserify-aes/modes/ctr.js\"(exports) {\n var xor = require_buffer_xor(), Buffer2 = require_safe_buffer().Buffer, incr32 = require_incr32();\n function getBlock(self2) {\n var out = self2._cipher.encryptBlockRaw(self2._prev);\n return incr32(self2._prev), out;\n }\n var blockSize = 16;\n exports.encrypt = function(self2, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize), start = self2._cache.length;\n self2._cache = Buffer2.concat([self2._cache, Buffer2.allocUnsafe(chunkNum * blockSize)]);\n for (var i = 0;i < chunkNum; i++) {\n var out = getBlock(self2), offset = start + i * blockSize;\n self2._cache.writeUInt32BE(out[0], offset + 0), self2._cache.writeUInt32BE(out[1], offset + 4), self2._cache.writeUInt32BE(out[2], offset + 8), self2._cache.writeUInt32BE(out[3], offset + 12);\n }\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_list = __commonJS({\n \"node_modules/browserify-aes/modes/list.json\"(exports, module) {\n module.exports = {\n \"aes-128-ecb\": {\n cipher: \"AES\",\n key: 128,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-192-ecb\": {\n cipher: \"AES\",\n key: 192,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-256-ecb\": {\n cipher: \"AES\",\n key: 256,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-128-cbc\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-192-cbc\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-256-cbc\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes128: {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes192: {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes256: {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-128-cfb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-192-cfb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-256-cfb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-128-cfb8\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-192-cfb8\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-256-cfb8\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-128-cfb1\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-192-cfb1\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-256-cfb1\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-128-ofb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-192-ofb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-256-ofb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-128-ctr\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-192-ctr\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-256-ctr\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-128-gcm\": {\n cipher: \"AES\",\n key: 128,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-192-gcm\": {\n cipher: \"AES\",\n key: 192,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-256-gcm\": {\n cipher: \"AES\",\n key: 256,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n }\n };\n }\n}), require_modes = __commonJS({\n \"node_modules/browserify-aes/modes/index.js\"(exports, module) {\n var modeModules = {\n ECB: require_ecb(),\n CBC: require_cbc2(),\n CFB: require_cfb(),\n CFB8: require_cfb8(),\n CFB1: require_cfb1(),\n OFB: require_ofb(),\n CTR: require_ctr(),\n GCM: require_ctr()\n }, modes = require_list();\n for (key2 in modes)\n modes[key2].module = modeModules[modes[key2].mode];\n var key2;\n module.exports = modes;\n }\n}), require_aes = __commonJS({\n \"node_modules/browserify-aes/aes.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function asUInt32Array(buf) {\n if (buf instanceof KeyObject)\n buf = buf.export();\n else if (buf instanceof CryptoKey)\n buf = KeyObject.from(buf).export();\n Buffer2.isBuffer(buf) || (buf = Buffer2.from(buf));\n for (var len = buf.length / 4 | 0, out = new @Array(len), i = 0;i < len; i++)\n out[i] = buf.readUInt32BE(i * 4);\n return out;\n }\n function scrubVec(v) {\n for (var i = 0;i < v.length; v++)\n v[i] = 0;\n }\n function cryptBlock(M, keySchedule, SUB_MIX, SBOX, nRounds) {\n for (var SUB_MIX0 = SUB_MIX[0], SUB_MIX1 = SUB_MIX[1], SUB_MIX2 = SUB_MIX[2], SUB_MIX3 = SUB_MIX[3], s0 = M[0] ^ keySchedule[0], s1 = M[1] ^ keySchedule[1], s2 = M[2] ^ keySchedule[2], s3 = M[3] ^ keySchedule[3], t0, t1, t2, t3, ksRow = 4, round = 1;round < nRounds; round++)\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[s1 >>> 16 & 255] ^ SUB_MIX2[s2 >>> 8 & 255] ^ SUB_MIX3[s3 & 255] ^ keySchedule[ksRow++], t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[s2 >>> 16 & 255] ^ SUB_MIX2[s3 >>> 8 & 255] ^ SUB_MIX3[s0 & 255] ^ keySchedule[ksRow++], t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[s3 >>> 16 & 255] ^ SUB_MIX2[s0 >>> 8 & 255] ^ SUB_MIX3[s1 & 255] ^ keySchedule[ksRow++], t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[s0 >>> 16 & 255] ^ SUB_MIX2[s1 >>> 8 & 255] ^ SUB_MIX3[s2 & 255] ^ keySchedule[ksRow++], s0 = t0, s1 = t1, s2 = t2, s3 = t3;\n return t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 255] << 16 | SBOX[s2 >>> 8 & 255] << 8 | SBOX[s3 & 255]) ^ keySchedule[ksRow++], t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 255] << 16 | SBOX[s3 >>> 8 & 255] << 8 | SBOX[s0 & 255]) ^ keySchedule[ksRow++], t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 255] << 16 | SBOX[s0 >>> 8 & 255] << 8 | SBOX[s1 & 255]) ^ keySchedule[ksRow++], t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 255] << 16 | SBOX[s1 >>> 8 & 255] << 8 | SBOX[s2 & 255]) ^ keySchedule[ksRow++], t0 = t0 >>> 0, t1 = t1 >>> 0, t2 = t2 >>> 0, t3 = t3 >>> 0, [t0, t1, t2, t3];\n }\n var RCON = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], G = function() {\n for (var d = new @Array(256), j = 0;j < 256; j++)\n j < 128 \? d[j] = j << 1 : d[j] = j << 1 ^ 283;\n for (var SBOX = [], INV_SBOX = [], SUB_MIX = [[], [], [], []], INV_SUB_MIX = [[], [], [], []], x = 0, xi = 0, i = 0;i < 256; ++i) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 255 ^ 99, SBOX[x] = sx, INV_SBOX[sx] = x;\n var x2 = d[x], x4 = d[x2], x8 = d[x4], t = d[sx] * 257 ^ sx * 16843008;\n SUB_MIX[0][x] = t << 24 | t >>> 8, SUB_MIX[1][x] = t << 16 | t >>> 16, SUB_MIX[2][x] = t << 8 | t >>> 24, SUB_MIX[3][x] = t, t = x8 * 16843009 ^ x4 * 65537 ^ x2 * 257 ^ x * 16843008, INV_SUB_MIX[0][sx] = t << 24 | t >>> 8, INV_SUB_MIX[1][sx] = t << 16 | t >>> 16, INV_SUB_MIX[2][sx] = t << 8 | t >>> 24, INV_SUB_MIX[3][sx] = t, x === 0 \? x = xi = 1 : (x = x2 ^ d[d[d[x8 ^ x2]]], xi ^= d[d[xi]]);\n }\n return {\n SBOX,\n INV_SBOX,\n SUB_MIX,\n INV_SUB_MIX\n };\n }();\n function AES(key2) {\n this._key = asUInt32Array(key2), this._reset();\n }\n AES.prototype = {}, AES.blockSize = 16, AES.keySize = 32, AES.prototype.blockSize = AES.blockSize, AES.prototype.keySize = AES.keySize, AES.prototype._reset = function() {\n for (var keyWords = this._key, keySize = keyWords.length, nRounds = keySize + 6, ksRows = (nRounds + 1) * 4, keySchedule = [], k = 0;k < keySize; k++)\n keySchedule[k] = keyWords[k];\n for (k = keySize;k < ksRows; k++) {\n var t = keySchedule[k - 1];\n k % keySize === 0 \? (t = t << 8 | t >>> 24, t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255], t ^= RCON[k / keySize | 0] << 24) : keySize > 6 && k % keySize === 4 && (t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255]), keySchedule[k] = keySchedule[k - keySize] ^ t;\n }\n for (var invKeySchedule = [], ik = 0;ik < ksRows; ik++) {\n var ksR = ksRows - ik, tt = keySchedule[ksR - (ik % 4 \? 0 : 4)];\n ik < 4 || ksR <= 4 \? invKeySchedule[ik] = tt : invKeySchedule[ik] = G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[tt >>> 16 & 255]] ^ G.INV_SUB_MIX[2][G.SBOX[tt >>> 8 & 255]] ^ G.INV_SUB_MIX[3][G.SBOX[tt & 255]];\n }\n this._nRounds = nRounds, this._keySchedule = keySchedule, this._invKeySchedule = invKeySchedule;\n }, AES.prototype.encryptBlockRaw = function(M) {\n return M = asUInt32Array(M), cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds);\n }, AES.prototype.encryptBlock = function(M) {\n var out = this.encryptBlockRaw(M), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[1], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[3], 12), buf;\n }, AES.prototype.decryptBlock = function(M) {\n M = asUInt32Array(M);\n var m1 = M[1];\n M[1] = M[3], M[3] = m1;\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[3], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[1], 12), buf;\n }, AES.prototype.scrub = function() {\n scrubVec(this._keySchedule), scrubVec(this._invKeySchedule), scrubVec(this._key);\n }, module.exports.AES = AES;\n }\n}), require_ghash = __commonJS({\n \"node_modules/browserify-aes/ghash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, ZEROES = Buffer2.alloc(16, 0);\n function toArray(buf) {\n return [buf.readUInt32BE(0), buf.readUInt32BE(4), buf.readUInt32BE(8), buf.readUInt32BE(12)];\n }\n function fromArray(out) {\n var buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0] >>> 0, 0), buf.writeUInt32BE(out[1] >>> 0, 4), buf.writeUInt32BE(out[2] >>> 0, 8), buf.writeUInt32BE(out[3] >>> 0, 12), buf;\n }\n function GHASH(key2) {\n this.h = key2, this.state = Buffer2.alloc(16, 0), this.cache = Buffer2.allocUnsafe(0);\n }\n GHASH.prototype = {}, GHASH.prototype.ghash = function(block) {\n for (var i = -1;++i < block.length; )\n this.state[i] ^= block[i];\n this._multiply();\n }, GHASH.prototype._multiply = function() {\n for (var Vi = toArray(this.h), Zi = [0, 0, 0, 0], j, xi, lsbVi, i = -1;++i < 128; ) {\n for (xi = (this.state[~~(i / 8)] & 1 << 7 - i % 8) !== 0, xi && (Zi[0] ^= Vi[0], Zi[1] ^= Vi[1], Zi[2] ^= Vi[2], Zi[3] ^= Vi[3]), lsbVi = (Vi[3] & 1) !== 0, j = 3;j > 0; j--)\n Vi[j] = Vi[j] >>> 1 | (Vi[j - 1] & 1) << 31;\n Vi[0] = Vi[0] >>> 1, lsbVi && (Vi[0] = Vi[0] ^ 225 << 24);\n }\n this.state = fromArray(Zi);\n }, GHASH.prototype.update = function(buf) {\n this.cache = Buffer2.concat([this.cache, buf]);\n for (var chunk;this.cache.length >= 16; )\n chunk = this.cache.slice(0, 16), this.cache = this.cache.slice(16), this.ghash(chunk);\n }, GHASH.prototype.final = function(abl, bl) {\n return this.cache.length && this.ghash(Buffer2.concat([this.cache, ZEROES], 16)), this.ghash(fromArray([0, abl, 0, bl])), this.state;\n }, module.exports = GHASH;\n }\n}), require_authCipher = __commonJS({\n \"node_modules/browserify-aes/authCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser(), GHASH = require_ghash(), xor = require_buffer_xor(), incr32 = require_incr32();\n function xorTest(a, b) {\n var out = 0;\n a.length !== b.length && out++;\n for (var len = Math.min(a.length, b.length), i = 0;i < len; ++i)\n out += a[i] ^ b[i];\n return out;\n }\n function calcIv(self2, iv, ck) {\n if (iv.length === 12)\n return self2._finID = Buffer2.concat([iv, Buffer2.from([0, 0, 0, 1])]), Buffer2.concat([iv, Buffer2.from([0, 0, 0, 2])]);\n var ghash = new GHASH(ck), len = iv.length, toPad = len % 16;\n ghash.update(iv), toPad && (toPad = 16 - toPad, ghash.update(Buffer2.alloc(toPad, 0))), ghash.update(Buffer2.alloc(8, 0));\n var ivBits = len * 8, tail = Buffer2.alloc(8);\n tail.writeUIntBE(ivBits, 0, 8), ghash.update(tail), self2._finID = ghash.state;\n var out = Buffer2.from(self2._finID);\n return incr32(out), out;\n }\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this);\n var h = Buffer2.alloc(4, 0);\n this._cipher = new aes.AES(key2);\n var ck = this._cipher.encryptBlock(h);\n this._ghash = new GHASH(ck), iv = calcIv(this, iv, ck), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._alen = 0, this._len = 0, this._mode = mode, this._authTag = null, this._called = !1;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - this._alen % 16;\n rump < 16 && (rump = Buffer2.alloc(rump, 0), this._ghash.update(rump));\n }\n this._called = !0;\n var out = this._mode.encrypt(this, chunk);\n return this._decrypt \? this._ghash.update(chunk) : this._ghash.update(out), this._len += chunk.length, out;\n }, StreamCipher.prototype._final = function() {\n if (this._decrypt && !this._authTag)\n throw new Error(\"Unsupported state or unable to authenticate data\");\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID));\n if (this._decrypt && xorTest(tag, this._authTag))\n throw new Error(\"Unsupported state or unable to authenticate data\");\n this._authTag = tag, this._cipher.scrub();\n }, StreamCipher.prototype.getAuthTag = function() {\n if (this._decrypt || !Buffer2.isBuffer(this._authTag))\n throw new Error(\"Attempting to get auth tag in unsupported state\");\n return this._authTag;\n }, StreamCipher.prototype.setAuthTag = function(tag) {\n if (!this._decrypt)\n throw new Error(\"Attempting to set auth tag in unsupported state\");\n this._authTag = tag;\n }, StreamCipher.prototype.setAAD = function(buf) {\n if (this._called)\n throw new Error(\"Attempting to set AAD in unsupported state\");\n this._ghash.update(buf), this._alen += buf.length;\n }, module.exports = StreamCipher;\n }\n}), require_streamCipher = __commonJS({\n \"node_modules/browserify-aes/streamCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser();\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this), this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._mode = mode;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt);\n }, StreamCipher.prototype._final = function() {\n this._cipher.scrub();\n }, module.exports = StreamCipher;\n }\n}), require_evp_bytestokey = __commonJS({\n \"node_modules/evp_bytestokey/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, MD5 = require_md5();\n function EVP_BytesToKey(password, salt, keyBits, ivLen) {\n if (Buffer2.isBuffer(password) || (password = Buffer2.from(password, \"binary\")), salt && (Buffer2.isBuffer(salt) || (salt = Buffer2.from(salt, \"binary\")), salt.length !== 8))\n @throwRangeError(\"salt should be Buffer with 8 byte length\");\n for (var keyLen = keyBits / 8, key2 = Buffer2.alloc(keyLen), iv = Buffer2.alloc(ivLen || 0), tmp = Buffer2.alloc(0);keyLen > 0 || ivLen > 0; ) {\n var hash = new MD5;\n hash.update(tmp), hash.update(password), salt && hash.update(salt), tmp = hash.digest();\n var used = 0;\n if (keyLen > 0) {\n var keyStart = key2.length - keyLen;\n used = Math.min(keyLen, tmp.length), tmp.copy(key2, keyStart, 0, used), keyLen -= used;\n }\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen, length = Math.min(ivLen, tmp.length - used);\n tmp.copy(iv, ivStart, used, used + length), ivLen -= length;\n }\n }\n return tmp.fill(0), { key: key2, iv };\n }\n module.exports = EVP_BytesToKey;\n }\n}), require_encrypter = __commonJS({\n \"node_modules/browserify-aes/encrypter.js\"(exports) {\n var MODES = require_modes(), AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Cipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Cipher, Transform), Cipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(); )\n thing = this._mode.encrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n };\n var PADDING = Buffer2.alloc(16, 16);\n Cipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return chunk = this._mode.encrypt(this, chunk), this._cipher.scrub(), chunk;\n if (!chunk.equals(PADDING))\n throw this._cipher.scrub(), new Error(\"data not multiple of block length\");\n }, Cipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function() {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16);\n return this.cache = this.cache.slice(16), out;\n }\n return null;\n }, Splitter.prototype.flush = function() {\n for (var len = 16 - this.cache.length, padBuff = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n padBuff.writeUInt8(len, i);\n return Buffer2.concat([this.cache, padBuff]);\n };\n function createCipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), password\?.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv) : new Cipher(config.module, password, iv);\n }\n function createCipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n exports.createCipheriv = createCipheriv, exports.createCipher = createCipher;\n }\n}), require_decrypter = __commonJS({\n \"node_modules/browserify-aes/decrypter.js\"(exports) {\n var AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, MODES = require_modes(), StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Decipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._last = void 0, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Decipher, Transform), Decipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(this._autopadding); )\n thing = this._mode.decrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n }, Decipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return unpad(this._mode.decrypt(this, chunk));\n if (chunk)\n throw new Error(\"data not multiple of block length\");\n }, Decipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function(autoPadding) {\n var out;\n if (autoPadding) {\n if (this.cache.length > 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n } else if (this.cache.length >= 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n return null;\n }, Splitter.prototype.flush = function() {\n if (this.cache.length)\n return this.cache;\n };\n function unpad(last) {\n var padded = last[15];\n if (padded < 1 || padded > 16)\n throw new Error(\"unable to decrypt data\");\n for (var i = -1;++i < padded; )\n if (last[i + (16 - padded)] !== padded)\n throw new Error(\"unable to decrypt data\");\n if (padded !== 16)\n return last.slice(0, 16 - padded);\n }\n function createDecipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (password.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv, !0) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv, !0) : new Decipher(config.module, password, iv);\n }\n function createDecipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n exports.createDecipher = createDecipher, exports.createDecipheriv = createDecipheriv;\n }\n}), require_browser5 = __commonJS({\n \"node_modules/browserify-aes/browser.js\"(exports) {\n var ciphers = require_encrypter(), deciphers = require_decrypter(), modes = require_list();\n function getCiphers() {\n return Object.keys(modes);\n }\n exports.createCipher = exports.Cipher = ciphers.createCipher, exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv, exports.createDecipher = exports.Decipher = deciphers.createDecipher, exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_modes2 = __commonJS({\n \"node_modules/browserify-des/modes.js\"(exports) {\n exports[\"des-ecb\"] = {\n key: 8,\n iv: 0\n }, exports[\"des-cbc\"] = exports.des = {\n key: 8,\n iv: 8\n }, exports[\"des-ede3-cbc\"] = exports.des3 = {\n key: 24,\n iv: 8\n }, exports[\"des-ede3\"] = {\n key: 24,\n iv: 0\n }, exports[\"des-ede-cbc\"] = {\n key: 16,\n iv: 8\n }, exports[\"des-ede\"] = {\n key: 16,\n iv: 0\n };\n }\n}), require_browser6 = __commonJS({\n \"node_modules/browserify-cipher/browser.js\"(exports) {\n var DES = require_browserify_des(), aes = require_browser5(), aesModes = require_modes(), desModes = require_modes2(), ebtk = require_evp_bytestokey();\n function createCipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n function createDecipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n function createCipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createCipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite });\n @throwTypeError(\"invalid suite type\");\n }\n function createDecipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createDecipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite, decrypt: !0 });\n @throwTypeError(\"invalid suite type\");\n }\n function getCiphers() {\n return Object.keys(desModes).concat(aes.getCiphers());\n }\n exports.createCipher = exports.Cipher = createCipher, exports.createCipheriv = exports.Cipheriv = createCipheriv, exports.createDecipher = exports.Decipher = createDecipher, exports.createDecipheriv = exports.Decipheriv = createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_bn = __commonJS({\n \"node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js\"(exports, module) {\n (function(module2, exports2) {\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype, ctor.prototype = new TempCtor, ctor.prototype.constructor = ctor;\n }\n function BN(number, base, endian) {\n if (BN.isBN(number))\n return number;\n this.negative = 0, this.words = null, this.length = 0, this.red = null, number !== null && ((base === \"le\" || base === \"be\") && (endian = base, base = 10), this._init(number || 0, base || 10, endian || \"be\"));\n }\n BN.prototype = {}, typeof module2 == \"object\" \? module2.exports = BN : exports2.BN = BN, BN.BN = BN, BN.wordSize = 26;\n var Buffer2 = Buffer;\n BN.isBN = function(num) {\n return num instanceof BN \? !0 : num !== null && typeof num == \"object\" && num.constructor.wordSize === BN.wordSize && @Array.isArray(num.words);\n }, BN.max = function(left, right) {\n return left.cmp(right) > 0 \? left : right;\n }, BN.min = function(left, right) {\n return left.cmp(right) < 0 \? left : right;\n }, BN.prototype._init = function(number, base, endian) {\n if (typeof number == \"number\")\n return this._initNumber(number, base, endian);\n if (typeof number == \"object\")\n return this._initArray(number, base, endian);\n base === \"hex\" && (base = 16), assert(base === (base | 0) && base >= 2 && base <= 36), number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n number[0] === \"-\" && (start++, this.negative = 1), start < number.length && (base === 16 \? this._parseHex(number, start, endian) : (this._parseBase(number, base, start), endian === \"le\" && this._initArray(this.toArray(), base, endian)));\n }, BN.prototype._initNumber = function(number, base, endian) {\n number < 0 && (this.negative = 1, number = -number), number < 67108864 \? (this.words = [number & 67108863], this.length = 1) : number < 4503599627370496 \? (this.words = [number & 67108863, number / 67108864 & 67108863], this.length = 2) : (assert(number < 9007199254740992), this.words = [number & 67108863, number / 67108864 & 67108863, 1], this.length = 3), endian === \"le\" && this._initArray(this.toArray(), base, endian);\n }, BN.prototype._initArray = function(number, base, endian) {\n if (assert(typeof number.length == \"number\"), number.length <= 0)\n return this.words = [0], this.length = 1, this;\n this.length = Math.ceil(number.length / 3), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var j, w, off = 0;\n if (endian === \"be\")\n for (i = number.length - 1, j = 0;i >= 0; i -= 3)\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n else if (endian === \"le\")\n for (i = 0, j = 0;i < number.length; i += 3)\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n return this.strip();\n };\n function parseHex4Bits(string, index) {\n var c = string.charCodeAt(index);\n return c >= 65 && c <= 70 \? c - 55 : c >= 97 && c <= 102 \? c - 87 : c - 48 & 15;\n }\n function parseHexByte(string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n return index - 1 >= lowerBound && (r |= parseHex4Bits(string, index - 1) << 4), r;\n }\n BN.prototype._parseHex = function(number, start, endian) {\n this.length = Math.ceil((number.length - start) / 6), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var off = 0, j = 0, w;\n if (endian === \"be\")\n for (i = number.length - 1;i >= start; i -= 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 \? start + 1 : start;i < number.length; i += 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n }\n this.strip();\n };\n function parseBase(str, start, end, mul) {\n for (var r = 0, len = Math.min(str.length, end), i = start;i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n r *= mul, c >= 49 \? r += c - 49 + 10 : c >= 17 \? r += c - 17 + 10 : r += c;\n }\n return r;\n }\n BN.prototype._parseBase = function(number, base, start) {\n this.words = [0], this.length = 1;\n for (var limbLen = 0, limbPow = 1;limbPow <= 67108863; limbPow *= base)\n limbLen++;\n limbLen--, limbPow = limbPow / base | 0;\n for (var total = number.length - start, mod = total % limbLen, end = Math.min(total, total - mod) + start, word = 0, i = start;i < end; i += limbLen)\n word = parseBase(number, i, i + limbLen, base), this.imuln(limbPow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n if (mod !== 0) {\n var pow = 1;\n for (word = parseBase(number, i, number.length, base), i = 0;i < mod; i++)\n pow *= base;\n this.imuln(pow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n }\n this.strip();\n }, BN.prototype.copy = function(dest) {\n dest.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n dest.words[i] = this.words[i];\n dest.length = this.length, dest.negative = this.negative, dest.red = this.red;\n }, BN.prototype.clone = function() {\n var r = new BN(null);\n return this.copy(r), r;\n }, BN.prototype._expand = function(size) {\n for (;this.length < size; )\n this.words[this.length++] = 0;\n return this;\n }, BN.prototype.strip = function() {\n for (;this.length > 1 && this.words[this.length - 1] === 0; )\n this.length--;\n return this._normSign();\n }, BN.prototype._normSign = function() {\n return this.length === 1 && this.words[0] === 0 && (this.negative = 0), this;\n }, BN.prototype.inspect = function() {\n return (this.red \? \"<BN-R: \" : \"<BN: \") + this.toString(16) + \">\";\n };\n var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ], groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ], groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 1e7,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function(base, padding) {\n base = base || 10, padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n for (var off = 0, carry = 0, i = 0;i < this.length; i++) {\n var w = this.words[i], word = ((w << off | carry) & 16777215).toString(16);\n carry = w >>> 24 - off & 16777215, carry !== 0 || i !== this.length - 1 \? out = zeros[6 - word.length] + word + out : out = word + out, off += 2, off >= 26 && (off -= 26, i--);\n }\n for (carry !== 0 && (out = carry.toString(16) + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n var groupSize = groupSizes[base], groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n for (c.negative = 0;!c.isZero(); ) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase), c.isZero() \? out = r + out : out = zeros[groupSize - r.length] + r + out;\n }\n for (this.isZero() && (out = \"0\" + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n assert(!1, \"Base should be between 2 and 36\");\n }, BN.prototype.toNumber = function() {\n var ret = this.words[0];\n return this.length === 2 \? ret += this.words[1] * 67108864 : this.length === 3 && this.words[2] === 1 \? ret += 4503599627370496 + this.words[1] * 67108864 : this.length > 2 && assert(!1, \"Number can only safely store up to 53 bits\"), this.negative !== 0 \? -ret : ret;\n }, BN.prototype.toJSON = function() {\n return this.toString(16);\n }, BN.prototype.toBuffer = function(endian, length) {\n return assert(typeof Buffer2 < \"u\"), this.toArrayLike(Buffer2, endian, length);\n }, BN.prototype.toArray = function(endian, length) {\n return this.toArrayLike(@Array, endian, length);\n }, BN.prototype.toArrayLike = function(ArrayType, endian, length) {\n var byteLength = this.byteLength(), reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\"), assert(reqLength > 0, \"Requested array length <= 0\"), this.strip();\n var littleEndian = endian === \"le\", res = new ArrayType(reqLength), b, i, q = this.clone();\n if (littleEndian) {\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[i] = b;\n for (;i < reqLength; i++)\n res[i] = 0;\n } else {\n for (i = 0;i < reqLength - byteLength; i++)\n res[i] = 0;\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[reqLength - i - 1] = b;\n }\n return res;\n }, Math.clz32 \? BN.prototype._countBits = function(w) {\n return 32 - Math.clz32(w);\n } : BN.prototype._countBits = function(w) {\n var t = w, r = 0;\n return t >= 4096 && (r += 13, t >>>= 13), t >= 64 && (r += 7, t >>>= 7), t >= 8 && (r += 4, t >>>= 4), t >= 2 && (r += 2, t >>>= 2), r + t;\n }, BN.prototype._zeroBits = function(w) {\n if (w === 0)\n return 26;\n var t = w, r = 0;\n return (t & 8191) === 0 && (r += 13, t >>>= 13), (t & 127) === 0 && (r += 7, t >>>= 7), (t & 15) === 0 && (r += 4, t >>>= 4), (t & 3) === 0 && (r += 2, t >>>= 2), (t & 1) === 0 && r++, r;\n }, BN.prototype.bitLength = function() {\n var w = this.words[this.length - 1], hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n for (var w = new @Array(num.bitLength()), bit = 0;bit < w.length; bit++) {\n var off = bit / 26 | 0, wbit = bit % 26;\n w[bit] = (num.words[off] & 1 << wbit) >>> wbit;\n }\n return w;\n }\n BN.prototype.zeroBits = function() {\n if (this.isZero())\n return 0;\n for (var r = 0, i = 0;i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n if (r += b, b !== 26)\n break;\n }\n return r;\n }, BN.prototype.byteLength = function() {\n return Math.ceil(this.bitLength() / 8);\n }, BN.prototype.toTwos = function(width) {\n return this.negative !== 0 \? this.abs().inotn(width).iaddn(1) : this.clone();\n }, BN.prototype.fromTwos = function(width) {\n return this.testn(width - 1) \? this.notn(width).iaddn(1).ineg() : this.clone();\n }, BN.prototype.isNeg = function() {\n return this.negative !== 0;\n }, BN.prototype.neg = function() {\n return this.clone().ineg();\n }, BN.prototype.ineg = function() {\n return this.isZero() || (this.negative ^= 1), this;\n }, BN.prototype.iuor = function(num) {\n for (;this.length < num.length; )\n this.words[this.length++] = 0;\n for (var i = 0;i < num.length; i++)\n this.words[i] = this.words[i] | num.words[i];\n return this.strip();\n }, BN.prototype.ior = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuor(num);\n }, BN.prototype.or = function(num) {\n return this.length > num.length \? this.clone().ior(num) : num.clone().ior(this);\n }, BN.prototype.uor = function(num) {\n return this.length > num.length \? this.clone().iuor(num) : num.clone().iuor(this);\n }, BN.prototype.iuand = function(num) {\n var b;\n this.length > num.length \? b = num : b = this;\n for (var i = 0;i < b.length; i++)\n this.words[i] = this.words[i] & num.words[i];\n return this.length = b.length, this.strip();\n }, BN.prototype.iand = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuand(num);\n }, BN.prototype.and = function(num) {\n return this.length > num.length \? this.clone().iand(num) : num.clone().iand(this);\n }, BN.prototype.uand = function(num) {\n return this.length > num.length \? this.clone().iuand(num) : num.clone().iuand(this);\n }, BN.prototype.iuxor = function(num) {\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var i = 0;i < b.length; i++)\n this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = a.length, this.strip();\n }, BN.prototype.ixor = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuxor(num);\n }, BN.prototype.xor = function(num) {\n return this.length > num.length \? this.clone().ixor(num) : num.clone().ixor(this);\n }, BN.prototype.uxor = function(num) {\n return this.length > num.length \? this.clone().iuxor(num) : num.clone().iuxor(this);\n }, BN.prototype.inotn = function(width) {\n assert(typeof width == \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0, bitsLeft = width % 26;\n this._expand(bytesNeeded), bitsLeft > 0 && bytesNeeded--;\n for (var i = 0;i < bytesNeeded; i++)\n this.words[i] = ~this.words[i] & 67108863;\n return bitsLeft > 0 && (this.words[i] = ~this.words[i] & 67108863 >> 26 - bitsLeft), this.strip();\n }, BN.prototype.notn = function(width) {\n return this.clone().inotn(width);\n }, BN.prototype.setn = function(bit, val) {\n assert(typeof bit == \"number\" && bit >= 0);\n var off = bit / 26 | 0, wbit = bit % 26;\n return this._expand(off + 1), val \? this.words[off] = this.words[off] | 1 << wbit : this.words[off] = this.words[off] & ~(1 << wbit), this.strip();\n }, BN.prototype.iadd = function(num) {\n var r;\n if (this.negative !== 0 && num.negative === 0)\n return this.negative = 0, r = this.isub(num), this.negative ^= 1, this._normSign();\n if (this.negative === 0 && num.negative !== 0)\n return num.negative = 0, r = this.isub(num), num.negative = 1, r._normSign();\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n if (this.length = a.length, carry !== 0)\n this.words[this.length] = carry, this.length++;\n else if (a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this;\n }, BN.prototype.add = function(num) {\n var res;\n return num.negative !== 0 && this.negative === 0 \? (num.negative = 0, res = this.sub(num), num.negative ^= 1, res) : num.negative === 0 && this.negative !== 0 \? (this.negative = 0, res = num.sub(this), this.negative = 1, res) : this.length > num.length \? this.clone().iadd(num) : num.clone().iadd(this);\n }, BN.prototype.isub = function(num) {\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n return num.negative = 1, r._normSign();\n } else if (this.negative !== 0)\n return this.negative = 0, this.iadd(num), this.negative = 1, this._normSign();\n var cmp = this.cmp(num);\n if (cmp === 0)\n return this.negative = 0, this.length = 1, this.words[0] = 0, this;\n var a, b;\n cmp > 0 \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n if (carry === 0 && i < a.length && a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = Math.max(this.length, i), a !== this && (this.negative = 1), this.strip();\n }, BN.prototype.sub = function(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative;\n var len = self2.length + num.length | 0;\n out.length = len, len = len - 1 | 0;\n var a = self2.words[0] | 0, b = num.words[0] | 0, r = a * b, lo = r & 67108863, carry = r / 67108864 | 0;\n out.words[0] = lo;\n for (var k = 1;k < len; k++) {\n for (var ncarry = carry >>> 26, rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j | 0;\n a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b + rword, ncarry += r / 67108864 | 0, rword = r & 67108863;\n }\n out.words[k] = rword | 0, carry = ncarry | 0;\n }\n return carry !== 0 \? out.words[k] = carry | 0 : out.length--, out.strip();\n }\n var comb10MulTo = function(self2, num, out) {\n var a = self2.words, b = num.words, o = out.words, c = 0, lo, mid, hi, a0 = a[0] | 0, al0 = a0 & 8191, ah0 = a0 >>> 13, a1 = a[1] | 0, al1 = a1 & 8191, ah1 = a1 >>> 13, a2 = a[2] | 0, al2 = a2 & 8191, ah2 = a2 >>> 13, a3 = a[3] | 0, al3 = a3 & 8191, ah3 = a3 >>> 13, a4 = a[4] | 0, al4 = a4 & 8191, ah4 = a4 >>> 13, a5 = a[5] | 0, al5 = a5 & 8191, ah5 = a5 >>> 13, a6 = a[6] | 0, al6 = a6 & 8191, ah6 = a6 >>> 13, a7 = a[7] | 0, al7 = a7 & 8191, ah7 = a7 >>> 13, a8 = a[8] | 0, al8 = a8 & 8191, ah8 = a8 >>> 13, a9 = a[9] | 0, al9 = a9 & 8191, ah9 = a9 >>> 13, b0 = b[0] | 0, bl0 = b0 & 8191, bh0 = b0 >>> 13, b1 = b[1] | 0, bl1 = b1 & 8191, bh1 = b1 >>> 13, b2 = b[2] | 0, bl2 = b2 & 8191, bh2 = b2 >>> 13, b3 = b[3] | 0, bl3 = b3 & 8191, bh3 = b3 >>> 13, b4 = b[4] | 0, bl4 = b4 & 8191, bh4 = b4 >>> 13, b5 = b[5] | 0, bl5 = b5 & 8191, bh5 = b5 >>> 13, b6 = b[6] | 0, bl6 = b6 & 8191, bh6 = b6 >>> 13, b7 = b[7] | 0, bl7 = b7 & 8191, bh7 = b7 >>> 13, b8 = b[8] | 0, bl8 = b8 & 8191, bh8 = b8 >>> 13, b9 = b[9] | 0, bl9 = b9 & 8191, bh9 = b9 >>> 13;\n out.negative = self2.negative ^ num.negative, out.length = 19, lo = Math.imul(al0, bl0), mid = Math.imul(al0, bh0), mid = mid + Math.imul(ah0, bl0) | 0, hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0, w0 &= 67108863, lo = Math.imul(al1, bl0), mid = Math.imul(al1, bh0), mid = mid + Math.imul(ah1, bl0) | 0, hi = Math.imul(ah1, bh0), lo = lo + Math.imul(al0, bl1) | 0, mid = mid + Math.imul(al0, bh1) | 0, mid = mid + Math.imul(ah0, bl1) | 0, hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0, w1 &= 67108863, lo = Math.imul(al2, bl0), mid = Math.imul(al2, bh0), mid = mid + Math.imul(ah2, bl0) | 0, hi = Math.imul(ah2, bh0), lo = lo + Math.imul(al1, bl1) | 0, mid = mid + Math.imul(al1, bh1) | 0, mid = mid + Math.imul(ah1, bl1) | 0, hi = hi + Math.imul(ah1, bh1) | 0, lo = lo + Math.imul(al0, bl2) | 0, mid = mid + Math.imul(al0, bh2) | 0, mid = mid + Math.imul(ah0, bl2) | 0, hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0, w2 &= 67108863, lo = Math.imul(al3, bl0), mid = Math.imul(al3, bh0), mid = mid + Math.imul(ah3, bl0) | 0, hi = Math.imul(ah3, bh0), lo = lo + Math.imul(al2, bl1) | 0, mid = mid + Math.imul(al2, bh1) | 0, mid = mid + Math.imul(ah2, bl1) | 0, hi = hi + Math.imul(ah2, bh1) | 0, lo = lo + Math.imul(al1, bl2) | 0, mid = mid + Math.imul(al1, bh2) | 0, mid = mid + Math.imul(ah1, bl2) | 0, hi = hi + Math.imul(ah1, bh2) | 0, lo = lo + Math.imul(al0, bl3) | 0, mid = mid + Math.imul(al0, bh3) | 0, mid = mid + Math.imul(ah0, bl3) | 0, hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0, w3 &= 67108863, lo = Math.imul(al4, bl0), mid = Math.imul(al4, bh0), mid = mid + Math.imul(ah4, bl0) | 0, hi = Math.imul(ah4, bh0), lo = lo + Math.imul(al3, bl1) | 0, mid = mid + Math.imul(al3, bh1) | 0, mid = mid + Math.imul(ah3, bl1) | 0, hi = hi + Math.imul(ah3, bh1) | 0, lo = lo + Math.imul(al2, bl2) | 0, mid = mid + Math.imul(al2, bh2) | 0, mid = mid + Math.imul(ah2, bl2) | 0, hi = hi + Math.imul(ah2, bh2) | 0, lo = lo + Math.imul(al1, bl3) | 0, mid = mid + Math.imul(al1, bh3) | 0, mid = mid + Math.imul(ah1, bl3) | 0, hi = hi + Math.imul(ah1, bh3) | 0, lo = lo + Math.imul(al0, bl4) | 0, mid = mid + Math.imul(al0, bh4) | 0, mid = mid + Math.imul(ah0, bl4) | 0, hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0, w4 &= 67108863, lo = Math.imul(al5, bl0), mid = Math.imul(al5, bh0), mid = mid + Math.imul(ah5, bl0) | 0, hi = Math.imul(ah5, bh0), lo = lo + Math.imul(al4, bl1) | 0, mid = mid + Math.imul(al4, bh1) | 0, mid = mid + Math.imul(ah4, bl1) | 0, hi = hi + Math.imul(ah4, bh1) | 0, lo = lo + Math.imul(al3, bl2) | 0, mid = mid + Math.imul(al3, bh2) | 0, mid = mid + Math.imul(ah3, bl2) | 0, hi = hi + Math.imul(ah3, bh2) | 0, lo = lo + Math.imul(al2, bl3) | 0, mid = mid + Math.imul(al2, bh3) | 0, mid = mid + Math.imul(ah2, bl3) | 0, hi = hi + Math.imul(ah2, bh3) | 0, lo = lo + Math.imul(al1, bl4) | 0, mid = mid + Math.imul(al1, bh4) | 0, mid = mid + Math.imul(ah1, bl4) | 0, hi = hi + Math.imul(ah1, bh4) | 0, lo = lo + Math.imul(al0, bl5) | 0, mid = mid + Math.imul(al0, bh5) | 0, mid = mid + Math.imul(ah0, bl5) | 0, hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0, w5 &= 67108863, lo = Math.imul(al6, bl0), mid = Math.imul(al6, bh0), mid = mid + Math.imul(ah6, bl0) | 0, hi = Math.imul(ah6, bh0), lo = lo + Math.imul(al5, bl1) | 0, mid = mid + Math.imul(al5, bh1) | 0, mid = mid + Math.imul(ah5, bl1) | 0, hi = hi + Math.imul(ah5, bh1) | 0, lo = lo + Math.imul(al4, bl2) | 0, mid = mid + Math.imul(al4, bh2) | 0, mid = mid + Math.imul(ah4, bl2) | 0, hi = hi + Math.imul(ah4, bh2) | 0, lo = lo + Math.imul(al3, bl3) | 0, mid = mid + Math.imul(al3, bh3) | 0, mid = mid + Math.imul(ah3, bl3) | 0, hi = hi + Math.imul(ah3, bh3) | 0, lo = lo + Math.imul(al2, bl4) | 0, mid = mid + Math.imul(al2, bh4) | 0, mid = mid + Math.imul(ah2, bl4) | 0, hi = hi + Math.imul(ah2, bh4) | 0, lo = lo + Math.imul(al1, bl5) | 0, mid = mid + Math.imul(al1, bh5) | 0, mid = mid + Math.imul(ah1, bl5) | 0, hi = hi + Math.imul(ah1, bh5) | 0, lo = lo + Math.imul(al0, bl6) | 0, mid = mid + Math.imul(al0, bh6) | 0, mid = mid + Math.imul(ah0, bl6) | 0, hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0, w6 &= 67108863, lo = Math.imul(al7, bl0), mid = Math.imul(al7, bh0), mid = mid + Math.imul(ah7, bl0) | 0, hi = Math.imul(ah7, bh0), lo = lo + Math.imul(al6, bl1) | 0, mid = mid + Math.imul(al6, bh1) | 0, mid = mid + Math.imul(ah6, bl1) | 0, hi = hi + Math.imul(ah6, bh1) | 0, lo = lo + Math.imul(al5, bl2) | 0, mid = mid + Math.imul(al5, bh2) | 0, mid = mid + Math.imul(ah5, bl2) | 0, hi = hi + Math.imul(ah5, bh2) | 0, lo = lo + Math.imul(al4, bl3) | 0, mid = mid + Math.imul(al4, bh3) | 0, mid = mid + Math.imul(ah4, bl3) | 0, hi = hi + Math.imul(ah4, bh3) | 0, lo = lo + Math.imul(al3, bl4) | 0, mid = mid + Math.imul(al3, bh4) | 0, mid = mid + Math.imul(ah3, bl4) | 0, hi = hi + Math.imul(ah3, bh4) | 0, lo = lo + Math.imul(al2, bl5) | 0, mid = mid + Math.imul(al2, bh5) | 0, mid = mid + Math.imul(ah2, bl5) | 0, hi = hi + Math.imul(ah2, bh5) | 0, lo = lo + Math.imul(al1, bl6) | 0, mid = mid + Math.imul(al1, bh6) | 0, mid = mid + Math.imul(ah1, bl6) | 0, hi = hi + Math.imul(ah1, bh6) | 0, lo = lo + Math.imul(al0, bl7) | 0, mid = mid + Math.imul(al0, bh7) | 0, mid = mid + Math.imul(ah0, bl7) | 0, hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0, w7 &= 67108863, lo = Math.imul(al8, bl0), mid = Math.imul(al8, bh0), mid = mid + Math.imul(ah8, bl0) | 0, hi = Math.imul(ah8, bh0), lo = lo + Math.imul(al7, bl1) | 0, mid = mid + Math.imul(al7, bh1) | 0, mid = mid + Math.imul(ah7, bl1) | 0, hi = hi + Math.imul(ah7, bh1) | 0, lo = lo + Math.imul(al6, bl2) | 0, mid = mid + Math.imul(al6, bh2) | 0, mid = mid + Math.imul(ah6, bl2) | 0, hi = hi + Math.imul(ah6, bh2) | 0, lo = lo + Math.imul(al5, bl3) | 0, mid = mid + Math.imul(al5, bh3) | 0, mid = mid + Math.imul(ah5, bl3) | 0, hi = hi + Math.imul(ah5, bh3) | 0, lo = lo + Math.imul(al4, bl4) | 0, mid = mid + Math.imul(al4, bh4) | 0, mid = mid + Math.imul(ah4, bl4) | 0, hi = hi + Math.imul(ah4, bh4) | 0, lo = lo + Math.imul(al3, bl5) | 0, mid = mid + Math.imul(al3, bh5) | 0, mid = mid + Math.imul(ah3, bl5) | 0, hi = hi + Math.imul(ah3, bh5) | 0, lo = lo + Math.imul(al2, bl6) | 0, mid = mid + Math.imul(al2, bh6) | 0, mid = mid + Math.imul(ah2, bl6) | 0, hi = hi + Math.imul(ah2, bh6) | 0, lo = lo + Math.imul(al1, bl7) | 0, mid = mid + Math.imul(al1, bh7) | 0, mid = mid + Math.imul(ah1, bl7) | 0, hi = hi + Math.imul(ah1, bh7) | 0, lo = lo + Math.imul(al0, bl8) | 0, mid = mid + Math.imul(al0, bh8) | 0, mid = mid + Math.imul(ah0, bl8) | 0, hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0, w8 &= 67108863, lo = Math.imul(al9, bl0), mid = Math.imul(al9, bh0), mid = mid + Math.imul(ah9, bl0) | 0, hi = Math.imul(ah9, bh0), lo = lo + Math.imul(al8, bl1) | 0, mid = mid + Math.imul(al8, bh1) | 0, mid = mid + Math.imul(ah8, bl1) | 0, hi = hi + Math.imul(ah8, bh1) | 0, lo = lo + Math.imul(al7, bl2) | 0, mid = mid + Math.imul(al7, bh2) | 0, mid = mid + Math.imul(ah7, bl2) | 0, hi = hi + Math.imul(ah7, bh2) | 0, lo = lo + Math.imul(al6, bl3) | 0, mid = mid + Math.imul(al6, bh3) | 0, mid = mid + Math.imul(ah6, bl3) | 0, hi = hi + Math.imul(ah6, bh3) | 0, lo = lo + Math.imul(al5, bl4) | 0, mid = mid + Math.imul(al5, bh4) | 0, mid = mid + Math.imul(ah5, bl4) | 0, hi = hi + Math.imul(ah5, bh4) | 0, lo = lo + Math.imul(al4, bl5) | 0, mid = mid + Math.imul(al4, bh5) | 0, mid = mid + Math.imul(ah4, bl5) | 0, hi = hi + Math.imul(ah4, bh5) | 0, lo = lo + Math.imul(al3, bl6) | 0, mid = mid + Math.imul(al3, bh6) | 0, mid = mid + Math.imul(ah3, bl6) | 0, hi = hi + Math.imul(ah3, bh6) | 0, lo = lo + Math.imul(al2, bl7) | 0, mid = mid + Math.imul(al2, bh7) | 0, mid = mid + Math.imul(ah2, bl7) | 0, hi = hi + Math.imul(ah2, bh7) | 0, lo = lo + Math.imul(al1, bl8) | 0, mid = mid + Math.imul(al1, bh8) | 0, mid = mid + Math.imul(ah1, bl8) | 0, hi = hi + Math.imul(ah1, bh8) | 0, lo = lo + Math.imul(al0, bl9) | 0, mid = mid + Math.imul(al0, bh9) | 0, mid = mid + Math.imul(ah0, bl9) | 0, hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0, w9 &= 67108863, lo = Math.imul(al9, bl1), mid = Math.imul(al9, bh1), mid = mid + Math.imul(ah9, bl1) | 0, hi = Math.imul(ah9, bh1), lo = lo + Math.imul(al8, bl2) | 0, mid = mid + Math.imul(al8, bh2) | 0, mid = mid + Math.imul(ah8, bl2) | 0, hi = hi + Math.imul(ah8, bh2) | 0, lo = lo + Math.imul(al7, bl3) | 0, mid = mid + Math.imul(al7, bh3) | 0, mid = mid + Math.imul(ah7, bl3) | 0, hi = hi + Math.imul(ah7, bh3) | 0, lo = lo + Math.imul(al6, bl4) | 0, mid = mid + Math.imul(al6, bh4) | 0, mid = mid + Math.imul(ah6, bl4) | 0, hi = hi + Math.imul(ah6, bh4) | 0, lo = lo + Math.imul(al5, bl5) | 0, mid = mid + Math.imul(al5, bh5) | 0, mid = mid + Math.imul(ah5, bl5) | 0, hi = hi + Math.imul(ah5, bh5) | 0, lo = lo + Math.imul(al4, bl6) | 0, mid = mid + Math.imul(al4, bh6) | 0, mid = mid + Math.imul(ah4, bl6) | 0, hi = hi + Math.imul(ah4, bh6) | 0, lo = lo + Math.imul(al3, bl7) | 0, mid = mid + Math.imul(al3, bh7) | 0, mid = mid + Math.imul(ah3, bl7) | 0, hi = hi + Math.imul(ah3, bh7) | 0, lo = lo + Math.imul(al2, bl8) | 0, mid = mid + Math.imul(al2, bh8) | 0, mid = mid + Math.imul(ah2, bl8) | 0, hi = hi + Math.imul(ah2, bh8) | 0, lo = lo + Math.imul(al1, bl9) | 0, mid = mid + Math.imul(al1, bh9) | 0, mid = mid + Math.imul(ah1, bl9) | 0, hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0, w10 &= 67108863, lo = Math.imul(al9, bl2), mid = Math.imul(al9, bh2), mid = mid + Math.imul(ah9, bl2) | 0, hi = Math.imul(ah9, bh2), lo = lo + Math.imul(al8, bl3) | 0, mid = mid + Math.imul(al8, bh3) | 0, mid = mid + Math.imul(ah8, bl3) | 0, hi = hi + Math.imul(ah8, bh3) | 0, lo = lo + Math.imul(al7, bl4) | 0, mid = mid + Math.imul(al7, bh4) | 0, mid = mid + Math.imul(ah7, bl4) | 0, hi = hi + Math.imul(ah7, bh4) | 0, lo = lo + Math.imul(al6, bl5) | 0, mid = mid + Math.imul(al6, bh5) | 0, mid = mid + Math.imul(ah6, bl5) | 0, hi = hi + Math.imul(ah6, bh5) | 0, lo = lo + Math.imul(al5, bl6) | 0, mid = mid + Math.imul(al5, bh6) | 0, mid = mid + Math.imul(ah5, bl6) | 0, hi = hi + Math.imul(ah5, bh6) | 0, lo = lo + Math.imul(al4, bl7) | 0, mid = mid + Math.imul(al4, bh7) | 0, mid = mid + Math.imul(ah4, bl7) | 0, hi = hi + Math.imul(ah4, bh7) | 0, lo = lo + Math.imul(al3, bl8) | 0, mid = mid + Math.imul(al3, bh8) | 0, mid = mid + Math.imul(ah3, bl8) | 0, hi = hi + Math.imul(ah3, bh8) | 0, lo = lo + Math.imul(al2, bl9) | 0, mid = mid + Math.imul(al2, bh9) | 0, mid = mid + Math.imul(ah2, bl9) | 0, hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0, w11 &= 67108863, lo = Math.imul(al9, bl3), mid = Math.imul(al9, bh3), mid = mid + Math.imul(ah9, bl3) | 0, hi = Math.imul(ah9, bh3), lo = lo + Math.imul(al8, bl4) | 0, mid = mid + Math.imul(al8, bh4) | 0, mid = mid + Math.imul(ah8, bl4) | 0, hi = hi + Math.imul(ah8, bh4) | 0, lo = lo + Math.imul(al7, bl5) | 0, mid = mid + Math.imul(al7, bh5) | 0, mid = mid + Math.imul(ah7, bl5) | 0, hi = hi + Math.imul(ah7, bh5) | 0, lo = lo + Math.imul(al6, bl6) | 0, mid = mid + Math.imul(al6, bh6) | 0, mid = mid + Math.imul(ah6, bl6) | 0, hi = hi + Math.imul(ah6, bh6) | 0, lo = lo + Math.imul(al5, bl7) | 0, mid = mid + Math.imul(al5, bh7) | 0, mid = mid + Math.imul(ah5, bl7) | 0, hi = hi + Math.imul(ah5, bh7) | 0, lo = lo + Math.imul(al4, bl8) | 0, mid = mid + Math.imul(al4, bh8) | 0, mid = mid + Math.imul(ah4, bl8) | 0, hi = hi + Math.imul(ah4, bh8) | 0, lo = lo + Math.imul(al3, bl9) | 0, mid = mid + Math.imul(al3, bh9) | 0, mid = mid + Math.imul(ah3, bl9) | 0, hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0, w12 &= 67108863, lo = Math.imul(al9, bl4), mid = Math.imul(al9, bh4), mid = mid + Math.imul(ah9, bl4) | 0, hi = Math.imul(ah9, bh4), lo = lo + Math.imul(al8, bl5) | 0, mid = mid + Math.imul(al8, bh5) | 0, mid = mid + Math.imul(ah8, bl5) | 0, hi = hi + Math.imul(ah8, bh5) | 0, lo = lo + Math.imul(al7, bl6) | 0, mid = mid + Math.imul(al7, bh6) | 0, mid = mid + Math.imul(ah7, bl6) | 0, hi = hi + Math.imul(ah7, bh6) | 0, lo = lo + Math.imul(al6, bl7) | 0, mid = mid + Math.imul(al6, bh7) | 0, mid = mid + Math.imul(ah6, bl7) | 0, hi = hi + Math.imul(ah6, bh7) | 0, lo = lo + Math.imul(al5, bl8) | 0, mid = mid + Math.imul(al5, bh8) | 0, mid = mid + Math.imul(ah5, bl8) | 0, hi = hi + Math.imul(ah5, bh8) | 0, lo = lo + Math.imul(al4, bl9) | 0, mid = mid + Math.imul(al4, bh9) | 0, mid = mid + Math.imul(ah4, bl9) | 0, hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0, w13 &= 67108863, lo = Math.imul(al9, bl5), mid = Math.imul(al9, bh5), mid = mid + Math.imul(ah9, bl5) | 0, hi = Math.imul(ah9, bh5), lo = lo + Math.imul(al8, bl6) | 0, mid = mid + Math.imul(al8, bh6) | 0, mid = mid + Math.imul(ah8, bl6) | 0, hi = hi + Math.imul(ah8, bh6) | 0, lo = lo + Math.imul(al7, bl7) | 0, mid = mid + Math.imul(al7, bh7) | 0, mid = mid + Math.imul(ah7, bl7) | 0, hi = hi + Math.imul(ah7, bh7) | 0, lo = lo + Math.imul(al6, bl8) | 0, mid = mid + Math.imul(al6, bh8) | 0, mid = mid + Math.imul(ah6, bl8) | 0, hi = hi + Math.imul(ah6, bh8) | 0, lo = lo + Math.imul(al5, bl9) | 0, mid = mid + Math.imul(al5, bh9) | 0, mid = mid + Math.imul(ah5, bl9) | 0, hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0, w14 &= 67108863, lo = Math.imul(al9, bl6), mid = Math.imul(al9, bh6), mid = mid + Math.imul(ah9, bl6) | 0, hi = Math.imul(ah9, bh6), lo = lo + Math.imul(al8, bl7) | 0, mid = mid + Math.imul(al8, bh7) | 0, mid = mid + Math.imul(ah8, bl7) | 0, hi = hi + Math.imul(ah8, bh7) | 0, lo = lo + Math.imul(al7, bl8) | 0, mid = mid + Math.imul(al7, bh8) | 0, mid = mid + Math.imul(ah7, bl8) | 0, hi = hi + Math.imul(ah7, bh8) | 0, lo = lo + Math.imul(al6, bl9) | 0, mid = mid + Math.imul(al6, bh9) | 0, mid = mid + Math.imul(ah6, bl9) | 0, hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0, w15 &= 67108863, lo = Math.imul(al9, bl7), mid = Math.imul(al9, bh7), mid = mid + Math.imul(ah9, bl7) | 0, hi = Math.imul(ah9, bh7), lo = lo + Math.imul(al8, bl8) | 0, mid = mid + Math.imul(al8, bh8) | 0, mid = mid + Math.imul(ah8, bl8) | 0, hi = hi + Math.imul(ah8, bh8) | 0, lo = lo + Math.imul(al7, bl9) | 0, mid = mid + Math.imul(al7, bh9) | 0, mid = mid + Math.imul(ah7, bl9) | 0, hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0, w16 &= 67108863, lo = Math.imul(al9, bl8), mid = Math.imul(al9, bh8), mid = mid + Math.imul(ah9, bl8) | 0, hi = Math.imul(ah9, bh8), lo = lo + Math.imul(al8, bl9) | 0, mid = mid + Math.imul(al8, bh9) | 0, mid = mid + Math.imul(ah8, bl9) | 0, hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0, w17 &= 67108863, lo = Math.imul(al9, bl9), mid = Math.imul(al9, bh9), mid = mid + Math.imul(ah9, bl9) | 0, hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n return c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0, w18 &= 67108863, o[0] = w0, o[1] = w1, o[2] = w2, o[3] = w3, o[4] = w4, o[5] = w5, o[6] = w6, o[7] = w7, o[8] = w8, o[9] = w9, o[10] = w10, o[11] = w11, o[12] = w12, o[13] = w13, o[14] = w14, o[15] = w15, o[16] = w16, o[17] = w17, o[18] = w18, c !== 0 && (o[19] = c, out.length++), out;\n };\n Math.imul || (comb10MulTo = smallMulTo);\n function bigMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative, out.length = self2.length + num.length;\n for (var carry = 0, hncarry = 0, k = 0;k < out.length - 1; k++) {\n var ncarry = hncarry;\n hncarry = 0;\n for (var rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j, a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b, lo = r & 67108863;\n ncarry = ncarry + (r / 67108864 | 0) | 0, lo = lo + rword | 0, rword = lo & 67108863, ncarry = ncarry + (lo >>> 26) | 0, hncarry += ncarry >>> 26, ncarry &= 67108863;\n }\n out.words[k] = rword, carry = ncarry, ncarry = hncarry;\n }\n return carry !== 0 \? out.words[k] = carry : out.length--, out.strip();\n }\n function jumboMulTo(self2, num, out) {\n var fftm = new FFTM;\n return fftm.mulp(self2, num, out);\n }\n BN.prototype.mulTo = function(num, out) {\n var res, len = this.length + num.length;\n return this.length === 10 && num.length === 10 \? res = comb10MulTo(this, num, out) : len < 63 \? res = smallMulTo(this, num, out) : len < 1024 \? res = bigMulTo(this, num, out) : res = jumboMulTo(this, num, out), res;\n };\n function FFTM(x, y) {\n this.x = x, this.y = y;\n }\n FFTM.prototype = {}, FFTM.prototype.makeRBT = function(N) {\n for (var t = new @Array(N), l = BN.prototype._countBits(N) - 1, i = 0;i < N; i++)\n t[i] = this.revBin(i, l, N);\n return t;\n }, FFTM.prototype.revBin = function(x, l, N) {\n if (x === 0 || x === N - 1)\n return x;\n for (var rb = 0, i = 0;i < l; i++)\n rb |= (x & 1) << l - i - 1, x >>= 1;\n return rb;\n }, FFTM.prototype.permute = function(rbt, rws, iws, rtws, itws, N) {\n for (var i = 0;i < N; i++)\n rtws[i] = rws[rbt[i]], itws[i] = iws[rbt[i]];\n }, FFTM.prototype.transform = function(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for (var s = 1;s < N; s <<= 1)\n for (var l = s << 1, rtwdf = Math.cos(2 * Math.PI / l), itwdf = Math.sin(2 * Math.PI / l), p = 0;p < N; p += l)\n for (var rtwdf_ = rtwdf, itwdf_ = itwdf, j = 0;j < s; j++) {\n var re = rtws[p + j], ie = itws[p + j], ro = rtws[p + j + s], io = itws[p + j + s], rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro, ro = rx, rtws[p + j] = re + ro, itws[p + j] = ie + io, rtws[p + j + s] = re - ro, itws[p + j + s] = ie - io, j !== l && (rx = rtwdf * rtwdf_ - itwdf * itwdf_, itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_, rtwdf_ = rx);\n }\n }, FFTM.prototype.guessLen13b = function(n, m) {\n var N = Math.max(m, n) | 1, odd = N & 1, i = 0;\n for (N = N / 2 | 0;N; N = N >>> 1)\n i++;\n return 1 << i + 1 + odd;\n }, FFTM.prototype.conjugate = function(rws, iws, N) {\n if (!(N <= 1))\n for (var i = 0;i < N / 2; i++) {\n var t = rws[i];\n rws[i] = rws[N - i - 1], rws[N - i - 1] = t, t = iws[i], iws[i] = -iws[N - i - 1], iws[N - i - 1] = -t;\n }\n }, FFTM.prototype.normalize13b = function(ws, N) {\n for (var carry = 0, i = 0;i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 8192 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 67108863, w < 67108864 \? carry = 0 : carry = w / 67108864 | 0;\n }\n return ws;\n }, FFTM.prototype.convert13b = function(ws, len, rws, N) {\n for (var carry = 0, i = 0;i < len; i++)\n carry = carry + (ws[i] | 0), rws[2 * i] = carry & 8191, carry = carry >>> 13, rws[2 * i + 1] = carry & 8191, carry = carry >>> 13;\n for (i = 2 * len;i < N; ++i)\n rws[i] = 0;\n assert(carry === 0), assert((carry & -8192) === 0);\n }, FFTM.prototype.stub = function(N) {\n for (var ph = new @Array(N), i = 0;i < N; i++)\n ph[i] = 0;\n return ph;\n }, FFTM.prototype.mulp = function(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length), rbt = this.makeRBT(N), _ = this.stub(N), rws = new @Array(N), rwst = new @Array(N), iwst = new @Array(N), nrws = new @Array(N), nrwst = new @Array(N), niwst = new @Array(N), rmws = out.words;\n rmws.length = N, this.convert13b(x.words, x.length, rws, N), this.convert13b(y.words, y.length, nrws, N), this.transform(rws, _, rwst, iwst, N, rbt), this.transform(nrws, _, nrwst, niwst, N, rbt);\n for (var i = 0;i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i], rwst[i] = rx;\n }\n return this.conjugate(rwst, iwst, N), this.transform(rwst, iwst, rmws, _, N, rbt), this.conjugate(rmws, _, N), this.normalize13b(rmws, N), out.negative = x.negative ^ y.negative, out.length = x.length + y.length, out.strip();\n }, BN.prototype.mul = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), this.mulTo(num, out);\n }, BN.prototype.mulf = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), jumboMulTo(this, num, out);\n }, BN.prototype.imul = function(num) {\n return this.clone().mulTo(num, this);\n }, BN.prototype.imuln = function(num) {\n assert(typeof num == \"number\"), assert(num < 67108864);\n for (var carry = 0, i = 0;i < this.length; i++) {\n var w = (this.words[i] | 0) * num, lo = (w & 67108863) + (carry & 67108863);\n carry >>= 26, carry += w / 67108864 | 0, carry += lo >>> 26, this.words[i] = lo & 67108863;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.muln = function(num) {\n return this.clone().imuln(num);\n }, BN.prototype.sqr = function() {\n return this.mul(this);\n }, BN.prototype.isqr = function() {\n return this.imul(this.clone());\n }, BN.prototype.pow = function(num) {\n var w = toBitArray(num);\n if (w.length === 0)\n return new BN(1);\n for (var res = this, i = 0;i < w.length && w[i] === 0; i++, res = res.sqr())\n ;\n if (++i < w.length)\n for (var q = res.sqr();i < w.length; i++, q = q.sqr())\n w[i] !== 0 && (res = res.mul(q));\n return res;\n }, BN.prototype.iushln = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26, carryMask = 67108863 >>> 26 - r << 26 - r, i;\n if (r !== 0) {\n var carry = 0;\n for (i = 0;i < this.length; i++) {\n var newCarry = this.words[i] & carryMask, c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry, carry = newCarry >>> 26 - r;\n }\n carry && (this.words[i] = carry, this.length++);\n }\n if (s !== 0) {\n for (i = this.length - 1;i >= 0; i--)\n this.words[i + s] = this.words[i];\n for (i = 0;i < s; i++)\n this.words[i] = 0;\n this.length += s;\n }\n return this.strip();\n }, BN.prototype.ishln = function(bits) {\n return assert(this.negative === 0), this.iushln(bits);\n }, BN.prototype.iushrn = function(bits, hint, extended) {\n assert(typeof bits == \"number\" && bits >= 0);\n var h;\n hint \? h = (hint - hint % 26) / 26 : h = 0;\n var r = bits % 26, s = Math.min((bits - r) / 26, this.length), mask = 67108863 ^ 67108863 >>> r << r, maskedWords = extended;\n if (h -= s, h = Math.max(0, h), maskedWords) {\n for (var i = 0;i < s; i++)\n maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s !== 0)\n if (this.length > s)\n for (this.length -= s, i = 0;i < this.length; i++)\n this.words[i] = this.words[i + s];\n else\n this.words[0] = 0, this.length = 1;\n var carry = 0;\n for (i = this.length - 1;i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r, carry = word & mask;\n }\n return maskedWords && carry !== 0 && (maskedWords.words[maskedWords.length++] = carry), this.length === 0 && (this.words[0] = 0, this.length = 1), this.strip();\n }, BN.prototype.ishrn = function(bits, hint, extended) {\n return assert(this.negative === 0), this.iushrn(bits, hint, extended);\n }, BN.prototype.shln = function(bits) {\n return this.clone().ishln(bits);\n }, BN.prototype.ushln = function(bits) {\n return this.clone().iushln(bits);\n }, BN.prototype.shrn = function(bits) {\n return this.clone().ishrn(bits);\n }, BN.prototype.ushrn = function(bits) {\n return this.clone().iushrn(bits);\n }, BN.prototype.testn = function(bit) {\n assert(typeof bit == \"number\" && bit >= 0);\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return !1;\n var w = this.words[s];\n return !!(w & q);\n }, BN.prototype.imaskn = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26;\n if (assert(this.negative === 0, \"imaskn works only with positive numbers\"), this.length <= s)\n return this;\n if (r !== 0 && s++, this.length = Math.min(s, this.length), r !== 0) {\n var mask = 67108863 ^ 67108863 >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this.strip();\n }, BN.prototype.maskn = function(bits) {\n return this.clone().imaskn(bits);\n }, BN.prototype.iaddn = function(num) {\n return assert(typeof num == \"number\"), assert(num < 67108864), num < 0 \? this.isubn(-num) : this.negative !== 0 \? this.length === 1 && (this.words[0] | 0) < num \? (this.words[0] = num - (this.words[0] | 0), this.negative = 0, this) : (this.negative = 0, this.isubn(num), this.negative = 1, this) : this._iaddn(num);\n }, BN.prototype._iaddn = function(num) {\n this.words[0] += num;\n for (var i = 0;i < this.length && this.words[i] >= 67108864; i++)\n this.words[i] -= 67108864, i === this.length - 1 \? this.words[i + 1] = 1 : this.words[i + 1]++;\n return this.length = Math.max(this.length, i + 1), this;\n }, BN.prototype.isubn = function(num) {\n if (assert(typeof num == \"number\"), assert(num < 67108864), num < 0)\n return this.iaddn(-num);\n if (this.negative !== 0)\n return this.negative = 0, this.iaddn(num), this.negative = 1, this;\n if (this.words[0] -= num, this.length === 1 && this.words[0] < 0)\n this.words[0] = -this.words[0], this.negative = 1;\n else\n for (var i = 0;i < this.length && this.words[i] < 0; i++)\n this.words[i] += 67108864, this.words[i + 1] -= 1;\n return this.strip();\n }, BN.prototype.addn = function(num) {\n return this.clone().iaddn(num);\n }, BN.prototype.subn = function(num) {\n return this.clone().isubn(num);\n }, BN.prototype.iabs = function() {\n return this.negative = 0, this;\n }, BN.prototype.abs = function() {\n return this.clone().iabs();\n }, BN.prototype._ishlnsubmul = function(num, mul, shift) {\n var len = num.length + shift, i;\n this._expand(len);\n var w, carry = 0;\n for (i = 0;i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 67108863, carry = (w >> 26) - (right / 67108864 | 0), this.words[i + shift] = w & 67108863;\n }\n for (;i < this.length - shift; i++)\n w = (this.words[i + shift] | 0) + carry, carry = w >> 26, this.words[i + shift] = w & 67108863;\n if (carry === 0)\n return this.strip();\n for (assert(carry === -1), carry = 0, i = 0;i < this.length; i++)\n w = -(this.words[i] | 0) + carry, carry = w >> 26, this.words[i] = w & 67108863;\n return this.negative = 1, this.strip();\n }, BN.prototype._wordDiv = function(num, mode) {\n var shift = this.length - num.length, a = this.clone(), b = num, bhi = b.words[b.length - 1] | 0, bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits, shift !== 0 && (b = b.ushln(shift), a.iushln(shift), bhi = b.words[b.length - 1] | 0);\n var m = a.length - b.length, q;\n if (mode !== \"mod\") {\n q = new BN(null), q.length = m + 1, q.words = new @Array(q.length);\n for (var i = 0;i < q.length; i++)\n q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n diff.negative === 0 && (a = diff, q && (q.words[m] = 1));\n for (var j = m - 1;j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 67108864 + (a.words[b.length + j - 1] | 0);\n for (qj = Math.min(qj / bhi | 0, 67108863), a._ishlnsubmul(b, qj, j);a.negative !== 0; )\n qj--, a.negative = 0, a._ishlnsubmul(b, 1, j), a.isZero() || (a.negative ^= 1);\n q && (q.words[j] = qj);\n }\n return q && q.strip(), a.strip(), mode !== \"div\" && shift !== 0 && a.iushrn(shift), {\n div: q || null,\n mod: a\n };\n }, BN.prototype.divmod = function(num, mode, positive) {\n if (assert(!num.isZero()), this.isZero())\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n return this.negative !== 0 && num.negative === 0 \? (res = this.neg().divmod(num, mode), mode !== \"mod\" && (div = res.div.neg()), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.iadd(num)), {\n div,\n mod\n }) : this.negative === 0 && num.negative !== 0 \? (res = this.divmod(num.neg(), mode), mode !== \"mod\" && (div = res.div.neg()), {\n div,\n mod: res.mod\n }) : (this.negative & num.negative) !== 0 \? (res = this.neg().divmod(num.neg(), mode), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.isub(num)), {\n div: res.div,\n mod\n }) : num.length > this.length || this.cmp(num) < 0 \? {\n div: new BN(0),\n mod: this\n } : num.length === 1 \? mode === \"div\" \? {\n div: this.divn(num.words[0]),\n mod: null\n } : mode === \"mod\" \? {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n } : {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n } : this._wordDiv(num, mode);\n }, BN.prototype.div = function(num) {\n return this.divmod(num, \"div\", !1).div;\n }, BN.prototype.mod = function(num) {\n return this.divmod(num, \"mod\", !1).mod;\n }, BN.prototype.umod = function(num) {\n return this.divmod(num, \"mod\", !0).mod;\n }, BN.prototype.divRound = function(num) {\n var dm = this.divmod(num);\n if (dm.mod.isZero())\n return dm.div;\n var mod = dm.div.negative !== 0 \? dm.mod.isub(num) : dm.mod, half = num.ushrn(1), r2 = num.andln(1), cmp = mod.cmp(half);\n return cmp < 0 || r2 === 1 && cmp === 0 \? dm.div : dm.div.negative !== 0 \? dm.div.isubn(1) : dm.div.iaddn(1);\n }, BN.prototype.modn = function(num) {\n assert(num <= 67108863);\n for (var p = (1 << 26) % num, acc = 0, i = this.length - 1;i >= 0; i--)\n acc = (p * acc + (this.words[i] | 0)) % num;\n return acc;\n }, BN.prototype.idivn = function(num) {\n assert(num <= 67108863);\n for (var carry = 0, i = this.length - 1;i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 67108864;\n this.words[i] = w / num | 0, carry = w % num;\n }\n return this.strip();\n }, BN.prototype.divn = function(num) {\n return this.clone().idivn(num);\n }, BN.prototype.egcd = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var x = this, y = p.clone();\n x.negative !== 0 \? x = x.umod(p) : x = x.clone();\n for (var A = new BN(1), B = new BN(0), C = new BN(0), D = new BN(1), g = 0;x.isEven() && y.isEven(); )\n x.iushrn(1), y.iushrn(1), ++g;\n for (var yp = y.clone(), xp = x.clone();!x.isZero(); ) {\n for (var i = 0, im = 1;(x.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (x.iushrn(i);i-- > 0; )\n (A.isOdd() || B.isOdd()) && (A.iadd(yp), B.isub(xp)), A.iushrn(1), B.iushrn(1);\n for (var j = 0, jm = 1;(y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (y.iushrn(j);j-- > 0; )\n (C.isOdd() || D.isOdd()) && (C.iadd(yp), D.isub(xp)), C.iushrn(1), D.iushrn(1);\n x.cmp(y) >= 0 \? (x.isub(y), A.isub(C), B.isub(D)) : (y.isub(x), C.isub(A), D.isub(B));\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n }, BN.prototype._invmp = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var a = this, b = p.clone();\n a.negative !== 0 \? a = a.umod(p) : a = a.clone();\n for (var x1 = new BN(1), x2 = new BN(0), delta = b.clone();a.cmpn(1) > 0 && b.cmpn(1) > 0; ) {\n for (var i = 0, im = 1;(a.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (a.iushrn(i);i-- > 0; )\n x1.isOdd() && x1.iadd(delta), x1.iushrn(1);\n for (var j = 0, jm = 1;(b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (b.iushrn(j);j-- > 0; )\n x2.isOdd() && x2.iadd(delta), x2.iushrn(1);\n a.cmp(b) >= 0 \? (a.isub(b), x1.isub(x2)) : (b.isub(a), x2.isub(x1));\n }\n var res;\n return a.cmpn(1) === 0 \? res = x1 : res = x2, res.cmpn(0) < 0 && res.iadd(p), res;\n }, BN.prototype.gcd = function(num) {\n if (this.isZero())\n return num.abs();\n if (num.isZero())\n return this.abs();\n var a = this.clone(), b = num.clone();\n a.negative = 0, b.negative = 0;\n for (var shift = 0;a.isEven() && b.isEven(); shift++)\n a.iushrn(1), b.iushrn(1);\n do {\n for (;a.isEven(); )\n a.iushrn(1);\n for (;b.isEven(); )\n b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n var t = a;\n a = b, b = t;\n } else if (r === 0 || b.cmpn(1) === 0)\n break;\n a.isub(b);\n } while (!0);\n return b.iushln(shift);\n }, BN.prototype.invm = function(num) {\n return this.egcd(num).a.umod(num);\n }, BN.prototype.isEven = function() {\n return (this.words[0] & 1) === 0;\n }, BN.prototype.isOdd = function() {\n return (this.words[0] & 1) === 1;\n }, BN.prototype.andln = function(num) {\n return this.words[0] & num;\n }, BN.prototype.bincn = function(bit) {\n assert(typeof bit == \"number\");\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return this._expand(s + 1), this.words[s] |= q, this;\n for (var carry = q, i = s;carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry, carry = w >>> 26, w &= 67108863, this.words[i] = w;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.isZero = function() {\n return this.length === 1 && this.words[0] === 0;\n }, BN.prototype.cmpn = function(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative)\n return -1;\n if (this.negative === 0 && negative)\n return 1;\n this.strip();\n var res;\n if (this.length > 1)\n res = 1;\n else {\n negative && (num = -num), assert(num <= 67108863, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num \? 0 : w < num \? -1 : 1;\n }\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.cmp = function(num) {\n if (this.negative !== 0 && num.negative === 0)\n return -1;\n if (this.negative === 0 && num.negative !== 0)\n return 1;\n var res = this.ucmp(num);\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.ucmp = function(num) {\n if (this.length > num.length)\n return 1;\n if (this.length < num.length)\n return -1;\n for (var res = 0, i = this.length - 1;i >= 0; i--) {\n var a = this.words[i] | 0, b = num.words[i] | 0;\n if (a !== b) {\n a < b \? res = -1 : a > b && (res = 1);\n break;\n }\n }\n return res;\n }, BN.prototype.gtn = function(num) {\n return this.cmpn(num) === 1;\n }, BN.prototype.gt = function(num) {\n return this.cmp(num) === 1;\n }, BN.prototype.gten = function(num) {\n return this.cmpn(num) >= 0;\n }, BN.prototype.gte = function(num) {\n return this.cmp(num) >= 0;\n }, BN.prototype.ltn = function(num) {\n return this.cmpn(num) === -1;\n }, BN.prototype.lt = function(num) {\n return this.cmp(num) === -1;\n }, BN.prototype.lten = function(num) {\n return this.cmpn(num) <= 0;\n }, BN.prototype.lte = function(num) {\n return this.cmp(num) <= 0;\n }, BN.prototype.eqn = function(num) {\n return this.cmpn(num) === 0;\n }, BN.prototype.eq = function(num) {\n return this.cmp(num) === 0;\n }, BN.red = function(num) {\n return new Red(num);\n }, BN.prototype.toRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), assert(this.negative === 0, \"red works only with positives\"), ctx.convertTo(this)._forceRed(ctx);\n }, BN.prototype.fromRed = function() {\n return assert(this.red, \"fromRed works only with numbers in reduction context\"), this.red.convertFrom(this);\n }, BN.prototype._forceRed = function(ctx) {\n return this.red = ctx, this;\n }, BN.prototype.forceRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), this._forceRed(ctx);\n }, BN.prototype.redAdd = function(num) {\n return assert(this.red, \"redAdd works only with red numbers\"), this.red.add(this, num);\n }, BN.prototype.redIAdd = function(num) {\n return assert(this.red, \"redIAdd works only with red numbers\"), this.red.iadd(this, num);\n }, BN.prototype.redSub = function(num) {\n return assert(this.red, \"redSub works only with red numbers\"), this.red.sub(this, num);\n }, BN.prototype.redISub = function(num) {\n return assert(this.red, \"redISub works only with red numbers\"), this.red.isub(this, num);\n }, BN.prototype.redShl = function(num) {\n return assert(this.red, \"redShl works only with red numbers\"), this.red.shl(this, num);\n }, BN.prototype.redMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.mul(this, num);\n }, BN.prototype.redIMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.imul(this, num);\n }, BN.prototype.redSqr = function() {\n return assert(this.red, \"redSqr works only with red numbers\"), this.red._verify1(this), this.red.sqr(this);\n }, BN.prototype.redISqr = function() {\n return assert(this.red, \"redISqr works only with red numbers\"), this.red._verify1(this), this.red.isqr(this);\n }, BN.prototype.redSqrt = function() {\n return assert(this.red, \"redSqrt works only with red numbers\"), this.red._verify1(this), this.red.sqrt(this);\n }, BN.prototype.redInvm = function() {\n return assert(this.red, \"redInvm works only with red numbers\"), this.red._verify1(this), this.red.invm(this);\n }, BN.prototype.redNeg = function() {\n return assert(this.red, \"redNeg works only with red numbers\"), this.red._verify1(this), this.red.neg(this);\n }, BN.prototype.redPow = function(num) {\n return assert(this.red && !num.red, \"redPow(normalNum)\"), this.red._verify1(this), this.red.pow(this, num);\n };\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n function MPrime(name, p) {\n this.name = name, this.p = new BN(p, 16), this.n = this.p.bitLength(), this.k = new BN(1).iushln(this.n).isub(this.p), this.tmp = this._tmp();\n }\n MPrime.prototype = {}, MPrime.prototype._tmp = function() {\n var tmp = new BN(null);\n return tmp.words = new @Array(Math.ceil(this.n / 13)), tmp;\n }, MPrime.prototype.ireduce = function(num) {\n var r = num, rlen;\n do\n this.split(r, this.tmp), r = this.imulK(r), r = r.iadd(this.tmp), rlen = r.bitLength();\n while (rlen > this.n);\n var cmp = rlen < this.n \? -1 : r.ucmp(this.p);\n return cmp === 0 \? (r.words[0] = 0, r.length = 1) : cmp > 0 \? r.isub(this.p) : r.strip !== void 0 \? r.strip() : r._strip(), r;\n }, MPrime.prototype.split = function(input, out) {\n input.iushrn(this.n, 0, out);\n }, MPrime.prototype.imulK = function(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.@call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime), K256.prototype.split = function(input, output) {\n for (var mask = 4194303, outLen = Math.min(input.length, 9), i = 0;i < outLen; i++)\n output.words[i] = input.words[i];\n if (output.length = outLen, input.length <= 9) {\n input.words[0] = 0, input.length = 1;\n return;\n }\n var prev = input.words[9];\n for (output.words[output.length++] = prev & mask, i = 10;i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22, prev = next;\n }\n prev >>>= 22, input.words[i - 10] = prev, prev === 0 && input.length > 10 \? input.length -= 10 : input.length -= 9;\n }, K256.prototype.imulK = function(num) {\n num.words[num.length] = 0, num.words[num.length + 1] = 0, num.length += 2;\n for (var lo = 0, i = 0;i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 977, num.words[i] = lo & 67108863, lo = w * 64 + (lo / 67108864 | 0);\n }\n return num.words[num.length - 1] === 0 && (num.length--, num.words[num.length - 1] === 0 && num.length--), num;\n };\n function P224() {\n MPrime.@call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.@call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n MPrime.@call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime), P25519.prototype.imulK = function(num) {\n for (var carry = 0, i = 0;i < num.length; i++) {\n var hi = (num.words[i] | 0) * 19 + carry, lo = hi & 67108863;\n hi >>>= 26, num.words[i] = lo, carry = hi;\n }\n return carry !== 0 && (num.words[num.length++] = carry), num;\n }, BN._prime = function(name) {\n if (primes[name])\n return primes[name];\n var prime2;\n if (name === \"k256\")\n prime2 = new K256;\n else if (name === \"p224\")\n prime2 = new P224;\n else if (name === \"p192\")\n prime2 = new P192;\n else if (name === \"p25519\")\n prime2 = new P25519;\n else\n throw new Error(\"Unknown prime \" + name);\n return primes[name] = prime2, prime2;\n };\n function Red(m) {\n if (typeof m == \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p, this.prime = prime;\n } else\n assert(m.gtn(1), \"modulus must be greater than 1\"), this.m = m, this.prime = null;\n }\n Red.prototype = {}, Red.prototype._verify1 = function(a) {\n assert(a.negative === 0, \"red works only with positives\"), assert(a.red, \"red works only with red numbers\");\n }, Red.prototype._verify2 = function(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\"), assert(a.red && a.red === b.red, \"red works only with red numbers\");\n }, Red.prototype.imod = function(a) {\n return this.prime \? this.prime.ireduce(a)._forceRed(this) : a.umod(this.m)._forceRed(this);\n }, Red.prototype.neg = function(a) {\n return a.isZero() \? a.clone() : this.m.sub(a)._forceRed(this);\n }, Red.prototype.add = function(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res._forceRed(this);\n }, Red.prototype.iadd = function(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res;\n }, Red.prototype.sub = function(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res._forceRed(this);\n }, Red.prototype.isub = function(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res;\n }, Red.prototype.shl = function(a, num) {\n return this._verify1(a), this.imod(a.ushln(num));\n }, Red.prototype.imul = function(a, b) {\n return this._verify2(a, b), this.imod(a.imul(b));\n }, Red.prototype.mul = function(a, b) {\n return this._verify2(a, b), this.imod(a.mul(b));\n }, Red.prototype.isqr = function(a) {\n return this.imul(a, a.clone());\n }, Red.prototype.sqr = function(a) {\n return this.mul(a, a);\n }, Red.prototype.sqrt = function(a) {\n if (a.isZero())\n return a.clone();\n var mod3 = this.m.andln(3);\n if (assert(mod3 % 2 === 1), mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n for (var q = this.m.subn(1), s = 0;!q.isZero() && q.andln(1) === 0; )\n s++, q.iushrn(1);\n assert(!q.isZero());\n var one = new BN(1).toRed(this), nOne = one.redNeg(), lpow = this.m.subn(1).iushrn(1), z = this.m.bitLength();\n for (z = new BN(2 * z * z).toRed(this);this.pow(z, lpow).cmp(nOne) !== 0; )\n z.redIAdd(nOne);\n for (var c = this.pow(z, q), r = this.pow(a, q.addn(1).iushrn(1)), t = this.pow(a, q), m = s;t.cmp(one) !== 0; ) {\n for (var tmp = t, i = 0;tmp.cmp(one) !== 0; i++)\n tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b), c = b.redSqr(), t = t.redMul(c), m = i;\n }\n return r;\n }, Red.prototype.invm = function(a) {\n var inv = a._invmp(this.m);\n return inv.negative !== 0 \? (inv.negative = 0, this.imod(inv).redNeg()) : this.imod(inv);\n }, Red.prototype.pow = function(a, num) {\n if (num.isZero())\n return new BN(1).toRed(this);\n if (num.cmpn(1) === 0)\n return a.clone();\n var windowSize = 4, wnd = new @Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this), wnd[1] = a;\n for (var i = 2;i < wnd.length; i++)\n wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0], current = 0, currentLen = 0, start = num.bitLength() % 26;\n for (start === 0 && (start = 26), i = num.length - 1;i >= 0; i--) {\n for (var word = num.words[i], j = start - 1;j >= 0; j--) {\n var bit = word >> j & 1;\n if (res !== wnd[0] && (res = this.sqr(res)), bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1, current |= bit, currentLen++, !(currentLen !== windowSize && (i !== 0 || j !== 0)) && (res = this.mul(res, wnd[current]), currentLen = 0, current = 0);\n }\n start = 26;\n }\n return res;\n }, Red.prototype.convertTo = function(num) {\n var r = num.umod(this.m);\n return r === num \? r.clone() : r;\n }, Red.prototype.convertFrom = function(num) {\n var res = num.clone();\n return res.red = null, res;\n }, BN.mont = function(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.@call(this, m), this.shift = this.m.bitLength(), this.shift % 26 !== 0 && (this.shift += 26 - this.shift % 26), this.r = new BN(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red), Mont.prototype.convertTo = function(num) {\n return this.imod(num.ushln(this.shift));\n }, Mont.prototype.convertFrom = function(num) {\n var r = this.imod(num.mul(this.rinv));\n return r.red = null, r;\n }, Mont.prototype.imul = function(a, b) {\n if (a.isZero() || b.isZero())\n return a.words[0] = 0, a.length = 1, a;\n var t = a.imul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.mul = function(a, b) {\n if (a.isZero() || b.isZero())\n return new BN(0)._forceRed(this);\n var t = a.mul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.invm = function(a) {\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n })(typeof module > \"u\" || module, exports);\n }\n}), require_bn2 = require_bn, require_brorand = __commonJS({\n \"node_modules/brorand/index.js\"(exports, module) {\n var r;\n module.exports = function(len) {\n return r || (r = new Rand(null)), r.generate(len);\n };\n function Rand(rand) {\n this.rand = rand;\n }\n Rand.prototype = {}, module.exports.Rand = Rand, Rand.prototype.generate = function(len) {\n return this._rand(len);\n }, Rand.prototype._rand = function(n) {\n var out = new Buffer(n);\n return crypto.getRandomValues(out), out;\n };\n }\n}), require_mr = __commonJS({\n \"node_modules/miller-rabin/lib/mr.js\"(exports, module) {\n var bn = require_bn2(), brorand = require_brorand();\n function MillerRabin(rand) {\n this.rand = rand || new brorand.Rand;\n }\n module.exports = MillerRabin, MillerRabin.create = function(rand) {\n return new MillerRabin(rand);\n }, MillerRabin.prototype = {}, MillerRabin.prototype._randbelow = function(n) {\n var len = n.bitLength(), min_bytes = Math.ceil(len / 8);\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n return a;\n }, MillerRabin.prototype._randrange = function(start, stop) {\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n }, MillerRabin.prototype.test = function(n, k, cb) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red), prime = !0;k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n cb && cb(a);\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return !1;\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return !1;\n }\n }\n return prime;\n }, MillerRabin.prototype.getDivisor = function(n, k) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red);k > 0; k--) {\n var a = this._randrange(new bn(2), n1), g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return x = x.redSqr(), x.fromRed().subn(1).gcd(n);\n }\n }\n return !1;\n };\n }\n}), require_generatePrime = __commonJS({\n \"node_modules/diffie-hellman/lib/generatePrime.js\"(exports, module) {\n var randomBytes = require_browser();\n module.exports = findPrime, findPrime.simpleSieve = simpleSieve, findPrime.fermatTest = fermatTest;\n var BN = require_bn(), TWENTYFOUR = new BN(24), MillerRabin = require_mr(), millerRabin = new MillerRabin, ONE = new BN(1), TWO = new BN(2), FIVE = new BN(5), SIXTEEN = new BN(16), EIGHT = new BN(8), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), ELEVEN = new BN(11), FOUR = new BN(4), TWELVE = new BN(12), primes = null;\n function _getPrimes() {\n if (primes !== null)\n return primes;\n var limit = 1048576, res = [];\n res[0] = 2;\n for (var i = 1, k = 3;k < limit; k += 2) {\n for (var sqrt = Math.ceil(Math.sqrt(k)), j = 0;j < i && res[j] <= sqrt && k % res[j] !== 0; j++)\n ;\n i !== j && res[j] <= sqrt || (res[i++] = k);\n }\n return primes = res, res;\n }\n function simpleSieve(p) {\n for (var primes2 = _getPrimes(), i = 0;i < primes2.length; i++)\n if (p.modn(primes2[i]) === 0)\n return p.cmpn(primes2[i]) === 0;\n return !0;\n }\n function fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n }\n function findPrime(bits, gen) {\n if (bits < 16)\n return gen === 2 || gen === 5 \? new BN([140, 123]) : new BN([140, 39]);\n gen = new BN(gen);\n for (var num, n2;; ) {\n for (num = new BN(randomBytes(Math.ceil(bits / 8)));num.bitLength() > bits; )\n num.ishrn(1);\n if (num.isEven() && num.iadd(ONE), num.testn(1) || num.iadd(TWO), gen.cmp(TWO)) {\n if (!gen.cmp(FIVE))\n for (;num.mod(TEN).cmp(THREE); )\n num.iadd(FOUR);\n } else\n for (;num.mod(TWENTYFOUR).cmp(ELEVEN); )\n num.iadd(FOUR);\n if (n2 = num.shrn(1), simpleSieve(n2) && simpleSieve(num) && fermatTest(n2) && fermatTest(num) && millerRabin.test(n2) && millerRabin.test(num))\n return num;\n }\n }\n }\n}), require_primes = __commonJS({\n \"node_modules/diffie-hellman/lib/primes.json\"(exports, module) {\n module.exports = {\n modp1: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"\n },\n modp2: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"\n },\n modp5: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"\n },\n modp14: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"\n },\n modp15: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"\n },\n modp16: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"\n },\n modp17: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"\n },\n modp18: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"\n }\n };\n }\n}), require_dh = __commonJS({\n \"node_modules/diffie-hellman/lib/dh.js\"(exports, module) {\n var BN = require_bn(), MillerRabin = require_mr(), millerRabin = new MillerRabin, TWENTYFOUR = new BN(24), ELEVEN = new BN(11), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), primes = require_generatePrime(), randomBytes = require_browser();\n module.exports = DH;\n function setPublicKey(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this._pub = new BN(pub), this;\n }\n function setPrivateKey(priv, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc)), this._priv = new BN(priv), this;\n }\n var primeCache = {};\n function checkPrime(prime, generator) {\n var gen = generator.toString(\"hex\"), hex = [gen, prime.toString(16)].join(\"_\");\n if (hex in primeCache)\n return primeCache[hex];\n var error = 0;\n if (prime.isEven() || !primes.simpleSieve || !primes.fermatTest(prime) || !millerRabin.test(prime))\n return error += 1, gen === \"02\" || gen === \"05\" \? error += 8 : error += 4, primeCache[hex] = error, error;\n millerRabin.test(prime.shrn(1)) || (error += 2);\n var rem;\n switch (gen) {\n case \"02\":\n prime.mod(TWENTYFOUR).cmp(ELEVEN) && (error += 8);\n break;\n case \"05\":\n rem = prime.mod(TEN), rem.cmp(THREE) && rem.cmp(SEVEN) && (error += 8);\n break;\n default:\n error += 4;\n }\n return primeCache[hex] = error, error;\n }\n function DH(prime, generator, malleable) {\n this.setGenerator(generator), this.__prime = new BN(prime), this._prime = BN.mont(this.__prime), this._primeLen = prime.length, this._pub = void 0, this._priv = void 0, this._primeCode = void 0, malleable \? (this.setPublicKey = setPublicKey, this.setPrivateKey = setPrivateKey) : this._primeCode = 8;\n }\n DH.prototype = {}, Object.defineProperty(DH.prototype, \"verifyError\", {\n enumerable: !0,\n get: function() {\n return typeof this._primeCode != \"number\" && (this._primeCode = checkPrime(this.__prime, this.__gen)), this._primeCode;\n }\n }), DH.prototype.generateKeys = function() {\n return this._priv || (this._priv = new BN(randomBytes(this._primeLen))), this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(), this.getPublicKey();\n }, DH.prototype.computeSecret = function(other) {\n other = new BN(other), other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed(), out = new Buffer(secret.toArray()), prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0), out = Buffer.concat([front, out]);\n }\n return out;\n }, DH.prototype.getPublicKey = function(enc) {\n return formatReturnValue(this._pub, enc);\n }, DH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this._priv, enc);\n }, DH.prototype.getPrime = function(enc) {\n return formatReturnValue(this.__prime, enc);\n }, DH.prototype.getGenerator = function(enc) {\n return formatReturnValue(this._gen, enc);\n }, DH.prototype.setGenerator = function(gen, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(gen) || (gen = new Buffer(gen, enc)), this.__gen = gen, this._gen = new BN(gen), this;\n };\n function formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_browser7 = __commonJS({\n \"node_modules/diffie-hellman/browser.js\"(exports) {\n var generatePrime = require_generatePrime(), primes = require_primes(), DH = require_dh();\n function getDiffieHellman(mod) {\n var prime = new Buffer(primes[mod].prime, \"hex\"), gen = new Buffer(primes[mod].gen, \"hex\");\n return new DH(prime, gen);\n }\n var ENCODINGS = {\n binary: !0,\n hex: !0,\n base64: !0\n };\n function createDiffieHellman(prime, enc, generator, genc) {\n return Buffer.isBuffer(enc) || ENCODINGS[enc] === void 0 \? createDiffieHellman(prime, \"binary\", enc, generator) : (enc = enc || \"binary\", genc = genc || \"binary\", generator = generator || new Buffer([2]), Buffer.isBuffer(generator) || (generator = new Buffer(generator, genc)), typeof prime == \"number\" \? new DH(generatePrime(prime, generator), generator, !0) : (Buffer.isBuffer(prime) || (prime = new Buffer(prime, enc)), new DH(prime, generator, !0)));\n }\n exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman, exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman;\n }\n}), require_bn3 = require_bn, require_browserify_rsa = __commonJS({\n \"node_modules/browserify-rsa/index.js\"(exports, module) {\n var BN = require_bn3(), randomBytes = require_browser();\n function blind(priv) {\n var r = getr(priv), blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();\n return { blinder, unblinder: r.invm(priv.modulus) };\n }\n function getr(priv) {\n var len = priv.modulus.byteLength(), r;\n do\n r = new BN(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2));\n return r;\n }\n function crt(msg, priv) {\n var blinds = blind(priv), len = priv.modulus.byteLength(), blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus), c1 = blinded.toRed(BN.mont(priv.prime1)), c2 = blinded.toRed(BN.mont(priv.prime2)), qinv = priv.coefficient, p = priv.prime1, q = priv.prime2, m1 = c1.redPow(priv.exponent1).fromRed(), m2 = c2.redPow(priv.exponent2).fromRed(), h = m1.isub(m2).imul(qinv).umod(p).imul(q);\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, \"be\", len);\n }\n crt.getr = getr, module.exports = crt;\n }\n}), require_package = __commonJS({\n \"node_modules/elliptic/package.json\"(exports, module) {\n module.exports = {\n name: \"elliptic\",\n version: \"6.5.4\",\n description: \"EC cryptography\",\n main: \"lib/elliptic.js\",\n files: [\"lib\"],\n scripts: {\n lint: \"eslint lib test\",\n \"lint:fix\": \"npm run lint -- --fix\",\n unit: \"istanbul test _mocha --reporter=spec test/index.js\",\n test: \"npm run lint && npm run unit\",\n version: \"grunt dist && git add dist/\"\n },\n repository: {\n type: \"git\",\n url: \"git@github.com:indutny/elliptic\"\n },\n keywords: [\"EC\", \"Elliptic\", \"curve\", \"Cryptography\"],\n author: \"Fedor Indutny <fedor@indutny.com>\",\n license: \"MIT\",\n bugs: {\n url: \"https://github.com/indutny/elliptic/issues\"\n },\n homepage: \"https://github.com/indutny/elliptic\",\n devDependencies: {\n brfs: \"^2.0.2\",\n coveralls: \"^3.1.0\",\n eslint: \"^7.6.0\",\n grunt: \"^1.2.1\",\n \"grunt-browserify\": \"^5.3.0\",\n \"grunt-cli\": \"^1.3.2\",\n \"grunt-contrib-connect\": \"^3.0.0\",\n \"grunt-contrib-copy\": \"^1.0.0\",\n \"grunt-contrib-uglify\": \"^5.0.0\",\n \"grunt-mocha-istanbul\": \"^5.0.2\",\n \"grunt-saucelabs\": \"^9.0.1\",\n istanbul: \"^0.4.5\",\n mocha: \"^8.0.1\"\n },\n dependencies: {\n \"bn.js\": \"^4.11.9\",\n brorand: \"^1.1.0\",\n \"hash.js\": \"^1.0.0\",\n \"hmac-drbg\": \"^1.0.1\",\n inherits: \"^2.0.4\",\n \"minimalistic-assert\": \"^1.0.1\",\n \"minimalistic-crypto-utils\": \"^1.0.1\"\n }\n };\n }\n}), require_bn4 = require_bn, require_utils2 = __commonJS({\n \"node_modules/minimalistic-crypto-utils/lib/utils.js\"(exports) {\n var utils = exports;\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg != \"string\") {\n for (var i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg);\n for (var i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i), hi = c >> 8, lo = c & 255;\n hi \? res.push(hi, lo) : res.push(lo);\n }\n return res;\n }\n utils.toArray = toArray;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n utils.zero2 = zero2;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n utils.toHex = toHex, utils.encode = function(arr, enc) {\n return enc === \"hex\" \? toHex(arr) : arr;\n };\n }\n}), require_utils3 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/utils.js\"(exports) {\n var utils = exports, BN = require_bn4(), minAssert = require_minimalistic_assert(), minUtils = require_utils2();\n utils.assert = minAssert, utils.toArray = minUtils.toArray, utils.zero2 = minUtils.zero2, utils.toHex = minUtils.toHex, utils.encode = minUtils.encode;\n function getNAF(num, w, bits) {\n var naf = new @Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n for (var ws = 1 << w + 1, k = num.clone(), i = 0;i < naf.length; i++) {\n var z, mod = k.andln(ws - 1);\n k.isOdd() \? (mod > (ws >> 1) - 1 \? z = (ws >> 1) - mod : z = mod, k.isubn(z)) : z = 0, naf[i] = z, k.iushrn(1);\n }\n return naf;\n }\n utils.getNAF = getNAF;\n function getJSF(k1, k2) {\n var jsf = [[], []];\n k1 = k1.clone(), k2 = k2.clone();\n for (var d1 = 0, d2 = 0, m8;k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0; ) {\n var m14 = k1.andln(3) + d1 & 3, m24 = k2.andln(3) + d2 & 3;\n m14 === 3 && (m14 = -1), m24 === 3 && (m24 = -1);\n var u1;\n (m14 & 1) === 0 \? u1 = 0 : (m8 = k1.andln(7) + d1 & 7, (m8 === 3 || m8 === 5) && m24 === 2 \? u1 = -m14 : u1 = m14), jsf[0].push(u1);\n var u2;\n (m24 & 1) === 0 \? u2 = 0 : (m8 = k2.andln(7) + d2 & 7, (m8 === 3 || m8 === 5) && m14 === 2 \? u2 = -m24 : u2 = m24), jsf[1].push(u2), 2 * d1 === u1 + 1 && (d1 = 1 - d1), 2 * d2 === u2 + 1 && (d2 = 1 - d2), k1.iushrn(1), k2.iushrn(1);\n }\n return jsf;\n }\n utils.getJSF = getJSF;\n function cachedProperty(obj, name, computer) {\n var key2 = \"_\" + name;\n obj.prototype[name] = function() {\n return this[key2] !== void 0 \? this[key2] : this[key2] = computer.@call(this);\n };\n }\n utils.cachedProperty = cachedProperty;\n function parseBytes(bytes) {\n if (bytes instanceof KeyObject)\n bytes = bytes.export();\n else if (bytes instanceof CryptoKey)\n bytes = KeyObject.from(bytes).export();\n return typeof bytes == \"string\" \? utils.toArray(bytes, \"hex\") : bytes;\n }\n utils.parseBytes = parseBytes;\n function intFromLE(bytes) {\n return new BN(bytes, \"hex\", \"le\");\n }\n utils.intFromLE = intFromLE;\n }\n}), require_base = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/base.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), getNAF = utils.getNAF, getJSF = utils.getJSF, assert = utils.assert;\n function BaseCurve(type, conf) {\n this.type = type, this.p = new BN(conf.p, 16), this.red = conf.prime \? BN.red(conf.prime) : BN.mont(this.p), this.zero = new BN(0).toRed(this.red), this.one = new BN(1).toRed(this.red), this.two = new BN(2).toRed(this.red), this.n = conf.n && new BN(conf.n, 16), this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed), this._wnafT1 = new @Array(4), this._wnafT2 = new @Array(4), this._wnafT3 = new @Array(4), this._wnafT4 = new @Array(4), this._bitLength = this.n \? this.n.bitLength() : 0;\n var adjustCount = this.n && this.p.div(this.n);\n !adjustCount || adjustCount.cmpn(100) > 0 \? this.redN = null : (this._maxwellTrick = !0, this.redN = this.n.toRed(this.red));\n }\n module.exports = BaseCurve, BaseCurve.prototype = {}, BaseCurve.prototype.point = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype.validate = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype._fixedNafMul = function(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles(), naf = getNAF(k, 1, this._bitLength), I = (1 << doubles.step + 1) - (doubles.step % 2 === 0 \? 2 : 1);\n I /= 3;\n var repr = [], j, nafW;\n for (j = 0;j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1;l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n for (var a = this.jpoint(null, null, null), b = this.jpoint(null, null, null), i = I;i > 0; i--) {\n for (j = 0;j < repr.length; j++)\n nafW = repr[j], nafW === i \? b = b.mixedAdd(doubles.points[j]) : nafW === -i && (b = b.mixedAdd(doubles.points[j].neg()));\n a = a.add(b);\n }\n return a.toP();\n }, BaseCurve.prototype._wnafMul = function(p, k) {\n var w = 4, nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n for (var wnd = nafPoints.points, naf = getNAF(k, w, this._bitLength), acc = this.jpoint(null, null, null), i = naf.length - 1;i >= 0; i--) {\n for (var l = 0;i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0 && l++, acc = acc.dblp(l), i < 0)\n break;\n var z = naf[i];\n assert(z !== 0), p.type === \"affine\" \? z > 0 \? acc = acc.mixedAdd(wnd[z - 1 >> 1]) : acc = acc.mixedAdd(wnd[-z - 1 >> 1].neg()) : z > 0 \? acc = acc.add(wnd[z - 1 >> 1]) : acc = acc.add(wnd[-z - 1 >> 1].neg());\n }\n return p.type === \"affine\" \? acc.toP() : acc;\n }, BaseCurve.prototype._wnafMulAdd = function(defW, points, coeffs, len, jacobianResult) {\n var wndWidth = this._wnafT1, wnd = this._wnafT2, naf = this._wnafT3, max = 0, i, j, p;\n for (i = 0;i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd, wnd[i] = nafPoints.points;\n }\n for (i = len - 1;i >= 1; i -= 2) {\n var a = i - 1, b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength), naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength), max = Math.max(naf[a].length, max), max = Math.max(naf[b].length, max);\n continue;\n }\n var comb = [points[a], null, null, points[b]];\n points[a].y.cmp(points[b].y) === 0 \? (comb[1] = points[a].add(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg())) : points[a].y.cmp(points[b].y.redNeg()) === 0 \? (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].add(points[b].neg())) : (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg()));\n var index = [-3, -1, -5, -7, 0, 7, 5, 1, 3], jsf = getJSF(coeffs[a], coeffs[b]);\n for (max = Math.max(jsf[0].length, max), naf[a] = new @Array(max), naf[b] = new @Array(max), j = 0;j < max; j++) {\n var ja = jsf[0][j] | 0, jb = jsf[1][j] | 0;\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)], naf[b][j] = 0, wnd[a] = comb;\n }\n }\n var acc = this.jpoint(null, null, null), tmp = this._wnafT4;\n for (i = max;i >= 0; i--) {\n for (var k = 0;i >= 0; ) {\n var zero = !0;\n for (j = 0;j < len; j++)\n tmp[j] = naf[j][i] | 0, tmp[j] !== 0 && (zero = !1);\n if (!zero)\n break;\n k++, i--;\n }\n if (i >= 0 && k++, acc = acc.dblp(k), i < 0)\n break;\n for (j = 0;j < len; j++) {\n var z = tmp[j];\n z !== 0 && (z > 0 \? p = wnd[j][z - 1 >> 1] : z < 0 && (p = wnd[j][-z - 1 >> 1].neg()), p.type === \"affine\" \? acc = acc.mixedAdd(p) : acc = acc.add(p));\n }\n }\n for (i = 0;i < len; i++)\n wnd[i] = null;\n return jacobianResult \? acc : acc.toP();\n };\n function BasePoint(curve, type) {\n this.curve = curve, this.type = type, this.precomputed = null;\n }\n BasePoint.prototype = {}, BaseCurve.BasePoint = BasePoint, BasePoint.prototype.eq = function() {\n throw new Error(\"Not implemented\");\n }, BasePoint.prototype.validate = function() {\n return this.curve.validate(this);\n }, BaseCurve.prototype.decodePoint = function(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n var len = this.p.byteLength();\n if ((bytes[0] === 4 || bytes[0] === 6 || bytes[0] === 7) && bytes.length - 1 === 2 * len) {\n bytes[0] === 6 \? assert(bytes[bytes.length - 1] % 2 === 0) : bytes[0] === 7 && assert(bytes[bytes.length - 1] % 2 === 1);\n var res = this.point(bytes.slice(1, 1 + len), bytes.slice(1 + len, 1 + 2 * len));\n return res;\n } else if ((bytes[0] === 2 || bytes[0] === 3) && bytes.length - 1 === len)\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 3);\n throw new Error(\"Unknown point format\");\n }, BasePoint.prototype.encodeCompressed = function(enc) {\n return this.encode(enc, !0);\n }, BasePoint.prototype._encode = function(compact) {\n var len = this.curve.p.byteLength(), x = this.getX().toArray(\"be\", len);\n return compact \? [this.getY().isEven() \? 2 : 3].concat(x) : [4].concat(x, this.getY().toArray(\"be\", len));\n }, BasePoint.prototype.encode = function(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n }, BasePoint.prototype.precompute = function(power) {\n if (this.precomputed)\n return this;\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n return precomputed.naf = this._getNAFPoints(8), precomputed.doubles = this._getDoubles(4, power), precomputed.beta = this._getBeta(), this.precomputed = precomputed, this;\n }, BasePoint.prototype._hasDoubles = function(k) {\n if (!this.precomputed)\n return !1;\n var doubles = this.precomputed.doubles;\n return doubles \? doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step) : !1;\n }, BasePoint.prototype._getDoubles = function(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n for (var doubles = [this], acc = this, i = 0;i < power; i += step) {\n for (var j = 0;j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step,\n points: doubles\n };\n }, BasePoint.prototype._getNAFPoints = function(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n for (var res = [this], max = (1 << wnd) - 1, dbl = max === 1 \? null : this.dbl(), i = 1;i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd,\n points: res\n };\n }, BasePoint.prototype._getBeta = function() {\n return null;\n }, BasePoint.prototype.dblp = function(k) {\n for (var r = this, i = 0;i < k; i++)\n r = r.dbl();\n return r;\n };\n }\n}), require_short = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/short.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function ShortCurve(conf) {\n Base.@call(this, \"short\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.tinv = this.two.redInvm(), this.zeroA = this.a.fromRed().cmpn(0) === 0, this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0, this.endo = this._getEndomorphism(conf), this._endoWnafT1 = new @Array(4), this._endoWnafT2 = new @Array(4);\n }\n inherits(ShortCurve, Base), module.exports = ShortCurve, ShortCurve.prototype._getEndomorphism = function(conf) {\n if (!(!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)) {\n var beta, lambda;\n if (conf.beta)\n beta = new BN(conf.beta, 16).toRed(this.red);\n else {\n var betas = this._getEndoRoots(this.p);\n beta = betas[0].cmp(betas[1]) < 0 \? betas[0] : betas[1], beta = beta.toRed(this.red);\n }\n if (conf.lambda)\n lambda = new BN(conf.lambda, 16);\n else {\n var lambdas = this._getEndoRoots(this.n);\n this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0 \? lambda = lambdas[0] : (lambda = lambdas[1], assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0));\n }\n var basis;\n return conf.basis \? basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n }) : basis = this._getEndoBasis(lambda), {\n beta,\n lambda,\n basis\n };\n }\n }, ShortCurve.prototype._getEndoRoots = function(num) {\n var red = num === this.p \? this.red : BN.mont(num), tinv = new BN(2).toRed(red).redInvm(), ntinv = tinv.redNeg(), s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv), l1 = ntinv.redAdd(s).fromRed(), l2 = ntinv.redSub(s).fromRed();\n return [l1, l2];\n }, ShortCurve.prototype._getEndoBasis = function(lambda) {\n for (var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)), u = lambda, v = this.n.clone(), x1 = new BN(1), y1 = new BN(0), x2 = new BN(0), y2 = new BN(1), a0, b0, a1, b1, a2, b2, prevR, i = 0, r, x;u.cmpn(0) !== 0; ) {\n var q = v.div(u);\n r = v.sub(q.mul(u)), x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n if (!a1 && r.cmp(aprxSqrt) < 0)\n a0 = prevR.neg(), b0 = x1, a1 = r.neg(), b1 = x;\n else if (a1 && ++i === 2)\n break;\n prevR = r, v = u, u = r, x2 = x1, x1 = x, y2 = y1, y1 = y;\n }\n a2 = r.neg(), b2 = x;\n var len1 = a1.sqr().add(b1.sqr()), len2 = a2.sqr().add(b2.sqr());\n return len2.cmp(len1) >= 0 && (a2 = a0, b2 = b0), a1.negative && (a1 = a1.neg(), b1 = b1.neg()), a2.negative && (a2 = a2.neg(), b2 = b2.neg()), [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n }, ShortCurve.prototype._endoSplit = function(k) {\n var basis = this.endo.basis, v1 = basis[0], v2 = basis[1], c1 = v2.b.mul(k).divRound(this.n), c2 = v1.b.neg().mul(k).divRound(this.n), p1 = c1.mul(v1.a), p2 = c2.mul(v2.a), q1 = c1.mul(v1.b), q2 = c2.mul(v2.b), k1 = k.sub(p1).sub(p2), k2 = q1.add(q2).neg();\n return { k1, k2 };\n }, ShortCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, ShortCurve.prototype.validate = function(point) {\n if (point.inf)\n return !0;\n var { x, y } = point, ax = this.a.redMul(x), rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n }, ShortCurve.prototype._endoWnafMulAdd = function(points, coeffs, jacobianResult) {\n for (var npoints = this._endoWnafT1, ncoeffs = this._endoWnafT2, i = 0;i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]), p = points[i], beta = p._getBeta();\n split.k1.negative && (split.k1.ineg(), p = p.neg(!0)), split.k2.negative && (split.k2.ineg(), beta = beta.neg(!0)), npoints[i * 2] = p, npoints[i * 2 + 1] = beta, ncoeffs[i * 2] = split.k1, ncoeffs[i * 2 + 1] = split.k2;\n }\n for (var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult), j = 0;j < i * 2; j++)\n npoints[j] = null, ncoeffs[j] = null;\n return res;\n };\n function Point(curve, x, y, isRed) {\n Base.BasePoint.@call(this, curve, \"affine\"), x === null && y === null \? (this.x = null, this.y = null, this.inf = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), isRed && (this.x.forceRed(this.curve.red), this.y.forceRed(this.curve.red)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.inf = !1);\n }\n inherits(Point, Base.BasePoint), ShortCurve.prototype.point = function(x, y, isRed) {\n return new Point(this, x, y, isRed);\n }, ShortCurve.prototype.pointFromJSON = function(obj, red) {\n return Point.fromJSON(this, obj, red);\n }, Point.prototype._getBeta = function() {\n if (this.curve.endo) {\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve, endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta, beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n }\n }, Point.prototype.toJSON = function() {\n return this.precomputed \? [\n this.x,\n this.y,\n this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n }\n ] : [this.x, this.y];\n }, Point.fromJSON = function(curve, obj, red) {\n typeof obj == \"string\" && (obj = JSON.parse(obj));\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n function obj2point(obj2) {\n return curve.point(obj2[0], obj2[1], red);\n }\n var pre = obj[2];\n return res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [res].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [res].concat(pre.naf.points.map(obj2point))\n }\n }, res;\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.inf;\n }, Point.prototype.add = function(p) {\n if (this.inf)\n return p;\n if (p.inf)\n return this;\n if (this.eq(p))\n return this.dbl();\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n var c = this.y.redSub(p.y);\n c.cmpn(0) !== 0 && (c = c.redMul(this.x.redSub(p.x).redInvm()));\n var nx = c.redSqr().redISub(this.x).redISub(p.x), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.dbl = function() {\n if (this.inf)\n return this;\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n var a = this.curve.a, x2 = this.x.redSqr(), dyinv = ys1.redInvm(), c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv), nx = c.redSqr().redISub(this.x.redAdd(this.x)), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.getX = function() {\n return this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.y.fromRed();\n }, Point.prototype.mul = function(k) {\n return k = new BN(k, 16), this.isInfinity() \? this : this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve.endo \? this.curve._endoWnafMulAdd([this], [k]) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs) : this.curve._wnafMulAdd(1, points, coeffs, 2);\n }, Point.prototype.jmulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs, !0) : this.curve._wnafMulAdd(1, points, coeffs, 2, !0);\n }, Point.prototype.eq = function(p) {\n return this === p || this.inf === p.inf && (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n }, Point.prototype.neg = function(_precompute) {\n if (this.inf)\n return this;\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed, negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n }, Point.prototype.toJ = function() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n };\n function JPoint(curve, x, y, z) {\n Base.BasePoint.@call(this, curve, \"jacobian\"), x === null && y === null && z === null \? (this.x = this.curve.one, this.y = this.curve.one, this.z = new BN(0)) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = new BN(z, 16)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.zOne = this.z === this.curve.one;\n }\n inherits(JPoint, Base.BasePoint), ShortCurve.prototype.jpoint = function(x, y, z) {\n return new JPoint(this, x, y, z);\n }, JPoint.prototype.toP = function() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n var zinv = this.z.redInvm(), zinv2 = zinv.redSqr(), ax = this.x.redMul(zinv2), ay = this.y.redMul(zinv2).redMul(zinv);\n return this.curve.point(ax, ay);\n }, JPoint.prototype.neg = function() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n }, JPoint.prototype.add = function(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n var pz2 = p.z.redSqr(), z2 = this.z.redSqr(), u1 = this.x.redMul(pz2), u2 = p.x.redMul(z2), s1 = this.y.redMul(pz2.redMul(p.z)), s2 = p.y.redMul(z2.redMul(this.z)), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(p.z).redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mixedAdd = function(p) {\n if (this.isInfinity())\n return p.toJ();\n if (p.isInfinity())\n return this;\n var z2 = this.z.redSqr(), u1 = this.x, u2 = p.x.redMul(z2), s1 = this.y, s2 = p.y.redMul(z2).redMul(this.z), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.dblp = function(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0;i < pow; i++)\n r = r.dbl();\n return r;\n }\n var a = this.curve.a, tinv = this.curve.tinv, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jyd = jy.redAdd(jy);\n for (i = 0;i < pow; i++) {\n var jx2 = jx.redSqr(), jyd2 = jyd.redSqr(), jyd4 = jyd2.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), t1 = jx.redMul(jyd2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n i + 1 < pow && (jz4 = jz4.redMul(jyd4)), jx = nx, jz = nz, jyd = dny;\n }\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n }, JPoint.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.zeroA \? this._zeroDbl() : this.curve.threeA \? this._threeDbl() : this._dbl();\n }, JPoint.prototype._zeroDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx), t = m.redSqr().redISub(s).redISub(s), yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), nx = t, ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = b.redSqr(), d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n var e = a.redAdd(a).redIAdd(a), f = e.redSqr(), c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8), c8 = c8.redIAdd(c8), nx = f.redISub(d).redISub(d), ny = e.redMul(d.redISub(nx)).redISub(c8), nz = this.y.redMul(this.z), nz = nz.redIAdd(nz);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._threeDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a), t = m.redSqr().redISub(s).redISub(s);\n nx = t;\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var delta = this.z.redSqr(), gamma = this.y.redSqr(), beta = this.x.redMul(gamma), alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8), nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._dbl = function() {\n var a = this.curve.a, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jx2 = jx.redSqr(), jy2 = jy.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8), nz = jy.redAdd(jy).redMul(jz);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.trpl = function() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n var xx = this.x.redSqr(), yy = this.y.redSqr(), zz = this.z.redSqr(), yyyy = yy.redSqr(), m = xx.redAdd(xx).redIAdd(xx), mm = m.redSqr(), e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e), e = e.redAdd(e).redIAdd(e), e = e.redISub(mm);\n var ee = e.redSqr(), t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t), t = t.redIAdd(t), t = t.redIAdd(t);\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t), yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4), yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx), nx = nx.redIAdd(nx);\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny), ny = ny.redIAdd(ny), ny = ny.redIAdd(ny);\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mul = function(k, kbase) {\n return k = new BN(k, kbase), this.curve._wnafMul(this, k);\n }, JPoint.prototype.eq = function(p) {\n if (p.type === \"affine\")\n return this.eq(p.toJ());\n if (this === p)\n return !0;\n var z2 = this.z.redSqr(), pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return !1;\n var z3 = z2.redMul(this.z), pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n }, JPoint.prototype.eqXToP = function(x) {\n var zs = this.z.redSqr(), rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(zs);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, JPoint.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC JPoint Infinity>\" : \"<EC JPoint x: \" + this.x.toString(16, 2) + \" y: \" + this.y.toString(16, 2) + \" z: \" + this.z.toString(16, 2) + \">\";\n }, JPoint.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n };\n }\n}), require_mont = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/mont.js\"(exports, module) {\n var BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), utils = require_utils3();\n function MontCurve(conf) {\n Base.@call(this, \"mont\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.i4 = new BN(4).toRed(this.red).redInvm(), this.two = new BN(2).toRed(this.red), this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n }\n inherits(MontCurve, Base), module.exports = MontCurve, MontCurve.prototype.validate = function(point) {\n var x = point.normalize().x, x2 = x.redSqr(), rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x), y = rhs.redSqrt();\n return y.redSqr().cmp(rhs) === 0;\n };\n function Point(curve, x, z) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && z === null \? (this.x = this.curve.one, this.z = this.curve.zero) : (this.x = new BN(x, 16), this.z = new BN(z, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)));\n }\n inherits(Point, Base.BasePoint), MontCurve.prototype.decodePoint = function(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n }, MontCurve.prototype.point = function(x, z) {\n return new Point(this, x, z);\n }, MontCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, Point.prototype.precompute = function() {\n }, Point.prototype._encode = function() {\n return this.getX().toArray(\"be\", this.curve.p.byteLength());\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n }, Point.prototype.dbl = function() {\n var a = this.x.redAdd(this.z), aa = a.redSqr(), b = this.x.redSub(this.z), bb = b.redSqr(), c = aa.redSub(bb), nx = aa.redMul(bb), nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n }, Point.prototype.add = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.diffAdd = function(p, diff) {\n var a = this.x.redAdd(this.z), b = this.x.redSub(this.z), c = p.x.redAdd(p.z), d = p.x.redSub(p.z), da = d.redMul(a), cb = c.redMul(b), nx = diff.z.redMul(da.redAdd(cb).redSqr()), nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n }, Point.prototype.mul = function(k) {\n for (var t = k.clone(), a = this, b = this.curve.point(null, null), c = this, bits = [];t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n for (var i = bits.length - 1;i >= 0; i--)\n bits[i] === 0 \? (a = a.diffAdd(b, c), b = b.dbl()) : (b = a.diffAdd(b, c), a = a.dbl());\n return b;\n }, Point.prototype.mulAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.jumlAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.eq = function(other) {\n return this.getX().cmp(other.getX()) === 0;\n }, Point.prototype.normalize = function() {\n return this.x = this.x.redMul(this.z.redInvm()), this.z = this.curve.one, this;\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n };\n }\n}), require_edwards = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/edwards.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function EdwardsCurve(conf) {\n this.twisted = (conf.a | 0) !== 1, this.mOneA = this.twisted && (conf.a | 0) === -1, this.extended = this.mOneA, Base.@call(this, \"edwards\", conf), this.a = new BN(conf.a, 16).umod(this.red.m), this.a = this.a.toRed(this.red), this.c = new BN(conf.c, 16).toRed(this.red), this.c2 = this.c.redSqr(), this.d = new BN(conf.d, 16).toRed(this.red), this.dd = this.d.redAdd(this.d), assert(!this.twisted || this.c.fromRed().cmpn(1) === 0), this.oneC = (conf.c | 0) === 1;\n }\n inherits(EdwardsCurve, Base), module.exports = EdwardsCurve, EdwardsCurve.prototype._mulA = function(num) {\n return this.mOneA \? num.redNeg() : this.a.redMul(num);\n }, EdwardsCurve.prototype._mulC = function(num) {\n return this.oneC \? num : this.c.redMul(num);\n }, EdwardsCurve.prototype.jpoint = function(x, y, z, t) {\n return this.point(x, y, z, t);\n }, EdwardsCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var x2 = x.redSqr(), rhs = this.c2.redSub(this.a.redMul(x2)), lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)), y2 = rhs.redMul(lhs.redInvm()), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.pointFromY = function(y, odd) {\n y = new BN(y, 16), y.red || (y = y.toRed(this.red));\n var y2 = y.redSqr(), lhs = y2.redSub(this.c2), rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a), x2 = lhs.redMul(rhs.redInvm());\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error(\"invalid point\");\n return this.point(this.zero, y);\n }\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n return x.fromRed().isOdd() !== odd && (x = x.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.validate = function(point) {\n if (point.isInfinity())\n return !0;\n point.normalize();\n var x2 = point.x.redSqr(), y2 = point.y.redSqr(), lhs = x2.redMul(this.a).redAdd(y2), rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n return lhs.cmp(rhs) === 0;\n };\n function Point(curve, x, y, z, t) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && y === null && z === null \? (this.x = this.curve.zero, this.y = this.curve.one, this.z = this.curve.one, this.t = this.curve.zero, this.zOne = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = z \? new BN(z, 16) : this.curve.one, this.t = t && new BN(t, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.t && !this.t.red && (this.t = this.t.toRed(this.curve.red)), this.zOne = this.z === this.curve.one, this.curve.extended && !this.t && (this.t = this.x.redMul(this.y), this.zOne || (this.t = this.t.redMul(this.z.redInvm()))));\n }\n inherits(Point, Base.BasePoint), EdwardsCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, EdwardsCurve.prototype.point = function(x, y, z, t) {\n return new Point(this, x, y, z, t);\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.x.cmpn(0) === 0 && (this.y.cmp(this.z) === 0 || this.zOne && this.y.cmp(this.curve.c) === 0);\n }, Point.prototype._extDbl = function() {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = this.z.redSqr();\n c = c.redIAdd(c);\n var d = this.curve._mulA(a), e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b), g = d.redAdd(b), f = g.redSub(c), h = d.redSub(b), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projDbl = function() {\n var b = this.x.redAdd(this.y).redSqr(), c = this.x.redSqr(), d = this.y.redSqr(), nx, ny, nz, e, h, j;\n if (this.curve.twisted) {\n e = this.curve._mulA(c);\n var f = e.redAdd(d);\n this.zOne \? (nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)), ny = f.redMul(e.redSub(d)), nz = f.redSqr().redSub(f).redSub(f)) : (h = this.z.redSqr(), j = f.redSub(h).redISub(h), nx = b.redSub(c).redISub(d).redMul(j), ny = f.redMul(e.redSub(d)), nz = f.redMul(j));\n } else\n e = c.redAdd(d), h = this.curve._mulC(this.z).redSqr(), j = e.redSub(h).redSub(h), nx = this.curve._mulC(b.redISub(e)).redMul(j), ny = this.curve._mulC(e).redMul(c.redISub(d)), nz = e.redMul(j);\n return this.curve.point(nx, ny, nz);\n }, Point.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.extended \? this._extDbl() : this._projDbl();\n }, Point.prototype._extAdd = function(p) {\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)), b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)), c = this.t.redMul(this.curve.dd).redMul(p.t), d = this.z.redMul(p.z.redAdd(p.z)), e = b.redSub(a), f = d.redSub(c), g = d.redAdd(c), h = b.redAdd(a), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projAdd = function(p) {\n var a = this.z.redMul(p.z), b = a.redSqr(), c = this.x.redMul(p.x), d = this.y.redMul(p.y), e = this.curve.d.redMul(c).redMul(d), f = b.redSub(e), g = b.redAdd(e), tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d), nx = a.redMul(f).redMul(tmp), ny, nz;\n return this.curve.twisted \? (ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))), nz = f.redMul(g)) : (ny = a.redMul(g).redMul(d.redSub(c)), nz = this.curve._mulC(f).redMul(g)), this.curve.point(nx, ny, nz);\n }, Point.prototype.add = function(p) {\n return this.isInfinity() \? p : p.isInfinity() \? this : this.curve.extended \? this._extAdd(p) : this._projAdd(p);\n }, Point.prototype.mul = function(k) {\n return this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !1);\n }, Point.prototype.jmulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !0);\n }, Point.prototype.normalize = function() {\n if (this.zOne)\n return this;\n var zi = this.z.redInvm();\n return this.x = this.x.redMul(zi), this.y = this.y.redMul(zi), this.t && (this.t = this.t.redMul(zi)), this.z = this.curve.one, this.zOne = !0, this;\n }, Point.prototype.neg = function() {\n return this.curve.point(this.x.redNeg(), this.y, this.z, this.t && this.t.redNeg());\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.normalize(), this.y.fromRed();\n }, Point.prototype.eq = function(other) {\n return this === other || this.getX().cmp(other.getX()) === 0 && this.getY().cmp(other.getY()) === 0;\n }, Point.prototype.eqXToP = function(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(this.z);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, Point.prototype.toP = Point.prototype.normalize, Point.prototype.mixedAdd = Point.prototype.add;\n }\n}), require_curve = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/index.js\"(exports) {\n var curve = exports;\n curve.base = require_base(), curve.short = require_short(), curve.mont = require_mont(), curve.edwards = require_edwards();\n }\n}), require_utils4 = __commonJS({\n \"node_modules/hash.js/lib/hash/utils.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser();\n exports.inherits = inherits;\n function isSurrogatePair(msg, i) {\n return (msg.charCodeAt(i) & 64512) !== 55296 || i < 0 || i + 1 >= msg.length \? !1 : (msg.charCodeAt(i + 1) & 64512) === 56320;\n }\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg == \"string\")\n if (enc) {\n if (enc === \"hex\")\n for (msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg), i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var p = 0, i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n c < 128 \? res[p++] = c : c < 2048 \? (res[p++] = c >> 6 | 192, res[p++] = c & 63 | 128) : isSurrogatePair(msg, i) \? (c = 65536 + ((c & 1023) << 10) + (msg.charCodeAt(++i) & 1023), res[p++] = c >> 18 | 240, res[p++] = c >> 12 & 63 | 128, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128) : (res[p++] = c >> 12 | 224, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128);\n }\n else\n for (i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n exports.toArray = toArray;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n exports.toHex = toHex;\n function htonl(w) {\n var res = w >>> 24 | w >>> 8 & 65280 | w << 8 & 16711680 | (w & 255) << 24;\n return res >>> 0;\n }\n exports.htonl = htonl;\n function toHex32(msg, endian) {\n for (var res = \"\", i = 0;i < msg.length; i++) {\n var w = msg[i];\n endian === \"little\" && (w = htonl(w)), res += zero8(w.toString(16));\n }\n return res;\n }\n exports.toHex32 = toHex32;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n exports.zero2 = zero2;\n function zero8(word) {\n return word.length === 7 \? \"0\" + word : word.length === 6 \? \"00\" + word : word.length === 5 \? \"000\" + word : word.length === 4 \? \"0000\" + word : word.length === 3 \? \"00000\" + word : word.length === 2 \? \"000000\" + word : word.length === 1 \? \"0000000\" + word : word;\n }\n exports.zero8 = zero8;\n function join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n for (var res = new @Array(len / 4), i = 0, k = start;i < res.length; i++, k += 4) {\n var w;\n endian === \"big\" \? w = msg[k] << 24 | msg[k + 1] << 16 | msg[k + 2] << 8 | msg[k + 3] : w = msg[k + 3] << 24 | msg[k + 2] << 16 | msg[k + 1] << 8 | msg[k], res[i] = w >>> 0;\n }\n return res;\n }\n exports.join32 = join32;\n function split32(msg, endian) {\n for (var res = new @Array(msg.length * 4), i = 0, k = 0;i < msg.length; i++, k += 4) {\n var m = msg[i];\n endian === \"big\" \? (res[k] = m >>> 24, res[k + 1] = m >>> 16 & 255, res[k + 2] = m >>> 8 & 255, res[k + 3] = m & 255) : (res[k + 3] = m >>> 24, res[k + 2] = m >>> 16 & 255, res[k + 1] = m >>> 8 & 255, res[k] = m & 255);\n }\n return res;\n }\n exports.split32 = split32;\n function rotr32(w, b) {\n return w >>> b | w << 32 - b;\n }\n exports.rotr32 = rotr32;\n function rotl32(w, b) {\n return w << b | w >>> 32 - b;\n }\n exports.rotl32 = rotl32;\n function sum32(a, b) {\n return a + b >>> 0;\n }\n exports.sum32 = sum32;\n function sum32_3(a, b, c) {\n return a + b + c >>> 0;\n }\n exports.sum32_3 = sum32_3;\n function sum32_4(a, b, c, d) {\n return a + b + c + d >>> 0;\n }\n exports.sum32_4 = sum32_4;\n function sum32_5(a, b, c, d, e) {\n return a + b + c + d + e >>> 0;\n }\n exports.sum32_5 = sum32_5;\n function sum64(buf, pos, ah, al) {\n var bh = buf[pos], bl = buf[pos + 1], lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0, buf[pos + 1] = lo;\n }\n exports.sum64 = sum64;\n function sum64_hi(ah, al, bh, bl) {\n var lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n return hi >>> 0;\n }\n exports.sum64_hi = sum64_hi;\n function sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n }\n exports.sum64_lo = sum64_lo;\n function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0;\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n }\n exports.sum64_4_hi = sum64_4_hi;\n function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n }\n exports.sum64_4_lo = sum64_4_lo;\n function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0, lo = lo + el >>> 0, carry += lo < el \? 1 : 0;\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n }\n exports.sum64_5_hi = sum64_5_hi;\n function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n return lo >>> 0;\n }\n exports.sum64_5_lo = sum64_5_lo;\n function rotr64_hi(ah, al, num) {\n var r = al << 32 - num | ah >>> num;\n return r >>> 0;\n }\n exports.rotr64_hi = rotr64_hi;\n function rotr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.rotr64_lo = rotr64_lo;\n function shr64_hi(ah, al, num) {\n return ah >>> num;\n }\n exports.shr64_hi = shr64_hi;\n function shr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.shr64_lo = shr64_lo;\n }\n}), require_common = __commonJS({\n \"node_modules/hash.js/lib/hash/common.js\"(exports) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function BlockHash() {\n this.pending = null, this.pendingTotal = 0, this.blockSize = this.constructor.blockSize, this.outSize = this.constructor.outSize, this.hmacStrength = this.constructor.hmacStrength, this.padLength = this.constructor.padLength / 8, this.endian = \"big\", this._delta8 = this.blockSize / 8, this._delta32 = this.blockSize / 32;\n }\n BlockHash.prototype = {}, exports.BlockHash = BlockHash, BlockHash.prototype.update = function(msg, enc) {\n if (msg = utils.toArray(msg, enc), this.pending \? this.pending = this.pending.concat(msg) : this.pending = msg, this.pendingTotal += msg.length, this.pending.length >= this._delta8) {\n msg = this.pending;\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length), this.pending.length === 0 && (this.pending = null), msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0;i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n return this;\n }, BlockHash.prototype.digest = function(enc) {\n return this.update(this._pad()), assert(this.pending === null), this._digest(enc);\n }, BlockHash.prototype._pad = function() {\n var len = this.pendingTotal, bytes = this._delta8, k = bytes - (len + this.padLength) % bytes, res = new @Array(k + this.padLength);\n res[0] = 128;\n for (var i = 1;i < k; i++)\n res[i] = 0;\n if (len <<= 3, this.endian === \"big\") {\n for (var t = 8;t < this.padLength; t++)\n res[i++] = 0;\n res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = len >>> 24 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 8 & 255, res[i++] = len & 255;\n } else\n for (res[i++] = len & 255, res[i++] = len >>> 8 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 24 & 255, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, t = 8;t < this.padLength; t++)\n res[i++] = 0;\n return res;\n };\n }\n}), require_common2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/common.js\"(exports) {\n var utils = require_utils4(), rotr32 = utils.rotr32;\n function ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n }\n exports.ft_1 = ft_1;\n function ch32(x, y, z) {\n return x & y ^ ~x & z;\n }\n exports.ch32 = ch32;\n function maj32(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n exports.maj32 = maj32;\n function p32(x, y, z) {\n return x ^ y ^ z;\n }\n exports.p32 = p32;\n function s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n }\n exports.s0_256 = s0_256;\n function s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n }\n exports.s1_256 = s1_256;\n function g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ x >>> 3;\n }\n exports.g0_256 = g0_256;\n function g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ x >>> 10;\n }\n exports.g1_256 = g1_256;\n }\n}), require__ = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/1.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_5 = utils.sum32_5, ft_1 = shaCommon.ft_1, BlockHash = common.BlockHash, sha1_K = [1518500249, 1859775393, 2400959708, 3395469782];\n function SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.W = new @Array(80);\n }\n utils.inherits(SHA1, BlockHash), module.exports = SHA1, SHA1.blockSize = 512, SHA1.outSize = 160, SHA1.hmacStrength = 80, SHA1.padLength = 64, SHA1.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4];\n for (i = 0;i < W.length; i++) {\n var s = ~~(i / 20), t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d, d = c, c = rotl32(b, 30), b = a, a = t;\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e);\n }, SHA1.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/256.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), assert = require_minimalistic_assert(), sum32 = utils.sum32, sum32_4 = utils.sum32_4, sum32_5 = utils.sum32_5, ch32 = shaCommon.ch32, maj32 = shaCommon.maj32, s0_256 = shaCommon.s0_256, s1_256 = shaCommon.s1_256, g0_256 = shaCommon.g0_256, g1_256 = shaCommon.g1_256, BlockHash = common.BlockHash, sha256_K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ];\n function SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256;\n BlockHash.@call(this), this.h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.k = sha256_K, this.W = new @Array(64);\n }\n utils.inherits(SHA256, BlockHash), module.exports = SHA256, SHA256.blockSize = 512, SHA256.outSize = 256, SHA256.hmacStrength = 192, SHA256.padLength = 64, SHA256.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4], f = this.h[5], g = this.h[6], h = this.h[7];\n for (assert(this.k.length === W.length), i = 0;i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]), T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g, g = f, f = e, e = sum32(d, T1), d = c, c = b, b = a, a = sum32(T1, T2);\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e), this.h[5] = sum32(this.h[5], f), this.h[6] = sum32(this.h[6], g), this.h[7] = sum32(this.h[7], h);\n }, SHA256.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/224.js\"(exports, module) {\n var utils = require_utils4(), SHA256 = require__2();\n function SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224;\n SHA256.@call(this), this.h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n }\n utils.inherits(SHA224, SHA256), module.exports = SHA224, SHA224.blockSize = 512, SHA224.outSize = 224, SHA224.hmacStrength = 192, SHA224.padLength = 64, SHA224.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 7), \"big\") : utils.split32(this.h.slice(0, 7), \"big\");\n };\n }\n}), require__4 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/512.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), assert = require_minimalistic_assert(), rotr64_hi = utils.rotr64_hi, rotr64_lo = utils.rotr64_lo, shr64_hi = utils.shr64_hi, shr64_lo = utils.shr64_lo, sum64 = utils.sum64, sum64_hi = utils.sum64_hi, sum64_lo = utils.sum64_lo, sum64_4_hi = utils.sum64_4_hi, sum64_4_lo = utils.sum64_4_lo, sum64_5_hi = utils.sum64_5_hi, sum64_5_lo = utils.sum64_5_lo, BlockHash = common.BlockHash, sha512_K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ];\n function SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512;\n BlockHash.@call(this), this.h = [\n 1779033703,\n 4089235720,\n 3144134277,\n 2227873595,\n 1013904242,\n 4271175723,\n 2773480762,\n 1595750129,\n 1359893119,\n 2917565137,\n 2600822924,\n 725511199,\n 528734635,\n 4215389547,\n 1541459225,\n 327033209\n ], this.k = sha512_K, this.W = new @Array(160);\n }\n utils.inherits(SHA512, BlockHash), module.exports = SHA512, SHA512.blockSize = 1024, SHA512.outSize = 512, SHA512.hmacStrength = 192, SHA512.padLength = 128, SHA512.prototype._prepareBlock = function(msg, start) {\n for (var W = this.W, i = 0;i < 32; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]), c0_lo = g1_512_lo(W[i - 4], W[i - 3]), c1_hi = W[i - 14], c1_lo = W[i - 13], c2_hi = g0_512_hi(W[i - 30], W[i - 29]), c2_lo = g0_512_lo(W[i - 30], W[i - 29]), c3_hi = W[i - 32], c3_lo = W[i - 31];\n W[i] = sum64_4_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo), W[i + 1] = sum64_4_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);\n }\n }, SHA512.prototype._update = function(msg, start) {\n this._prepareBlock(msg, start);\n var W = this.W, ah = this.h[0], al = this.h[1], bh = this.h[2], bl = this.h[3], ch = this.h[4], cl = this.h[5], dh = this.h[6], dl = this.h[7], eh = this.h[8], el = this.h[9], fh = this.h[10], fl = this.h[11], gh = this.h[12], gl = this.h[13], hh = this.h[14], hl = this.h[15];\n assert(this.k.length === W.length);\n for (var i = 0;i < W.length; i += 2) {\n var c0_hi = hh, c0_lo = hl, c1_hi = s1_512_hi(eh, el), c1_lo = s1_512_lo(eh, el), c2_hi = ch64_hi(eh, el, fh, fl, gh, gl), c2_lo = ch64_lo(eh, el, fh, fl, gh, gl), c3_hi = this.k[i], c3_lo = this.k[i + 1], c4_hi = W[i], c4_lo = W[i + 1], T1_hi = sum64_5_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo), T1_lo = sum64_5_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);\n c0_hi = s0_512_hi(ah, al), c0_lo = s0_512_lo(ah, al), c1_hi = maj64_hi(ah, al, bh, bl, ch, cl), c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo), T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, eh = sum64_hi(dh, dl, T1_hi, T1_lo), el = sum64_lo(dl, dl, T1_hi, T1_lo), dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo), al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n sum64(this.h, 0, ah, al), sum64(this.h, 2, bh, bl), sum64(this.h, 4, ch, cl), sum64(this.h, 6, dh, dl), sum64(this.h, 8, eh, el), sum64(this.h, 10, fh, fl), sum64(this.h, 12, gh, gl), sum64(this.h, 14, hh, hl);\n }, SHA512.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n function ch64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ ~xh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ ~xl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ xh & zh ^ yh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ xl & zl ^ yl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28), c1_hi = rotr64_hi(xl, xh, 2), c2_hi = rotr64_hi(xl, xh, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28), c1_lo = rotr64_lo(xl, xh, 2), c2_lo = rotr64_lo(xl, xh, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14), c1_hi = rotr64_hi(xh, xl, 18), c2_hi = rotr64_hi(xl, xh, 9), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14), c1_lo = rotr64_lo(xh, xl, 18), c2_lo = rotr64_lo(xl, xh, 9), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1), c1_hi = rotr64_hi(xh, xl, 8), c2_hi = shr64_hi(xh, xl, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1), c1_lo = rotr64_lo(xh, xl, 8), c2_lo = shr64_lo(xh, xl, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19), c1_hi = rotr64_hi(xl, xh, 29), c2_hi = shr64_hi(xh, xl, 6), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19), c1_lo = rotr64_lo(xl, xh, 29), c2_lo = shr64_lo(xh, xl, 6), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n }\n}), require__5 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/384.js\"(exports, module) {\n var utils = require_utils4(), SHA512 = require__4();\n function SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384;\n SHA512.@call(this), this.h = [\n 3418070365,\n 3238371032,\n 1654270250,\n 914150663,\n 2438529370,\n 812702999,\n 355462360,\n 4144912697,\n 1731405415,\n 4290775857,\n 2394180231,\n 1750603025,\n 3675008525,\n 1694076839,\n 1203062813,\n 3204075428\n ];\n }\n utils.inherits(SHA384, SHA512), module.exports = SHA384, SHA384.blockSize = 1024, SHA384.outSize = 384, SHA384.hmacStrength = 192, SHA384.padLength = 128, SHA384.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 12), \"big\") : utils.split32(this.h.slice(0, 12), \"big\");\n };\n }\n}), require_sha3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha.js\"(exports) {\n exports.sha1 = require__(), exports.sha224 = require__3(), exports.sha256 = require__2(), exports.sha384 = require__5(), exports.sha512 = require__4();\n }\n}), require_ripemd = __commonJS({\n \"node_modules/hash.js/lib/hash/ripemd.js\"(exports) {\n var utils = require_utils4(), common = require_common(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_3 = utils.sum32_3, sum32_4 = utils.sum32_4, BlockHash = common.BlockHash;\n function RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.endian = \"little\";\n }\n utils.inherits(RIPEMD160, BlockHash), exports.ripemd160 = RIPEMD160, RIPEMD160.blockSize = 512, RIPEMD160.outSize = 160, RIPEMD160.hmacStrength = 192, RIPEMD160.padLength = 64, RIPEMD160.prototype._update = function(msg, start) {\n for (var A = this.h[0], B = this.h[1], C = this.h[2], D = this.h[3], E = this.h[4], Ah = A, Bh = B, Ch = C, Dh = D, Eh = E, j = 0;j < 80; j++) {\n var T = sum32(rotl32(sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), s[j]), E);\n A = E, E = D, D = rotl32(C, 10), C = B, B = T, T = sum32(rotl32(sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), sh[j]), Eh), Ah = Eh, Eh = Dh, Dh = rotl32(Ch, 10), Ch = Bh, Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh), this.h[1] = sum32_3(this.h[2], D, Eh), this.h[2] = sum32_3(this.h[3], E, Ah), this.h[3] = sum32_3(this.h[4], A, Bh), this.h[4] = sum32_3(this.h[0], B, Ch), this.h[0] = T;\n }, RIPEMD160.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"little\") : utils.split32(this.h, \"little\");\n };\n function f(j, x, y, z) {\n return j <= 15 \? x ^ y ^ z : j <= 31 \? x & y | ~x & z : j <= 47 \? (x | ~y) ^ z : j <= 63 \? x & z | y & ~z : x ^ (y | ~z);\n }\n function K(j) {\n return j <= 15 \? 0 : j <= 31 \? 1518500249 : j <= 47 \? 1859775393 : j <= 63 \? 2400959708 : 2840853838;\n }\n function Kh(j) {\n return j <= 15 \? 1352829926 : j <= 31 \? 1548603684 : j <= 47 \? 1836072691 : j <= 63 \? 2053994217 : 0;\n }\n var r = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], rh = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], s = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sh = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ];\n }\n}), require_hmac = __commonJS({\n \"node_modules/hash.js/lib/hash/hmac.js\"(exports, module) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function Hmac(hash, key2, enc) {\n if (key2 = exportIfKeyObject(key2), !(this instanceof Hmac))\n return new Hmac(hash, key2, enc);\n this.Hash = hash, this.blockSize = hash.blockSize / 8, this.outSize = hash.outSize / 8, this.inner = null, this.outer = null, this._init(utils.toArray(key2, enc));\n }\n Hmac.prototype = {}, module.exports = Hmac, Hmac.prototype._init = function(key2) {\n key2.length > this.blockSize && (key2 = new this.Hash().update(key2).digest()), assert(key2.length <= this.blockSize);\n for (var i = key2.length;i < this.blockSize; i++)\n key2.push(0);\n for (i = 0;i < key2.length; i++)\n key2[i] ^= 54;\n for (this.inner = new this.Hash().update(key2), i = 0;i < key2.length; i++)\n key2[i] ^= 106;\n this.outer = new this.Hash().update(key2);\n }, Hmac.prototype.update = function(msg, enc) {\n return this.inner.update(msg, enc), this;\n }, Hmac.prototype.digest = function(enc) {\n return this.outer.update(this.inner.digest()), this.outer.digest(enc);\n };\n }\n}), require_hash2 = __commonJS({\n \"node_modules/hash.js/lib/hash.js\"(exports) {\n var hash = exports;\n hash.utils = require_utils4(), hash.common = require_common(), hash.sha = require_sha3(), hash.ripemd = require_ripemd(), hash.hmac = require_hmac(), hash.sha1 = hash.sha.sha1, hash.sha256 = hash.sha.sha256, hash.sha224 = hash.sha.sha224, hash.sha384 = hash.sha.sha384, hash.sha512 = hash.sha.sha512, hash.ripemd160 = hash.ripemd.ripemd160;\n }\n}), require_secp256k1 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\"(exports, module) {\n module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n \"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\n \"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"\n ],\n [\n \"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\n \"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"\n ],\n [\n \"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\n \"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"\n ],\n [\n \"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\n \"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"\n ],\n [\n \"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\n \"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"\n ],\n [\n \"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\n \"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"\n ],\n [\n \"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\n \"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"\n ],\n [\n \"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\n \"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"\n ],\n [\n \"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\n \"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"\n ],\n [\n \"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\n \"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"\n ],\n [\n \"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\n \"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"\n ],\n [\n \"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\n \"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"\n ],\n [\n \"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\n \"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"\n ],\n [\n \"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\n \"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"\n ],\n [\n \"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\n \"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"\n ],\n [\n \"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\n \"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"\n ],\n [\n \"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\n \"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"\n ],\n [\n \"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\n \"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"\n ],\n [\n \"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\n \"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"\n ],\n [\n \"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\n \"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"\n ],\n [\n \"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\n \"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"\n ],\n [\n \"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\n \"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"\n ],\n [\n \"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\n \"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"\n ],\n [\n \"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\n \"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"\n ],\n [\n \"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\n \"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"\n ],\n [\n \"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\n \"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"\n ],\n [\n \"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\n \"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"\n ],\n [\n \"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\n \"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"\n ],\n [\n \"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\n \"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"\n ],\n [\n \"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\n \"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"\n ],\n [\n \"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\n \"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"\n ],\n [\n \"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\n \"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"\n ],\n [\n \"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\n \"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"\n ],\n [\n \"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\n \"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"\n ],\n [\n \"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\n \"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"\n ],\n [\n \"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\n \"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"\n ],\n [\n \"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\n \"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"\n ],\n [\n \"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\n \"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"\n ],\n [\n \"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\n \"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"\n ],\n [\n \"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\n \"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"\n ],\n [\n \"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\n \"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"\n ],\n [\n \"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\n \"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"\n ],\n [\n \"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\n \"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"\n ],\n [\n \"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\n \"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"\n ],\n [\n \"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\n \"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"\n ],\n [\n \"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\n \"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"\n ],\n [\n \"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\n \"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"\n ],\n [\n \"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\n \"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"\n ],\n [\n \"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\n \"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"\n ],\n [\n \"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\n \"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"\n ],\n [\n \"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\n \"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"\n ],\n [\n \"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\n \"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"\n ],\n [\n \"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\n \"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"\n ],\n [\n \"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\n \"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"\n ],\n [\n \"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\n \"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"\n ],\n [\n \"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\n \"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"\n ],\n [\n \"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\n \"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"\n ],\n [\n \"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\n \"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"\n ],\n [\n \"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\n \"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"\n ],\n [\n \"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\n \"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"\n ],\n [\n \"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\n \"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"\n ],\n [\n \"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\n \"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"\n ],\n [\n \"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\n \"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"\n ],\n [\n \"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\n \"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"\n ],\n [\n \"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\n \"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n \"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\n \"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"\n ],\n [\n \"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\n \"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"\n ],\n [\n \"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\n \"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"\n ],\n [\n \"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\n \"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"\n ],\n [\n \"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\n \"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"\n ],\n [\n \"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\n \"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"\n ],\n [\n \"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\n \"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"\n ],\n [\n \"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\n \"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"\n ],\n [\n \"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\n \"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"\n ],\n [\n \"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\n \"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"\n ],\n [\n \"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\n \"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"\n ],\n [\n \"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\n \"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"\n ],\n [\n \"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\n \"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"\n ],\n [\n \"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\n \"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"\n ],\n [\n \"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\n \"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"\n ],\n [\n \"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\n \"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"\n ],\n [\n \"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\n \"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"\n ],\n [\n \"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\n \"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"\n ],\n [\n \"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\n \"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"\n ],\n [\n \"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\n \"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"\n ],\n [\n \"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\n \"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"\n ],\n [\n \"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\n \"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"\n ],\n [\n \"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\n \"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"\n ],\n [\n \"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\n \"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"\n ],\n [\n \"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\n \"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"\n ],\n [\n \"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\n \"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"\n ],\n [\n \"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\n \"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"\n ],\n [\n \"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\n \"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"\n ],\n [\n \"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\n \"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"\n ],\n [\n \"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\n \"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"\n ],\n [\n \"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\n \"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"\n ],\n [\n \"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\n \"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"\n ],\n [\n \"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\n \"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"\n ],\n [\n \"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\n \"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"\n ],\n [\n \"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\n \"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"\n ],\n [\n \"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\n \"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"\n ],\n [\n \"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\n \"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"\n ],\n [\n \"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\n \"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"\n ],\n [\n \"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\n \"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"\n ],\n [\n \"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\n \"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"\n ],\n [\n \"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\n \"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"\n ],\n [\n \"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\n \"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"\n ],\n [\n \"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\n \"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"\n ],\n [\n \"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\n \"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"\n ],\n [\n \"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\n \"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"\n ],\n [\n \"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\n \"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"\n ],\n [\n \"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\n \"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"\n ],\n [\n \"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\n \"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"\n ],\n [\n \"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\n \"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"\n ],\n [\n \"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\n \"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"\n ],\n [\n \"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\n \"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"\n ],\n [\n \"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\n \"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"\n ],\n [\n \"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\n \"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"\n ],\n [\n \"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\n \"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"\n ],\n [\n \"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\n \"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"\n ],\n [\n \"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\n \"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"\n ],\n [\n \"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\n \"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"\n ],\n [\n \"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\n \"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"\n ],\n [\n \"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\n \"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"\n ],\n [\n \"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\n \"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"\n ],\n [\n \"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\n \"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"\n ],\n [\n \"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\n \"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"\n ],\n [\n \"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\n \"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"\n ],\n [\n \"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\n \"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"\n ],\n [\n \"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\n \"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"\n ],\n [\n \"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\n \"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"\n ],\n [\n \"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\n \"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"\n ],\n [\n \"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\n \"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"\n ],\n [\n \"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\n \"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"\n ],\n [\n \"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\n \"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"\n ],\n [\n \"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\n \"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"\n ],\n [\n \"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\n \"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"\n ],\n [\n \"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\n \"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"\n ],\n [\n \"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\n \"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"\n ],\n [\n \"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\n \"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"\n ],\n [\n \"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\n \"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"\n ],\n [\n \"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\n \"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"\n ],\n [\n \"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\n \"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"\n ],\n [\n \"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\n \"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"\n ],\n [\n \"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\n \"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"\n ],\n [\n \"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\n \"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"\n ],\n [\n \"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\n \"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"\n ],\n [\n \"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\n \"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"\n ],\n [\n \"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\n \"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"\n ],\n [\n \"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\n \"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"\n ],\n [\n \"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\n \"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"\n ],\n [\n \"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\n \"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"\n ],\n [\n \"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\n \"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"\n ],\n [\n \"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\n \"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"\n ],\n [\n \"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\n \"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"\n ],\n [\n \"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\n \"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"\n ],\n [\n \"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\n \"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"\n ],\n [\n \"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\n \"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"\n ],\n [\n \"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\n \"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"\n ],\n [\n \"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\n \"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"\n ],\n [\n \"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\n \"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"\n ],\n [\n \"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\n \"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"\n ],\n [\n \"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\n \"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"\n ],\n [\n \"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\n \"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"\n ],\n [\n \"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\n \"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"\n ],\n [\n \"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\n \"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"\n ],\n [\n \"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\n \"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"\n ],\n [\n \"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\n \"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"\n ],\n [\n \"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\n \"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"\n ],\n [\n \"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\n \"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"\n ],\n [\n \"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\n \"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"\n ],\n [\n \"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\n \"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"\n ],\n [\n \"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\n \"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"\n ],\n [\n \"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\n \"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"\n ],\n [\n \"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\n \"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"\n ],\n [\n \"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\n \"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"\n ],\n [\n \"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\n \"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"\n ],\n [\n \"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\n \"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"\n ],\n [\n \"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\n \"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"\n ],\n [\n \"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\n \"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"\n ],\n [\n \"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\n \"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"\n ],\n [\n \"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\n \"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"\n ],\n [\n \"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\n \"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"\n ],\n [\n \"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\n \"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"\n ],\n [\n \"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\n \"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"\n ],\n [\n \"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\n \"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"\n ],\n [\n \"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\n \"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"\n ],\n [\n \"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\n \"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"\n ],\n [\n \"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\n \"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"\n ],\n [\n \"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\n \"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"\n ],\n [\n \"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\n \"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"\n ],\n [\n \"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\n \"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"\n ]\n ]\n }\n };\n }\n}), require_curves = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curves.js\"(exports) {\n var curves = exports, hash = require_hash2(), curve = require_curve(), utils = require_utils3(), assert = utils.assert;\n function PresetCurve(options) {\n options.type === \"short\" \? this.curve = new curve.short(options) : options.type === \"edwards\" \? this.curve = new curve.edwards(options) : this.curve = new curve.mont(options), this.g = this.curve.g, this.n = this.curve.n, this.hash = options.hash, assert(this.g.validate(), \"Invalid curve\"), assert(this.g.mul(this.n).isInfinity(), \"Invalid curve, G*N != O\");\n }\n PresetCurve.prototype = {}, curves.PresetCurve = PresetCurve;\n function defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n var curve2 = new PresetCurve(options);\n return Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n value: curve2\n }), curve2;\n }\n });\n }\n defineCurve(\"p192\", {\n type: \"short\",\n prime: \"p192\",\n p: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",\n b: \"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",\n n: \"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\n \"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"\n ]\n }), defineCurve(\"p224\", {\n type: \"short\",\n prime: \"p224\",\n p: \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",\n b: \"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",\n n: \"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\n \"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"\n ]\n }), defineCurve(\"p256\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",\n a: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",\n b: \"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",\n n: \"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\n \"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"\n ]\n }), defineCurve(\"p384\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",\n a: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",\n b: \"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",\n n: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",\n hash: hash.sha384,\n gRed: !1,\n g: [\n \"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\n \"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"\n ]\n }), defineCurve(\"p521\", {\n type: \"short\",\n prime: null,\n p: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",\n a: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",\n b: \"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",\n n: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",\n hash: hash.sha512,\n gRed: !1,\n g: [\n \"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\n \"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"\n ]\n }), defineCurve(\"curve25519\", {\n type: \"mont\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"76d06\",\n b: \"1\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\"9\"]\n }), defineCurve(\"ed25519\", {\n type: \"edwards\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"-1\",\n c: \"1\",\n d: \"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\n \"6666666666666666666666666666666666666666666666666666666666666658\"\n ]\n });\n var pre;\n try {\n pre = require_secp256k1();\n } catch {\n pre = void 0;\n }\n defineCurve(\"secp256k1\", {\n type: \"short\",\n prime: \"k256\",\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",\n a: \"0\",\n b: \"7\",\n n: \"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",\n h: \"1\",\n hash: hash.sha256,\n beta: \"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",\n lambda: \"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",\n basis: [\n {\n a: \"3086d221a7d46bcde86c90e49284eb15\",\n b: \"-e4437ed6010e88286f547fa90abfe4c3\"\n },\n {\n a: \"114ca50f7a8e2f3f657c1108d9d44cfd8\",\n b: \"3086d221a7d46bcde86c90e49284eb15\"\n }\n ],\n gRed: !1,\n g: [\n \"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n \"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",\n pre\n ]\n });\n }\n}), require_hmac_drbg = __commonJS({\n \"node_modules/hmac-drbg/lib/hmac-drbg.js\"(exports, module) {\n var hash = require_hash2(), utils = require_utils2(), assert = require_minimalistic_assert();\n function HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash, this.predResist = !!options.predResist, this.outLen = this.hash.outSize, this.minEntropy = options.minEntropy || this.hash.hmacStrength, this._reseed = null, this.reseedInterval = null, this.K = null, this.V = null;\n var entropy = utils.toArray(options.entropy, options.entropyEnc || \"hex\"), nonce = utils.toArray(options.nonce, options.nonceEnc || \"hex\"), pers = utils.toArray(options.pers, options.persEnc || \"hex\");\n assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._init(entropy, nonce, pers);\n }\n HmacDRBG.prototype = {}, module.exports = HmacDRBG, HmacDRBG.prototype._init = function(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n this.K = new @Array(this.outLen / 8), this.V = new @Array(this.outLen / 8);\n for (var i = 0;i < this.V.length; i++)\n this.K[i] = 0, this.V[i] = 1;\n this._update(seed), this._reseed = 1, this.reseedInterval = 281474976710656;\n }, HmacDRBG.prototype._hmac = function() {\n return new hash.hmac(this.hash, this.K);\n }, HmacDRBG.prototype._update = function(seed) {\n var kmac = this._hmac().update(this.V).update([0]);\n seed && (kmac = kmac.update(seed)), this.K = kmac.digest(), this.V = this._hmac().update(this.V).digest(), seed && (this.K = this._hmac().update(this.V).update([1]).update(seed).digest(), this.V = this._hmac().update(this.V).digest());\n }, HmacDRBG.prototype.reseed = function(entropy, entropyEnc, add, addEnc) {\n typeof entropyEnc != \"string\" && (addEnc = add, add = entropyEnc, entropyEnc = null), entropy = utils.toArray(entropy, entropyEnc), add = utils.toArray(add, addEnc), assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._update(entropy.concat(add || [])), this._reseed = 1;\n }, HmacDRBG.prototype.generate = function(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error(\"Reseed is required\");\n typeof enc != \"string\" && (addEnc = add, add = enc, enc = null), add && (add = utils.toArray(add, addEnc || \"hex\"), this._update(add));\n for (var temp = [];temp.length < len; )\n this.V = this._hmac().update(this.V).digest(), temp = temp.concat(this.V);\n var res = temp.slice(0, len);\n return this._update(add), this._reseed++, utils.encode(res, enc);\n };\n }\n}), require_key = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/key.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function KeyPair(ec, options) {\n this.ec = ec, this.priv = null, this.pub = null, options.priv && this._importPrivate(options.priv, options.privEnc), options.pub && this._importPublic(options.pub, options.pubEnc);\n }\n KeyPair.prototype = {}, module.exports = KeyPair, KeyPair.fromPublic = function(ec, pub, enc) {\n return pub instanceof KeyPair \? pub : new KeyPair(ec, {\n pub,\n pubEnc: enc\n });\n }, KeyPair.fromPrivate = function(ec, priv, enc) {\n return priv instanceof KeyPair \? priv : new KeyPair(ec, {\n priv,\n privEnc: enc\n });\n }, KeyPair.prototype.validate = function() {\n var pub = this.getPublic();\n return pub.isInfinity() \? { result: !1, reason: \"Invalid public key\" } : pub.validate() \? pub.mul(this.ec.curve.n).isInfinity() \? { result: !0, reason: null } : { result: !1, reason: \"Public key * N != O\" } : { result: !1, reason: \"Public key is not a point\" };\n }, KeyPair.prototype.getPublic = function(compact, enc) {\n return typeof compact == \"string\" && (enc = compact, compact = null), this.pub || (this.pub = this.ec.g.mul(this.priv)), enc \? this.pub.encode(enc, compact) : this.pub;\n }, KeyPair.prototype.getPrivate = function(enc) {\n return enc === \"hex\" \? this.priv.toString(16, 2) : this.priv;\n }, KeyPair.prototype._importPrivate = function(key2, enc) {\n this.priv = new BN(key2, enc || 16), this.priv = this.priv.umod(this.ec.curve.n);\n }, KeyPair.prototype._importPublic = function(key2, enc) {\n if (key2.x || key2.y) {\n this.ec.curve.type === \"mont\" \? assert(key2.x, \"Need x coordinate\") : (this.ec.curve.type === \"short\" || this.ec.curve.type === \"edwards\") && assert(key2.x && key2.y, \"Need both x and y coordinate\"), this.pub = this.ec.curve.point(key2.x, key2.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key2, enc);\n }, KeyPair.prototype.derive = function(pub) {\n return pub.validate() || assert(pub.validate(), \"public point not validated\"), pub.mul(this.priv).getX();\n }, KeyPair.prototype.sign = function(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n }, KeyPair.prototype.verify = function(msg, signature) {\n return this.ec.verify(msg, signature, this);\n }, KeyPair.prototype.inspect = function() {\n return \"<Key priv: \" + (this.priv && this.priv.toString(16, 2)) + \" pub: \" + (this.pub && this.pub.inspect()) + \" >\";\n };\n }\n}), require_signature = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n this._importDER(options, enc) || (assert(options.r && options.s, \"Signature without r or s\"), this.r = new BN(options.r, 16), this.s = new BN(options.s, 16), options.recoveryParam === void 0 \? this.recoveryParam = null : this.recoveryParam = options.recoveryParam);\n }\n Signature.prototype = {}, module.exports = Signature;\n function Position() {\n this.place = 0;\n }\n function getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 128))\n return initial;\n var octetLen = initial & 15;\n if (octetLen === 0 || octetLen > 4)\n return !1;\n for (var val = 0, i = 0, off = p.place;i < octetLen; i++, off++)\n val <<= 8, val |= buf[off], val >>>= 0;\n return val <= 127 \? !1 : (p.place = off, val);\n }\n function rmPadding(buf) {\n for (var i = 0, len = buf.length - 1;!buf[i] && !(buf[i + 1] & 128) && i < len; )\n i++;\n return i === 0 \? buf : buf.slice(i);\n }\n Signature.prototype._importDER = function(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position;\n if (data[p.place++] !== 48)\n return !1;\n var len = getLength(data, p);\n if (len === !1 || len + p.place !== data.length || data[p.place++] !== 2)\n return !1;\n var rlen = getLength(data, p);\n if (rlen === !1)\n return !1;\n var r = data.slice(p.place, rlen + p.place);\n if (p.place += rlen, data[p.place++] !== 2)\n return !1;\n var slen = getLength(data, p);\n if (slen === !1 || data.length !== slen + p.place)\n return !1;\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0)\n if (r[1] & 128)\n r = r.slice(1);\n else\n return !1;\n if (s[0] === 0)\n if (s[1] & 128)\n s = s.slice(1);\n else\n return !1;\n return this.r = new BN(r), this.s = new BN(s), this.recoveryParam = null, !0;\n };\n function constructLength(arr, len) {\n if (len < 128) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n for (arr.push(octets | 128);--octets; )\n arr.push(len >>> (octets << 3) & 255);\n arr.push(len);\n }\n Signature.prototype.toDER = function(enc) {\n var r = this.r.toArray(), s = this.s.toArray();\n for (r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s)), r = rmPadding(r), s = rmPadding(s);!s[0] && !(s[1] & 128); )\n s = s.slice(1);\n var arr = [2];\n constructLength(arr, r.length), arr = arr.concat(r), arr.push(2), constructLength(arr, s.length);\n var backHalf = arr.concat(s), res = [48];\n return constructLength(res, backHalf.length), res = res.concat(backHalf), utils.encode(res, enc);\n };\n }\n}), require_ec = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/index.js\"(exports, module) {\n var BN = require_bn4(), HmacDRBG = require_hmac_drbg(), utils = require_utils3(), curves = require_curves(), rand = require_brorand(), assert = utils.assert, KeyPair = require_key(), Signature = require_signature();\n function EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n typeof options == \"string\" && (assert(Object.prototype.hasOwnProperty.@call(curves, options), \"Unknown curve \" + options), options = curves[options]), options instanceof curves.PresetCurve && (options = { curve: options }), this.curve = options.curve.curve, this.n = this.curve.n, this.nh = this.n.ushrn(1), this.g = this.curve.g, this.g = options.curve.g, this.g.precompute(options.curve.n.bitLength() + 1), this.hash = options.hash || options.curve.hash;\n }\n EC.prototype = {}, module.exports = EC, EC.prototype.keyPair = function(options) {\n return new KeyPair(this, options);\n }, EC.prototype.keyFromPrivate = function(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n }, EC.prototype.keyFromPublic = function(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n }, EC.prototype.genKeyPair = function(options) {\n options || (options = {});\n for (var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\",\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || \"utf8\",\n nonce: this.n.toArray()\n }), bytes = this.n.byteLength(), ns2 = this.n.sub(new BN(2));; ) {\n var priv = new BN(drbg.generate(bytes));\n if (!(priv.cmp(ns2) > 0))\n return priv.iaddn(1), this.keyFromPrivate(priv);\n }\n }, EC.prototype._truncateToN = function(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n return delta > 0 && (msg = msg.ushrn(delta)), !truncOnly && msg.cmp(this.n) >= 0 \? msg.sub(this.n) : msg;\n }, EC.prototype.sign = function(msg, key2, enc, options) {\n typeof enc == \"object\" && (options = enc, enc = null), options || (options = {}), key2 = this.keyFromPrivate(key2, enc), msg = this._truncateToN(new BN(msg, 16));\n for (var bytes = this.n.byteLength(), bkey = key2.getPrivate().toArray(\"be\", bytes), nonce = msg.toArray(\"be\", bytes), drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\"\n }), ns1 = this.n.sub(new BN(1)), iter = 0;; iter++) {\n var k = options.k \? options.k(iter) : new BN(drbg.generate(this.n.byteLength()));\n if (k = this._truncateToN(k, !0), !(k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)) {\n var kp = this.g.mul(k);\n if (!kp.isInfinity()) {\n var kpX = kp.getX(), r = kpX.umod(this.n);\n if (r.cmpn(0) !== 0) {\n var s = k.invm(this.n).mul(r.mul(key2.getPrivate()).iadd(msg));\n if (s = s.umod(this.n), s.cmpn(0) !== 0) {\n var recoveryParam = (kp.getY().isOdd() \? 1 : 0) | (kpX.cmp(r) !== 0 \? 2 : 0);\n return options.canonical && s.cmp(this.nh) > 0 && (s = this.n.sub(s), recoveryParam ^= 1), new Signature({ r, s, recoveryParam });\n }\n }\n }\n }\n }\n }, EC.prototype.verify = function(msg, signature, key2, enc) {\n msg = this._truncateToN(new BN(msg, 16)), key2 = this.keyFromPublic(key2, enc), signature = new Signature(signature, \"hex\");\n var { r, s } = signature;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0 || s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return !1;\n var sinv = s.invm(this.n), u1 = sinv.mul(msg).umod(this.n), u2 = sinv.mul(r).umod(this.n), p;\n return this.curve._maxwellTrick \? (p = this.g.jmulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.eqXToP(r)) : (p = this.g.mulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.getX().umod(this.n).cmp(r) === 0);\n }, EC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, \"The recovery param is more than two bits\"), signature = new Signature(signature, enc);\n var n = this.n, e = new BN(msg), r = signature.r, s = signature.s, isYOdd = j & 1, isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error(\"Unable to find sencond key candinate\");\n isSecondKey \? r = this.curve.pointFromX(r.add(this.curve.n), isYOdd) : r = this.curve.pointFromX(r, isYOdd);\n var rInv = signature.r.invm(n), s1 = n.sub(e).mul(rInv).umod(n), s2 = s.mul(rInv).umod(n);\n return this.g.mulAdd(s1, r, s2);\n }, EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n if (signature = new Signature(signature, enc), signature.recoveryParam !== null)\n return signature.recoveryParam;\n for (var i = 0;i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch {\n continue;\n }\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error(\"Unable to find valid recovery factor\");\n };\n }\n}), require_key2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/key.js\"(exports, module) {\n var utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, cachedProperty = utils.cachedProperty;\n function KeyPair(eddsa, params) {\n this.eddsa = eddsa, this._secret = parseBytes(params.secret), eddsa.isPoint(params.pub) \? this._pub = params.pub : this._pubBytes = parseBytes(params.pub);\n }\n KeyPair.prototype = {}, KeyPair.fromPublic = function(eddsa, pub) {\n return pub instanceof KeyPair \? pub : new KeyPair(eddsa, { pub });\n }, KeyPair.fromSecret = function(eddsa, secret) {\n return secret instanceof KeyPair \? secret : new KeyPair(eddsa, { secret });\n }, KeyPair.prototype.secret = function() {\n return this._secret;\n }, cachedProperty(KeyPair, \"pubBytes\", function() {\n return this.eddsa.encodePoint(this.pub());\n }), cachedProperty(KeyPair, \"pub\", function() {\n return this._pubBytes \? this.eddsa.decodePoint(this._pubBytes) : this.eddsa.g.mul(this.priv());\n }), cachedProperty(KeyPair, \"privBytes\", function() {\n var eddsa = this.eddsa, hash = this.hash(), lastIx = eddsa.encodingLength - 1, a = hash.slice(0, eddsa.encodingLength);\n return a[0] &= 248, a[lastIx] &= 127, a[lastIx] |= 64, a;\n }), cachedProperty(KeyPair, \"priv\", function() {\n return this.eddsa.decodeInt(this.privBytes());\n }), cachedProperty(KeyPair, \"hash\", function() {\n return this.eddsa.hash().update(this.secret()).digest();\n }), cachedProperty(KeyPair, \"messagePrefix\", function() {\n return this.hash().slice(this.eddsa.encodingLength);\n }), KeyPair.prototype.sign = function(message) {\n return assert(this._secret, \"KeyPair can only verify\"), this.eddsa.sign(message, this);\n }, KeyPair.prototype.verify = function(message, sig) {\n return this.eddsa.verify(message, sig, this);\n }, KeyPair.prototype.getSecret = function(enc) {\n return assert(this._secret, \"KeyPair is public only\"), utils.encode(this.secret(), enc);\n }, KeyPair.prototype.getPublic = function(enc) {\n return utils.encode(this.pubBytes(), enc);\n }, module.exports = KeyPair;\n }\n}), require_signature2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert, cachedProperty = utils.cachedProperty, parseBytes = utils.parseBytes;\n function Signature(eddsa, sig) {\n this.eddsa = eddsa, typeof sig != \"object\" && (sig = parseBytes(sig)), @Array.isArray(sig) && (sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n }), assert(sig.R && sig.S, \"Signature without R or S\"), eddsa.isPoint(sig.R) && (this._R = sig.R), sig.S instanceof BN && (this._S = sig.S), this._Rencoded = @Array.isArray(sig.R) \? sig.R : sig.Rencoded, this._Sencoded = @Array.isArray(sig.S) \? sig.S : sig.Sencoded;\n }\n Signature.prototype = {}, cachedProperty(Signature, \"S\", function() {\n return this.eddsa.decodeInt(this.Sencoded());\n }), cachedProperty(Signature, \"R\", function() {\n return this.eddsa.decodePoint(this.Rencoded());\n }), cachedProperty(Signature, \"Rencoded\", function() {\n return this.eddsa.encodePoint(this.R());\n }), cachedProperty(Signature, \"Sencoded\", function() {\n return this.eddsa.encodeInt(this.S());\n }), Signature.prototype.toBytes = function() {\n return this.Rencoded().concat(this.Sencoded());\n }, Signature.prototype.toHex = function() {\n return utils.encode(this.toBytes(), \"hex\").toUpperCase();\n }, module.exports = Signature;\n }\n}), require_eddsa = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/index.js\"(exports, module) {\n var hash = require_hash2(), curves = require_curves(), utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, KeyPair = require_key2(), Signature = require_signature2();\n function EDDSA(curve) {\n if (assert(curve === \"ed25519\", \"only tested with ed25519 so far\"), !(this instanceof EDDSA))\n return new EDDSA(curve);\n curve = curves[curve].curve, this.curve = curve, this.g = curve.g, this.g.precompute(curve.n.bitLength() + 1), this.pointClass = curve.point().constructor, this.encodingLength = Math.ceil(curve.n.bitLength() / 8), this.hash = hash.sha512;\n }\n EDDSA.prototype = {}, module.exports = EDDSA, EDDSA.prototype.sign = function(message, secret) {\n message = parseBytes(message);\n var key2 = this.keyFromSecret(secret), r = this.hashInt(key2.messagePrefix(), message), R = this.g.mul(r), Rencoded = this.encodePoint(R), s_ = this.hashInt(Rencoded, key2.pubBytes(), message).mul(key2.priv()), S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R, S, Rencoded });\n }, EDDSA.prototype.verify = function(message, sig, pub) {\n message = parseBytes(message), sig = this.makeSignature(sig);\n var key2 = this.keyFromPublic(pub), h = this.hashInt(sig.Rencoded(), key2.pubBytes(), message), SG = this.g.mul(sig.S()), RplusAh = sig.R().add(key2.pub().mul(h));\n return RplusAh.eq(SG);\n }, EDDSA.prototype.hashInt = function() {\n for (var hash2 = this.hash(), i = 0;i < arguments.length; i++)\n hash2.update(arguments[i]);\n return utils.intFromLE(hash2.digest()).umod(this.curve.n);\n }, EDDSA.prototype.keyFromPublic = function(pub) {\n return KeyPair.fromPublic(this, pub);\n }, EDDSA.prototype.keyFromSecret = function(secret) {\n return KeyPair.fromSecret(this, secret);\n }, EDDSA.prototype.makeSignature = function(sig) {\n return sig instanceof Signature \? sig : new Signature(this, sig);\n }, EDDSA.prototype.encodePoint = function(point) {\n var enc = point.getY().toArray(\"le\", this.encodingLength);\n return enc[this.encodingLength - 1] |= point.getX().isOdd() \? 128 : 0, enc;\n }, EDDSA.prototype.decodePoint = function(bytes) {\n bytes = utils.parseBytes(bytes);\n var lastIx = bytes.length - 1, normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & -129), xIsOdd = (bytes[lastIx] & 128) !== 0, y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n }, EDDSA.prototype.encodeInt = function(num) {\n return num.toArray(\"le\", this.encodingLength);\n }, EDDSA.prototype.decodeInt = function(bytes) {\n return utils.intFromLE(bytes);\n }, EDDSA.prototype.isPoint = function(val) {\n return val instanceof this.pointClass;\n };\n }\n}), require_elliptic = __commonJS({\n \"node_modules/elliptic/lib/elliptic.js\"(exports) {\n var elliptic = exports;\n elliptic.version = require_package().version, elliptic.utils = require_utils3(), elliptic.rand = require_brorand(), elliptic.curve = require_curve(), elliptic.curves = require_curves(), elliptic.ec = require_ec(), elliptic.eddsa = require_eddsa();\n }\n}), require_bn5 = require_bn, require_safer = __commonJS({\n \"node_modules/safer-buffer/safer.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = Buffer, safer = {}, key2;\n for (key2 in buffer)\n !buffer.hasOwnProperty(key2) || key2 === \"SlowBuffer\" || key2 === \"Buffer\" || (safer[key2] = buffer[key2]);\n var Safer = safer.Buffer = {};\n for (key2 in Buffer2)\n !Buffer2.hasOwnProperty(key2) || key2 === \"allocUnsafe\" || key2 === \"allocUnsafeSlow\" || (Safer[key2] = Buffer2[key2]);\n if (safer.Buffer.prototype = Buffer2.prototype, (!Safer.from || Safer.from === @Uint8Array.from) && (Safer.from = function(value, encodingOrOffset, length) {\n if (typeof value == \"number\")\n @throwTypeError('The \"value\" argument must not be of type number. Received type ' + typeof value);\n if (value && typeof value.length > \"u\")\n @throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n return Buffer2(value, encodingOrOffset, length);\n }), Safer.alloc || (Safer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError('The \"size\" argument must be of type number. Received type ' + typeof size);\n if (size < 0 || size >= 2 * (1 << 30))\n @throwRangeError('The value \"' + size + '\" is invalid for option \"size\"');\n var buf = Buffer2(size);\n return !fill || fill.length === 0 \? buf.fill(0) : typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill), buf;\n }), !safer.kStringMaxLength)\n try {\n safer.kStringMaxLength = MAX_STRING_LENGTH;\n } catch {\n }\n safer.constants || (safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }, safer.kStringMaxLength && (safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength)), module.exports = safer;\n }\n}), require_reporter = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/reporter.js\"(exports) {\n var inherits = require_inherits_browser();\n function Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n }\n Reporter.prototype = {}, exports.Reporter = Reporter, Reporter.prototype.isError = function(obj) {\n return obj instanceof ReporterError;\n }, Reporter.prototype.save = function() {\n let state = this._reporterState;\n return { obj: state.obj, pathLen: state.path.length };\n }, Reporter.prototype.restore = function(data) {\n let state = this._reporterState;\n state.obj = data.obj, state.path = state.path.slice(0, data.pathLen);\n }, Reporter.prototype.enterKey = function(key2) {\n return this._reporterState.path.push(key2);\n }, Reporter.prototype.exitKey = function(index) {\n let state = this._reporterState;\n state.path = state.path.slice(0, index - 1);\n }, Reporter.prototype.leaveKey = function(index, key2, value) {\n let state = this._reporterState;\n this.exitKey(index), state.obj !== null && (state.obj[key2] = value);\n }, Reporter.prototype.path = function() {\n return this._reporterState.path.join(\"/\");\n }, Reporter.prototype.enterObject = function() {\n let state = this._reporterState, prev = state.obj;\n return state.obj = {}, prev;\n }, Reporter.prototype.leaveObject = function(prev) {\n let state = this._reporterState, now = state.obj;\n return state.obj = prev, now;\n }, Reporter.prototype.error = function(msg) {\n let err, state = this._reporterState, inherited = msg instanceof ReporterError;\n if (inherited \? err = msg : err = new ReporterError(state.path.map(function(elem) {\n return \"[\" + JSON.stringify(elem) + \"]\";\n }).join(\"\"), msg.message || msg, msg.stack), !state.options.partial)\n throw err;\n return inherited || state.errors.push(err), err;\n }, Reporter.prototype.wrapResult = function(result) {\n let state = this._reporterState;\n return state.options.partial \? {\n result: this.isError(result) \? null : result,\n errors: state.errors\n } : result;\n };\n function ReporterError(path, msg) {\n this.path = path, this.rethrow(msg);\n }\n inherits(ReporterError, Error), ReporterError.prototype.rethrow = function(msg) {\n if (this.message = msg + \" at: \" + (this.path || \"(shallow)\"), Error.captureStackTrace && Error.captureStackTrace(this, ReporterError), !this.stack)\n try {\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n return this;\n };\n }\n}), require_buffer = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/buffer.js\"(exports) {\n var inherits = require_inherits_browser(), Reporter = require_reporter().Reporter, Buffer2 = require_safer().Buffer;\n function DecoderBuffer(base, options) {\n if (Reporter.@call(this, options), !Buffer2.isBuffer(base)) {\n this.error(\"Input not Buffer\");\n return;\n }\n this.base = base, this.offset = 0, this.length = base.length;\n }\n inherits(DecoderBuffer, Reporter), exports.DecoderBuffer = DecoderBuffer, DecoderBuffer.isDecoderBuffer = function(data) {\n return data instanceof DecoderBuffer \? !0 : typeof data == \"object\" && Buffer2.isBuffer(data.base) && data.constructor.name === \"DecoderBuffer\" && typeof data.offset == \"number\" && typeof data.length == \"number\" && typeof data.save == \"function\" && typeof data.restore == \"function\" && typeof data.isEmpty == \"function\" && typeof data.readUInt8 == \"function\" && typeof data.skip == \"function\" && typeof data.raw == \"function\";\n }, DecoderBuffer.prototype.save = function() {\n return {\n offset: this.offset,\n reporter: Reporter.prototype.save.@call(this)\n };\n }, DecoderBuffer.prototype.restore = function(save) {\n let res = new DecoderBuffer(this.base);\n return res.offset = save.offset, res.length = this.offset, this.offset = save.offset, Reporter.prototype.restore.@call(this, save.reporter), res;\n }, DecoderBuffer.prototype.isEmpty = function() {\n return this.offset === this.length;\n }, DecoderBuffer.prototype.readUInt8 = function(fail) {\n return this.offset + 1 <= this.length \? this.base.readUInt8(this.offset++, !0) : this.error(fail || \"DecoderBuffer overrun\");\n }, DecoderBuffer.prototype.skip = function(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || \"DecoderBuffer overrun\");\n let res = new DecoderBuffer(this.base);\n return res._reporterState = this._reporterState, res.offset = this.offset, res.length = this.offset + bytes, this.offset += bytes, res;\n }, DecoderBuffer.prototype.raw = function(save) {\n return this.base.slice(save \? save.offset : this.offset, this.length);\n };\n function EncoderBuffer(value, reporter) {\n if (@Array.isArray(value))\n this.length = 0, this.value = value.map(function(item) {\n return EncoderBuffer.isEncoderBuffer(item) || (item = new EncoderBuffer(item, reporter)), this.length += item.length, item;\n }, this);\n else if (typeof value == \"number\") {\n if (!(0 <= value && value <= 255))\n return reporter.error(\"non-byte EncoderBuffer value\");\n this.value = value, this.length = 1;\n } else if (typeof value == \"string\")\n this.value = value, this.length = Buffer2.byteLength(value);\n else if (Buffer2.isBuffer(value))\n this.value = value, this.length = value.length;\n else\n return reporter.error(\"Unsupported type: \" + typeof value);\n }\n EncoderBuffer.prototype = {}, exports.EncoderBuffer = EncoderBuffer, EncoderBuffer.isEncoderBuffer = function(data) {\n return data instanceof EncoderBuffer \? !0 : typeof data == \"object\" && data.constructor.name === \"EncoderBuffer\" && typeof data.length == \"number\" && typeof data.join == \"function\";\n }, EncoderBuffer.prototype.join = function(out, offset) {\n return out || (out = Buffer2.alloc(this.length)), offset || (offset = 0), this.length === 0 || (@Array.isArray(this.value) \? this.value.forEach(function(item) {\n item.join(out, offset), offset += item.length;\n }) : (typeof this.value == \"number\" \? out[offset] = this.value : typeof this.value == \"string\" \? out.write(this.value, offset) : Buffer2.isBuffer(this.value) && this.value.copy(out, offset), offset += this.length)), out;\n };\n }\n}), require_node = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/node.js\"(exports, module) {\n var Reporter = require_reporter().Reporter, EncoderBuffer = require_buffer().EncoderBuffer, DecoderBuffer = require_buffer().DecoderBuffer, assert = require_minimalistic_assert(), tags = [\n \"seq\",\n \"seqof\",\n \"set\",\n \"setof\",\n \"objid\",\n \"bool\",\n \"gentime\",\n \"utctime\",\n \"null_\",\n \"enum\",\n \"int\",\n \"objDesc\",\n \"bitstr\",\n \"bmpstr\",\n \"charstr\",\n \"genstr\",\n \"graphstr\",\n \"ia5str\",\n \"iso646str\",\n \"numstr\",\n \"octstr\",\n \"printstr\",\n \"t61str\",\n \"unistr\",\n \"utf8str\",\n \"videostr\"\n ], methods = [\"key\", \"obj\", \"use\", \"optional\", \"explicit\", \"implicit\", \"def\", \"choice\", \"any\", \"contains\"].concat(tags), overrided = [\n \"_peekTag\",\n \"_decodeTag\",\n \"_use\",\n \"_decodeStr\",\n \"_decodeObjid\",\n \"_decodeTime\",\n \"_decodeNull\",\n \"_decodeInt\",\n \"_decodeBool\",\n \"_decodeList\",\n \"_encodeComposite\",\n \"_encodeStr\",\n \"_encodeObjid\",\n \"_encodeTime\",\n \"_encodeNull\",\n \"_encodeInt\",\n \"_encodeBool\"\n ];\n function Node(enc, parent, name) {\n let state = {};\n this._baseState = state, state.name = name, state.enc = enc, state.parent = parent || null, state.children = null, state.tag = null, state.args = null, state.reverseArgs = null, state.choice = null, state.optional = !1, state.any = !1, state.obj = !1, state.use = null, state.useDecoder = null, state.key = null, state.default = null, state.explicit = null, state.implicit = null, state.contains = null, state.parent || (state.children = [], this._wrap());\n }\n Node.prototype = {}, module.exports = Node;\n var stateProps = [\n \"enc\",\n \"parent\",\n \"children\",\n \"tag\",\n \"args\",\n \"reverseArgs\",\n \"choice\",\n \"optional\",\n \"any\",\n \"obj\",\n \"use\",\n \"alteredUse\",\n \"key\",\n \"default\",\n \"explicit\",\n \"implicit\",\n \"contains\"\n ];\n Node.prototype.clone = function() {\n let state = this._baseState, cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n let res = new this.constructor(cstate.parent);\n return res._baseState = cstate, res;\n }, Node.prototype._wrap = function() {\n let state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function() {\n let clone = new this.constructor(this);\n return state.children.push(clone), clone[method].@apply(clone, arguments);\n };\n }, this);\n }, Node.prototype._init = function(body) {\n let state = this._baseState;\n assert(state.parent === null), body.@call(this), state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this), assert.equal(state.children.length, 1, \"Root node can have only one child\");\n }, Node.prototype._useArgs = function(args) {\n let state = this._baseState, children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this), children.length !== 0 && (assert(state.children === null), state.children = children, children.forEach(function(child) {\n child._baseState.parent = this;\n }, this)), args.length !== 0 && (assert(state.args === null), state.args = args, state.reverseArgs = args.map(function(arg) {\n if (typeof arg != \"object\" || arg.constructor !== Object)\n return arg;\n let res = {};\n return Object.keys(arg).forEach(function(key2) {\n key2 == (key2 | 0) && (key2 |= 0);\n let value = arg[key2];\n res[value] = key2;\n }), res;\n }));\n }, overrided.forEach(function(method) {\n Node.prototype[method] = function() {\n let state = this._baseState;\n throw new Error(method + \" not implemented for encoding: \" + state.enc);\n };\n }), tags.forEach(function(tag) {\n Node.prototype[tag] = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return assert(state.tag === null), state.tag = tag, this._useArgs(args), this;\n };\n }), Node.prototype.use = function(item) {\n assert(item);\n let state = this._baseState;\n return assert(state.use === null), state.use = item, this;\n }, Node.prototype.optional = function() {\n let state = this._baseState;\n return state.optional = !0, this;\n }, Node.prototype.def = function(val) {\n let state = this._baseState;\n return assert(state.default === null), state.default = val, state.optional = !0, this;\n }, Node.prototype.explicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.explicit = num, this;\n }, Node.prototype.implicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.implicit = num, this;\n }, Node.prototype.obj = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return state.obj = !0, args.length !== 0 && this._useArgs(args), this;\n }, Node.prototype.key = function(newKey) {\n let state = this._baseState;\n return assert(state.key === null), state.key = newKey, this;\n }, Node.prototype.any = function() {\n let state = this._baseState;\n return state.any = !0, this;\n }, Node.prototype.choice = function(obj) {\n let state = this._baseState;\n return assert(state.choice === null), state.choice = obj, this._useArgs(Object.keys(obj).map(function(key2) {\n return obj[key2];\n })), this;\n }, Node.prototype.contains = function(item) {\n let state = this._baseState;\n return assert(state.use === null), state.contains = item, this;\n }, Node.prototype._decode = function(input, options) {\n let state = this._baseState;\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n let result = state.default, present = !0, prevKey = null;\n if (state.key !== null && (prevKey = input.enterKey(state.key)), state.optional) {\n let tag = null;\n if (state.explicit !== null \? tag = state.explicit : state.implicit !== null \? tag = state.implicit : state.tag !== null && (tag = state.tag), tag === null && !state.any) {\n let save = input.save();\n try {\n state.choice === null \? this._decodeGeneric(state.tag, input, options) : this._decodeChoice(input, options), present = !0;\n } catch {\n present = !1;\n }\n input.restore(save);\n } else if (present = this._peekTag(input, tag, state.any), input.isError(present))\n return present;\n }\n let prevObj;\n if (state.obj && present && (prevObj = input.enterObject()), present) {\n if (state.explicit !== null) {\n let explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n let start = input.offset;\n if (state.use === null && state.choice === null) {\n let save;\n state.any && (save = input.save());\n let body = this._decodeTag(input, state.implicit !== null \? state.implicit : state.tag, state.any);\n if (input.isError(body))\n return body;\n state.any \? result = input.raw(save) : input = body;\n }\n if (options && options.track && state.tag !== null && options.track(input.path(), start, input.length, \"tagged\"), options && options.track && state.tag !== null && options.track(input.path(), input.offset, input.length, \"content\"), state.any || (state.choice === null \? result = this._decodeGeneric(state.tag, input, options) : result = this._decodeChoice(input, options)), input.isError(result))\n return result;\n if (!state.any && state.choice === null && state.children !== null && state.children.forEach(function(child) {\n child._decode(input, options);\n }), state.contains && (state.tag === \"octstr\" || state.tag === \"bitstr\")) {\n let data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)._decode(data, options);\n }\n }\n return state.obj && present && (result = input.leaveObject(prevObj)), state.key !== null && (result !== null || present === !0) \? input.leaveKey(prevKey, state.key, result) : prevKey !== null && input.exitKey(prevKey), result;\n }, Node.prototype._decodeGeneric = function(tag, input, options) {\n let state = this._baseState;\n return tag === \"seq\" || tag === \"set\" \? null : tag === \"seqof\" || tag === \"setof\" \? this._decodeList(input, tag, state.args[0], options) : /str$/.test(tag) \? this._decodeStr(input, tag, options) : tag === \"objid\" && state.args \? this._decodeObjid(input, state.args[0], state.args[1], options) : tag === \"objid\" \? this._decodeObjid(input, null, null, options) : tag === \"gentime\" || tag === \"utctime\" \? this._decodeTime(input, tag, options) : tag === \"null_\" \? this._decodeNull(input, options) : tag === \"bool\" \? this._decodeBool(input, options) : tag === \"objDesc\" \? this._decodeStr(input, tag, options) : tag === \"int\" || tag === \"enum\" \? this._decodeInt(input, state.args && state.args[0], options) : state.use !== null \? this._getUse(state.use, input._reporterState.obj)._decode(input, options) : input.error(\"unknown tag: \" + tag);\n }, Node.prototype._getUse = function(entity, obj) {\n let state = this._baseState;\n return state.useDecoder = this._use(entity, obj), assert(state.useDecoder._baseState.parent === null), state.useDecoder = state.useDecoder._baseState.children[0], state.implicit !== state.useDecoder._baseState.implicit && (state.useDecoder = state.useDecoder.clone(), state.useDecoder._baseState.implicit = state.implicit), state.useDecoder;\n }, Node.prototype._decodeChoice = function(input, options) {\n let state = this._baseState, result = null, match = !1;\n return Object.keys(state.choice).some(function(key2) {\n let save = input.save(), node = state.choice[key2];\n try {\n let value = node._decode(input, options);\n if (input.isError(value))\n return !1;\n result = { type: key2, value }, match = !0;\n } catch {\n return input.restore(save), !1;\n }\n return !0;\n }, this), match \? result : input.error(\"Choice not matched\");\n }, Node.prototype._createEncoderBuffer = function(data) {\n return new EncoderBuffer(data, this.reporter);\n }, Node.prototype._encode = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.default !== null && state.default === data)\n return;\n let result = this._encodeValue(data, reporter, parent);\n if (result !== void 0 && !this._skipDefault(result, reporter, parent))\n return result;\n }, Node.prototype._encodeValue = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter);\n let result = null;\n if (this.reporter = reporter, state.optional && data === void 0)\n if (state.default !== null)\n data = state.default;\n else\n return;\n let content = null, primitive = !1;\n if (state.any)\n result = this._createEncoderBuffer(data);\n else if (state.choice)\n result = this._encodeChoice(data, reporter);\n else if (state.contains)\n content = this._getUse(state.contains, parent)._encode(data, reporter), primitive = !0;\n else if (state.children)\n content = state.children.map(function(child) {\n if (child._baseState.tag === \"null_\")\n return child._encode(null, reporter, data);\n if (child._baseState.key === null)\n return reporter.error(\"Child should have a key\");\n let prevKey = reporter.enterKey(child._baseState.key);\n if (typeof data != \"object\")\n return reporter.error(\"Child expected, but input is not object\");\n let res = child._encode(data[child._baseState.key], reporter, data);\n return reporter.leaveKey(prevKey), res;\n }, this).filter(function(child) {\n return child;\n }), content = this._createEncoderBuffer(content);\n else if (state.tag === \"seqof\" || state.tag === \"setof\") {\n if (!(state.args && state.args.length === 1))\n return reporter.error(\"Too many args for : \" + state.tag);\n if (!@Array.isArray(data))\n return reporter.error(\"seqof/setof, but data is not Array\");\n let child = this.clone();\n child._baseState.implicit = null, content = this._createEncoderBuffer(data.map(function(item) {\n let state2 = this._baseState;\n return this._getUse(state2.args[0], data)._encode(item, reporter);\n }, child));\n } else\n state.use !== null \? result = this._getUse(state.use, parent)._encode(data, reporter) : (content = this._encodePrimitive(state.tag, data), primitive = !0);\n if (!state.any && state.choice === null) {\n let tag = state.implicit !== null \? state.implicit : state.tag, cls = state.implicit === null \? \"universal\" : \"context\";\n tag === null \? state.use === null && reporter.error(\"Tag could be omitted only for .use()\") : state.use === null && (result = this._encodeComposite(tag, primitive, cls, content));\n }\n return state.explicit !== null && (result = this._encodeComposite(state.explicit, !1, \"context\", result)), result;\n }, Node.prototype._encodeChoice = function(data, reporter) {\n let state = this._baseState, node = state.choice[data.type];\n return node || assert(!1, data.type + \" not found in \" + JSON.stringify(Object.keys(state.choice))), node._encode(data.value, reporter);\n }, Node.prototype._encodePrimitive = function(tag, data) {\n let state = this._baseState;\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n if (tag === \"objid\" && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n if (tag === \"objid\")\n return this._encodeObjid(data, null, null);\n if (tag === \"gentime\" || tag === \"utctime\")\n return this._encodeTime(data, tag);\n if (tag === \"null_\")\n return this._encodeNull();\n if (tag === \"int\" || tag === \"enum\")\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n if (tag === \"bool\")\n return this._encodeBool(data);\n if (tag === \"objDesc\")\n return this._encodeStr(data, tag);\n throw new Error(\"Unsupported tag: \" + tag);\n }, Node.prototype._isNumstr = function(str) {\n return /^[0-9 ]*$/.test(str);\n }, Node.prototype._isPrintstr = function(str) {\n return /^[A-Za-z0-9 '()+,-./:=\?]*$/.test(str);\n };\n }\n}), require_der = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/der.js\"(exports) {\n function reverse(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }\n exports.tagClass = {\n 0: \"universal\",\n 1: \"application\",\n 2: \"context\",\n 3: \"private\"\n }, exports.tagClassByName = reverse(exports.tagClass), exports.tag = {\n 0: \"end\",\n 1: \"bool\",\n 2: \"int\",\n 3: \"bitstr\",\n 4: \"octstr\",\n 5: \"null_\",\n 6: \"objid\",\n 7: \"objDesc\",\n 8: \"external\",\n 9: \"real\",\n 10: \"enum\",\n 11: \"embed\",\n 12: \"utf8str\",\n 13: \"relativeOid\",\n 16: \"seq\",\n 17: \"set\",\n 18: \"numstr\",\n 19: \"printstr\",\n 20: \"t61str\",\n 21: \"videostr\",\n 22: \"ia5str\",\n 23: \"utctime\",\n 24: \"gentime\",\n 25: \"graphstr\",\n 26: \"iso646str\",\n 27: \"genstr\",\n 28: \"unistr\",\n 29: \"charstr\",\n 30: \"bmpstr\"\n }, exports.tagByName = reverse(exports.tag);\n }\n}), require_der2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, Node = require_node(), der = require_der();\n function DEREncoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DEREncoder.prototype = {}, module.exports = DEREncoder, DEREncoder.prototype.encode = function(data, reporter) {\n return this.tree._encode(data, reporter).join();\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._encodeComposite = function(tag, primitive, cls, content) {\n let encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n if (content.length < 128) {\n let header2 = Buffer2.alloc(2);\n return header2[0] = encodedTag, header2[1] = content.length, this._createEncoderBuffer([header2, content]);\n }\n let lenOctets = 1;\n for (let i = content.length;i >= 256; i >>= 8)\n lenOctets++;\n let header = Buffer2.alloc(2 + lenOctets);\n header[0] = encodedTag, header[1] = 128 | lenOctets;\n for (let i = 1 + lenOctets, j = content.length;j > 0; i--, j >>= 8)\n header[i] = j & 255;\n return this._createEncoderBuffer([header, content]);\n }, DERNode.prototype._encodeStr = function(str, tag) {\n if (tag === \"bitstr\")\n return this._createEncoderBuffer([str.unused | 0, str.data]);\n if (tag === \"bmpstr\") {\n let buf = Buffer2.alloc(str.length * 2);\n for (let i = 0;i < str.length; i++)\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n return this._createEncoderBuffer(buf);\n } else\n return tag === \"numstr\" \? this._isNumstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: numstr supports only digits and space\") : tag === \"printstr\" \? this._isPrintstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\") : /str$/.test(tag) \? this._createEncoderBuffer(str) : tag === \"objDesc\" \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: \" + tag + \" unsupported\");\n }, DERNode.prototype._encodeObjid = function(id, values, relative) {\n if (typeof id == \"string\") {\n if (!values)\n return this.reporter.error(\"string objid given, but no values map found\");\n if (!values.hasOwnProperty(id))\n return this.reporter.error(\"objid not found in values map\");\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n } else if (@Array.isArray(id)) {\n id = id.slice();\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n }\n if (!@Array.isArray(id))\n return this.reporter.error(\"objid() should be either array or string, got: \" + JSON.stringify(id));\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error(\"Second objid identifier OOB\");\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n let size = 0;\n for (let i = 0;i < id.length; i++) {\n let ident = id[i];\n for (size++;ident >= 128; ident >>= 7)\n size++;\n }\n let objid = Buffer2.alloc(size), offset = objid.length - 1;\n for (let i = id.length - 1;i >= 0; i--) {\n let ident = id[i];\n for (objid[offset--] = ident & 127;(ident >>= 7) > 0; )\n objid[offset--] = 128 | ident & 127;\n }\n return this._createEncoderBuffer(objid);\n };\n function two(num) {\n return num < 10 \? \"0\" + num : num;\n }\n DERNode.prototype._encodeTime = function(time, tag) {\n let str, date = new Date(time);\n return tag === \"gentime\" \? str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : tag === \"utctime\" \? str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : this.reporter.error(\"Encoding \" + tag + \" time is not supported yet\"), this._encodeStr(str, \"octstr\");\n }, DERNode.prototype._encodeNull = function() {\n return this._createEncoderBuffer(\"\");\n }, DERNode.prototype._encodeInt = function(num, values) {\n if (typeof num == \"string\") {\n if (!values)\n return this.reporter.error(\"String int or enum given, but no values map\");\n if (!values.hasOwnProperty(num))\n return this.reporter.error(\"Values map doesn't contain: \" + JSON.stringify(num));\n num = values[num];\n }\n if (typeof num != \"number\" && !Buffer2.isBuffer(num)) {\n let numArray = num.toArray();\n !num.sign && numArray[0] & 128 && numArray.unshift(0), num = Buffer2.from(numArray);\n }\n if (Buffer2.isBuffer(num)) {\n let size2 = num.length;\n num.length === 0 && size2++;\n let out2 = Buffer2.alloc(size2);\n return num.copy(out2), num.length === 0 && (out2[0] = 0), this._createEncoderBuffer(out2);\n }\n if (num < 128)\n return this._createEncoderBuffer(num);\n if (num < 256)\n return this._createEncoderBuffer([0, num]);\n let size = 1;\n for (let i = num;i >= 256; i >>= 8)\n size++;\n let out = new @Array(size);\n for (let i = out.length - 1;i >= 0; i--)\n out[i] = num & 255, num >>= 8;\n return out[0] & 128 && out.unshift(0), this._createEncoderBuffer(Buffer2.from(out));\n }, DERNode.prototype._encodeBool = function(value) {\n return this._createEncoderBuffer(value \? 255 : 0);\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getEncoder(\"der\").tree;\n }, DERNode.prototype._skipDefault = function(dataBuffer, reporter, parent) {\n let state = this._baseState, i;\n if (state.default === null)\n return !1;\n let data = dataBuffer.join();\n if (state.defaultBuffer === void 0 && (state.defaultBuffer = this._encodeValue(state.default, reporter, parent).join()), data.length !== state.defaultBuffer.length)\n return !1;\n for (i = 0;i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return !1;\n return !0;\n };\n function encodeTag(tag, primitive, cls, reporter) {\n let res;\n if (tag === \"seqof\" \? tag = \"seq\" : tag === \"setof\" && (tag = \"set\"), der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag == \"number\" && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error(\"Unknown tag: \" + tag);\n return res >= 31 \? reporter.error(\"Multi-octet tag encoding unsupported\") : (primitive || (res |= 32), res |= der.tagClassByName[cls || \"universal\"] << 6, res);\n }\n }\n}), require_pem = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), DEREncoder = require_der2();\n function PEMEncoder(entity) {\n DEREncoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMEncoder, DEREncoder), module.exports = PEMEncoder, PEMEncoder.prototype.encode = function(data, options) {\n let p = DEREncoder.prototype.encode.@call(this, data).toString(\"base64\"), out = [\"-----BEGIN \" + options.label + \"-----\"];\n for (let i = 0;i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n return out.push(\"-----END \" + options.label + \"-----\"), out.join(`\n`);\n };\n }\n}), require_encoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/index.js\"(exports) {\n var encoders = exports;\n encoders.der = require_der2(), encoders.pem = require_pem();\n }\n}), require_der3 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), bignum = require_bn5(), DecoderBuffer = require_buffer().DecoderBuffer, Node = require_node(), der = require_der();\n function DERDecoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DERDecoder.prototype = {}, module.exports = DERDecoder, DERDecoder.prototype.decode = function(data, options) {\n return DecoderBuffer.isDecoderBuffer(data) || (data = new DecoderBuffer(data, options)), this.tree._decode(data, options);\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._peekTag = function(buffer, tag, any) {\n if (buffer.isEmpty())\n return !1;\n let state = buffer.save(), decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n return buffer.isError(decodedTag) \? decodedTag : (buffer.restore(state), decodedTag.tag === tag || decodedTag.tagStr === tag || decodedTag.tagStr + \"of\" === tag || any);\n }, DERNode.prototype._decodeTag = function(buffer, tag, any) {\n let decodedTag = derDecodeTag(buffer, 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n let len = derDecodeLen(buffer, decodedTag.primitive, 'Failed to get length of \"' + tag + '\"');\n if (buffer.isError(len))\n return len;\n if (!any && decodedTag.tag !== tag && decodedTag.tagStr !== tag && decodedTag.tagStr + \"of\" !== tag)\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n let state = buffer.save(), res = this._skipUntilEnd(buffer, 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n return buffer.isError(res) \? res : (len = buffer.offset - state.offset, buffer.restore(state), buffer.skip(len, 'Failed to match body of: \"' + tag + '\"'));\n }, DERNode.prototype._skipUntilEnd = function(buffer, fail) {\n for (;; ) {\n let tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n let len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n let res;\n if (tag.primitive || len !== null \? res = buffer.skip(len) : res = this._skipUntilEnd(buffer, fail), buffer.isError(res))\n return res;\n if (tag.tagStr === \"end\")\n break;\n }\n }, DERNode.prototype._decodeList = function(buffer, tag, decoder, options) {\n let result = [];\n for (;!buffer.isEmpty(); ) {\n let possibleEnd = this._peekTag(buffer, \"end\");\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n let res = decoder.decode(buffer, \"der\", options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n }, DERNode.prototype._decodeStr = function(buffer, tag) {\n if (tag === \"bitstr\") {\n let unused = buffer.readUInt8();\n return buffer.isError(unused) \? unused : { unused, data: buffer.raw() };\n } else if (tag === \"bmpstr\") {\n let raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error(\"Decoding of string type: bmpstr length mismatch\");\n let str = \"\";\n for (let i = 0;i < raw.length / 2; i++)\n str += @String.fromCharCode(raw.readUInt16BE(i * 2));\n return str;\n } else if (tag === \"numstr\") {\n let numstr = buffer.raw().toString(\"ascii\");\n return this._isNumstr(numstr) \? numstr : buffer.error(\"Decoding of string type: numstr unsupported characters\");\n } else {\n if (tag === \"octstr\")\n return buffer.raw();\n if (tag === \"objDesc\")\n return buffer.raw();\n if (tag === \"printstr\") {\n let printstr = buffer.raw().toString(\"ascii\");\n return this._isPrintstr(printstr) \? printstr : buffer.error(\"Decoding of string type: printstr unsupported characters\");\n } else\n return /str$/.test(tag) \? buffer.raw().toString() : buffer.error(\"Decoding of string type: \" + tag + \" unsupported\");\n }\n }, DERNode.prototype._decodeObjid = function(buffer, values, relative) {\n let result, identifiers = [], ident = 0, subident = 0;\n for (;!buffer.isEmpty(); )\n subident = buffer.readUInt8(), ident <<= 7, ident |= subident & 127, (subident & 128) === 0 && (identifiers.push(ident), ident = 0);\n subident & 128 && identifiers.push(ident);\n let first = identifiers[0] / 40 | 0, second = identifiers[0] % 40;\n if (relative \? result = identifiers : result = [first, second].concat(identifiers.slice(1)), values) {\n let tmp = values[result.join(\" \")];\n tmp === void 0 && (tmp = values[result.join(\".\")]), tmp !== void 0 && (result = tmp);\n }\n return result;\n }, DERNode.prototype._decodeTime = function(buffer, tag) {\n let str = buffer.raw().toString(), year, mon, day, hour, min, sec;\n if (tag === \"gentime\")\n year = str.slice(0, 4) | 0, mon = str.slice(4, 6) | 0, day = str.slice(6, 8) | 0, hour = str.slice(8, 10) | 0, min = str.slice(10, 12) | 0, sec = str.slice(12, 14) | 0;\n else if (tag === \"utctime\")\n year = str.slice(0, 2) | 0, mon = str.slice(2, 4) | 0, day = str.slice(4, 6) | 0, hour = str.slice(6, 8) | 0, min = str.slice(8, 10) | 0, sec = str.slice(10, 12) | 0, year < 70 \? year = 2000 + year : year = 1900 + year;\n else\n return buffer.error(\"Decoding \" + tag + \" time is not supported yet\");\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n }, DERNode.prototype._decodeNull = function() {\n return null;\n }, DERNode.prototype._decodeBool = function(buffer) {\n let res = buffer.readUInt8();\n return buffer.isError(res) \? res : res !== 0;\n }, DERNode.prototype._decodeInt = function(buffer, values) {\n let raw = buffer.raw(), res = new bignum(raw);\n return values && (res = values[res.toString(10)] || res), res;\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getDecoder(\"der\").tree;\n };\n function derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n let cls = der.tagClass[tag >> 6], primitive = (tag & 32) === 0;\n if ((tag & 31) === 31) {\n let oct = tag;\n for (tag = 0;(oct & 128) === 128; ) {\n if (oct = buf.readUInt8(fail), buf.isError(oct))\n return oct;\n tag <<= 7, tag |= oct & 127;\n }\n } else\n tag &= 31;\n let tagStr = der.tag[tag];\n return {\n cls,\n primitive,\n tag,\n tagStr\n };\n }\n function derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n if (!primitive && len === 128)\n return null;\n if ((len & 128) === 0)\n return len;\n let num = len & 127;\n if (num > 4)\n return buf.error(\"length octect is too long\");\n len = 0;\n for (let i = 0;i < num; i++) {\n len <<= 8;\n let j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n return len;\n }\n }\n}), require_pem2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, DERDecoder = require_der3();\n function PEMDecoder(entity) {\n DERDecoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMDecoder, DERDecoder), module.exports = PEMDecoder, PEMDecoder.prototype.decode = function(data, options) {\n let lines = data.toString().split(/[\\r\\n]+/g), label = options.label.toUpperCase(), re = /^-----(BEGIN|END) ([^-]+)-----$/, start = -1, end = -1;\n for (let i = 0;i < lines.length; i++) {\n let match = lines[i].match(re);\n if (match !== null && match[2] === label)\n if (start === -1) {\n if (match[1] !== \"BEGIN\")\n break;\n start = i;\n } else {\n if (match[1] !== \"END\")\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error(\"PEM section not found for: \" + label);\n let base64 = lines.slice(start + 1, end).join(\"\");\n base64.replace(/[^a-z0-9+/=]+/gi, \"\");\n let input = Buffer2.from(base64, \"base64\");\n return DERDecoder.prototype.decode.@call(this, input, options);\n };\n }\n}), require_decoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/index.js\"(exports) {\n var decoders = exports;\n decoders.der = require_der3(), decoders.pem = require_pem2();\n }\n}), require_api = __commonJS({\n \"node_modules/asn1.js/lib/asn1/api.js\"(exports) {\n var encoders = require_encoders(), decoders = require_decoders(), inherits = require_inherits_browser(), api = exports;\n api.define = function(name, body) {\n return new Entity(name, body);\n };\n function Entity(name, body) {\n this.name = name, this.body = body, this.decoders = {}, this.encoders = {};\n }\n Entity.prototype = {}, Entity.prototype._createNamed = function(Base) {\n let name = this.name;\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n return inherits(Generated, Base), Generated.prototype._initNamed = function(entity, name2) {\n Base.@call(this, entity, name2);\n }, new Generated(this);\n }, Entity.prototype._getDecoder = function(enc) {\n return enc = enc || \"der\", this.decoders.hasOwnProperty(enc) || (this.decoders[enc] = this._createNamed(decoders[enc])), this.decoders[enc];\n }, Entity.prototype.decode = function(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n }, Entity.prototype._getEncoder = function(enc) {\n return enc = enc || \"der\", this.encoders.hasOwnProperty(enc) || (this.encoders[enc] = this._createNamed(encoders[enc])), this.encoders[enc];\n }, Entity.prototype.encode = function(data, enc, reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n };\n }\n}), require_base2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/index.js\"(exports) {\n var base = exports;\n base.Reporter = require_reporter().Reporter, base.DecoderBuffer = require_buffer().DecoderBuffer, base.EncoderBuffer = require_buffer().EncoderBuffer, base.Node = require_node();\n }\n}), require_constants = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/index.js\"(exports) {\n var constants = exports;\n constants._reverse = function(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }, constants.der = require_der();\n }\n}), require_asn1 = __commonJS({\n \"node_modules/asn1.js/lib/asn1.js\"(exports) {\n var asn1 = exports;\n asn1.bignum = require_bn5(), asn1.define = require_api().define, asn1.base = require_base2(), asn1.constants = require_constants(), asn1.decoders = require_decoders(), asn1.encoders = require_encoders();\n }\n}), require_certificate = __commonJS({\n \"node_modules/parse-asn1/certificate.js\"(exports, module) {\n var asn = require_asn1(), Time = asn.define(\"Time\", function() {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n });\n }), AttributeTypeValue = asn.define(\"AttributeTypeValue\", function() {\n this.seq().obj(this.key(\"type\").objid(), this.key(\"value\").any());\n }), AlgorithmIdentifier = asn.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"parameters\").optional(), this.key(\"curve\").objid().optional());\n }), SubjectPublicKeyInfo = asn.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n }), RelativeDistinguishedName = asn.define(\"RelativeDistinguishedName\", function() {\n this.setof(AttributeTypeValue);\n }), RDNSequence = asn.define(\"RDNSequence\", function() {\n this.seqof(RelativeDistinguishedName);\n }), Name = asn.define(\"Name\", function() {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n });\n }), Validity = asn.define(\"Validity\", function() {\n this.seq().obj(this.key(\"notBefore\").use(Time), this.key(\"notAfter\").use(Time));\n }), Extension = asn.define(\"Extension\", function() {\n this.seq().obj(this.key(\"extnID\").objid(), this.key(\"critical\").bool().def(!1), this.key(\"extnValue\").octstr());\n }), TBSCertificate = asn.define(\"TBSCertificate\", function() {\n this.seq().obj(this.key(\"version\").explicit(0).int().optional(), this.key(\"serialNumber\").int(), this.key(\"signature\").use(AlgorithmIdentifier), this.key(\"issuer\").use(Name), this.key(\"validity\").use(Validity), this.key(\"subject\").use(Name), this.key(\"subjectPublicKeyInfo\").use(SubjectPublicKeyInfo), this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(), this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(), this.key(\"extensions\").explicit(3).seqof(Extension).optional());\n }), X509Certificate = asn.define(\"X509Certificate\", function() {\n this.seq().obj(this.key(\"tbsCertificate\").use(TBSCertificate), this.key(\"signatureAlgorithm\").use(AlgorithmIdentifier), this.key(\"signatureValue\").bitstr());\n });\n module.exports = X509Certificate;\n }\n}), require_asn12 = __commonJS({\n \"node_modules/parse-asn1/asn1.js\"(exports) {\n var asn1 = require_asn1();\n exports.certificate = require_certificate();\n var RSAPrivateKey = asn1.define(\"RSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"modulus\").int(), this.key(\"publicExponent\").int(), this.key(\"privateExponent\").int(), this.key(\"prime1\").int(), this.key(\"prime2\").int(), this.key(\"exponent1\").int(), this.key(\"exponent2\").int(), this.key(\"coefficient\").int());\n });\n exports.RSAPrivateKey = RSAPrivateKey;\n var RSAPublicKey = asn1.define(\"RSAPublicKey\", function() {\n this.seq().obj(this.key(\"modulus\").int(), this.key(\"publicExponent\").int());\n });\n exports.RSAPublicKey = RSAPublicKey;\n var PublicKey = asn1.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n });\n exports.PublicKey = PublicKey;\n var AlgorithmIdentifier = asn1.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"none\").null_().optional(), this.key(\"curve\").objid().optional(), this.key(\"params\").seq().obj(this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int()).optional());\n }), PrivateKeyInfo = asn1.define(\"PrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.PrivateKey = PrivateKeyInfo;\n var EncryptedPrivateKeyInfo = asn1.define(\"EncryptedPrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(), this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(), this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(), this.key(\"iters\").int())), this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(), this.key(\"iv\").octstr()))), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo;\n var DSAPrivateKey = asn1.define(\"DSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int(), this.key(\"pub_key\").int(), this.key(\"priv_key\").int());\n });\n exports.DSAPrivateKey = DSAPrivateKey, exports.DSAparam = asn1.define(\"DSAparam\", function() {\n this.int();\n });\n var ECPrivateKey = asn1.define(\"ECPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"privateKey\").octstr(), this.key(\"parameters\").optional().explicit(0).use(ECParameters), this.key(\"publicKey\").optional().explicit(1).bitstr());\n });\n exports.ECPrivateKey = ECPrivateKey;\n var ECParameters = asn1.define(\"ECParameters\", function() {\n this.choice({\n namedCurve: this.objid()\n });\n });\n exports.signature = asn1.define(\"signature\", function() {\n this.seq().obj(this.key(\"r\").int(), this.key(\"s\").int());\n });\n }\n}), require_aesid = __commonJS({\n \"node_modules/parse-asn1/aesid.json\"(exports, module) {\n module.exports = {\n \"2.16.840.1.101.3.4.1.1\": \"aes-128-ecb\",\n \"2.16.840.1.101.3.4.1.2\": \"aes-128-cbc\",\n \"2.16.840.1.101.3.4.1.3\": \"aes-128-ofb\",\n \"2.16.840.1.101.3.4.1.4\": \"aes-128-cfb\",\n \"2.16.840.1.101.3.4.1.21\": \"aes-192-ecb\",\n \"2.16.840.1.101.3.4.1.22\": \"aes-192-cbc\",\n \"2.16.840.1.101.3.4.1.23\": \"aes-192-ofb\",\n \"2.16.840.1.101.3.4.1.24\": \"aes-192-cfb\",\n \"2.16.840.1.101.3.4.1.41\": \"aes-256-ecb\",\n \"2.16.840.1.101.3.4.1.42\": \"aes-256-cbc\",\n \"2.16.840.1.101.3.4.1.43\": \"aes-256-ofb\",\n \"2.16.840.1.101.3.4.1.44\": \"aes-256-cfb\"\n };\n }\n}), require_fixProc = __commonJS({\n \"node_modules/parse-asn1/fixProc.js\"(exports, module) {\n var findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((\?:128)|(\?:192)|(\?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m, startRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----/m, fullRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m, evp = require_evp_bytestokey(), ciphers = require_browser5(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(okey, password) {\n var key2 = okey.toString(), match = key2.match(findProc), decrypted;\n if (match) {\n var suite = \"aes\" + match[1], iv = Buffer2.from(match[2], \"hex\"), cipherText = Buffer2.from(match[3].replace(/[\\r\\n]/g, \"\"), \"base64\"), cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key, out = [], cipher = ciphers.createDecipheriv(suite, cipherKey, iv);\n out.push(cipher.update(cipherText)), out.push(cipher.final()), decrypted = Buffer2.concat(out);\n } else {\n var match2 = key2.match(fullRegex);\n decrypted = Buffer2.from(match2[2].replace(/[\\r\\n]/g, \"\"), \"base64\");\n }\n var tag = key2.match(startRegex)[1];\n return {\n tag,\n data: decrypted\n };\n };\n }\n}), require_parse_asn1 = __commonJS({\n \"node_modules/parse-asn1/index.js\"(exports, module) {\n var asn1 = require_asn12(), aesid = require_aesid(), fixProc = require_fixProc(), ciphers = require_browser5(), compat = require_browser4(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = parseKeys;\n function parseKeys(buffer) {\n var password;\n if (buffer instanceof KeyObject)\n buffer = buffer.export();\n else if (buffer instanceof CryptoKey)\n buffer = KeyObject.from(buffer).export();\n else if (typeof buffer == \"object\" && !Buffer2.isBuffer(buffer)) {\n if (password = buffer.passphrase, buffer = buffer.key, buffer instanceof KeyObject) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = buffer.export(options);\n } else if (buffer instanceof CryptoKey) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = KeyObject.from(buffer).export(options);\n }\n }\n typeof buffer == \"string\" && (buffer = Buffer2.from(buffer));\n var stripped = fixProc(buffer, password), type = stripped.tag, data = stripped.data, subtype, ndata;\n switch (type) {\n case \"CERTIFICATE\":\n ndata = asn1.certificate.decode(data, \"der\").tbsCertificate.subjectPublicKeyInfo;\n case \"PUBLIC KEY\":\n switch (ndata || (ndata = asn1.PublicKey.decode(data, \"der\")), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, \"der\");\n case \"1.2.840.10045.2.1\":\n return ndata.subjectPrivateKey = ndata.subjectPublicKey, {\n type: \"ec\",\n data: ndata\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, \"der\"), {\n type: \"dsa\",\n data: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"ENCRYPTED PRIVATE KEY\":\n data = asn1.EncryptedPrivateKey.decode(data, \"der\"), data = decrypt(data, password);\n case \"PRIVATE KEY\":\n switch (ndata = asn1.PrivateKey.decode(data, \"der\"), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, \"der\");\n case \"1.2.840.10045.2.1\":\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, \"der\").privateKey\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, \"der\"), {\n type: \"dsa\",\n params: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"RSA PUBLIC KEY\":\n return asn1.RSAPublicKey.decode(data, \"der\");\n case \"RSA PRIVATE KEY\":\n return asn1.RSAPrivateKey.decode(data, \"der\");\n case \"DSA PRIVATE KEY\":\n return {\n type: \"dsa\",\n params: asn1.DSAPrivateKey.decode(data, \"der\")\n };\n case \"EC PRIVATE KEY\":\n return data = asn1.ECPrivateKey.decode(data, \"der\"), {\n curve: data.parameters.value,\n privateKey: data.privateKey\n };\n default:\n throw new Error(\"unknown key type \" + type);\n }\n }\n parseKeys.signature = asn1.signature;\n function decrypt(data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt, iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10), algo = aesid[data.algorithm.decrypt.cipher.algo.join(\".\")], iv = data.algorithm.decrypt.cipher.iv, cipherText = data.subjectPrivateKey, keylen = parseInt(algo.split(\"-\")[1], 10) / 8, key2 = compat.pbkdf2Sync(password, salt, iters, keylen, \"sha1\"), cipher = ciphers.createDecipheriv(algo, key2, iv), out = [];\n return out.push(cipher.update(cipherText)), out.push(cipher.final()), Buffer2.concat(out);\n }\n }\n}), require_curves2 = __commonJS({\n \"node_modules/browserify-sign/browser/curves.json\"(exports, module) {\n module.exports = {\n \"1.3.132.0.10\": \"secp256k1\",\n \"1.3.132.0.33\": \"p224\",\n \"1.2.840.10045.3.1.1\": \"p192\",\n \"1.2.840.10045.3.1.7\": \"p256\",\n \"1.3.132.0.34\": \"p384\",\n \"1.3.132.0.35\": \"p521\"\n };\n }\n}), require_sign = __commonJS({\n \"node_modules/browserify-sign/browser/sign.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHmac = require_browser3(), crt = require_browserify_rsa(), EC = require_elliptic().ec, BN = require_bn3(), parseKeys = require_parse_asn1(), curves = require_curves2();\n function sign(hash, key2, hashType, signType, tag) {\n var priv = parseKeys(getKeyFrom(key2, \"private\"));\n if (priv.curve) {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n return ecSign(hash, priv);\n } else if (priv.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong private key type\");\n return dsaSign(hash, priv, hashType);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = priv.modulus.byteLength(), pad = [0, 1];hash.length + pad.length + 1 < len; )\n pad.push(255);\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n var out = crt(pad, priv);\n return out;\n }\n function ecSign(hash, priv) {\n var curveId = curves[priv.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + priv.curve.join(\".\"));\n var curve = new EC(curveId), key2 = curve.keyFromPrivate(priv.privateKey), out = key2.sign(hash);\n return Buffer2.from(out.toDER());\n }\n function dsaSign(hash, priv, algo) {\n for (var x = priv.params.priv_key, p = priv.params.p, q = priv.params.q, g = priv.params.g, r = new BN(0), k, H = bits2int(hash, q).mod(q), s = !1, kv = getKey(x, q, hash, algo);s === !1; )\n k = makeKey(q, kv, algo), r = makeR(g, k, p, q), s = k.invm(q).imul(H.add(x.mul(r))).mod(q), s.cmpn(0) === 0 && (s = !1, r = new BN(0));\n return toDER(r, s);\n }\n function toDER(r, s) {\n r = r.toArray(), s = s.toArray(), r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s));\n var total = r.length + s.length + 4, res = [48, total, 2, r.length];\n return res = res.concat(r, [2, s.length], s), Buffer2.from(res);\n }\n function getKey(x, q, hash, algo) {\n if (x = Buffer2.from(x.toArray()), x.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - x.length);\n x = Buffer2.concat([zeros, x]);\n }\n var hlen = hash.length, hbits = bits2octets(hash, q), v = Buffer2.alloc(hlen);\n v.fill(1);\n var k = Buffer2.alloc(hlen);\n return k = createHmac(algo, k).update(v).update(Buffer2.from([0])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), k = createHmac(algo, k).update(v).update(Buffer2.from([1])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), { k, v };\n }\n function bits2int(obits, q) {\n var bits = new BN(obits), shift = (obits.length << 3) - q.bitLength();\n return shift > 0 && bits.ishrn(shift), bits;\n }\n function bits2octets(bits, q) {\n bits = bits2int(bits, q), bits = bits.mod(q);\n var out = Buffer2.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - out.length);\n out = Buffer2.concat([zeros, out]);\n }\n return out;\n }\n function makeKey(q, kv, algo) {\n var t, k;\n do {\n for (t = Buffer2.alloc(0);t.length * 8 < q.bitLength(); )\n kv.v = createHmac(algo, kv.k).update(kv.v).digest(), t = Buffer2.concat([t, kv.v]);\n k = bits2int(t, q), kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer2.from([0])).digest(), kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n return k;\n }\n function makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n }\n module.exports = sign, module.exports.getKey = getKey, module.exports.makeKey = makeKey;\n }\n}), require_verify = __commonJS({\n \"node_modules/browserify-sign/browser/verify.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, BN = require_bn3(), EC = require_elliptic().ec, parseKeys = require_parse_asn1(), curves = require_curves2();\n function verify(sig, hash, key2, signType, tag) {\n var pub = parseKeys(getKeyFrom(key2, \"public\"));\n if (pub.type === \"ec\") {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n return ecVerify(sig, hash, pub);\n } else if (pub.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong public key type\");\n return dsaVerify(sig, hash, pub);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = pub.modulus.byteLength(), pad = [1], padNum = 0;hash.length + pad.length + 2 < len; )\n pad.push(255), padNum++;\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n pad = Buffer2.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red), sig = sig.redPow(new BN(pub.publicExponent)), sig = Buffer2.from(sig.fromRed().toArray());\n var out = padNum < 8 \? 1 : 0;\n for (len = Math.min(sig.length, pad.length), sig.length !== pad.length && (out = 1), i = -1;++i < len; )\n out |= sig[i] ^ pad[i];\n return out === 0;\n }\n function ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + pub.data.algorithm.curve.join(\".\"));\n var curve = new EC(curveId), pubkey = pub.data.subjectPrivateKey.data;\n return curve.verify(hash, sig, pubkey);\n }\n function dsaVerify(sig, hash, pub) {\n var p = pub.data.p, q = pub.data.q, g = pub.data.g, y = pub.data.pub_key, unpacked = parseKeys.signature.decode(sig, \"der\"), s = unpacked.s, r = unpacked.r;\n checkValue(s, q), checkValue(r, q);\n var montp = BN.mont(p), w = s.invm(q), v = g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q);\n return v.cmp(r) === 0;\n }\n function checkValue(b, q) {\n if (b.cmpn(0) <= 0)\n throw new Error(\"invalid sig\");\n if (b.cmp(q) >= q)\n throw new Error(\"invalid sig\");\n }\n module.exports = verify;\n }\n}), require_browser8 = __commonJS({\n \"node_modules/browserify-sign/browser/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHash = require_browser2(), inherits = require_inherits_browser(), sign = require_sign(), verify = require_verify(), algorithms = require_algorithms();\n Object.keys(algorithms).forEach(function(key2) {\n algorithms[key2].id = Buffer2.from(algorithms[key2].id, \"hex\"), algorithms[key2.toLowerCase()] = algorithms[key2];\n });\n function Sign(algorithm) {\n if (typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n StreamModule.Writable.@call(this);\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hashType = data.hash, this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Sign, StreamModule.Writable), Sign.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Sign.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Sign.prototype.sign = function(key2, enc) {\n this.end();\n var hash = this._hash.digest(), sig = sign(hash, key2, this._hashType, this._signType, this._tag);\n return enc \? sig.toString(enc) : sig;\n };\n function Verify(algorithm) {\n if (StreamModule.Writable.@call(this), typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Verify, StreamModule.Writable), Verify.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Verify.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Verify.prototype.verify = function(key2, sig, enc) {\n typeof sig == \"string\" && (sig = Buffer2.from(sig, enc)), this.end();\n var hash = this._hash.digest();\n return verify(sig, hash, key2, this._signType, this._tag);\n };\n function createSign(algorithm) {\n return new Sign(algorithm);\n }\n function createVerify(algorithm) {\n return new Verify(algorithm);\n }\n module.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign,\n createVerify\n };\n }\n}), require_bn6 = require_bn, require_browser9 = __commonJS({\n \"node_modules/create-ecdh/browser.js\"(exports, module) {\n var elliptic = require_elliptic(), BN = require_bn6();\n module.exports = function(curve) {\n return new ECDH(curve);\n };\n var aliases = {\n secp256k1: {\n name: \"secp256k1\",\n byteLength: 32\n },\n secp224r1: {\n name: \"p224\",\n byteLength: 28\n },\n prime256v1: {\n name: \"p256\",\n byteLength: 32\n },\n prime192v1: {\n name: \"p192\",\n byteLength: 24\n },\n ed25519: {\n name: \"ed25519\",\n byteLength: 32\n },\n secp384r1: {\n name: \"p384\",\n byteLength: 48\n },\n secp521r1: {\n name: \"p521\",\n byteLength: 66\n }\n };\n aliases.p224 = aliases.secp224r1, aliases.p256 = aliases.secp256r1 = aliases.prime256v1, aliases.p192 = aliases.secp192r1 = aliases.prime192v1, aliases.p384 = aliases.secp384r1, aliases.p521 = aliases.secp521r1;\n function ECDH(curve) {\n this.curveType = aliases[curve], this.curveType || (this.curveType = {\n name: curve\n }), this.curve = new elliptic.ec(this.curveType.name), this.keys = void 0;\n }\n ECDH.prototype = {}, ECDH.prototype.generateKeys = function(enc, format) {\n return this.keys = this.curve.genKeyPair(), this.getPublicKey(enc, format);\n }, ECDH.prototype.computeSecret = function(other, inenc, enc) {\n inenc = inenc || \"utf8\", Buffer.isBuffer(other) || (other = new Buffer(other, inenc));\n var otherPub = this.curve.keyFromPublic(other).getPublic(), out = otherPub.mul(this.keys.getPrivate()).getX();\n return formatReturnValue(out, enc, this.curveType.byteLength);\n }, ECDH.prototype.getPublicKey = function(enc, format) {\n var key2 = this.keys.getPublic(format === \"compressed\", !0);\n return format === \"hybrid\" && (key2[key2.length - 1] % 2 \? key2[0] = 7 : key2[0] = 6), formatReturnValue(key2, enc);\n }, ECDH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this.keys.getPrivate(), enc);\n }, ECDH.prototype.setPublicKey = function(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this.keys._importPublic(pub), this;\n }, ECDH.prototype.setPrivateKey = function(priv, enc) {\n enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc));\n var _priv = new BN(priv);\n return _priv = _priv.toString(16), this.keys = this.curve.genKeyPair(), this.keys._importPrivate(_priv), this;\n };\n function formatReturnValue(bn, enc, len) {\n @Array.isArray(bn) || (bn = bn.toArray());\n var buf = new Buffer(bn);\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length);\n zeros.fill(0), buf = Buffer.concat([zeros, buf]);\n }\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_mgf = __commonJS({\n \"node_modules/public-encrypt/mgf.js\"(exports, module) {\n var createHash = require_browser2(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(seed, len) {\n for (var t = Buffer2.alloc(0), i = 0, c;t.length < len; )\n c = i2ops(i++), t = Buffer2.concat([t, createHash(\"sha1\").update(seed).update(c).digest()]);\n return t.slice(0, len);\n };\n function i2ops(c) {\n var out = Buffer2.allocUnsafe(4);\n return out.writeUInt32BE(c, 0), out;\n }\n }\n}), require_xor = __commonJS({\n \"node_modules/public-encrypt/xor.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var len = a.length, i = -1;++i < len; )\n a[i] ^= b[i];\n return a;\n };\n }\n}), require_bn7 = require_bn, { CryptoHasher } = globalThis.Bun, require_withPublic = __commonJS({\n \"node_modules/public-encrypt/withPublic.js\"(exports, module) {\n var BN = require_bn7(), Buffer2 = require_safe_buffer().Buffer;\n function withPublic(paddedMsg, key2) {\n return Buffer2.from(paddedMsg.toRed(BN.mont(key2.modulus)).redPow(new BN(key2.publicExponent)).fromRed().toArray());\n }\n module.exports = withPublic;\n }\n}), require_publicEncrypt = __commonJS({\n \"node_modules/public-encrypt/publicEncrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), randomBytes = require_browser(), createHash = require_browser2(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), withPublic = require_withPublic(), crt = require_browserify_rsa(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(publicKey, msg, reverse) {\n var padding;\n publicKey.padding \? padding = publicKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(publicKey), paddedMsg;\n if (padding === 4)\n paddedMsg = oaep(key2, msg);\n else if (padding === 1)\n paddedMsg = pkcs1(key2, msg, reverse);\n else if (padding === 3) {\n if (paddedMsg = new BN(msg), paddedMsg.cmp(key2.modulus) >= 0)\n throw new Error(\"data too long for modulus\");\n } else\n throw new Error(\"unknown padding\");\n return reverse \? crt(paddedMsg, key2) : withPublic(paddedMsg, key2);\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), mLen = msg.length, iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length, hLen2 = 2 * hLen;\n if (mLen > k - hLen2 - 2)\n throw new Error(\"message too long\");\n var ps = Buffer2.alloc(k - mLen - hLen2 - 2), dblen = k - hLen - 1, seed = randomBytes(hLen), maskedDb = xor(Buffer2.concat([iHash, ps, Buffer2.alloc(1, 1), msg], dblen), mgf(seed, dblen)), maskedSeed = xor(seed, mgf(maskedDb, hLen));\n return new BN(Buffer2.concat([Buffer2.alloc(1), maskedSeed, maskedDb], k));\n }\n function pkcs1(key2, msg, reverse) {\n var mLen = msg.length, k = key2.modulus.byteLength();\n if (mLen > k - 11)\n throw new Error(\"message too long\");\n var ps;\n return reverse \? ps = Buffer2.alloc(k - mLen - 3, 255) : ps = nonZero(k - mLen - 3), new BN(Buffer2.concat([Buffer2.from([0, reverse \? 1 : 2]), ps, Buffer2.alloc(1), msg], k));\n }\n function nonZero(len) {\n for (var out = Buffer2.allocUnsafe(len), i = 0, cache = randomBytes(len * 2), cur = 0, num;i < len; )\n cur === cache.length && (cache = randomBytes(len * 2), cur = 0), num = cache[cur++], num && (out[i++] = num);\n return out;\n }\n }\n}), require_privateDecrypt = __commonJS({\n \"node_modules/public-encrypt/privateDecrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), crt = require_browserify_rsa(), createHash = require_browser2(), withPublic = require_withPublic(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(privateKey, enc, reverse) {\n var padding;\n privateKey.padding \? padding = privateKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(privateKey), k = key2.modulus.byteLength();\n if (enc.length > k || new BN(enc).cmp(key2.modulus) >= 0)\n throw new Error(\"decryption error\");\n var msg;\n reverse \? msg = withPublic(new BN(enc), key2) : msg = crt(enc, key2);\n var zBuffer = Buffer2.alloc(k - msg.length);\n if (msg = Buffer2.concat([zBuffer, msg], k), padding === 4)\n return oaep(key2, msg);\n if (padding === 1)\n return pkcs1(key2, msg, reverse);\n if (padding === 3)\n return msg;\n throw new Error(\"unknown padding\");\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length;\n if (msg[0] !== 0)\n throw new Error(\"decryption error\");\n var maskedSeed = msg.slice(1, hLen + 1), maskedDb = msg.slice(hLen + 1), seed = xor(maskedSeed, mgf(maskedDb, hLen)), db = xor(maskedDb, mgf(seed, k - hLen - 1));\n if (compare(iHash, db.slice(0, hLen)))\n throw new Error(\"decryption error\");\n for (var i = hLen;db[i] === 0; )\n i++;\n if (db[i++] !== 1)\n throw new Error(\"decryption error\");\n return db.slice(i);\n }\n function pkcs1(key2, msg, reverse) {\n for (var p1 = msg.slice(0, 2), i = 2, status = 0;msg[i++] !== 0; )\n if (i >= msg.length) {\n status++;\n break;\n }\n var ps = msg.slice(2, i - 1);\n if ((p1.toString(\"hex\") !== \"0002\" && !reverse || p1.toString(\"hex\") !== \"0001\" && reverse) && status++, ps.length < 8 && status++, status)\n throw new Error(\"decryption error\");\n return msg.slice(i);\n }\n function compare(a, b) {\n a = Buffer2.from(a), b = Buffer2.from(b);\n var dif = 0, len = a.length;\n a.length !== b.length && (dif++, len = Math.min(a.length, b.length));\n for (var i = -1;++i < len; )\n dif += a[i] ^ b[i];\n return dif;\n }\n }\n}), require_browser10 = __commonJS({\n \"node_modules/public-encrypt/browser.js\"(exports) {\n var publicEncrypt = require_publicEncrypt();\n exports.publicEncrypt = function(key2, buf, options) {\n return publicEncrypt(getKeyFrom(key2, \"public\"), buf, options);\n };\n var privateDecrypt = require_privateDecrypt();\n exports.privateDecrypt = function(key2, buf, options) {\n return privateDecrypt(getKeyFrom(key2, \"private\"), buf, options);\n }, exports.privateEncrypt = function(key2, buf) {\n return publicEncrypt(getKeyFrom(key2, \"private\"), buf, !0);\n }, exports.publicDecrypt = function(key2, buf) {\n return privateDecrypt(getKeyFrom(key2, \"public\"), buf, !0);\n };\n }\n}), require_browser11 = __commonJS({\n \"node_modules/randomfill/browser.js\"(exports) {\n var safeBuffer = require_safe_buffer(), randombytes = require_browser(), Buffer2 = safeBuffer.Buffer, kBufferMaxLength = safeBuffer.kMaxLength, kMaxUint32 = Math.pow(2, 32) - 1;\n function assertOffset(offset, length) {\n if (typeof offset != \"number\" || offset !== offset)\n @throwTypeError(\"offset must be a number\");\n if (offset > kMaxUint32 || offset < 0)\n @throwTypeError(\"offset must be a uint32\");\n if (offset > kBufferMaxLength || offset > length)\n @throwRangeError(\"offset out of range\");\n }\n function assertSize(size, offset, length) {\n if (typeof size != \"number\" || size !== size)\n @throwTypeError(\"size must be a number\");\n if (size > kMaxUint32 || size < 0)\n @throwTypeError(\"size must be a uint32\");\n if (size + offset > length || size > kBufferMaxLength)\n @throwRangeError(\"buffer too small\");\n }\n exports.randomFill = randomFill, exports.randomFillSync = randomFillSync;\n function randomFill(buf, offset, size, cb) {\n if (!Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n if (typeof offset == \"function\")\n cb = offset, offset = 0, size = buf.length;\n else if (typeof size == \"function\")\n cb = size, size = buf.length - offset;\n else if (typeof cb != \"function\")\n @throwTypeError('\"cb\" argument must be a function');\n return assertOffset(offset, buf.length), assertSize(size, offset, buf.length), actualFill(buf, offset, size, cb);\n }\n function actualFill(buf, offset, size, cb) {\n if (cb) {\n randombytes(size, function(err, bytes2) {\n if (err)\n return cb(err);\n bytes2.copy(buf, offset), cb(null, buf);\n });\n return;\n }\n var bytes = randombytes(size);\n return bytes.copy(buf, offset), buf;\n }\n function randomFillSync(buf, offset, size) {\n if (typeof offset > \"u\" && (offset = 0), !Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n return assertOffset(offset, buf.length), size === void 0 && (size = buf.length - offset), assertSize(size, offset, buf.length), actualFill(buf, offset, size);\n }\n }\n}), require_crypto_browserify2 = __commonJS({\n \"node_modules/crypto-browserify/index.js\"(exports) {\n exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require_browser(), exports.createHash = require_browser2(), exports.Hash = exports.createHash.Hash, exports.createHmac = exports.Hmac = require_browser3();\n var algos = require_algos(), algoKeys = Object.keys(algos), hashes = [\"sha1\", \"sha224\", \"sha256\", \"sha384\", \"sha512\", \"md5\", \"rmd160\"].concat(algoKeys);\n exports.getHashes = function() {\n return hashes;\n };\n var p = require_browser4();\n exports.pbkdf2 = p.pbkdf2, exports.pbkdf2Sync = p.pbkdf2Sync;\n var aes = require_browser6();\n exports.Cipher = aes.Cipher, exports.createCipher = aes.createCipher, exports.Cipheriv = aes.Cipheriv, exports.createCipheriv = aes.createCipheriv, exports.Decipher = aes.Decipher, exports.createDecipher = aes.createDecipher, exports.Decipheriv = aes.Decipheriv, exports.createDecipheriv = aes.createDecipheriv, exports.getCiphers = aes.getCiphers, exports.listCiphers = aes.listCiphers;\n var dh = require_browser7();\n exports.DiffieHellmanGroup = dh.DiffieHellmanGroup, exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup, exports.getDiffieHellman = dh.getDiffieHellman, exports.createDiffieHellman = dh.createDiffieHellman, exports.DiffieHellman = dh.DiffieHellman;\n var sign = require_browser8();\n exports.createSign = sign.createSign, exports.Sign = sign.Sign, exports.createVerify = sign.createVerify, exports.Verify = sign.Verify, exports.createECDH = require_browser9();\n var publicEncrypt = require_browser10();\n exports.publicEncrypt = publicEncrypt.publicEncrypt, exports.privateEncrypt = publicEncrypt.privateEncrypt, exports.publicDecrypt = publicEncrypt.publicDecrypt, exports.privateDecrypt = publicEncrypt.privateDecrypt, exports.getRandomValues = (values) => crypto.getRandomValues(values);\n var rf = require_browser11();\n exports.randomFill = rf.randomFill, exports.randomFillSync = rf.randomFillSync, exports.createCredentials = function() {\n throw new Error([\n \"sorry, createCredentials is not implemented yet\",\n \"we accept pull requests\",\n \"https://github.com/crypto-browserify/crypto-browserify\"\n ].join(`\n`));\n }, exports.constants = @processBindingConstants.crypto;\n }\n}), crypto_exports = require_crypto_browserify2(), DEFAULT_ENCODING = \"buffer\", getRandomValues = (array) => crypto.getRandomValues(array), randomUUID = () => crypto.randomUUID(), randomInt = (...args) => crypto.randomInt(...args), timingSafeEqual = \"timingSafeEqual\" in crypto \? (a, b) => {\n let { byteLength: byteLengthA } = a, { byteLength: byteLengthB } = b;\n if (typeof byteLengthA != \"number\" || typeof byteLengthB != \"number\")\n @throwTypeError(\"Input must be an array buffer view\");\n if (byteLengthA !== byteLengthB)\n @throwRangeError(\"Input buffers must have the same length\");\n return crypto.timingSafeEqual(a, b);\n} : void 0, scryptSync = \"scryptSync\" in crypto \? (password, salt, keylen, options) => {\n let res = crypto.scryptSync(password, salt, keylen, options);\n return DEFAULT_ENCODING !== \"buffer\" \? new Buffer(res).toString(DEFAULT_ENCODING) : new Buffer(res);\n} : void 0, scrypt = \"scryptSync\" in crypto \? function(password, salt, keylen, options, callback) {\n if (typeof options == \"function\" && (callback = options, options = void 0), typeof callback != \"function\") {\n var err = @makeTypeError(\"callback must be a function\");\n throw err.code = \"ERR_INVALID_CALLBACK\", err;\n }\n try {\n let result = crypto.scryptSync(password, salt, keylen, options);\n process.nextTick(callback, null, DEFAULT_ENCODING !== \"buffer\" \? new Buffer(result).toString(DEFAULT_ENCODING) : new Buffer(result));\n } catch (err2) {\n throw err2;\n }\n} : void 0;\ntimingSafeEqual && (Object.defineProperty(timingSafeEqual, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scrypt, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scryptSync, \"name\", {\n value: \"::bunternal::\"\n}));\nvar harcoded_curves = [\n \"p192\",\n \"p224\",\n \"p256\",\n \"p384\",\n \"p521\",\n \"curve25519\",\n \"ed25519\",\n \"secp256k1\",\n \"secp224r1\",\n \"prime256v1\",\n \"prime192v1\",\n \"ed25519\",\n \"secp384r1\",\n \"secp521r1\"\n], {\n symmetricKeySize,\n asymmetricKeyDetails,\n asymmetricKeyType,\n equals,\n exports,\n createSecretKey,\n createPublicKey,\n createPrivateKey,\n generateKeySync,\n generateKeyPairSync\n} = @lazy(\"internal/crypto\"), kCryptoKey = Symbol.for(\"::bunKeyObjectCryptoKey::\");\n\nclass KeyObject {\n [kCryptoKey];\n constructor(key2) {\n if (typeof key2 !== \"object\")\n @throwTypeError('The \"key\" argument must be an instance of CryptoKey.');\n this[kCryptoKey] = key2;\n }\n toString() {\n return \"[object KeyObject]\";\n }\n static from(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2[kCryptoKey];\n return new KeyObject(key2);\n }\n get asymmetricKeyDetails() {\n return asymmetricKeyDetails(this[kCryptoKey]);\n }\n get symmetricKeySize() {\n return symmetricKeySize(this[kCryptoKey]);\n }\n get asymmetricKeyType() {\n return asymmetricKeyType(this[kCryptoKey]);\n }\n [\"export\"](options) {\n switch (arguments.length) {\n case 0:\n switch (this.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\"\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\"\n };\n break;\n }\n break;\n case 1:\n if (typeof options === \"object\" && !options.format)\n switch (this.type) {\n case \"secret\":\n options.format = \"buffer\";\n break;\n default:\n options.format = \"pem\";\n break;\n }\n }\n return exports(this[kCryptoKey], options);\n }\n equals(otherKey) {\n if (!(otherKey instanceof KeyObject))\n @throwTypeError(\"otherKey must be a KeyObject\");\n return equals(this[kCryptoKey], otherKey[kCryptoKey]);\n }\n get type() {\n return this[kCryptoKey].type;\n }\n}\ncrypto_exports.generateKeySync = function(algorithm, options) {\n return KeyObject.from(generateKeySync(algorithm, options\?.length));\n};\ncrypto_exports.generateKey = function(algorithm, options, callback) {\n try {\n const key2 = KeyObject.from(generateKeySync(algorithm, options\?.length));\n typeof callback === \"function\" && callback(null, KeyObject.from(key2));\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.generateKeyPairSync = _generateKeyPairSync;\ncrypto_exports.generateKeyPair = function(algorithm, options, callback) {\n try {\n const result = _generateKeyPairSync(algorithm, options);\n typeof callback === \"function\" && callback(null, result.publicKey, result.privateKey);\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.createSecretKey = function(key2, encoding) {\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type !== \"secret\") {\n const error = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected secret`);\n throw error.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error;\n }\n return KeyObject.from(key2);\n }\n const buffer = getArrayBufferOrView(key2, encoding || \"utf8\");\n return KeyObject.from(createSecretKey(buffer));\n};\ncrypto_exports.createPrivateKey = _createPrivateKey;\ncrypto_exports.createPublicKey = _createPublicKey;\ncrypto_exports.KeyObject = KeyObject;\nvar _createSign = crypto_exports.createSign;\ncrypto_exports.sign = function(algorithm, data, key2, encoding, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n};\nvar _createVerify = crypto_exports.createVerify;\ncrypto_exports.verify = function(algorithm, data, key2, signature, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createVerify(algorithm).update(data).verify(key2, signature);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createVerify(algorithm).update(data).verify(key2, signature);\n};\nvar webcrypto = crypto;\n__export(crypto_exports, {\n DEFAULT_ENCODING: () => DEFAULT_ENCODING,\n getRandomValues: () => getRandomValues,\n randomUUID: () => randomUUID,\n randomInt: () => randomInt,\n getCurves: () => getCurves,\n scrypt: () => scrypt,\n scryptSync: () => scryptSync,\n timingSafeEqual: () => timingSafeEqual,\n webcrypto: () => webcrypto,\n subtle: () => webcrypto.subtle\n});\n$ = crypto_exports;\n/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDgramCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/dgram.ts\nvar createSocket = function() {\n throwNotImplemented(\"node:dgram createSocket\", 1630);\n}, Socket = function() {\n throwNotImplemented(\"node:dgram Socket\", 1630);\n}, _createSocketHandle = function() {\n throwNotImplemented(\"node:dgram _createSocketHandle\", 1630);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n createSocket,\n Socket,\n _createSocketHandle\n};\nhideFromStack(createSocket, Socket, _createSocketHandle);\nreturn $})\n"); +static constexpr ASCIILiteral NodeDgramCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/dgram.ts\nvar createSocket = function() {\n throwNotImplemented(\"node:dgram createSocket\", 1630);\n}, Socket = function() {\n throwNotImplemented(\"node:dgram Socket\", 1630);\n}, _createSocketHandle = function() {\n throwNotImplemented(\"node:dgram _createSocketHandle\", 1630);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n createSocket,\n Socket,\n _createSocketHandle\n};\nhideFromStack(createSocket, Socket, _createSocketHandle);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDiagnosticsChannelCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/diagnostics_channel.ts\nvar markActive = function(channel) {\n ObjectSetPrototypeOf(channel, ActiveChannel.prototype), channel._subscribers = [], channel._stores = new SafeMap;\n}, maybeMarkInactive = function(channel) {\n if (!channel._subscribers.length && !channel._stores.size)\n ObjectSetPrototypeOf(channel, Channel.prototype), channel._subscribers = @undefined, channel._stores = @undefined;\n}, defaultTransform = function(data) {\n return data;\n}, wrapStoreRun = function(store, data, next, transform = defaultTransform) {\n return () => {\n let context;\n try {\n context = transform(data);\n } catch (err) {\n return process.nextTick(() => reportError(err)), next();\n }\n return store.run(context, next);\n };\n}, channel = function(name) {\n const channel2 = channels.get(name);\n if (channel2)\n return channel2;\n if (typeof name !== \"string\" && typeof name !== \"symbol\")\n throw new ERR_INVALID_ARG_TYPE(\"channel\", [\"string\", \"symbol\"], name);\n return new Channel(name);\n}, subscribe = function(name, subscription) {\n return channel(name).subscribe(subscription);\n}, unsubscribe = function(name, subscription) {\n return channel(name).unsubscribe(subscription);\n}, hasSubscribers = function(name) {\n const channel2 = channels.get(name);\n if (!channel2)\n return !1;\n return channel2.hasSubscribers;\n}, assertChannel = function(value, name) {\n if (!(value instanceof Channel))\n throw new ERR_INVALID_ARG_TYPE(name, [\"Channel\"], value);\n}, tracingChannel = function(nameOrChannels) {\n return new TracingChannel(nameOrChannels);\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, $, SafeMap = Map, SafeFinalizationRegistry = FinalizationRegistry, ArrayPrototypeAt = (array, index) => array[index], ArrayPrototypeIndexOf = (array, value) => array.indexOf(value), ArrayPrototypePush = (array, value) => array.push(value), ArrayPrototypeSplice = (array, start, deleteCount) => array.splice(start, deleteCount), ObjectGetPrototypeOf = Object.getPrototypeOf, ObjectSetPrototypeOf = Object.setPrototypeOf, SymbolHasInstance = Symbol.hasInstance, ReflectApply = @getByIdDirect(Reflect, \"apply\"), PromiseResolve = @Promise.resolve, PromiseReject = @Promise.reject, PromisePrototypeThen = (promise, onFulfilled, onRejected) => promise.then(onFulfilled, onRejected);\n\nclass WeakReference extends WeakRef {\n constructor() {\n super(...arguments);\n }\n #refs = 0;\n get() {\n return this.deref();\n }\n incRef() {\n return ++this.#refs;\n }\n decRef() {\n return --this.#refs;\n }\n}\n\nclass WeakRefMap extends SafeMap {\n constructor() {\n super(...arguments);\n }\n #finalizers = new SafeFinalizationRegistry((key) => {\n this.delete(key);\n });\n set(key, value) {\n return this.#finalizers.register(value, key), super.set(key, new WeakReference(value));\n }\n get(key) {\n return super.get(key)\?.get();\n }\n incRef(key) {\n return super.get(key)\?.incRef();\n }\n decRef(key) {\n return super.get(key)\?.decRef();\n }\n}\n\nclass ActiveChannel {\n subscribe(subscription) {\n validateFunction(subscription, \"subscription\"), ArrayPrototypePush(this._subscribers, subscription), channels.incRef(this.name);\n }\n unsubscribe(subscription) {\n const index = ArrayPrototypeIndexOf(this._subscribers, subscription);\n if (index === -1)\n return !1;\n return ArrayPrototypeSplice(this._subscribers, index, 1), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n bindStore(store, transform) {\n if (!this._stores.has(store))\n channels.incRef(this.name);\n this._stores.set(store, transform);\n }\n unbindStore(store) {\n if (!this._stores.has(store))\n return !1;\n return this._stores.delete(store), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n get hasSubscribers() {\n return !0;\n }\n publish(data) {\n for (let i = 0;i < (this._subscribers\?.length || 0); i++)\n try {\n const onMessage = this._subscribers[i];\n onMessage(data, this.name);\n } catch (err) {\n process.nextTick(() => reportError(err));\n }\n }\n runStores(data, fn, thisArg, ...args) {\n let run = () => {\n return this.publish(data), ReflectApply(fn, thisArg, args);\n };\n for (let entry of this._stores.entries()) {\n const store = entry[0], transform = entry[1];\n run = wrapStoreRun(store, data, run, transform);\n }\n return run();\n }\n}\n\nclass Channel {\n constructor(name) {\n this._subscribers = @undefined, this._stores = @undefined, this.name = name, channels.set(name, this);\n }\n static [SymbolHasInstance](instance) {\n const prototype = ObjectGetPrototypeOf(instance);\n return prototype === Channel.prototype || prototype === ActiveChannel.prototype;\n }\n subscribe(subscription) {\n markActive(this), this.subscribe(subscription);\n }\n unsubscribe() {\n return !1;\n }\n bindStore(store, transform) {\n markActive(this), this.bindStore(store, transform);\n }\n unbindStore() {\n return !1;\n }\n get hasSubscribers() {\n return !1;\n }\n publish() {\n }\n runStores(data, fn, thisArg, ...args) {\n return ReflectApply(fn, thisArg, args);\n }\n}\nvar channels = new WeakRefMap, traceEvents = [\"start\", \"end\", \"asyncStart\", \"asyncEnd\", \"error\"];\n\nclass TracingChannel {\n constructor(nameOrChannels) {\n if (typeof nameOrChannels === \"string\")\n this.start = channel(`tracing:${nameOrChannels}:start`), this.end = channel(`tracing:${nameOrChannels}:end`), this.asyncStart = channel(`tracing:${nameOrChannels}:asyncStart`), this.asyncEnd = channel(`tracing:${nameOrChannels}:asyncEnd`), this.error = channel(`tracing:${nameOrChannels}:error`);\n else if (typeof nameOrChannels === \"object\") {\n const { start, end, asyncStart, asyncEnd, error } = nameOrChannels;\n assertChannel(start, \"nameOrChannels.start\"), assertChannel(end, \"nameOrChannels.end\"), assertChannel(asyncStart, \"nameOrChannels.asyncStart\"), assertChannel(asyncEnd, \"nameOrChannels.asyncEnd\"), assertChannel(error, \"nameOrChannels.error\"), this.start = start, this.end = end, this.asyncStart = asyncStart, this.asyncEnd = asyncEnd, this.error = error;\n } else\n throw new ERR_INVALID_ARG_TYPE(\"nameOrChannels\", [\"string\", \"object\", \"Channel\"], nameOrChannels);\n }\n subscribe(handlers) {\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n this[name]\?.subscribe(handlers[name]);\n }\n }\n unsubscribe(handlers) {\n let done = !0;\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n if (!this[name]\?.unsubscribe(handlers[name]))\n done = !1;\n }\n return done;\n }\n traceSync(fn, context = {}, thisArg, ...args) {\n const { start, end, error } = this;\n return start.runStores(context, () => {\n try {\n const result = ReflectApply(fn, thisArg, args);\n return context.result = result, result;\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n tracePromise(fn, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function reject(err) {\n return context.error = err, error.publish(context), asyncStart.publish(context), asyncEnd.publish(context), PromiseReject(err);\n }\n function resolve(result) {\n return context.result = result, asyncStart.publish(context), asyncEnd.publish(context), result;\n }\n return start.runStores(context, () => {\n try {\n let promise = ReflectApply(fn, thisArg, args);\n if (!(promise instanceof @Promise))\n promise = PromiseResolve(promise);\n return PromisePrototypeThen(promise, resolve, reject);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n traceCallback(fn, position = -1, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function wrappedCallback(err, res) {\n if (err)\n context.error = err, error.publish(context);\n else\n context.result = res;\n asyncStart.runStores(context, () => {\n try {\n if (callback)\n return ReflectApply(callback, this, arguments);\n } finally {\n asyncEnd.publish(context);\n }\n });\n }\n const callback = ArrayPrototypeAt(args, position);\n if (typeof callback !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"callback\", [\"function\"], callback);\n return ArrayPrototypeSplice(args, position, 1, wrappedCallback), start.runStores(context, () => {\n try {\n return ReflectApply(fn, thisArg, args);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n}\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n$ = {\n channel,\n hasSubscribers,\n subscribe,\n tracingChannel,\n unsubscribe,\n Channel\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeDiagnosticsChannelCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/diagnostics_channel.ts\nvar markActive = function(channel) {\n ObjectSetPrototypeOf(channel, ActiveChannel.prototype), channel._subscribers = [], channel._stores = new SafeMap;\n}, maybeMarkInactive = function(channel) {\n if (!channel._subscribers.length && !channel._stores.size)\n ObjectSetPrototypeOf(channel, Channel.prototype), channel._subscribers = @undefined, channel._stores = @undefined;\n}, defaultTransform = function(data) {\n return data;\n}, wrapStoreRun = function(store, data, next, transform = defaultTransform) {\n return () => {\n let context;\n try {\n context = transform(data);\n } catch (err) {\n return process.nextTick(() => reportError(err)), next();\n }\n return store.run(context, next);\n };\n}, channel = function(name) {\n const channel2 = channels.get(name);\n if (channel2)\n return channel2;\n if (typeof name !== \"string\" && typeof name !== \"symbol\")\n throw new ERR_INVALID_ARG_TYPE(\"channel\", [\"string\", \"symbol\"], name);\n return new Channel(name);\n}, subscribe = function(name, subscription) {\n return channel(name).subscribe(subscription);\n}, unsubscribe = function(name, subscription) {\n return channel(name).unsubscribe(subscription);\n}, hasSubscribers = function(name) {\n const channel2 = channels.get(name);\n if (!channel2)\n return !1;\n return channel2.hasSubscribers;\n}, assertChannel = function(value, name) {\n if (!(value instanceof Channel))\n throw new ERR_INVALID_ARG_TYPE(name, [\"Channel\"], value);\n}, tracingChannel = function(nameOrChannels) {\n return new TracingChannel(nameOrChannels);\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, $, SafeMap = Map, SafeFinalizationRegistry = FinalizationRegistry, ArrayPrototypeAt = (array, index) => array[index], ArrayPrototypeIndexOf = (array, value) => array.indexOf(value), ArrayPrototypePush = (array, value) => array.push(value), ArrayPrototypeSplice = (array, start, deleteCount) => array.splice(start, deleteCount), ObjectGetPrototypeOf = Object.getPrototypeOf, ObjectSetPrototypeOf = Object.setPrototypeOf, SymbolHasInstance = Symbol.hasInstance, ReflectApply = @getByIdDirect(Reflect, \"apply\"), PromiseResolve = @Promise.resolve, PromiseReject = @Promise.reject, PromisePrototypeThen = (promise, onFulfilled, onRejected) => promise.then(onFulfilled, onRejected);\n\nclass WeakReference extends WeakRef {\n constructor() {\n super(...arguments);\n }\n #refs = 0;\n get() {\n return this.deref();\n }\n incRef() {\n return ++this.#refs;\n }\n decRef() {\n return --this.#refs;\n }\n}\n\nclass WeakRefMap extends SafeMap {\n constructor() {\n super(...arguments);\n }\n #finalizers = new SafeFinalizationRegistry((key) => {\n this.delete(key);\n });\n set(key, value) {\n return this.#finalizers.register(value, key), super.set(key, new WeakReference(value));\n }\n get(key) {\n return super.get(key)\?.get();\n }\n incRef(key) {\n return super.get(key)\?.incRef();\n }\n decRef(key) {\n return super.get(key)\?.decRef();\n }\n}\n\nclass ActiveChannel {\n subscribe(subscription) {\n validateFunction(subscription, \"subscription\"), ArrayPrototypePush(this._subscribers, subscription), channels.incRef(this.name);\n }\n unsubscribe(subscription) {\n const index = ArrayPrototypeIndexOf(this._subscribers, subscription);\n if (index === -1)\n return !1;\n return ArrayPrototypeSplice(this._subscribers, index, 1), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n bindStore(store, transform) {\n if (!this._stores.has(store))\n channels.incRef(this.name);\n this._stores.set(store, transform);\n }\n unbindStore(store) {\n if (!this._stores.has(store))\n return !1;\n return this._stores.delete(store), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n get hasSubscribers() {\n return !0;\n }\n publish(data) {\n for (let i = 0;i < (this._subscribers\?.length || 0); i++)\n try {\n const onMessage = this._subscribers[i];\n onMessage(data, this.name);\n } catch (err) {\n process.nextTick(() => reportError(err));\n }\n }\n runStores(data, fn, thisArg, ...args) {\n let run = () => {\n return this.publish(data), ReflectApply(fn, thisArg, args);\n };\n for (let entry of this._stores.entries()) {\n const store = entry[0], transform = entry[1];\n run = wrapStoreRun(store, data, run, transform);\n }\n return run();\n }\n}\n\nclass Channel {\n constructor(name) {\n this._subscribers = @undefined, this._stores = @undefined, this.name = name, channels.set(name, this);\n }\n static [SymbolHasInstance](instance) {\n const prototype = ObjectGetPrototypeOf(instance);\n return prototype === Channel.prototype || prototype === ActiveChannel.prototype;\n }\n subscribe(subscription) {\n markActive(this), this.subscribe(subscription);\n }\n unsubscribe() {\n return !1;\n }\n bindStore(store, transform) {\n markActive(this), this.bindStore(store, transform);\n }\n unbindStore() {\n return !1;\n }\n get hasSubscribers() {\n return !1;\n }\n publish() {\n }\n runStores(data, fn, thisArg, ...args) {\n return ReflectApply(fn, thisArg, args);\n }\n}\nvar channels = new WeakRefMap, traceEvents = [\"start\", \"end\", \"asyncStart\", \"asyncEnd\", \"error\"];\n\nclass TracingChannel {\n constructor(nameOrChannels) {\n if (typeof nameOrChannels === \"string\")\n this.start = channel(`tracing:${nameOrChannels}:start`), this.end = channel(`tracing:${nameOrChannels}:end`), this.asyncStart = channel(`tracing:${nameOrChannels}:asyncStart`), this.asyncEnd = channel(`tracing:${nameOrChannels}:asyncEnd`), this.error = channel(`tracing:${nameOrChannels}:error`);\n else if (typeof nameOrChannels === \"object\") {\n const { start, end, asyncStart, asyncEnd, error } = nameOrChannels;\n assertChannel(start, \"nameOrChannels.start\"), assertChannel(end, \"nameOrChannels.end\"), assertChannel(asyncStart, \"nameOrChannels.asyncStart\"), assertChannel(asyncEnd, \"nameOrChannels.asyncEnd\"), assertChannel(error, \"nameOrChannels.error\"), this.start = start, this.end = end, this.asyncStart = asyncStart, this.asyncEnd = asyncEnd, this.error = error;\n } else\n throw new ERR_INVALID_ARG_TYPE(\"nameOrChannels\", [\"string\", \"object\", \"Channel\"], nameOrChannels);\n }\n subscribe(handlers) {\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n this[name]\?.subscribe(handlers[name]);\n }\n }\n unsubscribe(handlers) {\n let done = !0;\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n if (!this[name]\?.unsubscribe(handlers[name]))\n done = !1;\n }\n return done;\n }\n traceSync(fn, context = {}, thisArg, ...args) {\n const { start, end, error } = this;\n return start.runStores(context, () => {\n try {\n const result = ReflectApply(fn, thisArg, args);\n return context.result = result, result;\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n tracePromise(fn, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function reject(err) {\n return context.error = err, error.publish(context), asyncStart.publish(context), asyncEnd.publish(context), PromiseReject(err);\n }\n function resolve(result) {\n return context.result = result, asyncStart.publish(context), asyncEnd.publish(context), result;\n }\n return start.runStores(context, () => {\n try {\n let promise = ReflectApply(fn, thisArg, args);\n if (!(promise instanceof @Promise))\n promise = PromiseResolve(promise);\n return PromisePrototypeThen(promise, resolve, reject);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n traceCallback(fn, position = -1, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function wrappedCallback(err, res) {\n if (err)\n context.error = err, error.publish(context);\n else\n context.result = res;\n asyncStart.runStores(context, () => {\n try {\n if (callback)\n return ReflectApply(callback, this, arguments);\n } finally {\n asyncEnd.publish(context);\n }\n });\n }\n const callback = ArrayPrototypeAt(args, position);\n if (typeof callback !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"callback\", [\"function\"], callback);\n return ArrayPrototypeSplice(args, position, 1, wrappedCallback), start.runStores(context, () => {\n try {\n return ReflectApply(fn, thisArg, args);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n}\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n$ = {\n channel,\n hasSubscribers,\n subscribe,\n tracingChannel,\n unsubscribe,\n Channel\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDNSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/dns.ts\nvar getServers = function() {\n return dns.getServers();\n}, lookup = function(domain, options, callback) {\n if (typeof options == \"function\")\n callback = options;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n if (typeof options == \"number\")\n options = { family: options };\n if (domain !== domain || typeof domain !== \"number\" && !domain) {\n console.warn(`DeprecationWarning: The provided hostname \"${@String(domain)}\" is not a valid hostname, and is supported in the dns module solely for compatibility.`), callback(null, null, 4);\n return;\n }\n dns.lookup(domain, options).then((res) => {\n if (res.sort((a, b) => a.family - b.family), options\?.all)\n callback(null, res.map(mapLookupAll));\n else {\n const [{ address, family }] = res;\n callback(null, address, family);\n }\n }, (error) => {\n callback(error);\n });\n}, resolveSrv = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveTxt = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveSoa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNaptr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveMx = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCaa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNs = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolvePtr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCname = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, lookupService = function(address, port, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookupService(address, port, callback).then((results) => {\n callback(null, ...results);\n }, (error) => {\n callback(error);\n });\n}, reverse = function(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolve = function(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(({ address }) => address));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n}, Resolver = function(options) {\n return new InternalResolver(options);\n}, setDefaultResultOrder = function() {\n}, setServers = function() {\n}, $, dns = Bun.dns, InternalResolver = class Resolver2 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype, rrtype = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(mapResolveX));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n }\n resolve4(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 4 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(mapResolveX));\n }, (error) => {\n callback(error);\n });\n }\n resolve6(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 6 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(({ address }) => address));\n }, (error) => {\n callback(error);\n });\n }\n resolveAny(hostname, callback) {\n callback(null, []);\n }\n resolveCname(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveMx(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNaptr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNs(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolvePtr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSrv(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveCaa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveTxt(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSoa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n reverse(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n setServers(servers) {\n }\n};\nResolver.prototype = {};\nObject.setPrototypeOf(Resolver.prototype, InternalResolver.prototype);\nObject.setPrototypeOf(Resolver, InternalResolver);\nvar {\n resolve,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNaptr,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n reverse,\n resolveTxt\n} = InternalResolver.prototype, promisifyLookup = (res) => {\n res.sort((a, b) => a.family - b.family);\n const [{ address, family }] = res;\n return { address, family };\n}, mapLookupAll = (res) => {\n const { address, family } = res;\n return { address, family };\n}, promisifyLookupAll = (res) => {\n return res.sort((a, b) => a.family - b.family), res.map(mapLookupAll);\n}, mapResolveX = (a) => a.address, promisifyResolveX = (res) => {\n return res\?.map(mapResolveX);\n}, promises = {\n lookup(domain, options) {\n if (options\?.all)\n return dns.lookup(domain, options).then(promisifyLookupAll);\n return dns.lookup(domain, options).then(promisifyLookup);\n },\n lookupService(address, port) {\n return dns.lookupService(address, port);\n },\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n },\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n },\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n },\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n },\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n },\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n },\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n },\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n },\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n },\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n },\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n },\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n },\n reverse(ip) {\n return dns.reverse(ip);\n },\n Resolver: class Resolver3 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n }\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n }\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n }\n resolveAny(hostname) {\n return @Promise.resolve([]);\n }\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n }\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n }\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n }\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n }\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n }\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n }\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n }\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n }\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n }\n reverse(ip) {\n return dns.reverse(ip);\n }\n setServers(servers) {\n }\n }\n};\nfor (let key of [\"resolveAny\"])\n promises[key] = () => @Promise.resolve(@undefined);\n$ = {\n ADDRCONFIG: 0,\n ALL: 1,\n V4MAPPED: 2,\n NODATA: \"DNS_ENODATA\",\n FORMERR: \"DNS_EFORMERR\",\n SERVFAIL: \"DNS_ESERVFAIL\",\n NOTFOUND: \"DNS_ENOTFOUND\",\n NOTIMP: \"DNS_ENOTIMP\",\n REFUSED: \"DNS_EREFUSED\",\n BADQUERY: \"DNS_EBADQUERY\",\n BADNAME: \"DNS_EBADNAME\",\n BADFAMILY: \"DNS_EBADFAMILY\",\n BADRESP: \"DNS_EBADRESP\",\n CONNREFUSED: \"DNS_ECONNREFUSED\",\n TIMEOUT: \"DNS_ETIMEOUT\",\n EOF: \"DNS_EEOF\",\n FILE: \"DNS_EFILE\",\n NOMEM: \"DNS_ENOMEM\",\n DESTRUCTION: \"DNS_EDESTRUCTION\",\n BADSTR: \"DNS_EBADSTR\",\n BADFLAGS: \"DNS_EBADFLAGS\",\n NONAME: \"DNS_ENONAME\",\n BADHINTS: \"DNS_EBADHINTS\",\n NOTINITIALIZED: \"DNS_ENOTINITIALIZED\",\n LOADIPHLPAPI: \"DNS_ELOADIPHLPAPI\",\n ADDRGETNETWORKPARAMS: \"DNS_EADDRGETNETWORKPARAMS\",\n CANCELLED: \"DNS_ECANCELLED\",\n lookup,\n lookupService,\n Resolver,\n setServers,\n setDefaultResultOrder,\n resolve,\n reverse,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n resolveTxt,\n resolveNaptr,\n promises,\n getServers\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeDNSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/dns.ts\nvar getServers = function() {\n return dns.getServers();\n}, lookup = function(domain, options, callback) {\n if (typeof options == \"function\")\n callback = options;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n if (typeof options == \"number\")\n options = { family: options };\n if (domain !== domain || typeof domain !== \"number\" && !domain) {\n console.warn(`DeprecationWarning: The provided hostname \"${@String(domain)}\" is not a valid hostname, and is supported in the dns module solely for compatibility.`), callback(null, null, 4);\n return;\n }\n dns.lookup(domain, options).then((res) => {\n if (res.sort((a, b) => a.family - b.family), options\?.all)\n callback(null, res.map(mapLookupAll));\n else {\n const [{ address, family }] = res;\n callback(null, address, family);\n }\n }, (error) => {\n callback(error);\n });\n}, resolveSrv = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveTxt = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveSoa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNaptr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveMx = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCaa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNs = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolvePtr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCname = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, lookupService = function(address, port, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookupService(address, port, callback).then((results) => {\n callback(null, ...results);\n }, (error) => {\n callback(error);\n });\n}, reverse = function(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolve = function(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(({ address }) => address));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n}, Resolver = function(options) {\n return new InternalResolver(options);\n}, setDefaultResultOrder = function() {\n}, setServers = function() {\n}, $, dns = Bun.dns, InternalResolver = class Resolver2 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype, rrtype = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(mapResolveX));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n }\n resolve4(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 4 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(mapResolveX));\n }, (error) => {\n callback(error);\n });\n }\n resolve6(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 6 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(({ address }) => address));\n }, (error) => {\n callback(error);\n });\n }\n resolveAny(hostname, callback) {\n callback(null, []);\n }\n resolveCname(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveMx(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNaptr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNs(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolvePtr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSrv(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveCaa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveTxt(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSoa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n reverse(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n setServers(servers) {\n }\n};\nResolver.prototype = {};\nObject.setPrototypeOf(Resolver.prototype, InternalResolver.prototype);\nObject.setPrototypeOf(Resolver, InternalResolver);\nvar {\n resolve,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNaptr,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n reverse,\n resolveTxt\n} = InternalResolver.prototype, promisifyLookup = (res) => {\n res.sort((a, b) => a.family - b.family);\n const [{ address, family }] = res;\n return { address, family };\n}, mapLookupAll = (res) => {\n const { address, family } = res;\n return { address, family };\n}, promisifyLookupAll = (res) => {\n return res.sort((a, b) => a.family - b.family), res.map(mapLookupAll);\n}, mapResolveX = (a) => a.address, promisifyResolveX = (res) => {\n return res\?.map(mapResolveX);\n}, promises = {\n lookup(domain, options) {\n if (options\?.all)\n return dns.lookup(domain, options).then(promisifyLookupAll);\n return dns.lookup(domain, options).then(promisifyLookup);\n },\n lookupService(address, port) {\n return dns.lookupService(address, port);\n },\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n },\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n },\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n },\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n },\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n },\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n },\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n },\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n },\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n },\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n },\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n },\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n },\n reverse(ip) {\n return dns.reverse(ip);\n },\n Resolver: class Resolver3 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n }\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n }\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n }\n resolveAny(hostname) {\n return @Promise.resolve([]);\n }\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n }\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n }\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n }\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n }\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n }\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n }\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n }\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n }\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n }\n reverse(ip) {\n return dns.reverse(ip);\n }\n setServers(servers) {\n }\n }\n};\nfor (let key of [\"resolveAny\"])\n promises[key] = () => @Promise.resolve(@undefined);\n$ = {\n ADDRCONFIG: 0,\n ALL: 1,\n V4MAPPED: 2,\n NODATA: \"DNS_ENODATA\",\n FORMERR: \"DNS_EFORMERR\",\n SERVFAIL: \"DNS_ESERVFAIL\",\n NOTFOUND: \"DNS_ENOTFOUND\",\n NOTIMP: \"DNS_ENOTIMP\",\n REFUSED: \"DNS_EREFUSED\",\n BADQUERY: \"DNS_EBADQUERY\",\n BADNAME: \"DNS_EBADNAME\",\n BADFAMILY: \"DNS_EBADFAMILY\",\n BADRESP: \"DNS_EBADRESP\",\n CONNREFUSED: \"DNS_ECONNREFUSED\",\n TIMEOUT: \"DNS_ETIMEOUT\",\n EOF: \"DNS_EEOF\",\n FILE: \"DNS_EFILE\",\n NOMEM: \"DNS_ENOMEM\",\n DESTRUCTION: \"DNS_EDESTRUCTION\",\n BADSTR: \"DNS_EBADSTR\",\n BADFLAGS: \"DNS_EBADFLAGS\",\n NONAME: \"DNS_ENONAME\",\n BADHINTS: \"DNS_EBADHINTS\",\n NOTINITIALIZED: \"DNS_ENOTINITIALIZED\",\n LOADIPHLPAPI: \"DNS_ELOADIPHLPAPI\",\n ADDRGETNETWORKPARAMS: \"DNS_EADDRGETNETWORKPARAMS\",\n CANCELLED: \"DNS_ECANCELLED\",\n lookup,\n lookupService,\n Resolver,\n setServers,\n setDefaultResultOrder,\n resolve,\n reverse,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n resolveTxt,\n resolveNaptr,\n promises,\n getServers\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDNSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/dns.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 17) || @createInternalModuleById(17)).promises})\n"); +static constexpr ASCIILiteral NodeDNSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/dns.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 17) || @createInternalModuleById(17)).promises})\n"); // // -static constexpr ASCIILiteral NodeDomainCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/domain.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), domain = {};\ndomain.createDomain = domain.create = function() {\n var d = new EventEmitter;\n function emitError(e) {\n d.emit(\"error\", e);\n }\n return d.add = function(emitter) {\n emitter.on(\"error\", emitError);\n }, d.remove = function(emitter) {\n emitter.removeListener(\"error\", emitError);\n }, d.bind = function(fn) {\n return function() {\n var args = @Array.prototype.slice.@call(arguments);\n try {\n fn.@apply(null, args);\n } catch (err) {\n emitError(err);\n }\n };\n }, d.intercept = function(fn) {\n return function(err) {\n if (err)\n emitError(err);\n else {\n var args = @Array.prototype.slice.@call(arguments, 1);\n try {\n fn.@apply(null, args);\n } catch (err2) {\n emitError(err2);\n }\n }\n };\n }, d.run = function(fn) {\n try {\n fn();\n } catch (err) {\n emitError(err);\n }\n return this;\n }, d.dispose = function() {\n return this.removeAllListeners(), this;\n }, d.enter = d.exit = function() {\n return this;\n }, d;\n};\nreturn domain})\n"); +static constexpr ASCIILiteral NodeDomainCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/domain.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), domain = {};\ndomain.createDomain = domain.create = function() {\n var d = new EventEmitter;\n function emitError(e) {\n d.emit(\"error\", e);\n }\n return d.add = function(emitter) {\n emitter.on(\"error\", emitError);\n }, d.remove = function(emitter) {\n emitter.removeListener(\"error\", emitError);\n }, d.bind = function(fn) {\n return function() {\n var args = @Array.prototype.slice.@call(arguments);\n try {\n fn.@apply(null, args);\n } catch (err) {\n emitError(err);\n }\n };\n }, d.intercept = function(fn) {\n return function(err) {\n if (err)\n emitError(err);\n else {\n var args = @Array.prototype.slice.@call(arguments, 1);\n try {\n fn.@apply(null, args);\n } catch (err2) {\n emitError(err2);\n }\n }\n };\n }, d.run = function(fn) {\n try {\n fn();\n } catch (err) {\n emitError(err);\n }\n return this;\n }, d.dispose = function() {\n return this.removeAllListeners(), this;\n }, d.enter = d.exit = function() {\n return this;\n }, d;\n};\nreturn domain})\n"); // // -static constexpr ASCIILiteral NodeEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/events.ts\nvar emitError = function(emitter, args) {\n var { _events: events } = emitter;\n if (args[0] \?\?= new Error(\"Unhandled error.\"), !events)\n throw args[0];\n var errorMonitor = events[kErrorMonitor];\n if (errorMonitor)\n for (var handler of ArrayPrototypeSlice.@call(errorMonitor))\n handler.@apply(emitter, args);\n var handlers = events.error;\n if (!handlers)\n throw args[0];\n for (var handler of ArrayPrototypeSlice.@call(handlers))\n handler.@apply(emitter, args);\n return !0;\n}, addCatch = function(emitter, promise, type, args) {\n promise.then(@undefined, function(err) {\n process.nextTick(emitUnhandledRejectionOrErr, emitter, err, type, args);\n });\n}, emitUnhandledRejectionOrErr = function(emitter, err, type, args) {\n if (typeof emitter[kRejection] === \"function\")\n emitter[kRejection](err, type, ...args);\n else\n try {\n emitter[kCapture] = !1, emitter.emit(\"error\", err);\n } finally {\n emitter[kCapture] = !0;\n }\n}, overflowWarning = function(emitter, type, handlers) {\n handlers.warned = !0;\n const warn = new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${@String(type)} listeners ` + `added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);\n warn.name = \"MaxListenersExceededWarning\", warn.emitter = emitter, warn.type = type, warn.count = handlers.length, process.emitWarning(warn);\n}, onceWrapper = function(type, listener, ...args) {\n this.removeListener(type, listener), listener.@apply(this, args);\n}, once = function(emitter, type, options) {\n var signal = options\?.signal;\n if (validateAbortSignal(signal, \"options.signal\"), signal\?.aborted)\n throw new AbortError(@undefined, { cause: signal\?.reason });\n return new @Promise((resolve, reject) => {\n const errorListener = (err) => {\n if (emitter.removeListener(type, resolver), signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n reject(err);\n }, resolver = (...args) => {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(\"error\", errorListener);\n if (signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n resolve(args);\n };\n if (eventTargetAgnosticAddListener(emitter, type, resolver, { once: !0 }), type !== \"error\" && typeof emitter.once === \"function\")\n emitter.once(\"error\", errorListener);\n function abortListener() {\n eventTargetAgnosticRemoveListener(emitter, type, resolver), eventTargetAgnosticRemoveListener(emitter, \"error\", errorListener), reject(new AbortError(@undefined, { cause: signal\?.reason }));\n }\n if (signal != null)\n eventTargetAgnosticAddListener(signal, \"abort\", abortListener, { once: !0 });\n });\n}, on = function(emitter, type, options) {\n var { signal, close, highWatermark = Number.MAX_SAFE_INTEGER, lowWatermark = 1 } = options || {};\n throwNotImplemented(\"events.on\", 2679);\n}, getEventListeners = function(emitter, type) {\n if (emitter instanceof EventTarget)\n throwNotImplemented(\"getEventListeners with an EventTarget\", 2678);\n return emitter.listeners(type);\n}, setMaxListeners = function(n, ...eventTargets) {\n validateNumber(n, \"setMaxListeners\", 0);\n var length;\n if (eventTargets && (length = eventTargets.length))\n for (let i = 0;i < length; i++)\n eventTargets[i].setMaxListeners(n);\n else\n defaultMaxListeners = n;\n}, listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n}, eventTargetAgnosticRemoveListener = function(emitter, name, listener, flags) {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(name, listener);\n else\n emitter.removeEventListener(name, listener, flags);\n}, eventTargetAgnosticAddListener = function(emitter, name, listener, flags) {\n if (typeof emitter.on === \"function\")\n if (flags.once)\n emitter.once(name, listener);\n else\n emitter.on(name, listener);\n else\n emitter.addEventListener(name, listener, flags);\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_OUT_OF_RANGE = function(name, range, value) {\n const err = new RangeError(`The \"${name}\" argument is out of range. It must be ${range}. Received ${value}`);\n return err.code = \"ERR_OUT_OF_RANGE\", err;\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateNumber = function(value, name, min = @undefined, max) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (min != null && value < min || max != null && value > max || (min != null || max != null) && Number.isNaN(value))\n throw new ERR_OUT_OF_RANGE(name, `${min != null \? `>= ${min}` : \"\"}${min != null && max != null \? \" && \" : \"\"}${max != null \? `<= ${max}` : \"\"}`, value);\n}, checkListener = function(listener) {\n if (typeof listener !== \"function\")\n @throwTypeError(\"The listener must be a function\");\n}, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), SymbolFor = Symbol.for, kCapture = Symbol(\"kCapture\"), kErrorMonitor = SymbolFor(\"events.errorMonitor\"), kMaxEventTargetListeners = Symbol(\"events.maxEventTargetListeners\"), kMaxEventTargetListenersWarned = Symbol(\"events.maxEventTargetListenersWarned\"), kWatermarkData = SymbolFor(\"nodejs.watermarkData\"), kRejection = SymbolFor(\"nodejs.rejection\"), captureRejectionSymbol = SymbolFor(\"nodejs.rejection\"), ArrayPrototypeSlice = @Array.prototype.slice, defaultMaxListeners = 10, EventEmitter = function EventEmitter2(opts) {\n if (this._events === @undefined || this._events === this.__proto__._events)\n this._events = { __proto__: null }, this._eventsCount = 0;\n if (this._maxListeners \?\?= @undefined, this[kCapture] = opts\?.captureRejections \? Boolean(opts\?.captureRejections) : EventEmitterPrototype[kCapture])\n this.emit = emitWithRejectionCapture;\n}, EventEmitterPrototype = EventEmitter.prototype = {};\nEventEmitterPrototype._events = @undefined;\nEventEmitterPrototype._eventsCount = 0;\nEventEmitterPrototype._maxListeners = @undefined;\nEventEmitterPrototype.setMaxListeners = function setMaxListeners2(n) {\n return validateNumber(n, \"setMaxListeners\", 0), this._maxListeners = n, this;\n};\nEventEmitterPrototype.constructor = EventEmitter;\nEventEmitterPrototype.getMaxListeners = function getMaxListeners() {\n return this._maxListeners \?\? defaultMaxListeners;\n};\nvar emitWithoutRejectionCapture = function emit(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n switch (args.length) {\n case 0:\n handler.@call(this);\n break;\n case 1:\n handler.@call(this, args[0]);\n break;\n case 2:\n handler.@call(this, args[0], args[1]);\n break;\n case 3:\n handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n handler.@apply(this, args);\n break;\n }\n }\n return !0;\n}, emitWithRejectionCapture = function emit2(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n let result;\n switch (args.length) {\n case 0:\n result = handler.@call(this);\n break;\n case 1:\n result = handler.@call(this, args[0]);\n break;\n case 2:\n result = handler.@call(this, args[0], args[1]);\n break;\n case 3:\n result = handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n result = handler.@apply(this, args);\n break;\n }\n if (result !== @undefined && @isPromise(result))\n addCatch(this, result, type, args);\n }\n return !0;\n};\nEventEmitterPrototype.emit = emitWithoutRejectionCapture;\nEventEmitterPrototype.addListener = function addListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.push(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.on = EventEmitterPrototype.addListener;\nEventEmitterPrototype.prependListener = function prependListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.unshift(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.once = function once2(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.addListener(type, bound), this;\n};\nEventEmitterPrototype.prependOnceListener = function prependOnceListener(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.prependListener(type, bound), this;\n};\nEventEmitterPrototype.removeListener = function removeListener(type, fn) {\n checkListener(fn);\n var { _events: events } = this;\n if (!events)\n return this;\n var handlers = events[type];\n if (!handlers)\n return this;\n var length = handlers.length;\n let position = -1;\n for (let i = length - 1;i >= 0; i--)\n if (handlers[i] === fn || handlers[i].listener === fn) {\n position = i;\n break;\n }\n if (position < 0)\n return this;\n if (position === 0)\n handlers.shift();\n else\n handlers.splice(position, 1);\n if (handlers.length === 0)\n delete events[type], this._eventsCount--;\n return this;\n};\nEventEmitterPrototype.off = EventEmitterPrototype.removeListener;\nEventEmitterPrototype.removeAllListeners = function removeAllListeners(type) {\n var { _events: events } = this;\n if (type && events) {\n if (events[type])\n delete events[type], this._eventsCount--;\n } else\n this._events = { __proto__: null };\n return this;\n};\nEventEmitterPrototype.listeners = function listeners(type) {\n var { _events: events } = this;\n if (!events)\n return [];\n var handlers = events[type];\n if (!handlers)\n return [];\n return handlers.map((x) => x.listener \?\? x);\n};\nEventEmitterPrototype.rawListeners = function rawListeners(type) {\n var { _events } = this;\n if (!_events)\n return [];\n var handlers = _events[type];\n if (!handlers)\n return [];\n return handlers.slice();\n};\nEventEmitterPrototype.listenerCount = function listenerCount2(type) {\n var { _events: events } = this;\n if (!events)\n return 0;\n return events[type]\?.length \?\? 0;\n};\nEventEmitterPrototype.eventNames = function eventNames() {\n return this._eventsCount > 0 \? Reflect.ownKeys(this._events) : [];\n};\nEventEmitterPrototype[kCapture] = !1;\n\nclass AbortError extends Error {\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n}\nvar AsyncResource = null;\n\nclass EventEmitterAsyncResource extends EventEmitter {\n triggerAsyncId;\n asyncResource;\n constructor(options) {\n if (!AsyncResource)\n AsyncResource = (@getInternalField(@internalModuleRegistry, 10) || @createInternalModuleById(10)).AsyncResource;\n var { captureRejections = !1, triggerAsyncId, name = new.target.name, requireManualDestroy } = options || {};\n super({ captureRejections });\n this.triggerAsyncId = triggerAsyncId \?\? 0, this.asyncResource = new AsyncResource(name, { triggerAsyncId, requireManualDestroy });\n }\n emit(...args) {\n this.asyncResource.runInAsyncScope(() => super.emit(...args));\n }\n emitDestroy() {\n this.asyncResource.emitDestroy();\n }\n}\nObject.defineProperties(EventEmitter, {\n captureRejections: {\n get() {\n return EventEmitterPrototype[kCapture];\n },\n set(value) {\n validateBoolean(value, \"EventEmitter.captureRejections\"), EventEmitterPrototype[kCapture] = value;\n },\n enumerable: !0\n },\n defaultMaxListeners: {\n enumerable: !0,\n get: () => {\n return defaultMaxListeners;\n },\n set: (arg) => {\n validateNumber(arg, \"defaultMaxListeners\", 0), defaultMaxListeners = arg;\n }\n },\n kMaxEventTargetListeners: {\n value: kMaxEventTargetListeners,\n enumerable: !1,\n configurable: !1,\n writable: !1\n },\n kMaxEventTargetListenersWarned: {\n value: kMaxEventTargetListenersWarned,\n enumerable: !1,\n configurable: !1,\n writable: !1\n }\n});\nObject.assign(EventEmitter, {\n once,\n on,\n getEventListeners,\n setMaxListeners,\n EventEmitter,\n usingDomains: !1,\n captureRejectionSymbol,\n EventEmitterAsyncResource,\n errorMonitor: kErrorMonitor,\n setMaxListeners,\n init: EventEmitter,\n listenerCount\n});\nreturn EventEmitter})\n"); +static constexpr ASCIILiteral NodeEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/events.ts\nvar emitError = function(emitter, args) {\n var { _events: events } = emitter;\n if (args[0] \?\?= new Error(\"Unhandled error.\"), !events)\n throw args[0];\n var errorMonitor = events[kErrorMonitor];\n if (errorMonitor)\n for (var handler of ArrayPrototypeSlice.@call(errorMonitor))\n handler.@apply(emitter, args);\n var handlers = events.error;\n if (!handlers)\n throw args[0];\n for (var handler of ArrayPrototypeSlice.@call(handlers))\n handler.@apply(emitter, args);\n return !0;\n}, addCatch = function(emitter, promise, type, args) {\n promise.then(@undefined, function(err) {\n process.nextTick(emitUnhandledRejectionOrErr, emitter, err, type, args);\n });\n}, emitUnhandledRejectionOrErr = function(emitter, err, type, args) {\n if (typeof emitter[kRejection] === \"function\")\n emitter[kRejection](err, type, ...args);\n else\n try {\n emitter[kCapture] = !1, emitter.emit(\"error\", err);\n } finally {\n emitter[kCapture] = !0;\n }\n}, overflowWarning = function(emitter, type, handlers) {\n handlers.warned = !0;\n const warn = new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${@String(type)} listeners ` + `added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);\n warn.name = \"MaxListenersExceededWarning\", warn.emitter = emitter, warn.type = type, warn.count = handlers.length, process.emitWarning(warn);\n}, onceWrapper = function(type, listener, ...args) {\n this.removeListener(type, listener), listener.@apply(this, args);\n}, once = function(emitter, type, options) {\n var signal = options\?.signal;\n if (validateAbortSignal(signal, \"options.signal\"), signal\?.aborted)\n throw new AbortError(@undefined, { cause: signal\?.reason });\n return new @Promise((resolve, reject) => {\n const errorListener = (err) => {\n if (emitter.removeListener(type, resolver), signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n reject(err);\n }, resolver = (...args) => {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(\"error\", errorListener);\n if (signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n resolve(args);\n };\n if (eventTargetAgnosticAddListener(emitter, type, resolver, { once: !0 }), type !== \"error\" && typeof emitter.once === \"function\")\n emitter.once(\"error\", errorListener);\n function abortListener() {\n eventTargetAgnosticRemoveListener(emitter, type, resolver), eventTargetAgnosticRemoveListener(emitter, \"error\", errorListener), reject(new AbortError(@undefined, { cause: signal\?.reason }));\n }\n if (signal != null)\n eventTargetAgnosticAddListener(signal, \"abort\", abortListener, { once: !0 });\n });\n}, on = function(emitter, type, options) {\n var { signal, close, highWatermark = Number.MAX_SAFE_INTEGER, lowWatermark = 1 } = options || {};\n throwNotImplemented(\"events.on\", 2679);\n}, getEventListeners = function(emitter, type) {\n if (emitter instanceof EventTarget)\n throwNotImplemented(\"getEventListeners with an EventTarget\", 2678);\n return emitter.listeners(type);\n}, setMaxListeners = function(n, ...eventTargets) {\n validateNumber(n, \"setMaxListeners\", 0);\n var length;\n if (eventTargets && (length = eventTargets.length))\n for (let i = 0;i < length; i++)\n eventTargets[i].setMaxListeners(n);\n else\n defaultMaxListeners = n;\n}, listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n}, eventTargetAgnosticRemoveListener = function(emitter, name, listener, flags) {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(name, listener);\n else\n emitter.removeEventListener(name, listener, flags);\n}, eventTargetAgnosticAddListener = function(emitter, name, listener, flags) {\n if (typeof emitter.on === \"function\")\n if (flags.once)\n emitter.once(name, listener);\n else\n emitter.on(name, listener);\n else\n emitter.addEventListener(name, listener, flags);\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_OUT_OF_RANGE = function(name, range, value) {\n const err = new RangeError(`The \"${name}\" argument is out of range. It must be ${range}. Received ${value}`);\n return err.code = \"ERR_OUT_OF_RANGE\", err;\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateNumber = function(value, name, min = @undefined, max) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (min != null && value < min || max != null && value > max || (min != null || max != null) && Number.isNaN(value))\n throw new ERR_OUT_OF_RANGE(name, `${min != null \? `>= ${min}` : \"\"}${min != null && max != null \? \" && \" : \"\"}${max != null \? `<= ${max}` : \"\"}`, value);\n}, checkListener = function(listener) {\n if (typeof listener !== \"function\")\n @throwTypeError(\"The listener must be a function\");\n}, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), SymbolFor = Symbol.for, kCapture = Symbol(\"kCapture\"), kErrorMonitor = SymbolFor(\"events.errorMonitor\"), kMaxEventTargetListeners = Symbol(\"events.maxEventTargetListeners\"), kMaxEventTargetListenersWarned = Symbol(\"events.maxEventTargetListenersWarned\"), kWatermarkData = SymbolFor(\"nodejs.watermarkData\"), kRejection = SymbolFor(\"nodejs.rejection\"), captureRejectionSymbol = SymbolFor(\"nodejs.rejection\"), ArrayPrototypeSlice = @Array.prototype.slice, defaultMaxListeners = 10, EventEmitter = function EventEmitter2(opts) {\n if (this._events === @undefined || this._events === this.__proto__._events)\n this._events = { __proto__: null }, this._eventsCount = 0;\n if (this._maxListeners \?\?= @undefined, this[kCapture] = opts\?.captureRejections \? Boolean(opts\?.captureRejections) : EventEmitterPrototype[kCapture])\n this.emit = emitWithRejectionCapture;\n}, EventEmitterPrototype = EventEmitter.prototype = {};\nEventEmitterPrototype._events = @undefined;\nEventEmitterPrototype._eventsCount = 0;\nEventEmitterPrototype._maxListeners = @undefined;\nEventEmitterPrototype.setMaxListeners = function setMaxListeners2(n) {\n return validateNumber(n, \"setMaxListeners\", 0), this._maxListeners = n, this;\n};\nEventEmitterPrototype.constructor = EventEmitter;\nEventEmitterPrototype.getMaxListeners = function getMaxListeners() {\n return this._maxListeners \?\? defaultMaxListeners;\n};\nvar emitWithoutRejectionCapture = function emit(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n switch (args.length) {\n case 0:\n handler.@call(this);\n break;\n case 1:\n handler.@call(this, args[0]);\n break;\n case 2:\n handler.@call(this, args[0], args[1]);\n break;\n case 3:\n handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n handler.@apply(this, args);\n break;\n }\n }\n return !0;\n}, emitWithRejectionCapture = function emit2(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n let result;\n switch (args.length) {\n case 0:\n result = handler.@call(this);\n break;\n case 1:\n result = handler.@call(this, args[0]);\n break;\n case 2:\n result = handler.@call(this, args[0], args[1]);\n break;\n case 3:\n result = handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n result = handler.@apply(this, args);\n break;\n }\n if (result !== @undefined && @isPromise(result))\n addCatch(this, result, type, args);\n }\n return !0;\n};\nEventEmitterPrototype.emit = emitWithoutRejectionCapture;\nEventEmitterPrototype.addListener = function addListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.push(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.on = EventEmitterPrototype.addListener;\nEventEmitterPrototype.prependListener = function prependListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.unshift(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.once = function once2(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.addListener(type, bound), this;\n};\nEventEmitterPrototype.prependOnceListener = function prependOnceListener(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.prependListener(type, bound), this;\n};\nEventEmitterPrototype.removeListener = function removeListener(type, fn) {\n checkListener(fn);\n var { _events: events } = this;\n if (!events)\n return this;\n var handlers = events[type];\n if (!handlers)\n return this;\n var length = handlers.length;\n let position = -1;\n for (let i = length - 1;i >= 0; i--)\n if (handlers[i] === fn || handlers[i].listener === fn) {\n position = i;\n break;\n }\n if (position < 0)\n return this;\n if (position === 0)\n handlers.shift();\n else\n handlers.splice(position, 1);\n if (handlers.length === 0)\n delete events[type], this._eventsCount--;\n return this;\n};\nEventEmitterPrototype.off = EventEmitterPrototype.removeListener;\nEventEmitterPrototype.removeAllListeners = function removeAllListeners(type) {\n var { _events: events } = this;\n if (type && events) {\n if (events[type])\n delete events[type], this._eventsCount--;\n } else\n this._events = { __proto__: null };\n return this;\n};\nEventEmitterPrototype.listeners = function listeners(type) {\n var { _events: events } = this;\n if (!events)\n return [];\n var handlers = events[type];\n if (!handlers)\n return [];\n return handlers.map((x) => x.listener \?\? x);\n};\nEventEmitterPrototype.rawListeners = function rawListeners(type) {\n var { _events } = this;\n if (!_events)\n return [];\n var handlers = _events[type];\n if (!handlers)\n return [];\n return handlers.slice();\n};\nEventEmitterPrototype.listenerCount = function listenerCount2(type) {\n var { _events: events } = this;\n if (!events)\n return 0;\n return events[type]\?.length \?\? 0;\n};\nEventEmitterPrototype.eventNames = function eventNames() {\n return this._eventsCount > 0 \? Reflect.ownKeys(this._events) : [];\n};\nEventEmitterPrototype[kCapture] = !1;\n\nclass AbortError extends Error {\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n}\nvar AsyncResource = null;\n\nclass EventEmitterAsyncResource extends EventEmitter {\n triggerAsyncId;\n asyncResource;\n constructor(options) {\n if (!AsyncResource)\n AsyncResource = (@getInternalField(@internalModuleRegistry, 10) || @createInternalModuleById(10)).AsyncResource;\n var { captureRejections = !1, triggerAsyncId, name = new.target.name, requireManualDestroy } = options || {};\n super({ captureRejections });\n this.triggerAsyncId = triggerAsyncId \?\? 0, this.asyncResource = new AsyncResource(name, { triggerAsyncId, requireManualDestroy });\n }\n emit(...args) {\n this.asyncResource.runInAsyncScope(() => super.emit(...args));\n }\n emitDestroy() {\n this.asyncResource.emitDestroy();\n }\n}\nObject.defineProperties(EventEmitter, {\n captureRejections: {\n get() {\n return EventEmitterPrototype[kCapture];\n },\n set(value) {\n validateBoolean(value, \"EventEmitter.captureRejections\"), EventEmitterPrototype[kCapture] = value;\n },\n enumerable: !0\n },\n defaultMaxListeners: {\n enumerable: !0,\n get: () => {\n return defaultMaxListeners;\n },\n set: (arg) => {\n validateNumber(arg, \"defaultMaxListeners\", 0), defaultMaxListeners = arg;\n }\n },\n kMaxEventTargetListeners: {\n value: kMaxEventTargetListeners,\n enumerable: !1,\n configurable: !1,\n writable: !1\n },\n kMaxEventTargetListenersWarned: {\n value: kMaxEventTargetListenersWarned,\n enumerable: !1,\n configurable: !1,\n writable: !1\n }\n});\nObject.assign(EventEmitter, {\n once,\n on,\n getEventListeners,\n setMaxListeners,\n EventEmitter,\n usingDomains: !1,\n captureRejectionSymbol,\n EventEmitterAsyncResource,\n errorMonitor: kErrorMonitor,\n setMaxListeners,\n init: EventEmitter,\n listenerCount\n});\nreturn EventEmitter})\n"); // // -static constexpr ASCIILiteral NodeFSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/fs.ts\nvar getValidatedPath = function(p) {\n if (p instanceof URL)\n return Bun.fileURLToPath(p);\n if (typeof p !== \"string\")\n @throwTypeError(\"Path must be a string or URL.\");\n return (_pathModule \?\?= @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).resolve(p);\n}, watchFile = function(filename, options, listener) {\n if (filename = getValidatedPath(filename), typeof options === \"function\")\n listener = options, options = {};\n if (typeof listener !== \"function\")\n @throwTypeError(\"listener must be a function\");\n var stat = statWatchers.get(filename);\n if (!stat)\n stat = new StatWatcher(filename, options), statWatchers.set(filename, stat);\n return stat.addListener(\"change\", listener), stat;\n}, unwatchFile = function(filename, listener) {\n filename = getValidatedPath(filename);\n var stat = statWatchers.get(filename);\n if (!stat)\n return;\n if (listener) {\n if (stat.removeListener(\"change\", listener), stat.listenerCount(\"change\") !== 0)\n return;\n } else\n stat.removeAllListeners(\"change\");\n stat.stop(), statWatchers.delete(filename);\n}, callbackify = function(fsFunction, args) {\n const callback = args[args.length - 1];\n try {\n var result = fsFunction.@apply(fs, args.slice(0, args.length - 1));\n result.then((...args2) => callback(null, ...args2), (err) => callback(err));\n } catch (e) {\n if (typeof callback === \"function\")\n callback(e);\n else\n throw e;\n }\n}, createReadStream = function(path, options) {\n return new ReadStream(path, options);\n}, WriteStream_handleWrite = function(er, bytes) {\n if (er)\n return WriteStream_errorOrDestroy.@call(this, er);\n this.bytesWritten += bytes;\n}, WriteStream_internalClose = function(err, cb) {\n this[_writeStreamPathFastPathSymbol] = !1;\n var fd = this.fd;\n this[_fs].close(fd, (er) => {\n this.fd = null, cb(err || er);\n });\n}, WriteStream_errorOrDestroy = function(err) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n}, createWriteStream = function(path, options) {\n return new WriteStream(path, options);\n}, cpSync = function(src, dest, options) {\n if (!options)\n return fs.cpSync(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cpSync)\n lazy_cpSync = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cpSync(src, dest, options);\n }\n return fs.cpSync(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n}, cp = function(src, dest, options, callback) {\n if (typeof options === \"function\")\n callback = options, options = @undefined;\n promises.cp(src, dest, options).then(() => callback(), callback);\n}, _toUnixTimestamp = function(time, name = \"time\") {\n if (typeof time === \"string\" && +time == time)\n return +time;\n if (NumberIsFinite(time)) {\n if (time < 0)\n return DateNow() / 1000;\n return time;\n }\n if (isDate(time))\n return DatePrototypeGetTime(time) / 1000;\n @throwTypeError(`Expected ${name} to be a number or Date`);\n}, $, ReadStream, WriteStream, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), promises = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), Stream = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { isArrayBufferView } = @requireNativeModule(\"util/types\"), _writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), _fs = Symbol.for(\"#fs\"), constants = @processBindingConstants.fs, fs = Bun.fs();\n\nclass FSWatcher extends EventEmitter {\n #watcher;\n #listener;\n constructor(path, options, listener) {\n super();\n if (typeof options === \"function\")\n listener = options, options = {};\n else if (typeof options === \"string\")\n options = { encoding: options };\n if (typeof listener !== \"function\")\n listener = () => {\n };\n this.#listener = listener;\n try {\n this.#watcher = fs.watch(path, options || {}, this.#onEvent.bind(this));\n } catch (e) {\n if (!e.message\?.startsWith(\"FileNotFound\"))\n throw e;\n const notFound = new Error(`ENOENT: no such file or directory, watch '${path}'`);\n throw notFound.code = \"ENOENT\", notFound.errno = -2, notFound.path = path, notFound.syscall = \"watch\", notFound.filename = path, notFound;\n }\n }\n #onEvent(eventType, filenameOrError) {\n if (eventType === \"error\" || eventType === \"close\")\n this.emit(eventType, filenameOrError);\n else\n this.emit(\"change\", eventType, filenameOrError), this.#listener(eventType, filenameOrError);\n }\n close() {\n this.#watcher\?.close(), this.#watcher = null;\n }\n ref() {\n this.#watcher\?.ref();\n }\n unref() {\n this.#watcher\?.unref();\n }\n start() {\n }\n}\n\nclass StatWatcher extends EventEmitter {\n constructor(path, options) {\n super();\n this._handle = fs.watchFile(path, options, this.#onChange.bind(this));\n }\n #onChange(curr, prev) {\n this.emit(\"change\", curr, prev);\n }\n start() {\n }\n stop() {\n this._handle\?.close(), this._handle = null;\n }\n ref() {\n this._handle\?.ref();\n }\n unref() {\n this._handle\?.unref();\n }\n}\nvar access = function access2(...args) {\n callbackify(fs.access, args);\n}, appendFile = function appendFile2(...args) {\n callbackify(fs.appendFile, args);\n}, close = function close2(...args) {\n callbackify(fs.close, args);\n}, rm = function rm2(...args) {\n callbackify(fs.rm, args);\n}, rmdir = function rmdir2(...args) {\n callbackify(fs.rmdir, args);\n}, copyFile = function copyFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n fs.copyFile(...args).then((result) => callback(null, result), callback);\n}, exists = function exists2(path, callback) {\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n try {\n fs.exists.@apply(fs, [path]).then((existed) => callback(existed), (_) => callback(!1));\n } catch (e) {\n callback(!1);\n }\n}, chown = function chown2(...args) {\n callbackify(fs.chown, args);\n}, chmod = function chmod2(...args) {\n callbackify(fs.chmod, args);\n}, fchmod = function fchmod2(...args) {\n callbackify(fs.fchmod, args);\n}, fchown = function fchown2(...args) {\n callbackify(fs.fchown, args);\n}, fstat = function fstat2(...args) {\n callbackify(fs.fstat, args);\n}, fsync = function fsync2(...args) {\n callbackify(fs.fsync, args);\n}, ftruncate = function ftruncate2(...args) {\n callbackify(fs.ftruncate, args);\n}, futimes = function futimes2(...args) {\n callbackify(fs.futimes, args);\n}, lchmod = function lchmod2(...args) {\n callbackify(fs.lchmod, args);\n}, lchown = function lchown2(...args) {\n callbackify(fs.lchown, args);\n}, link = function link2(...args) {\n callbackify(fs.link, args);\n}, mkdir = function mkdir2(...args) {\n callbackify(fs.mkdir, args);\n}, mkdtemp = function mkdtemp2(...args) {\n callbackify(fs.mkdtemp, args);\n}, open = function open2(...args) {\n callbackify(fs.open, args);\n}, read = function read2(fd, buffer, offsetOrOptions, length, position, callback) {\n let offset = offsetOrOptions, params = null;\n if (arguments.length <= 4) {\n if (arguments.length === 4)\n callback = length, params = offsetOrOptions;\n else if (arguments.length === 3) {\n if (!isArrayBufferView(buffer))\n params = buffer, { buffer = @Buffer.alloc(16384) } = params \?\? {};\n callback = offsetOrOptions;\n } else\n callback = buffer, buffer = @Buffer.alloc(16384);\n ({ offset = 0, length = buffer\?.byteLength - offset, position = null } = params \?\? {});\n }\n queueMicrotask(() => {\n try {\n var bytesRead = fs.readSync(fd, buffer, offset, length, position);\n } catch (e) {\n callback(e);\n }\n callback(null, bytesRead, buffer);\n });\n}, write = function write2(...args) {\n callbackify(fs.write, args);\n}, readdir = function readdir2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readdir(...args).then((result) => callback(null, result), callback);\n}, readFile = function readFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readFile(...args).then((result) => callback(null, result), callback);\n}, writeFile = function writeFile2(...args) {\n callbackify(fs.writeFile, args);\n}, readlink = function readlink2(...args) {\n callbackify(fs.readlink, args);\n}, realpath = function realpath2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.realpath(...args).then((result) => callback(null, result), callback);\n}, rename = function rename2(...args) {\n callbackify(fs.rename, args);\n}, lstat = function lstat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.lstat(...args).then((result) => callback(null, result), callback);\n}, stat = function stat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.stat(...args).then((result) => callback(null, result), callback);\n}, symlink = function symlink2(...args) {\n callbackify(fs.symlink, args);\n}, truncate = function truncate2(...args) {\n callbackify(fs.truncate, args);\n}, unlink = function unlink2(...args) {\n callbackify(fs.unlink, args);\n}, utimes = function utimes2(...args) {\n callbackify(fs.utimes, args);\n}, lutimes = function lutimes2(...args) {\n callbackify(fs.lutimes, args);\n}, accessSync = fs.accessSync.bind(fs), appendFileSync = fs.appendFileSync.bind(fs), closeSync = fs.closeSync.bind(fs), copyFileSync = fs.copyFileSync.bind(fs), existsSync = fs.existsSync.bind(fs), chownSync = fs.chownSync.bind(fs), chmodSync = fs.chmodSync.bind(fs), fchmodSync = fs.fchmodSync.bind(fs), fchownSync = fs.fchownSync.bind(fs), fstatSync = fs.fstatSync.bind(fs), fsyncSync = fs.fsyncSync.bind(fs), ftruncateSync = fs.ftruncateSync.bind(fs), futimesSync = fs.futimesSync.bind(fs), lchmodSync = fs.lchmodSync.bind(fs), lchownSync = fs.lchownSync.bind(fs), linkSync = fs.linkSync.bind(fs), lstatSync = fs.lstatSync.bind(fs), mkdirSync = fs.mkdirSync.bind(fs), mkdtempSync = fs.mkdtempSync.bind(fs), openSync = fs.openSync.bind(fs), readSync = fs.readSync.bind(fs), writeSync = fs.writeSync.bind(fs), readdirSync = fs.readdirSync.bind(fs), readFileSync = fs.readFileSync.bind(fs), writeFileSync = fs.writeFileSync.bind(fs), readlinkSync = fs.readlinkSync.bind(fs), realpathSync = fs.realpathSync.bind(fs), renameSync = fs.renameSync.bind(fs), statSync = fs.statSync.bind(fs), symlinkSync = fs.symlinkSync.bind(fs), truncateSync = fs.truncateSync.bind(fs), unlinkSync = fs.unlinkSync.bind(fs), utimesSync = fs.utimesSync.bind(fs), lutimesSync = fs.lutimesSync.bind(fs), rmSync = fs.rmSync.bind(fs), rmdirSync = fs.rmdirSync.bind(fs), writev = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.writevSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, writevSync = fs.writevSync.bind(fs), readv = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.readvSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, readvSync = fs.readvSync.bind(fs), Dirent = fs.Dirent, Stats = fs.Stats, watch = function watch2(path, options, listener) {\n return new FSWatcher(path, options, listener);\n}, statWatchers = new Map, _pathModule, readStreamPathFastPathSymbol = Symbol.for(\"Bun.Node.readStreamPathFastPath\"), readStreamSymbol = Symbol.for(\"Bun.NodeReadStream\"), readStreamPathOrFdSymbol = Symbol.for(\"Bun.NodeReadStreamPathOrFd\"), writeStreamSymbol = Symbol.for(\"Bun.NodeWriteStream\"), writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), writeStreamPathFastPathCallSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPathCall\"), kIoDone = Symbol.for(\"kIoDone\"), defaultReadStreamOptions = {\n file: @undefined,\n fd: null,\n flags: \"r\",\n encoding: @undefined,\n mode: 438,\n autoClose: !0,\n emitClose: !0,\n start: 0,\n end: @Infinity,\n highWaterMark: 65536,\n fs: {\n read,\n open: (path, flags, mode, cb) => {\n var fd;\n try {\n fd = openSync(path, flags, mode);\n } catch (e) {\n cb(e);\n return;\n }\n cb(null, fd);\n },\n openSync,\n close\n },\n autoDestroy: !0\n}, ReadStreamClass;\nReadStream = function(InternalReadStream) {\n ReadStreamClass = InternalReadStream, Object.defineProperty(ReadStreamClass.prototype, Symbol.toStringTag, {\n value: \"ReadStream\",\n enumerable: !1\n });\n function ReadStream3(path, options) {\n return new InternalReadStream(path, options);\n }\n return ReadStream3.prototype = InternalReadStream.prototype, Object.defineProperty(ReadStream3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalReadStream;\n }\n });\n}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2, Stream.Readable) {\n constructor(pathOrFd, options = defaultReadStreamOptions) {\n if (typeof options !== \"object\" || !options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n flags = defaultReadStreamOptions.flags,\n encoding = defaultReadStreamOptions.encoding,\n mode = defaultReadStreamOptions.mode,\n autoClose = defaultReadStreamOptions.autoClose,\n emitClose = defaultReadStreamOptions.emitClose,\n start = defaultReadStreamOptions.start,\n end = defaultReadStreamOptions.end,\n autoDestroy = defaultReadStreamOptions.autoClose,\n fs: fs2 = defaultReadStreamOptions.fs,\n highWaterMark = defaultReadStreamOptions.highWaterMark,\n fd = defaultReadStreamOptions.fd\n } = options;\n if (pathOrFd\?.constructor\?.name === \"URL\")\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n var tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n @throwTypeError(\"Expected options.fd to be a number\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = fd, tempThis.autoClose = !1;\n } else if (typeof pathOrFd === \"string\") {\n if (pathOrFd.startsWith(\"file://\"))\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n if (pathOrFd.length === 0)\n @throwTypeError(\"Expected path to be a non-empty string\");\n tempThis.path = tempThis.file = tempThis[readStreamPathOrFdSymbol] = pathOrFd;\n } else if (typeof pathOrFd === \"number\") {\n if (pathOrFd |= 0, pathOrFd < 0)\n @throwTypeError(\"Expected fd to be a positive integer\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = pathOrFd, tempThis.autoClose = !1;\n } else\n @throwTypeError(\"Expected a path or file descriptor\");\n if (tempThis.fd === @undefined)\n tempThis.fd = fs2.openSync(pathOrFd, flags, mode);\n var fileRef = Bun.file(tempThis.fd), stream = fileRef.stream(), native = @direct(stream);\n if (!native)\n throw new Error(\"no native readable stream\");\n var { stream: ptr } = native;\n super(ptr, {\n ...options,\n encoding,\n autoDestroy,\n autoClose,\n emitClose,\n highWaterMark\n });\n if (Object.assign(this, tempThis), this.#fileRef = fileRef, this.end = end, this._read = this.#internalRead, this.start = start, this.flags = flags, this.mode = mode, this.emitClose = emitClose, this[readStreamPathFastPathSymbol] = start === 0 && end === @Infinity && autoClose && fs2 === defaultReadStreamOptions.fs && (encoding === \"buffer\" || encoding === \"binary\" || encoding == null || encoding === \"utf-8\" || encoding === \"utf8\"), this._readableState.autoClose = autoDestroy = autoClose, this._readableState.highWaterMark = highWaterMark, start !== @undefined)\n this.pos = start;\n }\n #fileRef;\n #fs;\n file;\n path;\n fd = null;\n flags;\n mode;\n start;\n end;\n pos;\n bytesRead = 0;\n #fileSize = -1;\n _read;\n [readStreamSymbol] = !0;\n [readStreamPathOrFdSymbol];\n [readStreamPathFastPathSymbol];\n _construct(callback) {\n if (super._construct)\n super._construct(callback);\n else\n callback();\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n }\n _destroy(err, cb) {\n super._destroy(err, cb);\n try {\n var fd = this.fd;\n if (this[readStreamPathFastPathSymbol] = !1, !fd)\n cb(err);\n else\n this.#fs.close(fd, (er) => {\n cb(er || err);\n }), this.fd = null;\n } catch (e) {\n throw e;\n }\n }\n close(cb) {\n if (typeof cb === \"function\")\n Stream.eos(this, cb);\n this.destroy();\n }\n push(chunk) {\n var bytesRead = chunk\?.length \?\? 0;\n if (bytesRead > 0) {\n this.bytesRead += bytesRead;\n var currPos = this.pos;\n if (currPos !== @undefined) {\n if (this.bytesRead < currPos)\n return !0;\n if (currPos === this.start) {\n var n = this.bytesRead - currPos;\n chunk = chunk.slice(-n);\n var [_, ...rest] = arguments;\n if (this.pos = this.bytesRead, this.end !== @undefined && this.bytesRead > this.end)\n chunk = chunk.slice(0, this.end - this.start + 1);\n return super.push(chunk, ...rest);\n }\n var end = this.end;\n if (end !== @undefined && this.bytesRead > end) {\n chunk = chunk.slice(0, end - currPos + 1);\n var [_, ...rest] = arguments;\n return this.pos = this.bytesRead, super.push(chunk, ...rest);\n }\n this.pos = this.bytesRead;\n }\n }\n return super.push(...arguments);\n }\n #internalRead(n) {\n var { pos, end, bytesRead, fd, encoding } = this;\n if (n = pos !== @undefined \? Math.min(end - pos + 1, n) : Math.min(end - bytesRead + 1, n), n <= 0) {\n this.push(null);\n return;\n }\n if (this.#fileSize === -1 && bytesRead === 0 && pos === @undefined) {\n var stat3 = fstatSync(fd);\n if (this.#fileSize = stat3.size, this.#fileSize > 0 && n > this.#fileSize)\n n = this.#fileSize + 1;\n }\n this[kIoDone] = !1;\n var res = super._read(n);\n if (@isPromise(res)) {\n var then = res\?.then;\n if (then && @isCallable(then))\n res.then(() => {\n if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone);\n }, (er) => {\n this[kIoDone] = !0, this.#errorOrDestroy(er);\n });\n } else if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone), this.#errorOrDestroy(new Error(\"ERR_STREAM_PREMATURE_CLOSE\"));\n }\n #errorOrDestroy(err, sync = null) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n }\n pause() {\n return this[readStreamPathFastPathSymbol] = !1, super.pause();\n }\n resume() {\n return this[readStreamPathFastPathSymbol] = !1, super.resume();\n }\n unshift(...args) {\n return this[readStreamPathFastPathSymbol] = !1, super.unshift(...args);\n }\n pipe(dest, pipeOpts) {\n if (this[readStreamPathFastPathSymbol] && (pipeOpts\?.end \?\? !0) && this._readableState\?.pipes\?.length === 0) {\n if ((writeStreamPathFastPathSymbol in dest) && dest[writeStreamPathFastPathSymbol]) {\n if (dest[writeStreamPathFastPathCallSymbol](this, pipeOpts))\n return this;\n }\n }\n return this[readStreamPathFastPathSymbol] = !1, super.pipe(dest, pipeOpts);\n }\n});\nvar defaultWriteStreamOptions = {\n fd: null,\n start: @undefined,\n pos: @undefined,\n encoding: @undefined,\n flags: \"w\",\n mode: 438,\n fs: {\n write,\n close,\n open,\n openSync\n }\n}, WriteStreamClass = WriteStream = function WriteStream2(path, options = defaultWriteStreamOptions) {\n if (!(this instanceof WriteStream2))\n return new WriteStream2(path, options);\n if (!options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n fs: fs2 = defaultWriteStreamOptions.fs,\n start = defaultWriteStreamOptions.start,\n flags = defaultWriteStreamOptions.flags,\n mode = defaultWriteStreamOptions.mode,\n autoClose = !0,\n emitClose = !1,\n autoDestroy = autoClose,\n encoding = defaultWriteStreamOptions.encoding,\n fd = defaultWriteStreamOptions.fd,\n pos = defaultWriteStreamOptions.pos\n } = options, tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n throw new Error(\"Expected options.fd to be a number\");\n tempThis.fd = fd, tempThis[_writeStreamPathFastPathSymbol] = !1;\n } else if (typeof path === \"string\") {\n if (path.length === 0)\n @throwTypeError(\"Expected a non-empty path\");\n if (path.startsWith(\"file:\"))\n path = Bun.fileURLToPath(path);\n tempThis.path = path, tempThis.fd = null, tempThis[_writeStreamPathFastPathSymbol] = autoClose && (start === @undefined || start === 0) && fs2.write === defaultWriteStreamOptions.fs.write && fs2.close === defaultWriteStreamOptions.fs.close;\n }\n if (tempThis.fd == null)\n tempThis.fd = fs2.openSync(path, flags, mode);\n if (NativeWritable.@call(this, tempThis.fd, {\n ...options,\n decodeStrings: !1,\n autoDestroy,\n emitClose,\n fd: tempThis\n }), Object.assign(this, tempThis), typeof fs2\?.write !== \"function\")\n @throwTypeError(\"Expected fs.write to be a function\");\n if (typeof fs2\?.close !== \"function\")\n @throwTypeError(\"Expected fs.close to be a function\");\n if (typeof fs2\?.open !== \"function\")\n @throwTypeError(\"Expected fs.open to be a function\");\n if (typeof path === \"object\" && path) {\n if (path instanceof URL)\n path = Bun.fileURLToPath(path);\n }\n if (typeof path !== \"string\" && typeof fd !== \"number\")\n @throwTypeError(\"Expected a path or file descriptor\");\n if (this.start = start, this[_fs] = fs2, this.flags = flags, this.mode = mode, this.bytesWritten = 0, this[writeStreamSymbol] = !0, this[kIoDone] = !1, this.start !== @undefined)\n this.pos = this.start;\n if (encoding !== defaultWriteStreamOptions.encoding) {\n if (this.setDefaultEncoding(encoding), encoding !== \"buffer\" && encoding !== \"utf8\" && encoding !== \"utf-8\" && encoding !== \"binary\")\n this[_writeStreamPathFastPathSymbol] = !1;\n }\n return this;\n}, NativeWritable = Stream.NativeWritable, WriteStreamPrototype = WriteStream.prototype = Object.create(NativeWritable.prototype);\nObject.defineProperties(WriteStreamPrototype, {\n autoClose: {\n get() {\n return this._writableState.autoDestroy;\n },\n set(val) {\n this._writableState.autoDestroy = val;\n }\n },\n pending: {\n get() {\n return this.fd === null;\n }\n }\n});\nWriteStreamPrototype.destroySoon = WriteStreamPrototype.end;\nWriteStreamPrototype.open = function open3() {\n};\nWriteStreamPrototype[writeStreamPathFastPathCallSymbol] = function WriteStreamPathFastPathCallSymbol(readStream, pipeOpts) {\n if (!this[_writeStreamPathFastPathSymbol])\n return !1;\n if (this.fd !== null)\n return this[_writeStreamPathFastPathSymbol] = !1, !1;\n return this[kIoDone] = !1, readStream[kIoDone] = !1, Bun.write(this[_writeStreamPathFastPathSymbol], readStream[readStreamPathOrFdSymbol]).then((bytesWritten) => {\n readStream[kIoDone] = this[kIoDone] = !0, this.bytesWritten += bytesWritten, readStream.bytesRead += bytesWritten, this.end(), readStream.close();\n }, (err) => {\n readStream[kIoDone] = this[kIoDone] = !0, WriteStream_errorOrDestroy.@call(this, err), readStream.emit(\"error\", err);\n });\n};\nWriteStreamPrototype.isBunFastPathEnabled = function isBunFastPathEnabled() {\n return this[_writeStreamPathFastPathSymbol];\n};\nWriteStreamPrototype.disableBunFastPath = function disableBunFastPath() {\n this[_writeStreamPathFastPathSymbol] = !1;\n};\nWriteStreamPrototype._construct = function _construct(callback) {\n if (typeof this.fd === \"number\") {\n callback();\n return;\n }\n callback(), this.emit(\"open\", this.fd), this.emit(\"ready\");\n};\nWriteStreamPrototype._destroy = function _destroy(err, cb) {\n if (this.fd === null)\n return cb(err);\n if (this[kIoDone]) {\n this.once(kIoDone, () => WriteStream_internalClose.@call(this, err, cb));\n return;\n }\n WriteStream_internalClose.@call(this, err, cb);\n};\nWriteStreamPrototype.close = function close3(cb) {\n if (cb) {\n if (this.closed) {\n process.nextTick(cb);\n return;\n }\n this.on(\"close\", cb);\n }\n if (!this.autoClose)\n this.on(\"finish\", this.destroy);\n this.end();\n};\nWriteStreamPrototype.write = function write3(chunk, encoding, cb) {\n if (encoding \?\?= this._writableState\?.defaultEncoding, this[_writeStreamPathFastPathSymbol] = !1, typeof chunk === \"string\")\n chunk = @Buffer.from(chunk, encoding);\n var native = this.pos === @undefined;\n const callback = native \? (err, bytes) => {\n if (this[kIoDone] = !1, WriteStream_handleWrite.@call(this, err, bytes), this.emit(kIoDone), cb)\n !err \? cb() : cb(err);\n } : () => {\n };\n if (this[kIoDone] = !0, this._write)\n return this._write(chunk, encoding, callback);\n else\n return NativeWritable.prototype.write.@call(this, chunk, encoding, callback, native);\n};\nWriteStreamPrototype._write = @undefined;\nWriteStreamPrototype._writev = @undefined;\nWriteStreamPrototype.end = function end(chunk, encoding, cb) {\n var native = this.pos === @undefined;\n return NativeWritable.prototype.end.@call(this, chunk, encoding, cb, native);\n};\nWriteStreamPrototype._destroy = function _destroy2(err, cb) {\n this.close(err, cb);\n};\nObject.defineProperties(fs, {\n createReadStream: {\n value: createReadStream\n },\n createWriteStream: {\n value: createWriteStream\n },\n ReadStream: {\n value: ReadStream\n },\n WriteStream: {\n value: WriteStream\n }\n});\nrealpath.native = realpath;\nrealpathSync.native = realpathSync;\nvar lazy_cpSync = null;\n$ = {\n Dirent,\n FSWatcher,\n ReadStream,\n Stats,\n WriteStream,\n _toUnixTimestamp,\n access,\n accessSync,\n appendFile,\n appendFileSync,\n chmod,\n chmodSync,\n chown,\n chownSync,\n close,\n closeSync,\n constants,\n copyFile,\n copyFileSync,\n cp,\n cpSync,\n createReadStream,\n createWriteStream,\n exists,\n existsSync,\n fchmod,\n fchmodSync,\n fchown,\n fchownSync,\n fstat,\n fstatSync,\n fsync,\n fsyncSync,\n ftruncate,\n ftruncateSync,\n futimes,\n futimesSync,\n lchmod,\n lchmodSync,\n lchown,\n lchownSync,\n link,\n linkSync,\n lstat,\n lstatSync,\n lutimes,\n lutimesSync,\n mkdir,\n mkdirSync,\n mkdtemp,\n mkdtempSync,\n open,\n openSync,\n promises,\n read,\n readFile,\n readFileSync,\n readSync,\n readdir,\n readdirSync,\n readlink,\n readlinkSync,\n readv,\n readvSync,\n realpath,\n realpathSync,\n rename,\n renameSync,\n rm,\n rmSync,\n rmdir,\n rmdirSync,\n stat,\n statSync,\n symlink,\n symlinkSync,\n truncate,\n truncateSync,\n unlink,\n unlinkSync,\n unwatchFile,\n utimes,\n utimesSync,\n watch,\n watchFile,\n write,\n writeFile,\n writeFileSync,\n writeSync,\n writev,\n writevSync,\n [Symbol.for(\"::bunternal::\")]: {\n ReadStreamClass,\n WriteStreamClass\n }\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeFSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/fs.ts\nvar getValidatedPath = function(p) {\n if (p instanceof URL)\n return Bun.fileURLToPath(p);\n if (typeof p !== \"string\")\n @throwTypeError(\"Path must be a string or URL.\");\n return (_pathModule \?\?= @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).resolve(p);\n}, watchFile = function(filename, options, listener) {\n if (filename = getValidatedPath(filename), typeof options === \"function\")\n listener = options, options = {};\n if (typeof listener !== \"function\")\n @throwTypeError(\"listener must be a function\");\n var stat = statWatchers.get(filename);\n if (!stat)\n stat = new StatWatcher(filename, options), statWatchers.set(filename, stat);\n return stat.addListener(\"change\", listener), stat;\n}, unwatchFile = function(filename, listener) {\n filename = getValidatedPath(filename);\n var stat = statWatchers.get(filename);\n if (!stat)\n return;\n if (listener) {\n if (stat.removeListener(\"change\", listener), stat.listenerCount(\"change\") !== 0)\n return;\n } else\n stat.removeAllListeners(\"change\");\n stat.stop(), statWatchers.delete(filename);\n}, callbackify = function(fsFunction, args) {\n const callback = args[args.length - 1];\n try {\n var result = fsFunction.@apply(fs, args.slice(0, args.length - 1));\n result.then((...args2) => callback(null, ...args2), (err) => callback(err));\n } catch (e) {\n if (typeof callback === \"function\")\n callback(e);\n else\n throw e;\n }\n}, createReadStream = function(path, options) {\n return new ReadStream(path, options);\n}, WriteStream_handleWrite = function(er, bytes) {\n if (er)\n return WriteStream_errorOrDestroy.@call(this, er);\n this.bytesWritten += bytes;\n}, WriteStream_internalClose = function(err, cb) {\n this[_writeStreamPathFastPathSymbol] = !1;\n var fd = this.fd;\n this[_fs].close(fd, (er) => {\n this.fd = null, cb(err || er);\n });\n}, WriteStream_errorOrDestroy = function(err) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n}, createWriteStream = function(path, options) {\n return new WriteStream(path, options);\n}, cpSync = function(src, dest, options) {\n if (!options)\n return fs.cpSync(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cpSync)\n lazy_cpSync = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cpSync(src, dest, options);\n }\n return fs.cpSync(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n}, cp = function(src, dest, options, callback) {\n if (typeof options === \"function\")\n callback = options, options = @undefined;\n promises.cp(src, dest, options).then(() => callback(), callback);\n}, _toUnixTimestamp = function(time, name = \"time\") {\n if (typeof time === \"string\" && +time == time)\n return +time;\n if (NumberIsFinite(time)) {\n if (time < 0)\n return DateNow() / 1000;\n return time;\n }\n if (isDate(time))\n return DatePrototypeGetTime(time) / 1000;\n @throwTypeError(`Expected ${name} to be a number or Date`);\n}, $, ReadStream, WriteStream, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), promises = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), Stream = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { isArrayBufferView } = @requireNativeModule(\"util/types\"), _writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), _fs = Symbol.for(\"#fs\"), constants = @processBindingConstants.fs, fs = Bun.fs();\n\nclass FSWatcher extends EventEmitter {\n #watcher;\n #listener;\n constructor(path, options, listener) {\n super();\n if (typeof options === \"function\")\n listener = options, options = {};\n else if (typeof options === \"string\")\n options = { encoding: options };\n if (typeof listener !== \"function\")\n listener = () => {\n };\n this.#listener = listener;\n try {\n this.#watcher = fs.watch(path, options || {}, this.#onEvent.bind(this));\n } catch (e) {\n if (!e.message\?.startsWith(\"FileNotFound\"))\n throw e;\n const notFound = new Error(`ENOENT: no such file or directory, watch '${path}'`);\n throw notFound.code = \"ENOENT\", notFound.errno = -2, notFound.path = path, notFound.syscall = \"watch\", notFound.filename = path, notFound;\n }\n }\n #onEvent(eventType, filenameOrError) {\n if (eventType === \"error\" || eventType === \"close\")\n this.emit(eventType, filenameOrError);\n else\n this.emit(\"change\", eventType, filenameOrError), this.#listener(eventType, filenameOrError);\n }\n close() {\n this.#watcher\?.close(), this.#watcher = null;\n }\n ref() {\n this.#watcher\?.ref();\n }\n unref() {\n this.#watcher\?.unref();\n }\n start() {\n }\n}\n\nclass StatWatcher extends EventEmitter {\n constructor(path, options) {\n super();\n this._handle = fs.watchFile(path, options, this.#onChange.bind(this));\n }\n #onChange(curr, prev) {\n this.emit(\"change\", curr, prev);\n }\n start() {\n }\n stop() {\n this._handle\?.close(), this._handle = null;\n }\n ref() {\n this._handle\?.ref();\n }\n unref() {\n this._handle\?.unref();\n }\n}\nvar access = function access2(...args) {\n callbackify(fs.access, args);\n}, appendFile = function appendFile2(...args) {\n callbackify(fs.appendFile, args);\n}, close = function close2(...args) {\n callbackify(fs.close, args);\n}, rm = function rm2(...args) {\n callbackify(fs.rm, args);\n}, rmdir = function rmdir2(...args) {\n callbackify(fs.rmdir, args);\n}, copyFile = function copyFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n fs.copyFile(...args).then((result) => callback(null, result), callback);\n}, exists = function exists2(path, callback) {\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n try {\n fs.exists.@apply(fs, [path]).then((existed) => callback(existed), (_) => callback(!1));\n } catch (e) {\n callback(!1);\n }\n}, chown = function chown2(...args) {\n callbackify(fs.chown, args);\n}, chmod = function chmod2(...args) {\n callbackify(fs.chmod, args);\n}, fchmod = function fchmod2(...args) {\n callbackify(fs.fchmod, args);\n}, fchown = function fchown2(...args) {\n callbackify(fs.fchown, args);\n}, fstat = function fstat2(...args) {\n callbackify(fs.fstat, args);\n}, fsync = function fsync2(...args) {\n callbackify(fs.fsync, args);\n}, ftruncate = function ftruncate2(...args) {\n callbackify(fs.ftruncate, args);\n}, futimes = function futimes2(...args) {\n callbackify(fs.futimes, args);\n}, lchmod = function lchmod2(...args) {\n callbackify(fs.lchmod, args);\n}, lchown = function lchown2(...args) {\n callbackify(fs.lchown, args);\n}, link = function link2(...args) {\n callbackify(fs.link, args);\n}, mkdir = function mkdir2(...args) {\n callbackify(fs.mkdir, args);\n}, mkdtemp = function mkdtemp2(...args) {\n callbackify(fs.mkdtemp, args);\n}, open = function open2(...args) {\n callbackify(fs.open, args);\n}, read = function read2(fd, buffer, offsetOrOptions, length, position, callback) {\n let offset = offsetOrOptions, params = null;\n if (arguments.length <= 4) {\n if (arguments.length === 4)\n callback = length, params = offsetOrOptions;\n else if (arguments.length === 3) {\n if (!isArrayBufferView(buffer))\n params = buffer, { buffer = @Buffer.alloc(16384) } = params \?\? {};\n callback = offsetOrOptions;\n } else\n callback = buffer, buffer = @Buffer.alloc(16384);\n ({ offset = 0, length = buffer\?.byteLength - offset, position = null } = params \?\? {});\n }\n queueMicrotask(() => {\n try {\n var bytesRead = fs.readSync(fd, buffer, offset, length, position);\n } catch (e) {\n callback(e);\n }\n callback(null, bytesRead, buffer);\n });\n}, write = function write2(...args) {\n callbackify(fs.write, args);\n}, readdir = function readdir2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readdir(...args).then((result) => callback(null, result), callback);\n}, readFile = function readFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readFile(...args).then((result) => callback(null, result), callback);\n}, writeFile = function writeFile2(...args) {\n callbackify(fs.writeFile, args);\n}, readlink = function readlink2(...args) {\n callbackify(fs.readlink, args);\n}, realpath = function realpath2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.realpath(...args).then((result) => callback(null, result), callback);\n}, rename = function rename2(...args) {\n callbackify(fs.rename, args);\n}, lstat = function lstat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.lstat(...args).then((result) => callback(null, result), callback);\n}, stat = function stat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.stat(...args).then((result) => callback(null, result), callback);\n}, symlink = function symlink2(...args) {\n callbackify(fs.symlink, args);\n}, truncate = function truncate2(...args) {\n callbackify(fs.truncate, args);\n}, unlink = function unlink2(...args) {\n callbackify(fs.unlink, args);\n}, utimes = function utimes2(...args) {\n callbackify(fs.utimes, args);\n}, lutimes = function lutimes2(...args) {\n callbackify(fs.lutimes, args);\n}, accessSync = fs.accessSync.bind(fs), appendFileSync = fs.appendFileSync.bind(fs), closeSync = fs.closeSync.bind(fs), copyFileSync = fs.copyFileSync.bind(fs), existsSync = fs.existsSync.bind(fs), chownSync = fs.chownSync.bind(fs), chmodSync = fs.chmodSync.bind(fs), fchmodSync = fs.fchmodSync.bind(fs), fchownSync = fs.fchownSync.bind(fs), fstatSync = fs.fstatSync.bind(fs), fsyncSync = fs.fsyncSync.bind(fs), ftruncateSync = fs.ftruncateSync.bind(fs), futimesSync = fs.futimesSync.bind(fs), lchmodSync = fs.lchmodSync.bind(fs), lchownSync = fs.lchownSync.bind(fs), linkSync = fs.linkSync.bind(fs), lstatSync = fs.lstatSync.bind(fs), mkdirSync = fs.mkdirSync.bind(fs), mkdtempSync = fs.mkdtempSync.bind(fs), openSync = fs.openSync.bind(fs), readSync = fs.readSync.bind(fs), writeSync = fs.writeSync.bind(fs), readdirSync = fs.readdirSync.bind(fs), readFileSync = fs.readFileSync.bind(fs), writeFileSync = fs.writeFileSync.bind(fs), readlinkSync = fs.readlinkSync.bind(fs), realpathSync = fs.realpathSync.bind(fs), renameSync = fs.renameSync.bind(fs), statSync = fs.statSync.bind(fs), symlinkSync = fs.symlinkSync.bind(fs), truncateSync = fs.truncateSync.bind(fs), unlinkSync = fs.unlinkSync.bind(fs), utimesSync = fs.utimesSync.bind(fs), lutimesSync = fs.lutimesSync.bind(fs), rmSync = fs.rmSync.bind(fs), rmdirSync = fs.rmdirSync.bind(fs), writev = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.writevSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, writevSync = fs.writevSync.bind(fs), readv = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.readvSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, readvSync = fs.readvSync.bind(fs), Dirent = fs.Dirent, Stats = fs.Stats, watch = function watch2(path, options, listener) {\n return new FSWatcher(path, options, listener);\n}, statWatchers = new Map, _pathModule, readStreamPathFastPathSymbol = Symbol.for(\"Bun.Node.readStreamPathFastPath\"), readStreamSymbol = Symbol.for(\"Bun.NodeReadStream\"), readStreamPathOrFdSymbol = Symbol.for(\"Bun.NodeReadStreamPathOrFd\"), writeStreamSymbol = Symbol.for(\"Bun.NodeWriteStream\"), writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), writeStreamPathFastPathCallSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPathCall\"), kIoDone = Symbol.for(\"kIoDone\"), defaultReadStreamOptions = {\n file: @undefined,\n fd: null,\n flags: \"r\",\n encoding: @undefined,\n mode: 438,\n autoClose: !0,\n emitClose: !0,\n start: 0,\n end: @Infinity,\n highWaterMark: 65536,\n fs: {\n read,\n open: (path, flags, mode, cb) => {\n var fd;\n try {\n fd = openSync(path, flags, mode);\n } catch (e) {\n cb(e);\n return;\n }\n cb(null, fd);\n },\n openSync,\n close\n },\n autoDestroy: !0\n}, ReadStreamClass;\nReadStream = function(InternalReadStream) {\n ReadStreamClass = InternalReadStream, Object.defineProperty(ReadStreamClass.prototype, Symbol.toStringTag, {\n value: \"ReadStream\",\n enumerable: !1\n });\n function ReadStream3(path, options) {\n return new InternalReadStream(path, options);\n }\n return ReadStream3.prototype = InternalReadStream.prototype, Object.defineProperty(ReadStream3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalReadStream;\n }\n });\n}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2, Stream.Readable) {\n constructor(pathOrFd, options = defaultReadStreamOptions) {\n if (typeof options !== \"object\" || !options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n flags = defaultReadStreamOptions.flags,\n encoding = defaultReadStreamOptions.encoding,\n mode = defaultReadStreamOptions.mode,\n autoClose = defaultReadStreamOptions.autoClose,\n emitClose = defaultReadStreamOptions.emitClose,\n start = defaultReadStreamOptions.start,\n end = defaultReadStreamOptions.end,\n autoDestroy = defaultReadStreamOptions.autoClose,\n fs: fs2 = defaultReadStreamOptions.fs,\n highWaterMark = defaultReadStreamOptions.highWaterMark,\n fd = defaultReadStreamOptions.fd\n } = options;\n if (pathOrFd\?.constructor\?.name === \"URL\")\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n var tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n @throwTypeError(\"Expected options.fd to be a number\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = fd, tempThis.autoClose = !1;\n } else if (typeof pathOrFd === \"string\") {\n if (pathOrFd.startsWith(\"file://\"))\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n if (pathOrFd.length === 0)\n @throwTypeError(\"Expected path to be a non-empty string\");\n tempThis.path = tempThis.file = tempThis[readStreamPathOrFdSymbol] = pathOrFd;\n } else if (typeof pathOrFd === \"number\") {\n if (pathOrFd |= 0, pathOrFd < 0)\n @throwTypeError(\"Expected fd to be a positive integer\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = pathOrFd, tempThis.autoClose = !1;\n } else\n @throwTypeError(\"Expected a path or file descriptor\");\n if (tempThis.fd === @undefined)\n tempThis.fd = fs2.openSync(pathOrFd, flags, mode);\n var fileRef = Bun.file(tempThis.fd), stream = fileRef.stream(), native = @direct(stream);\n if (!native)\n throw new Error(\"no native readable stream\");\n var { stream: ptr } = native;\n super(ptr, {\n ...options,\n encoding,\n autoDestroy,\n autoClose,\n emitClose,\n highWaterMark\n });\n if (Object.assign(this, tempThis), this.#fileRef = fileRef, this.end = end, this._read = this.#internalRead, this.start = start, this.flags = flags, this.mode = mode, this.emitClose = emitClose, this[readStreamPathFastPathSymbol] = start === 0 && end === @Infinity && autoClose && fs2 === defaultReadStreamOptions.fs && (encoding === \"buffer\" || encoding === \"binary\" || encoding == null || encoding === \"utf-8\" || encoding === \"utf8\"), this._readableState.autoClose = autoDestroy = autoClose, this._readableState.highWaterMark = highWaterMark, start !== @undefined)\n this.pos = start;\n }\n #fileRef;\n #fs;\n file;\n path;\n fd = null;\n flags;\n mode;\n start;\n end;\n pos;\n bytesRead = 0;\n #fileSize = -1;\n _read;\n [readStreamSymbol] = !0;\n [readStreamPathOrFdSymbol];\n [readStreamPathFastPathSymbol];\n _construct(callback) {\n if (super._construct)\n super._construct(callback);\n else\n callback();\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n }\n _destroy(err, cb) {\n super._destroy(err, cb);\n try {\n var fd = this.fd;\n if (this[readStreamPathFastPathSymbol] = !1, !fd)\n cb(err);\n else\n this.#fs.close(fd, (er) => {\n cb(er || err);\n }), this.fd = null;\n } catch (e) {\n throw e;\n }\n }\n close(cb) {\n if (typeof cb === \"function\")\n Stream.eos(this, cb);\n this.destroy();\n }\n push(chunk) {\n var bytesRead = chunk\?.length \?\? 0;\n if (bytesRead > 0) {\n this.bytesRead += bytesRead;\n var currPos = this.pos;\n if (currPos !== @undefined) {\n if (this.bytesRead < currPos)\n return !0;\n if (currPos === this.start) {\n var n = this.bytesRead - currPos;\n chunk = chunk.slice(-n);\n var [_, ...rest] = arguments;\n if (this.pos = this.bytesRead, this.end !== @undefined && this.bytesRead > this.end)\n chunk = chunk.slice(0, this.end - this.start + 1);\n return super.push(chunk, ...rest);\n }\n var end = this.end;\n if (end !== @undefined && this.bytesRead > end) {\n chunk = chunk.slice(0, end - currPos + 1);\n var [_, ...rest] = arguments;\n return this.pos = this.bytesRead, super.push(chunk, ...rest);\n }\n this.pos = this.bytesRead;\n }\n }\n return super.push(...arguments);\n }\n #internalRead(n) {\n var { pos, end, bytesRead, fd, encoding } = this;\n if (n = pos !== @undefined \? Math.min(end - pos + 1, n) : Math.min(end - bytesRead + 1, n), n <= 0) {\n this.push(null);\n return;\n }\n if (this.#fileSize === -1 && bytesRead === 0 && pos === @undefined) {\n var stat3 = fstatSync(fd);\n if (this.#fileSize = stat3.size, this.#fileSize > 0 && n > this.#fileSize)\n n = this.#fileSize + 1;\n }\n this[kIoDone] = !1;\n var res = super._read(n);\n if (@isPromise(res)) {\n var then = res\?.then;\n if (then && @isCallable(then))\n res.then(() => {\n if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone);\n }, (er) => {\n this[kIoDone] = !0, this.#errorOrDestroy(er);\n });\n } else if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone), this.#errorOrDestroy(new Error(\"ERR_STREAM_PREMATURE_CLOSE\"));\n }\n #errorOrDestroy(err, sync = null) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n }\n pause() {\n return this[readStreamPathFastPathSymbol] = !1, super.pause();\n }\n resume() {\n return this[readStreamPathFastPathSymbol] = !1, super.resume();\n }\n unshift(...args) {\n return this[readStreamPathFastPathSymbol] = !1, super.unshift(...args);\n }\n pipe(dest, pipeOpts) {\n if (this[readStreamPathFastPathSymbol] && (pipeOpts\?.end \?\? !0) && this._readableState\?.pipes\?.length === 0) {\n if ((writeStreamPathFastPathSymbol in dest) && dest[writeStreamPathFastPathSymbol]) {\n if (dest[writeStreamPathFastPathCallSymbol](this, pipeOpts))\n return this;\n }\n }\n return this[readStreamPathFastPathSymbol] = !1, super.pipe(dest, pipeOpts);\n }\n});\nvar defaultWriteStreamOptions = {\n fd: null,\n start: @undefined,\n pos: @undefined,\n encoding: @undefined,\n flags: \"w\",\n mode: 438,\n fs: {\n write,\n close,\n open,\n openSync\n }\n}, WriteStreamClass = WriteStream = function WriteStream2(path, options = defaultWriteStreamOptions) {\n if (!(this instanceof WriteStream2))\n return new WriteStream2(path, options);\n if (!options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n fs: fs2 = defaultWriteStreamOptions.fs,\n start = defaultWriteStreamOptions.start,\n flags = defaultWriteStreamOptions.flags,\n mode = defaultWriteStreamOptions.mode,\n autoClose = !0,\n emitClose = !1,\n autoDestroy = autoClose,\n encoding = defaultWriteStreamOptions.encoding,\n fd = defaultWriteStreamOptions.fd,\n pos = defaultWriteStreamOptions.pos\n } = options, tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n throw new Error(\"Expected options.fd to be a number\");\n tempThis.fd = fd, tempThis[_writeStreamPathFastPathSymbol] = !1;\n } else if (typeof path === \"string\") {\n if (path.length === 0)\n @throwTypeError(\"Expected a non-empty path\");\n if (path.startsWith(\"file:\"))\n path = Bun.fileURLToPath(path);\n tempThis.path = path, tempThis.fd = null, tempThis[_writeStreamPathFastPathSymbol] = autoClose && (start === @undefined || start === 0) && fs2.write === defaultWriteStreamOptions.fs.write && fs2.close === defaultWriteStreamOptions.fs.close;\n }\n if (tempThis.fd == null)\n tempThis.fd = fs2.openSync(path, flags, mode);\n if (NativeWritable.@call(this, tempThis.fd, {\n ...options,\n decodeStrings: !1,\n autoDestroy,\n emitClose,\n fd: tempThis\n }), Object.assign(this, tempThis), typeof fs2\?.write !== \"function\")\n @throwTypeError(\"Expected fs.write to be a function\");\n if (typeof fs2\?.close !== \"function\")\n @throwTypeError(\"Expected fs.close to be a function\");\n if (typeof fs2\?.open !== \"function\")\n @throwTypeError(\"Expected fs.open to be a function\");\n if (typeof path === \"object\" && path) {\n if (path instanceof URL)\n path = Bun.fileURLToPath(path);\n }\n if (typeof path !== \"string\" && typeof fd !== \"number\")\n @throwTypeError(\"Expected a path or file descriptor\");\n if (this.start = start, this[_fs] = fs2, this.flags = flags, this.mode = mode, this.bytesWritten = 0, this[writeStreamSymbol] = !0, this[kIoDone] = !1, this.start !== @undefined)\n this.pos = this.start;\n if (encoding !== defaultWriteStreamOptions.encoding) {\n if (this.setDefaultEncoding(encoding), encoding !== \"buffer\" && encoding !== \"utf8\" && encoding !== \"utf-8\" && encoding !== \"binary\")\n this[_writeStreamPathFastPathSymbol] = !1;\n }\n return this;\n}, NativeWritable = Stream.NativeWritable, WriteStreamPrototype = WriteStream.prototype = Object.create(NativeWritable.prototype);\nObject.defineProperties(WriteStreamPrototype, {\n autoClose: {\n get() {\n return this._writableState.autoDestroy;\n },\n set(val) {\n this._writableState.autoDestroy = val;\n }\n },\n pending: {\n get() {\n return this.fd === null;\n }\n }\n});\nWriteStreamPrototype.destroySoon = WriteStreamPrototype.end;\nWriteStreamPrototype.open = function open3() {\n};\nWriteStreamPrototype[writeStreamPathFastPathCallSymbol] = function WriteStreamPathFastPathCallSymbol(readStream, pipeOpts) {\n if (!this[_writeStreamPathFastPathSymbol])\n return !1;\n if (this.fd !== null)\n return this[_writeStreamPathFastPathSymbol] = !1, !1;\n return this[kIoDone] = !1, readStream[kIoDone] = !1, Bun.write(this[_writeStreamPathFastPathSymbol], readStream[readStreamPathOrFdSymbol]).then((bytesWritten) => {\n readStream[kIoDone] = this[kIoDone] = !0, this.bytesWritten += bytesWritten, readStream.bytesRead += bytesWritten, this.end(), readStream.close();\n }, (err) => {\n readStream[kIoDone] = this[kIoDone] = !0, WriteStream_errorOrDestroy.@call(this, err), readStream.emit(\"error\", err);\n });\n};\nWriteStreamPrototype.isBunFastPathEnabled = function isBunFastPathEnabled() {\n return this[_writeStreamPathFastPathSymbol];\n};\nWriteStreamPrototype.disableBunFastPath = function disableBunFastPath() {\n this[_writeStreamPathFastPathSymbol] = !1;\n};\nWriteStreamPrototype._construct = function _construct(callback) {\n if (typeof this.fd === \"number\") {\n callback();\n return;\n }\n callback(), this.emit(\"open\", this.fd), this.emit(\"ready\");\n};\nWriteStreamPrototype._destroy = function _destroy(err, cb) {\n if (this.fd === null)\n return cb(err);\n if (this[kIoDone]) {\n this.once(kIoDone, () => WriteStream_internalClose.@call(this, err, cb));\n return;\n }\n WriteStream_internalClose.@call(this, err, cb);\n};\nWriteStreamPrototype.close = function close3(cb) {\n if (cb) {\n if (this.closed) {\n process.nextTick(cb);\n return;\n }\n this.on(\"close\", cb);\n }\n if (!this.autoClose)\n this.on(\"finish\", this.destroy);\n this.end();\n};\nWriteStreamPrototype.write = function write3(chunk, encoding, cb) {\n if (encoding \?\?= this._writableState\?.defaultEncoding, this[_writeStreamPathFastPathSymbol] = !1, typeof chunk === \"string\")\n chunk = @Buffer.from(chunk, encoding);\n var native = this.pos === @undefined;\n const callback = native \? (err, bytes) => {\n if (this[kIoDone] = !1, WriteStream_handleWrite.@call(this, err, bytes), this.emit(kIoDone), cb)\n !err \? cb() : cb(err);\n } : () => {\n };\n if (this[kIoDone] = !0, this._write)\n return this._write(chunk, encoding, callback);\n else\n return NativeWritable.prototype.write.@call(this, chunk, encoding, callback, native);\n};\nWriteStreamPrototype._write = @undefined;\nWriteStreamPrototype._writev = @undefined;\nWriteStreamPrototype.end = function end(chunk, encoding, cb) {\n var native = this.pos === @undefined;\n return NativeWritable.prototype.end.@call(this, chunk, encoding, cb, native);\n};\nWriteStreamPrototype._destroy = function _destroy2(err, cb) {\n this.close(err, cb);\n};\nObject.defineProperties(fs, {\n createReadStream: {\n value: createReadStream\n },\n createWriteStream: {\n value: createWriteStream\n },\n ReadStream: {\n value: ReadStream\n },\n WriteStream: {\n value: WriteStream\n }\n});\nrealpath.native = realpath;\nrealpathSync.native = realpathSync;\nvar lazy_cpSync = null;\n$ = {\n Dirent,\n FSWatcher,\n ReadStream,\n Stats,\n WriteStream,\n _toUnixTimestamp,\n access,\n accessSync,\n appendFile,\n appendFileSync,\n chmod,\n chmodSync,\n chown,\n chownSync,\n close,\n closeSync,\n constants,\n copyFile,\n copyFileSync,\n cp,\n cpSync,\n createReadStream,\n createWriteStream,\n exists,\n existsSync,\n fchmod,\n fchmodSync,\n fchown,\n fchownSync,\n fstat,\n fstatSync,\n fsync,\n fsyncSync,\n ftruncate,\n ftruncateSync,\n futimes,\n futimesSync,\n lchmod,\n lchmodSync,\n lchown,\n lchownSync,\n link,\n linkSync,\n lstat,\n lstatSync,\n lutimes,\n lutimesSync,\n mkdir,\n mkdirSync,\n mkdtemp,\n mkdtempSync,\n open,\n openSync,\n promises,\n read,\n readFile,\n readFileSync,\n readSync,\n readdir,\n readdirSync,\n readlink,\n readlinkSync,\n readv,\n readvSync,\n realpath,\n realpathSync,\n rename,\n renameSync,\n rm,\n rmSync,\n rmdir,\n rmdirSync,\n stat,\n statSync,\n symlink,\n symlinkSync,\n truncate,\n truncateSync,\n unlink,\n unlinkSync,\n unwatchFile,\n utimes,\n utimesSync,\n watch,\n watchFile,\n write,\n writeFile,\n writeFileSync,\n writeSync,\n writev,\n writevSync,\n [Symbol.for(\"::bunternal::\")]: {\n ReadStreamClass,\n WriteStreamClass\n }\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeFSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/fs.promises.ts\nvar watch = function(filename, options = {}) {\n if (filename instanceof URL)\n @throwTypeError(\"Watch URLs are not supported yet\");\n else if (@Buffer.isBuffer(filename))\n filename = filename.toString();\n else if (typeof filename !== \"string\")\n @throwTypeError(\"Expected path to be a string or Buffer\");\n let nextEventResolve = null;\n if (typeof options === \"string\")\n options = { encoding: options };\n const queue = @createFIFO(), watcher = fs.watch(filename, options || {}, (eventType, filename2) => {\n if (queue.push({ eventType, filename: filename2 }), nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n });\n return {\n [Symbol.asyncIterator]() {\n let closed = !1;\n return {\n async next() {\n while (!closed) {\n let event;\n while (event = queue.shift()) {\n if (event.eventType === \"close\")\n return closed = !0, { value: @undefined, done: !0 };\n if (event.eventType === \"error\")\n throw closed = !0, event.filename;\n return { value: event, done: !1 };\n }\n const { promise, resolve } = @Promise.withResolvers();\n nextEventResolve = resolve, await promise;\n }\n return { value: @undefined, done: !0 };\n },\n return() {\n if (!closed) {\n if (watcher.close(), closed = !0, nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n }\n return { value: @undefined, done: !0 };\n }\n };\n }\n };\n}, cp = function(src, dest, options) {\n if (!options)\n return fs.cp(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cp)\n lazy_cp = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cp(src, dest, options);\n }\n return fs.cp(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n};\nasync function opendir(dir) {\n const entries = await fs.readdir(dir, { withFileTypes: !0 });\n return new Dir(entries);\n}\nvar $, constants = @processBindingConstants.fs, fs = Bun.fs();\nvar lazy_cp = null;\n\nclass Dir {\n #entries;\n constructor(e) {\n this.#entries = e;\n }\n readSync() {\n return this.#entries.shift() \?\? null;\n }\n read(c) {\n if (c)\n process.nextTick(c, null, this.readSync());\n return @Promise.resolve(this.readSync());\n }\n closeSync() {\n }\n close(c) {\n if (c)\n process.nextTick(c);\n return @Promise.resolve();\n }\n *[Symbol.asyncIterator]() {\n var next;\n while (next = this.readSync())\n yield next;\n }\n}\n$ = {\n access: fs.access.bind(fs),\n appendFile: fs.appendFile.bind(fs),\n close: fs.close.bind(fs),\n copyFile: fs.copyFile.bind(fs),\n cp,\n exists: fs.exists.bind(fs),\n chown: fs.chown.bind(fs),\n chmod: fs.chmod.bind(fs),\n fchmod: fs.fchmod.bind(fs),\n fchown: fs.fchown.bind(fs),\n fstat: fs.fstat.bind(fs),\n fsync: fs.fsync.bind(fs),\n ftruncate: fs.ftruncate.bind(fs),\n futimes: fs.futimes.bind(fs),\n lchmod: fs.lchmod.bind(fs),\n lchown: fs.lchown.bind(fs),\n link: fs.link.bind(fs),\n lstat: fs.lstat.bind(fs),\n mkdir: fs.mkdir.bind(fs),\n mkdtemp: fs.mkdtemp.bind(fs),\n open: fs.open.bind(fs),\n read: fs.read.bind(fs),\n write: fs.write.bind(fs),\n readdir: fs.readdir.bind(fs),\n readFile: fs.readFile.bind(fs),\n writeFile: fs.writeFile.bind(fs),\n readlink: fs.readlink.bind(fs),\n realpath: fs.realpath.bind(fs),\n rename: fs.rename.bind(fs),\n stat: fs.stat.bind(fs),\n symlink: fs.symlink.bind(fs),\n truncate: fs.truncate.bind(fs),\n unlink: fs.unlink.bind(fs),\n utimes: fs.utimes.bind(fs),\n lutimes: fs.lutimes.bind(fs),\n rm: fs.rm.bind(fs),\n rmdir: fs.rmdir.bind(fs),\n writev: async (fd, buffers, position) => {\n var bytesWritten = await fs.writev(fd, buffers, position);\n return {\n bytesWritten,\n buffers\n };\n },\n readv: async (fd, buffers, position) => {\n var bytesRead = await fs.readv(fd, buffers, position);\n return {\n bytesRead,\n buffers\n };\n },\n constants,\n watch,\n opendir\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeFSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/fs.promises.ts\nvar watch = function(filename, options = {}) {\n if (filename instanceof URL)\n @throwTypeError(\"Watch URLs are not supported yet\");\n else if (@Buffer.isBuffer(filename))\n filename = filename.toString();\n else if (typeof filename !== \"string\")\n @throwTypeError(\"Expected path to be a string or Buffer\");\n let nextEventResolve = null;\n if (typeof options === \"string\")\n options = { encoding: options };\n const queue = @createFIFO(), watcher = fs.watch(filename, options || {}, (eventType, filename2) => {\n if (queue.push({ eventType, filename: filename2 }), nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n });\n return {\n [Symbol.asyncIterator]() {\n let closed = !1;\n return {\n async next() {\n while (!closed) {\n let event;\n while (event = queue.shift()) {\n if (event.eventType === \"close\")\n return closed = !0, { value: @undefined, done: !0 };\n if (event.eventType === \"error\")\n throw closed = !0, event.filename;\n return { value: event, done: !1 };\n }\n const { promise, resolve } = @Promise.withResolvers();\n nextEventResolve = resolve, await promise;\n }\n return { value: @undefined, done: !0 };\n },\n return() {\n if (!closed) {\n if (watcher.close(), closed = !0, nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n }\n return { value: @undefined, done: !0 };\n }\n };\n }\n };\n}, cp = function(src, dest, options) {\n if (!options)\n return fs.cp(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cp)\n lazy_cp = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cp(src, dest, options);\n }\n return fs.cp(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n};\nasync function opendir(dir) {\n const entries = await fs.readdir(dir, { withFileTypes: !0 });\n return new Dir(entries);\n}\nvar $, constants = @processBindingConstants.fs, fs = Bun.fs();\nvar lazy_cp = null;\n\nclass Dir {\n #entries;\n constructor(e) {\n this.#entries = e;\n }\n readSync() {\n return this.#entries.shift() \?\? null;\n }\n read(c) {\n if (c)\n process.nextTick(c, null, this.readSync());\n return @Promise.resolve(this.readSync());\n }\n closeSync() {\n }\n close(c) {\n if (c)\n process.nextTick(c);\n return @Promise.resolve();\n }\n *[Symbol.asyncIterator]() {\n var next;\n while (next = this.readSync())\n yield next;\n }\n}\n$ = {\n access: fs.access.bind(fs),\n appendFile: fs.appendFile.bind(fs),\n close: fs.close.bind(fs),\n copyFile: fs.copyFile.bind(fs),\n cp,\n exists: fs.exists.bind(fs),\n chown: fs.chown.bind(fs),\n chmod: fs.chmod.bind(fs),\n fchmod: fs.fchmod.bind(fs),\n fchown: fs.fchown.bind(fs),\n fstat: fs.fstat.bind(fs),\n fsync: fs.fsync.bind(fs),\n ftruncate: fs.ftruncate.bind(fs),\n futimes: fs.futimes.bind(fs),\n lchmod: fs.lchmod.bind(fs),\n lchown: fs.lchown.bind(fs),\n link: fs.link.bind(fs),\n lstat: fs.lstat.bind(fs),\n mkdir: fs.mkdir.bind(fs),\n mkdtemp: fs.mkdtemp.bind(fs),\n open: fs.open.bind(fs),\n read: fs.read.bind(fs),\n write: fs.write.bind(fs),\n readdir: fs.readdir.bind(fs),\n readFile: fs.readFile.bind(fs),\n writeFile: fs.writeFile.bind(fs),\n readlink: fs.readlink.bind(fs),\n realpath: fs.realpath.bind(fs),\n rename: fs.rename.bind(fs),\n stat: fs.stat.bind(fs),\n symlink: fs.symlink.bind(fs),\n truncate: fs.truncate.bind(fs),\n unlink: fs.unlink.bind(fs),\n utimes: fs.utimes.bind(fs),\n lutimes: fs.lutimes.bind(fs),\n rm: fs.rm.bind(fs),\n rmdir: fs.rmdir.bind(fs),\n writev: async (fd, buffers, position) => {\n var bytesWritten = await fs.writev(fd, buffers, position);\n return {\n bytesWritten,\n buffers\n };\n },\n readv: async (fd, buffers, position) => {\n var bytesRead = await fs.readv(fd, buffers, position);\n return {\n bytesRead,\n buffers\n };\n },\n constants,\n watch,\n opendir\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeHttpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/http.ts\nvar checkInvalidHeaderChar = function(val) {\n return RegExpPrototypeExec.@call(headerCharRegex, val) !== null;\n};\nvar isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, validateMsecs = function(numberlike, field) {\n if (typeof numberlike !== \"number\" || numberlike < 0)\n throw new ERR_INVALID_ARG_TYPE(field, \"number\", numberlike);\n return numberlike;\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, createServer = function(options, callback) {\n return new Server(options, callback);\n}, emitListeningNextTick = function(self, onListen, err, hostname, port) {\n if (typeof onListen === \"function\")\n try {\n onListen(err, hostname, port);\n } catch (err2) {\n self.emit(\"error\", err2);\n }\n if (self.listening = !err, err)\n self.emit(\"error\", err);\n else\n self.emit(\"listening\", hostname, port);\n}, assignHeaders = function(object, req) {\n var headers = req.headers.toJSON();\n const rawHeaders = @newArrayWithSize(req.headers.count * 2);\n var i = 0;\n for (let key in headers)\n rawHeaders[i++] = key, rawHeaders[i++] = headers[key];\n object.headers = headers, object.rawHeaders = rawHeaders;\n}, destroyBodyStreamNT = function(bodyStream) {\n bodyStream.destroy();\n}, getDefaultHTTPSAgent = function() {\n return _defaultHTTPSAgent \?\?= new Agent({ defaultPort: 443, protocol: \"https:\" });\n};\nvar urlToHttpOptions = function(url) {\n var { protocol, hostname, hash, search, pathname, href, port, username, password } = url;\n return {\n protocol,\n hostname: typeof hostname === \"string\" && StringPrototypeStartsWith.@call(hostname, \"[\") \? StringPrototypeSlice.@call(hostname, 1, -1) : hostname,\n hash,\n search,\n pathname,\n path: `${pathname || \"\"}${search || \"\"}`,\n href,\n port: port \? Number(port) : protocol === \"https:\" \? 443 : protocol === \"http:\" \? 80 : @undefined,\n auth: username || password \? `${decodeURIComponent(username)}:${decodeURIComponent(password)}` : @undefined\n };\n}, validateHost = function(host, name) {\n if (host !== null && host !== @undefined && typeof host !== \"string\")\n throw new Error(\"Invalid arg type in options\");\n return host;\n}, checkIsHttpToken = function(val) {\n return RegExpPrototypeExec.@call(tokenRegExp, val) !== null;\n};\nvar _writeHead = function(statusCode, reason, obj, response) {\n if (statusCode |= 0, statusCode < 100 || statusCode > 999)\n throw new Error(\"status code must be between 100 and 999\");\n if (typeof reason === \"string\")\n response.statusMessage = reason;\n else {\n if (!response.statusMessage)\n response.statusMessage = STATUS_CODES[statusCode] || \"unknown\";\n obj = reason;\n }\n response.statusCode = statusCode;\n {\n let k;\n if (@Array.isArray(obj)) {\n if (obj.length % 2 !== 0)\n throw new Error(\"raw headers must have an even number of elements\");\n for (let n = 0;n < obj.length; n += 2)\n if (k = obj[n + 0], k)\n response.setHeader(k, obj[n + 1]);\n } else if (obj) {\n const keys = Object.keys(obj);\n for (let i = 0;i < keys.length; i++)\n if (k = keys[i], k)\n response.setHeader(k, obj[k]);\n }\n }\n if (statusCode === 204 || statusCode === 304 || statusCode >= 100 && statusCode <= 199)\n response._hasBody = !1;\n}, request = function(url, options, cb) {\n return new ClientRequest(url, options, cb);\n}, get = function(url, options, cb) {\n const req = request(url, options, cb);\n return req.end(), req;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { isTypedArray } = @requireNativeModule(\"util/types\"), { Duplex, Readable, Writable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { getHeader, setHeader } = @lazy(\"http\"), headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/, validateHeaderName = (name, label) => {\n if (typeof name !== \"string\" || !name || !checkIsHttpToken(name))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN\");\n}, validateHeaderValue = (name, value) => {\n if (value === @undefined)\n throw new Error(\"ERR_HTTP_INVALID_HEADER_VALUE\");\n if (checkInvalidHeaderChar(value))\n throw new Error(\"ERR_INVALID_CHAR\");\n}, { URL } = globalThis, globalReportError = globalThis.reportError, setTimeout = globalThis.setTimeout, fetch = Bun.fetch;\nvar kEmptyObject = Object.freeze(Object.create(null)), kOutHeaders = Symbol.for(\"kOutHeaders\"), kEndCalled = Symbol.for(\"kEndCalled\"), kAbortController = Symbol.for(\"kAbortController\"), kClearTimeout = Symbol(\"kClearTimeout\"), kCorked = Symbol.for(\"kCorked\"), searchParamsSymbol = Symbol.for(\"query\"), StringPrototypeSlice = @String.prototype.slice, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeToUpperCase = @String.prototype.toUpperCase, ArrayIsArray = @Array.isArray, RegExpPrototypeExec = @RegExp.prototype.exec, ObjectAssign = Object.assign, INVALID_PATH_REGEX = /[^\\u0021-\\u00ff]/;\nvar _defaultHTTPSAgent, kInternalRequest = Symbol(\"kInternalRequest\"), kInternalSocketData = Symbol.for(\"::bunternal::\"), kEmptyBuffer = @Buffer.alloc(0);\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\nvar FakeSocket = class Socket extends Duplex {\n [kInternalSocketData];\n bytesRead = 0;\n bytesWritten = 0;\n connecting = !1;\n timeout = 0;\n isServer = !1;\n #address;\n address() {\n var internalData;\n return this.#address \?\?= (internalData = this[kInternalSocketData])\?.[0]\?.requestIP(internalData[2]) \?\? {};\n }\n get bufferSize() {\n return this.writableLength;\n }\n connect(port, host, connectListener) {\n return this;\n }\n _destroy(err, callback) {\n }\n _final(callback) {\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return 80;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n }\n get remoteAddress() {\n return this.address()\?.address;\n }\n set remoteAddress(val) {\n this.address().address = val;\n }\n get remotePort() {\n return this.address()\?.port;\n }\n set remotePort(val) {\n this.address().port = val;\n }\n get remoteFamily() {\n return this.address()\?.family;\n }\n set remoteFamily(val) {\n this.address().family = val;\n }\n resetAndDestroy() {\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n return this;\n }\n unref() {\n }\n _write(chunk, encoding, callback) {\n }\n};\n\nclass Agent extends EventEmitter {\n defaultPort = 80;\n protocol = \"http:\";\n options;\n requests;\n sockets;\n freeSockets;\n keepAliveMsecs;\n keepAlive;\n maxSockets;\n maxFreeSockets;\n scheduling;\n maxTotalSockets;\n totalSocketCount;\n #fakeSocket;\n static get globalAgent() {\n return globalAgent;\n }\n static get defaultMaxSockets() {\n return @Infinity;\n }\n constructor(options = kEmptyObject) {\n super();\n if (this.options = options = { ...options, path: null }, options.noDelay === @undefined)\n options.noDelay = !0;\n this.requests = kEmptyObject, this.sockets = kEmptyObject, this.freeSockets = kEmptyObject, this.keepAliveMsecs = options.keepAliveMsecs || 1000, this.keepAlive = options.keepAlive || !1, this.maxSockets = options.maxSockets || Agent.defaultMaxSockets, this.maxFreeSockets = options.maxFreeSockets || 256, this.scheduling = options.scheduling || \"lifo\", this.maxTotalSockets = options.maxTotalSockets, this.totalSocketCount = 0, this.defaultPort = options.defaultPort || 80, this.protocol = options.protocol || \"http:\";\n }\n createConnection() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n getName(options = kEmptyObject) {\n let name = `http:${options.host || \"localhost\"}:`;\n if (options.port)\n name += options.port;\n if (name += \":\", options.localAddress)\n name += options.localAddress;\n if (options.family === 4 || options.family === 6)\n name += `:${options.family}`;\n if (options.socketPath)\n name += `:${options.socketPath}`;\n return name;\n }\n addRequest() {\n }\n createSocket(req, options, cb) {\n cb(null, this.#fakeSocket \?\?= new FakeSocket);\n }\n removeSocket() {\n }\n keepSocketAlive() {\n return !0;\n }\n reuseSocket() {\n }\n destroy() {\n }\n}\n\nclass Server extends EventEmitter {\n #server;\n #options;\n #tls;\n #is_tls = !1;\n listening = !1;\n serverName;\n constructor(options, callback) {\n super();\n if (typeof options === \"function\")\n callback = options, options = {};\n else if (options == null || typeof options === \"object\") {\n options = { ...options }, this.#tls = null;\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n let serverName = options.servername;\n if (serverName && typeof serverName !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n if (this.#is_tls)\n this.#tls = {\n serverName,\n key,\n cert,\n ca,\n passphrase,\n secureOptions\n };\n else\n this.#tls = null;\n } else\n throw new Error(\"bun-http-polyfill: invalid arguments\");\n if (this.#options = options, callback)\n this.on(\"request\", callback);\n }\n closeAllConnections() {\n const server = this.#server;\n if (!server)\n return;\n this.#server = @undefined, server.stop(!0), this.emit(\"close\");\n }\n closeIdleConnections() {\n }\n close(optionalCallback) {\n const server = this.#server;\n if (!server) {\n if (typeof optionalCallback === \"function\")\n process.nextTick(optionalCallback, new Error(\"Server is not running\"));\n return;\n }\n if (this.#server = @undefined, typeof optionalCallback === \"function\")\n this.once(\"close\", optionalCallback);\n server.stop(), this.emit(\"close\");\n }\n address() {\n if (!this.#server)\n return null;\n return this.#server.address;\n }\n listen(port, host, backlog, onListen) {\n const server = this;\n let socketPath;\n if (typeof port == \"string\" && !Number.isSafeInteger(Number(port)))\n socketPath = port;\n if (typeof host === \"function\")\n onListen = host, host = @undefined;\n if (typeof port === \"function\")\n onListen = port;\n else if (typeof port === \"object\") {\n if (port\?.signal\?.addEventListener(\"abort\", () => {\n this.close();\n }), host = port\?.host, port = port\?.port, typeof port\?.callback === \"function\")\n onListen = port\?.callback;\n }\n if (typeof backlog === \"function\")\n onListen = backlog;\n const ResponseClass = this.#options.ServerResponse || ServerResponse, RequestClass = this.#options.IncomingMessage || IncomingMessage;\n try {\n const tls = this.#tls;\n if (tls)\n this.serverName = tls.serverName || host || \"localhost\";\n this.#server = Bun.serve({\n tls,\n port,\n hostname: host,\n unix: socketPath,\n websocket: {\n open(ws) {\n ws.data.open(ws);\n },\n message(ws, message) {\n ws.data.message(ws, message);\n },\n close(ws, code, reason) {\n ws.data.close(ws, code, reason);\n },\n drain(ws) {\n ws.data.drain(ws);\n }\n },\n fetch(req, _server) {\n var pendingResponse, pendingError, rejectFunction, resolveFunction, reject = (err) => {\n if (pendingError)\n return;\n if (pendingError = err, rejectFunction)\n rejectFunction(err);\n }, reply = function(resp) {\n if (pendingResponse)\n return;\n if (pendingResponse = resp, resolveFunction)\n resolveFunction(resp);\n };\n const http_req = new RequestClass(req), http_res = new ResponseClass({ reply, req: http_req });\n if (http_req.socket[kInternalSocketData] = [_server, http_res, req], http_req.once(\"error\", (err) => reject(err)), http_res.once(\"error\", (err) => reject(err)), req.headers.get(\"upgrade\"))\n server.emit(\"upgrade\", http_req, http_req.socket, kEmptyBuffer);\n else\n server.emit(\"request\", http_req, http_res);\n if (pendingError)\n throw pendingError;\n if (pendingResponse)\n return pendingResponse;\n return new @Promise((resolve, reject2) => {\n resolveFunction = resolve, rejectFunction = reject2;\n });\n }\n }), setTimeout(emitListeningNextTick, 1, this, onListen, null, this.#server.hostname, this.#server.port);\n } catch (err) {\n server.emit(\"error\", err);\n }\n return this;\n }\n setTimeout(msecs, callback) {\n }\n}\nclass IncomingMessage extends Readable {\n method;\n complete;\n constructor(req, defaultIncomingOpts) {\n const method = req.method;\n super();\n const url = new URL(req.url);\n var { type = \"request\", [kInternalRequest]: nodeReq } = defaultIncomingOpts || {};\n this.#noBody = type === \"request\" \? method === \"GET\" || method === \"HEAD\" || method === \"TRACE\" || method === \"CONNECT\" || method === \"OPTIONS\" || (parseInt(req.headers.get(\"Content-Length\") || \"\") || 0) === 0 : !1, this.#req = req, this.method = method, this.#type = type, this.complete = !!this.#noBody, this.#bodyStream = @undefined;\n const socket = new FakeSocket;\n if (url.protocol === \"https:\")\n socket.encrypted = !0;\n this.#fakeSocket = socket, this.url = url.pathname + url.search, this.req = nodeReq, assignHeaders(this, req);\n }\n headers;\n rawHeaders;\n _consuming = !1;\n _dumped = !1;\n #bodyStream;\n #fakeSocket;\n #noBody = !1;\n #aborted = !1;\n #req;\n url;\n #type;\n _construct(callback) {\n if (this.#type === \"response\" || this.#noBody) {\n callback();\n return;\n }\n const contentLength = this.#req.headers.get(\"content-length\");\n if ((contentLength \? parseInt(contentLength, 10) : 0) === 0) {\n this.#noBody = !0, callback();\n return;\n }\n callback();\n }\n async#consumeStream(reader) {\n while (!0) {\n var { done, value } = await reader.readMany();\n if (this.#aborted)\n return;\n if (done) {\n this.push(null), process.nextTick(destroyBodyStreamNT, this);\n break;\n }\n for (var v of value)\n this.push(v);\n }\n }\n _read(size) {\n if (this.#noBody)\n this.push(null), this.complete = !0;\n else if (this.#bodyStream == null) {\n const reader = this.#req.body\?.getReader();\n if (!reader) {\n this.push(null);\n return;\n }\n this.#bodyStream = reader, this.#consumeStream(reader);\n }\n }\n get aborted() {\n return this.#aborted;\n }\n #abort() {\n if (this.#aborted)\n return;\n this.#aborted = !0;\n var bodyStream = this.#bodyStream;\n if (!bodyStream)\n return;\n bodyStream.cancel(), this.complete = !0, this.#bodyStream = @undefined, this.push(null);\n }\n get connection() {\n return this.#fakeSocket;\n }\n get statusCode() {\n return this.#req.status;\n }\n get statusMessage() {\n return STATUS_CODES[this.#req.status];\n }\n get httpVersion() {\n return \"1.1\";\n }\n get rawTrailers() {\n return [];\n }\n get httpVersionMajor() {\n return 1;\n }\n get httpVersionMinor() {\n return 1;\n }\n get trailers() {\n return kEmptyObject;\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n}\n\nclass OutgoingMessage extends Writable {\n constructor() {\n super(...arguments);\n }\n #headers;\n headersSent = !1;\n sendDate = !0;\n req;\n timeout;\n #finished = !1;\n [kEndCalled] = !1;\n #fakeSocket;\n #timeoutTimer;\n [kAbortController] = null;\n _implicitHeader() {\n }\n get headers() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n get connection() {\n return this.socket;\n }\n get finished() {\n return this.#finished;\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return headers.set(name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.removeAllListeners(\"timeout\"), this.#timeoutTimer = @undefined;\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar OriginalWriteHeadFn, OriginalImplicitHeadFn;\n\nclass ServerResponse extends Writable {\n constructor(c) {\n super();\n if (!c)\n c = {};\n var req = c.req || {}, reply = c.reply;\n if (this.req = req, this._reply = reply, this.sendDate = !0, this.statusCode = 200, this.headersSent = !1, this.statusMessage = @undefined, this.#controller = @undefined, this.#firstWrite = @undefined, this._writableState.decodeStrings = !1, this.#deferred = @undefined, req.method === \"HEAD\")\n this._hasBody = !1;\n }\n req;\n _reply;\n sendDate;\n statusCode;\n #headers;\n headersSent = !1;\n statusMessage;\n #controller;\n #firstWrite;\n _sent100 = !1;\n _defaultKeepAlive = !1;\n _removedConnection = !1;\n _removedContLen = !1;\n _hasBody = !0;\n #deferred = @undefined;\n #finished = !1;\n _implicitHeader() {\n this.writeHead(this.statusCode);\n }\n _write(chunk, encoding, callback) {\n if (!this.#firstWrite && !this.headersSent) {\n this.#firstWrite = chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n controller.write(chunk), callback();\n });\n }\n _writev(chunks, callback) {\n if (chunks.length === 1 && !this.headersSent && !this.#firstWrite) {\n this.#firstWrite = chunks[0].chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n for (let chunk of chunks)\n controller.write(chunk.chunk);\n callback();\n });\n }\n #ensureReadableStreamController(run) {\n var thisController = this.#controller;\n if (thisController)\n return run(thisController);\n this.headersSent = !0;\n var firstWrite = this.#firstWrite;\n this.#firstWrite = @undefined, this._reply(new Response(new @ReadableStream({\n type: \"direct\",\n pull: (controller) => {\n if (this.#controller = controller, firstWrite)\n controller.write(firstWrite);\n if (firstWrite = @undefined, run(controller), !this.#finished)\n return new @Promise((resolve) => {\n this.#deferred = resolve;\n });\n }\n }), {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n }));\n }\n #drainHeadersIfObservable() {\n if (this._implicitHeader === OriginalImplicitHeadFn && this.writeHead === OriginalWriteHeadFn)\n return;\n this._implicitHeader();\n }\n _final(callback) {\n if (!this.headersSent) {\n var data = this.#firstWrite || \"\";\n this.#firstWrite = @undefined, this.#finished = !0, this.#drainHeadersIfObservable(), this._reply(new Response(data, {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n })), callback && callback();\n return;\n }\n this.#finished = !0, this.#ensureReadableStreamController((controller) => {\n controller.end(), callback();\n var deferred = this.#deferred;\n if (deferred)\n this.#deferred = @undefined, deferred();\n });\n }\n writeProcessing() {\n throw new Error(\"not implemented\");\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n assignSocket(socket) {\n throw new Error(\"not implemented\");\n }\n detachSocket(socket) {\n throw new Error(\"not implemented\");\n }\n writeContinue(callback) {\n throw new Error(\"not implemented\");\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n var headers = this.#headers;\n if (!headers)\n return kEmptyObject;\n return headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return setHeader(headers, name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n writeHead(statusCode, statusMessage, headers) {\n return _writeHead(statusCode, statusMessage, headers, this), this;\n }\n}\nOriginalWriteHeadFn = ServerResponse.prototype.writeHead;\nOriginalImplicitHeadFn = ServerResponse.prototype._implicitHeader;\n\nclass ClientRequest extends OutgoingMessage {\n #timeout;\n #res = null;\n #upgradeOrConnect = !1;\n #parser = null;\n #maxHeadersCount = null;\n #reusedSocket = !1;\n #host;\n #protocol;\n #method;\n #port;\n #useDefaultPort;\n #joinDuplicateHeaders;\n #maxHeaderSize;\n #agent = globalAgent;\n #path;\n #socketPath;\n #bodyChunks = null;\n #fetchRequest;\n #signal = null;\n [kAbortController] = null;\n #timeoutTimer = @undefined;\n #options;\n #finished;\n get path() {\n return this.#path;\n }\n get port() {\n return this.#port;\n }\n get method() {\n return this.#method;\n }\n get host() {\n return this.#host;\n }\n get protocol() {\n return this.#protocol;\n }\n _write(chunk, encoding, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = [chunk], callback();\n return;\n }\n this.#bodyChunks.push(chunk), callback();\n }\n _writev(chunks, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = chunks, callback();\n return;\n }\n this.#bodyChunks.push(...chunks), callback();\n }\n _final(callback) {\n if (this.#finished = !0, this[kAbortController] = new AbortController, this[kAbortController].signal.addEventListener(\"abort\", () => {\n this[kClearTimeout]();\n }), this.#signal\?.aborted)\n this[kAbortController].abort();\n var method = this.#method, body = this.#bodyChunks\?.length === 1 \? this.#bodyChunks[0] : @Buffer.concat(this.#bodyChunks || []);\n let url, proxy;\n if (this.#path.startsWith(\"http://\") || this.#path.startsWith(\"https://\"))\n url = this.#path, proxy = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}`;\n else\n url = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}${this.#path}`;\n try {\n this.#fetchRequest = fetch(url, {\n method,\n headers: this.getHeaders(),\n body: body && method !== \"GET\" && method !== \"HEAD\" && method !== \"OPTIONS\" \? body : @undefined,\n redirect: \"manual\",\n verbose: !1,\n signal: this[kAbortController].signal,\n proxy,\n timeout: !1,\n decompress: !1\n }).then((response) => {\n var res = this.#res = new IncomingMessage(response, {\n type: \"response\",\n [kInternalRequest]: this\n });\n this.emit(\"response\", res);\n }).catch((err) => {\n this.emit(\"error\", err);\n }).finally(() => {\n this.#fetchRequest = null, this[kClearTimeout]();\n });\n } catch (err) {\n this.emit(\"error\", err);\n } finally {\n callback();\n }\n }\n get aborted() {\n return this.#signal\?.aborted || !!this[kAbortController]\?.signal.aborted;\n }\n abort() {\n if (this.aborted)\n return;\n this[kAbortController].abort();\n }\n constructor(input, options, cb) {\n super();\n if (typeof input === \"string\") {\n const urlStr = input;\n try {\n var urlObject = new URL(urlStr);\n } catch (e) {\n @throwTypeError(`Invalid URL: ${urlStr}`);\n }\n input = urlToHttpOptions(urlObject);\n } else if (input && typeof input === \"object\" && input instanceof URL)\n input = urlToHttpOptions(input);\n else\n cb = options, options = input, input = null;\n if (typeof options === \"function\")\n cb = options, options = input || kEmptyObject;\n else\n options = ObjectAssign(input || {}, options);\n var defaultAgent = options._defaultAgent || Agent.globalAgent;\n let protocol = options.protocol;\n if (!protocol)\n if (options.port === 443)\n protocol = \"https:\";\n else\n protocol = defaultAgent.protocol || \"http:\";\n switch (this.#protocol = protocol, this.#agent\?.protocol) {\n case @undefined:\n break;\n case \"http:\":\n if (protocol === \"https:\") {\n defaultAgent = this.#agent = getDefaultHTTPSAgent();\n break;\n }\n case \"https:\":\n if (protocol === \"https\") {\n defaultAgent = this.#agent = Agent.globalAgent;\n break;\n }\n default:\n break;\n }\n if (options.path) {\n const path = @String(options.path);\n if (RegExpPrototypeExec.@call(INVALID_PATH_REGEX, path) !== null)\n throw new Error(\"Path contains unescaped characters\");\n }\n if (protocol !== \"http:\" && protocol !== \"https:\" && protocol) {\n const expectedProtocol = defaultAgent\?.protocol \?\? \"http:\";\n throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`);\n }\n const defaultPort = protocol === \"https:\" \? 443 : 80;\n this.#port = options.port || options.defaultPort || this.#agent\?.defaultPort || defaultPort, this.#useDefaultPort = this.#port === defaultPort;\n const host = this.#host = options.host = validateHost(options.hostname, \"hostname\") || validateHost(options.host, \"host\") || \"localhost\";\n this.#socketPath = options.socketPath;\n const signal = options.signal;\n if (signal)\n signal.addEventListener(\"abort\", () => {\n this[kAbortController]\?.abort();\n }), this.#signal = signal;\n let method = options.method;\n const methodIsString = typeof method === \"string\";\n if (method !== null && method !== @undefined && !methodIsString)\n throw new Error(\"ERR_INVALID_ARG_TYPE: options.method\");\n if (methodIsString && method) {\n if (!checkIsHttpToken(method))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN: Method\");\n method = this.#method = StringPrototypeToUpperCase.@call(method);\n } else\n method = this.#method = \"GET\";\n const _maxHeaderSize = options.maxHeaderSize;\n this.#maxHeaderSize = _maxHeaderSize;\n var _joinDuplicateHeaders = options.joinDuplicateHeaders;\n if (this.#joinDuplicateHeaders = _joinDuplicateHeaders, this.#path = options.path || \"/\", cb)\n this.once(\"response\", cb);\n this.#finished = !1, this.#res = null, this.#upgradeOrConnect = !1, this.#parser = null, this.#maxHeadersCount = null, this.#reusedSocket = !1, this.#host = host, this.#protocol = protocol;\n var timeout = options.timeout;\n if (timeout !== @undefined && timeout !== 0)\n this.setTimeout(timeout, @undefined);\n if (!ArrayIsArray(headers)) {\n var headers = options.headers;\n if (headers)\n for (let key in headers)\n this.setHeader(key, headers[key]);\n var auth = options.auth;\n if (auth && !this.getHeader(\"Authorization\"))\n this.setHeader(\"Authorization\", \"Basic \" + @Buffer.from(auth).toString(\"base64\"));\n }\n var { signal: _signal, ...optsWithoutSignal } = options;\n this.#options = optsWithoutSignal;\n }\n setSocketKeepAlive(enable = !0, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.#timeoutTimer = @undefined, this.removeAllListeners(\"timeout\");\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/, METHODS = [\n \"ACL\",\n \"BIND\",\n \"CHECKOUT\",\n \"CONNECT\",\n \"COPY\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"LINK\",\n \"LOCK\",\n \"M-SEARCH\",\n \"MERGE\",\n \"MKACTIVITY\",\n \"MKCALENDAR\",\n \"MKCOL\",\n \"MOVE\",\n \"NOTIFY\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PROPFIND\",\n \"PROPPATCH\",\n \"PURGE\",\n \"PUT\",\n \"REBIND\",\n \"REPORT\",\n \"SEARCH\",\n \"SOURCE\",\n \"SUBSCRIBE\",\n \"TRACE\",\n \"UNBIND\",\n \"UNLINK\",\n \"UNLOCK\",\n \"UNSUBSCRIBE\"\n], STATUS_CODES = {\n 100: \"Continue\",\n 101: \"Switching Protocols\",\n 102: \"Processing\",\n 103: \"Early Hints\",\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 203: \"Non-Authoritative Information\",\n 204: \"No Content\",\n 205: \"Reset Content\",\n 206: \"Partial Content\",\n 207: \"Multi-Status\",\n 208: \"Already Reported\",\n 226: \"IM Used\",\n 300: \"Multiple Choices\",\n 301: \"Moved Permanently\",\n 302: \"Found\",\n 303: \"See Other\",\n 304: \"Not Modified\",\n 305: \"Use Proxy\",\n 307: \"Temporary Redirect\",\n 308: \"Permanent Redirect\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 402: \"Payment Required\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 406: \"Not Acceptable\",\n 407: \"Proxy Authentication Required\",\n 408: \"Request Timeout\",\n 409: \"Conflict\",\n 410: \"Gone\",\n 411: \"Length Required\",\n 412: \"Precondition Failed\",\n 413: \"Payload Too Large\",\n 414: \"URI Too Long\",\n 415: \"Unsupported Media Type\",\n 416: \"Range Not Satisfiable\",\n 417: \"Expectation Failed\",\n 418: \"I'm a Teapot\",\n 421: \"Misdirected Request\",\n 422: \"Unprocessable Entity\",\n 423: \"Locked\",\n 424: \"Failed Dependency\",\n 425: \"Too Early\",\n 426: \"Upgrade Required\",\n 428: \"Precondition Required\",\n 429: \"Too Many Requests\",\n 431: \"Request Header Fields Too Large\",\n 451: \"Unavailable For Legal Reasons\",\n 500: \"Internal Server Error\",\n 501: \"Not Implemented\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n 504: \"Gateway Timeout\",\n 505: \"HTTP Version Not Supported\",\n 506: \"Variant Also Negotiates\",\n 507: \"Insufficient Storage\",\n 508: \"Loop Detected\",\n 509: \"Bandwidth Limit Exceeded\",\n 510: \"Not Extended\",\n 511: \"Network Authentication Required\"\n}, globalAgent = new Agent;\n$ = {\n Agent,\n Server,\n METHODS,\n STATUS_CODES,\n createServer,\n ServerResponse,\n IncomingMessage,\n request,\n get,\n maxHeaderSize: 16384,\n validateHeaderName,\n validateHeaderValue,\n setMaxIdleHTTPParsers(max) {\n },\n globalAgent,\n ClientRequest,\n OutgoingMessage\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeHttpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/http.ts\nvar checkInvalidHeaderChar = function(val) {\n return RegExpPrototypeExec.@call(headerCharRegex, val) !== null;\n};\nvar isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, validateMsecs = function(numberlike, field) {\n if (typeof numberlike !== \"number\" || numberlike < 0)\n throw new ERR_INVALID_ARG_TYPE(field, \"number\", numberlike);\n return numberlike;\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, createServer = function(options, callback) {\n return new Server(options, callback);\n}, emitListeningNextTick = function(self, onListen, err, hostname, port) {\n if (typeof onListen === \"function\")\n try {\n onListen(err, hostname, port);\n } catch (err2) {\n self.emit(\"error\", err2);\n }\n if (self.listening = !err, err)\n self.emit(\"error\", err);\n else\n self.emit(\"listening\", hostname, port);\n}, assignHeaders = function(object, req) {\n var headers = req.headers.toJSON();\n const rawHeaders = @newArrayWithSize(req.headers.count * 2);\n var i = 0;\n for (let key in headers)\n rawHeaders[i++] = key, rawHeaders[i++] = headers[key];\n object.headers = headers, object.rawHeaders = rawHeaders;\n}, destroyBodyStreamNT = function(bodyStream) {\n bodyStream.destroy();\n}, getDefaultHTTPSAgent = function() {\n return _defaultHTTPSAgent \?\?= new Agent({ defaultPort: 443, protocol: \"https:\" });\n};\nvar urlToHttpOptions = function(url) {\n var { protocol, hostname, hash, search, pathname, href, port, username, password } = url;\n return {\n protocol,\n hostname: typeof hostname === \"string\" && StringPrototypeStartsWith.@call(hostname, \"[\") \? StringPrototypeSlice.@call(hostname, 1, -1) : hostname,\n hash,\n search,\n pathname,\n path: `${pathname || \"\"}${search || \"\"}`,\n href,\n port: port \? Number(port) : protocol === \"https:\" \? 443 : protocol === \"http:\" \? 80 : @undefined,\n auth: username || password \? `${decodeURIComponent(username)}:${decodeURIComponent(password)}` : @undefined\n };\n}, validateHost = function(host, name) {\n if (host !== null && host !== @undefined && typeof host !== \"string\")\n throw new Error(\"Invalid arg type in options\");\n return host;\n}, checkIsHttpToken = function(val) {\n return RegExpPrototypeExec.@call(tokenRegExp, val) !== null;\n};\nvar _writeHead = function(statusCode, reason, obj, response) {\n if (statusCode |= 0, statusCode < 100 || statusCode > 999)\n throw new Error(\"status code must be between 100 and 999\");\n if (typeof reason === \"string\")\n response.statusMessage = reason;\n else {\n if (!response.statusMessage)\n response.statusMessage = STATUS_CODES[statusCode] || \"unknown\";\n obj = reason;\n }\n response.statusCode = statusCode;\n {\n let k;\n if (@Array.isArray(obj)) {\n if (obj.length % 2 !== 0)\n throw new Error(\"raw headers must have an even number of elements\");\n for (let n = 0;n < obj.length; n += 2)\n if (k = obj[n + 0], k)\n response.setHeader(k, obj[n + 1]);\n } else if (obj) {\n const keys = Object.keys(obj);\n for (let i = 0;i < keys.length; i++)\n if (k = keys[i], k)\n response.setHeader(k, obj[k]);\n }\n }\n if (statusCode === 204 || statusCode === 304 || statusCode >= 100 && statusCode <= 199)\n response._hasBody = !1;\n}, request = function(url, options, cb) {\n return new ClientRequest(url, options, cb);\n}, get = function(url, options, cb) {\n const req = request(url, options, cb);\n return req.end(), req;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { isTypedArray } = @requireNativeModule(\"util/types\"), { Duplex, Readable, Writable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { getHeader, setHeader } = @lazy(\"http\"), headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/, validateHeaderName = (name, label) => {\n if (typeof name !== \"string\" || !name || !checkIsHttpToken(name))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN\");\n}, validateHeaderValue = (name, value) => {\n if (value === @undefined)\n throw new Error(\"ERR_HTTP_INVALID_HEADER_VALUE\");\n if (checkInvalidHeaderChar(value))\n throw new Error(\"ERR_INVALID_CHAR\");\n}, { URL } = globalThis, globalReportError = globalThis.reportError, setTimeout = globalThis.setTimeout, fetch = Bun.fetch;\nvar kEmptyObject = Object.freeze(Object.create(null)), kOutHeaders = Symbol.for(\"kOutHeaders\"), kEndCalled = Symbol.for(\"kEndCalled\"), kAbortController = Symbol.for(\"kAbortController\"), kClearTimeout = Symbol(\"kClearTimeout\"), kCorked = Symbol.for(\"kCorked\"), searchParamsSymbol = Symbol.for(\"query\"), StringPrototypeSlice = @String.prototype.slice, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeToUpperCase = @String.prototype.toUpperCase, ArrayIsArray = @Array.isArray, RegExpPrototypeExec = @RegExp.prototype.exec, ObjectAssign = Object.assign, INVALID_PATH_REGEX = /[^\\u0021-\\u00ff]/;\nvar _defaultHTTPSAgent, kInternalRequest = Symbol(\"kInternalRequest\"), kInternalSocketData = Symbol.for(\"::bunternal::\"), kEmptyBuffer = @Buffer.alloc(0);\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\nvar FakeSocket = class Socket extends Duplex {\n [kInternalSocketData];\n bytesRead = 0;\n bytesWritten = 0;\n connecting = !1;\n timeout = 0;\n isServer = !1;\n #address;\n address() {\n var internalData;\n return this.#address \?\?= (internalData = this[kInternalSocketData])\?.[0]\?.requestIP(internalData[2]) \?\? {};\n }\n get bufferSize() {\n return this.writableLength;\n }\n connect(port, host, connectListener) {\n return this;\n }\n _destroy(err, callback) {\n }\n _final(callback) {\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return 80;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n }\n get remoteAddress() {\n return this.address()\?.address;\n }\n set remoteAddress(val) {\n this.address().address = val;\n }\n get remotePort() {\n return this.address()\?.port;\n }\n set remotePort(val) {\n this.address().port = val;\n }\n get remoteFamily() {\n return this.address()\?.family;\n }\n set remoteFamily(val) {\n this.address().family = val;\n }\n resetAndDestroy() {\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n return this;\n }\n unref() {\n }\n _write(chunk, encoding, callback) {\n }\n};\n\nclass Agent extends EventEmitter {\n defaultPort = 80;\n protocol = \"http:\";\n options;\n requests;\n sockets;\n freeSockets;\n keepAliveMsecs;\n keepAlive;\n maxSockets;\n maxFreeSockets;\n scheduling;\n maxTotalSockets;\n totalSocketCount;\n #fakeSocket;\n static get globalAgent() {\n return globalAgent;\n }\n static get defaultMaxSockets() {\n return @Infinity;\n }\n constructor(options = kEmptyObject) {\n super();\n if (this.options = options = { ...options, path: null }, options.noDelay === @undefined)\n options.noDelay = !0;\n this.requests = kEmptyObject, this.sockets = kEmptyObject, this.freeSockets = kEmptyObject, this.keepAliveMsecs = options.keepAliveMsecs || 1000, this.keepAlive = options.keepAlive || !1, this.maxSockets = options.maxSockets || Agent.defaultMaxSockets, this.maxFreeSockets = options.maxFreeSockets || 256, this.scheduling = options.scheduling || \"lifo\", this.maxTotalSockets = options.maxTotalSockets, this.totalSocketCount = 0, this.defaultPort = options.defaultPort || 80, this.protocol = options.protocol || \"http:\";\n }\n createConnection() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n getName(options = kEmptyObject) {\n let name = `http:${options.host || \"localhost\"}:`;\n if (options.port)\n name += options.port;\n if (name += \":\", options.localAddress)\n name += options.localAddress;\n if (options.family === 4 || options.family === 6)\n name += `:${options.family}`;\n if (options.socketPath)\n name += `:${options.socketPath}`;\n return name;\n }\n addRequest() {\n }\n createSocket(req, options, cb) {\n cb(null, this.#fakeSocket \?\?= new FakeSocket);\n }\n removeSocket() {\n }\n keepSocketAlive() {\n return !0;\n }\n reuseSocket() {\n }\n destroy() {\n }\n}\n\nclass Server extends EventEmitter {\n #server;\n #options;\n #tls;\n #is_tls = !1;\n listening = !1;\n serverName;\n constructor(options, callback) {\n super();\n if (typeof options === \"function\")\n callback = options, options = {};\n else if (options == null || typeof options === \"object\") {\n options = { ...options }, this.#tls = null;\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n let serverName = options.servername;\n if (serverName && typeof serverName !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n if (this.#is_tls)\n this.#tls = {\n serverName,\n key,\n cert,\n ca,\n passphrase,\n secureOptions\n };\n else\n this.#tls = null;\n } else\n throw new Error(\"bun-http-polyfill: invalid arguments\");\n if (this.#options = options, callback)\n this.on(\"request\", callback);\n }\n closeAllConnections() {\n const server = this.#server;\n if (!server)\n return;\n this.#server = @undefined, server.stop(!0), this.emit(\"close\");\n }\n closeIdleConnections() {\n }\n close(optionalCallback) {\n const server = this.#server;\n if (!server) {\n if (typeof optionalCallback === \"function\")\n process.nextTick(optionalCallback, new Error(\"Server is not running\"));\n return;\n }\n if (this.#server = @undefined, typeof optionalCallback === \"function\")\n this.once(\"close\", optionalCallback);\n server.stop(), this.emit(\"close\");\n }\n address() {\n if (!this.#server)\n return null;\n return this.#server.address;\n }\n listen(port, host, backlog, onListen) {\n const server = this;\n let socketPath;\n if (typeof port == \"string\" && !Number.isSafeInteger(Number(port)))\n socketPath = port;\n if (typeof host === \"function\")\n onListen = host, host = @undefined;\n if (typeof port === \"function\")\n onListen = port;\n else if (typeof port === \"object\") {\n if (port\?.signal\?.addEventListener(\"abort\", () => {\n this.close();\n }), host = port\?.host, port = port\?.port, typeof port\?.callback === \"function\")\n onListen = port\?.callback;\n }\n if (typeof backlog === \"function\")\n onListen = backlog;\n const ResponseClass = this.#options.ServerResponse || ServerResponse, RequestClass = this.#options.IncomingMessage || IncomingMessage;\n try {\n const tls = this.#tls;\n if (tls)\n this.serverName = tls.serverName || host || \"localhost\";\n this.#server = Bun.serve({\n tls,\n port,\n hostname: host,\n unix: socketPath,\n websocket: {\n open(ws) {\n ws.data.open(ws);\n },\n message(ws, message) {\n ws.data.message(ws, message);\n },\n close(ws, code, reason) {\n ws.data.close(ws, code, reason);\n },\n drain(ws) {\n ws.data.drain(ws);\n }\n },\n fetch(req, _server) {\n var pendingResponse, pendingError, rejectFunction, resolveFunction, reject = (err) => {\n if (pendingError)\n return;\n if (pendingError = err, rejectFunction)\n rejectFunction(err);\n }, reply = function(resp) {\n if (pendingResponse)\n return;\n if (pendingResponse = resp, resolveFunction)\n resolveFunction(resp);\n };\n const http_req = new RequestClass(req), http_res = new ResponseClass({ reply, req: http_req });\n if (http_req.socket[kInternalSocketData] = [_server, http_res, req], http_req.once(\"error\", (err) => reject(err)), http_res.once(\"error\", (err) => reject(err)), req.headers.get(\"upgrade\"))\n server.emit(\"upgrade\", http_req, http_req.socket, kEmptyBuffer);\n else\n server.emit(\"request\", http_req, http_res);\n if (pendingError)\n throw pendingError;\n if (pendingResponse)\n return pendingResponse;\n return new @Promise((resolve, reject2) => {\n resolveFunction = resolve, rejectFunction = reject2;\n });\n }\n }), setTimeout(emitListeningNextTick, 1, this, onListen, null, this.#server.hostname, this.#server.port);\n } catch (err) {\n server.emit(\"error\", err);\n }\n return this;\n }\n setTimeout(msecs, callback) {\n }\n}\nclass IncomingMessage extends Readable {\n method;\n complete;\n constructor(req, defaultIncomingOpts) {\n const method = req.method;\n super();\n const url = new URL(req.url);\n var { type = \"request\", [kInternalRequest]: nodeReq } = defaultIncomingOpts || {};\n this.#noBody = type === \"request\" \? method === \"GET\" || method === \"HEAD\" || method === \"TRACE\" || method === \"CONNECT\" || method === \"OPTIONS\" || (parseInt(req.headers.get(\"Content-Length\") || \"\") || 0) === 0 : !1, this.#req = req, this.method = method, this.#type = type, this.complete = !!this.#noBody, this.#bodyStream = @undefined;\n const socket = new FakeSocket;\n if (url.protocol === \"https:\")\n socket.encrypted = !0;\n this.#fakeSocket = socket, this.url = url.pathname + url.search, this.req = nodeReq, assignHeaders(this, req);\n }\n headers;\n rawHeaders;\n _consuming = !1;\n _dumped = !1;\n #bodyStream;\n #fakeSocket;\n #noBody = !1;\n #aborted = !1;\n #req;\n url;\n #type;\n _construct(callback) {\n if (this.#type === \"response\" || this.#noBody) {\n callback();\n return;\n }\n const contentLength = this.#req.headers.get(\"content-length\");\n if ((contentLength \? parseInt(contentLength, 10) : 0) === 0) {\n this.#noBody = !0, callback();\n return;\n }\n callback();\n }\n async#consumeStream(reader) {\n while (!0) {\n var { done, value } = await reader.readMany();\n if (this.#aborted)\n return;\n if (done) {\n this.push(null), process.nextTick(destroyBodyStreamNT, this);\n break;\n }\n for (var v of value)\n this.push(v);\n }\n }\n _read(size) {\n if (this.#noBody)\n this.push(null), this.complete = !0;\n else if (this.#bodyStream == null) {\n const reader = this.#req.body\?.getReader();\n if (!reader) {\n this.push(null);\n return;\n }\n this.#bodyStream = reader, this.#consumeStream(reader);\n }\n }\n get aborted() {\n return this.#aborted;\n }\n #abort() {\n if (this.#aborted)\n return;\n this.#aborted = !0;\n var bodyStream = this.#bodyStream;\n if (!bodyStream)\n return;\n bodyStream.cancel(), this.complete = !0, this.#bodyStream = @undefined, this.push(null);\n }\n get connection() {\n return this.#fakeSocket;\n }\n get statusCode() {\n return this.#req.status;\n }\n get statusMessage() {\n return STATUS_CODES[this.#req.status];\n }\n get httpVersion() {\n return \"1.1\";\n }\n get rawTrailers() {\n return [];\n }\n get httpVersionMajor() {\n return 1;\n }\n get httpVersionMinor() {\n return 1;\n }\n get trailers() {\n return kEmptyObject;\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n}\n\nclass OutgoingMessage extends Writable {\n constructor() {\n super(...arguments);\n }\n #headers;\n headersSent = !1;\n sendDate = !0;\n req;\n timeout;\n #finished = !1;\n [kEndCalled] = !1;\n #fakeSocket;\n #timeoutTimer;\n [kAbortController] = null;\n _implicitHeader() {\n }\n get headers() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n get connection() {\n return this.socket;\n }\n get finished() {\n return this.#finished;\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return headers.set(name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.removeAllListeners(\"timeout\"), this.#timeoutTimer = @undefined;\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar OriginalWriteHeadFn, OriginalImplicitHeadFn;\n\nclass ServerResponse extends Writable {\n constructor(c) {\n super();\n if (!c)\n c = {};\n var req = c.req || {}, reply = c.reply;\n if (this.req = req, this._reply = reply, this.sendDate = !0, this.statusCode = 200, this.headersSent = !1, this.statusMessage = @undefined, this.#controller = @undefined, this.#firstWrite = @undefined, this._writableState.decodeStrings = !1, this.#deferred = @undefined, req.method === \"HEAD\")\n this._hasBody = !1;\n }\n req;\n _reply;\n sendDate;\n statusCode;\n #headers;\n headersSent = !1;\n statusMessage;\n #controller;\n #firstWrite;\n _sent100 = !1;\n _defaultKeepAlive = !1;\n _removedConnection = !1;\n _removedContLen = !1;\n _hasBody = !0;\n #deferred = @undefined;\n #finished = !1;\n _implicitHeader() {\n this.writeHead(this.statusCode);\n }\n _write(chunk, encoding, callback) {\n if (!this.#firstWrite && !this.headersSent) {\n this.#firstWrite = chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n controller.write(chunk), callback();\n });\n }\n _writev(chunks, callback) {\n if (chunks.length === 1 && !this.headersSent && !this.#firstWrite) {\n this.#firstWrite = chunks[0].chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n for (let chunk of chunks)\n controller.write(chunk.chunk);\n callback();\n });\n }\n #ensureReadableStreamController(run) {\n var thisController = this.#controller;\n if (thisController)\n return run(thisController);\n this.headersSent = !0;\n var firstWrite = this.#firstWrite;\n this.#firstWrite = @undefined, this._reply(new Response(new @ReadableStream({\n type: \"direct\",\n pull: (controller) => {\n if (this.#controller = controller, firstWrite)\n controller.write(firstWrite);\n if (firstWrite = @undefined, run(controller), !this.#finished)\n return new @Promise((resolve) => {\n this.#deferred = resolve;\n });\n }\n }), {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n }));\n }\n #drainHeadersIfObservable() {\n if (this._implicitHeader === OriginalImplicitHeadFn && this.writeHead === OriginalWriteHeadFn)\n return;\n this._implicitHeader();\n }\n _final(callback) {\n if (!this.headersSent) {\n var data = this.#firstWrite || \"\";\n this.#firstWrite = @undefined, this.#finished = !0, this.#drainHeadersIfObservable(), this._reply(new Response(data, {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n })), callback && callback();\n return;\n }\n this.#finished = !0, this.#ensureReadableStreamController((controller) => {\n controller.end(), callback();\n var deferred = this.#deferred;\n if (deferred)\n this.#deferred = @undefined, deferred();\n });\n }\n writeProcessing() {\n throw new Error(\"not implemented\");\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n assignSocket(socket) {\n throw new Error(\"not implemented\");\n }\n detachSocket(socket) {\n throw new Error(\"not implemented\");\n }\n writeContinue(callback) {\n throw new Error(\"not implemented\");\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n var headers = this.#headers;\n if (!headers)\n return kEmptyObject;\n return headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return setHeader(headers, name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n writeHead(statusCode, statusMessage, headers) {\n return _writeHead(statusCode, statusMessage, headers, this), this;\n }\n}\nOriginalWriteHeadFn = ServerResponse.prototype.writeHead;\nOriginalImplicitHeadFn = ServerResponse.prototype._implicitHeader;\n\nclass ClientRequest extends OutgoingMessage {\n #timeout;\n #res = null;\n #upgradeOrConnect = !1;\n #parser = null;\n #maxHeadersCount = null;\n #reusedSocket = !1;\n #host;\n #protocol;\n #method;\n #port;\n #useDefaultPort;\n #joinDuplicateHeaders;\n #maxHeaderSize;\n #agent = globalAgent;\n #path;\n #socketPath;\n #bodyChunks = null;\n #fetchRequest;\n #signal = null;\n [kAbortController] = null;\n #timeoutTimer = @undefined;\n #options;\n #finished;\n get path() {\n return this.#path;\n }\n get port() {\n return this.#port;\n }\n get method() {\n return this.#method;\n }\n get host() {\n return this.#host;\n }\n get protocol() {\n return this.#protocol;\n }\n _write(chunk, encoding, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = [chunk], callback();\n return;\n }\n this.#bodyChunks.push(chunk), callback();\n }\n _writev(chunks, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = chunks, callback();\n return;\n }\n this.#bodyChunks.push(...chunks), callback();\n }\n _final(callback) {\n if (this.#finished = !0, this[kAbortController] = new AbortController, this[kAbortController].signal.addEventListener(\"abort\", () => {\n this[kClearTimeout]();\n }), this.#signal\?.aborted)\n this[kAbortController].abort();\n var method = this.#method, body = this.#bodyChunks\?.length === 1 \? this.#bodyChunks[0] : @Buffer.concat(this.#bodyChunks || []);\n let url, proxy;\n if (this.#path.startsWith(\"http://\") || this.#path.startsWith(\"https://\"))\n url = this.#path, proxy = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}`;\n else\n url = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}${this.#path}`;\n try {\n this.#fetchRequest = fetch(url, {\n method,\n headers: this.getHeaders(),\n body: body && method !== \"GET\" && method !== \"HEAD\" && method !== \"OPTIONS\" \? body : @undefined,\n redirect: \"manual\",\n verbose: !1,\n signal: this[kAbortController].signal,\n proxy,\n timeout: !1,\n decompress: !1\n }).then((response) => {\n var res = this.#res = new IncomingMessage(response, {\n type: \"response\",\n [kInternalRequest]: this\n });\n this.emit(\"response\", res);\n }).catch((err) => {\n this.emit(\"error\", err);\n }).finally(() => {\n this.#fetchRequest = null, this[kClearTimeout]();\n });\n } catch (err) {\n this.emit(\"error\", err);\n } finally {\n callback();\n }\n }\n get aborted() {\n return this.#signal\?.aborted || !!this[kAbortController]\?.signal.aborted;\n }\n abort() {\n if (this.aborted)\n return;\n this[kAbortController].abort();\n }\n constructor(input, options, cb) {\n super();\n if (typeof input === \"string\") {\n const urlStr = input;\n try {\n var urlObject = new URL(urlStr);\n } catch (e) {\n @throwTypeError(`Invalid URL: ${urlStr}`);\n }\n input = urlToHttpOptions(urlObject);\n } else if (input && typeof input === \"object\" && input instanceof URL)\n input = urlToHttpOptions(input);\n else\n cb = options, options = input, input = null;\n if (typeof options === \"function\")\n cb = options, options = input || kEmptyObject;\n else\n options = ObjectAssign(input || {}, options);\n var defaultAgent = options._defaultAgent || Agent.globalAgent;\n let protocol = options.protocol;\n if (!protocol)\n if (options.port === 443)\n protocol = \"https:\";\n else\n protocol = defaultAgent.protocol || \"http:\";\n switch (this.#protocol = protocol, this.#agent\?.protocol) {\n case @undefined:\n break;\n case \"http:\":\n if (protocol === \"https:\") {\n defaultAgent = this.#agent = getDefaultHTTPSAgent();\n break;\n }\n case \"https:\":\n if (protocol === \"https\") {\n defaultAgent = this.#agent = Agent.globalAgent;\n break;\n }\n default:\n break;\n }\n if (options.path) {\n const path = @String(options.path);\n if (RegExpPrototypeExec.@call(INVALID_PATH_REGEX, path) !== null)\n throw new Error(\"Path contains unescaped characters\");\n }\n if (protocol !== \"http:\" && protocol !== \"https:\" && protocol) {\n const expectedProtocol = defaultAgent\?.protocol \?\? \"http:\";\n throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`);\n }\n const defaultPort = protocol === \"https:\" \? 443 : 80;\n this.#port = options.port || options.defaultPort || this.#agent\?.defaultPort || defaultPort, this.#useDefaultPort = this.#port === defaultPort;\n const host = this.#host = options.host = validateHost(options.hostname, \"hostname\") || validateHost(options.host, \"host\") || \"localhost\";\n this.#socketPath = options.socketPath;\n const signal = options.signal;\n if (signal)\n signal.addEventListener(\"abort\", () => {\n this[kAbortController]\?.abort();\n }), this.#signal = signal;\n let method = options.method;\n const methodIsString = typeof method === \"string\";\n if (method !== null && method !== @undefined && !methodIsString)\n throw new Error(\"ERR_INVALID_ARG_TYPE: options.method\");\n if (methodIsString && method) {\n if (!checkIsHttpToken(method))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN: Method\");\n method = this.#method = StringPrototypeToUpperCase.@call(method);\n } else\n method = this.#method = \"GET\";\n const _maxHeaderSize = options.maxHeaderSize;\n this.#maxHeaderSize = _maxHeaderSize;\n var _joinDuplicateHeaders = options.joinDuplicateHeaders;\n if (this.#joinDuplicateHeaders = _joinDuplicateHeaders, this.#path = options.path || \"/\", cb)\n this.once(\"response\", cb);\n this.#finished = !1, this.#res = null, this.#upgradeOrConnect = !1, this.#parser = null, this.#maxHeadersCount = null, this.#reusedSocket = !1, this.#host = host, this.#protocol = protocol;\n var timeout = options.timeout;\n if (timeout !== @undefined && timeout !== 0)\n this.setTimeout(timeout, @undefined);\n if (!ArrayIsArray(headers)) {\n var headers = options.headers;\n if (headers)\n for (let key in headers)\n this.setHeader(key, headers[key]);\n var auth = options.auth;\n if (auth && !this.getHeader(\"Authorization\"))\n this.setHeader(\"Authorization\", \"Basic \" + @Buffer.from(auth).toString(\"base64\"));\n }\n var { signal: _signal, ...optsWithoutSignal } = options;\n this.#options = optsWithoutSignal;\n }\n setSocketKeepAlive(enable = !0, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.#timeoutTimer = @undefined, this.removeAllListeners(\"timeout\");\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/, METHODS = [\n \"ACL\",\n \"BIND\",\n \"CHECKOUT\",\n \"CONNECT\",\n \"COPY\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"LINK\",\n \"LOCK\",\n \"M-SEARCH\",\n \"MERGE\",\n \"MKACTIVITY\",\n \"MKCALENDAR\",\n \"MKCOL\",\n \"MOVE\",\n \"NOTIFY\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PROPFIND\",\n \"PROPPATCH\",\n \"PURGE\",\n \"PUT\",\n \"REBIND\",\n \"REPORT\",\n \"SEARCH\",\n \"SOURCE\",\n \"SUBSCRIBE\",\n \"TRACE\",\n \"UNBIND\",\n \"UNLINK\",\n \"UNLOCK\",\n \"UNSUBSCRIBE\"\n], STATUS_CODES = {\n 100: \"Continue\",\n 101: \"Switching Protocols\",\n 102: \"Processing\",\n 103: \"Early Hints\",\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 203: \"Non-Authoritative Information\",\n 204: \"No Content\",\n 205: \"Reset Content\",\n 206: \"Partial Content\",\n 207: \"Multi-Status\",\n 208: \"Already Reported\",\n 226: \"IM Used\",\n 300: \"Multiple Choices\",\n 301: \"Moved Permanently\",\n 302: \"Found\",\n 303: \"See Other\",\n 304: \"Not Modified\",\n 305: \"Use Proxy\",\n 307: \"Temporary Redirect\",\n 308: \"Permanent Redirect\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 402: \"Payment Required\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 406: \"Not Acceptable\",\n 407: \"Proxy Authentication Required\",\n 408: \"Request Timeout\",\n 409: \"Conflict\",\n 410: \"Gone\",\n 411: \"Length Required\",\n 412: \"Precondition Failed\",\n 413: \"Payload Too Large\",\n 414: \"URI Too Long\",\n 415: \"Unsupported Media Type\",\n 416: \"Range Not Satisfiable\",\n 417: \"Expectation Failed\",\n 418: \"I'm a Teapot\",\n 421: \"Misdirected Request\",\n 422: \"Unprocessable Entity\",\n 423: \"Locked\",\n 424: \"Failed Dependency\",\n 425: \"Too Early\",\n 426: \"Upgrade Required\",\n 428: \"Precondition Required\",\n 429: \"Too Many Requests\",\n 431: \"Request Header Fields Too Large\",\n 451: \"Unavailable For Legal Reasons\",\n 500: \"Internal Server Error\",\n 501: \"Not Implemented\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n 504: \"Gateway Timeout\",\n 505: \"HTTP Version Not Supported\",\n 506: \"Variant Also Negotiates\",\n 507: \"Insufficient Storage\",\n 508: \"Loop Detected\",\n 509: \"Bandwidth Limit Exceeded\",\n 510: \"Not Extended\",\n 511: \"Network Authentication Required\"\n}, globalAgent = new Agent;\n$ = {\n Agent,\n Server,\n METHODS,\n STATUS_CODES,\n createServer,\n ServerResponse,\n IncomingMessage,\n request,\n get,\n maxHeaderSize: 16384,\n validateHeaderName,\n validateHeaderValue,\n setMaxIdleHTTPParsers(max) {\n },\n globalAgent,\n ClientRequest,\n OutgoingMessage\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeHttp2Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/http2.ts\nvar connect = function() {\n throwNotImplemented(\"node:http2 connect\", 887);\n}, createServer = function() {\n throwNotImplemented(\"node:http2 createServer\", 887);\n}, createSecureServer = function() {\n throwNotImplemented(\"node:http2 createSecureServer\", 887);\n}, getDefaultSettings = function() {\n return {\n headerTableSize: 4096,\n enablePush: !0,\n initialWindowSize: 65535,\n maxFrameSize: 16384,\n maxConcurrentStreams: 4294967295,\n maxHeaderSize: 65535,\n maxHeaderListSize: 65535,\n enableConnectProtocol: !1\n };\n}, getPackedSettings = function() {\n return @Buffer.alloc(0);\n}, getUnpackedSettings = function() {\n return @Buffer.alloc(0);\n}, Http2ServerRequest = function() {\n throwNotImplemented(\"node:http2 Http2ServerRequest\", 887);\n}, Http2ServerResponse = function() {\n throwNotImplemented(\"node:http2 Http2ServerResponse\", 887);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NGHTTP2_ERR_FRAME_SIZE_ERROR: -522,\n NGHTTP2_SESSION_SERVER: 0,\n NGHTTP2_SESSION_CLIENT: 1,\n NGHTTP2_STREAM_STATE_IDLE: 1,\n NGHTTP2_STREAM_STATE_OPEN: 2,\n NGHTTP2_STREAM_STATE_RESERVED_LOCAL: 3,\n NGHTTP2_STREAM_STATE_RESERVED_REMOTE: 4,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: 5,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: 6,\n NGHTTP2_STREAM_STATE_CLOSED: 7,\n NGHTTP2_FLAG_NONE: 0,\n NGHTTP2_FLAG_END_STREAM: 1,\n NGHTTP2_FLAG_END_HEADERS: 4,\n NGHTTP2_FLAG_ACK: 1,\n NGHTTP2_FLAG_PADDED: 8,\n NGHTTP2_FLAG_PRIORITY: 32,\n DEFAULT_SETTINGS_HEADER_TABLE_SIZE: 4096,\n DEFAULT_SETTINGS_ENABLE_PUSH: 1,\n DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS: 4294967295,\n DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: 65535,\n DEFAULT_SETTINGS_MAX_FRAME_SIZE: 16384,\n DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE: 65535,\n DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL: 0,\n MAX_MAX_FRAME_SIZE: 16777215,\n MIN_MAX_FRAME_SIZE: 16384,\n MAX_INITIAL_WINDOW_SIZE: 2147483647,\n NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: 1,\n NGHTTP2_SETTINGS_ENABLE_PUSH: 2,\n NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: 3,\n NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: 4,\n NGHTTP2_SETTINGS_MAX_FRAME_SIZE: 5,\n NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: 6,\n NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL: 8,\n PADDING_STRATEGY_NONE: 0,\n PADDING_STRATEGY_ALIGNED: 1,\n PADDING_STRATEGY_MAX: 2,\n PADDING_STRATEGY_CALLBACK: 1,\n NGHTTP2_NO_ERROR: 0,\n NGHTTP2_PROTOCOL_ERROR: 1,\n NGHTTP2_INTERNAL_ERROR: 2,\n NGHTTP2_FLOW_CONTROL_ERROR: 3,\n NGHTTP2_SETTINGS_TIMEOUT: 4,\n NGHTTP2_STREAM_CLOSED: 5,\n NGHTTP2_FRAME_SIZE_ERROR: 6,\n NGHTTP2_REFUSED_STREAM: 7,\n NGHTTP2_CANCEL: 8,\n NGHTTP2_COMPRESSION_ERROR: 9,\n NGHTTP2_CONNECT_ERROR: 10,\n NGHTTP2_ENHANCE_YOUR_CALM: 11,\n NGHTTP2_INADEQUATE_SECURITY: 12,\n NGHTTP2_HTTP_1_1_REQUIRED: 13,\n NGHTTP2_DEFAULT_WEIGHT: 16,\n HTTP2_HEADER_STATUS: \":status\",\n HTTP2_HEADER_METHOD: \":method\",\n HTTP2_HEADER_AUTHORITY: \":authority\",\n HTTP2_HEADER_SCHEME: \":scheme\",\n HTTP2_HEADER_PATH: \":path\",\n HTTP2_HEADER_PROTOCOL: \":protocol\",\n HTTP2_HEADER_ACCEPT_ENCODING: \"accept-encoding\",\n HTTP2_HEADER_ACCEPT_LANGUAGE: \"accept-language\",\n HTTP2_HEADER_ACCEPT_RANGES: \"accept-ranges\",\n HTTP2_HEADER_ACCEPT: \"accept\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: \"access-control-allow-credentials\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: \"access-control-allow-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: \"access-control-allow-methods\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: \"access-control-allow-origin\",\n HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: \"access-control-expose-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: \"access-control-request-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: \"access-control-request-method\",\n HTTP2_HEADER_AGE: \"age\",\n HTTP2_HEADER_AUTHORIZATION: \"authorization\",\n HTTP2_HEADER_CACHE_CONTROL: \"cache-control\",\n HTTP2_HEADER_CONNECTION: \"connection\",\n HTTP2_HEADER_CONTENT_DISPOSITION: \"content-disposition\",\n HTTP2_HEADER_CONTENT_ENCODING: \"content-encoding\",\n HTTP2_HEADER_CONTENT_LENGTH: \"content-length\",\n HTTP2_HEADER_CONTENT_TYPE: \"content-type\",\n HTTP2_HEADER_COOKIE: \"cookie\",\n HTTP2_HEADER_DATE: \"date\",\n HTTP2_HEADER_ETAG: \"etag\",\n HTTP2_HEADER_FORWARDED: \"forwarded\",\n HTTP2_HEADER_HOST: \"host\",\n HTTP2_HEADER_IF_MODIFIED_SINCE: \"if-modified-since\",\n HTTP2_HEADER_IF_NONE_MATCH: \"if-none-match\",\n HTTP2_HEADER_IF_RANGE: \"if-range\",\n HTTP2_HEADER_LAST_MODIFIED: \"last-modified\",\n HTTP2_HEADER_LINK: \"link\",\n HTTP2_HEADER_LOCATION: \"location\",\n HTTP2_HEADER_RANGE: \"range\",\n HTTP2_HEADER_REFERER: \"referer\",\n HTTP2_HEADER_SERVER: \"server\",\n HTTP2_HEADER_SET_COOKIE: \"set-cookie\",\n HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: \"strict-transport-security\",\n HTTP2_HEADER_TRANSFER_ENCODING: \"transfer-encoding\",\n HTTP2_HEADER_TE: \"te\",\n HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS: \"upgrade-insecure-requests\",\n HTTP2_HEADER_UPGRADE: \"upgrade\",\n HTTP2_HEADER_USER_AGENT: \"user-agent\",\n HTTP2_HEADER_VARY: \"vary\",\n HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS: \"x-content-type-options\",\n HTTP2_HEADER_X_FRAME_OPTIONS: \"x-frame-options\",\n HTTP2_HEADER_KEEP_ALIVE: \"keep-alive\",\n HTTP2_HEADER_PROXY_CONNECTION: \"proxy-connection\",\n HTTP2_HEADER_X_XSS_PROTECTION: \"x-xss-protection\",\n HTTP2_HEADER_ALT_SVC: \"alt-svc\",\n HTTP2_HEADER_CONTENT_SECURITY_POLICY: \"content-security-policy\",\n HTTP2_HEADER_EARLY_DATA: \"early-data\",\n HTTP2_HEADER_EXPECT_CT: \"expect-ct\",\n HTTP2_HEADER_ORIGIN: \"origin\",\n HTTP2_HEADER_PURPOSE: \"purpose\",\n HTTP2_HEADER_TIMING_ALLOW_ORIGIN: \"timing-allow-origin\",\n HTTP2_HEADER_X_FORWARDED_FOR: \"x-forwarded-for\",\n HTTP2_HEADER_PRIORITY: \"priority\",\n HTTP2_HEADER_ACCEPT_CHARSET: \"accept-charset\",\n HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE: \"access-control-max-age\",\n HTTP2_HEADER_ALLOW: \"allow\",\n HTTP2_HEADER_CONTENT_LANGUAGE: \"content-language\",\n HTTP2_HEADER_CONTENT_LOCATION: \"content-location\",\n HTTP2_HEADER_CONTENT_MD5: \"content-md5\",\n HTTP2_HEADER_CONTENT_RANGE: \"content-range\",\n HTTP2_HEADER_DNT: \"dnt\",\n HTTP2_HEADER_EXPECT: \"expect\",\n HTTP2_HEADER_EXPIRES: \"expires\",\n HTTP2_HEADER_FROM: \"from\",\n HTTP2_HEADER_IF_MATCH: \"if-match\",\n HTTP2_HEADER_IF_UNMODIFIED_SINCE: \"if-unmodified-since\",\n HTTP2_HEADER_MAX_FORWARDS: \"max-forwards\",\n HTTP2_HEADER_PREFER: \"prefer\",\n HTTP2_HEADER_PROXY_AUTHENTICATE: \"proxy-authenticate\",\n HTTP2_HEADER_PROXY_AUTHORIZATION: \"proxy-authorization\",\n HTTP2_HEADER_REFRESH: \"refresh\",\n HTTP2_HEADER_RETRY_AFTER: \"retry-after\",\n HTTP2_HEADER_TRAILER: \"trailer\",\n HTTP2_HEADER_TK: \"tk\",\n HTTP2_HEADER_VIA: \"via\",\n HTTP2_HEADER_WARNING: \"warning\",\n HTTP2_HEADER_WWW_AUTHENTICATE: \"www-authenticate\",\n HTTP2_HEADER_HTTP2_SETTINGS: \"http2-settings\",\n HTTP2_METHOD_ACL: \"ACL\",\n HTTP2_METHOD_BASELINE_CONTROL: \"BASELINE-CONTROL\",\n HTTP2_METHOD_BIND: \"BIND\",\n HTTP2_METHOD_CHECKIN: \"CHECKIN\",\n HTTP2_METHOD_CHECKOUT: \"CHECKOUT\",\n HTTP2_METHOD_CONNECT: \"CONNECT\",\n HTTP2_METHOD_COPY: \"COPY\",\n HTTP2_METHOD_DELETE: \"DELETE\",\n HTTP2_METHOD_GET: \"GET\",\n HTTP2_METHOD_HEAD: \"HEAD\",\n HTTP2_METHOD_LABEL: \"LABEL\",\n HTTP2_METHOD_LINK: \"LINK\",\n HTTP2_METHOD_LOCK: \"LOCK\",\n HTTP2_METHOD_MERGE: \"MERGE\",\n HTTP2_METHOD_MKACTIVITY: \"MKACTIVITY\",\n HTTP2_METHOD_MKCALENDAR: \"MKCALENDAR\",\n HTTP2_METHOD_MKCOL: \"MKCOL\",\n HTTP2_METHOD_MKREDIRECTREF: \"MKREDIRECTREF\",\n HTTP2_METHOD_MKWORKSPACE: \"MKWORKSPACE\",\n HTTP2_METHOD_MOVE: \"MOVE\",\n HTTP2_METHOD_OPTIONS: \"OPTIONS\",\n HTTP2_METHOD_ORDERPATCH: \"ORDERPATCH\",\n HTTP2_METHOD_PATCH: \"PATCH\",\n HTTP2_METHOD_POST: \"POST\",\n HTTP2_METHOD_PRI: \"PRI\",\n HTTP2_METHOD_PROPFIND: \"PROPFIND\",\n HTTP2_METHOD_PROPPATCH: \"PROPPATCH\",\n HTTP2_METHOD_PUT: \"PUT\",\n HTTP2_METHOD_REBIND: \"REBIND\",\n HTTP2_METHOD_REPORT: \"REPORT\",\n HTTP2_METHOD_SEARCH: \"SEARCH\",\n HTTP2_METHOD_TRACE: \"TRACE\",\n HTTP2_METHOD_UNBIND: \"UNBIND\",\n HTTP2_METHOD_UNCHECKOUT: \"UNCHECKOUT\",\n HTTP2_METHOD_UNLINK: \"UNLINK\",\n HTTP2_METHOD_UNLOCK: \"UNLOCK\",\n HTTP2_METHOD_UPDATE: \"UPDATE\",\n HTTP2_METHOD_UPDATEREDIRECTREF: \"UPDATEREDIRECTREF\",\n HTTP2_METHOD_VERSION_CONTROL: \"VERSION-CONTROL\",\n HTTP_STATUS_CONTINUE: 100,\n HTTP_STATUS_SWITCHING_PROTOCOLS: 101,\n HTTP_STATUS_PROCESSING: 102,\n HTTP_STATUS_EARLY_HINTS: 103,\n HTTP_STATUS_OK: 200,\n HTTP_STATUS_CREATED: 201,\n HTTP_STATUS_ACCEPTED: 202,\n HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: 203,\n HTTP_STATUS_NO_CONTENT: 204,\n HTTP_STATUS_RESET_CONTENT: 205,\n HTTP_STATUS_PARTIAL_CONTENT: 206,\n HTTP_STATUS_MULTI_STATUS: 207,\n HTTP_STATUS_ALREADY_REPORTED: 208,\n HTTP_STATUS_IM_USED: 226,\n HTTP_STATUS_MULTIPLE_CHOICES: 300,\n HTTP_STATUS_MOVED_PERMANENTLY: 301,\n HTTP_STATUS_FOUND: 302,\n HTTP_STATUS_SEE_OTHER: 303,\n HTTP_STATUS_NOT_MODIFIED: 304,\n HTTP_STATUS_USE_PROXY: 305,\n HTTP_STATUS_TEMPORARY_REDIRECT: 307,\n HTTP_STATUS_PERMANENT_REDIRECT: 308,\n HTTP_STATUS_BAD_REQUEST: 400,\n HTTP_STATUS_UNAUTHORIZED: 401,\n HTTP_STATUS_PAYMENT_REQUIRED: 402,\n HTTP_STATUS_FORBIDDEN: 403,\n HTTP_STATUS_NOT_FOUND: 404,\n HTTP_STATUS_METHOD_NOT_ALLOWED: 405,\n HTTP_STATUS_NOT_ACCEPTABLE: 406,\n HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407,\n HTTP_STATUS_REQUEST_TIMEOUT: 408,\n HTTP_STATUS_CONFLICT: 409,\n HTTP_STATUS_GONE: 410,\n HTTP_STATUS_LENGTH_REQUIRED: 411,\n HTTP_STATUS_PRECONDITION_FAILED: 412,\n HTTP_STATUS_PAYLOAD_TOO_LARGE: 413,\n HTTP_STATUS_URI_TOO_LONG: 414,\n HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,\n HTTP_STATUS_RANGE_NOT_SATISFIABLE: 416,\n HTTP_STATUS_EXPECTATION_FAILED: 417,\n HTTP_STATUS_TEAPOT: 418,\n HTTP_STATUS_MISDIRECTED_REQUEST: 421,\n HTTP_STATUS_UNPROCESSABLE_ENTITY: 422,\n HTTP_STATUS_LOCKED: 423,\n HTTP_STATUS_FAILED_DEPENDENCY: 424,\n HTTP_STATUS_TOO_EARLY: 425,\n HTTP_STATUS_UPGRADE_REQUIRED: 426,\n HTTP_STATUS_PRECONDITION_REQUIRED: 428,\n HTTP_STATUS_TOO_MANY_REQUESTS: 429,\n HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 431,\n HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 451,\n HTTP_STATUS_INTERNAL_SERVER_ERROR: 500,\n HTTP_STATUS_NOT_IMPLEMENTED: 501,\n HTTP_STATUS_BAD_GATEWAY: 502,\n HTTP_STATUS_SERVICE_UNAVAILABLE: 503,\n HTTP_STATUS_GATEWAY_TIMEOUT: 504,\n HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505,\n HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: 506,\n HTTP_STATUS_INSUFFICIENT_STORAGE: 507,\n HTTP_STATUS_LOOP_DETECTED: 508,\n HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: 509,\n HTTP_STATUS_NOT_EXTENDED: 510,\n HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: 511\n}, sensitiveHeaders = Symbol.for(\"nodejs.http2.sensitiveHeaders\");\nHttp2ServerRequest.prototype = {};\nHttp2ServerResponse.prototype = {};\n$ = {\n constants,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings,\n sensitiveHeaders,\n Http2ServerRequest,\n Http2ServerResponse,\n connect\n};\nhideFromStack([\n Http2ServerRequest,\n Http2ServerResponse,\n connect,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings\n]);\nreturn $})\n"); +static constexpr ASCIILiteral NodeHttp2Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/http2.ts\nvar connect = function() {\n throwNotImplemented(\"node:http2 connect\", 887);\n}, createServer = function() {\n throwNotImplemented(\"node:http2 createServer\", 887);\n}, createSecureServer = function() {\n throwNotImplemented(\"node:http2 createSecureServer\", 887);\n}, getDefaultSettings = function() {\n return {\n headerTableSize: 4096,\n enablePush: !0,\n initialWindowSize: 65535,\n maxFrameSize: 16384,\n maxConcurrentStreams: 4294967295,\n maxHeaderSize: 65535,\n maxHeaderListSize: 65535,\n enableConnectProtocol: !1\n };\n}, getPackedSettings = function() {\n return @Buffer.alloc(0);\n}, getUnpackedSettings = function() {\n return @Buffer.alloc(0);\n}, Http2ServerRequest = function() {\n throwNotImplemented(\"node:http2 Http2ServerRequest\", 887);\n}, Http2ServerResponse = function() {\n throwNotImplemented(\"node:http2 Http2ServerResponse\", 887);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NGHTTP2_ERR_FRAME_SIZE_ERROR: -522,\n NGHTTP2_SESSION_SERVER: 0,\n NGHTTP2_SESSION_CLIENT: 1,\n NGHTTP2_STREAM_STATE_IDLE: 1,\n NGHTTP2_STREAM_STATE_OPEN: 2,\n NGHTTP2_STREAM_STATE_RESERVED_LOCAL: 3,\n NGHTTP2_STREAM_STATE_RESERVED_REMOTE: 4,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: 5,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: 6,\n NGHTTP2_STREAM_STATE_CLOSED: 7,\n NGHTTP2_FLAG_NONE: 0,\n NGHTTP2_FLAG_END_STREAM: 1,\n NGHTTP2_FLAG_END_HEADERS: 4,\n NGHTTP2_FLAG_ACK: 1,\n NGHTTP2_FLAG_PADDED: 8,\n NGHTTP2_FLAG_PRIORITY: 32,\n DEFAULT_SETTINGS_HEADER_TABLE_SIZE: 4096,\n DEFAULT_SETTINGS_ENABLE_PUSH: 1,\n DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS: 4294967295,\n DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: 65535,\n DEFAULT_SETTINGS_MAX_FRAME_SIZE: 16384,\n DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE: 65535,\n DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL: 0,\n MAX_MAX_FRAME_SIZE: 16777215,\n MIN_MAX_FRAME_SIZE: 16384,\n MAX_INITIAL_WINDOW_SIZE: 2147483647,\n NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: 1,\n NGHTTP2_SETTINGS_ENABLE_PUSH: 2,\n NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: 3,\n NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: 4,\n NGHTTP2_SETTINGS_MAX_FRAME_SIZE: 5,\n NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: 6,\n NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL: 8,\n PADDING_STRATEGY_NONE: 0,\n PADDING_STRATEGY_ALIGNED: 1,\n PADDING_STRATEGY_MAX: 2,\n PADDING_STRATEGY_CALLBACK: 1,\n NGHTTP2_NO_ERROR: 0,\n NGHTTP2_PROTOCOL_ERROR: 1,\n NGHTTP2_INTERNAL_ERROR: 2,\n NGHTTP2_FLOW_CONTROL_ERROR: 3,\n NGHTTP2_SETTINGS_TIMEOUT: 4,\n NGHTTP2_STREAM_CLOSED: 5,\n NGHTTP2_FRAME_SIZE_ERROR: 6,\n NGHTTP2_REFUSED_STREAM: 7,\n NGHTTP2_CANCEL: 8,\n NGHTTP2_COMPRESSION_ERROR: 9,\n NGHTTP2_CONNECT_ERROR: 10,\n NGHTTP2_ENHANCE_YOUR_CALM: 11,\n NGHTTP2_INADEQUATE_SECURITY: 12,\n NGHTTP2_HTTP_1_1_REQUIRED: 13,\n NGHTTP2_DEFAULT_WEIGHT: 16,\n HTTP2_HEADER_STATUS: \":status\",\n HTTP2_HEADER_METHOD: \":method\",\n HTTP2_HEADER_AUTHORITY: \":authority\",\n HTTP2_HEADER_SCHEME: \":scheme\",\n HTTP2_HEADER_PATH: \":path\",\n HTTP2_HEADER_PROTOCOL: \":protocol\",\n HTTP2_HEADER_ACCEPT_ENCODING: \"accept-encoding\",\n HTTP2_HEADER_ACCEPT_LANGUAGE: \"accept-language\",\n HTTP2_HEADER_ACCEPT_RANGES: \"accept-ranges\",\n HTTP2_HEADER_ACCEPT: \"accept\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: \"access-control-allow-credentials\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: \"access-control-allow-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: \"access-control-allow-methods\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: \"access-control-allow-origin\",\n HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: \"access-control-expose-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: \"access-control-request-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: \"access-control-request-method\",\n HTTP2_HEADER_AGE: \"age\",\n HTTP2_HEADER_AUTHORIZATION: \"authorization\",\n HTTP2_HEADER_CACHE_CONTROL: \"cache-control\",\n HTTP2_HEADER_CONNECTION: \"connection\",\n HTTP2_HEADER_CONTENT_DISPOSITION: \"content-disposition\",\n HTTP2_HEADER_CONTENT_ENCODING: \"content-encoding\",\n HTTP2_HEADER_CONTENT_LENGTH: \"content-length\",\n HTTP2_HEADER_CONTENT_TYPE: \"content-type\",\n HTTP2_HEADER_COOKIE: \"cookie\",\n HTTP2_HEADER_DATE: \"date\",\n HTTP2_HEADER_ETAG: \"etag\",\n HTTP2_HEADER_FORWARDED: \"forwarded\",\n HTTP2_HEADER_HOST: \"host\",\n HTTP2_HEADER_IF_MODIFIED_SINCE: \"if-modified-since\",\n HTTP2_HEADER_IF_NONE_MATCH: \"if-none-match\",\n HTTP2_HEADER_IF_RANGE: \"if-range\",\n HTTP2_HEADER_LAST_MODIFIED: \"last-modified\",\n HTTP2_HEADER_LINK: \"link\",\n HTTP2_HEADER_LOCATION: \"location\",\n HTTP2_HEADER_RANGE: \"range\",\n HTTP2_HEADER_REFERER: \"referer\",\n HTTP2_HEADER_SERVER: \"server\",\n HTTP2_HEADER_SET_COOKIE: \"set-cookie\",\n HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: \"strict-transport-security\",\n HTTP2_HEADER_TRANSFER_ENCODING: \"transfer-encoding\",\n HTTP2_HEADER_TE: \"te\",\n HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS: \"upgrade-insecure-requests\",\n HTTP2_HEADER_UPGRADE: \"upgrade\",\n HTTP2_HEADER_USER_AGENT: \"user-agent\",\n HTTP2_HEADER_VARY: \"vary\",\n HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS: \"x-content-type-options\",\n HTTP2_HEADER_X_FRAME_OPTIONS: \"x-frame-options\",\n HTTP2_HEADER_KEEP_ALIVE: \"keep-alive\",\n HTTP2_HEADER_PROXY_CONNECTION: \"proxy-connection\",\n HTTP2_HEADER_X_XSS_PROTECTION: \"x-xss-protection\",\n HTTP2_HEADER_ALT_SVC: \"alt-svc\",\n HTTP2_HEADER_CONTENT_SECURITY_POLICY: \"content-security-policy\",\n HTTP2_HEADER_EARLY_DATA: \"early-data\",\n HTTP2_HEADER_EXPECT_CT: \"expect-ct\",\n HTTP2_HEADER_ORIGIN: \"origin\",\n HTTP2_HEADER_PURPOSE: \"purpose\",\n HTTP2_HEADER_TIMING_ALLOW_ORIGIN: \"timing-allow-origin\",\n HTTP2_HEADER_X_FORWARDED_FOR: \"x-forwarded-for\",\n HTTP2_HEADER_PRIORITY: \"priority\",\n HTTP2_HEADER_ACCEPT_CHARSET: \"accept-charset\",\n HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE: \"access-control-max-age\",\n HTTP2_HEADER_ALLOW: \"allow\",\n HTTP2_HEADER_CONTENT_LANGUAGE: \"content-language\",\n HTTP2_HEADER_CONTENT_LOCATION: \"content-location\",\n HTTP2_HEADER_CONTENT_MD5: \"content-md5\",\n HTTP2_HEADER_CONTENT_RANGE: \"content-range\",\n HTTP2_HEADER_DNT: \"dnt\",\n HTTP2_HEADER_EXPECT: \"expect\",\n HTTP2_HEADER_EXPIRES: \"expires\",\n HTTP2_HEADER_FROM: \"from\",\n HTTP2_HEADER_IF_MATCH: \"if-match\",\n HTTP2_HEADER_IF_UNMODIFIED_SINCE: \"if-unmodified-since\",\n HTTP2_HEADER_MAX_FORWARDS: \"max-forwards\",\n HTTP2_HEADER_PREFER: \"prefer\",\n HTTP2_HEADER_PROXY_AUTHENTICATE: \"proxy-authenticate\",\n HTTP2_HEADER_PROXY_AUTHORIZATION: \"proxy-authorization\",\n HTTP2_HEADER_REFRESH: \"refresh\",\n HTTP2_HEADER_RETRY_AFTER: \"retry-after\",\n HTTP2_HEADER_TRAILER: \"trailer\",\n HTTP2_HEADER_TK: \"tk\",\n HTTP2_HEADER_VIA: \"via\",\n HTTP2_HEADER_WARNING: \"warning\",\n HTTP2_HEADER_WWW_AUTHENTICATE: \"www-authenticate\",\n HTTP2_HEADER_HTTP2_SETTINGS: \"http2-settings\",\n HTTP2_METHOD_ACL: \"ACL\",\n HTTP2_METHOD_BASELINE_CONTROL: \"BASELINE-CONTROL\",\n HTTP2_METHOD_BIND: \"BIND\",\n HTTP2_METHOD_CHECKIN: \"CHECKIN\",\n HTTP2_METHOD_CHECKOUT: \"CHECKOUT\",\n HTTP2_METHOD_CONNECT: \"CONNECT\",\n HTTP2_METHOD_COPY: \"COPY\",\n HTTP2_METHOD_DELETE: \"DELETE\",\n HTTP2_METHOD_GET: \"GET\",\n HTTP2_METHOD_HEAD: \"HEAD\",\n HTTP2_METHOD_LABEL: \"LABEL\",\n HTTP2_METHOD_LINK: \"LINK\",\n HTTP2_METHOD_LOCK: \"LOCK\",\n HTTP2_METHOD_MERGE: \"MERGE\",\n HTTP2_METHOD_MKACTIVITY: \"MKACTIVITY\",\n HTTP2_METHOD_MKCALENDAR: \"MKCALENDAR\",\n HTTP2_METHOD_MKCOL: \"MKCOL\",\n HTTP2_METHOD_MKREDIRECTREF: \"MKREDIRECTREF\",\n HTTP2_METHOD_MKWORKSPACE: \"MKWORKSPACE\",\n HTTP2_METHOD_MOVE: \"MOVE\",\n HTTP2_METHOD_OPTIONS: \"OPTIONS\",\n HTTP2_METHOD_ORDERPATCH: \"ORDERPATCH\",\n HTTP2_METHOD_PATCH: \"PATCH\",\n HTTP2_METHOD_POST: \"POST\",\n HTTP2_METHOD_PRI: \"PRI\",\n HTTP2_METHOD_PROPFIND: \"PROPFIND\",\n HTTP2_METHOD_PROPPATCH: \"PROPPATCH\",\n HTTP2_METHOD_PUT: \"PUT\",\n HTTP2_METHOD_REBIND: \"REBIND\",\n HTTP2_METHOD_REPORT: \"REPORT\",\n HTTP2_METHOD_SEARCH: \"SEARCH\",\n HTTP2_METHOD_TRACE: \"TRACE\",\n HTTP2_METHOD_UNBIND: \"UNBIND\",\n HTTP2_METHOD_UNCHECKOUT: \"UNCHECKOUT\",\n HTTP2_METHOD_UNLINK: \"UNLINK\",\n HTTP2_METHOD_UNLOCK: \"UNLOCK\",\n HTTP2_METHOD_UPDATE: \"UPDATE\",\n HTTP2_METHOD_UPDATEREDIRECTREF: \"UPDATEREDIRECTREF\",\n HTTP2_METHOD_VERSION_CONTROL: \"VERSION-CONTROL\",\n HTTP_STATUS_CONTINUE: 100,\n HTTP_STATUS_SWITCHING_PROTOCOLS: 101,\n HTTP_STATUS_PROCESSING: 102,\n HTTP_STATUS_EARLY_HINTS: 103,\n HTTP_STATUS_OK: 200,\n HTTP_STATUS_CREATED: 201,\n HTTP_STATUS_ACCEPTED: 202,\n HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: 203,\n HTTP_STATUS_NO_CONTENT: 204,\n HTTP_STATUS_RESET_CONTENT: 205,\n HTTP_STATUS_PARTIAL_CONTENT: 206,\n HTTP_STATUS_MULTI_STATUS: 207,\n HTTP_STATUS_ALREADY_REPORTED: 208,\n HTTP_STATUS_IM_USED: 226,\n HTTP_STATUS_MULTIPLE_CHOICES: 300,\n HTTP_STATUS_MOVED_PERMANENTLY: 301,\n HTTP_STATUS_FOUND: 302,\n HTTP_STATUS_SEE_OTHER: 303,\n HTTP_STATUS_NOT_MODIFIED: 304,\n HTTP_STATUS_USE_PROXY: 305,\n HTTP_STATUS_TEMPORARY_REDIRECT: 307,\n HTTP_STATUS_PERMANENT_REDIRECT: 308,\n HTTP_STATUS_BAD_REQUEST: 400,\n HTTP_STATUS_UNAUTHORIZED: 401,\n HTTP_STATUS_PAYMENT_REQUIRED: 402,\n HTTP_STATUS_FORBIDDEN: 403,\n HTTP_STATUS_NOT_FOUND: 404,\n HTTP_STATUS_METHOD_NOT_ALLOWED: 405,\n HTTP_STATUS_NOT_ACCEPTABLE: 406,\n HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407,\n HTTP_STATUS_REQUEST_TIMEOUT: 408,\n HTTP_STATUS_CONFLICT: 409,\n HTTP_STATUS_GONE: 410,\n HTTP_STATUS_LENGTH_REQUIRED: 411,\n HTTP_STATUS_PRECONDITION_FAILED: 412,\n HTTP_STATUS_PAYLOAD_TOO_LARGE: 413,\n HTTP_STATUS_URI_TOO_LONG: 414,\n HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,\n HTTP_STATUS_RANGE_NOT_SATISFIABLE: 416,\n HTTP_STATUS_EXPECTATION_FAILED: 417,\n HTTP_STATUS_TEAPOT: 418,\n HTTP_STATUS_MISDIRECTED_REQUEST: 421,\n HTTP_STATUS_UNPROCESSABLE_ENTITY: 422,\n HTTP_STATUS_LOCKED: 423,\n HTTP_STATUS_FAILED_DEPENDENCY: 424,\n HTTP_STATUS_TOO_EARLY: 425,\n HTTP_STATUS_UPGRADE_REQUIRED: 426,\n HTTP_STATUS_PRECONDITION_REQUIRED: 428,\n HTTP_STATUS_TOO_MANY_REQUESTS: 429,\n HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 431,\n HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 451,\n HTTP_STATUS_INTERNAL_SERVER_ERROR: 500,\n HTTP_STATUS_NOT_IMPLEMENTED: 501,\n HTTP_STATUS_BAD_GATEWAY: 502,\n HTTP_STATUS_SERVICE_UNAVAILABLE: 503,\n HTTP_STATUS_GATEWAY_TIMEOUT: 504,\n HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505,\n HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: 506,\n HTTP_STATUS_INSUFFICIENT_STORAGE: 507,\n HTTP_STATUS_LOOP_DETECTED: 508,\n HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: 509,\n HTTP_STATUS_NOT_EXTENDED: 510,\n HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: 511\n}, sensitiveHeaders = Symbol.for(\"nodejs.http2.sensitiveHeaders\");\nHttp2ServerRequest.prototype = {};\nHttp2ServerResponse.prototype = {};\n$ = {\n constants,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings,\n sensitiveHeaders,\n Http2ServerRequest,\n Http2ServerResponse,\n connect\n};\nhideFromStack([\n Http2ServerRequest,\n Http2ServerResponse,\n connect,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings\n]);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeHttpsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/https.ts\nvar request = function(input, options, cb) {\n if (input && typeof input === \"object\" && !(input instanceof URL))\n input.protocol \?\?= \"https:\";\n else if (typeof options === \"object\")\n options.protocol \?\?= \"https:\";\n return http.request(input, options, cb);\n}, get = function(input, options, cb) {\n const req = request(input, options, cb);\n return req.end(), req;\n}, $, http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23);\n$ = {\n ...http,\n get,\n request\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeHttpsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/https.ts\nvar request = function(input, options, cb) {\n if (input && typeof input === \"object\" && !(input instanceof URL))\n input.protocol \?\?= \"https:\";\n else if (typeof options === \"object\")\n options.protocol \?\?= \"https:\";\n return http.request(input, options, cb);\n}, get = function(input, options, cb) {\n const req = request(input, options, cb);\n return req.end(), req;\n}, $, http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23);\n$ = {\n ...http,\n get,\n request\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeInspectorCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/inspector.ts\nvar open = function() {\n throwNotImplemented(\"node:inspector open\", 2445);\n}, close = function() {\n throwNotImplemented(\"node:inspector close\", 2445);\n}, url = function() {\n throwNotImplemented(\"node:inspector url\", 2445);\n}, waitForDebugger = function() {\n throwNotImplemented(\"node:inspector waitForDebugger\", 2445);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\n\nclass Session extends EventEmitter {\n constructor() {\n super();\n throwNotImplemented(\"node:inspector Session\", 2445);\n }\n}\nvar console = {\n ...globalThis.console,\n context: {\n console: globalThis.console\n }\n};\n$ = {\n console,\n open,\n close,\n url,\n waitForDebugger,\n Session\n};\nhideFromStack(open, close, url, waitForDebugger, Session.prototype.constructor);\nreturn $})\n"); +static constexpr ASCIILiteral NodeInspectorCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/inspector.ts\nvar open = function() {\n throwNotImplemented(\"node:inspector open\", 2445);\n}, close = function() {\n throwNotImplemented(\"node:inspector close\", 2445);\n}, url = function() {\n throwNotImplemented(\"node:inspector url\", 2445);\n}, waitForDebugger = function() {\n throwNotImplemented(\"node:inspector waitForDebugger\", 2445);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\n\nclass Session extends EventEmitter {\n constructor() {\n super();\n throwNotImplemented(\"node:inspector Session\", 2445);\n }\n}\nvar console = {\n ...globalThis.console,\n context: {\n console: globalThis.console\n }\n};\n$ = {\n console,\n open,\n close,\n url,\n waitForDebugger,\n Session\n};\nhideFromStack(open, close, url, waitForDebugger, Session.prototype.constructor);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeNetCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/net.ts\nvar isIPv4 = function(s) {\n return IPv4Reg.test(s);\n}, isIPv6 = function(s) {\n return IPv6Reg.test(s);\n}, isIP = function(s) {\n if (isIPv4(s))\n return 4;\n if (isIPv6(s))\n return 6;\n return 0;\n}, closeNT = function(self) {\n self.emit(\"close\");\n}, endNT = function(socket, callback, err) {\n socket.end(), callback(err);\n}, createConnection = function(port, host, connectListener) {\n if (typeof port === \"object\")\n return new Socket(port).connect(port, host, connectListener);\n return new Socket().connect(port, host, connectListener);\n}, emitErrorNextTick = function(self, error) {\n self.emit(\"error\", error);\n}, emitErrorAndCloseNextTick = function(self, error) {\n self.emit(\"error\", error), self.emit(\"close\");\n}, emitListeningNextTick = function(self, onListen) {\n if (typeof onListen === \"function\")\n try {\n onListen();\n } catch (err) {\n self.emit(\"error\", err);\n }\n self.emit(\"listening\");\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, $, { Duplex } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\nvar IPv4Reg = new @RegExp(\"^((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$\");\nvar IPv6Reg = new @RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\"), { connect: bunConnect } = Bun, { setTimeout } = globalThis, bunTlsSymbol = Symbol.for(\"::buntls::\"), bunSocketServerHandlers = Symbol.for(\"::bunsocket_serverhandlers::\"), bunSocketServerConnections = Symbol.for(\"::bunnetserverconnections::\"), bunSocketServerOptions = Symbol.for(\"::bunnetserveroptions::\"), bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), bunTLSConnectOptions = Symbol.for(\"::buntlsconnectoptions::\"), SocketClass, Socket = function(InternalSocket) {\n SocketClass = InternalSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"Socket\",\n enumerable: !1\n });\n function Socket3(options) {\n return new InternalSocket(options);\n }\n return Socket3.prototype = InternalSocket.prototype, Object.defineProperty(Socket3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalSocket;\n }\n });\n}(class Socket2 extends Duplex {\n static #Handlers = {\n close: Socket2.#Close,\n data({ data: self }, buffer) {\n self.bytesRead += buffer.length;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(buffer))\n return;\n }\n queue.push(buffer);\n },\n drain: Socket2.#Drain,\n end: Socket2.#Close,\n error(socket, error) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback)\n self.#writeCallback = null, callback(error);\n self.emit(\"error\", error);\n },\n open(socket) {\n const self = socket.data;\n socket.timeout(self.timeout), socket.ref(), self[bunSocketInternal] = socket, self.connecting = !1;\n const options = self[bunTLSConnectOptions];\n if (options) {\n const { session } = options;\n if (session)\n self.setSession(session);\n }\n if (!self.#upgraded)\n self.emit(\"connect\", self);\n Socket2.#Drain(socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self.emit(\"secure\", self);\n const { checkServerIdentity } = self[bunTLSConnectOptions];\n if (!verifyError && typeof checkServerIdentity === \"function\" && self.servername) {\n const cert = self.getPeerCertificate(!0);\n verifyError = checkServerIdentity(self.servername, cert);\n }\n if (self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnect\", verifyError);\n },\n timeout(socket) {\n const self = socket.data;\n self.emit(\"timeout\", self);\n },\n binaryType: \"buffer\"\n };\n static #Close(socket) {\n const self = socket.data;\n if (self.#closed)\n return;\n self.#closed = !0, self[bunSocketInternal] = null;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(null))\n return;\n }\n queue.push(null);\n }\n static #Drain(socket) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback) {\n const chunk = self.#writeChunk, written = socket.write(chunk);\n if (self.bytesWritten += written, written < chunk.length)\n self.#writeChunk = chunk.slice(written);\n else\n self.#writeCallback = null, self.#writeChunk = null, callback(null);\n }\n }\n static [bunSocketServerHandlers] = {\n data: Socket2.#Handlers.data,\n close(socket) {\n Socket2.#Handlers.close(socket), this.data[bunSocketServerConnections]--;\n },\n end(socket) {\n Socket2.#Handlers.end(socket), this.data[bunSocketServerConnections]--;\n },\n open(socket) {\n const self = this.data, options = self[bunSocketServerOptions], { pauseOnConnect, connectionListener, InternalSocketClass, requestCert, rejectUnauthorized } = options, _socket = new InternalSocketClass({});\n if (_socket.isServer = !0, _socket._requestCert = requestCert, _socket._rejectUnauthorized = rejectUnauthorized, _socket.#attach(this.localPort, socket), self.maxConnections && self[bunSocketServerConnections] >= self.maxConnections) {\n const data = {\n localAddress: _socket.localAddress,\n localPort: _socket.localPort,\n localFamily: _socket.localFamily,\n remoteAddress: _socket.remoteAddress,\n remotePort: _socket.remotePort,\n remoteFamily: _socket.remoteFamily || \"IPv4\"\n };\n socket.end(), self.emit(\"drop\", data);\n return;\n }\n if (!pauseOnConnect)\n _socket.resume();\n if (self[bunSocketServerConnections]++, typeof connectionListener == \"function\")\n if (InternalSocketClass.name === \"TLSSocket\")\n self.once(\"secureConnection\", () => connectionListener(_socket));\n else\n connectionListener(_socket);\n self.emit(\"connection\", _socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n if (self.emit(\"secure\", self), self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnection\", verifyError);\n },\n error(socket, error) {\n Socket2.#Handlers.error(socket, error), this.data.emit(\"error\", error);\n },\n timeout: Socket2.#Handlers.timeout,\n connectError: Socket2.#Handlers.connectError,\n drain: Socket2.#Handlers.drain,\n binaryType: \"buffer\"\n };\n bytesRead = 0;\n bytesWritten = 0;\n #closed = !1;\n connecting = !1;\n localAddress = \"127.0.0.1\";\n #readQueue = @createFIFO();\n remotePort;\n [bunSocketInternal] = null;\n [bunTLSConnectOptions] = null;\n timeout = 0;\n #writeCallback;\n #writeChunk;\n #pendingRead;\n isServer = !1;\n _handle;\n _parent;\n _parentWrap;\n #socket;\n #upgraded;\n constructor(options) {\n const { socket, signal, write, read, allowHalfOpen = !1, ...opts } = options || {};\n super({\n ...opts,\n allowHalfOpen,\n readable: !0,\n writable: !0\n });\n if (this._handle = this, this._parent = this, this._parentWrap = this, this.#pendingRead = @undefined, this.#upgraded = null, socket instanceof Socket2)\n this.#socket = socket;\n signal\?.once(\"abort\", () => this.destroy()), this.once(\"connect\", () => this.emit(\"ready\"));\n }\n address() {\n return {\n address: this.localAddress,\n family: this.localFamily,\n port: this.localPort\n };\n }\n get bufferSize() {\n return this.writableLength;\n }\n #attach(port, socket) {\n if (this.remotePort = port, socket.data = this, socket.timeout(this.timeout), socket.ref(), this[bunSocketInternal] = socket, this.connecting = !1, !this.#upgraded)\n this.emit(\"connect\", this);\n Socket2.#Drain(socket);\n }\n #closeRawConnection() {\n const connection = this.#upgraded;\n connection[bunSocketInternal] = null, connection.unref(), connection.destroy(), process.nextTick(closeNT, connection);\n }\n connect(port, host, connectListener) {\n var path, connection = this.#socket, _checkServerIdentity = @undefined;\n if (typeof port === \"string\") {\n if (path = port, port = @undefined, typeof host === \"function\")\n connectListener = host, host = @undefined;\n } else if (typeof host == \"function\") {\n if (typeof port === \"string\")\n path = port, port = @undefined;\n connectListener = host, host = @undefined;\n }\n if (typeof port == \"object\") {\n var {\n port,\n host,\n path,\n socket,\n localAddress,\n localPort,\n family,\n hints,\n lookup,\n noDelay,\n keepAlive,\n keepAliveInitialDelay,\n requestCert,\n rejectUnauthorized,\n pauseOnConnect,\n servername,\n checkServerIdentity,\n session\n } = port;\n if (_checkServerIdentity = checkServerIdentity, this.servername = servername, socket)\n connection = socket;\n }\n if (!pauseOnConnect)\n this.resume();\n this.connecting = !0, this.remotePort = port;\n const bunTLS = this[bunTlsSymbol];\n var tls = @undefined;\n if (typeof bunTLS === \"function\") {\n if (tls = bunTLS.@call(this, port, host, !0), this._requestCert = !0, this._rejectUnauthorized = rejectUnauthorized, tls) {\n if (tls.rejectUnauthorized = rejectUnauthorized, tls.requestCert = !0, tls.session = session || tls.session, this.servername = tls.servername, tls.checkServerIdentity = _checkServerIdentity || tls.checkServerIdentity, this[bunTLSConnectOptions] = tls, !connection && tls.socket)\n connection = tls.socket;\n }\n if (connection) {\n if (typeof connection !== \"object\" || !(connection instanceof Socket2) || typeof connection[bunTlsSymbol] === \"function\")\n @throwTypeError(\"socket must be an instance of net.Socket\");\n }\n if (this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, connectListener)\n this.on(\"secureConnect\", connectListener);\n } else if (connectListener)\n this.on(\"connect\", connectListener);\n try {\n if (connection) {\n const socket2 = connection[bunSocketInternal];\n if (socket2) {\n this.connecting = !0, this.#upgraded = connection;\n const result = socket2.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n } else\n connection.once(\"connect\", () => {\n const socket3 = connection[bunSocketInternal];\n if (!socket3)\n return;\n this.connecting = !0, this.#upgraded = connection;\n const result = socket3.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n });\n } else if (path)\n bunConnect({\n data: this,\n unix: path,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n else\n bunConnect({\n data: this,\n hostname: host || \"localhost\",\n port,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n } catch (error) {\n process.nextTick(emitErrorAndCloseNextTick, this, error);\n }\n return this;\n }\n _destroy(err, callback) {\n const socket = this[bunSocketInternal];\n socket && process.nextTick(endNT, socket, callback, err);\n }\n _final(callback) {\n this[bunSocketInternal]\?.end(), callback(), process.nextTick(closeNT, this);\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return this[bunSocketInternal]\?.localPort;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n const queue = this.#readQueue;\n let chunk;\n while (chunk = queue.peek()) {\n const can_continue = !this.push(chunk);\n if (queue.shift(), !can_continue)\n break;\n }\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n this[bunSocketInternal]\?.ref();\n }\n get remoteAddress() {\n return this[bunSocketInternal]\?.remoteAddress;\n }\n get remoteFamily() {\n return \"IPv4\";\n }\n resetAndDestroy() {\n this[bunSocketInternal]\?.end();\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n return this;\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n if (this[bunSocketInternal]\?.timeout(timeout), this.timeout = timeout, callback)\n this.once(\"timeout\", callback);\n return this;\n }\n unref() {\n this[bunSocketInternal]\?.unref();\n }\n _write(chunk, encoding, callback) {\n if (typeof chunk == \"string\" && encoding !== \"ascii\")\n chunk = @Buffer.from(chunk, encoding);\n var written = this[bunSocketInternal]\?.write(chunk);\n if (written == chunk.length)\n callback();\n else if (this.#writeCallback)\n callback(new Error(\"overlapping _write()\"));\n else {\n if (written > 0)\n if (typeof chunk == \"string\")\n chunk = chunk.slice(written);\n else\n chunk = chunk.subarray(written);\n this.#writeCallback = callback, this.#writeChunk = chunk;\n }\n }\n}), connect = createConnection;\n\nclass Server extends EventEmitter {\n #server;\n #listening = !1;\n [bunSocketServerConnections] = 0;\n [bunSocketServerOptions];\n maxConnections = 0;\n constructor(options, connectionListener) {\n super();\n if (typeof options === \"function\")\n connectionListener = options, options = {};\n else if (options == null || typeof options === \"object\")\n options = { ...options };\n else\n throw new Error(\"bun-net-polyfill: invalid arguments\");\n const { maxConnections } = options;\n this.maxConnections = Number.isSafeInteger(maxConnections) && maxConnections > 0 \? maxConnections : 0, options.connectionListener = connectionListener, this[bunSocketServerOptions] = options;\n }\n ref() {\n return this.#server\?.ref(), this;\n }\n unref() {\n return this.#server\?.unref(), this;\n }\n close(callback) {\n if (this.#server) {\n if (this.#server.stop(!0), this.#server = null, this.#listening = !1, this[bunSocketServerConnections] = 0, this.emit(\"close\"), typeof callback === \"function\")\n callback();\n return this;\n }\n if (typeof callback === \"function\") {\n const error = new Error(\"Server is not running\");\n error.code = \"ERR_SERVER_NOT_RUNNING\", callback(error);\n }\n return this;\n }\n address() {\n const server = this.#server;\n if (server) {\n const unix = server.unix;\n if (unix)\n return unix;\n let address = server.hostname;\n const type = isIP(address), port = server.port;\n if (typeof port === \"number\")\n return {\n port,\n address,\n family: type \? `IPv${type}` : @undefined\n };\n if (type)\n return {\n address,\n family: type \? `IPv${type}` : @undefined\n };\n return address;\n }\n return null;\n }\n getConnections(callback) {\n if (typeof callback === \"function\")\n callback(null, this.#server \? this[bunSocketServerConnections] : 0);\n return this;\n }\n listen(port, hostname, onListen) {\n let backlog, path, exclusive = !1;\n if (typeof port === \"string\") {\n if (Number.isSafeInteger(hostname)) {\n if (hostname > 0)\n backlog = hostname;\n } else if (typeof hostname === \"function\")\n onListen = hostname;\n path = port, hostname = @undefined, port = @undefined;\n } else {\n if (typeof hostname === \"function\")\n onListen = hostname, hostname = @undefined;\n if (typeof port === \"function\")\n onListen = port, port = 0;\n else if (typeof port === \"object\") {\n const options = port;\n options.signal\?.addEventListener(\"abort\", () => this.close()), hostname = options.host, exclusive = options.exclusive === !0;\n const path2 = options.path;\n if (port = options.port, !Number.isSafeInteger(port) || port < 0)\n if (path2)\n hostname = path2, port = @undefined;\n else {\n let message = 'The argument \\'options\\' must have the property \"port\" or \"path\"';\n try {\n message = `${message}. Received ${JSON.stringify(options)}`;\n } catch {\n }\n const error = @makeTypeError(message);\n throw error.code = \"ERR_INVALID_ARG_VALUE\", error;\n }\n else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n if (typeof port.callback === \"function\")\n onListen = port\?.callback;\n } else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n hostname = hostname || \"::\";\n }\n try {\n var tls = @undefined, TLSSocketClass = @undefined;\n const bunTLS = this[bunTlsSymbol], options = this[bunSocketServerOptions];\n if (typeof bunTLS === \"function\")\n [tls, TLSSocketClass] = bunTLS.@call(this, port, hostname, !1), options.servername = tls.serverName, options.InternalSocketClass = TLSSocketClass;\n else\n options.InternalSocketClass = SocketClass;\n this.#server = Bun.listen(path \? {\n exclusive,\n unix: path,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n } : {\n exclusive,\n port,\n hostname,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n }), this.#server.data = this, this.#listening = !0, setTimeout(emitListeningNextTick, 1, this, onListen);\n } catch (err) {\n this.#listening = !1, setTimeout(emitErrorNextTick, 1, this, err);\n }\n return this;\n }\n}\n$ = {\n createServer,\n Server,\n createConnection,\n connect,\n isIP,\n isIPv4,\n isIPv6,\n Socket,\n [Symbol.for(\"::bunternal::\")]: SocketClass\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeNetCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/net.ts\nvar isIPv4 = function(s) {\n return IPv4Reg.test(s);\n}, isIPv6 = function(s) {\n return IPv6Reg.test(s);\n}, isIP = function(s) {\n if (isIPv4(s))\n return 4;\n if (isIPv6(s))\n return 6;\n return 0;\n}, closeNT = function(self) {\n self.emit(\"close\");\n}, endNT = function(socket, callback, err) {\n socket.end(), callback(err);\n}, createConnection = function(port, host, connectListener) {\n if (typeof port === \"object\")\n return new Socket(port).connect(port, host, connectListener);\n return new Socket().connect(port, host, connectListener);\n}, emitErrorNextTick = function(self, error) {\n self.emit(\"error\", error);\n}, emitErrorAndCloseNextTick = function(self, error) {\n self.emit(\"error\", error), self.emit(\"close\");\n}, emitListeningNextTick = function(self, onListen) {\n if (typeof onListen === \"function\")\n try {\n onListen();\n } catch (err) {\n self.emit(\"error\", err);\n }\n self.emit(\"listening\");\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, $, { Duplex } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\nvar IPv4Reg = new @RegExp(\"^((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$\");\nvar IPv6Reg = new @RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\"), { connect: bunConnect } = Bun, { setTimeout } = globalThis, bunTlsSymbol = Symbol.for(\"::buntls::\"), bunSocketServerHandlers = Symbol.for(\"::bunsocket_serverhandlers::\"), bunSocketServerConnections = Symbol.for(\"::bunnetserverconnections::\"), bunSocketServerOptions = Symbol.for(\"::bunnetserveroptions::\"), bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), bunTLSConnectOptions = Symbol.for(\"::buntlsconnectoptions::\"), SocketClass, Socket = function(InternalSocket) {\n SocketClass = InternalSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"Socket\",\n enumerable: !1\n });\n function Socket3(options) {\n return new InternalSocket(options);\n }\n return Socket3.prototype = InternalSocket.prototype, Object.defineProperty(Socket3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalSocket;\n }\n });\n}(class Socket2 extends Duplex {\n static #Handlers = {\n close: Socket2.#Close,\n data({ data: self }, buffer) {\n self.bytesRead += buffer.length;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(buffer))\n return;\n }\n queue.push(buffer);\n },\n drain: Socket2.#Drain,\n end: Socket2.#Close,\n error(socket, error) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback)\n self.#writeCallback = null, callback(error);\n self.emit(\"error\", error);\n },\n open(socket) {\n const self = socket.data;\n socket.timeout(self.timeout), socket.ref(), self[bunSocketInternal] = socket, self.connecting = !1;\n const options = self[bunTLSConnectOptions];\n if (options) {\n const { session } = options;\n if (session)\n self.setSession(session);\n }\n if (!self.#upgraded)\n self.emit(\"connect\", self);\n Socket2.#Drain(socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self.emit(\"secure\", self);\n const { checkServerIdentity } = self[bunTLSConnectOptions];\n if (!verifyError && typeof checkServerIdentity === \"function\" && self.servername) {\n const cert = self.getPeerCertificate(!0);\n verifyError = checkServerIdentity(self.servername, cert);\n }\n if (self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnect\", verifyError);\n },\n timeout(socket) {\n const self = socket.data;\n self.emit(\"timeout\", self);\n },\n binaryType: \"buffer\"\n };\n static #Close(socket) {\n const self = socket.data;\n if (self.#closed)\n return;\n self.#closed = !0, self[bunSocketInternal] = null;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(null))\n return;\n }\n queue.push(null);\n }\n static #Drain(socket) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback) {\n const chunk = self.#writeChunk, written = socket.write(chunk);\n if (self.bytesWritten += written, written < chunk.length)\n self.#writeChunk = chunk.slice(written);\n else\n self.#writeCallback = null, self.#writeChunk = null, callback(null);\n }\n }\n static [bunSocketServerHandlers] = {\n data: Socket2.#Handlers.data,\n close(socket) {\n Socket2.#Handlers.close(socket), this.data[bunSocketServerConnections]--;\n },\n end(socket) {\n Socket2.#Handlers.end(socket), this.data[bunSocketServerConnections]--;\n },\n open(socket) {\n const self = this.data, options = self[bunSocketServerOptions], { pauseOnConnect, connectionListener, InternalSocketClass, requestCert, rejectUnauthorized } = options, _socket = new InternalSocketClass({});\n if (_socket.isServer = !0, _socket._requestCert = requestCert, _socket._rejectUnauthorized = rejectUnauthorized, _socket.#attach(this.localPort, socket), self.maxConnections && self[bunSocketServerConnections] >= self.maxConnections) {\n const data = {\n localAddress: _socket.localAddress,\n localPort: _socket.localPort,\n localFamily: _socket.localFamily,\n remoteAddress: _socket.remoteAddress,\n remotePort: _socket.remotePort,\n remoteFamily: _socket.remoteFamily || \"IPv4\"\n };\n socket.end(), self.emit(\"drop\", data);\n return;\n }\n if (!pauseOnConnect)\n _socket.resume();\n if (self[bunSocketServerConnections]++, typeof connectionListener == \"function\")\n if (InternalSocketClass.name === \"TLSSocket\")\n self.once(\"secureConnection\", () => connectionListener(_socket));\n else\n connectionListener(_socket);\n self.emit(\"connection\", _socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n if (self.emit(\"secure\", self), self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnection\", verifyError);\n },\n error(socket, error) {\n Socket2.#Handlers.error(socket, error), this.data.emit(\"error\", error);\n },\n timeout: Socket2.#Handlers.timeout,\n connectError: Socket2.#Handlers.connectError,\n drain: Socket2.#Handlers.drain,\n binaryType: \"buffer\"\n };\n bytesRead = 0;\n bytesWritten = 0;\n #closed = !1;\n connecting = !1;\n localAddress = \"127.0.0.1\";\n #readQueue = @createFIFO();\n remotePort;\n [bunSocketInternal] = null;\n [bunTLSConnectOptions] = null;\n timeout = 0;\n #writeCallback;\n #writeChunk;\n #pendingRead;\n isServer = !1;\n _handle;\n _parent;\n _parentWrap;\n #socket;\n #upgraded;\n constructor(options) {\n const { socket, signal, write, read, allowHalfOpen = !1, ...opts } = options || {};\n super({\n ...opts,\n allowHalfOpen,\n readable: !0,\n writable: !0\n });\n if (this._handle = this, this._parent = this, this._parentWrap = this, this.#pendingRead = @undefined, this.#upgraded = null, socket instanceof Socket2)\n this.#socket = socket;\n signal\?.once(\"abort\", () => this.destroy()), this.once(\"connect\", () => this.emit(\"ready\"));\n }\n address() {\n return {\n address: this.localAddress,\n family: this.localFamily,\n port: this.localPort\n };\n }\n get bufferSize() {\n return this.writableLength;\n }\n #attach(port, socket) {\n if (this.remotePort = port, socket.data = this, socket.timeout(this.timeout), socket.ref(), this[bunSocketInternal] = socket, this.connecting = !1, !this.#upgraded)\n this.emit(\"connect\", this);\n Socket2.#Drain(socket);\n }\n #closeRawConnection() {\n const connection = this.#upgraded;\n connection[bunSocketInternal] = null, connection.unref(), connection.destroy(), process.nextTick(closeNT, connection);\n }\n connect(port, host, connectListener) {\n var path, connection = this.#socket, _checkServerIdentity = @undefined;\n if (typeof port === \"string\") {\n if (path = port, port = @undefined, typeof host === \"function\")\n connectListener = host, host = @undefined;\n } else if (typeof host == \"function\") {\n if (typeof port === \"string\")\n path = port, port = @undefined;\n connectListener = host, host = @undefined;\n }\n if (typeof port == \"object\") {\n var {\n port,\n host,\n path,\n socket,\n localAddress,\n localPort,\n family,\n hints,\n lookup,\n noDelay,\n keepAlive,\n keepAliveInitialDelay,\n requestCert,\n rejectUnauthorized,\n pauseOnConnect,\n servername,\n checkServerIdentity,\n session\n } = port;\n if (_checkServerIdentity = checkServerIdentity, this.servername = servername, socket)\n connection = socket;\n }\n if (!pauseOnConnect)\n this.resume();\n this.connecting = !0, this.remotePort = port;\n const bunTLS = this[bunTlsSymbol];\n var tls = @undefined;\n if (typeof bunTLS === \"function\") {\n if (tls = bunTLS.@call(this, port, host, !0), this._requestCert = !0, this._rejectUnauthorized = rejectUnauthorized, tls) {\n if (tls.rejectUnauthorized = rejectUnauthorized, tls.requestCert = !0, tls.session = session || tls.session, this.servername = tls.servername, tls.checkServerIdentity = _checkServerIdentity || tls.checkServerIdentity, this[bunTLSConnectOptions] = tls, !connection && tls.socket)\n connection = tls.socket;\n }\n if (connection) {\n if (typeof connection !== \"object\" || !(connection instanceof Socket2) || typeof connection[bunTlsSymbol] === \"function\")\n @throwTypeError(\"socket must be an instance of net.Socket\");\n }\n if (this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, connectListener)\n this.on(\"secureConnect\", connectListener);\n } else if (connectListener)\n this.on(\"connect\", connectListener);\n try {\n if (connection) {\n const socket2 = connection[bunSocketInternal];\n if (socket2) {\n this.connecting = !0, this.#upgraded = connection;\n const result = socket2.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n } else\n connection.once(\"connect\", () => {\n const socket3 = connection[bunSocketInternal];\n if (!socket3)\n return;\n this.connecting = !0, this.#upgraded = connection;\n const result = socket3.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n });\n } else if (path)\n bunConnect({\n data: this,\n unix: path,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n else\n bunConnect({\n data: this,\n hostname: host || \"localhost\",\n port,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n } catch (error) {\n process.nextTick(emitErrorAndCloseNextTick, this, error);\n }\n return this;\n }\n _destroy(err, callback) {\n const socket = this[bunSocketInternal];\n socket && process.nextTick(endNT, socket, callback, err);\n }\n _final(callback) {\n this[bunSocketInternal]\?.end(), callback(), process.nextTick(closeNT, this);\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return this[bunSocketInternal]\?.localPort;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n const queue = this.#readQueue;\n let chunk;\n while (chunk = queue.peek()) {\n const can_continue = !this.push(chunk);\n if (queue.shift(), !can_continue)\n break;\n }\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n this[bunSocketInternal]\?.ref();\n }\n get remoteAddress() {\n return this[bunSocketInternal]\?.remoteAddress;\n }\n get remoteFamily() {\n return \"IPv4\";\n }\n resetAndDestroy() {\n this[bunSocketInternal]\?.end();\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n return this;\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n if (this[bunSocketInternal]\?.timeout(timeout), this.timeout = timeout, callback)\n this.once(\"timeout\", callback);\n return this;\n }\n unref() {\n this[bunSocketInternal]\?.unref();\n }\n _write(chunk, encoding, callback) {\n if (typeof chunk == \"string\" && encoding !== \"ascii\")\n chunk = @Buffer.from(chunk, encoding);\n var written = this[bunSocketInternal]\?.write(chunk);\n if (written == chunk.length)\n callback();\n else if (this.#writeCallback)\n callback(new Error(\"overlapping _write()\"));\n else {\n if (written > 0)\n if (typeof chunk == \"string\")\n chunk = chunk.slice(written);\n else\n chunk = chunk.subarray(written);\n this.#writeCallback = callback, this.#writeChunk = chunk;\n }\n }\n}), connect = createConnection;\n\nclass Server extends EventEmitter {\n #server;\n #listening = !1;\n [bunSocketServerConnections] = 0;\n [bunSocketServerOptions];\n maxConnections = 0;\n constructor(options, connectionListener) {\n super();\n if (typeof options === \"function\")\n connectionListener = options, options = {};\n else if (options == null || typeof options === \"object\")\n options = { ...options };\n else\n throw new Error(\"bun-net-polyfill: invalid arguments\");\n const { maxConnections } = options;\n this.maxConnections = Number.isSafeInteger(maxConnections) && maxConnections > 0 \? maxConnections : 0, options.connectionListener = connectionListener, this[bunSocketServerOptions] = options;\n }\n ref() {\n return this.#server\?.ref(), this;\n }\n unref() {\n return this.#server\?.unref(), this;\n }\n close(callback) {\n if (this.#server) {\n if (this.#server.stop(!0), this.#server = null, this.#listening = !1, this[bunSocketServerConnections] = 0, this.emit(\"close\"), typeof callback === \"function\")\n callback();\n return this;\n }\n if (typeof callback === \"function\") {\n const error = new Error(\"Server is not running\");\n error.code = \"ERR_SERVER_NOT_RUNNING\", callback(error);\n }\n return this;\n }\n address() {\n const server = this.#server;\n if (server) {\n const unix = server.unix;\n if (unix)\n return unix;\n let address = server.hostname;\n const type = isIP(address), port = server.port;\n if (typeof port === \"number\")\n return {\n port,\n address,\n family: type \? `IPv${type}` : @undefined\n };\n if (type)\n return {\n address,\n family: type \? `IPv${type}` : @undefined\n };\n return address;\n }\n return null;\n }\n getConnections(callback) {\n if (typeof callback === \"function\")\n callback(null, this.#server \? this[bunSocketServerConnections] : 0);\n return this;\n }\n listen(port, hostname, onListen) {\n let backlog, path, exclusive = !1;\n if (typeof port === \"string\") {\n if (Number.isSafeInteger(hostname)) {\n if (hostname > 0)\n backlog = hostname;\n } else if (typeof hostname === \"function\")\n onListen = hostname;\n path = port, hostname = @undefined, port = @undefined;\n } else {\n if (typeof hostname === \"function\")\n onListen = hostname, hostname = @undefined;\n if (typeof port === \"function\")\n onListen = port, port = 0;\n else if (typeof port === \"object\") {\n const options = port;\n options.signal\?.addEventListener(\"abort\", () => this.close()), hostname = options.host, exclusive = options.exclusive === !0;\n const path2 = options.path;\n if (port = options.port, !Number.isSafeInteger(port) || port < 0)\n if (path2)\n hostname = path2, port = @undefined;\n else {\n let message = 'The argument \\'options\\' must have the property \"port\" or \"path\"';\n try {\n message = `${message}. Received ${JSON.stringify(options)}`;\n } catch {\n }\n const error = @makeTypeError(message);\n throw error.code = \"ERR_INVALID_ARG_VALUE\", error;\n }\n else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n if (typeof port.callback === \"function\")\n onListen = port\?.callback;\n } else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n hostname = hostname || \"::\";\n }\n try {\n var tls = @undefined, TLSSocketClass = @undefined;\n const bunTLS = this[bunTlsSymbol], options = this[bunSocketServerOptions];\n if (typeof bunTLS === \"function\")\n [tls, TLSSocketClass] = bunTLS.@call(this, port, hostname, !1), options.servername = tls.serverName, options.InternalSocketClass = TLSSocketClass;\n else\n options.InternalSocketClass = SocketClass;\n this.#server = Bun.listen(path \? {\n exclusive,\n unix: path,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n } : {\n exclusive,\n port,\n hostname,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n }), this.#server.data = this, this.#listening = !0, setTimeout(emitListeningNextTick, 1, this, onListen);\n } catch (err) {\n this.#listening = !1, setTimeout(emitErrorNextTick, 1, this, err);\n }\n return this;\n }\n}\n$ = {\n createServer,\n Server,\n createConnection,\n connect,\n isIP,\n isIPv4,\n isIPv6,\n Socket,\n [Symbol.for(\"::bunternal::\")]: SocketClass\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeOSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/os.ts\nvar lazyCpus = function({ cpus }) {\n return () => {\n const array = new @Array(navigator.hardwareConcurrency);\n function populate() {\n const results = cpus(), length = results.length;\n array.length = length;\n for (let i = 0;i < length; i++)\n array[i] = results[i];\n }\n for (let i = 0;i < array.length; i++) {\n const instance = {\n get model() {\n if (array[i] === instance)\n populate();\n return array[i].model;\n },\n set model(value) {\n if (array[i] === instance)\n populate();\n array[i].model = value;\n },\n get speed() {\n if (array[i] === instance)\n populate();\n return array[i].speed;\n },\n set speed(value) {\n if (array[i] === instance)\n populate();\n array[i].speed = value;\n },\n get times() {\n if (array[i] === instance)\n populate();\n return array[i].times;\n },\n set times(value) {\n if (array[i] === instance)\n populate();\n array[i].times = value;\n },\n toJSON() {\n if (array[i] === instance)\n populate();\n return array[i];\n }\n };\n array[i] = instance;\n }\n return array;\n };\n}, bound = function(obj) {\n return {\n availableParallelism: () => {\n return navigator.hardwareConcurrency;\n },\n arch: obj.arch.bind(obj),\n cpus: lazyCpus(obj),\n endianness: obj.endianness.bind(obj),\n freemem: obj.freemem.bind(obj),\n getPriority: obj.getPriority.bind(obj),\n homedir: obj.homedir.bind(obj),\n hostname: obj.hostname.bind(obj),\n loadavg: obj.loadavg.bind(obj),\n networkInterfaces: obj.networkInterfaces.bind(obj),\n platform: obj.platform.bind(obj),\n release: obj.release.bind(obj),\n setPriority: obj.setPriority.bind(obj),\n get tmpdir() {\n return tmpdir;\n },\n totalmem: obj.totalmem.bind(obj),\n type: obj.type.bind(obj),\n uptime: obj.uptime.bind(obj),\n userInfo: obj.userInfo.bind(obj),\n version: obj.version.bind(obj),\n machine: obj.machine.bind(obj),\n devNull: obj.devNull,\n EOL: obj.EOL,\n constants: @processBindingConstants.os\n };\n}, tmpdir = function() {\n var env = Bun.env;\n return tmpdir = function() {\n var path = env.TMPDIR || env.TMP || env.TEMP || \"/tmp\";\n const length = path.length;\n if (length > 1 && path[length - 1] === \"/\")\n path = path.slice(0, -1);\n return path;\n }, tmpdir();\n};\nreturn bound(Bun._Os())})\n"); +static constexpr ASCIILiteral NodeOSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/os.ts\nvar lazyCpus = function({ cpus }) {\n return () => {\n const array = new @Array(navigator.hardwareConcurrency);\n function populate() {\n const results = cpus(), length = results.length;\n array.length = length;\n for (let i = 0;i < length; i++)\n array[i] = results[i];\n }\n for (let i = 0;i < array.length; i++) {\n const instance = {\n get model() {\n if (array[i] === instance)\n populate();\n return array[i].model;\n },\n set model(value) {\n if (array[i] === instance)\n populate();\n array[i].model = value;\n },\n get speed() {\n if (array[i] === instance)\n populate();\n return array[i].speed;\n },\n set speed(value) {\n if (array[i] === instance)\n populate();\n array[i].speed = value;\n },\n get times() {\n if (array[i] === instance)\n populate();\n return array[i].times;\n },\n set times(value) {\n if (array[i] === instance)\n populate();\n array[i].times = value;\n },\n toJSON() {\n if (array[i] === instance)\n populate();\n return array[i];\n }\n };\n array[i] = instance;\n }\n return array;\n };\n}, bound = function(obj) {\n return {\n availableParallelism: () => {\n return navigator.hardwareConcurrency;\n },\n arch: obj.arch.bind(obj),\n cpus: lazyCpus(obj),\n endianness: obj.endianness.bind(obj),\n freemem: obj.freemem.bind(obj),\n getPriority: obj.getPriority.bind(obj),\n homedir: obj.homedir.bind(obj),\n hostname: obj.hostname.bind(obj),\n loadavg: obj.loadavg.bind(obj),\n networkInterfaces: obj.networkInterfaces.bind(obj),\n platform: obj.platform.bind(obj),\n release: obj.release.bind(obj),\n setPriority: obj.setPriority.bind(obj),\n get tmpdir() {\n return tmpdir;\n },\n totalmem: obj.totalmem.bind(obj),\n type: obj.type.bind(obj),\n uptime: obj.uptime.bind(obj),\n userInfo: obj.userInfo.bind(obj),\n version: obj.version.bind(obj),\n machine: obj.machine.bind(obj),\n devNull: obj.devNull,\n EOL: obj.EOL,\n constants: @processBindingConstants.os\n };\n}, tmpdir = function() {\n var env = Bun.env;\n return tmpdir = function() {\n var path = env.TMPDIR || env.TMP || env.TEMP || \"/tmp\";\n const length = path.length;\n if (length > 1 && path[length - 1] === \"/\")\n path = path.slice(0, -1);\n return path;\n }, tmpdir();\n};\nreturn bound(Bun._Os())})\n"); // // -static constexpr ASCIILiteral NodePathPosixCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/path.posix.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).posix})\n"); +static constexpr ASCIILiteral NodePathPosixCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/path.posix.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).posix})\n"); // // -static constexpr ASCIILiteral NodePathCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/path.ts\nvar bound = function(obj) {\n const toNamespacedPath = obj.toNamespacedPath.bind(obj);\n return {\n resolve: obj.resolve.bind(obj),\n normalize: obj.normalize.bind(obj),\n isAbsolute: obj.isAbsolute.bind(obj),\n join: obj.join.bind(obj),\n relative: obj.relative.bind(obj),\n toNamespacedPath,\n dirname: obj.dirname.bind(obj),\n basename: obj.basename.bind(obj),\n extname: obj.extname.bind(obj),\n format: obj.format.bind(obj),\n parse: obj.parse.bind(obj),\n sep: obj.sep,\n delimiter: obj.delimiter,\n win32: @undefined,\n posix: @undefined,\n _makeLong: toNamespacedPath\n };\n}, posix = bound(Bun._Path(!1)), win32 = bound(Bun._Path(!0));\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\nreturn posix})\n"); +static constexpr ASCIILiteral NodePathCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/path.ts\nvar bound = function(obj) {\n const toNamespacedPath = obj.toNamespacedPath.bind(obj);\n return {\n resolve: obj.resolve.bind(obj),\n normalize: obj.normalize.bind(obj),\n isAbsolute: obj.isAbsolute.bind(obj),\n join: obj.join.bind(obj),\n relative: obj.relative.bind(obj),\n toNamespacedPath,\n dirname: obj.dirname.bind(obj),\n basename: obj.basename.bind(obj),\n extname: obj.extname.bind(obj),\n format: obj.format.bind(obj),\n parse: obj.parse.bind(obj),\n sep: obj.sep,\n delimiter: obj.delimiter,\n win32: @undefined,\n posix: @undefined,\n _makeLong: toNamespacedPath\n };\n}, posix = bound(Bun._Path(!1)), win32 = bound(Bun._Path(!0));\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\nreturn posix})\n"); // // -static constexpr ASCIILiteral NodePathWin32Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/path.win32.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).win32})\n"); +static constexpr ASCIILiteral NodePathWin32Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/path.win32.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).win32})\n"); // // -static constexpr ASCIILiteral NodePerfHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/perf_hooks.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NODE_PERFORMANCE_GC_MAJOR: 4,\n NODE_PERFORMANCE_GC_MINOR: 1,\n NODE_PERFORMANCE_GC_INCREMENTAL: 8,\n NODE_PERFORMANCE_GC_WEAKCB: 16,\n NODE_PERFORMANCE_GC_FLAGS_NO: 0,\n NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: 2,\n NODE_PERFORMANCE_GC_FLAGS_FORCED: 4,\n NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: 8,\n NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: 16,\n NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: 32,\n NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: 64\n}, performance = globalThis.performance;\n\nclass PerformanceObserver {\n constructor() {\n throwNotImplemented(\"PerformanceObserver\");\n }\n}\n\nclass PerformanceEntry {\n constructor() {\n throwNotImplemented(\"PerformanceEntry\");\n }\n}\n$ = {\n performance,\n constants,\n PerformanceEntry,\n PerformanceObserver\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodePerfHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/perf_hooks.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NODE_PERFORMANCE_GC_MAJOR: 4,\n NODE_PERFORMANCE_GC_MINOR: 1,\n NODE_PERFORMANCE_GC_INCREMENTAL: 8,\n NODE_PERFORMANCE_GC_WEAKCB: 16,\n NODE_PERFORMANCE_GC_FLAGS_NO: 0,\n NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: 2,\n NODE_PERFORMANCE_GC_FLAGS_FORCED: 4,\n NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: 8,\n NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: 16,\n NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: 32,\n NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: 64\n}, performance = globalThis.performance;\n\nclass PerformanceObserver {\n constructor() {\n throwNotImplemented(\"PerformanceObserver\");\n }\n}\n\nclass PerformanceEntry {\n constructor() {\n throwNotImplemented(\"PerformanceEntry\");\n }\n}\n$ = {\n performance,\n constants,\n PerformanceEntry,\n PerformanceObserver\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodePunycodeCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/punycode.ts\nvar error = function(type) {\n @throwRangeError(errors[type]);\n}, map = function(array, callback) {\n const result = [];\n let length = array.length;\n while (length--)\n result[length] = callback(array[length]);\n return result;\n}, mapDomain = function(domain, callback) {\n const parts = domain.split(\"@\");\n let result = \"\";\n if (parts.length > 1)\n result = parts[0] + \"@\", domain = parts[1];\n domain = domain.replace(regexSeparators, \".\");\n const labels = domain.split(\".\"), encoded = map(labels, callback).join(\".\");\n return result + encoded;\n}, ucs2decode = function(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 55296 && value <= 56319 && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 64512) == 56320)\n output.push(((value & 1023) << 10) + (extra & 1023) + 65536);\n else\n output.push(value), counter--;\n } else\n output.push(value);\n }\n return output;\n}, $, maxInt = 2147483647, base = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = \"-\", regexPunycode = /^xn--/, regexNonASCII = /[^\\0-\\x7F]/, regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, errors = {\n overflow: \"Overflow: input needs wider integers to process\",\n \"not-basic\": \"Illegal input >= 0x80 (not a basic code point)\",\n \"invalid-input\": \"Invalid input\"\n}, baseMinusTMin = base - tMin, floor = Math.floor, stringFromCharCode = @String.fromCharCode, ucs2encode = (codePoints) => @String.fromCodePoint(...codePoints), basicToDigit = function(codePoint) {\n if (codePoint >= 48 && codePoint < 58)\n return 26 + (codePoint - 48);\n if (codePoint >= 65 && codePoint < 91)\n return codePoint - 65;\n if (codePoint >= 97 && codePoint < 123)\n return codePoint - 97;\n return base;\n}, digitToBasic = function(digit, flag) {\n return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n}, adapt = function(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime \? floor(delta / damp) : delta >> 1, delta += floor(delta / numPoints);\n for (;delta > baseMinusTMin * tMax >> 1; k += base)\n delta = floor(delta / baseMinusTMin);\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}, decode = function(input) {\n const output = [], inputLength = input.length;\n let i = 0, n = initialN, bias = initialBias, basic = input.lastIndexOf(delimiter);\n if (basic < 0)\n basic = 0;\n for (let j = 0;j < basic; ++j) {\n if (input.charCodeAt(j) >= 128)\n error(\"not-basic\");\n output.push(input.charCodeAt(j));\n }\n for (let index = basic > 0 \? basic + 1 : 0;index < inputLength; ) {\n const oldi = i;\n for (let w = 1, k = base;; k += base) {\n if (index >= inputLength)\n error(\"invalid-input\");\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base)\n error(\"invalid-input\");\n if (digit > floor((maxInt - i) / w))\n error(\"overflow\");\n i += digit * w;\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (digit < t)\n break;\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT))\n error(\"overflow\");\n w *= baseMinusT;\n }\n const out = output.length + 1;\n if (bias = adapt(i - oldi, out, oldi == 0), floor(i / out) > maxInt - n)\n error(\"overflow\");\n n += floor(i / out), i %= out, output.splice(i++, 0, n);\n }\n return @String.fromCodePoint(...output);\n}, encode = function(input) {\n const output = [];\n input = ucs2decode(input);\n const inputLength = input.length;\n let n = initialN, delta = 0, bias = initialBias;\n for (let currentValue of input)\n if (currentValue < 128)\n output.push(stringFromCharCode(currentValue));\n const basicLength = output.length;\n let handledCPCount = basicLength;\n if (basicLength)\n output.push(delimiter);\n while (handledCPCount < inputLength) {\n let m = maxInt;\n for (let currentValue of input)\n if (currentValue >= n && currentValue < m)\n m = currentValue;\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne))\n error(\"overflow\");\n delta += (m - n) * handledCPCountPlusOne, n = m;\n for (let currentValue of input) {\n if (currentValue < n && ++delta > maxInt)\n error(\"overflow\");\n if (currentValue === n) {\n let q = delta;\n for (let k = base;; k += base) {\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (q < t)\n break;\n const qMinusT = q - t, baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))), q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q, 0))), bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength), delta = 0, ++handledCPCount;\n }\n }\n ++delta, ++n;\n }\n return output.join(\"\");\n}, toUnicode = function(input) {\n return mapDomain(input, function(string) {\n return regexPunycode.test(string) \? decode(string.slice(4).toLowerCase()) : string;\n });\n}, toASCII = function(input) {\n return mapDomain(input, function(string) {\n return regexNonASCII.test(string) \? \"xn--\" + encode(string) : string;\n });\n};\n$ = {\n version: \"2.1.0\",\n ucs2: {\n decode: ucs2decode,\n encode: ucs2encode\n },\n decode,\n encode,\n toASCII,\n toUnicode\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodePunycodeCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/punycode.ts\nvar error = function(type) {\n @throwRangeError(errors[type]);\n}, map = function(array, callback) {\n const result = [];\n let length = array.length;\n while (length--)\n result[length] = callback(array[length]);\n return result;\n}, mapDomain = function(domain, callback) {\n const parts = domain.split(\"@\");\n let result = \"\";\n if (parts.length > 1)\n result = parts[0] + \"@\", domain = parts[1];\n domain = domain.replace(regexSeparators, \".\");\n const labels = domain.split(\".\"), encoded = map(labels, callback).join(\".\");\n return result + encoded;\n}, ucs2decode = function(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 55296 && value <= 56319 && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 64512) == 56320)\n output.push(((value & 1023) << 10) + (extra & 1023) + 65536);\n else\n output.push(value), counter--;\n } else\n output.push(value);\n }\n return output;\n}, $, maxInt = 2147483647, base = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = \"-\", regexPunycode = /^xn--/, regexNonASCII = /[^\\0-\\x7F]/, regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, errors = {\n overflow: \"Overflow: input needs wider integers to process\",\n \"not-basic\": \"Illegal input >= 0x80 (not a basic code point)\",\n \"invalid-input\": \"Invalid input\"\n}, baseMinusTMin = base - tMin, floor = Math.floor, stringFromCharCode = @String.fromCharCode, ucs2encode = (codePoints) => @String.fromCodePoint(...codePoints), basicToDigit = function(codePoint) {\n if (codePoint >= 48 && codePoint < 58)\n return 26 + (codePoint - 48);\n if (codePoint >= 65 && codePoint < 91)\n return codePoint - 65;\n if (codePoint >= 97 && codePoint < 123)\n return codePoint - 97;\n return base;\n}, digitToBasic = function(digit, flag) {\n return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n}, adapt = function(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime \? floor(delta / damp) : delta >> 1, delta += floor(delta / numPoints);\n for (;delta > baseMinusTMin * tMax >> 1; k += base)\n delta = floor(delta / baseMinusTMin);\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}, decode = function(input) {\n const output = [], inputLength = input.length;\n let i = 0, n = initialN, bias = initialBias, basic = input.lastIndexOf(delimiter);\n if (basic < 0)\n basic = 0;\n for (let j = 0;j < basic; ++j) {\n if (input.charCodeAt(j) >= 128)\n error(\"not-basic\");\n output.push(input.charCodeAt(j));\n }\n for (let index = basic > 0 \? basic + 1 : 0;index < inputLength; ) {\n const oldi = i;\n for (let w = 1, k = base;; k += base) {\n if (index >= inputLength)\n error(\"invalid-input\");\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base)\n error(\"invalid-input\");\n if (digit > floor((maxInt - i) / w))\n error(\"overflow\");\n i += digit * w;\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (digit < t)\n break;\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT))\n error(\"overflow\");\n w *= baseMinusT;\n }\n const out = output.length + 1;\n if (bias = adapt(i - oldi, out, oldi == 0), floor(i / out) > maxInt - n)\n error(\"overflow\");\n n += floor(i / out), i %= out, output.splice(i++, 0, n);\n }\n return @String.fromCodePoint(...output);\n}, encode = function(input) {\n const output = [];\n input = ucs2decode(input);\n const inputLength = input.length;\n let n = initialN, delta = 0, bias = initialBias;\n for (let currentValue of input)\n if (currentValue < 128)\n output.push(stringFromCharCode(currentValue));\n const basicLength = output.length;\n let handledCPCount = basicLength;\n if (basicLength)\n output.push(delimiter);\n while (handledCPCount < inputLength) {\n let m = maxInt;\n for (let currentValue of input)\n if (currentValue >= n && currentValue < m)\n m = currentValue;\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne))\n error(\"overflow\");\n delta += (m - n) * handledCPCountPlusOne, n = m;\n for (let currentValue of input) {\n if (currentValue < n && ++delta > maxInt)\n error(\"overflow\");\n if (currentValue === n) {\n let q = delta;\n for (let k = base;; k += base) {\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (q < t)\n break;\n const qMinusT = q - t, baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))), q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q, 0))), bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength), delta = 0, ++handledCPCount;\n }\n }\n ++delta, ++n;\n }\n return output.join(\"\");\n}, toUnicode = function(input) {\n return mapDomain(input, function(string) {\n return regexPunycode.test(string) \? decode(string.slice(4).toLowerCase()) : string;\n });\n}, toASCII = function(input) {\n return mapDomain(input, function(string) {\n return regexNonASCII.test(string) \? \"xn--\" + encode(string) : string;\n });\n};\n$ = {\n version: \"2.1.0\",\n ucs2: {\n decode: ucs2decode,\n encode: ucs2encode\n },\n decode,\n encode,\n toASCII,\n toUnicode\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeQuerystringCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/querystring.ts\nvar __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports), Buffer = @requireNativeModule(\"buffer\").Buffer, require_object_keys = __commonJS((exports, module) => {\n var objectKeys = Object.keys || function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty, hasDontEnumBug = !{ toString: null }.propertyIsEnumerable(\"toString\"), dontEnums = [\n \"toString\",\n \"toLocaleString\",\n \"valueOf\",\n \"hasOwnProperty\",\n \"isPrototypeOf\",\n \"propertyIsEnumerable\",\n \"constructor\"\n ], dontEnumsLength = dontEnums.length;\n return function(obj) {\n if (typeof obj !== \"function\" && (typeof obj !== \"object\" || obj === null))\n @throwTypeError(\"Object.keys called on non-object\");\n var result = [], prop, i;\n for (prop in obj)\n if (hasOwnProperty.@call(obj, prop))\n result.push(prop);\n if (hasDontEnumBug) {\n for (i = 0;i < dontEnumsLength; i++)\n if (hasOwnProperty.@call(obj, dontEnums[i]))\n result.push(dontEnums[i]);\n }\n return result;\n };\n }();\n module.exports = objectKeys;\n}), require_src = __commonJS((exports, module) => {\n var ParsedQueryString = function() {\n }, unescapeBuffer = function(s, decodeSpaces) {\n var out = Buffer.allocUnsafe(s.length), state = 0, n, m, hexchar, c;\n for (var inIndex = 0, outIndex = 0;; inIndex++) {\n if (inIndex < s.length)\n c = s.charCodeAt(inIndex);\n else {\n if (state > 0) {\n if (out[outIndex++] = 37, state === 2)\n out[outIndex++] = hexchar;\n }\n break;\n }\n switch (state) {\n case 0:\n switch (c) {\n case 37:\n n = 0, m = 0, state = 1;\n break;\n case 43:\n if (decodeSpaces)\n c = 32;\n default:\n out[outIndex++] = c;\n break;\n }\n break;\n case 1:\n if (hexchar = c, n = unhexTable[c], !(n >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = c, state = 0;\n break;\n }\n state = 2;\n break;\n case 2:\n if (state = 0, m = unhexTable[c], !(m >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = hexchar, out[outIndex++] = c;\n break;\n }\n out[outIndex++] = 16 * n + m;\n break;\n }\n }\n return out.slice(0, outIndex);\n }, qsUnescape = function(s, decodeSpaces) {\n try {\n return decodeURIComponent(s);\n } catch (e) {\n return QueryString.unescapeBuffer(s, decodeSpaces).toString();\n }\n }, qsEscape = function(str) {\n if (typeof str !== \"string\")\n if (typeof str === \"object\")\n str = @String(str);\n else\n str += \"\";\n var out = \"\", lastPos = 0;\n for (var i2 = 0;i2 < str.length; ++i2) {\n var c = str.charCodeAt(i2);\n if (c < 128) {\n if (noEscape[c] === 1)\n continue;\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n lastPos = i2 + 1, out += hexTable[c];\n continue;\n }\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n if (c < 2048) {\n lastPos = i2 + 1, out += hexTable[192 | c >> 6] + hexTable[128 | c & 63];\n continue;\n }\n if (c < 55296 || c >= 57344) {\n lastPos = i2 + 1, out += hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n continue;\n }\n ++i2;\n var c2;\n if (i2 < str.length)\n c2 = str.charCodeAt(i2) & 1023;\n else\n throw new URIError(\"URI malformed\");\n lastPos = i2 + 1, c = 65536 + ((c & 1023) << 10 | c2), out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n }\n if (lastPos === 0)\n return str;\n if (lastPos < str.length)\n return out + str.slice(lastPos);\n return out;\n }, stringifyPrimitive = function(v) {\n if (typeof v === \"string\")\n return v;\n if (typeof v === \"number\" && @isFinite(v))\n return \"\" + v;\n if (typeof v === \"boolean\")\n return v \? \"true\" : \"false\";\n return \"\";\n }, stringify = function(obj, sep, eq, options) {\n sep = sep || \"&\", eq = eq || \"=\";\n var encode = QueryString.escape;\n if (options && typeof options.encodeURIComponent === \"function\")\n encode = options.encodeURIComponent;\n if (obj !== null && typeof obj === \"object\") {\n var keys = objectKeys(obj), len = keys.length, flast = len - 1, fields = \"\";\n for (var i2 = 0;i2 < len; ++i2) {\n var k = keys[i2], v = obj[k], ks = encode(stringifyPrimitive(k)) + eq;\n if (isArray(v)) {\n var vlen = v.length, vlast = vlen - 1;\n for (var j = 0;j < vlen; ++j)\n if (fields += ks + encode(stringifyPrimitive(v[j])), j < vlast)\n fields += sep;\n if (vlen && i2 < flast)\n fields += sep;\n } else if (fields += ks + encode(stringifyPrimitive(v)), i2 < flast)\n fields += sep;\n }\n return fields;\n }\n return \"\";\n }, charCodes = function(str) {\n if (str.length === 0)\n return [];\n if (str.length === 1)\n return [str.charCodeAt(0)];\n const ret = [];\n for (var i2 = 0;i2 < str.length; ++i2)\n ret[ret.length] = str.charCodeAt(i2);\n return ret;\n }, parse = function(qs, sep, eq, options) {\n const obj = new ParsedQueryString;\n if (typeof qs !== \"string\" || qs.length === 0)\n return obj;\n var sepCodes = !sep \? defSepCodes : charCodes(sep + \"\"), eqCodes = !eq \? defEqCodes : charCodes(eq + \"\");\n const sepLen = sepCodes.length, eqLen = eqCodes.length;\n var pairs = 1000;\n if (options && typeof options.maxKeys === \"number\")\n pairs = options.maxKeys > 0 \? options.maxKeys : -1;\n var decode = QueryString.unescape;\n if (options && typeof options.decodeURIComponent === \"function\")\n decode = options.decodeURIComponent;\n const customDecode = decode !== qsUnescape, keys = [];\n var posIdx = 0, lastPos = 0, sepIdx = 0, eqIdx = 0, key = \"\", value = \"\", keyEncoded = customDecode, valEncoded = customDecode, encodeCheck = 0;\n for (var i2 = 0;i2 < qs.length; ++i2) {\n const code = qs.charCodeAt(i2);\n if (code === sepCodes[sepIdx]) {\n if (++sepIdx === sepLen) {\n const end = i2 - sepIdx + 1;\n if (eqIdx < eqLen) {\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n } else if (lastPos < end)\n value += qs.slice(lastPos, end);\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (key || value || lastPos - posIdx > sepLen || i2 === 0)\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key] || \"\";\n if (curValue.pop)\n curValue[curValue.length] = value;\n else if (curValue)\n obj[key] = [curValue, value];\n }\n else if (i2 === 1)\n delete obj[key];\n if (--pairs === 0)\n break;\n keyEncoded = valEncoded = customDecode, encodeCheck = 0, key = value = \"\", posIdx = lastPos, lastPos = i2 + 1, sepIdx = eqIdx = 0;\n }\n continue;\n } else if (sepIdx = 0, !valEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n valEncoded = !0;\n } else\n encodeCheck = 0;\n if (eqIdx < eqLen) {\n if (code === eqCodes[eqIdx]) {\n if (++eqIdx === eqLen) {\n const end = i2 - eqIdx + 1;\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n encodeCheck = 0, lastPos = i2 + 1;\n }\n continue;\n } else if (eqIdx = 0, !keyEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n keyEncoded = !0;\n } else\n encodeCheck = 0;\n }\n if (code === 43) {\n if (eqIdx < eqLen) {\n if (lastPos < i2)\n key += qs.slice(lastPos, i2);\n key += \"%20\", keyEncoded = !0;\n } else {\n if (lastPos < i2)\n value += qs.slice(lastPos, i2);\n value += \"%20\", valEncoded = !0;\n }\n lastPos = i2 + 1;\n }\n }\n if (pairs !== 0 && (lastPos < qs.length || eqIdx > 0)) {\n if (lastPos < qs.length) {\n if (eqIdx < eqLen)\n key += qs.slice(lastPos);\n else if (sepIdx < sepLen)\n value += qs.slice(lastPos);\n }\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key];\n if (curValue.pop)\n curValue[curValue.length] = value;\n else\n obj[key] = [curValue, value];\n }\n }\n return obj;\n }, decodeStr = function(s, decoder) {\n try {\n return decoder(s);\n } catch (e) {\n return QueryString.unescape(s, !0);\n }\n }, QueryString = module.exports = {\n unescapeBuffer,\n unescape: qsUnescape,\n escape: qsEscape,\n stringify,\n encode: stringify,\n parse,\n decode: parse\n }, objectKeys = require_object_keys(), isArray = (arg) => Object.prototype.toString.@call(arg) === \"[object Array]\", indexOf = (arr, searchElement, fromIndex) => {\n var k;\n if (arr == null)\n @throwTypeError('\"arr\" is null or not defined');\n var o = Object(arr), len = o.length >>> 0;\n if (len === 0)\n return -1;\n var n = fromIndex | 0;\n if (n >= len)\n return -1;\n k = Math.max(n >= 0 \? n : len - Math.abs(n), 0);\n while (k < len) {\n if ((k in o) && o[k] === searchElement)\n return k;\n k++;\n }\n return -1;\n };\n ParsedQueryString.prototype = Object.create \? Object.create(null) : {};\n var unhexTable = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ], hexTable = [];\n for (i = 0;i < 256; ++i)\n hexTable[i] = \"%\" + ((i < 16 \? \"0\" : \"\") + i.toString(16)).toUpperCase();\n var i, noEscape = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0\n ], defSepCodes = [38], defEqCodes = [61];\n});\nreturn require_src()})\n"); +static constexpr ASCIILiteral NodeQuerystringCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/querystring.ts\nvar __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports), Buffer = @requireNativeModule(\"buffer\").Buffer, require_object_keys = __commonJS((exports, module) => {\n var objectKeys = Object.keys || function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty, hasDontEnumBug = !{ toString: null }.propertyIsEnumerable(\"toString\"), dontEnums = [\n \"toString\",\n \"toLocaleString\",\n \"valueOf\",\n \"hasOwnProperty\",\n \"isPrototypeOf\",\n \"propertyIsEnumerable\",\n \"constructor\"\n ], dontEnumsLength = dontEnums.length;\n return function(obj) {\n if (typeof obj !== \"function\" && (typeof obj !== \"object\" || obj === null))\n @throwTypeError(\"Object.keys called on non-object\");\n var result = [], prop, i;\n for (prop in obj)\n if (hasOwnProperty.@call(obj, prop))\n result.push(prop);\n if (hasDontEnumBug) {\n for (i = 0;i < dontEnumsLength; i++)\n if (hasOwnProperty.@call(obj, dontEnums[i]))\n result.push(dontEnums[i]);\n }\n return result;\n };\n }();\n module.exports = objectKeys;\n}), require_src = __commonJS((exports, module) => {\n var ParsedQueryString = function() {\n }, unescapeBuffer = function(s, decodeSpaces) {\n var out = Buffer.allocUnsafe(s.length), state = 0, n, m, hexchar, c;\n for (var inIndex = 0, outIndex = 0;; inIndex++) {\n if (inIndex < s.length)\n c = s.charCodeAt(inIndex);\n else {\n if (state > 0) {\n if (out[outIndex++] = 37, state === 2)\n out[outIndex++] = hexchar;\n }\n break;\n }\n switch (state) {\n case 0:\n switch (c) {\n case 37:\n n = 0, m = 0, state = 1;\n break;\n case 43:\n if (decodeSpaces)\n c = 32;\n default:\n out[outIndex++] = c;\n break;\n }\n break;\n case 1:\n if (hexchar = c, n = unhexTable[c], !(n >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = c, state = 0;\n break;\n }\n state = 2;\n break;\n case 2:\n if (state = 0, m = unhexTable[c], !(m >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = hexchar, out[outIndex++] = c;\n break;\n }\n out[outIndex++] = 16 * n + m;\n break;\n }\n }\n return out.slice(0, outIndex);\n }, qsUnescape = function(s, decodeSpaces) {\n try {\n return decodeURIComponent(s);\n } catch (e) {\n return QueryString.unescapeBuffer(s, decodeSpaces).toString();\n }\n }, qsEscape = function(str) {\n if (typeof str !== \"string\")\n if (typeof str === \"object\")\n str = @String(str);\n else\n str += \"\";\n var out = \"\", lastPos = 0;\n for (var i2 = 0;i2 < str.length; ++i2) {\n var c = str.charCodeAt(i2);\n if (c < 128) {\n if (noEscape[c] === 1)\n continue;\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n lastPos = i2 + 1, out += hexTable[c];\n continue;\n }\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n if (c < 2048) {\n lastPos = i2 + 1, out += hexTable[192 | c >> 6] + hexTable[128 | c & 63];\n continue;\n }\n if (c < 55296 || c >= 57344) {\n lastPos = i2 + 1, out += hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n continue;\n }\n ++i2;\n var c2;\n if (i2 < str.length)\n c2 = str.charCodeAt(i2) & 1023;\n else\n throw new URIError(\"URI malformed\");\n lastPos = i2 + 1, c = 65536 + ((c & 1023) << 10 | c2), out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n }\n if (lastPos === 0)\n return str;\n if (lastPos < str.length)\n return out + str.slice(lastPos);\n return out;\n }, stringifyPrimitive = function(v) {\n if (typeof v === \"string\")\n return v;\n if (typeof v === \"number\" && @isFinite(v))\n return \"\" + v;\n if (typeof v === \"boolean\")\n return v \? \"true\" : \"false\";\n return \"\";\n }, stringify = function(obj, sep, eq, options) {\n sep = sep || \"&\", eq = eq || \"=\";\n var encode = QueryString.escape;\n if (options && typeof options.encodeURIComponent === \"function\")\n encode = options.encodeURIComponent;\n if (obj !== null && typeof obj === \"object\") {\n var keys = objectKeys(obj), len = keys.length, flast = len - 1, fields = \"\";\n for (var i2 = 0;i2 < len; ++i2) {\n var k = keys[i2], v = obj[k], ks = encode(stringifyPrimitive(k)) + eq;\n if (isArray(v)) {\n var vlen = v.length, vlast = vlen - 1;\n for (var j = 0;j < vlen; ++j)\n if (fields += ks + encode(stringifyPrimitive(v[j])), j < vlast)\n fields += sep;\n if (vlen && i2 < flast)\n fields += sep;\n } else if (fields += ks + encode(stringifyPrimitive(v)), i2 < flast)\n fields += sep;\n }\n return fields;\n }\n return \"\";\n }, charCodes = function(str) {\n if (str.length === 0)\n return [];\n if (str.length === 1)\n return [str.charCodeAt(0)];\n const ret = [];\n for (var i2 = 0;i2 < str.length; ++i2)\n ret[ret.length] = str.charCodeAt(i2);\n return ret;\n }, parse = function(qs, sep, eq, options) {\n const obj = new ParsedQueryString;\n if (typeof qs !== \"string\" || qs.length === 0)\n return obj;\n var sepCodes = !sep \? defSepCodes : charCodes(sep + \"\"), eqCodes = !eq \? defEqCodes : charCodes(eq + \"\");\n const sepLen = sepCodes.length, eqLen = eqCodes.length;\n var pairs = 1000;\n if (options && typeof options.maxKeys === \"number\")\n pairs = options.maxKeys > 0 \? options.maxKeys : -1;\n var decode = QueryString.unescape;\n if (options && typeof options.decodeURIComponent === \"function\")\n decode = options.decodeURIComponent;\n const customDecode = decode !== qsUnescape, keys = [];\n var posIdx = 0, lastPos = 0, sepIdx = 0, eqIdx = 0, key = \"\", value = \"\", keyEncoded = customDecode, valEncoded = customDecode, encodeCheck = 0;\n for (var i2 = 0;i2 < qs.length; ++i2) {\n const code = qs.charCodeAt(i2);\n if (code === sepCodes[sepIdx]) {\n if (++sepIdx === sepLen) {\n const end = i2 - sepIdx + 1;\n if (eqIdx < eqLen) {\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n } else if (lastPos < end)\n value += qs.slice(lastPos, end);\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (key || value || lastPos - posIdx > sepLen || i2 === 0)\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key] || \"\";\n if (curValue.pop)\n curValue[curValue.length] = value;\n else if (curValue)\n obj[key] = [curValue, value];\n }\n else if (i2 === 1)\n delete obj[key];\n if (--pairs === 0)\n break;\n keyEncoded = valEncoded = customDecode, encodeCheck = 0, key = value = \"\", posIdx = lastPos, lastPos = i2 + 1, sepIdx = eqIdx = 0;\n }\n continue;\n } else if (sepIdx = 0, !valEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n valEncoded = !0;\n } else\n encodeCheck = 0;\n if (eqIdx < eqLen) {\n if (code === eqCodes[eqIdx]) {\n if (++eqIdx === eqLen) {\n const end = i2 - eqIdx + 1;\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n encodeCheck = 0, lastPos = i2 + 1;\n }\n continue;\n } else if (eqIdx = 0, !keyEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n keyEncoded = !0;\n } else\n encodeCheck = 0;\n }\n if (code === 43) {\n if (eqIdx < eqLen) {\n if (lastPos < i2)\n key += qs.slice(lastPos, i2);\n key += \"%20\", keyEncoded = !0;\n } else {\n if (lastPos < i2)\n value += qs.slice(lastPos, i2);\n value += \"%20\", valEncoded = !0;\n }\n lastPos = i2 + 1;\n }\n }\n if (pairs !== 0 && (lastPos < qs.length || eqIdx > 0)) {\n if (lastPos < qs.length) {\n if (eqIdx < eqLen)\n key += qs.slice(lastPos);\n else if (sepIdx < sepLen)\n value += qs.slice(lastPos);\n }\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key];\n if (curValue.pop)\n curValue[curValue.length] = value;\n else\n obj[key] = [curValue, value];\n }\n }\n return obj;\n }, decodeStr = function(s, decoder) {\n try {\n return decoder(s);\n } catch (e) {\n return QueryString.unescape(s, !0);\n }\n }, QueryString = module.exports = {\n unescapeBuffer,\n unescape: qsUnescape,\n escape: qsEscape,\n stringify,\n encode: stringify,\n parse,\n decode: parse\n }, objectKeys = require_object_keys(), isArray = (arg) => Object.prototype.toString.@call(arg) === \"[object Array]\", indexOf = (arr, searchElement, fromIndex) => {\n var k;\n if (arr == null)\n @throwTypeError('\"arr\" is null or not defined');\n var o = Object(arr), len = o.length >>> 0;\n if (len === 0)\n return -1;\n var n = fromIndex | 0;\n if (n >= len)\n return -1;\n k = Math.max(n >= 0 \? n : len - Math.abs(n), 0);\n while (k < len) {\n if ((k in o) && o[k] === searchElement)\n return k;\n k++;\n }\n return -1;\n };\n ParsedQueryString.prototype = Object.create \? Object.create(null) : {};\n var unhexTable = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ], hexTable = [];\n for (i = 0;i < 256; ++i)\n hexTable[i] = \"%\" + ((i < 16 \? \"0\" : \"\") + i.toString(16)).toUpperCase();\n var i, noEscape = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0\n ], defSepCodes = [38], defEqCodes = [61];\n});\nreturn require_src()})\n"); // // -static constexpr ASCIILiteral NodeReadlineCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/readline.ts\nvar stripVTControlCharacters = function(str) {\n return validateString(str, \"str\"), RegExpPrototypeSymbolReplace.@call(ansi, str, \"\");\n}, promisify = function(original) {\n if (validateFunction(original, \"original\"), original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n return validateFunction(fn, \"util.promisify.custom\"), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n }\n var argumentNames = original[kCustomPromisifyArgsSymbol];\n function fn(...args) {\n return new @Promise((resolve, reject) => {\n ArrayPrototypePush.@call(args, (err, ...values) => {\n if (err)\n return reject(err);\n if (argumentNames !== @undefined && values.length > 1) {\n var obj = {};\n for (var i2 = 0;i2 < argumentNames.length; i2++)\n obj[argumentNames[i2]] = values[i2];\n resolve(obj);\n } else\n resolve(values[0]);\n }), ReflectApply(original, this, args);\n });\n }\n ObjectSetPrototypeOf(fn, ObjectGetPrototypeOf(original)), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n var descriptors = ObjectGetOwnPropertyDescriptors(original), propertiesValues = ObjectValues(descriptors);\n for (var i = 0;i < propertiesValues.length; i++)\n ObjectSetPrototypeOf(propertiesValues[i], null);\n return ObjectDefineProperties(fn, descriptors);\n}, getNodeErrorByName = function(typeName) {\n var base = errorBases[typeName];\n if (base)\n return base;\n if (!ObjectKeys(VALID_NODE_ERROR_BASES).includes(typeName))\n throw new Error(\"Invalid NodeError type\");\n var Base = VALID_NODE_ERROR_BASES[typeName];\n\n class NodeError extends Base {\n [kIsNodeError] = !0;\n code;\n constructor(msg, opts) {\n super(msg, opts);\n this.code = opts\?.code || \"ERR_GENERIC\";\n }\n toString() {\n return `${this.name} [${this.code}]: ${this.message}`;\n }\n }\n return errorBases[typeName] = NodeError, NodeError;\n}, validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateArray = function(value, name, minLength = 0) {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n var reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar validateInteger = function(value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, validateUint32 = function(value, name, positive = !1) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n var min = positive \? 1 : 0, max = 4294967295;\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, CSI = function(strings, ...args) {\n var ret = `${kEscape}[`;\n for (var n = 0;n < strings.length; n++)\n if (ret += strings[n], n < args.length)\n ret += args[n];\n return ret;\n}, charLengthLeft = function(str, i) {\n if (i <= 0)\n return 0;\n if (i > 1 && StringPrototypeCodePointAt.@call(str, i - 2) >= kUTF16SurrogateThreshold || StringPrototypeCodePointAt.@call(str, i - 1) >= kUTF16SurrogateThreshold)\n return 2;\n return 1;\n}, charLengthAt = function(str, i) {\n if (str.length <= i)\n return 1;\n return StringPrototypeCodePointAt.@call(str, i) >= kUTF16SurrogateThreshold \? 2 : 1;\n};\nfunction* emitKeys(stream) {\n while (!0) {\n var ch = yield, s = ch, escaped = !1, keySeq = null, keyName, keyCtrl2 = !1, keyMeta = !1, keyShift = !1;\n if (ch === kEscape) {\n if (escaped = !0, s += ch = yield, ch === kEscape)\n s += ch = yield;\n }\n if (escaped && (ch === \"O\" || ch === \"[\")) {\n var code = ch, modifier = 0;\n if (ch === \"O\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n modifier = (ch >> 0) - 1, s += ch = yield;\n code += ch;\n } else if (ch === \"[\") {\n if (s += ch = yield, ch === \"[\")\n code += ch, s += ch = yield;\n var cmdStart = s.length - 1;\n if (ch >= \"0\" && ch <= \"9\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += ch = yield;\n }\n if (ch === \";\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += yield;\n }\n var cmd = StringPrototypeSlice.@call(s, cmdStart), match;\n if (match = RegExpPrototypeExec.@call(/^(\\d\\d\?)(;(\\d))\?([~^$])$/, cmd))\n code += match[1] + match[4], modifier = (match[3] || 1) - 1;\n else if (match = RegExpPrototypeExec.@call(/^((\\d;)\?(\\d))\?([A-Za-z])$/, cmd))\n code += match[4], modifier = (match[3] || 1) - 1;\n else\n code += cmd;\n }\n switch (keyCtrl2 = !!(modifier & 4), keyMeta = !!(modifier & 10), keyShift = !!(modifier & 1), code) {\n case \"[P\":\n keyName = \"f1\";\n break;\n case \"[Q\":\n keyName = \"f2\";\n break;\n case \"[R\":\n keyName = \"f3\";\n break;\n case \"[S\":\n keyName = \"f4\";\n break;\n case \"OP\":\n keyName = \"f1\";\n break;\n case \"OQ\":\n keyName = \"f2\";\n break;\n case \"OR\":\n keyName = \"f3\";\n break;\n case \"OS\":\n keyName = \"f4\";\n break;\n case \"[11~\":\n keyName = \"f1\";\n break;\n case \"[12~\":\n keyName = \"f2\";\n break;\n case \"[13~\":\n keyName = \"f3\";\n break;\n case \"[14~\":\n keyName = \"f4\";\n break;\n case \"[[A\":\n keyName = \"f1\";\n break;\n case \"[[B\":\n keyName = \"f2\";\n break;\n case \"[[C\":\n keyName = \"f3\";\n break;\n case \"[[D\":\n keyName = \"f4\";\n break;\n case \"[[E\":\n keyName = \"f5\";\n break;\n case \"[15~\":\n keyName = \"f5\";\n break;\n case \"[17~\":\n keyName = \"f6\";\n break;\n case \"[18~\":\n keyName = \"f7\";\n break;\n case \"[19~\":\n keyName = \"f8\";\n break;\n case \"[20~\":\n keyName = \"f9\";\n break;\n case \"[21~\":\n keyName = \"f10\";\n break;\n case \"[23~\":\n keyName = \"f11\";\n break;\n case \"[24~\":\n keyName = \"f12\";\n break;\n case \"[A\":\n keyName = \"up\";\n break;\n case \"[B\":\n keyName = \"down\";\n break;\n case \"[C\":\n keyName = \"right\";\n break;\n case \"[D\":\n keyName = \"left\";\n break;\n case \"[E\":\n keyName = \"clear\";\n break;\n case \"[F\":\n keyName = \"end\";\n break;\n case \"[H\":\n keyName = \"home\";\n break;\n case \"OA\":\n keyName = \"up\";\n break;\n case \"OB\":\n keyName = \"down\";\n break;\n case \"OC\":\n keyName = \"right\";\n break;\n case \"OD\":\n keyName = \"left\";\n break;\n case \"OE\":\n keyName = \"clear\";\n break;\n case \"OF\":\n keyName = \"end\";\n break;\n case \"OH\":\n keyName = \"home\";\n break;\n case \"[1~\":\n keyName = \"home\";\n break;\n case \"[2~\":\n keyName = \"insert\";\n break;\n case \"[3~\":\n keyName = \"delete\";\n break;\n case \"[4~\":\n keyName = \"end\";\n break;\n case \"[5~\":\n keyName = \"pageup\";\n break;\n case \"[6~\":\n keyName = \"pagedown\";\n break;\n case \"[[5~\":\n keyName = \"pageup\";\n break;\n case \"[[6~\":\n keyName = \"pagedown\";\n break;\n case \"[7~\":\n keyName = \"home\";\n break;\n case \"[8~\":\n keyName = \"end\";\n break;\n case \"[a\":\n keyName = \"up\", keyShift = !0;\n break;\n case \"[b\":\n keyName = \"down\", keyShift = !0;\n break;\n case \"[c\":\n keyName = \"right\", keyShift = !0;\n break;\n case \"[d\":\n keyName = \"left\", keyShift = !0;\n break;\n case \"[e\":\n keyName = \"clear\", keyShift = !0;\n break;\n case \"[2$\":\n keyName = \"insert\", keyShift = !0;\n break;\n case \"[3$\":\n keyName = \"delete\", keyShift = !0;\n break;\n case \"[5$\":\n keyName = \"pageup\", keyShift = !0;\n break;\n case \"[6$\":\n keyName = \"pagedown\", keyShift = !0;\n break;\n case \"[7$\":\n keyName = \"home\", keyShift = !0;\n break;\n case \"[8$\":\n keyName = \"end\", keyShift = !0;\n break;\n case \"Oa\":\n keyName = \"up\", keyCtrl2 = !0;\n break;\n case \"Ob\":\n keyName = \"down\", keyCtrl2 = !0;\n break;\n case \"Oc\":\n keyName = \"right\", keyCtrl2 = !0;\n break;\n case \"Od\":\n keyName = \"left\", keyCtrl2 = !0;\n break;\n case \"Oe\":\n keyName = \"clear\", keyCtrl2 = !0;\n break;\n case \"[2^\":\n keyName = \"insert\", keyCtrl2 = !0;\n break;\n case \"[3^\":\n keyName = \"delete\", keyCtrl2 = !0;\n break;\n case \"[5^\":\n keyName = \"pageup\", keyCtrl2 = !0;\n break;\n case \"[6^\":\n keyName = \"pagedown\", keyCtrl2 = !0;\n break;\n case \"[7^\":\n keyName = \"home\", keyCtrl2 = !0;\n break;\n case \"[8^\":\n keyName = \"end\", keyCtrl2 = !0;\n break;\n case \"[Z\":\n keyName = \"tab\", keyShift = !0;\n break;\n default:\n keyName = \"undefined\";\n break;\n }\n } else if (ch === \"\\r\")\n keyName = \"return\", keyMeta = escaped;\n else if (ch === \"\\n\")\n keyName = \"enter\", keyMeta = escaped;\n else if (ch === \"\\t\")\n keyName = \"tab\", keyMeta = escaped;\n else if (ch === \"\\b\" || ch === \"\\x7F\")\n keyName = \"backspace\", keyMeta = escaped;\n else if (ch === kEscape)\n keyName = \"escape\", keyMeta = escaped;\n else if (ch === \" \")\n keyName = \"space\", keyMeta = escaped;\n else if (!escaped && ch <= \"\\x1A\")\n keyName = StringFromCharCode(StringPrototypeCharCodeAt.@call(ch) + StringPrototypeCharCodeAt.@call(\"a\") - 1), keyCtrl2 = !0;\n else if (RegExpPrototypeExec.@call(/^[0-9A-Za-z]$/, ch) !== null)\n keyName = StringPrototypeToLowerCase.@call(ch), keyShift = RegExpPrototypeExec.@call(/^[A-Z]$/, ch) !== null, keyMeta = escaped;\n else if (escaped)\n keyName = ch.length \? @undefined : \"escape\", keyMeta = !0;\n else\n keyName = @undefined;\n if (keySeq = s, s.length !== 0 && (keyName !== @undefined || escaped))\n stream.emit(\"keypress\", escaped \? @undefined : s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n else if (charLengthAt(s, 0) === s.length)\n stream.emit(\"keypress\", s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n }\n}\nvar commonPrefix = function(strings) {\n if (strings.length === 0)\n return \"\";\n if (strings.length === 1)\n return strings[0];\n var sorted = ArrayPrototypeSort.@call(ArrayPrototypeSlice.@call(strings)), min = sorted[0], max = sorted[sorted.length - 1];\n for (var i = 0;i < min.length; i++)\n if (min[i] !== max[i])\n return StringPrototypeSlice.@call(min, 0, i);\n return min;\n}, cursorTo = function(stream, x, y, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (typeof y === \"function\")\n callback = y, y = @undefined;\n if (NumberIsNaN(x))\n throw new ERR_INVALID_ARG_VALUE(\"x\", x);\n if (NumberIsNaN(y))\n throw new ERR_INVALID_ARG_VALUE(\"y\", y);\n if (stream == null || typeof x !== \"number\" && typeof y !== \"number\") {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n if (typeof x !== \"number\")\n throw new ERR_INVALID_CURSOR_POS;\n var data = typeof y !== \"number\" \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n return stream.write(data, callback);\n}, moveCursor = function(stream, dx, dy, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream == null || !(dx || dy)) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n return stream.write(data, callback);\n}, clearLine = function(stream, dir, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var type = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n return stream.write(type, callback);\n}, clearScreenDown = function(stream, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n return stream.write(kClearScreenDown, callback);\n}, emitKeypressEvents = function(stream, iface = {}) {\n if (stream[KEYPRESS_DECODER])\n return;\n stream[KEYPRESS_DECODER] = new StringDecoder(\"utf8\"), stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next();\n var triggerEscape = () => stream[ESCAPE_DECODER].next(\"\"), { escapeCodeTimeout = ESCAPE_CODE_TIMEOUT } = iface, timeoutId;\n function onData(input) {\n if (stream.listenerCount(\"keypress\") > 0) {\n var string = stream[KEYPRESS_DECODER].write(input);\n if (string) {\n clearTimeout(timeoutId), iface[kSawKeyPress] = charLengthAt(string, 0) === string.length, iface.isCompletionEnabled = !1;\n var length = 0;\n for (var character of new SafeStringIterator(string)) {\n if (length += character.length, length === string.length)\n iface.isCompletionEnabled = !0;\n try {\n if (stream[ESCAPE_DECODER].next(character), length === string.length && character === kEscape)\n timeoutId = setTimeout(triggerEscape, escapeCodeTimeout);\n } catch (err) {\n throw stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next(), err;\n }\n }\n }\n } else\n stream.removeListener(\"data\", onData), stream.on(\"newListener\", onNewListener);\n }\n function onNewListener(event) {\n if (event === \"keypress\")\n stream.on(\"data\", onData), stream.removeListener(\"newListener\", onNewListener);\n }\n if (stream.listenerCount(\"keypress\") > 0)\n stream.on(\"data\", onData);\n else\n stream.on(\"newListener\", onNewListener);\n}, onSelfCloseWithTerminal = function() {\n var input = this.input, output = this.output;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n if (input.removeListener(\"keypress\", this[kOnKeyPress]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnTermEnd]), output !== null && output !== @undefined)\n output.removeListener(\"resize\", this[kOnResize]);\n}, onSelfCloseWithoutTerminal = function() {\n var input = this.input;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n input.removeListener(\"data\", this[kOnData]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnEnd]);\n}, onError = function(err) {\n this.emit(\"error\", err);\n}, onData = function(data) {\n debug(\"onData\"), this[kNormalWrite](data);\n}, onEnd = function() {\n if (debug(\"onEnd\"), typeof this[kLine_buffer] === \"string\" && this[kLine_buffer].length > 0)\n this.emit(\"line\", this[kLine_buffer]);\n this.close();\n}, onTermEnd = function() {\n if (debug(\"onTermEnd\"), typeof this.line === \"string\" && this.line.length > 0)\n this.emit(\"line\", this.line);\n this.close();\n}, onKeyPress = function(s, key) {\n if (this[kTtyWrite](s, key), key && key.sequence) {\n var ch = StringPrototypeCodePointAt.@call(key.sequence, 0);\n if (ch >= 55296 && ch <= 57343)\n this[kRefreshLine]();\n }\n}, onResize = function() {\n this[kRefreshLine]();\n}, InterfaceConstructor = function(input, output, completer, terminal) {\n if (!(this instanceof InterfaceConstructor))\n return new InterfaceConstructor(input, output, completer, terminal);\n EventEmitter.@call(this), this[kOnSelfCloseWithoutTerminal] = onSelfCloseWithoutTerminal.bind(this), this[kOnSelfCloseWithTerminal] = onSelfCloseWithTerminal.bind(this), this[kOnError] = onError.bind(this), this[kOnData] = onData.bind(this), this[kOnEnd] = onEnd.bind(this), this[kOnTermEnd] = onTermEnd.bind(this), this[kOnKeyPress] = onKeyPress.bind(this), this[kOnResize] = onResize.bind(this), this[kSawReturnAt] = 0, this.isCompletionEnabled = !0, this[kSawKeyPress] = !1, this[kPreviousKey] = null, this.escapeCodeTimeout = ESCAPE_CODE_TIMEOUT, this.tabSize = 8;\n var history, historySize, removeHistoryDuplicates = !1, crlfDelay, prompt = \"> \", signal;\n if (input\?.input) {\n output = input.output, completer = input.completer, terminal = input.terminal, history = input.history, historySize = input.historySize, signal = input.signal;\n var tabSize = input.tabSize;\n if (tabSize !== @undefined)\n validateUint32(tabSize, \"tabSize\", !0), this.tabSize = tabSize;\n removeHistoryDuplicates = input.removeHistoryDuplicates;\n var inputPrompt = input.prompt;\n if (inputPrompt !== @undefined)\n prompt = inputPrompt;\n var inputEscapeCodeTimeout = input.escapeCodeTimeout;\n if (inputEscapeCodeTimeout !== @undefined)\n if (NumberIsFinite(inputEscapeCodeTimeout))\n this.escapeCodeTimeout = inputEscapeCodeTimeout;\n else\n throw new ERR_INVALID_ARG_VALUE(\"input.escapeCodeTimeout\", this.escapeCodeTimeout);\n if (signal)\n validateAbortSignal(signal, \"options.signal\");\n crlfDelay = input.crlfDelay, input = input.input;\n }\n if (completer !== @undefined && typeof completer !== \"function\")\n throw new ERR_INVALID_ARG_VALUE(\"completer\", completer);\n if (history === @undefined)\n history = [];\n else\n validateArray(history, \"history\");\n if (historySize === @undefined)\n historySize = kHistorySize;\n if (typeof historySize !== \"number\" || NumberIsNaN(historySize) || historySize < 0)\n throw new ERR_INVALID_ARG_VALUE(\"historySize\", historySize);\n if (terminal === @undefined && !(output === null || output === @undefined))\n terminal = !!output.isTTY;\n if (this.line = \"\", this[kSubstringSearch] = null, this.output = output, this.input = input, this[kUndoStack] = [], this[kRedoStack] = [], this.history = history, this.historySize = historySize, this[kKillRing] = [], this[kKillRingCursor] = 0, this.removeHistoryDuplicates = !!removeHistoryDuplicates, this.crlfDelay = crlfDelay \? MathMax(kMincrlfDelay, crlfDelay) : kMincrlfDelay, this.completer = completer, this.setPrompt(prompt), this.terminal = !!terminal, this[kLineObjectStream] = @undefined, input.on(\"error\", this[kOnError]), !this.terminal)\n input.on(\"data\", this[kOnData]), input.on(\"end\", this[kOnEnd]), this.once(\"close\", this[kOnSelfCloseWithoutTerminal]), this[kDecoder] = new StringDecoder(\"utf8\");\n else {\n if (emitKeypressEvents(input, this), input.on(\"keypress\", this[kOnKeyPress]), input.on(\"end\", this[kOnTermEnd]), this[kSetRawMode](!0), this.terminal = !0, this.cursor = 0, this.historyIndex = -1, output !== null && output !== @undefined)\n output.on(\"resize\", this[kOnResize]);\n this.once(\"close\", this[kOnSelfCloseWithTerminal]);\n }\n if (signal) {\n var onAborted = (() => this.close()).bind(this);\n if (signal.aborted)\n process.nextTick(onAborted);\n else\n signal.addEventListener(\"abort\", onAborted, { once: !0 }), this.once(\"close\", () => signal.removeEventListener(\"abort\", onAborted));\n }\n this.line = \"\", input.resume();\n}, Interface = function(input, output, completer, terminal) {\n if (!(this instanceof Interface))\n return new Interface(input, output, completer, terminal);\n if (input\?.input && typeof input.completer === \"function\" && input.completer.length !== 2) {\n var { completer } = input;\n input.completer = (v, cb) => cb(null, completer(v));\n } else if (typeof completer === \"function\" && completer.length !== 2) {\n var realCompleter = completer;\n completer = (v, cb) => cb(null, realCompleter(v));\n }\n InterfaceConstructor.@call(this, input, output, completer, terminal);\n}, createInterface = function(input, output, completer, terminal) {\n return new Interface(input, output, completer, terminal);\n};\nvar $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { StringDecoder } = @requireNativeModule(\"string_decoder\"), isWritable, { inspect } = Bun, debug = process.env.BUN_JS_DEBUG \? console.log : () => {\n}, SymbolAsyncIterator = Symbol.asyncIterator, SymbolIterator = Symbol.iterator, SymbolFor = Symbol.for, SymbolReplace = Symbol.replace, ArrayFrom = @Array.from, ArrayIsArray = @Array.isArray, ArrayPrototypeFilter = @Array.prototype.filter, ArrayPrototypeSort = @Array.prototype.sort, ArrayPrototypeIndexOf = @Array.prototype.indexOf, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypePop = @Array.prototype.pop, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeSplice = @Array.prototype.splice, ArrayPrototypeReverse = @Array.prototype.reverse, ArrayPrototypeShift = @Array.prototype.shift, ArrayPrototypeUnshift = @Array.prototype.unshift, RegExpPrototypeExec = @RegExp.prototype.exec, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, StringPrototypeCodePointAt = @String.prototype.codePointAt, StringPrototypeSlice = @String.prototype.slice, StringPrototypeToLowerCase = @String.prototype.toLowerCase, StringPrototypeEndsWith = @String.prototype.endsWith, StringPrototypeRepeat = @String.prototype.repeat, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeTrim = @String.prototype.trim, StringPrototypeNormalize = @String.prototype.normalize, NumberIsNaN = Number.isNaN, NumberIsFinite = Number.isFinite, NumberIsInteger = Number.isInteger, NumberMAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER, NumberMIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER, MathCeil = Math.ceil, MathFloor = Math.floor, MathMax = Math.max, DateNow = Date.now, FunctionPrototype = Function.prototype, StringPrototype = @String.prototype, StringPrototypeSymbolIterator = StringPrototype[SymbolIterator], StringIteratorPrototypeNext = StringPrototypeSymbolIterator.@call(\"\").next, ObjectSetPrototypeOf = Object.setPrototypeOf, ObjectDefineProperty = Object.defineProperty, ObjectDefineProperties = Object.defineProperties, ObjectFreeze = Object.freeze;\nvar { create: ObjectCreate, keys: ObjectKeys } = Object;\nvar createSafeIterator = (factory, next) => {\n class SafeIterator {\n #iterator;\n constructor(iterable) {\n this.#iterator = factory.@call(iterable);\n }\n next() {\n return next.@call(this.#iterator);\n }\n [SymbolIterator]() {\n return this;\n }\n }\n return ObjectSetPrototypeOf(SafeIterator.prototype, null), ObjectFreeze(SafeIterator.prototype), ObjectFreeze(SafeIterator), SafeIterator;\n}, SafeStringIterator = createSafeIterator(StringPrototypeSymbolIterator, StringIteratorPrototypeNext), isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n}, isZeroWidthCodePoint = (code) => {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, getStringWidth = function getStringWidth2(str, removeControlChars = !0) {\n var width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize.@call(str, \"NFC\");\n for (var char of new SafeStringIterator(str)) {\n var code = StringPrototypeCodePointAt.@call(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n}, ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new @RegExp(ansiPattern, \"g\"), kCustomPromisifiedSymbol = SymbolFor(\"nodejs.util.promisify.custom\"), kCustomPromisifyArgsSymbol = Symbol(\"customPromisifyArgs\");\npromisify.custom = kCustomPromisifiedSymbol;\nvar kUTF16SurrogateThreshold = 65536, kEscape = \"\\x1B\", kSubstringSearch = Symbol(\"kSubstringSearch\"), kIsNodeError = Symbol(\"kIsNodeError\"), errorBases = {}, VALID_NODE_ERROR_BASES = {\n TypeError,\n RangeError,\n Error\n}, NodeError = getNodeErrorByName(\"Error\"), NodeTypeError = getNodeErrorByName(\"TypeError\"), NodeRangeError = getNodeErrorByName(\"RangeError\");\n\nclass ERR_INVALID_ARG_TYPE extends NodeTypeError {\n constructor(name, type, value) {\n super(`The \"${name}\" argument must be of type ${type}. Received type ${typeof value}`, {\n code: \"ERR_INVALID_ARG_TYPE\"\n });\n }\n}\n\nclass ERR_INVALID_ARG_VALUE extends NodeTypeError {\n constructor(name, value, reason = \"not specified\") {\n super(`The value \"${@String(value)}\" is invalid for argument '${name}'. Reason: ${reason}`, {\n code: \"ERR_INVALID_ARG_VALUE\"\n });\n }\n}\n\nclass ERR_INVALID_CURSOR_POS extends NodeTypeError {\n constructor() {\n super(\"Cannot set cursor row without setting its column\", {\n code: \"ERR_INVALID_CURSOR_POS\"\n });\n }\n}\n\nclass ERR_OUT_OF_RANGE extends NodeRangeError {\n constructor(name, range, received) {\n super(`The value of \"${name}\" is out of range. It must be ${range}. Received ${received}`, {\n code: \"ERR_OUT_OF_RANGE\"\n });\n }\n}\n\nclass ERR_USE_AFTER_CLOSE extends NodeError {\n constructor() {\n super(\"This socket has been ended by the other party\", {\n code: \"ERR_USE_AFTER_CLOSE\"\n });\n }\n}\n\nclass AbortError extends Error {\n code;\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\nvar kClearLine, kClearScreenDown, kClearToLineBeginning, kClearToLineEnd;\nCSI.kEscape = kEscape;\nCSI.kClearLine = kClearLine = CSI`2K`;\nCSI.kClearScreenDown = kClearScreenDown = CSI`0J`;\nCSI.kClearToLineBeginning = kClearToLineBeginning = CSI`1K`;\nCSI.kClearToLineEnd = kClearToLineEnd = CSI`0K`;\nvar KEYPRESS_DECODER = Symbol(\"keypress-decoder\"), ESCAPE_DECODER = Symbol(\"escape-decoder\"), ESCAPE_CODE_TIMEOUT = 500, kEmptyObject = ObjectFreeze(ObjectCreate(null)), kHistorySize = 30, kMaxUndoRedoStackSize = 2048, kMincrlfDelay = 100, lineEnding = /\\r\?\\n|\\r(\?!\\n)/g, kMaxLengthOfKillRing = 32, kLineObjectStream = Symbol(\"line object stream\"), kQuestionCancel = Symbol(\"kQuestionCancel\"), kQuestion = Symbol(\"kQuestion\"), kAddHistory = Symbol(\"_addHistory\"), kBeforeEdit = Symbol(\"_beforeEdit\"), kDecoder = Symbol(\"_decoder\"), kDeleteLeft = Symbol(\"_deleteLeft\"), kDeleteLineLeft = Symbol(\"_deleteLineLeft\"), kDeleteLineRight = Symbol(\"_deleteLineRight\"), kDeleteRight = Symbol(\"_deleteRight\"), kDeleteWordLeft = Symbol(\"_deleteWordLeft\"), kDeleteWordRight = Symbol(\"_deleteWordRight\"), kGetDisplayPos = Symbol(\"_getDisplayPos\"), kHistoryNext = Symbol(\"_historyNext\"), kHistoryPrev = Symbol(\"_historyPrev\"), kInsertString = Symbol(\"_insertString\"), kLine = Symbol(\"_line\"), kLine_buffer = Symbol(\"_line_buffer\"), kKillRing = Symbol(\"_killRing\"), kKillRingCursor = Symbol(\"_killRingCursor\"), kMoveCursor = Symbol(\"_moveCursor\"), kNormalWrite = Symbol(\"_normalWrite\"), kOldPrompt = Symbol(\"_oldPrompt\"), kOnLine = Symbol(\"_onLine\"), kPreviousKey = Symbol(\"_previousKey\"), kPrompt = Symbol(\"_prompt\"), kPushToKillRing = Symbol(\"_pushToKillRing\"), kPushToUndoStack = Symbol(\"_pushToUndoStack\"), kQuestionCallback = Symbol(\"_questionCallback\"), kRedo = Symbol(\"_redo\"), kRedoStack = Symbol(\"_redoStack\"), kRefreshLine = Symbol(\"_refreshLine\"), kSawKeyPress = Symbol(\"_sawKeyPress\"), kSawReturnAt = Symbol(\"_sawReturnAt\"), kSetRawMode = Symbol(\"_setRawMode\"), kTabComplete = Symbol(\"_tabComplete\"), kTabCompleter = Symbol(\"_tabCompleter\"), kTtyWrite = Symbol(\"_ttyWrite\"), kUndo = Symbol(\"_undo\"), kUndoStack = Symbol(\"_undoStack\"), kWordLeft = Symbol(\"_wordLeft\"), kWordRight = Symbol(\"_wordRight\"), kWriteToOutput = Symbol(\"_writeToOutput\"), kYank = Symbol(\"_yank\"), kYanking = Symbol(\"_yanking\"), kYankPop = Symbol(\"_yankPop\"), kFirstEventParam = Symbol(\"nodejs.kFirstEventParam\"), kOnSelfCloseWithTerminal = Symbol(\"_onSelfCloseWithTerminal\"), kOnSelfCloseWithoutTerminal = Symbol(\"_onSelfCloseWithoutTerminal\"), kOnKeyPress = Symbol(\"_onKeyPress\"), kOnError = Symbol(\"_onError\"), kOnData = Symbol(\"_onData\"), kOnEnd = Symbol(\"_onEnd\"), kOnTermEnd = Symbol(\"_onTermEnd\"), kOnResize = Symbol(\"_onResize\");\nInterfaceConstructor.prototype = {};\nObjectSetPrototypeOf(InterfaceConstructor.prototype, EventEmitter.prototype);\nvar _Interface = class Interface2 extends InterfaceConstructor {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n get columns() {\n var output = this.output;\n if (output && output.columns)\n return output.columns;\n return @Infinity;\n }\n setPrompt(prompt) {\n this[kPrompt] = prompt;\n }\n getPrompt() {\n return this[kPrompt];\n }\n [kSetRawMode](flag) {\n const mode = flag + 0, wasInRawMode = this.input.isRaw;\n var setRawMode = this.input.setRawMode;\n if (typeof setRawMode === \"function\")\n setRawMode.@call(this.input, mode);\n return wasInRawMode;\n }\n prompt(preserveCursor) {\n if (this.paused)\n this.resume();\n if (this.terminal) {\n if (!preserveCursor)\n this.cursor = 0;\n this[kRefreshLine]();\n } else\n this[kWriteToOutput](this[kPrompt]);\n }\n [kQuestion](query, cb) {\n if (this.closed)\n throw new ERR_USE_AFTER_CLOSE(\"readline\");\n if (this[kQuestionCallback])\n this.prompt();\n else\n this[kOldPrompt] = this[kPrompt], this.setPrompt(query), this[kQuestionCallback] = cb, this.prompt();\n }\n [kOnLine](line) {\n if (this[kQuestionCallback]) {\n var cb = this[kQuestionCallback];\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), cb(line);\n } else\n this.emit(\"line\", line);\n }\n [kBeforeEdit](oldText, oldCursor) {\n this[kPushToUndoStack](oldText, oldCursor);\n }\n [kQuestionCancel]() {\n if (this[kQuestionCallback])\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), this.clearLine();\n }\n [kWriteToOutput](stringToWrite) {\n if (validateString(stringToWrite, \"stringToWrite\"), this.output !== null && this.output !== @undefined)\n this.output.write(stringToWrite);\n }\n [kAddHistory]() {\n if (this.line.length === 0)\n return \"\";\n if (this.historySize === 0)\n return this.line;\n if (StringPrototypeTrim.@call(this.line).length === 0)\n return this.line;\n if (this.history.length === 0 || this.history[0] !== this.line) {\n if (this.removeHistoryDuplicates) {\n var dupIndex = ArrayPrototypeIndexOf.@call(this.history, this.line);\n if (dupIndex !== -1)\n ArrayPrototypeSplice.@call(this.history, dupIndex, 1);\n }\n if (ArrayPrototypeUnshift.@call(this.history, this.line), this.history.length > this.historySize)\n ArrayPrototypePop.@call(this.history);\n }\n this.historyIndex = -1;\n var line = this.history[0];\n return this.emit(\"history\", this.history), line;\n }\n [kRefreshLine]() {\n var line = this[kPrompt] + this.line, dispPos = this[kGetDisplayPos](line), lineCols = dispPos.cols, lineRows = dispPos.rows, cursorPos = this.getCursorPos(), prevRows = this.prevRows || 0;\n if (prevRows > 0)\n moveCursor(this.output, 0, -prevRows);\n if (cursorTo(this.output, 0), clearScreenDown(this.output), this[kWriteToOutput](line), lineCols === 0)\n this[kWriteToOutput](\" \");\n cursorTo(this.output, cursorPos.cols);\n var diff = lineRows - cursorPos.rows;\n if (diff > 0)\n moveCursor(this.output, 0, -diff);\n this.prevRows = cursorPos.rows;\n }\n close() {\n if (this.closed)\n return;\n if (this.pause(), this.terminal)\n this[kSetRawMode](!1);\n this.closed = !0, this.emit(\"close\");\n }\n pause() {\n if (this.paused)\n return;\n return this.input.pause(), this.paused = !0, this.emit(\"pause\"), this;\n }\n resume() {\n if (!this.paused)\n return;\n return this.input.resume(), this.paused = !1, this.emit(\"resume\"), this;\n }\n write(d, key) {\n if (this.paused)\n this.resume();\n if (this.terminal)\n this[kTtyWrite](d, key);\n else\n this[kNormalWrite](d);\n }\n [kNormalWrite](b) {\n if (b === @undefined)\n return;\n var string = this[kDecoder].write(b);\n if (this[kSawReturnAt] && DateNow() - this[kSawReturnAt] <= this.crlfDelay) {\n if (StringPrototypeCodePointAt.@call(string) === 10)\n string = StringPrototypeSlice.@call(string, 1);\n this[kSawReturnAt] = 0;\n }\n var newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n if (newPartContainsEnding !== null) {\n if (this[kLine_buffer])\n string = this[kLine_buffer] + string, this[kLine_buffer] = null, newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n this[kSawReturnAt] = StringPrototypeEndsWith.@call(string, \"\\r\") \? DateNow() : 0;\n var indexes = [0, newPartContainsEnding.index, lineEnding.lastIndex], nextMatch;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, string)) !== null)\n ArrayPrototypePush.@call(indexes, nextMatch.index, lineEnding.lastIndex);\n var lastIndex = indexes.length - 1;\n this[kLine_buffer] = StringPrototypeSlice.@call(string, indexes[lastIndex]);\n for (var i = 1;i < lastIndex; i += 2)\n this[kOnLine](StringPrototypeSlice.@call(string, indexes[i - 1], indexes[i]));\n } else if (string)\n if (this[kLine_buffer])\n this[kLine_buffer] += string;\n else\n this[kLine_buffer] = string;\n }\n [kInsertString](c) {\n if (this[kBeforeEdit](this.line, this.cursor), this.cursor < this.line.length) {\n var beg = StringPrototypeSlice.@call(this.line, 0, this.cursor), end = StringPrototypeSlice.@call(this.line, this.cursor, this.line.length);\n this.line = beg + c + end, this.cursor += c.length, this[kRefreshLine]();\n } else {\n var oldPos = this.getCursorPos();\n this.line += c, this.cursor += c.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows < newPos.rows)\n this[kRefreshLine]();\n else\n this[kWriteToOutput](c);\n }\n }\n async[kTabComplete](lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor), value;\n try {\n value = await this.completer(string);\n } catch (err) {\n this[kWriteToOutput](`Tab completion error: ${inspect(err)}`);\n return;\n } finally {\n this.resume();\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n }\n [kTabCompleter](lastKeypressWasTab, { 0: completions, 1: completeOn }) {\n if (!completions || completions.length === 0)\n return;\n var prefix = commonPrefix(ArrayPrototypeFilter.@call(completions, (e) => e !== \"\"));\n if (StringPrototypeStartsWith.@call(prefix, completeOn) && prefix.length > completeOn.length) {\n this[kInsertString](StringPrototypeSlice.@call(prefix, completeOn.length));\n return;\n } else if (!StringPrototypeStartsWith.@call(completeOn, prefix)) {\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - completeOn.length) + prefix + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = this.cursor - completeOn.length + prefix.length, this._refreshLine();\n return;\n }\n if (!lastKeypressWasTab)\n return;\n this[kBeforeEdit](this.line, this.cursor);\n var completionsWidth = ArrayPrototypeMap.@call(completions, (e) => getStringWidth(e)), width = MathMax.@apply(completionsWidth) + 2, maxColumns = MathFloor(this.columns / width) || 1;\n if (maxColumns === @Infinity)\n maxColumns = 1;\n var output = \"\\r\\n\", lineIndex = 0, whitespace = 0;\n for (var i = 0;i < completions.length; i++) {\n var completion = completions[i];\n if (completion === \"\" || lineIndex === maxColumns)\n output += \"\\r\\n\", lineIndex = 0, whitespace = 0;\n else\n output += StringPrototypeRepeat.@call(\" \", whitespace);\n if (completion !== \"\")\n output += completion, whitespace = width - completionsWidth[i], lineIndex++;\n else\n output += \"\\r\\n\";\n }\n if (lineIndex !== 0)\n output += \"\\r\\n\\r\\n\";\n this[kWriteToOutput](output), this[kRefreshLine]();\n }\n [kWordLeft]() {\n if (this.cursor > 0) {\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n this[kMoveCursor](-match[0].length);\n }\n }\n [kWordRight]() {\n if (this.cursor < this.line.length) {\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|[^\\w\\s]+|\\w+)\\s*/, trailing);\n this[kMoveCursor](match[0].length);\n }\n }\n [kDeleteLeft]() {\n if (this.cursor > 0 && this.line.length > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthLeft(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - charSize) + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor -= charSize, this[kRefreshLine]();\n }\n }\n [kDeleteRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthAt(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(this.line, this.cursor + charSize, this.line.length), this[kRefreshLine]();\n }\n }\n [kDeleteWordLeft]() {\n if (this.cursor > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n leading = StringPrototypeSlice.@call(leading, 0, leading.length - match[0].length), this.line = leading + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = leading.length, this[kRefreshLine]();\n }\n }\n [kDeleteWordRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|\\W+|\\w+)\\s*/, trailing);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(trailing, match[0].length), this[kRefreshLine]();\n }\n }\n [kDeleteLineLeft]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, this.cursor), this.cursor = 0, this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kDeleteLineRight]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor), this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kPushToKillRing](del) {\n if (!del || del === this[kKillRing][0])\n return;\n ArrayPrototypeUnshift.@call(this[kKillRing], del), this[kKillRingCursor] = 0;\n while (this[kKillRing].length > kMaxLengthOfKillRing)\n ArrayPrototypePop.@call(this[kKillRing]);\n }\n [kYank]() {\n if (this[kKillRing].length > 0)\n this[kYanking] = !0, this[kInsertString](this[kKillRing][this[kKillRingCursor]]);\n }\n [kYankPop]() {\n if (!this[kYanking])\n return;\n if (this[kKillRing].length > 1) {\n var lastYank = this[kKillRing][this[kKillRingCursor]];\n if (this[kKillRingCursor]++, this[kKillRingCursor] >= this[kKillRing].length)\n this[kKillRingCursor] = 0;\n var currentYank = this[kKillRing][this[kKillRingCursor]], head = StringPrototypeSlice.@call(this.line, 0, this.cursor - lastYank.length), tail = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = head + currentYank + tail, this.cursor = head.length + currentYank.length, this[kRefreshLine]();\n }\n }\n clearLine() {\n this[kMoveCursor](+@Infinity), this[kWriteToOutput](\"\\r\\n\"), this.line = \"\", this.cursor = 0, this.prevRows = 0;\n }\n [kLine]() {\n var line = this[kAddHistory]();\n this[kUndoStack] = [], this[kRedoStack] = [], this.clearLine(), this[kOnLine](line);\n }\n [kPushToUndoStack](text, cursor) {\n if (ArrayPrototypePush.@call(this[kUndoStack], { text, cursor }) > kMaxUndoRedoStackSize)\n ArrayPrototypeShift.@call(this[kUndoStack]);\n }\n [kUndo]() {\n if (this[kUndoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kRedoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kUndoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kRedo]() {\n if (this[kRedoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kUndoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kRedoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kHistoryNext]() {\n if (this.historyIndex >= 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex - 1;\n while (index >= 0 && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index--;\n if (index === -1)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kHistoryPrev]() {\n if (this.historyIndex < this.history.length && this.history.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex + 1;\n while (index < this.history.length && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index++;\n if (index === this.history.length)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kGetDisplayPos](str) {\n var offset = 0, col = this.columns, rows = 0;\n str = stripVTControlCharacters(str);\n for (var char of new SafeStringIterator(str)) {\n if (char === \"\\n\") {\n rows += MathCeil(offset / col) || 1, offset = 0;\n continue;\n }\n if (char === \"\\t\") {\n offset += this.tabSize - offset % this.tabSize;\n continue;\n }\n var width = getStringWidth(char, !1);\n if (width === 0 || width === 1)\n offset += width;\n else {\n if ((offset + 1) % col === 0)\n offset++;\n offset += 2;\n }\n }\n var cols = offset % col;\n return rows += (offset - cols) / col, { cols, rows };\n }\n getCursorPos() {\n var strBeforeCursor = this[kPrompt] + StringPrototypeSlice.@call(this.line, 0, this.cursor);\n return this[kGetDisplayPos](strBeforeCursor);\n }\n [kMoveCursor](dx) {\n if (dx === 0)\n return;\n var oldPos = this.getCursorPos();\n if (this.cursor += dx, this.cursor < 0)\n this.cursor = 0;\n else if (this.cursor > this.line.length)\n this.cursor = this.line.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows === newPos.rows) {\n var diffWidth = newPos.cols - oldPos.cols;\n moveCursor(this.output, diffWidth, 0);\n } else\n this[kRefreshLine]();\n }\n [kTtyWrite](s, key) {\n var previousKey = this[kPreviousKey];\n key = key || kEmptyObject, this[kPreviousKey] = key;\n var { name: keyName, meta: keyMeta, ctrl: keyCtrl2, shift: keyShift, sequence: keySeq } = key;\n if (!keyMeta || keyName !== \"y\")\n this[kYanking] = !1;\n if ((keyName === \"up\" || keyName === \"down\") && !keyCtrl2 && !keyMeta && !keyShift) {\n if (this[kSubstringSearch] === null)\n this[kSubstringSearch] = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n } else if (this[kSubstringSearch] !== null) {\n if (this[kSubstringSearch] = null, this.history.length === this.historyIndex)\n this.historyIndex = -1;\n }\n if (typeof keySeq === \"string\")\n switch (StringPrototypeCodePointAt.@call(keySeq, 0)) {\n case 31:\n this[kUndo]();\n return;\n case 30:\n this[kRedo]();\n return;\n default:\n break;\n }\n if (keyName === \"escape\")\n return;\n if (keyCtrl2 && keyShift)\n switch (keyName) {\n case \"backspace\":\n this[kDeleteLineLeft]();\n break;\n case \"delete\":\n this[kDeleteLineRight]();\n break;\n }\n else if (keyCtrl2)\n switch (keyName) {\n case \"c\":\n if (this.listenerCount(\"SIGINT\") > 0)\n this.emit(\"SIGINT\");\n else\n this.close();\n break;\n case \"h\":\n this[kDeleteLeft]();\n break;\n case \"d\":\n if (this.cursor === 0 && this.line.length === 0)\n this.close();\n else if (this.cursor < this.line.length)\n this[kDeleteRight]();\n break;\n case \"u\":\n this[kDeleteLineLeft]();\n break;\n case \"k\":\n this[kDeleteLineRight]();\n break;\n case \"a\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"e\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"b\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"f\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"l\":\n cursorTo(this.output, 0, 0), clearScreenDown(this.output), this[kRefreshLine]();\n break;\n case \"n\":\n this[kHistoryNext]();\n break;\n case \"p\":\n this[kHistoryPrev]();\n break;\n case \"y\":\n this[kYank]();\n break;\n case \"z\":\n if (this.listenerCount(\"SIGTSTP\") > 0)\n this.emit(\"SIGTSTP\");\n else\n process.once(\"SIGCONT\", () => {\n if (!this.paused)\n this.pause(), this.emit(\"SIGCONT\");\n this[kSetRawMode](!0), this[kRefreshLine]();\n }), this[kSetRawMode](!1), process.kill(process.pid, \"SIGTSTP\");\n break;\n case \"w\":\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"left\":\n this[kWordLeft]();\n break;\n case \"right\":\n this[kWordRight]();\n break;\n }\n else if (keyMeta)\n switch (keyName) {\n case \"b\":\n this[kWordLeft]();\n break;\n case \"f\":\n this[kWordRight]();\n break;\n case \"d\":\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"y\":\n this[kYankPop]();\n break;\n }\n else {\n if (this[kSawReturnAt] && keyName !== \"enter\")\n this[kSawReturnAt] = 0;\n switch (keyName) {\n case \"return\":\n this[kSawReturnAt] = DateNow(), this[kLine]();\n break;\n case \"enter\":\n if (this[kSawReturnAt] === 0 || DateNow() - this[kSawReturnAt] > this.crlfDelay)\n this[kLine]();\n this[kSawReturnAt] = 0;\n break;\n case \"backspace\":\n this[kDeleteLeft]();\n break;\n case \"delete\":\n this[kDeleteRight]();\n break;\n case \"left\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"right\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"home\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"end\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"up\":\n this[kHistoryPrev]();\n break;\n case \"down\":\n this[kHistoryNext]();\n break;\n case \"tab\":\n if (typeof this.completer === \"function\" && this.isCompletionEnabled) {\n var lastKeypressWasTab = previousKey && previousKey.name === \"tab\";\n this[kTabComplete](lastKeypressWasTab);\n break;\n }\n default:\n if (typeof s === \"string\" && s) {\n var nextMatch = RegExpPrototypeExec.@call(lineEnding, s);\n if (nextMatch !== null) {\n this[kInsertString](StringPrototypeSlice.@call(s, 0, nextMatch.index));\n var { lastIndex } = lineEnding;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, s)) !== null)\n this[kLine](), this[kInsertString](StringPrototypeSlice.@call(s, lastIndex, nextMatch.index)), { lastIndex } = lineEnding;\n if (lastIndex === s.length)\n this[kLine]();\n } else\n this[kInsertString](s);\n }\n }\n }\n }\n [SymbolAsyncIterator]() {\n if (this[kLineObjectStream] === @undefined)\n this[kLineObjectStream] = EventEmitter.on(this, \"line\", {\n close: [\"close\"],\n highWatermark: 1024,\n [kFirstEventParam]: !0\n });\n return this[kLineObjectStream];\n }\n};\nInterface.prototype = {};\nObjectSetPrototypeOf(Interface.prototype, _Interface.prototype);\nObjectSetPrototypeOf(Interface, _Interface);\nInterface.prototype.question = function question(query, options, cb) {\n if (cb = typeof options === \"function\" \? options : cb, options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return;\n var onAbort = () => {\n this[kQuestionCancel]();\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 });\n var cleanup = () => {\n signal.removeEventListener(\"abort\", onAbort);\n }, originalCb = cb;\n cb = typeof cb === \"function\" \? (answer) => {\n return cleanup(), originalCb(answer);\n } : cleanup;\n }\n if (typeof cb === \"function\")\n this[kQuestion](query, cb);\n};\nInterface.prototype.question[promisify.custom] = function question2(query, options) {\n if (options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal && signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (signal) {\n var onAbort = () => {\n reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this.question(query, options, cb);\n });\n};\nObjectDefineProperties(Interface.prototype, {\n [kSetRawMode]: {\n __proto__: null,\n get() {\n return this._setRawMode;\n }\n },\n [kOnLine]: {\n __proto__: null,\n get() {\n return this._onLine;\n }\n },\n [kWriteToOutput]: {\n __proto__: null,\n get() {\n return this._writeToOutput;\n }\n },\n [kAddHistory]: {\n __proto__: null,\n get() {\n return this._addHistory;\n }\n },\n [kRefreshLine]: {\n __proto__: null,\n get() {\n return this._refreshLine;\n }\n },\n [kNormalWrite]: {\n __proto__: null,\n get() {\n return this._normalWrite;\n }\n },\n [kInsertString]: {\n __proto__: null,\n get() {\n return this._insertString;\n }\n },\n [kTabComplete]: {\n __proto__: null,\n get() {\n return this._tabComplete;\n }\n },\n [kWordLeft]: {\n __proto__: null,\n get() {\n return this._wordLeft;\n }\n },\n [kWordRight]: {\n __proto__: null,\n get() {\n return this._wordRight;\n }\n },\n [kDeleteLeft]: {\n __proto__: null,\n get() {\n return this._deleteLeft;\n }\n },\n [kDeleteRight]: {\n __proto__: null,\n get() {\n return this._deleteRight;\n }\n },\n [kDeleteWordLeft]: {\n __proto__: null,\n get() {\n return this._deleteWordLeft;\n }\n },\n [kDeleteWordRight]: {\n __proto__: null,\n get() {\n return this._deleteWordRight;\n }\n },\n [kDeleteLineLeft]: {\n __proto__: null,\n get() {\n return this._deleteLineLeft;\n }\n },\n [kDeleteLineRight]: {\n __proto__: null,\n get() {\n return this._deleteLineRight;\n }\n },\n [kLine]: {\n __proto__: null,\n get() {\n return this._line;\n }\n },\n [kHistoryNext]: {\n __proto__: null,\n get() {\n return this._historyNext;\n }\n },\n [kHistoryPrev]: {\n __proto__: null,\n get() {\n return this._historyPrev;\n }\n },\n [kGetDisplayPos]: {\n __proto__: null,\n get() {\n return this._getDisplayPos;\n }\n },\n [kMoveCursor]: {\n __proto__: null,\n get() {\n return this._moveCursor;\n }\n },\n [kTtyWrite]: {\n __proto__: null,\n get() {\n return this._ttyWrite;\n }\n },\n _decoder: {\n __proto__: null,\n get() {\n return this[kDecoder];\n },\n set(value) {\n this[kDecoder] = value;\n }\n },\n _line_buffer: {\n __proto__: null,\n get() {\n return this[kLine_buffer];\n },\n set(value) {\n this[kLine_buffer] = value;\n }\n },\n _oldPrompt: {\n __proto__: null,\n get() {\n return this[kOldPrompt];\n },\n set(value) {\n this[kOldPrompt] = value;\n }\n },\n _previousKey: {\n __proto__: null,\n get() {\n return this[kPreviousKey];\n },\n set(value) {\n this[kPreviousKey] = value;\n }\n },\n _prompt: {\n __proto__: null,\n get() {\n return this[kPrompt];\n },\n set(value) {\n this[kPrompt] = value;\n }\n },\n _questionCallback: {\n __proto__: null,\n get() {\n return this[kQuestionCallback];\n },\n set(value) {\n this[kQuestionCallback] = value;\n }\n },\n _sawKeyPress: {\n __proto__: null,\n get() {\n return this[kSawKeyPress];\n },\n set(value) {\n this[kSawKeyPress] = value;\n }\n },\n _sawReturnAt: {\n __proto__: null,\n get() {\n return this[kSawReturnAt];\n },\n set(value) {\n this[kSawReturnAt] = value;\n }\n }\n});\nInterface.prototype._setRawMode = _Interface.prototype[kSetRawMode];\nInterface.prototype._onLine = _Interface.prototype[kOnLine];\nInterface.prototype._writeToOutput = _Interface.prototype[kWriteToOutput];\nInterface.prototype._addHistory = _Interface.prototype[kAddHistory];\nInterface.prototype._refreshLine = _Interface.prototype[kRefreshLine];\nInterface.prototype._normalWrite = _Interface.prototype[kNormalWrite];\nInterface.prototype._insertString = _Interface.prototype[kInsertString];\nInterface.prototype._tabComplete = function(lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.completer(string, (err, value) => {\n if (this.resume(), err) {\n this._writeToOutput(`Tab completion error: ${inspect(err)}`);\n return;\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n });\n};\nInterface.prototype._wordLeft = _Interface.prototype[kWordLeft];\nInterface.prototype._wordRight = _Interface.prototype[kWordRight];\nInterface.prototype._deleteLeft = _Interface.prototype[kDeleteLeft];\nInterface.prototype._deleteRight = _Interface.prototype[kDeleteRight];\nInterface.prototype._deleteWordLeft = _Interface.prototype[kDeleteWordLeft];\nInterface.prototype._deleteWordRight = _Interface.prototype[kDeleteWordRight];\nInterface.prototype._deleteLineLeft = _Interface.prototype[kDeleteLineLeft];\nInterface.prototype._deleteLineRight = _Interface.prototype[kDeleteLineRight];\nInterface.prototype._line = _Interface.prototype[kLine];\nInterface.prototype._historyNext = _Interface.prototype[kHistoryNext];\nInterface.prototype._historyPrev = _Interface.prototype[kHistoryPrev];\nInterface.prototype._getDisplayPos = _Interface.prototype[kGetDisplayPos];\nInterface.prototype._getCursorPos = _Interface.prototype.getCursorPos;\nInterface.prototype._moveCursor = _Interface.prototype[kMoveCursor];\nInterface.prototype._ttyWrite = _Interface.prototype[kTtyWrite];\n\nclass Readline {\n #autoCommit = !1;\n #stream;\n #todo = [];\n constructor(stream, options = @undefined) {\n if (isWritable \?\?= (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).isWritable, !isWritable(stream))\n throw new ERR_INVALID_ARG_TYPE(\"stream\", \"Writable\", stream);\n if (this.#stream = stream, options\?.autoCommit != null)\n validateBoolean(options.autoCommit, \"options.autoCommit\"), this.#autoCommit = options.autoCommit;\n }\n cursorTo(x, y = @undefined) {\n if (validateInteger(x, \"x\"), y != null)\n validateInteger(y, \"y\");\n var data = y == null \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n moveCursor(dx, dy) {\n if (dx || dy) {\n validateInteger(dx, \"dx\"), validateInteger(dy, \"dy\");\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n }\n return this;\n }\n clearLine(dir) {\n validateInteger(dir, \"dir\", -1, 1);\n var data = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n clearScreenDown() {\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(kClearScreenDown));\n else\n ArrayPrototypePush.@call(this.#todo, kClearScreenDown);\n return this;\n }\n commit() {\n return new @Promise((resolve) => {\n this.#stream.write(ArrayPrototypeJoin.@call(this.#todo, \"\"), resolve), this.#todo = [];\n });\n }\n rollback() {\n return this.#todo = [], this;\n }\n}\nvar PromisesInterface = class Interface3 extends _Interface {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n question(query, options = kEmptyObject) {\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n }\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (options\?.signal) {\n var onAbort = () => {\n this[kQuestionCancel](), reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this[kQuestion](query, cb);\n });\n }\n};\n$ = {\n Interface,\n clearLine,\n clearScreenDown,\n createInterface,\n cursorTo,\n emitKeypressEvents,\n moveCursor,\n promises: {\n Readline,\n Interface: PromisesInterface,\n createInterface(input, output, completer, terminal) {\n return new PromisesInterface(input, output, completer, terminal);\n }\n },\n [SymbolFor(\"__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__\")]: {\n CSI,\n utils: {\n getStringWidth,\n stripVTControlCharacters\n }\n }\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeReadlineCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/readline.ts\nvar stripVTControlCharacters = function(str) {\n return validateString(str, \"str\"), RegExpPrototypeSymbolReplace.@call(ansi, str, \"\");\n}, promisify = function(original) {\n if (validateFunction(original, \"original\"), original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n return validateFunction(fn, \"util.promisify.custom\"), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n }\n var argumentNames = original[kCustomPromisifyArgsSymbol];\n function fn(...args) {\n return new @Promise((resolve, reject) => {\n ArrayPrototypePush.@call(args, (err, ...values) => {\n if (err)\n return reject(err);\n if (argumentNames !== @undefined && values.length > 1) {\n var obj = {};\n for (var i2 = 0;i2 < argumentNames.length; i2++)\n obj[argumentNames[i2]] = values[i2];\n resolve(obj);\n } else\n resolve(values[0]);\n }), ReflectApply(original, this, args);\n });\n }\n ObjectSetPrototypeOf(fn, ObjectGetPrototypeOf(original)), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n var descriptors = ObjectGetOwnPropertyDescriptors(original), propertiesValues = ObjectValues(descriptors);\n for (var i = 0;i < propertiesValues.length; i++)\n ObjectSetPrototypeOf(propertiesValues[i], null);\n return ObjectDefineProperties(fn, descriptors);\n}, getNodeErrorByName = function(typeName) {\n var base = errorBases[typeName];\n if (base)\n return base;\n if (!ObjectKeys(VALID_NODE_ERROR_BASES).includes(typeName))\n throw new Error(\"Invalid NodeError type\");\n var Base = VALID_NODE_ERROR_BASES[typeName];\n\n class NodeError extends Base {\n [kIsNodeError] = !0;\n code;\n constructor(msg, opts) {\n super(msg, opts);\n this.code = opts\?.code || \"ERR_GENERIC\";\n }\n toString() {\n return `${this.name} [${this.code}]: ${this.message}`;\n }\n }\n return errorBases[typeName] = NodeError, NodeError;\n}, validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateArray = function(value, name, minLength = 0) {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n var reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar validateInteger = function(value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, validateUint32 = function(value, name, positive = !1) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n var min = positive \? 1 : 0, max = 4294967295;\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, CSI = function(strings, ...args) {\n var ret = `${kEscape}[`;\n for (var n = 0;n < strings.length; n++)\n if (ret += strings[n], n < args.length)\n ret += args[n];\n return ret;\n}, charLengthLeft = function(str, i) {\n if (i <= 0)\n return 0;\n if (i > 1 && StringPrototypeCodePointAt.@call(str, i - 2) >= kUTF16SurrogateThreshold || StringPrototypeCodePointAt.@call(str, i - 1) >= kUTF16SurrogateThreshold)\n return 2;\n return 1;\n}, charLengthAt = function(str, i) {\n if (str.length <= i)\n return 1;\n return StringPrototypeCodePointAt.@call(str, i) >= kUTF16SurrogateThreshold \? 2 : 1;\n};\nfunction* emitKeys(stream) {\n while (!0) {\n var ch = yield, s = ch, escaped = !1, keySeq = null, keyName, keyCtrl2 = !1, keyMeta = !1, keyShift = !1;\n if (ch === kEscape) {\n if (escaped = !0, s += ch = yield, ch === kEscape)\n s += ch = yield;\n }\n if (escaped && (ch === \"O\" || ch === \"[\")) {\n var code = ch, modifier = 0;\n if (ch === \"O\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n modifier = (ch >> 0) - 1, s += ch = yield;\n code += ch;\n } else if (ch === \"[\") {\n if (s += ch = yield, ch === \"[\")\n code += ch, s += ch = yield;\n var cmdStart = s.length - 1;\n if (ch >= \"0\" && ch <= \"9\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += ch = yield;\n }\n if (ch === \";\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += yield;\n }\n var cmd = StringPrototypeSlice.@call(s, cmdStart), match;\n if (match = RegExpPrototypeExec.@call(/^(\\d\\d\?)(;(\\d))\?([~^$])$/, cmd))\n code += match[1] + match[4], modifier = (match[3] || 1) - 1;\n else if (match = RegExpPrototypeExec.@call(/^((\\d;)\?(\\d))\?([A-Za-z])$/, cmd))\n code += match[4], modifier = (match[3] || 1) - 1;\n else\n code += cmd;\n }\n switch (keyCtrl2 = !!(modifier & 4), keyMeta = !!(modifier & 10), keyShift = !!(modifier & 1), code) {\n case \"[P\":\n keyName = \"f1\";\n break;\n case \"[Q\":\n keyName = \"f2\";\n break;\n case \"[R\":\n keyName = \"f3\";\n break;\n case \"[S\":\n keyName = \"f4\";\n break;\n case \"OP\":\n keyName = \"f1\";\n break;\n case \"OQ\":\n keyName = \"f2\";\n break;\n case \"OR\":\n keyName = \"f3\";\n break;\n case \"OS\":\n keyName = \"f4\";\n break;\n case \"[11~\":\n keyName = \"f1\";\n break;\n case \"[12~\":\n keyName = \"f2\";\n break;\n case \"[13~\":\n keyName = \"f3\";\n break;\n case \"[14~\":\n keyName = \"f4\";\n break;\n case \"[[A\":\n keyName = \"f1\";\n break;\n case \"[[B\":\n keyName = \"f2\";\n break;\n case \"[[C\":\n keyName = \"f3\";\n break;\n case \"[[D\":\n keyName = \"f4\";\n break;\n case \"[[E\":\n keyName = \"f5\";\n break;\n case \"[15~\":\n keyName = \"f5\";\n break;\n case \"[17~\":\n keyName = \"f6\";\n break;\n case \"[18~\":\n keyName = \"f7\";\n break;\n case \"[19~\":\n keyName = \"f8\";\n break;\n case \"[20~\":\n keyName = \"f9\";\n break;\n case \"[21~\":\n keyName = \"f10\";\n break;\n case \"[23~\":\n keyName = \"f11\";\n break;\n case \"[24~\":\n keyName = \"f12\";\n break;\n case \"[A\":\n keyName = \"up\";\n break;\n case \"[B\":\n keyName = \"down\";\n break;\n case \"[C\":\n keyName = \"right\";\n break;\n case \"[D\":\n keyName = \"left\";\n break;\n case \"[E\":\n keyName = \"clear\";\n break;\n case \"[F\":\n keyName = \"end\";\n break;\n case \"[H\":\n keyName = \"home\";\n break;\n case \"OA\":\n keyName = \"up\";\n break;\n case \"OB\":\n keyName = \"down\";\n break;\n case \"OC\":\n keyName = \"right\";\n break;\n case \"OD\":\n keyName = \"left\";\n break;\n case \"OE\":\n keyName = \"clear\";\n break;\n case \"OF\":\n keyName = \"end\";\n break;\n case \"OH\":\n keyName = \"home\";\n break;\n case \"[1~\":\n keyName = \"home\";\n break;\n case \"[2~\":\n keyName = \"insert\";\n break;\n case \"[3~\":\n keyName = \"delete\";\n break;\n case \"[4~\":\n keyName = \"end\";\n break;\n case \"[5~\":\n keyName = \"pageup\";\n break;\n case \"[6~\":\n keyName = \"pagedown\";\n break;\n case \"[[5~\":\n keyName = \"pageup\";\n break;\n case \"[[6~\":\n keyName = \"pagedown\";\n break;\n case \"[7~\":\n keyName = \"home\";\n break;\n case \"[8~\":\n keyName = \"end\";\n break;\n case \"[a\":\n keyName = \"up\", keyShift = !0;\n break;\n case \"[b\":\n keyName = \"down\", keyShift = !0;\n break;\n case \"[c\":\n keyName = \"right\", keyShift = !0;\n break;\n case \"[d\":\n keyName = \"left\", keyShift = !0;\n break;\n case \"[e\":\n keyName = \"clear\", keyShift = !0;\n break;\n case \"[2$\":\n keyName = \"insert\", keyShift = !0;\n break;\n case \"[3$\":\n keyName = \"delete\", keyShift = !0;\n break;\n case \"[5$\":\n keyName = \"pageup\", keyShift = !0;\n break;\n case \"[6$\":\n keyName = \"pagedown\", keyShift = !0;\n break;\n case \"[7$\":\n keyName = \"home\", keyShift = !0;\n break;\n case \"[8$\":\n keyName = \"end\", keyShift = !0;\n break;\n case \"Oa\":\n keyName = \"up\", keyCtrl2 = !0;\n break;\n case \"Ob\":\n keyName = \"down\", keyCtrl2 = !0;\n break;\n case \"Oc\":\n keyName = \"right\", keyCtrl2 = !0;\n break;\n case \"Od\":\n keyName = \"left\", keyCtrl2 = !0;\n break;\n case \"Oe\":\n keyName = \"clear\", keyCtrl2 = !0;\n break;\n case \"[2^\":\n keyName = \"insert\", keyCtrl2 = !0;\n break;\n case \"[3^\":\n keyName = \"delete\", keyCtrl2 = !0;\n break;\n case \"[5^\":\n keyName = \"pageup\", keyCtrl2 = !0;\n break;\n case \"[6^\":\n keyName = \"pagedown\", keyCtrl2 = !0;\n break;\n case \"[7^\":\n keyName = \"home\", keyCtrl2 = !0;\n break;\n case \"[8^\":\n keyName = \"end\", keyCtrl2 = !0;\n break;\n case \"[Z\":\n keyName = \"tab\", keyShift = !0;\n break;\n default:\n keyName = \"undefined\";\n break;\n }\n } else if (ch === \"\\r\")\n keyName = \"return\", keyMeta = escaped;\n else if (ch === \"\\n\")\n keyName = \"enter\", keyMeta = escaped;\n else if (ch === \"\\t\")\n keyName = \"tab\", keyMeta = escaped;\n else if (ch === \"\\b\" || ch === \"\\x7F\")\n keyName = \"backspace\", keyMeta = escaped;\n else if (ch === kEscape)\n keyName = \"escape\", keyMeta = escaped;\n else if (ch === \" \")\n keyName = \"space\", keyMeta = escaped;\n else if (!escaped && ch <= \"\\x1A\")\n keyName = StringFromCharCode(StringPrototypeCharCodeAt.@call(ch) + StringPrototypeCharCodeAt.@call(\"a\") - 1), keyCtrl2 = !0;\n else if (RegExpPrototypeExec.@call(/^[0-9A-Za-z]$/, ch) !== null)\n keyName = StringPrototypeToLowerCase.@call(ch), keyShift = RegExpPrototypeExec.@call(/^[A-Z]$/, ch) !== null, keyMeta = escaped;\n else if (escaped)\n keyName = ch.length \? @undefined : \"escape\", keyMeta = !0;\n else\n keyName = @undefined;\n if (keySeq = s, s.length !== 0 && (keyName !== @undefined || escaped))\n stream.emit(\"keypress\", escaped \? @undefined : s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n else if (charLengthAt(s, 0) === s.length)\n stream.emit(\"keypress\", s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n }\n}\nvar commonPrefix = function(strings) {\n if (strings.length === 0)\n return \"\";\n if (strings.length === 1)\n return strings[0];\n var sorted = ArrayPrototypeSort.@call(ArrayPrototypeSlice.@call(strings)), min = sorted[0], max = sorted[sorted.length - 1];\n for (var i = 0;i < min.length; i++)\n if (min[i] !== max[i])\n return StringPrototypeSlice.@call(min, 0, i);\n return min;\n}, cursorTo = function(stream, x, y, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (typeof y === \"function\")\n callback = y, y = @undefined;\n if (NumberIsNaN(x))\n throw new ERR_INVALID_ARG_VALUE(\"x\", x);\n if (NumberIsNaN(y))\n throw new ERR_INVALID_ARG_VALUE(\"y\", y);\n if (stream == null || typeof x !== \"number\" && typeof y !== \"number\") {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n if (typeof x !== \"number\")\n throw new ERR_INVALID_CURSOR_POS;\n var data = typeof y !== \"number\" \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n return stream.write(data, callback);\n}, moveCursor = function(stream, dx, dy, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream == null || !(dx || dy)) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n return stream.write(data, callback);\n}, clearLine = function(stream, dir, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var type = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n return stream.write(type, callback);\n}, clearScreenDown = function(stream, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n return stream.write(kClearScreenDown, callback);\n}, emitKeypressEvents = function(stream, iface = {}) {\n if (stream[KEYPRESS_DECODER])\n return;\n stream[KEYPRESS_DECODER] = new StringDecoder(\"utf8\"), stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next();\n var triggerEscape = () => stream[ESCAPE_DECODER].next(\"\"), { escapeCodeTimeout = ESCAPE_CODE_TIMEOUT } = iface, timeoutId;\n function onData(input) {\n if (stream.listenerCount(\"keypress\") > 0) {\n var string = stream[KEYPRESS_DECODER].write(input);\n if (string) {\n clearTimeout(timeoutId), iface[kSawKeyPress] = charLengthAt(string, 0) === string.length, iface.isCompletionEnabled = !1;\n var length = 0;\n for (var character of new SafeStringIterator(string)) {\n if (length += character.length, length === string.length)\n iface.isCompletionEnabled = !0;\n try {\n if (stream[ESCAPE_DECODER].next(character), length === string.length && character === kEscape)\n timeoutId = setTimeout(triggerEscape, escapeCodeTimeout);\n } catch (err) {\n throw stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next(), err;\n }\n }\n }\n } else\n stream.removeListener(\"data\", onData), stream.on(\"newListener\", onNewListener);\n }\n function onNewListener(event) {\n if (event === \"keypress\")\n stream.on(\"data\", onData), stream.removeListener(\"newListener\", onNewListener);\n }\n if (stream.listenerCount(\"keypress\") > 0)\n stream.on(\"data\", onData);\n else\n stream.on(\"newListener\", onNewListener);\n}, onSelfCloseWithTerminal = function() {\n var input = this.input, output = this.output;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n if (input.removeListener(\"keypress\", this[kOnKeyPress]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnTermEnd]), output !== null && output !== @undefined)\n output.removeListener(\"resize\", this[kOnResize]);\n}, onSelfCloseWithoutTerminal = function() {\n var input = this.input;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n input.removeListener(\"data\", this[kOnData]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnEnd]);\n}, onError = function(err) {\n this.emit(\"error\", err);\n}, onData = function(data) {\n debug(\"onData\"), this[kNormalWrite](data);\n}, onEnd = function() {\n if (debug(\"onEnd\"), typeof this[kLine_buffer] === \"string\" && this[kLine_buffer].length > 0)\n this.emit(\"line\", this[kLine_buffer]);\n this.close();\n}, onTermEnd = function() {\n if (debug(\"onTermEnd\"), typeof this.line === \"string\" && this.line.length > 0)\n this.emit(\"line\", this.line);\n this.close();\n}, onKeyPress = function(s, key) {\n if (this[kTtyWrite](s, key), key && key.sequence) {\n var ch = StringPrototypeCodePointAt.@call(key.sequence, 0);\n if (ch >= 55296 && ch <= 57343)\n this[kRefreshLine]();\n }\n}, onResize = function() {\n this[kRefreshLine]();\n}, InterfaceConstructor = function(input, output, completer, terminal) {\n if (!(this instanceof InterfaceConstructor))\n return new InterfaceConstructor(input, output, completer, terminal);\n EventEmitter.@call(this), this[kOnSelfCloseWithoutTerminal] = onSelfCloseWithoutTerminal.bind(this), this[kOnSelfCloseWithTerminal] = onSelfCloseWithTerminal.bind(this), this[kOnError] = onError.bind(this), this[kOnData] = onData.bind(this), this[kOnEnd] = onEnd.bind(this), this[kOnTermEnd] = onTermEnd.bind(this), this[kOnKeyPress] = onKeyPress.bind(this), this[kOnResize] = onResize.bind(this), this[kSawReturnAt] = 0, this.isCompletionEnabled = !0, this[kSawKeyPress] = !1, this[kPreviousKey] = null, this.escapeCodeTimeout = ESCAPE_CODE_TIMEOUT, this.tabSize = 8;\n var history, historySize, removeHistoryDuplicates = !1, crlfDelay, prompt = \"> \", signal;\n if (input\?.input) {\n output = input.output, completer = input.completer, terminal = input.terminal, history = input.history, historySize = input.historySize, signal = input.signal;\n var tabSize = input.tabSize;\n if (tabSize !== @undefined)\n validateUint32(tabSize, \"tabSize\", !0), this.tabSize = tabSize;\n removeHistoryDuplicates = input.removeHistoryDuplicates;\n var inputPrompt = input.prompt;\n if (inputPrompt !== @undefined)\n prompt = inputPrompt;\n var inputEscapeCodeTimeout = input.escapeCodeTimeout;\n if (inputEscapeCodeTimeout !== @undefined)\n if (NumberIsFinite(inputEscapeCodeTimeout))\n this.escapeCodeTimeout = inputEscapeCodeTimeout;\n else\n throw new ERR_INVALID_ARG_VALUE(\"input.escapeCodeTimeout\", this.escapeCodeTimeout);\n if (signal)\n validateAbortSignal(signal, \"options.signal\");\n crlfDelay = input.crlfDelay, input = input.input;\n }\n if (completer !== @undefined && typeof completer !== \"function\")\n throw new ERR_INVALID_ARG_VALUE(\"completer\", completer);\n if (history === @undefined)\n history = [];\n else\n validateArray(history, \"history\");\n if (historySize === @undefined)\n historySize = kHistorySize;\n if (typeof historySize !== \"number\" || NumberIsNaN(historySize) || historySize < 0)\n throw new ERR_INVALID_ARG_VALUE(\"historySize\", historySize);\n if (terminal === @undefined && !(output === null || output === @undefined))\n terminal = !!output.isTTY;\n if (this.line = \"\", this[kSubstringSearch] = null, this.output = output, this.input = input, this[kUndoStack] = [], this[kRedoStack] = [], this.history = history, this.historySize = historySize, this[kKillRing] = [], this[kKillRingCursor] = 0, this.removeHistoryDuplicates = !!removeHistoryDuplicates, this.crlfDelay = crlfDelay \? MathMax(kMincrlfDelay, crlfDelay) : kMincrlfDelay, this.completer = completer, this.setPrompt(prompt), this.terminal = !!terminal, this[kLineObjectStream] = @undefined, input.on(\"error\", this[kOnError]), !this.terminal)\n input.on(\"data\", this[kOnData]), input.on(\"end\", this[kOnEnd]), this.once(\"close\", this[kOnSelfCloseWithoutTerminal]), this[kDecoder] = new StringDecoder(\"utf8\");\n else {\n if (emitKeypressEvents(input, this), input.on(\"keypress\", this[kOnKeyPress]), input.on(\"end\", this[kOnTermEnd]), this[kSetRawMode](!0), this.terminal = !0, this.cursor = 0, this.historyIndex = -1, output !== null && output !== @undefined)\n output.on(\"resize\", this[kOnResize]);\n this.once(\"close\", this[kOnSelfCloseWithTerminal]);\n }\n if (signal) {\n var onAborted = (() => this.close()).bind(this);\n if (signal.aborted)\n process.nextTick(onAborted);\n else\n signal.addEventListener(\"abort\", onAborted, { once: !0 }), this.once(\"close\", () => signal.removeEventListener(\"abort\", onAborted));\n }\n this.line = \"\", input.resume();\n}, Interface = function(input, output, completer, terminal) {\n if (!(this instanceof Interface))\n return new Interface(input, output, completer, terminal);\n if (input\?.input && typeof input.completer === \"function\" && input.completer.length !== 2) {\n var { completer } = input;\n input.completer = (v, cb) => cb(null, completer(v));\n } else if (typeof completer === \"function\" && completer.length !== 2) {\n var realCompleter = completer;\n completer = (v, cb) => cb(null, realCompleter(v));\n }\n InterfaceConstructor.@call(this, input, output, completer, terminal);\n}, createInterface = function(input, output, completer, terminal) {\n return new Interface(input, output, completer, terminal);\n};\nvar $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { StringDecoder } = @requireNativeModule(\"string_decoder\"), isWritable, { inspect } = Bun, debug = process.env.BUN_JS_DEBUG \? console.log : () => {\n}, SymbolAsyncIterator = Symbol.asyncIterator, SymbolIterator = Symbol.iterator, SymbolFor = Symbol.for, SymbolReplace = Symbol.replace, ArrayFrom = @Array.from, ArrayIsArray = @Array.isArray, ArrayPrototypeFilter = @Array.prototype.filter, ArrayPrototypeSort = @Array.prototype.sort, ArrayPrototypeIndexOf = @Array.prototype.indexOf, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypePop = @Array.prototype.pop, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeSplice = @Array.prototype.splice, ArrayPrototypeReverse = @Array.prototype.reverse, ArrayPrototypeShift = @Array.prototype.shift, ArrayPrototypeUnshift = @Array.prototype.unshift, RegExpPrototypeExec = @RegExp.prototype.exec, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, StringPrototypeCodePointAt = @String.prototype.codePointAt, StringPrototypeSlice = @String.prototype.slice, StringPrototypeToLowerCase = @String.prototype.toLowerCase, StringPrototypeEndsWith = @String.prototype.endsWith, StringPrototypeRepeat = @String.prototype.repeat, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeTrim = @String.prototype.trim, StringPrototypeNormalize = @String.prototype.normalize, NumberIsNaN = Number.isNaN, NumberIsFinite = Number.isFinite, NumberIsInteger = Number.isInteger, NumberMAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER, NumberMIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER, MathCeil = Math.ceil, MathFloor = Math.floor, MathMax = Math.max, DateNow = Date.now, FunctionPrototype = Function.prototype, StringPrototype = @String.prototype, StringPrototypeSymbolIterator = StringPrototype[SymbolIterator], StringIteratorPrototypeNext = StringPrototypeSymbolIterator.@call(\"\").next, ObjectSetPrototypeOf = Object.setPrototypeOf, ObjectDefineProperty = Object.defineProperty, ObjectDefineProperties = Object.defineProperties, ObjectFreeze = Object.freeze;\nvar { create: ObjectCreate, keys: ObjectKeys } = Object;\nvar createSafeIterator = (factory, next) => {\n class SafeIterator {\n #iterator;\n constructor(iterable) {\n this.#iterator = factory.@call(iterable);\n }\n next() {\n return next.@call(this.#iterator);\n }\n [SymbolIterator]() {\n return this;\n }\n }\n return ObjectSetPrototypeOf(SafeIterator.prototype, null), ObjectFreeze(SafeIterator.prototype), ObjectFreeze(SafeIterator), SafeIterator;\n}, SafeStringIterator = createSafeIterator(StringPrototypeSymbolIterator, StringIteratorPrototypeNext), isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n}, isZeroWidthCodePoint = (code) => {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, getStringWidth = function getStringWidth2(str, removeControlChars = !0) {\n var width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize.@call(str, \"NFC\");\n for (var char of new SafeStringIterator(str)) {\n var code = StringPrototypeCodePointAt.@call(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n}, ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new @RegExp(ansiPattern, \"g\"), kCustomPromisifiedSymbol = SymbolFor(\"nodejs.util.promisify.custom\"), kCustomPromisifyArgsSymbol = Symbol(\"customPromisifyArgs\");\npromisify.custom = kCustomPromisifiedSymbol;\nvar kUTF16SurrogateThreshold = 65536, kEscape = \"\\x1B\", kSubstringSearch = Symbol(\"kSubstringSearch\"), kIsNodeError = Symbol(\"kIsNodeError\"), errorBases = {}, VALID_NODE_ERROR_BASES = {\n TypeError,\n RangeError,\n Error\n}, NodeError = getNodeErrorByName(\"Error\"), NodeTypeError = getNodeErrorByName(\"TypeError\"), NodeRangeError = getNodeErrorByName(\"RangeError\");\n\nclass ERR_INVALID_ARG_TYPE extends NodeTypeError {\n constructor(name, type, value) {\n super(`The \"${name}\" argument must be of type ${type}. Received type ${typeof value}`, {\n code: \"ERR_INVALID_ARG_TYPE\"\n });\n }\n}\n\nclass ERR_INVALID_ARG_VALUE extends NodeTypeError {\n constructor(name, value, reason = \"not specified\") {\n super(`The value \"${@String(value)}\" is invalid for argument '${name}'. Reason: ${reason}`, {\n code: \"ERR_INVALID_ARG_VALUE\"\n });\n }\n}\n\nclass ERR_INVALID_CURSOR_POS extends NodeTypeError {\n constructor() {\n super(\"Cannot set cursor row without setting its column\", {\n code: \"ERR_INVALID_CURSOR_POS\"\n });\n }\n}\n\nclass ERR_OUT_OF_RANGE extends NodeRangeError {\n constructor(name, range, received) {\n super(`The value of \"${name}\" is out of range. It must be ${range}. Received ${received}`, {\n code: \"ERR_OUT_OF_RANGE\"\n });\n }\n}\n\nclass ERR_USE_AFTER_CLOSE extends NodeError {\n constructor() {\n super(\"This socket has been ended by the other party\", {\n code: \"ERR_USE_AFTER_CLOSE\"\n });\n }\n}\n\nclass AbortError extends Error {\n code;\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\nvar kClearLine, kClearScreenDown, kClearToLineBeginning, kClearToLineEnd;\nCSI.kEscape = kEscape;\nCSI.kClearLine = kClearLine = CSI`2K`;\nCSI.kClearScreenDown = kClearScreenDown = CSI`0J`;\nCSI.kClearToLineBeginning = kClearToLineBeginning = CSI`1K`;\nCSI.kClearToLineEnd = kClearToLineEnd = CSI`0K`;\nvar KEYPRESS_DECODER = Symbol(\"keypress-decoder\"), ESCAPE_DECODER = Symbol(\"escape-decoder\"), ESCAPE_CODE_TIMEOUT = 500, kEmptyObject = ObjectFreeze(ObjectCreate(null)), kHistorySize = 30, kMaxUndoRedoStackSize = 2048, kMincrlfDelay = 100, lineEnding = /\\r\?\\n|\\r(\?!\\n)/g, kMaxLengthOfKillRing = 32, kLineObjectStream = Symbol(\"line object stream\"), kQuestionCancel = Symbol(\"kQuestionCancel\"), kQuestion = Symbol(\"kQuestion\"), kAddHistory = Symbol(\"_addHistory\"), kBeforeEdit = Symbol(\"_beforeEdit\"), kDecoder = Symbol(\"_decoder\"), kDeleteLeft = Symbol(\"_deleteLeft\"), kDeleteLineLeft = Symbol(\"_deleteLineLeft\"), kDeleteLineRight = Symbol(\"_deleteLineRight\"), kDeleteRight = Symbol(\"_deleteRight\"), kDeleteWordLeft = Symbol(\"_deleteWordLeft\"), kDeleteWordRight = Symbol(\"_deleteWordRight\"), kGetDisplayPos = Symbol(\"_getDisplayPos\"), kHistoryNext = Symbol(\"_historyNext\"), kHistoryPrev = Symbol(\"_historyPrev\"), kInsertString = Symbol(\"_insertString\"), kLine = Symbol(\"_line\"), kLine_buffer = Symbol(\"_line_buffer\"), kKillRing = Symbol(\"_killRing\"), kKillRingCursor = Symbol(\"_killRingCursor\"), kMoveCursor = Symbol(\"_moveCursor\"), kNormalWrite = Symbol(\"_normalWrite\"), kOldPrompt = Symbol(\"_oldPrompt\"), kOnLine = Symbol(\"_onLine\"), kPreviousKey = Symbol(\"_previousKey\"), kPrompt = Symbol(\"_prompt\"), kPushToKillRing = Symbol(\"_pushToKillRing\"), kPushToUndoStack = Symbol(\"_pushToUndoStack\"), kQuestionCallback = Symbol(\"_questionCallback\"), kRedo = Symbol(\"_redo\"), kRedoStack = Symbol(\"_redoStack\"), kRefreshLine = Symbol(\"_refreshLine\"), kSawKeyPress = Symbol(\"_sawKeyPress\"), kSawReturnAt = Symbol(\"_sawReturnAt\"), kSetRawMode = Symbol(\"_setRawMode\"), kTabComplete = Symbol(\"_tabComplete\"), kTabCompleter = Symbol(\"_tabCompleter\"), kTtyWrite = Symbol(\"_ttyWrite\"), kUndo = Symbol(\"_undo\"), kUndoStack = Symbol(\"_undoStack\"), kWordLeft = Symbol(\"_wordLeft\"), kWordRight = Symbol(\"_wordRight\"), kWriteToOutput = Symbol(\"_writeToOutput\"), kYank = Symbol(\"_yank\"), kYanking = Symbol(\"_yanking\"), kYankPop = Symbol(\"_yankPop\"), kFirstEventParam = Symbol(\"nodejs.kFirstEventParam\"), kOnSelfCloseWithTerminal = Symbol(\"_onSelfCloseWithTerminal\"), kOnSelfCloseWithoutTerminal = Symbol(\"_onSelfCloseWithoutTerminal\"), kOnKeyPress = Symbol(\"_onKeyPress\"), kOnError = Symbol(\"_onError\"), kOnData = Symbol(\"_onData\"), kOnEnd = Symbol(\"_onEnd\"), kOnTermEnd = Symbol(\"_onTermEnd\"), kOnResize = Symbol(\"_onResize\");\nInterfaceConstructor.prototype = {};\nObjectSetPrototypeOf(InterfaceConstructor.prototype, EventEmitter.prototype);\nvar _Interface = class Interface2 extends InterfaceConstructor {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n get columns() {\n var output = this.output;\n if (output && output.columns)\n return output.columns;\n return @Infinity;\n }\n setPrompt(prompt) {\n this[kPrompt] = prompt;\n }\n getPrompt() {\n return this[kPrompt];\n }\n [kSetRawMode](flag) {\n const mode = flag + 0, wasInRawMode = this.input.isRaw;\n var setRawMode = this.input.setRawMode;\n if (typeof setRawMode === \"function\")\n setRawMode.@call(this.input, mode);\n return wasInRawMode;\n }\n prompt(preserveCursor) {\n if (this.paused)\n this.resume();\n if (this.terminal) {\n if (!preserveCursor)\n this.cursor = 0;\n this[kRefreshLine]();\n } else\n this[kWriteToOutput](this[kPrompt]);\n }\n [kQuestion](query, cb) {\n if (this.closed)\n throw new ERR_USE_AFTER_CLOSE(\"readline\");\n if (this[kQuestionCallback])\n this.prompt();\n else\n this[kOldPrompt] = this[kPrompt], this.setPrompt(query), this[kQuestionCallback] = cb, this.prompt();\n }\n [kOnLine](line) {\n if (this[kQuestionCallback]) {\n var cb = this[kQuestionCallback];\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), cb(line);\n } else\n this.emit(\"line\", line);\n }\n [kBeforeEdit](oldText, oldCursor) {\n this[kPushToUndoStack](oldText, oldCursor);\n }\n [kQuestionCancel]() {\n if (this[kQuestionCallback])\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), this.clearLine();\n }\n [kWriteToOutput](stringToWrite) {\n if (validateString(stringToWrite, \"stringToWrite\"), this.output !== null && this.output !== @undefined)\n this.output.write(stringToWrite);\n }\n [kAddHistory]() {\n if (this.line.length === 0)\n return \"\";\n if (this.historySize === 0)\n return this.line;\n if (StringPrototypeTrim.@call(this.line).length === 0)\n return this.line;\n if (this.history.length === 0 || this.history[0] !== this.line) {\n if (this.removeHistoryDuplicates) {\n var dupIndex = ArrayPrototypeIndexOf.@call(this.history, this.line);\n if (dupIndex !== -1)\n ArrayPrototypeSplice.@call(this.history, dupIndex, 1);\n }\n if (ArrayPrototypeUnshift.@call(this.history, this.line), this.history.length > this.historySize)\n ArrayPrototypePop.@call(this.history);\n }\n this.historyIndex = -1;\n var line = this.history[0];\n return this.emit(\"history\", this.history), line;\n }\n [kRefreshLine]() {\n var line = this[kPrompt] + this.line, dispPos = this[kGetDisplayPos](line), lineCols = dispPos.cols, lineRows = dispPos.rows, cursorPos = this.getCursorPos(), prevRows = this.prevRows || 0;\n if (prevRows > 0)\n moveCursor(this.output, 0, -prevRows);\n if (cursorTo(this.output, 0), clearScreenDown(this.output), this[kWriteToOutput](line), lineCols === 0)\n this[kWriteToOutput](\" \");\n cursorTo(this.output, cursorPos.cols);\n var diff = lineRows - cursorPos.rows;\n if (diff > 0)\n moveCursor(this.output, 0, -diff);\n this.prevRows = cursorPos.rows;\n }\n close() {\n if (this.closed)\n return;\n if (this.pause(), this.terminal)\n this[kSetRawMode](!1);\n this.closed = !0, this.emit(\"close\");\n }\n pause() {\n if (this.paused)\n return;\n return this.input.pause(), this.paused = !0, this.emit(\"pause\"), this;\n }\n resume() {\n if (!this.paused)\n return;\n return this.input.resume(), this.paused = !1, this.emit(\"resume\"), this;\n }\n write(d, key) {\n if (this.paused)\n this.resume();\n if (this.terminal)\n this[kTtyWrite](d, key);\n else\n this[kNormalWrite](d);\n }\n [kNormalWrite](b) {\n if (b === @undefined)\n return;\n var string = this[kDecoder].write(b);\n if (this[kSawReturnAt] && DateNow() - this[kSawReturnAt] <= this.crlfDelay) {\n if (StringPrototypeCodePointAt.@call(string) === 10)\n string = StringPrototypeSlice.@call(string, 1);\n this[kSawReturnAt] = 0;\n }\n var newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n if (newPartContainsEnding !== null) {\n if (this[kLine_buffer])\n string = this[kLine_buffer] + string, this[kLine_buffer] = null, newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n this[kSawReturnAt] = StringPrototypeEndsWith.@call(string, \"\\r\") \? DateNow() : 0;\n var indexes = [0, newPartContainsEnding.index, lineEnding.lastIndex], nextMatch;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, string)) !== null)\n ArrayPrototypePush.@call(indexes, nextMatch.index, lineEnding.lastIndex);\n var lastIndex = indexes.length - 1;\n this[kLine_buffer] = StringPrototypeSlice.@call(string, indexes[lastIndex]);\n for (var i = 1;i < lastIndex; i += 2)\n this[kOnLine](StringPrototypeSlice.@call(string, indexes[i - 1], indexes[i]));\n } else if (string)\n if (this[kLine_buffer])\n this[kLine_buffer] += string;\n else\n this[kLine_buffer] = string;\n }\n [kInsertString](c) {\n if (this[kBeforeEdit](this.line, this.cursor), this.cursor < this.line.length) {\n var beg = StringPrototypeSlice.@call(this.line, 0, this.cursor), end = StringPrototypeSlice.@call(this.line, this.cursor, this.line.length);\n this.line = beg + c + end, this.cursor += c.length, this[kRefreshLine]();\n } else {\n var oldPos = this.getCursorPos();\n this.line += c, this.cursor += c.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows < newPos.rows)\n this[kRefreshLine]();\n else\n this[kWriteToOutput](c);\n }\n }\n async[kTabComplete](lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor), value;\n try {\n value = await this.completer(string);\n } catch (err) {\n this[kWriteToOutput](`Tab completion error: ${inspect(err)}`);\n return;\n } finally {\n this.resume();\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n }\n [kTabCompleter](lastKeypressWasTab, { 0: completions, 1: completeOn }) {\n if (!completions || completions.length === 0)\n return;\n var prefix = commonPrefix(ArrayPrototypeFilter.@call(completions, (e) => e !== \"\"));\n if (StringPrototypeStartsWith.@call(prefix, completeOn) && prefix.length > completeOn.length) {\n this[kInsertString](StringPrototypeSlice.@call(prefix, completeOn.length));\n return;\n } else if (!StringPrototypeStartsWith.@call(completeOn, prefix)) {\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - completeOn.length) + prefix + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = this.cursor - completeOn.length + prefix.length, this._refreshLine();\n return;\n }\n if (!lastKeypressWasTab)\n return;\n this[kBeforeEdit](this.line, this.cursor);\n var completionsWidth = ArrayPrototypeMap.@call(completions, (e) => getStringWidth(e)), width = MathMax.@apply(completionsWidth) + 2, maxColumns = MathFloor(this.columns / width) || 1;\n if (maxColumns === @Infinity)\n maxColumns = 1;\n var output = \"\\r\\n\", lineIndex = 0, whitespace = 0;\n for (var i = 0;i < completions.length; i++) {\n var completion = completions[i];\n if (completion === \"\" || lineIndex === maxColumns)\n output += \"\\r\\n\", lineIndex = 0, whitespace = 0;\n else\n output += StringPrototypeRepeat.@call(\" \", whitespace);\n if (completion !== \"\")\n output += completion, whitespace = width - completionsWidth[i], lineIndex++;\n else\n output += \"\\r\\n\";\n }\n if (lineIndex !== 0)\n output += \"\\r\\n\\r\\n\";\n this[kWriteToOutput](output), this[kRefreshLine]();\n }\n [kWordLeft]() {\n if (this.cursor > 0) {\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n this[kMoveCursor](-match[0].length);\n }\n }\n [kWordRight]() {\n if (this.cursor < this.line.length) {\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|[^\\w\\s]+|\\w+)\\s*/, trailing);\n this[kMoveCursor](match[0].length);\n }\n }\n [kDeleteLeft]() {\n if (this.cursor > 0 && this.line.length > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthLeft(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - charSize) + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor -= charSize, this[kRefreshLine]();\n }\n }\n [kDeleteRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthAt(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(this.line, this.cursor + charSize, this.line.length), this[kRefreshLine]();\n }\n }\n [kDeleteWordLeft]() {\n if (this.cursor > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n leading = StringPrototypeSlice.@call(leading, 0, leading.length - match[0].length), this.line = leading + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = leading.length, this[kRefreshLine]();\n }\n }\n [kDeleteWordRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|\\W+|\\w+)\\s*/, trailing);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(trailing, match[0].length), this[kRefreshLine]();\n }\n }\n [kDeleteLineLeft]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, this.cursor), this.cursor = 0, this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kDeleteLineRight]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor), this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kPushToKillRing](del) {\n if (!del || del === this[kKillRing][0])\n return;\n ArrayPrototypeUnshift.@call(this[kKillRing], del), this[kKillRingCursor] = 0;\n while (this[kKillRing].length > kMaxLengthOfKillRing)\n ArrayPrototypePop.@call(this[kKillRing]);\n }\n [kYank]() {\n if (this[kKillRing].length > 0)\n this[kYanking] = !0, this[kInsertString](this[kKillRing][this[kKillRingCursor]]);\n }\n [kYankPop]() {\n if (!this[kYanking])\n return;\n if (this[kKillRing].length > 1) {\n var lastYank = this[kKillRing][this[kKillRingCursor]];\n if (this[kKillRingCursor]++, this[kKillRingCursor] >= this[kKillRing].length)\n this[kKillRingCursor] = 0;\n var currentYank = this[kKillRing][this[kKillRingCursor]], head = StringPrototypeSlice.@call(this.line, 0, this.cursor - lastYank.length), tail = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = head + currentYank + tail, this.cursor = head.length + currentYank.length, this[kRefreshLine]();\n }\n }\n clearLine() {\n this[kMoveCursor](+@Infinity), this[kWriteToOutput](\"\\r\\n\"), this.line = \"\", this.cursor = 0, this.prevRows = 0;\n }\n [kLine]() {\n var line = this[kAddHistory]();\n this[kUndoStack] = [], this[kRedoStack] = [], this.clearLine(), this[kOnLine](line);\n }\n [kPushToUndoStack](text, cursor) {\n if (ArrayPrototypePush.@call(this[kUndoStack], { text, cursor }) > kMaxUndoRedoStackSize)\n ArrayPrototypeShift.@call(this[kUndoStack]);\n }\n [kUndo]() {\n if (this[kUndoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kRedoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kUndoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kRedo]() {\n if (this[kRedoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kUndoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kRedoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kHistoryNext]() {\n if (this.historyIndex >= 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex - 1;\n while (index >= 0 && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index--;\n if (index === -1)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kHistoryPrev]() {\n if (this.historyIndex < this.history.length && this.history.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex + 1;\n while (index < this.history.length && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index++;\n if (index === this.history.length)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kGetDisplayPos](str) {\n var offset = 0, col = this.columns, rows = 0;\n str = stripVTControlCharacters(str);\n for (var char of new SafeStringIterator(str)) {\n if (char === \"\\n\") {\n rows += MathCeil(offset / col) || 1, offset = 0;\n continue;\n }\n if (char === \"\\t\") {\n offset += this.tabSize - offset % this.tabSize;\n continue;\n }\n var width = getStringWidth(char, !1);\n if (width === 0 || width === 1)\n offset += width;\n else {\n if ((offset + 1) % col === 0)\n offset++;\n offset += 2;\n }\n }\n var cols = offset % col;\n return rows += (offset - cols) / col, { cols, rows };\n }\n getCursorPos() {\n var strBeforeCursor = this[kPrompt] + StringPrototypeSlice.@call(this.line, 0, this.cursor);\n return this[kGetDisplayPos](strBeforeCursor);\n }\n [kMoveCursor](dx) {\n if (dx === 0)\n return;\n var oldPos = this.getCursorPos();\n if (this.cursor += dx, this.cursor < 0)\n this.cursor = 0;\n else if (this.cursor > this.line.length)\n this.cursor = this.line.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows === newPos.rows) {\n var diffWidth = newPos.cols - oldPos.cols;\n moveCursor(this.output, diffWidth, 0);\n } else\n this[kRefreshLine]();\n }\n [kTtyWrite](s, key) {\n var previousKey = this[kPreviousKey];\n key = key || kEmptyObject, this[kPreviousKey] = key;\n var { name: keyName, meta: keyMeta, ctrl: keyCtrl2, shift: keyShift, sequence: keySeq } = key;\n if (!keyMeta || keyName !== \"y\")\n this[kYanking] = !1;\n if ((keyName === \"up\" || keyName === \"down\") && !keyCtrl2 && !keyMeta && !keyShift) {\n if (this[kSubstringSearch] === null)\n this[kSubstringSearch] = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n } else if (this[kSubstringSearch] !== null) {\n if (this[kSubstringSearch] = null, this.history.length === this.historyIndex)\n this.historyIndex = -1;\n }\n if (typeof keySeq === \"string\")\n switch (StringPrototypeCodePointAt.@call(keySeq, 0)) {\n case 31:\n this[kUndo]();\n return;\n case 30:\n this[kRedo]();\n return;\n default:\n break;\n }\n if (keyName === \"escape\")\n return;\n if (keyCtrl2 && keyShift)\n switch (keyName) {\n case \"backspace\":\n this[kDeleteLineLeft]();\n break;\n case \"delete\":\n this[kDeleteLineRight]();\n break;\n }\n else if (keyCtrl2)\n switch (keyName) {\n case \"c\":\n if (this.listenerCount(\"SIGINT\") > 0)\n this.emit(\"SIGINT\");\n else\n this.close();\n break;\n case \"h\":\n this[kDeleteLeft]();\n break;\n case \"d\":\n if (this.cursor === 0 && this.line.length === 0)\n this.close();\n else if (this.cursor < this.line.length)\n this[kDeleteRight]();\n break;\n case \"u\":\n this[kDeleteLineLeft]();\n break;\n case \"k\":\n this[kDeleteLineRight]();\n break;\n case \"a\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"e\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"b\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"f\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"l\":\n cursorTo(this.output, 0, 0), clearScreenDown(this.output), this[kRefreshLine]();\n break;\n case \"n\":\n this[kHistoryNext]();\n break;\n case \"p\":\n this[kHistoryPrev]();\n break;\n case \"y\":\n this[kYank]();\n break;\n case \"z\":\n if (this.listenerCount(\"SIGTSTP\") > 0)\n this.emit(\"SIGTSTP\");\n else\n process.once(\"SIGCONT\", () => {\n if (!this.paused)\n this.pause(), this.emit(\"SIGCONT\");\n this[kSetRawMode](!0), this[kRefreshLine]();\n }), this[kSetRawMode](!1), process.kill(process.pid, \"SIGTSTP\");\n break;\n case \"w\":\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"left\":\n this[kWordLeft]();\n break;\n case \"right\":\n this[kWordRight]();\n break;\n }\n else if (keyMeta)\n switch (keyName) {\n case \"b\":\n this[kWordLeft]();\n break;\n case \"f\":\n this[kWordRight]();\n break;\n case \"d\":\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"y\":\n this[kYankPop]();\n break;\n }\n else {\n if (this[kSawReturnAt] && keyName !== \"enter\")\n this[kSawReturnAt] = 0;\n switch (keyName) {\n case \"return\":\n this[kSawReturnAt] = DateNow(), this[kLine]();\n break;\n case \"enter\":\n if (this[kSawReturnAt] === 0 || DateNow() - this[kSawReturnAt] > this.crlfDelay)\n this[kLine]();\n this[kSawReturnAt] = 0;\n break;\n case \"backspace\":\n this[kDeleteLeft]();\n break;\n case \"delete\":\n this[kDeleteRight]();\n break;\n case \"left\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"right\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"home\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"end\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"up\":\n this[kHistoryPrev]();\n break;\n case \"down\":\n this[kHistoryNext]();\n break;\n case \"tab\":\n if (typeof this.completer === \"function\" && this.isCompletionEnabled) {\n var lastKeypressWasTab = previousKey && previousKey.name === \"tab\";\n this[kTabComplete](lastKeypressWasTab);\n break;\n }\n default:\n if (typeof s === \"string\" && s) {\n var nextMatch = RegExpPrototypeExec.@call(lineEnding, s);\n if (nextMatch !== null) {\n this[kInsertString](StringPrototypeSlice.@call(s, 0, nextMatch.index));\n var { lastIndex } = lineEnding;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, s)) !== null)\n this[kLine](), this[kInsertString](StringPrototypeSlice.@call(s, lastIndex, nextMatch.index)), { lastIndex } = lineEnding;\n if (lastIndex === s.length)\n this[kLine]();\n } else\n this[kInsertString](s);\n }\n }\n }\n }\n [SymbolAsyncIterator]() {\n if (this[kLineObjectStream] === @undefined)\n this[kLineObjectStream] = EventEmitter.on(this, \"line\", {\n close: [\"close\"],\n highWatermark: 1024,\n [kFirstEventParam]: !0\n });\n return this[kLineObjectStream];\n }\n};\nInterface.prototype = {};\nObjectSetPrototypeOf(Interface.prototype, _Interface.prototype);\nObjectSetPrototypeOf(Interface, _Interface);\nInterface.prototype.question = function question(query, options, cb) {\n if (cb = typeof options === \"function\" \? options : cb, options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return;\n var onAbort = () => {\n this[kQuestionCancel]();\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 });\n var cleanup = () => {\n signal.removeEventListener(\"abort\", onAbort);\n }, originalCb = cb;\n cb = typeof cb === \"function\" \? (answer) => {\n return cleanup(), originalCb(answer);\n } : cleanup;\n }\n if (typeof cb === \"function\")\n this[kQuestion](query, cb);\n};\nInterface.prototype.question[promisify.custom] = function question2(query, options) {\n if (options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal && signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (signal) {\n var onAbort = () => {\n reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this.question(query, options, cb);\n });\n};\nObjectDefineProperties(Interface.prototype, {\n [kSetRawMode]: {\n __proto__: null,\n get() {\n return this._setRawMode;\n }\n },\n [kOnLine]: {\n __proto__: null,\n get() {\n return this._onLine;\n }\n },\n [kWriteToOutput]: {\n __proto__: null,\n get() {\n return this._writeToOutput;\n }\n },\n [kAddHistory]: {\n __proto__: null,\n get() {\n return this._addHistory;\n }\n },\n [kRefreshLine]: {\n __proto__: null,\n get() {\n return this._refreshLine;\n }\n },\n [kNormalWrite]: {\n __proto__: null,\n get() {\n return this._normalWrite;\n }\n },\n [kInsertString]: {\n __proto__: null,\n get() {\n return this._insertString;\n }\n },\n [kTabComplete]: {\n __proto__: null,\n get() {\n return this._tabComplete;\n }\n },\n [kWordLeft]: {\n __proto__: null,\n get() {\n return this._wordLeft;\n }\n },\n [kWordRight]: {\n __proto__: null,\n get() {\n return this._wordRight;\n }\n },\n [kDeleteLeft]: {\n __proto__: null,\n get() {\n return this._deleteLeft;\n }\n },\n [kDeleteRight]: {\n __proto__: null,\n get() {\n return this._deleteRight;\n }\n },\n [kDeleteWordLeft]: {\n __proto__: null,\n get() {\n return this._deleteWordLeft;\n }\n },\n [kDeleteWordRight]: {\n __proto__: null,\n get() {\n return this._deleteWordRight;\n }\n },\n [kDeleteLineLeft]: {\n __proto__: null,\n get() {\n return this._deleteLineLeft;\n }\n },\n [kDeleteLineRight]: {\n __proto__: null,\n get() {\n return this._deleteLineRight;\n }\n },\n [kLine]: {\n __proto__: null,\n get() {\n return this._line;\n }\n },\n [kHistoryNext]: {\n __proto__: null,\n get() {\n return this._historyNext;\n }\n },\n [kHistoryPrev]: {\n __proto__: null,\n get() {\n return this._historyPrev;\n }\n },\n [kGetDisplayPos]: {\n __proto__: null,\n get() {\n return this._getDisplayPos;\n }\n },\n [kMoveCursor]: {\n __proto__: null,\n get() {\n return this._moveCursor;\n }\n },\n [kTtyWrite]: {\n __proto__: null,\n get() {\n return this._ttyWrite;\n }\n },\n _decoder: {\n __proto__: null,\n get() {\n return this[kDecoder];\n },\n set(value) {\n this[kDecoder] = value;\n }\n },\n _line_buffer: {\n __proto__: null,\n get() {\n return this[kLine_buffer];\n },\n set(value) {\n this[kLine_buffer] = value;\n }\n },\n _oldPrompt: {\n __proto__: null,\n get() {\n return this[kOldPrompt];\n },\n set(value) {\n this[kOldPrompt] = value;\n }\n },\n _previousKey: {\n __proto__: null,\n get() {\n return this[kPreviousKey];\n },\n set(value) {\n this[kPreviousKey] = value;\n }\n },\n _prompt: {\n __proto__: null,\n get() {\n return this[kPrompt];\n },\n set(value) {\n this[kPrompt] = value;\n }\n },\n _questionCallback: {\n __proto__: null,\n get() {\n return this[kQuestionCallback];\n },\n set(value) {\n this[kQuestionCallback] = value;\n }\n },\n _sawKeyPress: {\n __proto__: null,\n get() {\n return this[kSawKeyPress];\n },\n set(value) {\n this[kSawKeyPress] = value;\n }\n },\n _sawReturnAt: {\n __proto__: null,\n get() {\n return this[kSawReturnAt];\n },\n set(value) {\n this[kSawReturnAt] = value;\n }\n }\n});\nInterface.prototype._setRawMode = _Interface.prototype[kSetRawMode];\nInterface.prototype._onLine = _Interface.prototype[kOnLine];\nInterface.prototype._writeToOutput = _Interface.prototype[kWriteToOutput];\nInterface.prototype._addHistory = _Interface.prototype[kAddHistory];\nInterface.prototype._refreshLine = _Interface.prototype[kRefreshLine];\nInterface.prototype._normalWrite = _Interface.prototype[kNormalWrite];\nInterface.prototype._insertString = _Interface.prototype[kInsertString];\nInterface.prototype._tabComplete = function(lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.completer(string, (err, value) => {\n if (this.resume(), err) {\n this._writeToOutput(`Tab completion error: ${inspect(err)}`);\n return;\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n });\n};\nInterface.prototype._wordLeft = _Interface.prototype[kWordLeft];\nInterface.prototype._wordRight = _Interface.prototype[kWordRight];\nInterface.prototype._deleteLeft = _Interface.prototype[kDeleteLeft];\nInterface.prototype._deleteRight = _Interface.prototype[kDeleteRight];\nInterface.prototype._deleteWordLeft = _Interface.prototype[kDeleteWordLeft];\nInterface.prototype._deleteWordRight = _Interface.prototype[kDeleteWordRight];\nInterface.prototype._deleteLineLeft = _Interface.prototype[kDeleteLineLeft];\nInterface.prototype._deleteLineRight = _Interface.prototype[kDeleteLineRight];\nInterface.prototype._line = _Interface.prototype[kLine];\nInterface.prototype._historyNext = _Interface.prototype[kHistoryNext];\nInterface.prototype._historyPrev = _Interface.prototype[kHistoryPrev];\nInterface.prototype._getDisplayPos = _Interface.prototype[kGetDisplayPos];\nInterface.prototype._getCursorPos = _Interface.prototype.getCursorPos;\nInterface.prototype._moveCursor = _Interface.prototype[kMoveCursor];\nInterface.prototype._ttyWrite = _Interface.prototype[kTtyWrite];\n\nclass Readline {\n #autoCommit = !1;\n #stream;\n #todo = [];\n constructor(stream, options = @undefined) {\n if (isWritable \?\?= (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).isWritable, !isWritable(stream))\n throw new ERR_INVALID_ARG_TYPE(\"stream\", \"Writable\", stream);\n if (this.#stream = stream, options\?.autoCommit != null)\n validateBoolean(options.autoCommit, \"options.autoCommit\"), this.#autoCommit = options.autoCommit;\n }\n cursorTo(x, y = @undefined) {\n if (validateInteger(x, \"x\"), y != null)\n validateInteger(y, \"y\");\n var data = y == null \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n moveCursor(dx, dy) {\n if (dx || dy) {\n validateInteger(dx, \"dx\"), validateInteger(dy, \"dy\");\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n }\n return this;\n }\n clearLine(dir) {\n validateInteger(dir, \"dir\", -1, 1);\n var data = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n clearScreenDown() {\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(kClearScreenDown));\n else\n ArrayPrototypePush.@call(this.#todo, kClearScreenDown);\n return this;\n }\n commit() {\n return new @Promise((resolve) => {\n this.#stream.write(ArrayPrototypeJoin.@call(this.#todo, \"\"), resolve), this.#todo = [];\n });\n }\n rollback() {\n return this.#todo = [], this;\n }\n}\nvar PromisesInterface = class Interface3 extends _Interface {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n question(query, options = kEmptyObject) {\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n }\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (options\?.signal) {\n var onAbort = () => {\n this[kQuestionCancel](), reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this[kQuestion](query, cb);\n });\n }\n};\n$ = {\n Interface,\n clearLine,\n clearScreenDown,\n createInterface,\n cursorTo,\n emitKeypressEvents,\n moveCursor,\n promises: {\n Readline,\n Interface: PromisesInterface,\n createInterface(input, output, completer, terminal) {\n return new PromisesInterface(input, output, completer, terminal);\n }\n },\n [SymbolFor(\"__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__\")]: {\n CSI,\n utils: {\n getStringWidth,\n stripVTControlCharacters\n }\n }\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeReadlinePromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/readline.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).promises})\n"); +static constexpr ASCIILiteral NodeReadlinePromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/readline.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).promises})\n"); // // -static constexpr ASCIILiteral NodeReplCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/repl.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n lines: [],\n context: globalThis,\n historyIndex: -1,\n cursor: 0,\n historySize: 1000,\n removeHistoryDuplicates: !1,\n crlfDelay: 100,\n completer: () => {\n throwNotImplemented(\"node:repl\");\n },\n history: [],\n _initialPrompt: \"> \",\n terminal: !0,\n input: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n line: \"\",\n eval: () => {\n throwNotImplemented(\"node:repl\");\n },\n isCompletionEnabled: !0,\n escapeCodeTimeout: 500,\n tabSize: 8,\n breakEvalOnSigint: !0,\n useGlobal: !0,\n underscoreAssigned: !1,\n last: @undefined,\n _domain: @undefined,\n allowBlockingCompletions: !1,\n useColors: !0,\n output: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n _builtinLibs: [\n \"bun\",\n \"ffi\",\n \"assert\",\n \"assert/strict\",\n \"async_hooks\",\n \"buffer\",\n \"child_process\",\n \"cluster\",\n \"console\",\n \"constants\",\n \"crypto\",\n \"dgram\",\n \"diagnostics_channel\",\n \"dns\",\n \"dns/promises\",\n \"domain\",\n \"events\",\n \"fs\",\n \"fs/promises\",\n \"http\",\n \"http2\",\n \"https\",\n \"inspector\",\n \"inspector/promises\",\n \"module\",\n \"net\",\n \"os\",\n \"path\",\n \"path/posix\",\n \"path/win32\",\n \"perf_hooks\",\n \"process\",\n \"punycode\",\n \"querystring\",\n \"readline\",\n \"readline/promises\",\n \"repl\",\n \"stream\",\n \"stream/consumers\",\n \"stream/promises\",\n \"stream/web\",\n \"string_decoder\",\n \"sys\",\n \"timers\",\n \"timers/promises\",\n \"tls\",\n \"trace_events\",\n \"tty\",\n \"url\",\n \"util\",\n \"util/types\",\n \"v8\",\n \"vm\",\n \"wasi\",\n \"worker_threads\",\n \"zlib\"\n ]\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeReplCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/repl.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n lines: [],\n context: globalThis,\n historyIndex: -1,\n cursor: 0,\n historySize: 1000,\n removeHistoryDuplicates: !1,\n crlfDelay: 100,\n completer: () => {\n throwNotImplemented(\"node:repl\");\n },\n history: [],\n _initialPrompt: \"> \",\n terminal: !0,\n input: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n line: \"\",\n eval: () => {\n throwNotImplemented(\"node:repl\");\n },\n isCompletionEnabled: !0,\n escapeCodeTimeout: 500,\n tabSize: 8,\n breakEvalOnSigint: !0,\n useGlobal: !0,\n underscoreAssigned: !1,\n last: @undefined,\n _domain: @undefined,\n allowBlockingCompletions: !1,\n useColors: !0,\n output: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n _builtinLibs: [\n \"bun\",\n \"ffi\",\n \"assert\",\n \"assert/strict\",\n \"async_hooks\",\n \"buffer\",\n \"child_process\",\n \"cluster\",\n \"console\",\n \"constants\",\n \"crypto\",\n \"dgram\",\n \"diagnostics_channel\",\n \"dns\",\n \"dns/promises\",\n \"domain\",\n \"events\",\n \"fs\",\n \"fs/promises\",\n \"http\",\n \"http2\",\n \"https\",\n \"inspector\",\n \"inspector/promises\",\n \"module\",\n \"net\",\n \"os\",\n \"path\",\n \"path/posix\",\n \"path/win32\",\n \"perf_hooks\",\n \"process\",\n \"punycode\",\n \"querystring\",\n \"readline\",\n \"readline/promises\",\n \"repl\",\n \"stream\",\n \"stream/consumers\",\n \"stream/promises\",\n \"stream/web\",\n \"string_decoder\",\n \"sys\",\n \"timers\",\n \"timers/promises\",\n \"tls\",\n \"trace_events\",\n \"tty\",\n \"url\",\n \"util\",\n \"util/types\",\n \"v8\",\n \"vm\",\n \"wasi\",\n \"worker_threads\",\n \"zlib\"\n ]\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeStreamConsumersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.consumers.ts\nvar $, arrayBuffer = Bun.readableStreamToArrayBuffer, text = Bun.readableStreamToText, json = (stream) => Bun.readableStreamToText(stream).then(JSON.parse), buffer = async (readableStream) => {\n return new @Buffer(await arrayBuffer(readableStream));\n}, blob = Bun.readableStreamToBlob;\n$ = {\n arrayBuffer,\n text,\n json,\n buffer,\n blob\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeStreamConsumersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.consumers.ts\nvar $, arrayBuffer = Bun.readableStreamToArrayBuffer, text = Bun.readableStreamToText, json = (stream) => Bun.readableStreamToText(stream).then(JSON.parse), buffer = async (readableStream) => {\n return new @Buffer(await arrayBuffer(readableStream));\n}, blob = Bun.readableStreamToBlob;\n$ = {\n arrayBuffer,\n text,\n json,\n buffer,\n blob\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeStreamCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.ts\nvar isReadableStream = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @ReadableStream;\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n return new Error(`The argument '${name}' is invalid. Received '${value}' for type '${type}'`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value '${value}' is invalid for argument '${name}'. Reason: ${reason}`);\n}, createNativeStreamReadable = function(nativeType, Readable) {\n var [pull, start, cancel, setClose, deinit, updateRef, drainFn] = @lazy(nativeType), closer = [!1], handleNumberResult = function(nativeReadable, result, view, isClosed) {\n if (result > 0) {\n const slice = view.subarray(0, result), remainder = view.subarray(result);\n if (slice.byteLength > 0)\n nativeReadable.push(slice);\n if (isClosed)\n nativeReadable.push(null);\n return remainder.byteLength > 0 \? remainder : @undefined;\n }\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, handleArrayBufferViewResult = function(nativeReadable, result, view, isClosed) {\n if (result.byteLength > 0)\n nativeReadable.push(result);\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, DYNAMICALLY_ADJUST_CHUNK_SIZE = process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE !== \"1\";\n const finalizer = new FinalizationRegistry((ptr) => ptr && deinit(ptr)), MIN_BUFFER_SIZE = 512;\n var NativeReadable = class NativeReadable2 extends Readable {\n #bunNativePtr;\n #refCount = 1;\n #constructed = !1;\n #remainingChunk = @undefined;\n #highWaterMark;\n #pendingRead = !1;\n #hasResized = !DYNAMICALLY_ADJUST_CHUNK_SIZE;\n #unregisterToken;\n constructor(ptr, options = {}) {\n super(options);\n if (typeof options.highWaterMark === \"number\")\n this.#highWaterMark = options.highWaterMark;\n else\n this.#highWaterMark = 262144;\n this.#bunNativePtr = ptr, this.#constructed = !1, this.#remainingChunk = @undefined, this.#pendingRead = !1, this.#unregisterToken = {}, finalizer.register(this, this.#bunNativePtr, this.#unregisterToken);\n }\n _read(maxToRead) {\n if (this.#pendingRead)\n return;\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n this.push(null);\n return;\n }\n if (!this.#constructed)\n this.#internalConstruct(ptr);\n return this.#internalRead(this.#getRemainingChunk(maxToRead), ptr);\n }\n #internalConstruct(ptr) {\n this.#constructed = !0;\n const result = start(ptr, this.#highWaterMark);\n if (typeof result === \"number\" && result > 1)\n this.#hasResized = !0, this.#highWaterMark = Math.min(this.#highWaterMark, result);\n if (drainFn) {\n const drainResult = drainFn(ptr);\n if ((drainResult\?.byteLength \?\? 0) > 0)\n this.push(drainResult);\n }\n }\n #getRemainingChunk(maxToRead = this.#highWaterMark) {\n var chunk = this.#remainingChunk;\n if (chunk\?.byteLength \?\? 0 < MIN_BUFFER_SIZE) {\n var size = maxToRead > MIN_BUFFER_SIZE \? maxToRead : MIN_BUFFER_SIZE;\n this.#remainingChunk = chunk = new @Buffer(size);\n }\n return chunk;\n }\n #handleResult(result, view, isClosed) {\n if (typeof result === \"number\") {\n if (result >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleNumberResult(this, result, view, isClosed);\n } else if (typeof result === \"boolean\")\n return process.nextTick(() => {\n this.push(null);\n }), view\?.byteLength \?\? 0 > 0 \? view : @undefined;\n else if (@ArrayBuffer.isView(result)) {\n if (result.byteLength >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleArrayBufferViewResult(this, result, view, isClosed);\n } else\n throw new Error(\"Invalid result from pull\");\n }\n #internalRead(view, ptr) {\n closer[0] = !1;\n var result = pull(ptr, view, closer);\n if (@isPromise(result))\n return this.#pendingRead = !0, result.then((result2) => {\n this.#pendingRead = !1, this.#remainingChunk = this.#handleResult(result2, view, closer[0]);\n }, (reason) => {\n errorOrDestroy(this, reason);\n });\n else\n this.#remainingChunk = this.#handleResult(result, view, closer[0]);\n }\n _destroy(error, callback) {\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n callback(error);\n return;\n }\n if (finalizer.unregister(this.#unregisterToken), this.#bunNativePtr = 0, updateRef)\n updateRef(ptr, !1);\n cancel(ptr, error), callback(error);\n }\n ref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount++ === 0)\n updateRef(ptr, !0);\n }\n unref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount-- === 1)\n updateRef(ptr, !1);\n }\n };\n if (!updateRef)\n NativeReadable.prototype.ref = @undefined, NativeReadable.prototype.unref = @undefined;\n return NativeReadable;\n}, getNativeReadableStreamPrototype = function(nativeType, Readable) {\n return nativeReadableStreamPrototypes[nativeType] ||= createNativeStreamReadable(nativeType, Readable);\n}, getNativeReadableStream = function(Readable, stream, options) {\n if (!(stream && typeof stream === \"object\" && stream instanceof @ReadableStream))\n return @undefined;\n const native = @direct(stream);\n if (!native)\n return @undefined;\n const { stream: ptr, data: type } = native;\n return new (getNativeReadableStreamPrototype(type, Readable))(ptr, options);\n}, NativeWritable = function(pathOrFdOrSink, options = {}) {\n Writable.@call(this, options), this[_native] = !0, this._construct = NativeWritable_internalConstruct, this._destroy = NativeWritable_internalDestroy, this._final = NativeWritable_internalFinal, this[_pathOrFdOrSink] = pathOrFdOrSink;\n}, NativeWritable_internalConstruct = function(cb) {\n if (this._writableState.constructed = !0, this.constructed = !0, typeof cb === \"function\")\n cb();\n process.nextTick(() => {\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n });\n}, NativeWritable_lazyConstruct = function(stream) {\n var sink = stream[_pathOrFdOrSink];\n if (typeof sink === \"object\")\n if (typeof sink.write === \"function\")\n return stream[_fileSink] = sink;\n else\n throw new Error(\"Invalid FileSink\");\n else\n return stream[_fileSink] = Bun.file(sink).writer();\n}, NativeWritable_internalDestroy = function(error, cb) {\n const w = this._writableState, r = this._readableState;\n if (w)\n w.destroyed = !0, w.closeEmitted = !0;\n if (r)\n r.destroyed = !0, r.closeEmitted = !0;\n if (typeof cb === \"function\")\n cb(error);\n if (w\?.closeEmitted || r\?.closeEmitted)\n this.emit(\"close\");\n}, NativeWritable_internalFinal = function(cb) {\n var sink = this[_fileSink];\n if (sink)\n sink.end();\n if (cb)\n cb();\n}, EE = @lazy(\"events\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, runOnNextTick = process.nextTick;\nvar ArrayIsArray = @Array.isArray, require_primordials = __commonJS({\n \"node_modules/readable-stream/lib/ours/primordials.js\"(exports, module) {\n module.exports = {\n ArrayIsArray(self) {\n return @Array.isArray(self);\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el);\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el);\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep);\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn);\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el);\n },\n ArrayPrototypePush(self, el) {\n return self.push(el);\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.@call(thisArgs, ...args);\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].@call(self, instance);\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props);\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop);\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name);\n },\n ObjectKeys(obj) {\n return Object.keys(obj);\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto);\n },\n Promise: @Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn);\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn);\n },\n PromiseReject(err) {\n return @Promise.reject(err);\n },\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n RegExpPrototypeTest(self, value) {\n return self.test(value);\n },\n SafeSet: Set,\n String: @String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase();\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase();\n },\n StringPrototypeTrim(self) {\n return self.trim();\n },\n Symbol,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len);\n },\n Uint8Array: @Uint8Array\n };\n }\n}), require_util = __commonJS({\n \"node_modules/readable-stream/lib/ours/util.js\"(exports, module) {\n var AsyncFunction = Object.getPrototypeOf(async function() {\n }).constructor, isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, AggregateError = class extends Error {\n constructor(errors) {\n if (!@Array.isArray(errors))\n @throwTypeError(`Expected input to be an Array, got ${typeof errors}`);\n let message = \"\";\n for (let i = 0;i < errors.length; i++)\n message += ` ${errors[i].stack}\n`;\n super(message);\n this.name = \"AggregateError\", this.errors = errors;\n }\n };\n module.exports = {\n AggregateError,\n once(callback) {\n let called = !1;\n return function(...args) {\n if (called)\n return;\n called = !0, callback.@apply(this, args);\n };\n },\n createDeferredPromise: function() {\n let resolve, reject;\n return {\n promise: new @Promise((res, rej) => {\n resolve = res, reject = rej;\n }),\n resolve,\n reject\n };\n },\n promisify(fn) {\n return new @Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err)\n return reject(err);\n return resolve(...args);\n });\n });\n },\n debuglog() {\n return function() {\n };\n },\n format(format, ...args) {\n return format.replace(/%([sdifj])/g, function(...[_unused, type]) {\n const replacement = args.shift();\n if (type === \"f\")\n return replacement.toFixed(6);\n else if (type === \"j\")\n return JSON.stringify(replacement);\n else if (type === \"s\" && typeof replacement === \"object\")\n return `${replacement.constructor !== Object \? replacement.constructor.name : \"\"} {}`.trim();\n else\n return replacement.toString();\n });\n },\n inspect(value) {\n switch (typeof value) {\n case \"string\":\n if (value.includes(\"'\")) {\n if (!value.includes('\"'))\n return `\"${value}\"`;\n else if (!value.includes(\"`\") && !value.includes(\"${\"))\n return `\\`${value}\\``;\n }\n return `'${value}'`;\n case \"number\":\n if (isNaN(value))\n return \"NaN\";\n else if (Object.is(value, -0))\n return @String(value);\n return value;\n case \"bigint\":\n return `${@String(value)}n`;\n case \"boolean\":\n case \"undefined\":\n return @String(value);\n case \"object\":\n return \"{}\";\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction;\n },\n isArrayBufferView(arr) {\n return @ArrayBuffer.isView(arr);\n }\n },\n isBlob\n }, module.exports.promisify.custom = Symbol.for(\"nodejs.util.promisify.custom\");\n }\n}), require_errors = __commonJS({\n \"node_modules/readable-stream/lib/ours/errors.js\"(exports, module) {\n var { format, inspect, AggregateError: CustomAggregateError } = require_util(), AggregateError = globalThis.AggregateError || CustomAggregateError, kIsNodeError = Symbol(\"kIsNodeError\"), kTypes = [\"string\", \"function\", \"number\", \"object\", \"Function\", \"Object\", \"boolean\", \"bigint\", \"symbol\"], classRegExp = /^([A-Z][a-z0-9]*)+$/, nodeInternalPrefix = \"__node_internal_\", codes = {};\n function assert(value, message) {\n if (!value)\n throw new codes.ERR_INTERNAL_ASSERTION(message);\n }\n function addNumericalSeparator(val) {\n let res = \"\", i = val.length;\n const start = val[0] === \"-\" \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n res = `_${val.slice(i - 3, i)}${res}`;\n return `${val.slice(0, i)}${res}`;\n }\n function getMessage(key, msg, args) {\n if (typeof msg === \"function\")\n return assert(msg.length <= args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`), msg(...args);\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;\n if (assert(expectedLength === args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`), args.length === 0)\n return msg;\n return format(msg, ...args);\n }\n function E(code, message, Base) {\n if (!Base)\n Base = Error;\n\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args));\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`;\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: !0,\n enumerable: !1,\n configurable: !0\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`;\n },\n writable: !0,\n enumerable: !1,\n configurable: !0\n }\n }), NodeError.prototype.code = code, NodeError.prototype[kIsNodeError] = !0, codes[code] = NodeError;\n }\n function hideStackFrames(fn) {\n const hidden = nodeInternalPrefix + fn.name;\n return Object.defineProperty(fn, \"name\", {\n value: hidden\n }), fn;\n }\n function aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (@Array.isArray(outerError.errors))\n return outerError.errors.push(innerError), outerError;\n const err = new AggregateError([outerError, innerError], outerError.message);\n return err.code = outerError.code, err;\n }\n return innerError || outerError;\n }\n var AbortError2 = class extends Error {\n constructor(message = \"The operation was aborted\", options = void 0) {\n if (options !== void 0 && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n };\n E(\"ERR_ASSERTION\", \"%s\", Error), E(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !@Array.isArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (name.endsWith(\" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${name.includes(\".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), kTypes.includes(value))\n types.push(value.toLowerCase());\n else if (classRegExp.test(value))\n instances.push(value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), other.push(value);\n if (instances.length > 0) {\n const pos = types.indexOf(\"object\");\n if (pos !== -1)\n types.splice(types, pos, 1), instances.push(\"Object\");\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`;\n break;\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`;\n break;\n default: {\n const last = types.pop();\n msg += `one of type ${types.join(\", \")}, or ${last}`;\n }\n }\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`;\n break;\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`;\n break;\n default: {\n const last = instances.pop();\n msg += `an instance of ${instances.join(\", \")}, or ${last}`;\n }\n }\n if (other.length > 0)\n msg += \" or \";\n }\n switch (other.length) {\n case 0:\n break;\n case 1:\n if (other[0].toLowerCase() !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n break;\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`;\n break;\n default: {\n const last = other.pop();\n msg += `one of ${other.join(\", \")}, or ${last}`;\n }\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\") {\n var _actual$constructor;\n if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else {\n const inspected = inspect(actual, {\n depth: -1\n });\n msg += `. Received ${inspected}`;\n }\n } else {\n let inspected = inspect(actual, {\n colors: !1\n });\n if (inspected.length > 25)\n inspected = `${inspected.slice(0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }, TypeError), E(\"ERR_INVALID_ARG_VALUE\", (name, value, reason = \"is invalid\") => {\n let inspected = inspect(value);\n if (inspected.length > 128)\n inspected = inspected.slice(0, 128) + \"...\";\n return `The ${name.includes(\".\") \? \"property\" : \"argument\"} '${name}' ${reason}. Received ${inspected}`;\n }, TypeError), E(\"ERR_INVALID_RETURN_VALUE\", (input, name, value) => {\n var _value$constructor;\n const type = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name \? `instance of ${value.constructor.name}` : `type ${typeof value}`;\n return `Expected ${input} to be returned from the \"${name}\" function but got ${type}.`;\n }, TypeError), E(\"ERR_MISSING_ARGS\", (...args) => {\n assert(args.length > 0, \"At least one arg needs to be specified\");\n let msg;\n const len = args.length;\n switch (args = (@Array.isArray(args) \? args : [args]).map((a) => `\"${a}\"`).join(\" or \"), len) {\n case 1:\n msg += `The ${args[0]} argument`;\n break;\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`;\n break;\n default:\n {\n const last = args.pop();\n msg += `The ${args.join(\", \")}, and ${last} arguments`;\n }\n break;\n }\n return `${msg} must be specified`;\n }, TypeError), E(\"ERR_OUT_OF_RANGE\", (str, range, input) => {\n assert(range, 'Missing \"range\" argument');\n let received;\n if (Number.isInteger(input) && Math.abs(input) > 4294967296)\n received = addNumericalSeparator(@String(input));\n else if (typeof input === \"bigint\") {\n if (received = @String(input), input > 2n ** 32n || input < -(2n ** 32n))\n received = addNumericalSeparator(received);\n received += \"n\";\n } else\n received = inspect(input);\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`;\n }, RangeError), E(\"ERR_MULTIPLE_CALLBACK\", \"Callback called multiple times\", Error), E(\"ERR_METHOD_NOT_IMPLEMENTED\", \"The %s method is not implemented\", Error), E(\"ERR_STREAM_ALREADY_FINISHED\", \"Cannot call %s after a stream was finished\", Error), E(\"ERR_STREAM_CANNOT_PIPE\", \"Cannot pipe, not readable\", Error), E(\"ERR_STREAM_DESTROYED\", \"Cannot call %s after a stream was destroyed\", Error), E(\"ERR_STREAM_NULL_VALUES\", \"May not write null values to stream\", TypeError), E(\"ERR_STREAM_PREMATURE_CLOSE\", \"Premature close\", Error), E(\"ERR_STREAM_PUSH_AFTER_EOF\", \"stream.push() after EOF\", Error), E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\", \"stream.unshift() after end event\", Error), E(\"ERR_STREAM_WRITE_AFTER_END\", \"write after end\", Error), E(\"ERR_UNKNOWN_ENCODING\", \"Unknown encoding: %s\", TypeError), module.exports = {\n AbortError: AbortError2,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n };\n }\n}), require_validators = __commonJS({\n \"node_modules/readable-stream/lib/internal/validators.js\"(exports, module) {\n var {\n ArrayIsArray: ArrayIsArray2,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n RegExpPrototypeTest,\n String: String2,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n } = require_primordials(), {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n } = require_errors(), { normalizeEncoding } = require_util(), { isAsyncFunction, isArrayBufferView } = require_util().types, signals = {};\n function isInt32(value) {\n return value === (value | 0);\n }\n function isUint32(value) {\n return value === value >>> 0;\n }\n var octalReg = /^[0-7]+$/, modeDesc = \"must be a 32-bit unsigned integer or an octal string\";\n function parseFileMode(value, name, def) {\n if (typeof value === \"undefined\")\n value = def;\n if (typeof value === \"string\") {\n if (!RegExpPrototypeTest(octalReg, value))\n throw new ERR_INVALID_ARG_VALUE2(name, value, modeDesc);\n value = NumberParseInt(value, 8);\n }\n return validateInt32(value, name, 0, 4294967295), value;\n }\n var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isInt32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateUint32 = hideStackFrames((value, name, positive) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isUint32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${positive \? 1 : 0} && < 4294967296`, value);\n }\n if (positive && value === 0)\n throw new ERR_OUT_OF_RANGE(name, \">= 1 && < 4294967296\", value);\n });\n function validateString(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"string\", value);\n }\n function validateNumber(value, name) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n }\n var validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const reason = \"must be one of: \" + ArrayPrototypeJoin(ArrayPrototypeMap(oneOf, (v) => typeof v === \"string\" \? `'${v}'` : String2(v)), \", \");\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateBoolean2(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"boolean\", value);\n }\n var validateObject = hideStackFrames((value, name, options) => {\n const useDefaultOptions = options == null, allowArray = useDefaultOptions \? !1 : options.allowArray, allowFunction = useDefaultOptions \? !1 : options.allowFunction;\n if (!(useDefaultOptions \? !1 : options.nullable) && value === null || !allowArray && ArrayIsArray2(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Object\", value);\n }), validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray2(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateSignalName(signal, name = \"signal\") {\n if (validateString(signal, name), signals[signal] === void 0) {\n if (signals[StringPrototypeToUpperCase(signal)] !== void 0)\n throw new ERR_UNKNOWN_SIGNAL(signal + \" (signals must use all capital letters)\");\n throw new ERR_UNKNOWN_SIGNAL(signal);\n }\n }\n var validateBuffer = hideStackFrames((buffer, name = \"buffer\") => {\n if (!isArrayBufferView(buffer))\n throw new ERR_INVALID_ARG_TYPE2(name, [\"Buffer\", \"TypedArray\", \"DataView\"], buffer);\n });\n function validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding), length = data.length;\n if (normalizedEncoding === \"hex\" && length % 2 !== 0)\n throw new ERR_INVALID_ARG_VALUE2(\"encoding\", encoding, `is invalid for data of length ${length}`);\n }\n function validatePort(port, name = \"Port\", allowZero = !0) {\n if (typeof port !== \"number\" && typeof port !== \"string\" || typeof port === \"string\" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero)\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);\n return port | 0;\n }\n var validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== void 0 && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n }), validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\" || isAsyncFunction(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validateUndefined = hideStackFrames((value, name) => {\n if (value !== void 0)\n throw new ERR_INVALID_ARG_TYPE2(name, \"undefined\", value);\n });\n module.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateBoolean: validateBoolean2,\n validateBuffer,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateAbortSignal\n };\n }\n}), require_utils = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/utils.js\"(exports, module) {\n var { Symbol: Symbol2, SymbolAsyncIterator, SymbolIterator } = require_primordials(), kDestroyed = Symbol2(\"kDestroyed\"), kIsErrored = Symbol2(\"kIsErrored\"), kIsReadable = Symbol2(\"kIsReadable\"), kIsDisturbed = Symbol2(\"kIsDisturbed\");\n function isReadableNodeStream(obj, strict = !1) {\n var _obj$_readableState;\n return !!(obj && typeof obj.pipe === \"function\" && typeof obj.on === \"function\" && (!strict || typeof obj.pause === \"function\" && typeof obj.resume === \"function\") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 \? void 0 : _obj$_readableState.readable) !== !1) && (!obj._writableState || obj._readableState));\n }\n function isWritableNodeStream(obj) {\n var _obj$_writableState;\n return !!(obj && typeof obj.write === \"function\" && typeof obj.on === \"function\" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 \? void 0 : _obj$_writableState.writable) !== !1));\n }\n function isDuplexNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\" && obj._readableState && typeof obj.on === \"function\" && typeof obj.write === \"function\");\n }\n function isNodeStream(obj) {\n return obj && (obj._readableState || obj._writableState || typeof obj.write === \"function\" && typeof obj.on === \"function\" || typeof obj.pipe === \"function\" && typeof obj.on === \"function\");\n }\n function isIterable(obj, isAsync) {\n if (obj == null)\n return !1;\n if (isAsync === !0)\n return typeof obj[SymbolAsyncIterator] === \"function\";\n if (isAsync === !1)\n return typeof obj[SymbolIterator] === \"function\";\n return typeof obj[SymbolAsyncIterator] === \"function\" || typeof obj[SymbolIterator] === \"function\";\n }\n function isDestroyed(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !!(stream.destroyed || stream[kDestroyed] || state !== null && state !== void 0 && state.destroyed);\n }\n function isWritableEnded(stream) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableEnded === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.ended) !== \"boolean\")\n return null;\n return wState.ended;\n }\n function isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableFinished === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.finished) !== \"boolean\")\n return null;\n return !!(wState.finished || strict === !1 && wState.ended === !0 && wState.length === 0);\n }\n function isReadableEnded(stream) {\n if (!isReadableNodeStream(stream))\n return null;\n if (stream.readableEnded === !0)\n return !0;\n const rState = stream._readableState;\n if (!rState || rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.ended) !== \"boolean\")\n return null;\n return rState.ended;\n }\n function isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream))\n return null;\n const rState = stream._readableState;\n if (rState !== null && rState !== void 0 && rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.endEmitted) !== \"boolean\")\n return null;\n return !!(rState.endEmitted || strict === !1 && rState.ended === !0 && rState.length === 0);\n }\n function isReadable(stream) {\n if (stream && stream[kIsReadable] != null)\n return stream[kIsReadable];\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.readable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);\n }\n function isWritable(stream) {\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.writable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);\n }\n function isFinished(stream, opts) {\n if (!isNodeStream(stream))\n return null;\n if (isDestroyed(stream))\n return !0;\n if ((opts === null || opts === void 0 \? void 0 : opts.readable) !== !1 && isReadable(stream))\n return !1;\n if ((opts === null || opts === void 0 \? void 0 : opts.writable) !== !1 && isWritable(stream))\n return !1;\n return !0;\n }\n function isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.writableErrored)\n return stream.writableErrored;\n return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 \? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 \? _stream$_writableStat : null;\n }\n function isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.readableErrored)\n return stream.readableErrored;\n return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 \? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 \? _stream$_readableStat : null;\n }\n function isClosed(stream) {\n if (!isNodeStream(stream))\n return null;\n if (typeof stream.closed === \"boolean\")\n return stream.closed;\n const { _writableState: wState, _readableState: rState } = stream;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.closed) === \"boolean\" || typeof (rState === null || rState === void 0 \? void 0 : rState.closed) === \"boolean\")\n return (wState === null || wState === void 0 \? void 0 : wState.closed) || (rState === null || rState === void 0 \? void 0 : rState.closed);\n if (typeof stream._closed === \"boolean\" && isOutgoingMessage(stream))\n return stream._closed;\n return null;\n }\n function isOutgoingMessage(stream) {\n return typeof stream._closed === \"boolean\" && typeof stream._defaultKeepAlive === \"boolean\" && typeof stream._removedConnection === \"boolean\" && typeof stream._removedContLen === \"boolean\";\n }\n function isServerResponse(stream) {\n return typeof stream._sent100 === \"boolean\" && isOutgoingMessage(stream);\n }\n function isServerRequest(stream) {\n var _stream$req;\n return typeof stream._consuming === \"boolean\" && typeof stream._dumped === \"boolean\" && ((_stream$req = stream.req) === null || _stream$req === void 0 \? void 0 : _stream$req.upgradeOrConnect) === void 0;\n }\n function willEmitClose(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === !1);\n }\n function isDisturbed(stream) {\n var _stream$kIsDisturbed;\n return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 \? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));\n }\n function isErrored(stream) {\n var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;\n return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 \? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 \? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 \? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 \? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 \? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 \? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 \? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 \? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 \? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 \? void 0 : _stream$_writableStat4.errored));\n }\n module.exports = {\n kDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n isClosed,\n isDestroyed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWritable,\n isWritableNodeStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose\n };\n }\n}), require_end_of_stream = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes, { once } = require_util(), { validateAbortSignal, validateFunction, validateObject } = require_validators(), { Promise: Promise2 } = require_primordials(), {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose\n } = require_utils();\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n }\n var nop = () => {\n };\n function eos(stream, options, callback) {\n var _options$readable, _options$writable;\n if (arguments.length === 2)\n callback = options, options = {};\n else if (options == null)\n options = {};\n else\n validateObject(options, \"options\");\n validateFunction(callback, \"callback\"), validateAbortSignal(options.signal, \"options.signal\"), callback = once(callback);\n const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 \? _options$readable : isReadableNodeStream(stream), writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 \? _options$writable : isWritableNodeStream(stream);\n if (!isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"Stream\", stream);\n const { _writableState: wState, _readableState: rState } = stream, onlegacyfinish = () => {\n if (!stream.writable)\n onfinish();\n };\n let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable, writableFinished = isWritableFinished(stream, !1);\n const onfinish = () => {\n if (writableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.readable || readable))\n return;\n if (!readable || readableFinished)\n callback.@call(stream);\n };\n let readableFinished = isReadableFinished(stream, !1);\n const onend = () => {\n if (readableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.writable || writable))\n return;\n if (!writable || writableFinished)\n callback.@call(stream);\n }, onerror = (err) => {\n callback.@call(stream, err);\n };\n let closed = isClosed(stream);\n const onclose = () => {\n closed = !0;\n const errored = isWritableErrored(stream) || isReadableErrored(stream);\n if (errored && typeof errored !== \"boolean\")\n return callback.@call(stream, errored);\n if (readable && !readableFinished && isReadableNodeStream(stream, !0)) {\n if (!isReadableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n callback.@call(stream);\n }, onrequest = () => {\n stream.req.on(\"finish\", onfinish);\n };\n if (isRequest(stream)) {\n if (stream.on(\"complete\", onfinish), !willEmitClose)\n stream.on(\"abort\", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on(\"request\", onrequest);\n } else if (writable && !wState)\n stream.on(\"end\", onlegacyfinish), stream.on(\"close\", onlegacyfinish);\n if (!willEmitClose && typeof stream.aborted === \"boolean\")\n stream.on(\"aborted\", onclose);\n if (stream.on(\"end\", onend), stream.on(\"finish\", onfinish), options.error !== !1)\n stream.on(\"error\", onerror);\n if (stream.on(\"close\", onclose), closed)\n runOnNextTick(onclose);\n else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {\n if (!willEmitClose)\n runOnNextTick(onclose);\n } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === !1))\n runOnNextTick(onclose);\n else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === !1))\n runOnNextTick(onclose);\n else if (rState && stream.req && stream.aborted)\n runOnNextTick(onclose);\n const cleanup = () => {\n if (callback = nop, stream.removeListener(\"aborted\", onclose), stream.removeListener(\"complete\", onfinish), stream.removeListener(\"abort\", onclose), stream.removeListener(\"request\", onrequest), stream.req)\n stream.req.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onlegacyfinish), stream.removeListener(\"close\", onlegacyfinish), stream.removeListener(\"finish\", onfinish), stream.removeListener(\"end\", onend), stream.removeListener(\"error\", onerror), stream.removeListener(\"close\", onclose);\n };\n if (options.signal && !closed) {\n const abort = () => {\n const endCallback = callback;\n cleanup(), endCallback.@call(stream, new AbortError2(void 0, {\n cause: options.signal.reason\n }));\n };\n if (options.signal.aborted)\n runOnNextTick(abort);\n else {\n const originalCallback = callback;\n callback = once((...args) => {\n options.signal.removeEventListener(\"abort\", abort), originalCallback.@apply(stream, args);\n }), options.signal.addEventListener(\"abort\", abort);\n }\n }\n return cleanup;\n }\n function finished(stream, opts) {\n return new Promise2((resolve, reject) => {\n eos(stream, opts, (err) => {\n if (err)\n reject(err);\n else\n resolve();\n });\n });\n }\n module.exports = eos, module.exports.finished = finished;\n }\n}), require_operators = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/operators.js\"(exports, module) {\n var {\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError: AbortError2\n } = require_errors(), { validateAbortSignal, validateInteger, validateObject } = require_validators(), kWeakHandler = require_primordials().Symbol(\"kWeak\"), { finished } = require_end_of_stream(), {\n ArrayPrototypePush,\n MathFloor,\n Number: Number2,\n NumberIsNaN,\n Promise: Promise2,\n PromiseReject,\n PromisePrototypeCatch,\n Symbol: Symbol2\n } = require_primordials(), kEmpty = Symbol2(\"kEmpty\"), kEof = Symbol2(\"kEof\");\n function map(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let concurrency = 1;\n if ((options === null || options === void 0 \? void 0 : options.concurrency) != null)\n concurrency = MathFloor(options.concurrency);\n return validateInteger(concurrency, \"concurrency\", 1), async function* map2() {\n var _options$signal, _options$signal2;\n const ac = new AbortController, stream = this, queue = [], signal = ac.signal, signalOpt = {\n signal\n }, abort = () => ac.abort();\n if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted)\n abort();\n options === null || options === void 0 || (_options$signal2 = options.signal) === null || _options$signal2 === void 0 || _options$signal2.addEventListener(\"abort\", abort);\n let next, resume, done = !1;\n function onDone() {\n done = !0;\n }\n async function pump() {\n try {\n for await (let val of stream) {\n var _val;\n if (done)\n return;\n if (signal.aborted)\n throw new AbortError2;\n try {\n val = fn(val, signalOpt);\n } catch (err) {\n val = PromiseReject(err);\n }\n if (val === kEmpty)\n continue;\n if (typeof ((_val = val) === null || _val === void 0 \? void 0 : _val.catch) === \"function\")\n val.catch(onDone);\n if (queue.push(val), next)\n next(), next = null;\n if (!done && queue.length && queue.length >= concurrency)\n await new Promise2((resolve) => {\n resume = resolve;\n });\n }\n queue.push(kEof);\n } catch (err) {\n const val = PromiseReject(err);\n PromisePrototypeCatch(val, onDone), queue.push(val);\n } finally {\n var _options$signal3;\n if (done = !0, next)\n next(), next = null;\n options === null || options === void 0 || (_options$signal3 = options.signal) === null || _options$signal3 === void 0 || _options$signal3.removeEventListener(\"abort\", abort);\n }\n }\n pump();\n try {\n while (!0) {\n while (queue.length > 0) {\n const val = await queue[0];\n if (val === kEof)\n return;\n if (signal.aborted)\n throw new AbortError2;\n if (val !== kEmpty)\n yield val;\n if (queue.shift(), resume)\n resume(), resume = null;\n }\n await new Promise2((resolve) => {\n next = resolve;\n });\n }\n } finally {\n if (ac.abort(), done = !0, resume)\n resume(), resume = null;\n }\n }.@call(this);\n }\n function asIndexedPairs(options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return async function* asIndexedPairs2() {\n let index = 0;\n for await (let val of this) {\n var _options$signal4;\n if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted)\n throw new AbortError2({\n cause: options.signal.reason\n });\n yield [index++, val];\n }\n }.@call(this);\n }\n async function some(fn, options = void 0) {\n for await (let unused of filter.@call(this, fn, options))\n return !0;\n return !1;\n }\n async function every(fn, options = void 0) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n return !await some.@call(this, async (...args) => {\n return !await fn(...args);\n }, options);\n }\n async function find(fn, options) {\n for await (let result of filter.@call(this, fn, options))\n return result;\n return;\n }\n async function forEach(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function forEachFn(value, options2) {\n return await fn(value, options2), kEmpty;\n }\n for await (let unused of map.@call(this, forEachFn, options))\n ;\n }\n function filter(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function filterFn(value, options2) {\n if (await fn(value, options2))\n return value;\n return kEmpty;\n }\n return map.@call(this, filterFn, options);\n }\n var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {\n constructor() {\n super(\"reduce\");\n this.message = \"Reduce of an empty stream requires an initial value\";\n }\n };\n async function reduce(reducer, initialValue, options) {\n var _options$signal5;\n if (typeof reducer !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"reducer\", [\"Function\", \"AsyncFunction\"], reducer);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let hasInitialValue = arguments.length > 1;\n if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {\n const err = new AbortError2(void 0, {\n cause: options.signal.reason\n });\n throw this.once(\"error\", () => {\n }), await finished(this.destroy(err)), err;\n }\n const ac = new AbortController, signal = ac.signal;\n if (options !== null && options !== void 0 && options.signal) {\n const opts = {\n once: !0,\n [kWeakHandler]: this\n };\n options.signal.addEventListener(\"abort\", () => ac.abort(), opts);\n }\n let gotAnyItemFromStream = !1;\n try {\n for await (let value of this) {\n var _options$signal6;\n if (gotAnyItemFromStream = !0, options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted)\n throw new AbortError2;\n if (!hasInitialValue)\n initialValue = value, hasInitialValue = !0;\n else\n initialValue = await reducer(initialValue, value, {\n signal\n });\n }\n if (!gotAnyItemFromStream && !hasInitialValue)\n throw new ReduceAwareErrMissingArgs;\n } finally {\n ac.abort();\n }\n return initialValue;\n }\n async function toArray(options) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n const result = [];\n for await (let val of this) {\n var _options$signal7;\n if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted)\n throw new AbortError2(void 0, {\n cause: options.signal.reason\n });\n ArrayPrototypePush(result, val);\n }\n return result;\n }\n function flatMap(fn, options) {\n const values = map.@call(this, fn, options);\n return async function* flatMap2() {\n for await (let val of values)\n yield* val;\n }.@call(this);\n }\n function toIntegerOrInfinity(number) {\n if (number = Number2(number), NumberIsNaN(number))\n return 0;\n if (number < 0)\n throw new ERR_OUT_OF_RANGE(\"number\", \">= 0\", number);\n return number;\n }\n function drop(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* drop2() {\n var _options$signal8;\n if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal9;\n if (options !== null && options !== void 0 && (_options$signal9 = options.signal) !== null && _options$signal9 !== void 0 && _options$signal9.aborted)\n throw new AbortError2;\n if (number-- <= 0)\n yield val;\n }\n }.@call(this);\n }\n function take(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* take2() {\n var _options$signal10;\n if (options !== null && options !== void 0 && (_options$signal10 = options.signal) !== null && _options$signal10 !== void 0 && _options$signal10.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal11;\n if (options !== null && options !== void 0 && (_options$signal11 = options.signal) !== null && _options$signal11 !== void 0 && _options$signal11.aborted)\n throw new AbortError2;\n if (number-- > 0)\n yield val;\n else\n return;\n }\n }.@call(this);\n }\n module.exports.streamReturningOperators = {\n asIndexedPairs,\n drop,\n filter,\n flatMap,\n map,\n take\n }, module.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n };\n }\n}), require_destroy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/destroy.js\"(exports, module) {\n var {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError: AbortError2\n } = require_errors(), { Symbol: Symbol2 } = require_primordials(), { kDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils(), kDestroy = \"#kDestroy\", kConstruct = \"#kConstruct\";\n function checkError(err, w, r) {\n if (err) {\n if (err.stack, w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n }\n }\n function destroy2(err, cb) {\n const r = this._readableState, w = this._writableState, s = w || r;\n if (w && w.destroyed || r && r.destroyed) {\n if (typeof cb === \"function\")\n cb();\n return this;\n }\n if (checkError(err, w, r), w)\n w.destroyed = !0;\n if (r)\n r.destroyed = !0;\n if (!s.constructed)\n this.once(kDestroy, (er) => {\n _destroy(this, aggregateTwoErrors(er, err), cb);\n });\n else\n _destroy(this, err, cb);\n return this;\n }\n function _destroy(self, err, cb) {\n let called = !1;\n function onDestroy(err2) {\n if (called)\n return;\n called = !0;\n const { _readableState: r, _writableState: w } = self;\n if (checkError(err2, w, r), w)\n w.closed = !0;\n if (r)\n r.closed = !0;\n if (typeof cb === \"function\")\n cb(err2);\n if (err2)\n runOnNextTick(emitErrorCloseNT, self, err2);\n else\n runOnNextTick(emitCloseNT, self);\n }\n try {\n self._destroy(err || null, onDestroy);\n } catch (err2) {\n onDestroy(err2);\n }\n }\n function emitErrorCloseNT(self, err) {\n emitErrorNT(self, err), emitCloseNT(self);\n }\n function emitCloseNT(self) {\n const { _readableState: r, _writableState: w } = self;\n if (w)\n w.closeEmitted = !0;\n if (r)\n r.closeEmitted = !0;\n if (w && w.emitClose || r && r.emitClose)\n self.emit(\"close\");\n }\n function emitErrorNT(self, err) {\n const r = self\?._readableState, w = self\?._writableState;\n if (w\?.errorEmitted || r\?.errorEmitted)\n return;\n if (w)\n w.errorEmitted = !0;\n if (r)\n r.errorEmitted = !0;\n self\?.emit\?.(\"error\", err);\n }\n function undestroy() {\n const r = this._readableState, w = this._writableState;\n if (r)\n r.constructed = !0, r.closed = !1, r.closeEmitted = !1, r.destroyed = !1, r.errored = null, r.errorEmitted = !1, r.reading = !1, r.ended = r.readable === !1, r.endEmitted = r.readable === !1;\n if (w)\n w.constructed = !0, w.destroyed = !1, w.closed = !1, w.closeEmitted = !1, w.errored = null, w.errorEmitted = !1, w.finalCalled = !1, w.prefinished = !1, w.ended = w.writable === !1, w.ending = w.writable === !1, w.finished = w.writable === !1;\n }\n function errorOrDestroy2(stream, err, sync) {\n const r = stream\?._readableState, w = stream\?._writableState;\n if (w && w.destroyed || r && r.destroyed)\n return this;\n if (r && r.autoDestroy || w && w.autoDestroy)\n stream.destroy(err);\n else if (err) {\n if (Error.captureStackTrace(err), w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n if (sync)\n runOnNextTick(emitErrorNT, stream, err);\n else\n emitErrorNT(stream, err);\n }\n }\n function construct(stream, cb) {\n if (typeof stream._construct !== \"function\")\n return;\n const { _readableState: r, _writableState: w } = stream;\n if (r)\n r.constructed = !1;\n if (w)\n w.constructed = !1;\n if (stream.once(kConstruct, cb), stream.listenerCount(kConstruct) > 1)\n return;\n runOnNextTick(constructNT, stream);\n }\n function constructNT(stream) {\n let called = !1;\n function onConstruct(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : new ERR_MULTIPLE_CALLBACK);\n return;\n }\n called = !0;\n const { _readableState: r, _writableState: w } = stream, s = w || r;\n if (r)\n r.constructed = !0;\n if (w)\n w.constructed = !0;\n if (s.destroyed)\n stream.emit(kDestroy, err);\n else if (err)\n errorOrDestroy2(stream, err, !0);\n else\n runOnNextTick(emitConstructNT, stream);\n }\n try {\n stream._construct(onConstruct);\n } catch (err) {\n onConstruct(err);\n }\n }\n function emitConstructNT(stream) {\n stream.emit(kConstruct);\n }\n function isRequest(stream) {\n return stream && stream.setHeader && typeof stream.abort === \"function\";\n }\n function emitCloseLegacy(stream) {\n stream.emit(\"close\");\n }\n function emitErrorCloseLegacy(stream, err) {\n stream.emit(\"error\", err), runOnNextTick(emitCloseLegacy, stream);\n }\n function destroyer(stream, err) {\n if (!stream || isDestroyed(stream))\n return;\n if (!err && !isFinished(stream))\n err = new AbortError2;\n if (isServerRequest(stream))\n stream.socket = null, stream.destroy(err);\n else if (isRequest(stream))\n stream.abort();\n else if (isRequest(stream.req))\n stream.req.abort();\n else if (typeof stream.destroy === \"function\")\n stream.destroy(err);\n else if (typeof stream.close === \"function\")\n stream.close();\n else if (err)\n runOnNextTick(emitErrorCloseLegacy, stream);\n else\n runOnNextTick(emitCloseLegacy, stream);\n if (!stream.destroyed)\n stream[kDestroyed] = !0;\n }\n module.exports = {\n construct,\n destroyer,\n destroy: destroy2,\n undestroy,\n errorOrDestroy: errorOrDestroy2\n };\n }\n}), require_legacy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/legacy.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, ObjectSetPrototypeOf } = require_primordials();\n function Stream(options) {\n if (!(this instanceof Stream))\n return new Stream(options);\n EE.@call(this, options);\n }\n Stream.prototype = {}, ObjectSetPrototypeOf(Stream.prototype, EE.prototype), ObjectSetPrototypeOf(Stream, EE), Stream.prototype.pipe = function(dest, options) {\n const source = this;\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === !1 && source.pause)\n source.pause();\n }\n source.on(\"data\", ondata);\n function ondrain() {\n if (source.readable && source.resume)\n source.resume();\n }\n if (dest.on(\"drain\", ondrain), !dest._isStdio && (!options || options.end !== !1))\n source.on(\"end\", onend), source.on(\"close\", onclose);\n let didOnEnd = !1;\n function onend() {\n if (didOnEnd)\n return;\n didOnEnd = !0, dest.end();\n }\n function onclose() {\n if (didOnEnd)\n return;\n if (didOnEnd = !0, typeof dest.destroy === \"function\")\n dest.destroy();\n }\n function onerror(er) {\n if (cleanup(), EE.listenerCount(this, \"error\") === 0)\n this.emit(\"error\", er);\n }\n prependListener(source, \"error\", onerror), prependListener(dest, \"error\", onerror);\n function cleanup() {\n source.removeListener(\"data\", ondata), dest.removeListener(\"drain\", ondrain), source.removeListener(\"end\", onend), source.removeListener(\"close\", onclose), source.removeListener(\"error\", onerror), dest.removeListener(\"error\", onerror), source.removeListener(\"end\", cleanup), source.removeListener(\"close\", cleanup), dest.removeListener(\"close\", cleanup);\n }\n return source.on(\"end\", cleanup), source.on(\"close\", cleanup), dest.on(\"close\", cleanup), dest.emit(\"pipe\", source), dest;\n };\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === \"function\")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (ArrayIsArray2(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n module.exports = {\n Stream,\n prependListener\n };\n }\n}), require_add_abort_signal = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), eos = require_end_of_stream(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes, validateAbortSignal = (signal, name) => {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n };\n function isNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\");\n }\n module.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n if (validateAbortSignal(signal, \"signal\"), !isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"stream.Stream\", stream);\n return module.exports.addAbortSignalNoValidate(signal, stream);\n }, module.exports.addAbortSignalNoValidate = function(signal, stream) {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n return stream;\n const onAbort = () => {\n stream.destroy(new AbortError2(void 0, {\n cause: signal.reason\n }));\n };\n if (signal.aborted)\n onAbort();\n else\n signal.addEventListener(\"abort\", onAbort), eos(stream, () => signal.removeEventListener(\"abort\", onAbort));\n return stream;\n };\n }\n}), require_state = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/state.js\"(exports, module) {\n var { MathFloor, NumberIsInteger } = require_primordials(), { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2 } = require_errors().codes;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null \? options.highWaterMark : isDuplex \? options[duplexKey] : null;\n }\n function getDefaultHighWaterMark(objectMode) {\n return objectMode \? 16 : 16384;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex \? `options.${duplexKey}` : \"options.highWaterMark\";\n throw new ERR_INVALID_ARG_VALUE2(name, hwm);\n }\n return MathFloor(hwm);\n }\n return getDefaultHighWaterMark(state.objectMode);\n }\n module.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark\n };\n }\n}), require_from = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/from.js\"(exports, module) {\n var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors().codes;\n function from(Readable, iterable, opts) {\n let iterator;\n if (typeof iterable === \"string\" || iterable instanceof @Buffer)\n return new Readable({\n objectMode: !0,\n ...opts,\n read() {\n this.push(iterable), this.push(null);\n }\n });\n let isAsync;\n if (iterable && iterable[SymbolAsyncIterator])\n isAsync = !0, iterator = iterable[SymbolAsyncIterator]();\n else if (iterable && iterable[SymbolIterator])\n isAsync = !1, iterator = iterable[SymbolIterator]();\n else\n throw new ERR_INVALID_ARG_TYPE2(\"iterable\", [\"Iterable\"], iterable);\n const readable = new Readable({\n objectMode: !0,\n highWaterMark: 1,\n ...opts\n });\n let reading = !1;\n readable._read = function() {\n if (!reading)\n reading = !0, next();\n }, readable._destroy = function(error, cb) {\n PromisePrototypeThen(close(error), () => runOnNextTick(cb, error), (e) => runOnNextTick(cb, e || error));\n };\n async function close(error) {\n const hadError = error !== void 0 && error !== null, hasThrow = typeof iterator.throw === \"function\";\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error);\n if (await value, done)\n return;\n }\n if (typeof iterator.return === \"function\") {\n const { value } = await iterator.return();\n await value;\n }\n }\n async function next() {\n for (;; ) {\n try {\n const { value, done } = isAsync \? await iterator.next() : iterator.next();\n if (done)\n readable.push(null);\n else {\n const res = value && typeof value.then === \"function\" \? await value : value;\n if (res === null)\n throw reading = !1, new ERR_STREAM_NULL_VALUES;\n else if (readable.push(res))\n continue;\n else\n reading = !1;\n }\n } catch (err) {\n readable.destroy(err);\n }\n break;\n }\n }\n return readable;\n }\n module.exports = from;\n }\n}), _ReadableFromWeb, _ReadableFromWebForUndici, require_readable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/readable.js\"(exports, module) {\n var {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise: Promise2,\n SafeSet,\n SymbolAsyncIterator,\n Symbol: Symbol2\n } = require_primordials(), ReadableState = @lazy(\"bun:stream\").ReadableState, { Stream, prependListener } = require_legacy();\n function Readable(options) {\n if (!(this instanceof Readable))\n return new Readable(options);\n const isDuplex = this instanceof require_duplex();\n if (this._readableState = new ReadableState(options, this, isDuplex), options) {\n const { read, destroy: destroy2, construct, signal } = options;\n if (typeof read === \"function\")\n this._read = read;\n if (typeof destroy2 === \"function\")\n this._destroy = destroy2;\n if (typeof construct === \"function\")\n this._construct = construct;\n if (signal && !isDuplex)\n addAbortSignal(signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n if (this._readableState.needReadable)\n maybeReadMore(this, this._readableState);\n });\n }\n Readable.prototype = {}, ObjectSetPrototypeOf(Readable.prototype, Stream.prototype), ObjectSetPrototypeOf(Readable, Stream), Readable.prototype.on = function(ev, fn) {\n const res = Stream.prototype.on.@call(this, ev, fn), state = this._readableState;\n if (ev === \"data\") {\n if (state.readableListening = this.listenerCount(\"readable\") > 0, state.flowing !== !1)\n this.resume();\n } else if (ev === \"readable\") {\n if (!state.endEmitted && !state.readableListening) {\n if (state.readableListening = state.needReadable = !0, state.flowing = !1, state.emittedReadable = !1, state.length)\n emitReadable(this, state);\n else if (!state.reading)\n runOnNextTick(nReadingNextTick, this);\n } else if (state.endEmitted)\n ;\n }\n return res;\n };\n\n class ReadableFromWeb extends Readable {\n #reader;\n #closed;\n #pendingChunks;\n #stream;\n constructor(options, stream) {\n const { objectMode, highWaterMark, encoding, signal } = options;\n super({\n objectMode,\n highWaterMark,\n encoding,\n signal\n });\n this.#pendingChunks = [], this.#reader = @undefined, this.#stream = stream, this.#closed = !1;\n }\n #drainPending() {\n var pendingChunks = this.#pendingChunks, pendingChunksI = 0, pendingChunksCount = pendingChunks.length;\n for (;pendingChunksI < pendingChunksCount; pendingChunksI++) {\n const chunk = pendingChunks[pendingChunksI];\n if (pendingChunks[pendingChunksI] = @undefined, !this.push(chunk, @undefined))\n return this.#pendingChunks = pendingChunks.slice(pendingChunksI + 1), !0;\n }\n if (pendingChunksCount > 0)\n this.#pendingChunks = [];\n return !1;\n }\n #handleDone(reader) {\n reader.releaseLock(), this.#reader = @undefined, this.#closed = !0, this.push(null);\n return;\n }\n async _read() {\n var stream = this.#stream, reader = this.#reader;\n if (stream)\n reader = this.#reader = stream.getReader(), this.#stream = @undefined;\n else if (this.#drainPending())\n return;\n var deferredError;\n try {\n do {\n var done = !1, value;\n const firstResult = reader.readMany();\n if (@isPromise(firstResult)) {\n if ({ done, value } = await firstResult, this.#closed) {\n this.#pendingChunks.push(...value);\n return;\n }\n } else\n ({ done, value } = firstResult);\n if (done) {\n this.#handleDone(reader);\n return;\n }\n if (!this.push(value[0])) {\n this.#pendingChunks = value.slice(1);\n return;\n }\n for (let i = 1, count = value.length;i < count; i++)\n if (!this.push(value[i])) {\n this.#pendingChunks = value.slice(i + 1);\n return;\n }\n } while (!this.#closed);\n } catch (e) {\n deferredError = e;\n } finally {\n if (deferredError)\n throw deferredError;\n }\n }\n _destroy(error, callback) {\n if (!this.#closed) {\n var reader = this.#reader;\n if (reader)\n this.#reader = @undefined, reader.cancel(error).finally(() => {\n this.#closed = !0, callback(error);\n });\n return;\n }\n try {\n callback(error);\n } catch (error2) {\n globalThis.reportError(error2);\n }\n }\n }\n _ReadableFromWebForUndici = ReadableFromWeb;\n function newStreamReadableFromReadableStream(readableStream, options = {}) {\n if (!isReadableStream(readableStream))\n throw new ERR_INVALID_ARG_TYPE2(\"readableStream\", \"ReadableStream\", readableStream);\n validateObject(options, \"options\");\n const {\n highWaterMark,\n encoding,\n objectMode = !1,\n signal\n } = options;\n if (encoding !== @undefined && !@Buffer.isEncoding(encoding))\n throw new ERR_INVALID_ARG_VALUE(encoding, \"options.encoding\");\n return validateBoolean(objectMode, \"options.objectMode\"), getNativeReadableStream(Readable, readableStream, options) || new ReadableFromWeb({\n highWaterMark,\n encoding,\n objectMode,\n signal\n }, readableStream);\n }\n module.exports = Readable, _ReadableFromWeb = newStreamReadableFromReadableStream;\n var { addAbortSignal } = require_add_abort_signal(), eos = require_end_of_stream();\n const { maybeReadMore: _maybeReadMore, resume, emitReadable: _emitReadable, onEofChunk } = @lazy(\"bun:stream\");\n function maybeReadMore(stream, state) {\n process.nextTick(_maybeReadMore, stream, state);\n }\n function emitReadable(stream, state) {\n _emitReadable(stream, state);\n }\n var destroyImpl = require_destroy(), {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n }\n } = require_errors(), { validateObject } = require_validators(), from = require_from(), nop = () => {\n }, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n Readable.prototype.destroy = destroyImpl.destroy, Readable.prototype._undestroy = destroyImpl.undestroy, Readable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Readable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n }, Readable.prototype.push = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !1);\n }, Readable.prototype.unshift = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !0);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront) {\n const state = stream._readableState;\n let err;\n if (!state.objectMode) {\n if (typeof chunk === \"string\") {\n if (encoding = encoding || state.defaultEncoding, state.encoding !== encoding)\n if (addToFront && state.encoding)\n chunk = @Buffer.from(chunk, encoding).toString(state.encoding);\n else\n chunk = @Buffer.from(chunk, encoding), encoding = \"\";\n } else if (chunk instanceof @Buffer)\n encoding = \"\";\n else if (Stream._isUint8Array(chunk)) {\n if (addToFront || !state.decoder)\n chunk = Stream._uint8ArrayToBuffer(chunk);\n encoding = \"\";\n } else if (chunk != null)\n err = new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n }\n if (err)\n errorOrDestroy2(stream, err);\n else if (chunk === null)\n state.reading = !1, onEofChunk(stream, state);\n else if (state.objectMode || chunk && chunk.length > 0)\n if (addToFront)\n if (state.endEmitted)\n errorOrDestroy2(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);\n else if (state.destroyed || state.errored)\n return !1;\n else\n addChunk(stream, state, chunk, !0);\n else if (state.ended)\n errorOrDestroy2(stream, new ERR_STREAM_PUSH_AFTER_EOF);\n else if (state.destroyed || state.errored)\n return !1;\n else if (state.reading = !1, state.decoder && !encoding)\n if (chunk = state.decoder.write(chunk), state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, !1);\n else\n maybeReadMore(stream, state);\n else\n addChunk(stream, state, chunk, !1);\n else if (!addToFront)\n state.reading = !1, maybeReadMore(stream, state);\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount(\"data\") > 0) {\n if (state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n state.dataEmitted = !0, stream.emit(\"data\", chunk);\n } else {\n if (state.length += state.objectMode \? 1 : chunk.length, addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream, state);\n }\n maybeReadMore(stream, state);\n }\n Readable.prototype.isPaused = function() {\n const state = this._readableState;\n return state.paused === !0 || state.flowing === !1;\n }, Readable.prototype.setEncoding = function(enc) {\n const decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder, this._readableState.encoding = this._readableState.decoder.encoding;\n const buffer = this._readableState.buffer;\n let content = \"\";\n for (let i = buffer.length;i > 0; i--)\n content += decoder.write(buffer.shift());\n if (content !== \"\")\n buffer.push(content);\n return this._readableState.length = content.length, this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n > MAX_HWM)\n throw new ERR_OUT_OF_RANGE(\"size\", \"<= 1GiB\", n);\n else\n n--, n |= n >>> 1, n |= n >>> 2, n |= n >>> 4, n |= n >>> 8, n |= n >>> 16, n++;\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (NumberIsNaN(n)) {\n if (state.flowing && state.length)\n return state.buffer.first().length;\n return state.length;\n }\n if (n <= state.length)\n return n;\n return state.ended \? state.length : 0;\n }\n Readable.prototype.read = function(n) {\n if (!NumberIsInteger(n))\n n = NumberParseInt(n, 10);\n const state = this._readableState, nOrig = n;\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n !== 0)\n state.emittedReadable = !1;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 \? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this, state);\n return null;\n }\n if (n = howMuchToRead(n, state), n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n let doRead = state.needReadable;\n if (state.length === 0 || state.length - n < state.highWaterMark)\n doRead = !0;\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed)\n doRead = !1;\n else if (doRead) {\n if (state.reading = !0, state.sync = !0, state.length === 0)\n state.needReadable = !0;\n try {\n var result = this._read(state.highWaterMark);\n if (@isPromise(result)) {\n const peeked = Bun.peek(result);\n if (peeked !== result)\n result = peeked;\n }\n if (@isPromise(result) && result\?.then && @isCallable(result.then))\n result.then(nop, function(err) {\n errorOrDestroy2(this, err);\n });\n } catch (err) {\n errorOrDestroy2(this, err);\n }\n if (state.sync = !1, !state.reading)\n n = howMuchToRead(nOrig, state);\n }\n let ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null)\n state.needReadable = state.length <= state.highWaterMark, n = 0;\n else if (state.length -= n, state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = !0;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted)\n state.dataEmitted = !0, this.emit(\"data\", ret);\n return ret;\n }, Readable.prototype._read = function(n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\");\n }, Readable.prototype.pipe = function(dest, pipeOpts) {\n const src = this, state = this._readableState;\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain)\n state.multiAwaitDrain = !0, state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters \? [state.awaitDrainWriters] : []);\n }\n state.pipes.push(dest);\n const endFn = (!pipeOpts || pipeOpts.end !== !1) && dest !== process.stdout && dest !== process.stderr \? onend : unpipe;\n if (state.endEmitted)\n runOnNextTick(endFn);\n else\n src.once(\"end\", endFn);\n dest.on(\"unpipe\", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === !1)\n unpipeInfo.hasUnpiped = !0, cleanup();\n }\n }\n function onend() {\n dest.end();\n }\n let ondrain, cleanedUp = !1;\n function cleanup() {\n if (dest.removeListener(\"close\", onclose), dest.removeListener(\"finish\", onfinish), ondrain)\n dest.removeListener(\"drain\", ondrain);\n if (dest.removeListener(\"error\", onerror), dest.removeListener(\"unpipe\", onunpipe), src.removeListener(\"end\", onend), src.removeListener(\"end\", unpipe), src.removeListener(\"data\", ondata), cleanedUp = !0, ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n function pause() {\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest)\n state.awaitDrainWriters = dest, state.multiAwaitDrain = !1;\n else if (state.pipes.length > 1 && state.pipes.includes(dest))\n state.awaitDrainWriters.add(dest);\n src.pause();\n }\n if (!ondrain)\n ondrain = pipeOnDrain(src, dest), dest.on(\"drain\", ondrain);\n }\n src.on(\"data\", ondata);\n function ondata(chunk) {\n if (dest.write(chunk) === !1)\n pause();\n }\n function onerror(er) {\n if (unpipe(), dest.removeListener(\"error\", onerror), dest.listenerCount(\"error\") === 0) {\n const s = dest._writableState || dest._readableState;\n if (s && !s.errorEmitted)\n errorOrDestroy2(dest, er);\n else\n dest.emit(\"error\", er);\n }\n }\n prependListener(dest, \"error\", onerror);\n function onclose() {\n dest.removeListener(\"finish\", onfinish), unpipe();\n }\n dest.once(\"close\", onclose);\n function onfinish() {\n dest.removeListener(\"close\", onclose), unpipe();\n }\n dest.once(\"finish\", onfinish);\n function unpipe() {\n src.unpipe(dest);\n }\n if (dest.emit(\"pipe\", src), dest.writableNeedDrain === !0) {\n if (state.flowing)\n pause();\n } else if (!state.flowing)\n src.resume();\n return dest;\n };\n function pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState;\n if (state.awaitDrainWriters === dest)\n state.awaitDrainWriters = null;\n else if (state.multiAwaitDrain)\n state.awaitDrainWriters.delete(dest);\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount(\"data\"))\n src.resume();\n };\n }\n Readable.prototype.unpipe = function(dest) {\n const state = this._readableState, unpipeInfo = {\n hasUnpiped: !1\n };\n if (state.pipes.length === 0)\n return this;\n if (!dest) {\n const dests = state.pipes;\n state.pipes = [], this.pause();\n for (let i = 0;i < dests.length; i++)\n dests[i].emit(\"unpipe\", this, {\n hasUnpiped: !1\n });\n return this;\n }\n const index = ArrayPrototypeIndexOf(state.pipes, dest);\n if (index === -1)\n return this;\n if (state.pipes.splice(index, 1), state.pipes.length === 0)\n this.pause();\n return dest.emit(\"unpipe\", this, unpipeInfo), this;\n }, Readable.prototype.addListener = Readable.prototype.on, Readable.prototype.removeListener = function(ev, fn) {\n const res = Stream.prototype.removeListener.@call(this, ev, fn);\n if (ev === \"readable\")\n runOnNextTick(updateReadableListening, this);\n return res;\n }, Readable.prototype.off = Readable.prototype.removeListener, Readable.prototype.removeAllListeners = function(ev) {\n const res = Stream.prototype.removeAllListeners.@apply(this, arguments);\n if (ev === \"readable\" || ev === void 0)\n runOnNextTick(updateReadableListening, this);\n return res;\n };\n function updateReadableListening(self) {\n const state = self._readableState;\n if (state.readableListening = self.listenerCount(\"readable\") > 0, state.resumeScheduled && state.paused === !1)\n state.flowing = !0;\n else if (self.listenerCount(\"data\") > 0)\n self.resume();\n else if (!state.readableListening)\n state.flowing = null;\n }\n function nReadingNextTick(self) {\n self.read(0);\n }\n Readable.prototype.resume = function() {\n const state = this._readableState;\n if (!state.flowing)\n state.flowing = !state.readableListening, resume(this, state);\n return state.paused = !1, this;\n }, Readable.prototype.pause = function() {\n if (this._readableState.flowing !== !1)\n this._readableState.flowing = !1, this.emit(\"pause\");\n return this._readableState.paused = !0, this;\n }, Readable.prototype.wrap = function(stream) {\n let paused = !1;\n stream.on(\"data\", (chunk) => {\n if (!this.push(chunk) && stream.pause)\n paused = !0, stream.pause();\n }), stream.on(\"end\", () => {\n this.push(null);\n }), stream.on(\"error\", (err) => {\n errorOrDestroy2(this, err);\n }), stream.on(\"close\", () => {\n this.destroy();\n }), stream.on(\"destroy\", () => {\n this.destroy();\n }), this._read = () => {\n if (paused && stream.resume)\n paused = !1, stream.resume();\n };\n const streamKeys = ObjectKeys(stream);\n for (let j = 1;j < streamKeys.length; j++) {\n const i = streamKeys[j];\n if (this[i] === void 0 && typeof stream[i] === \"function\")\n this[i] = stream[i].bind(stream);\n }\n return this;\n }, Readable.prototype[SymbolAsyncIterator] = function() {\n return streamToAsyncIterator(this);\n }, Readable.prototype.iterator = function(options) {\n if (options !== void 0)\n validateObject(options, \"options\");\n return streamToAsyncIterator(this, options);\n };\n function streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== \"function\")\n stream = Readable.wrap(stream, {\n objectMode: !0\n });\n const iter = createAsyncIterator(stream, options);\n return iter.stream = stream, iter;\n }\n async function* createAsyncIterator(stream, options) {\n let callback = nop;\n function next(resolve) {\n if (this === stream)\n callback(), callback = nop;\n else\n callback = resolve;\n }\n stream.on(\"readable\", next);\n let error;\n const cleanup = eos(stream, {\n writable: !1\n }, (err) => {\n error = err \? aggregateTwoErrors(error, err) : null, callback(), callback = nop;\n });\n try {\n while (!0) {\n const chunk = stream.destroyed \? null : stream.read();\n if (chunk !== null)\n yield chunk;\n else if (error)\n throw error;\n else if (error === null)\n return;\n else\n await new Promise2(next);\n }\n } catch (err) {\n throw error = aggregateTwoErrors(error, err), error;\n } finally {\n if ((error || (options === null || options === void 0 \? void 0 : options.destroyOnReturn) !== !1) && (error === void 0 || stream._readableState.autoDestroy))\n destroyImpl.destroyer(stream, null);\n else\n stream.off(\"readable\", next), cleanup();\n }\n }\n ObjectDefineProperties(Readable.prototype, {\n readable: {\n get() {\n const r = this._readableState;\n return !!r && r.readable !== !1 && !r.destroyed && !r.errorEmitted && !r.endEmitted;\n },\n set(val) {\n if (this._readableState)\n this._readableState.readable = !!val;\n }\n },\n readableDidRead: {\n enumerable: !1,\n get: function() {\n return this._readableState.dataEmitted;\n }\n },\n readableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._readableState.readable !== !1 && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);\n }\n },\n readableHighWaterMark: {\n enumerable: !1,\n get: function() {\n return this._readableState.highWaterMark;\n }\n },\n readableBuffer: {\n enumerable: !1,\n get: function() {\n return this._readableState && this._readableState.buffer;\n }\n },\n readableFlowing: {\n enumerable: !1,\n get: function() {\n return this._readableState.flowing;\n },\n set: function(state) {\n if (this._readableState)\n this._readableState.flowing = state;\n }\n },\n readableLength: {\n enumerable: !1,\n get() {\n return this._readableState.length;\n }\n },\n readableObjectMode: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.objectMode : !1;\n }\n },\n readableEncoding: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.encoding : null;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.errored : null;\n }\n },\n closed: {\n get() {\n return this._readableState \? this._readableState.closed : !1;\n }\n },\n destroyed: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.destroyed : !1;\n },\n set(value) {\n if (!this._readableState)\n return;\n this._readableState.destroyed = value;\n }\n },\n readableEnded: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.endEmitted : !1;\n }\n }\n }), Readable._fromList = fromList;\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n let ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join(\"\");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else\n ret = state.buffer.consume(n, state.decoder);\n return ret;\n }\n function endReadable(stream) {\n const state = stream._readableState;\n if (!state.endEmitted)\n state.ended = !0, runOnNextTick(endReadableNT, state, stream);\n }\n function endReadableNT(state, stream) {\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n if (state.endEmitted = !0, stream.emit(\"end\"), stream.writable && stream.allowHalfOpen === !1)\n runOnNextTick(endWritableNT, stream);\n else if (state.autoDestroy) {\n const wState = stream._writableState;\n if (!wState || wState.autoDestroy && (wState.finished || wState.writable === !1))\n stream.destroy();\n }\n }\n }\n function endWritableNT(stream) {\n if (stream.writable && !stream.writableEnded && !stream.destroyed)\n stream.end();\n }\n Readable.from = function(iterable, opts) {\n return from(Readable, iterable, opts);\n };\n var webStreamsAdapters = {\n newStreamReadableFromReadableStream,\n newReadableStreamFromStreamReadable(streamReadable, options = {}) {\n if (typeof streamReadable\?._readableState !== \"object\")\n throw new ERR_INVALID_ARG_TYPE2(\"streamReadable\", \"stream.Readable\", streamReadable);\n var { isDestroyed, isReadable } = require_utils();\n if (isDestroyed(streamReadable) || !isReadable(streamReadable)) {\n const readable = new @ReadableStream;\n return readable.cancel(), readable;\n }\n const { readableObjectMode: objectMode, readableHighWaterMark: highWaterMark } = streamReadable, strategy = ((strategy2) => {\n if (strategy2)\n return strategy2;\n if (objectMode)\n return new CountQueuingStrategy({ highWaterMark });\n return { highWaterMark };\n })(options\?.strategy);\n let controller;\n function onData(chunk) {\n if (controller.enqueue(chunk), controller.desiredSize <= 0)\n streamReadable.pause();\n }\n streamReadable.pause();\n const cleanup = eos(streamReadable, (error) => {\n if (error\?.code === \"ERR_STREAM_PREMATURE_CLOSE\")\n error = new AbortError(@undefined, { cause: error });\n if (cleanup(), streamReadable.on(\"error\", () => {\n }), error)\n return controller.error(error);\n controller.close();\n });\n return streamReadable.on(\"data\", onData), new @ReadableStream({\n start(c) {\n controller = c;\n },\n pull() {\n streamReadable.resume();\n },\n cancel(reason) {\n destroy(streamReadable, reason);\n }\n }, strategy);\n }\n };\n Readable.fromWeb = function(readableStream, options) {\n return webStreamsAdapters.newStreamReadableFromReadableStream(readableStream, options);\n }, Readable.toWeb = function(streamReadable, options) {\n return webStreamsAdapters.newReadableStreamFromStreamReadable(streamReadable, options);\n }, Readable.wrap = function(src, options) {\n var _ref, _src$readableObjectMo;\n return new Readable({\n objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 \? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 \? _ref : !0,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err), callback(err);\n }\n }).wrap(src);\n };\n }\n}), require_writable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/writable.js\"(exports, module) {\n var {\n ArrayPrototypeSlice,\n Error: Error2,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol: Symbol2,\n SymbolHasInstance\n } = require_primordials(), Stream = require_legacy().Stream, destroyImpl = require_destroy(), { addAbortSignal } = require_add_abort_signal(), { getHighWaterMark, getDefaultHighWaterMark } = require_state(), {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n } = require_errors().codes, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n function Writable(options = {}) {\n const isDuplex = this instanceof require_duplex();\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this))\n return new Writable(options);\n if (this._writableState = new WritableState(options, this, isDuplex), options) {\n if (typeof options.write === \"function\")\n this._write = options.write;\n if (typeof options.writev === \"function\")\n this._writev = options.writev;\n if (typeof options.destroy === \"function\")\n this._destroy = options.destroy;\n if (typeof options.final === \"function\")\n this._final = options.final;\n if (typeof options.construct === \"function\")\n this._construct = options.construct;\n if (options.signal)\n addAbortSignal(options.signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n const state = this._writableState;\n if (!state.writing)\n clearBuffer(this, state);\n finishMaybe(this, state);\n });\n }\n Writable.prototype = {}, ObjectSetPrototypeOf(Writable.prototype, Stream.prototype), ObjectSetPrototypeOf(Writable, Stream), module.exports = Writable;\n function nop() {\n }\n var kOnFinished = Symbol2(\"kOnFinished\");\n function WritableState(options, stream, isDuplex) {\n if (typeof isDuplex !== \"boolean\")\n isDuplex = stream instanceof require_duplex();\n if (this.objectMode = !!(options && options.objectMode), isDuplex)\n this.objectMode = this.objectMode || !!(options && options.writableObjectMode);\n this.highWaterMark = options \? getHighWaterMark(this, options, \"writableHighWaterMark\", isDuplex) : getDefaultHighWaterMark(!1), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;\n const noDecode = !!(options && options.decodeStrings === !1);\n this.decodeStrings = !noDecode, this.defaultEncoding = options && options.defaultEncoding || \"utf8\", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = onwrite.bind(void 0, stream), this.writecb = null, this.writelen = 0, this.afterWriteTickInfo = null, resetBuffer(this), this.pendingcb = 0, this.constructed = !0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !options || options.emitClose !== !1, this.autoDestroy = !options || options.autoDestroy !== !1, this.errored = null, this.closed = !1, this.closeEmitted = !1, this[kOnFinished] = [];\n }\n WritableState.prototype = {};\n function resetBuffer(state) {\n state.buffered = [], state.bufferedIndex = 0, state.allBuffers = !0, state.allNoop = !0;\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);\n }, ObjectDefineProperty(WritableState.prototype, \"bufferedRequestCount\", {\n get() {\n return this.buffered.length - this.bufferedIndex;\n }\n }), ObjectDefineProperty(Writable, SymbolHasInstance, {\n value: function(object) {\n if (FunctionPrototypeSymbolHasInstance(this, object))\n return !0;\n if (this !== Writable)\n return !1;\n return object && object._writableState instanceof WritableState;\n }\n }), Writable.prototype.pipe = function() {\n errorOrDestroy2(this, new ERR_STREAM_CANNOT_PIPE);\n };\n function _write(stream, chunk, encoding, cb) {\n const state = stream._writableState;\n if (typeof encoding === \"function\")\n cb = encoding, encoding = state.defaultEncoding;\n else {\n if (!encoding)\n encoding = state.defaultEncoding;\n else if (encoding !== \"buffer\" && !@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n if (typeof cb !== \"function\")\n cb = nop;\n }\n if (chunk === null)\n throw new ERR_STREAM_NULL_VALUES;\n else if (!state.objectMode)\n if (typeof chunk === \"string\") {\n if (state.decodeStrings !== !1)\n chunk = @Buffer.from(chunk, encoding), encoding = \"buffer\";\n } else if (chunk instanceof @Buffer)\n encoding = \"buffer\";\n else if (Stream._isUint8Array(chunk))\n chunk = Stream._uint8ArrayToBuffer(chunk), encoding = \"buffer\";\n else\n throw new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n let err;\n if (state.ending)\n err = new ERR_STREAM_WRITE_AFTER_END;\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"write\");\n if (err)\n return runOnNextTick(cb, err), errorOrDestroy2(stream, err, !0), err;\n return state.pendingcb++, writeOrBuffer(stream, state, chunk, encoding, cb);\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === !0;\n }, Writable.prototype.cork = function() {\n this._writableState.corked++;\n }, Writable.prototype.uncork = function() {\n const state = this._writableState;\n if (state.corked) {\n if (state.corked--, !state.writing)\n clearBuffer(this, state);\n }\n }, Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === \"string\")\n encoding = StringPrototypeToLowerCase(encoding);\n if (!@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n return this._writableState.defaultEncoding = encoding, this;\n };\n function writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode \? 1 : chunk.length;\n state.length += len;\n const ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = !0;\n if (state.writing || state.corked || state.errored || !state.constructed) {\n if (state.buffered.push({\n chunk,\n encoding,\n callback\n }), state.allBuffers && encoding !== \"buffer\")\n state.allBuffers = !1;\n if (state.allNoop && callback !== nop)\n state.allNoop = !1;\n } else\n state.writelen = len, state.writecb = callback, state.writing = !0, state.sync = !0, stream._write(chunk, encoding, state.onwrite), state.sync = !1;\n return ret && !state.errored && !state.destroyed;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n if (state.writelen = len, state.writecb = cb, state.writing = !0, state.sync = !0, state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED(\"write\"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = !1;\n }\n function onwriteError(stream, state, er, cb) {\n --state.pendingcb, cb(er), errorBuffer(state), errorOrDestroy2(stream, er);\n }\n function onwrite(stream, er) {\n const state = stream._writableState, sync = state.sync, cb = state.writecb;\n if (typeof cb !== \"function\") {\n errorOrDestroy2(stream, new ERR_MULTIPLE_CALLBACK);\n return;\n }\n if (state.writing = !1, state.writecb = null, state.length -= state.writelen, state.writelen = 0, er) {\n if (Error.captureStackTrace(er), !state.errored)\n state.errored = er;\n if (stream._readableState && !stream._readableState.errored)\n stream._readableState.errored = er;\n if (sync)\n runOnNextTick(onwriteError, stream, state, er, cb);\n else\n onwriteError(stream, state, er, cb);\n } else {\n if (state.buffered.length > state.bufferedIndex)\n clearBuffer(stream, state);\n if (sync)\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb)\n state.afterWriteTickInfo.count++;\n else\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }, runOnNextTick(afterWriteTick, state.afterWriteTickInfo);\n else\n afterWrite(stream, state, 1, cb);\n }\n }\n function afterWriteTick({ stream, state, count, cb }) {\n return state.afterWriteTickInfo = null, afterWrite(stream, state, count, cb);\n }\n function afterWrite(stream, state, count, cb) {\n if (!state.ending && !stream.destroyed && state.length === 0 && state.needDrain)\n state.needDrain = !1, stream.emit(\"drain\");\n while (count-- > 0)\n state.pendingcb--, cb();\n if (state.destroyed)\n errorBuffer(state);\n finishMaybe(stream, state);\n }\n function errorBuffer(state) {\n if (state.writing)\n return;\n for (let n = state.bufferedIndex;n < state.buffered.length; ++n) {\n var _state$errored;\n const { chunk, callback } = state.buffered[n], len = state.objectMode \? 1 : chunk.length;\n state.length -= len, callback((_state$errored = state.errored) !== null && _state$errored !== void 0 \? _state$errored : new ERR_STREAM_DESTROYED(\"write\"));\n }\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++) {\n var _state$errored2;\n onfinishCallbacks[i]((_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 \? _state$errored2 : new ERR_STREAM_DESTROYED(\"end\"));\n }\n resetBuffer(state);\n }\n function clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed)\n return;\n const { buffered, bufferedIndex, objectMode } = state, bufferedLength = buffered.length - bufferedIndex;\n if (!bufferedLength)\n return;\n let i = bufferedIndex;\n if (state.bufferProcessing = !0, bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1;\n const callback = state.allNoop \? nop : (err) => {\n for (let n = i;n < buffered.length; ++n)\n buffered[n].callback(err);\n }, chunks = state.allNoop && i === 0 \? buffered : ArrayPrototypeSlice(buffered, i);\n chunks.allBuffers = state.allBuffers, doWrite(stream, state, !0, state.length, chunks, \"\", callback), resetBuffer(state);\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i];\n buffered[i++] = null;\n const len = objectMode \? 1 : chunk.length;\n doWrite(stream, state, !1, len, chunk, encoding, callback);\n } while (i < buffered.length && !state.writing);\n if (i === buffered.length)\n resetBuffer(state);\n else if (i > 256)\n buffered.splice(0, i), state.bufferedIndex = 0;\n else\n state.bufferedIndex = i;\n }\n state.bufferProcessing = !1;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n if (this._writev)\n this._writev([\n {\n chunk,\n encoding\n }\n ], cb);\n else\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\");\n }, Writable.prototype._writev = null, Writable.prototype.end = function(chunk, encoding, cb, native = !1) {\n const state = this._writableState;\n if (typeof chunk === \"function\")\n cb = chunk, chunk = null, encoding = null;\n else if (typeof encoding === \"function\")\n cb = encoding, encoding = null;\n let err;\n if (chunk !== null && chunk !== void 0) {\n let ret;\n if (!native)\n ret = _write(this, chunk, encoding);\n else\n ret = this.write(chunk, encoding);\n if (ret instanceof Error2)\n err = ret;\n }\n if (state.corked)\n state.corked = 1, this.uncork();\n if (err)\n this.emit(\"error\", err);\n else if (!state.errored && !state.ending)\n state.ending = !0, finishMaybe(this, state, !0), state.ended = !0;\n else if (state.finished)\n err = new ERR_STREAM_ALREADY_FINISHED(\"end\");\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"end\");\n if (typeof cb === \"function\")\n if (err || state.finished)\n runOnNextTick(cb, err);\n else\n state[kOnFinished].push(cb);\n return this;\n };\n function needFinish(state, tag) {\n var needFinish2 = state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;\n return needFinish2;\n }\n function callFinal(stream, state) {\n let called = !1;\n function onFinish(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : ERR_MULTIPLE_CALLBACK());\n return;\n }\n if (called = !0, state.pendingcb--, err) {\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i](err);\n errorOrDestroy2(stream, err, state.sync);\n } else if (needFinish(state))\n state.prefinished = !0, stream.emit(\"prefinish\"), state.pendingcb++, runOnNextTick(finish, stream, state);\n }\n state.sync = !0, state.pendingcb++;\n try {\n stream._final(onFinish);\n } catch (err) {\n onFinish(err);\n }\n state.sync = !1;\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled)\n if (typeof stream._final === \"function\" && !state.destroyed)\n state.finalCalled = !0, callFinal(stream, state);\n else\n state.prefinished = !0, stream.emit(\"prefinish\");\n }\n function finishMaybe(stream, state, sync) {\n if (!needFinish(state, stream.__id))\n return;\n if (prefinish(stream, state), state.pendingcb === 0) {\n if (sync)\n state.pendingcb++, runOnNextTick((stream2, state2) => {\n if (needFinish(state2))\n finish(stream2, state2);\n else\n state2.pendingcb--;\n }, stream, state);\n else if (needFinish(state))\n state.pendingcb++, finish(stream, state);\n }\n }\n function finish(stream, state) {\n state.pendingcb--, state.finished = !0;\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i]();\n if (stream.emit(\"finish\"), state.autoDestroy) {\n const rState = stream._readableState;\n if (!rState || rState.autoDestroy && (rState.endEmitted || rState.readable === !1))\n stream.destroy();\n }\n }\n ObjectDefineProperties(Writable.prototype, {\n closed: {\n get() {\n return this._writableState \? this._writableState.closed : !1;\n }\n },\n destroyed: {\n get() {\n return this._writableState \? this._writableState.destroyed : !1;\n },\n set(value) {\n if (this._writableState)\n this._writableState.destroyed = value;\n }\n },\n writable: {\n get() {\n const w = this._writableState;\n return !!w && w.writable !== !1 && !w.destroyed && !w.errored && !w.ending && !w.ended;\n },\n set(val) {\n if (this._writableState)\n this._writableState.writable = !!val;\n }\n },\n writableFinished: {\n get() {\n return this._writableState \? this._writableState.finished : !1;\n }\n },\n writableObjectMode: {\n get() {\n return this._writableState \? this._writableState.objectMode : !1;\n }\n },\n writableBuffer: {\n get() {\n return this._writableState && this._writableState.getBuffer();\n }\n },\n writableEnded: {\n get() {\n return this._writableState \? this._writableState.ending : !1;\n }\n },\n writableNeedDrain: {\n get() {\n const wState = this._writableState;\n if (!wState)\n return !1;\n return !wState.destroyed && !wState.ending && wState.needDrain;\n }\n },\n writableHighWaterMark: {\n get() {\n return this._writableState && this._writableState.highWaterMark;\n }\n },\n writableCorked: {\n get() {\n return this._writableState \? this._writableState.corked : 0;\n }\n },\n writableLength: {\n get() {\n return this._writableState && this._writableState.length;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._writableState \? this._writableState.errored : null;\n }\n },\n writableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._writableState.writable !== !1 && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);\n }\n }\n });\n var destroy2 = destroyImpl.destroy;\n Writable.prototype.destroy = function(err, cb) {\n const state = this._writableState;\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length))\n runOnNextTick(errorBuffer, state);\n return destroy2.@call(this, err, cb), this;\n }, Writable.prototype._undestroy = destroyImpl.undestroy, Writable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Writable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n };\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Writable.fromWeb = function(writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);\n }, Writable.toWeb = function(streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);\n };\n }\n}), require_duplexify = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplexify.js\"(exports, module) {\n var {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream\n } = require_utils(), eos = require_end_of_stream(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }\n } = require_errors(), { destroyer } = require_destroy(), Duplex = require_duplex(), Readable = require_readable(), { createDeferredPromise } = require_util(), from = require_from(), isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, { FunctionPrototypeCall } = require_primordials();\n\n class Duplexify extends Duplex {\n constructor(options) {\n super(options);\n if ((options === null || options === @undefined \? @undefined : options.readable) === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if ((options === null || options === @undefined \? @undefined : options.writable) === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n }\n }\n module.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body))\n return body;\n if (isReadableNodeStream(body))\n return _duplexify({\n readable: body\n });\n if (isWritableNodeStream(body))\n return _duplexify({\n writable: body\n });\n if (isNodeStream(body))\n return _duplexify({\n writable: !1,\n readable: !1\n });\n if (typeof body === \"function\") {\n const { value, write, final, destroy: destroy2 } = fromAsyncGen(body);\n if (isIterable(value))\n return from(Duplexify, value, {\n objectMode: !0,\n write,\n final,\n destroy: destroy2\n });\n const then2 = value === null || value === void 0 \? void 0 : value.then;\n if (typeof then2 === \"function\") {\n let d;\n const promise = FunctionPrototypeCall(then2, value, (val) => {\n if (val != null)\n throw new ERR_INVALID_RETURN_VALUE(\"nully\", \"body\", val);\n }, (err) => {\n destroyer(d, err);\n });\n return d = new Duplexify({\n objectMode: !0,\n readable: !1,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise, runOnNextTick(cb, null);\n } catch (err) {\n runOnNextTick(cb, err);\n }\n });\n },\n destroy: destroy2\n });\n }\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\", name, value);\n }\n if (isBlob(body))\n return duplexify(body.arrayBuffer());\n if (isIterable(body))\n return from(Duplexify, body, {\n objectMode: !0,\n writable: !1\n });\n if (typeof (body === null || body === void 0 \? void 0 : body.writable) === \"object\" || typeof (body === null || body === void 0 \? void 0 : body.readable) === \"object\") {\n const readable = body !== null && body !== void 0 && body.readable \? isReadableNodeStream(body === null || body === void 0 \? void 0 : body.readable) \? body === null || body === void 0 \? void 0 : body.readable : duplexify(body.readable) : void 0, writable = body !== null && body !== void 0 && body.writable \? isWritableNodeStream(body === null || body === void 0 \? void 0 : body.writable) \? body === null || body === void 0 \? void 0 : body.writable : duplexify(body.writable) : void 0;\n return _duplexify({\n readable,\n writable\n });\n }\n const then = body === null || body === void 0 \? void 0 : body.then;\n if (typeof then === \"function\") {\n let d;\n return FunctionPrototypeCall(then, body, (val) => {\n if (val != null)\n d.push(val);\n d.push(null);\n }, (err) => {\n destroyer(d, err);\n }), d = new Duplexify({\n objectMode: !0,\n writable: !1,\n read() {\n }\n });\n }\n throw new ERR_INVALID_ARG_TYPE2(name, [\n \"Blob\",\n \"ReadableStream\",\n \"WritableStream\",\n \"Stream\",\n \"Iterable\",\n \"AsyncIterable\",\n \"Function\",\n \"{ readable, writable } pair\",\n \"Promise\"\n ], body);\n };\n function fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise();\n const ac = new AbortController, signal = ac.signal;\n return {\n value: fn(async function* () {\n while (!0) {\n const _promise = promise;\n promise = null;\n const { chunk, done, cb } = await _promise;\n if (runOnNextTick(cb), done)\n return;\n if (signal.aborted)\n throw new AbortError2(void 0, {\n cause: signal.reason\n });\n ({ promise, resolve } = createDeferredPromise()), yield chunk;\n }\n }(), {\n signal\n }),\n write(chunk, encoding, cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n chunk,\n done: !1,\n cb\n });\n },\n final(cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n done: !0,\n cb\n });\n },\n destroy(err, cb) {\n ac.abort(), cb(err);\n }\n };\n }\n function _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== \"function\" \? Readable.wrap(pair.readable) : pair.readable, w = pair.writable;\n let readable = !!isReadable(r), writable = !!isWritable(w), ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n if (d = new Duplexify({\n readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),\n readable,\n writable\n }), writable)\n eos(w, (err) => {\n if (writable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), d._write = function(chunk, encoding, callback) {\n if (w.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n w.end(), onfinish = callback;\n }, w.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), w.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n eos(r, (err) => {\n if (readable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), r.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), r.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = r.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(w, err), destroyer(r, err);\n }, d;\n }\n }\n}), require_duplex = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplex.js\"(exports, module) {\n var { ObjectDefineProperties, ObjectGetOwnPropertyDescriptor, ObjectKeys, ObjectSetPrototypeOf } = require_primordials(), Readable = require_readable();\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n if (Readable.@call(this, options), Writable.@call(this, options), options) {\n if (this.allowHalfOpen = options.allowHalfOpen !== !1, options.readable === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if (options.writable === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n } else\n this.allowHalfOpen = !0;\n }\n Duplex.prototype = {}, module.exports = Duplex, ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype), ObjectSetPrototypeOf(Duplex, Readable);\n for (var method in Writable.prototype)\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n ObjectDefineProperties(Duplex.prototype, {\n writable: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writable\"),\n writableHighWaterMark: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableHighWaterMark\"),\n writableObjectMode: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableObjectMode\"),\n writableBuffer: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableBuffer\"),\n writableLength: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableLength\"),\n writableFinished: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableFinished\"),\n writableCorked: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableCorked\"),\n writableEnded: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableEnded\"),\n writableNeedDrain: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableNeedDrain\"),\n destroyed: {\n get() {\n if (this._readableState === void 0 || this._writableState === void 0)\n return !1;\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set(value) {\n if (this._readableState && this._writableState)\n this._readableState.destroyed = value, this._writableState.destroyed = value;\n }\n }\n });\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Duplex.fromWeb = function(pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);\n }, Duplex.toWeb = function(duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);\n };\n var duplexify;\n Duplex.from = function(body) {\n if (!duplexify)\n duplexify = require_duplexify();\n return duplexify(body, \"body\");\n };\n }\n}), require_transform = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/transform.js\"(exports, module) {\n var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials(), { ERR_METHOD_NOT_IMPLEMENTED } = require_errors().codes, Duplex = require_duplex();\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n if (Duplex.@call(this, options), this._readableState.sync = !1, this[kCallback] = null, options) {\n if (typeof options.transform === \"function\")\n this._transform = options.transform;\n if (typeof options.flush === \"function\")\n this._flush = options.flush;\n }\n this.on(\"prefinish\", prefinish.bind(this));\n }\n Transform.prototype = {}, ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype), ObjectSetPrototypeOf(Transform, Duplex), module.exports = Transform;\n var kCallback = Symbol2(\"kCallback\");\n function final(cb) {\n if (typeof this._flush === \"function\" && !this.destroyed)\n this._flush((er, data) => {\n if (er) {\n if (cb)\n cb(er);\n else\n this.destroy(er);\n return;\n }\n if (data != null)\n this.push(data);\n if (this.push(null), cb)\n cb();\n });\n else if (this.push(null), cb)\n cb();\n }\n function prefinish() {\n if (this._final !== final)\n final.@call(this);\n }\n Transform.prototype._final = final, Transform.prototype._transform = function(chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\");\n }, Transform.prototype._write = function(chunk, encoding, callback) {\n const rState = this._readableState, wState = this._writableState, length = rState.length;\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err);\n return;\n }\n if (val != null)\n this.push(val);\n if (wState.ended || length === rState.length || rState.length < rState.highWaterMark || rState.highWaterMark === 0 || rState.length === 0)\n callback();\n else\n this[kCallback] = callback;\n });\n }, Transform.prototype._read = function() {\n if (this[kCallback]) {\n const callback = this[kCallback];\n this[kCallback] = null, callback();\n }\n };\n }\n}), require_passthrough = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/passthrough.js\"(exports, module) {\n var { ObjectSetPrototypeOf } = require_primordials(), Transform = require_transform();\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.@call(this, options);\n }\n PassThrough.prototype = {}, ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype), ObjectSetPrototypeOf(PassThrough, Transform), PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n }, module.exports = PassThrough;\n }\n}), require_pipeline = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/pipeline.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, Promise: Promise2, SymbolAsyncIterator } = require_primordials(), eos = require_end_of_stream(), { once } = require_util(), destroyImpl = require_destroy(), Duplex = require_duplex(), {\n aggregateTwoErrors,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS, ERR_STREAM_DESTROYED },\n AbortError: AbortError2\n } = require_errors(), { validateFunction, validateAbortSignal } = require_validators(), { isIterable, isReadable, isReadableNodeStream, isNodeStream } = require_utils(), PassThrough, Readable;\n function destroyer(stream, reading, writing) {\n let finished = !1;\n stream.on(\"close\", () => {\n finished = !0;\n });\n const cleanup = eos(stream, {\n readable: reading,\n writable: writing\n }, (err) => {\n finished = !err;\n });\n return {\n destroy: (err) => {\n if (finished)\n return;\n finished = !0, destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED(\"pipe\"));\n },\n cleanup\n };\n }\n function popCallback(streams) {\n return validateFunction(streams[streams.length - 1], \"streams[stream.length - 1]\"), streams.pop();\n }\n function makeAsyncIterable(val) {\n if (isIterable(val))\n return val;\n else if (isReadableNodeStream(val))\n return fromReadable(val);\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], val);\n }\n async function* fromReadable(val) {\n if (!Readable)\n Readable = require_readable();\n yield* Readable.prototype[SymbolAsyncIterator].@call(val);\n }\n async function pump(iterable, writable, finish, { end }) {\n let error, onresolve = null;\n const resume = (err) => {\n if (err)\n error = err;\n if (onresolve) {\n const callback = onresolve;\n onresolve = null, callback();\n }\n }, wait = () => new Promise2((resolve, reject) => {\n if (error)\n reject(error);\n else\n onresolve = () => {\n if (error)\n reject(error);\n else\n resolve();\n };\n });\n writable.on(\"drain\", resume);\n const cleanup = eos(writable, {\n readable: !1\n }, resume);\n try {\n if (writable.writableNeedDrain)\n await wait();\n for await (let chunk of iterable)\n if (!writable.write(chunk))\n await wait();\n if (end)\n writable.end();\n await wait(), finish();\n } catch (err) {\n finish(error !== err \? aggregateTwoErrors(error, err) : err);\n } finally {\n cleanup(), writable.off(\"drain\", resume);\n }\n }\n function pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)));\n }\n function pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray2(streams[0]))\n streams = streams[0];\n if (streams.length < 2)\n throw new ERR_MISSING_ARGS(\"streams\");\n const ac = new AbortController, signal = ac.signal, outerSignal = opts === null || opts === void 0 \? void 0 : opts.signal, lastStreamCleanup = [];\n validateAbortSignal(outerSignal, \"options.signal\");\n function abort() {\n finishImpl(new AbortError2);\n }\n outerSignal === null || outerSignal === void 0 || outerSignal.addEventListener(\"abort\", abort);\n let error, value;\n const destroys = [];\n let finishCount = 0;\n function finish(err) {\n finishImpl(err, --finishCount === 0);\n }\n function finishImpl(err, final) {\n if (err && (!error || error.code === \"ERR_STREAM_PREMATURE_CLOSE\"))\n error = err;\n if (!error && !final)\n return;\n while (destroys.length)\n destroys.shift()(error);\n if (outerSignal === null || outerSignal === void 0 || outerSignal.removeEventListener(\"abort\", abort), ac.abort(), final) {\n if (!error)\n lastStreamCleanup.forEach((fn) => fn());\n runOnNextTick(callback, error, value);\n }\n }\n let ret;\n for (let i = 0;i < streams.length; i++) {\n const stream = streams[i], reading = i < streams.length - 1, writing = i > 0, end = reading || (opts === null || opts === void 0 \? void 0 : opts.end) !== !1, isLastStream = i === streams.length - 1;\n if (isNodeStream(stream)) {\n let onError = function(err) {\n if (err && err.name !== \"AbortError\" && err.code !== \"ERR_STREAM_PREMATURE_CLOSE\")\n finish(err);\n };\n if (end) {\n const { destroy: destroy2, cleanup } = destroyer(stream, reading, writing);\n if (destroys.push(destroy2), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n if (stream.on(\"error\", onError), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(() => {\n stream.removeListener(\"error\", onError);\n });\n }\n if (i === 0)\n if (typeof stream === \"function\") {\n if (ret = stream({\n signal\n }), !isIterable(ret))\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\", \"source\", ret);\n } else if (isIterable(stream) || isReadableNodeStream(stream))\n ret = stream;\n else\n ret = Duplex.from(stream);\n else if (typeof stream === \"function\")\n if (ret = makeAsyncIterable(ret), ret = stream(ret, {\n signal\n }), reading) {\n if (!isIterable(ret, !0))\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\", `transform[${i - 1}]`, ret);\n } else {\n var _ret;\n if (!PassThrough)\n PassThrough = require_passthrough();\n const pt = new PassThrough({\n objectMode: !0\n }), then = (_ret = ret) === null || _ret === void 0 \? void 0 : _ret.then;\n if (typeof then === \"function\")\n finishCount++, then.@call(ret, (val) => {\n if (value = val, val != null)\n pt.write(val);\n if (end)\n pt.end();\n runOnNextTick(finish);\n }, (err) => {\n pt.destroy(err), runOnNextTick(finish, err);\n });\n else if (isIterable(ret, !0))\n finishCount++, pump(ret, pt, finish, {\n end\n });\n else\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\", \"destination\", ret);\n ret = pt;\n const { destroy: destroy2, cleanup } = destroyer(ret, !1, !0);\n if (destroys.push(destroy2), isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2;\n const cleanup = pipe(ret, stream, finish, {\n end\n });\n if (isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n } else if (isIterable(ret))\n finishCount++, pump(ret, stream, finish, {\n end\n });\n else\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], ret);\n ret = stream;\n } else\n ret = Duplex.from(stream);\n }\n if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted)\n runOnNextTick(abort);\n return ret;\n }\n function pipe(src, dst, finish, { end }) {\n if (src.pipe(dst, {\n end\n }), end)\n src.once(\"end\", () => dst.end());\n else\n finish();\n return eos(src, {\n readable: !0,\n writable: !1\n }, (err) => {\n const rState = src._readableState;\n if (err && err.code === \"ERR_STREAM_PREMATURE_CLOSE\" && rState && rState.ended && !rState.errored && !rState.errorEmitted)\n src.once(\"end\", finish).once(\"error\", finish);\n else\n finish(err);\n }), eos(dst, {\n readable: !1,\n writable: !0\n }, finish);\n }\n module.exports = {\n pipelineImpl,\n pipeline\n };\n }\n}), require_compose = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/compose.js\"(exports, module) {\n var { pipeline } = require_pipeline(), Duplex = require_duplex(), { destroyer } = require_destroy(), { isNodeStream, isReadable, isWritable } = require_utils(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_MISSING_ARGS }\n } = require_errors();\n module.exports = function compose(...streams) {\n if (streams.length === 0)\n throw new ERR_MISSING_ARGS(\"streams\");\n if (streams.length === 1)\n return Duplex.from(streams[0]);\n const orgStreams = [...streams];\n if (typeof streams[0] === \"function\")\n streams[0] = Duplex.from(streams[0]);\n if (typeof streams[streams.length - 1] === \"function\") {\n const idx = streams.length - 1;\n streams[idx] = Duplex.from(streams[idx]);\n }\n for (let n = 0;n < streams.length; ++n) {\n if (!isNodeStream(streams[n]))\n continue;\n if (n < streams.length - 1 && !isReadable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be readable\");\n if (n > 0 && !isWritable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be writable\");\n }\n let ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n const head = streams[0], tail = pipeline(streams, onfinished), writable = !!isWritable(head), readable = !!isReadable(tail);\n if (d = new Duplex({\n writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== void 0 && tail.writableObjectMode),\n writable,\n readable\n }), writable)\n d._write = function(chunk, encoding, callback) {\n if (head.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n head.end(), onfinish = callback;\n }, head.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), tail.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n tail.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), tail.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = tail.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(tail, err);\n }, d;\n };\n }\n}), require_promises = __commonJS({\n \"node_modules/readable-stream/lib/stream/promises.js\"(exports, module) {\n var { ArrayPrototypePop, Promise: Promise2 } = require_primordials(), { isIterable, isNodeStream } = require_utils(), { pipelineImpl: pl } = require_pipeline(), { finished } = require_end_of_stream();\n function pipeline(...streams) {\n return new Promise2((resolve, reject) => {\n let signal, end;\n const lastArg = streams[streams.length - 1];\n if (lastArg && typeof lastArg === \"object\" && !isNodeStream(lastArg) && !isIterable(lastArg)) {\n const options = ArrayPrototypePop(streams);\n signal = options.signal, end = options.end;\n }\n pl(streams, (err, value) => {\n if (err)\n reject(err);\n else\n resolve(value);\n }, {\n signal,\n end\n });\n });\n }\n module.exports = {\n finished,\n pipeline\n };\n }\n}), require_stream = __commonJS({\n \"node_modules/readable-stream/lib/stream.js\"(exports, module) {\n var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials(), {\n promisify: { custom: customPromisify }\n } = require_util(), { streamReturningOperators, promiseReturningOperators } = require_operators(), {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n } = require_errors(), compose = require_compose(), { pipeline } = require_pipeline(), { destroyer } = require_destroy(), eos = require_end_of_stream(), promises = require_promises(), utils = require_utils(), Stream = module.exports = require_legacy().Stream;\n Stream.isDisturbed = utils.isDisturbed, Stream.isErrored = utils.isErrored, Stream.isWritable = utils.isWritable, Stream.isReadable = utils.isReadable, Stream.Readable = require_readable();\n for (let key of ObjectKeys(streamReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return Stream.Readable.from(ReflectApply(op, this, args));\n };\n const op = streamReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n for (let key of ObjectKeys(promiseReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return ReflectApply(op, this, args);\n };\n const op = promiseReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n Stream.Writable = require_writable(), Stream.Duplex = require_duplex(), Stream.Transform = require_transform(), Stream.PassThrough = require_passthrough(), Stream.pipeline = pipeline;\n var { addAbortSignal } = require_add_abort_signal();\n Stream.addAbortSignal = addAbortSignal, Stream.finished = eos, Stream.destroy = destroyer, Stream.compose = compose, ObjectDefineProperty(Stream, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n }), ObjectDefineProperty(pipeline, customPromisify, {\n enumerable: !0,\n get() {\n return promises.pipeline;\n }\n }), ObjectDefineProperty(eos, customPromisify, {\n enumerable: !0,\n get() {\n return promises.finished;\n }\n }), Stream.Stream = Stream, Stream._isUint8Array = function isUint8Array(value) {\n return value instanceof @Uint8Array;\n }, Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return new @Buffer(chunk.buffer, chunk.byteOffset, chunk.byteLength);\n };\n }\n}), nativeReadableStreamPrototypes = {\n 0: @undefined,\n 1: @undefined,\n 2: @undefined,\n 3: @undefined,\n 4: @undefined,\n 5: @undefined\n}, Writable = require_writable(), _pathOrFdOrSink = Symbol(\"pathOrFdOrSink\"), _fileSink = Symbol(\"fileSink\"), _native = Symbol(\"native\");\nNativeWritable.prototype = Object.create(Writable.prototype);\nvar WritablePrototypeWrite = Writable.prototype.write;\nNativeWritable.prototype.write = function NativeWritablePrototypeWrite(chunk, encoding, cb, native) {\n if (!(native \?\? this[_native]))\n return this[_native] = !1, WritablePrototypeWrite.@call(this, chunk, encoding, cb);\n var fileSink = this[_fileSink] \?\? NativeWritable_lazyConstruct(this), result = fileSink.write(chunk);\n if (@isPromise(result))\n return result.then(() => {\n this.emit(\"drain\"), fileSink.flush(!0);\n }), !1;\n if (fileSink.flush(!0), typeof encoding === \"function\")\n cb = encoding;\n if (cb)\n cb(null, chunk.byteLength);\n return !0;\n};\nvar WritablePrototypeEnd = Writable.prototype.end;\nNativeWritable.prototype.end = function end(chunk, encoding, cb, native) {\n return WritablePrototypeEnd.@call(this, chunk, encoding, cb, native \?\? this[_native]);\n};\nNativeWritable.prototype.ref = function ref() {\n var sink = this[_fileSink];\n if (!sink)\n this.NativeWritable_lazyConstruct();\n sink.ref();\n};\nNativeWritable.prototype.unref = function unref() {\n this[_fileSink]\?.unref();\n};\nvar exports = require_stream(), promises = require_promises();\nexports._getNativeReadableStreamPrototype = getNativeReadableStreamPrototype;\nexports.NativeWritable = NativeWritable;\nObject.defineProperty(exports, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n});\nexports[Symbol.for(\"::bunternal::\")] = { _ReadableFromWeb, _ReadableFromWebForUndici };\nexports.eos = require_end_of_stream();\nexports.EventEmitter = EE;\nreturn exports})\n"); +static constexpr ASCIILiteral NodeStreamCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.ts\nvar isReadableStream = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @ReadableStream;\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n return new Error(`The argument '${name}' is invalid. Received '${value}' for type '${type}'`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value '${value}' is invalid for argument '${name}'. Reason: ${reason}`);\n}, createNativeStreamReadable = function(nativeType, Readable) {\n var [pull, start, cancel, setClose, deinit, updateRef, drainFn] = @lazy(nativeType), closer = [!1], handleNumberResult = function(nativeReadable, result, view, isClosed) {\n if (result > 0) {\n const slice = view.subarray(0, result), remainder = view.subarray(result);\n if (slice.byteLength > 0)\n nativeReadable.push(slice);\n if (isClosed)\n nativeReadable.push(null);\n return remainder.byteLength > 0 \? remainder : @undefined;\n }\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, handleArrayBufferViewResult = function(nativeReadable, result, view, isClosed) {\n if (result.byteLength > 0)\n nativeReadable.push(result);\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, DYNAMICALLY_ADJUST_CHUNK_SIZE = process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE !== \"1\";\n const finalizer = new FinalizationRegistry((ptr) => ptr && deinit(ptr)), MIN_BUFFER_SIZE = 512;\n var NativeReadable = class NativeReadable2 extends Readable {\n #bunNativePtr;\n #refCount = 1;\n #constructed = !1;\n #remainingChunk = @undefined;\n #highWaterMark;\n #pendingRead = !1;\n #hasResized = !DYNAMICALLY_ADJUST_CHUNK_SIZE;\n #unregisterToken;\n constructor(ptr, options = {}) {\n super(options);\n if (typeof options.highWaterMark === \"number\")\n this.#highWaterMark = options.highWaterMark;\n else\n this.#highWaterMark = 262144;\n this.#bunNativePtr = ptr, this.#constructed = !1, this.#remainingChunk = @undefined, this.#pendingRead = !1, this.#unregisterToken = {}, finalizer.register(this, this.#bunNativePtr, this.#unregisterToken);\n }\n _read(maxToRead) {\n if (this.#pendingRead)\n return;\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n this.push(null);\n return;\n }\n if (!this.#constructed)\n this.#internalConstruct(ptr);\n return this.#internalRead(this.#getRemainingChunk(maxToRead), ptr);\n }\n #internalConstruct(ptr) {\n this.#constructed = !0;\n const result = start(ptr, this.#highWaterMark);\n if (typeof result === \"number\" && result > 1)\n this.#hasResized = !0, this.#highWaterMark = Math.min(this.#highWaterMark, result);\n if (drainFn) {\n const drainResult = drainFn(ptr);\n if ((drainResult\?.byteLength \?\? 0) > 0)\n this.push(drainResult);\n }\n }\n #getRemainingChunk(maxToRead = this.#highWaterMark) {\n var chunk = this.#remainingChunk;\n if (chunk\?.byteLength \?\? 0 < MIN_BUFFER_SIZE) {\n var size = maxToRead > MIN_BUFFER_SIZE \? maxToRead : MIN_BUFFER_SIZE;\n this.#remainingChunk = chunk = new @Buffer(size);\n }\n return chunk;\n }\n #handleResult(result, view, isClosed) {\n if (typeof result === \"number\") {\n if (result >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleNumberResult(this, result, view, isClosed);\n } else if (typeof result === \"boolean\")\n return process.nextTick(() => {\n this.push(null);\n }), view\?.byteLength \?\? 0 > 0 \? view : @undefined;\n else if (@ArrayBuffer.isView(result)) {\n if (result.byteLength >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleArrayBufferViewResult(this, result, view, isClosed);\n } else\n throw new Error(\"Invalid result from pull\");\n }\n #internalRead(view, ptr) {\n closer[0] = !1;\n var result = pull(ptr, view, closer);\n if (@isPromise(result))\n return this.#pendingRead = !0, result.then((result2) => {\n this.#pendingRead = !1, this.#remainingChunk = this.#handleResult(result2, view, closer[0]);\n }, (reason) => {\n errorOrDestroy(this, reason);\n });\n else\n this.#remainingChunk = this.#handleResult(result, view, closer[0]);\n }\n _destroy(error, callback) {\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n callback(error);\n return;\n }\n if (finalizer.unregister(this.#unregisterToken), this.#bunNativePtr = 0, updateRef)\n updateRef(ptr, !1);\n cancel(ptr, error), callback(error);\n }\n ref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount++ === 0)\n updateRef(ptr, !0);\n }\n unref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount-- === 1)\n updateRef(ptr, !1);\n }\n };\n if (!updateRef)\n NativeReadable.prototype.ref = @undefined, NativeReadable.prototype.unref = @undefined;\n return NativeReadable;\n}, getNativeReadableStreamPrototype = function(nativeType, Readable) {\n return nativeReadableStreamPrototypes[nativeType] ||= createNativeStreamReadable(nativeType, Readable);\n}, getNativeReadableStream = function(Readable, stream, options) {\n if (!(stream && typeof stream === \"object\" && stream instanceof @ReadableStream))\n return @undefined;\n const native = @direct(stream);\n if (!native)\n return @undefined;\n const { stream: ptr, data: type } = native;\n return new (getNativeReadableStreamPrototype(type, Readable))(ptr, options);\n}, NativeWritable = function(pathOrFdOrSink, options = {}) {\n Writable.@call(this, options), this[_native] = !0, this._construct = NativeWritable_internalConstruct, this._destroy = NativeWritable_internalDestroy, this._final = NativeWritable_internalFinal, this[_pathOrFdOrSink] = pathOrFdOrSink;\n}, NativeWritable_internalConstruct = function(cb) {\n if (this._writableState.constructed = !0, this.constructed = !0, typeof cb === \"function\")\n cb();\n process.nextTick(() => {\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n });\n}, NativeWritable_lazyConstruct = function(stream) {\n var sink = stream[_pathOrFdOrSink];\n if (typeof sink === \"object\")\n if (typeof sink.write === \"function\")\n return stream[_fileSink] = sink;\n else\n throw new Error(\"Invalid FileSink\");\n else\n return stream[_fileSink] = Bun.file(sink).writer();\n}, NativeWritable_internalDestroy = function(error, cb) {\n const w = this._writableState, r = this._readableState;\n if (w)\n w.destroyed = !0, w.closeEmitted = !0;\n if (r)\n r.destroyed = !0, r.closeEmitted = !0;\n if (typeof cb === \"function\")\n cb(error);\n if (w\?.closeEmitted || r\?.closeEmitted)\n this.emit(\"close\");\n}, NativeWritable_internalFinal = function(cb) {\n var sink = this[_fileSink];\n if (sink)\n sink.end();\n if (cb)\n cb();\n}, EE = @lazy(\"events\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, runOnNextTick = process.nextTick;\nvar ArrayIsArray = @Array.isArray, require_primordials = __commonJS({\n \"node_modules/readable-stream/lib/ours/primordials.js\"(exports, module) {\n module.exports = {\n ArrayIsArray(self) {\n return @Array.isArray(self);\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el);\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el);\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep);\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn);\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el);\n },\n ArrayPrototypePush(self, el) {\n return self.push(el);\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.@call(thisArgs, ...args);\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].@call(self, instance);\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props);\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop);\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name);\n },\n ObjectKeys(obj) {\n return Object.keys(obj);\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto);\n },\n Promise: @Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn);\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn);\n },\n PromiseReject(err) {\n return @Promise.reject(err);\n },\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n RegExpPrototypeTest(self, value) {\n return self.test(value);\n },\n SafeSet: Set,\n String: @String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase();\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase();\n },\n StringPrototypeTrim(self) {\n return self.trim();\n },\n Symbol,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len);\n },\n Uint8Array: @Uint8Array\n };\n }\n}), require_util = __commonJS({\n \"node_modules/readable-stream/lib/ours/util.js\"(exports, module) {\n var AsyncFunction = Object.getPrototypeOf(async function() {\n }).constructor, isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, AggregateError = class extends Error {\n constructor(errors) {\n if (!@Array.isArray(errors))\n @throwTypeError(`Expected input to be an Array, got ${typeof errors}`);\n let message = \"\";\n for (let i = 0;i < errors.length; i++)\n message += ` ${errors[i].stack}\n`;\n super(message);\n this.name = \"AggregateError\", this.errors = errors;\n }\n };\n module.exports = {\n AggregateError,\n once(callback) {\n let called = !1;\n return function(...args) {\n if (called)\n return;\n called = !0, callback.@apply(this, args);\n };\n },\n createDeferredPromise: function() {\n let resolve, reject;\n return {\n promise: new @Promise((res, rej) => {\n resolve = res, reject = rej;\n }),\n resolve,\n reject\n };\n },\n promisify(fn) {\n return new @Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err)\n return reject(err);\n return resolve(...args);\n });\n });\n },\n debuglog() {\n return function() {\n };\n },\n format(format, ...args) {\n return format.replace(/%([sdifj])/g, function(...[_unused, type]) {\n const replacement = args.shift();\n if (type === \"f\")\n return replacement.toFixed(6);\n else if (type === \"j\")\n return JSON.stringify(replacement);\n else if (type === \"s\" && typeof replacement === \"object\")\n return `${replacement.constructor !== Object \? replacement.constructor.name : \"\"} {}`.trim();\n else\n return replacement.toString();\n });\n },\n inspect(value) {\n switch (typeof value) {\n case \"string\":\n if (value.includes(\"'\")) {\n if (!value.includes('\"'))\n return `\"${value}\"`;\n else if (!value.includes(\"`\") && !value.includes(\"${\"))\n return `\\`${value}\\``;\n }\n return `'${value}'`;\n case \"number\":\n if (isNaN(value))\n return \"NaN\";\n else if (Object.is(value, -0))\n return @String(value);\n return value;\n case \"bigint\":\n return `${@String(value)}n`;\n case \"boolean\":\n case \"undefined\":\n return @String(value);\n case \"object\":\n return \"{}\";\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction;\n },\n isArrayBufferView(arr) {\n return @ArrayBuffer.isView(arr);\n }\n },\n isBlob\n }, module.exports.promisify.custom = Symbol.for(\"nodejs.util.promisify.custom\");\n }\n}), require_errors = __commonJS({\n \"node_modules/readable-stream/lib/ours/errors.js\"(exports, module) {\n var { format, inspect, AggregateError: CustomAggregateError } = require_util(), AggregateError = globalThis.AggregateError || CustomAggregateError, kIsNodeError = Symbol(\"kIsNodeError\"), kTypes = [\"string\", \"function\", \"number\", \"object\", \"Function\", \"Object\", \"boolean\", \"bigint\", \"symbol\"], classRegExp = /^([A-Z][a-z0-9]*)+$/, nodeInternalPrefix = \"__node_internal_\", codes = {};\n function assert(value, message) {\n if (!value)\n throw new codes.ERR_INTERNAL_ASSERTION(message);\n }\n function addNumericalSeparator(val) {\n let res = \"\", i = val.length;\n const start = val[0] === \"-\" \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n res = `_${val.slice(i - 3, i)}${res}`;\n return `${val.slice(0, i)}${res}`;\n }\n function getMessage(key, msg, args) {\n if (typeof msg === \"function\")\n return assert(msg.length <= args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`), msg(...args);\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;\n if (assert(expectedLength === args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`), args.length === 0)\n return msg;\n return format(msg, ...args);\n }\n function E(code, message, Base) {\n if (!Base)\n Base = Error;\n\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args));\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`;\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: !0,\n enumerable: !1,\n configurable: !0\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`;\n },\n writable: !0,\n enumerable: !1,\n configurable: !0\n }\n }), NodeError.prototype.code = code, NodeError.prototype[kIsNodeError] = !0, codes[code] = NodeError;\n }\n function hideStackFrames(fn) {\n const hidden = nodeInternalPrefix + fn.name;\n return Object.defineProperty(fn, \"name\", {\n value: hidden\n }), fn;\n }\n function aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (@Array.isArray(outerError.errors))\n return outerError.errors.push(innerError), outerError;\n const err = new AggregateError([outerError, innerError], outerError.message);\n return err.code = outerError.code, err;\n }\n return innerError || outerError;\n }\n var AbortError2 = class extends Error {\n constructor(message = \"The operation was aborted\", options = void 0) {\n if (options !== void 0 && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n };\n E(\"ERR_ASSERTION\", \"%s\", Error), E(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !@Array.isArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (name.endsWith(\" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${name.includes(\".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), kTypes.includes(value))\n types.push(value.toLowerCase());\n else if (classRegExp.test(value))\n instances.push(value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), other.push(value);\n if (instances.length > 0) {\n const pos = types.indexOf(\"object\");\n if (pos !== -1)\n types.splice(types, pos, 1), instances.push(\"Object\");\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`;\n break;\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`;\n break;\n default: {\n const last = types.pop();\n msg += `one of type ${types.join(\", \")}, or ${last}`;\n }\n }\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`;\n break;\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`;\n break;\n default: {\n const last = instances.pop();\n msg += `an instance of ${instances.join(\", \")}, or ${last}`;\n }\n }\n if (other.length > 0)\n msg += \" or \";\n }\n switch (other.length) {\n case 0:\n break;\n case 1:\n if (other[0].toLowerCase() !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n break;\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`;\n break;\n default: {\n const last = other.pop();\n msg += `one of ${other.join(\", \")}, or ${last}`;\n }\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\") {\n var _actual$constructor;\n if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else {\n const inspected = inspect(actual, {\n depth: -1\n });\n msg += `. Received ${inspected}`;\n }\n } else {\n let inspected = inspect(actual, {\n colors: !1\n });\n if (inspected.length > 25)\n inspected = `${inspected.slice(0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }, TypeError), E(\"ERR_INVALID_ARG_VALUE\", (name, value, reason = \"is invalid\") => {\n let inspected = inspect(value);\n if (inspected.length > 128)\n inspected = inspected.slice(0, 128) + \"...\";\n return `The ${name.includes(\".\") \? \"property\" : \"argument\"} '${name}' ${reason}. Received ${inspected}`;\n }, TypeError), E(\"ERR_INVALID_RETURN_VALUE\", (input, name, value) => {\n var _value$constructor;\n const type = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name \? `instance of ${value.constructor.name}` : `type ${typeof value}`;\n return `Expected ${input} to be returned from the \"${name}\" function but got ${type}.`;\n }, TypeError), E(\"ERR_MISSING_ARGS\", (...args) => {\n assert(args.length > 0, \"At least one arg needs to be specified\");\n let msg;\n const len = args.length;\n switch (args = (@Array.isArray(args) \? args : [args]).map((a) => `\"${a}\"`).join(\" or \"), len) {\n case 1:\n msg += `The ${args[0]} argument`;\n break;\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`;\n break;\n default:\n {\n const last = args.pop();\n msg += `The ${args.join(\", \")}, and ${last} arguments`;\n }\n break;\n }\n return `${msg} must be specified`;\n }, TypeError), E(\"ERR_OUT_OF_RANGE\", (str, range, input) => {\n assert(range, 'Missing \"range\" argument');\n let received;\n if (Number.isInteger(input) && Math.abs(input) > 4294967296)\n received = addNumericalSeparator(@String(input));\n else if (typeof input === \"bigint\") {\n if (received = @String(input), input > 2n ** 32n || input < -(2n ** 32n))\n received = addNumericalSeparator(received);\n received += \"n\";\n } else\n received = inspect(input);\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`;\n }, RangeError), E(\"ERR_MULTIPLE_CALLBACK\", \"Callback called multiple times\", Error), E(\"ERR_METHOD_NOT_IMPLEMENTED\", \"The %s method is not implemented\", Error), E(\"ERR_STREAM_ALREADY_FINISHED\", \"Cannot call %s after a stream was finished\", Error), E(\"ERR_STREAM_CANNOT_PIPE\", \"Cannot pipe, not readable\", Error), E(\"ERR_STREAM_DESTROYED\", \"Cannot call %s after a stream was destroyed\", Error), E(\"ERR_STREAM_NULL_VALUES\", \"May not write null values to stream\", TypeError), E(\"ERR_STREAM_PREMATURE_CLOSE\", \"Premature close\", Error), E(\"ERR_STREAM_PUSH_AFTER_EOF\", \"stream.push() after EOF\", Error), E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\", \"stream.unshift() after end event\", Error), E(\"ERR_STREAM_WRITE_AFTER_END\", \"write after end\", Error), E(\"ERR_UNKNOWN_ENCODING\", \"Unknown encoding: %s\", TypeError), module.exports = {\n AbortError: AbortError2,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n };\n }\n}), require_validators = __commonJS({\n \"node_modules/readable-stream/lib/internal/validators.js\"(exports, module) {\n var {\n ArrayIsArray: ArrayIsArray2,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n RegExpPrototypeTest,\n String: String2,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n } = require_primordials(), {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n } = require_errors(), { normalizeEncoding } = require_util(), { isAsyncFunction, isArrayBufferView } = require_util().types, signals = {};\n function isInt32(value) {\n return value === (value | 0);\n }\n function isUint32(value) {\n return value === value >>> 0;\n }\n var octalReg = /^[0-7]+$/, modeDesc = \"must be a 32-bit unsigned integer or an octal string\";\n function parseFileMode(value, name, def) {\n if (typeof value === \"undefined\")\n value = def;\n if (typeof value === \"string\") {\n if (!RegExpPrototypeTest(octalReg, value))\n throw new ERR_INVALID_ARG_VALUE2(name, value, modeDesc);\n value = NumberParseInt(value, 8);\n }\n return validateInt32(value, name, 0, 4294967295), value;\n }\n var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isInt32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateUint32 = hideStackFrames((value, name, positive) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isUint32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${positive \? 1 : 0} && < 4294967296`, value);\n }\n if (positive && value === 0)\n throw new ERR_OUT_OF_RANGE(name, \">= 1 && < 4294967296\", value);\n });\n function validateString(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"string\", value);\n }\n function validateNumber(value, name) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n }\n var validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const reason = \"must be one of: \" + ArrayPrototypeJoin(ArrayPrototypeMap(oneOf, (v) => typeof v === \"string\" \? `'${v}'` : String2(v)), \", \");\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateBoolean2(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"boolean\", value);\n }\n var validateObject = hideStackFrames((value, name, options) => {\n const useDefaultOptions = options == null, allowArray = useDefaultOptions \? !1 : options.allowArray, allowFunction = useDefaultOptions \? !1 : options.allowFunction;\n if (!(useDefaultOptions \? !1 : options.nullable) && value === null || !allowArray && ArrayIsArray2(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Object\", value);\n }), validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray2(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateSignalName(signal, name = \"signal\") {\n if (validateString(signal, name), signals[signal] === void 0) {\n if (signals[StringPrototypeToUpperCase(signal)] !== void 0)\n throw new ERR_UNKNOWN_SIGNAL(signal + \" (signals must use all capital letters)\");\n throw new ERR_UNKNOWN_SIGNAL(signal);\n }\n }\n var validateBuffer = hideStackFrames((buffer, name = \"buffer\") => {\n if (!isArrayBufferView(buffer))\n throw new ERR_INVALID_ARG_TYPE2(name, [\"Buffer\", \"TypedArray\", \"DataView\"], buffer);\n });\n function validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding), length = data.length;\n if (normalizedEncoding === \"hex\" && length % 2 !== 0)\n throw new ERR_INVALID_ARG_VALUE2(\"encoding\", encoding, `is invalid for data of length ${length}`);\n }\n function validatePort(port, name = \"Port\", allowZero = !0) {\n if (typeof port !== \"number\" && typeof port !== \"string\" || typeof port === \"string\" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero)\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);\n return port | 0;\n }\n var validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== void 0 && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n }), validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\" || isAsyncFunction(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validateUndefined = hideStackFrames((value, name) => {\n if (value !== void 0)\n throw new ERR_INVALID_ARG_TYPE2(name, \"undefined\", value);\n });\n module.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateBoolean: validateBoolean2,\n validateBuffer,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateAbortSignal\n };\n }\n}), require_utils = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/utils.js\"(exports, module) {\n var { Symbol: Symbol2, SymbolAsyncIterator, SymbolIterator } = require_primordials(), kDestroyed = Symbol2(\"kDestroyed\"), kIsErrored = Symbol2(\"kIsErrored\"), kIsReadable = Symbol2(\"kIsReadable\"), kIsDisturbed = Symbol2(\"kIsDisturbed\");\n function isReadableNodeStream(obj, strict = !1) {\n var _obj$_readableState;\n return !!(obj && typeof obj.pipe === \"function\" && typeof obj.on === \"function\" && (!strict || typeof obj.pause === \"function\" && typeof obj.resume === \"function\") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 \? void 0 : _obj$_readableState.readable) !== !1) && (!obj._writableState || obj._readableState));\n }\n function isWritableNodeStream(obj) {\n var _obj$_writableState;\n return !!(obj && typeof obj.write === \"function\" && typeof obj.on === \"function\" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 \? void 0 : _obj$_writableState.writable) !== !1));\n }\n function isDuplexNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\" && obj._readableState && typeof obj.on === \"function\" && typeof obj.write === \"function\");\n }\n function isNodeStream(obj) {\n return obj && (obj._readableState || obj._writableState || typeof obj.write === \"function\" && typeof obj.on === \"function\" || typeof obj.pipe === \"function\" && typeof obj.on === \"function\");\n }\n function isIterable(obj, isAsync) {\n if (obj == null)\n return !1;\n if (isAsync === !0)\n return typeof obj[SymbolAsyncIterator] === \"function\";\n if (isAsync === !1)\n return typeof obj[SymbolIterator] === \"function\";\n return typeof obj[SymbolAsyncIterator] === \"function\" || typeof obj[SymbolIterator] === \"function\";\n }\n function isDestroyed(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !!(stream.destroyed || stream[kDestroyed] || state !== null && state !== void 0 && state.destroyed);\n }\n function isWritableEnded(stream) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableEnded === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.ended) !== \"boolean\")\n return null;\n return wState.ended;\n }\n function isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableFinished === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.finished) !== \"boolean\")\n return null;\n return !!(wState.finished || strict === !1 && wState.ended === !0 && wState.length === 0);\n }\n function isReadableEnded(stream) {\n if (!isReadableNodeStream(stream))\n return null;\n if (stream.readableEnded === !0)\n return !0;\n const rState = stream._readableState;\n if (!rState || rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.ended) !== \"boolean\")\n return null;\n return rState.ended;\n }\n function isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream))\n return null;\n const rState = stream._readableState;\n if (rState !== null && rState !== void 0 && rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.endEmitted) !== \"boolean\")\n return null;\n return !!(rState.endEmitted || strict === !1 && rState.ended === !0 && rState.length === 0);\n }\n function isReadable(stream) {\n if (stream && stream[kIsReadable] != null)\n return stream[kIsReadable];\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.readable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);\n }\n function isWritable(stream) {\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.writable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);\n }\n function isFinished(stream, opts) {\n if (!isNodeStream(stream))\n return null;\n if (isDestroyed(stream))\n return !0;\n if ((opts === null || opts === void 0 \? void 0 : opts.readable) !== !1 && isReadable(stream))\n return !1;\n if ((opts === null || opts === void 0 \? void 0 : opts.writable) !== !1 && isWritable(stream))\n return !1;\n return !0;\n }\n function isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.writableErrored)\n return stream.writableErrored;\n return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 \? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 \? _stream$_writableStat : null;\n }\n function isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.readableErrored)\n return stream.readableErrored;\n return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 \? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 \? _stream$_readableStat : null;\n }\n function isClosed(stream) {\n if (!isNodeStream(stream))\n return null;\n if (typeof stream.closed === \"boolean\")\n return stream.closed;\n const { _writableState: wState, _readableState: rState } = stream;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.closed) === \"boolean\" || typeof (rState === null || rState === void 0 \? void 0 : rState.closed) === \"boolean\")\n return (wState === null || wState === void 0 \? void 0 : wState.closed) || (rState === null || rState === void 0 \? void 0 : rState.closed);\n if (typeof stream._closed === \"boolean\" && isOutgoingMessage(stream))\n return stream._closed;\n return null;\n }\n function isOutgoingMessage(stream) {\n return typeof stream._closed === \"boolean\" && typeof stream._defaultKeepAlive === \"boolean\" && typeof stream._removedConnection === \"boolean\" && typeof stream._removedContLen === \"boolean\";\n }\n function isServerResponse(stream) {\n return typeof stream._sent100 === \"boolean\" && isOutgoingMessage(stream);\n }\n function isServerRequest(stream) {\n var _stream$req;\n return typeof stream._consuming === \"boolean\" && typeof stream._dumped === \"boolean\" && ((_stream$req = stream.req) === null || _stream$req === void 0 \? void 0 : _stream$req.upgradeOrConnect) === void 0;\n }\n function willEmitClose(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === !1);\n }\n function isDisturbed(stream) {\n var _stream$kIsDisturbed;\n return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 \? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));\n }\n function isErrored(stream) {\n var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;\n return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 \? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 \? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 \? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 \? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 \? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 \? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 \? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 \? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 \? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 \? void 0 : _stream$_writableStat4.errored));\n }\n module.exports = {\n kDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n isClosed,\n isDestroyed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWritable,\n isWritableNodeStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose\n };\n }\n}), require_end_of_stream = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes, { once } = require_util(), { validateAbortSignal, validateFunction, validateObject } = require_validators(), { Promise: Promise2 } = require_primordials(), {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose\n } = require_utils();\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n }\n var nop = () => {\n };\n function eos(stream, options, callback) {\n var _options$readable, _options$writable;\n if (arguments.length === 2)\n callback = options, options = {};\n else if (options == null)\n options = {};\n else\n validateObject(options, \"options\");\n validateFunction(callback, \"callback\"), validateAbortSignal(options.signal, \"options.signal\"), callback = once(callback);\n const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 \? _options$readable : isReadableNodeStream(stream), writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 \? _options$writable : isWritableNodeStream(stream);\n if (!isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"Stream\", stream);\n const { _writableState: wState, _readableState: rState } = stream, onlegacyfinish = () => {\n if (!stream.writable)\n onfinish();\n };\n let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable, writableFinished = isWritableFinished(stream, !1);\n const onfinish = () => {\n if (writableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.readable || readable))\n return;\n if (!readable || readableFinished)\n callback.@call(stream);\n };\n let readableFinished = isReadableFinished(stream, !1);\n const onend = () => {\n if (readableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.writable || writable))\n return;\n if (!writable || writableFinished)\n callback.@call(stream);\n }, onerror = (err) => {\n callback.@call(stream, err);\n };\n let closed = isClosed(stream);\n const onclose = () => {\n closed = !0;\n const errored = isWritableErrored(stream) || isReadableErrored(stream);\n if (errored && typeof errored !== \"boolean\")\n return callback.@call(stream, errored);\n if (readable && !readableFinished && isReadableNodeStream(stream, !0)) {\n if (!isReadableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n callback.@call(stream);\n }, onrequest = () => {\n stream.req.on(\"finish\", onfinish);\n };\n if (isRequest(stream)) {\n if (stream.on(\"complete\", onfinish), !willEmitClose)\n stream.on(\"abort\", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on(\"request\", onrequest);\n } else if (writable && !wState)\n stream.on(\"end\", onlegacyfinish), stream.on(\"close\", onlegacyfinish);\n if (!willEmitClose && typeof stream.aborted === \"boolean\")\n stream.on(\"aborted\", onclose);\n if (stream.on(\"end\", onend), stream.on(\"finish\", onfinish), options.error !== !1)\n stream.on(\"error\", onerror);\n if (stream.on(\"close\", onclose), closed)\n runOnNextTick(onclose);\n else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {\n if (!willEmitClose)\n runOnNextTick(onclose);\n } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === !1))\n runOnNextTick(onclose);\n else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === !1))\n runOnNextTick(onclose);\n else if (rState && stream.req && stream.aborted)\n runOnNextTick(onclose);\n const cleanup = () => {\n if (callback = nop, stream.removeListener(\"aborted\", onclose), stream.removeListener(\"complete\", onfinish), stream.removeListener(\"abort\", onclose), stream.removeListener(\"request\", onrequest), stream.req)\n stream.req.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onlegacyfinish), stream.removeListener(\"close\", onlegacyfinish), stream.removeListener(\"finish\", onfinish), stream.removeListener(\"end\", onend), stream.removeListener(\"error\", onerror), stream.removeListener(\"close\", onclose);\n };\n if (options.signal && !closed) {\n const abort = () => {\n const endCallback = callback;\n cleanup(), endCallback.@call(stream, new AbortError2(void 0, {\n cause: options.signal.reason\n }));\n };\n if (options.signal.aborted)\n runOnNextTick(abort);\n else {\n const originalCallback = callback;\n callback = once((...args) => {\n options.signal.removeEventListener(\"abort\", abort), originalCallback.@apply(stream, args);\n }), options.signal.addEventListener(\"abort\", abort);\n }\n }\n return cleanup;\n }\n function finished(stream, opts) {\n return new Promise2((resolve, reject) => {\n eos(stream, opts, (err) => {\n if (err)\n reject(err);\n else\n resolve();\n });\n });\n }\n module.exports = eos, module.exports.finished = finished;\n }\n}), require_operators = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/operators.js\"(exports, module) {\n var {\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError: AbortError2\n } = require_errors(), { validateAbortSignal, validateInteger, validateObject } = require_validators(), kWeakHandler = require_primordials().Symbol(\"kWeak\"), { finished } = require_end_of_stream(), {\n ArrayPrototypePush,\n MathFloor,\n Number: Number2,\n NumberIsNaN,\n Promise: Promise2,\n PromiseReject,\n PromisePrototypeCatch,\n Symbol: Symbol2\n } = require_primordials(), kEmpty = Symbol2(\"kEmpty\"), kEof = Symbol2(\"kEof\");\n function map(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let concurrency = 1;\n if ((options === null || options === void 0 \? void 0 : options.concurrency) != null)\n concurrency = MathFloor(options.concurrency);\n return validateInteger(concurrency, \"concurrency\", 1), async function* map2() {\n var _options$signal, _options$signal2;\n const ac = new AbortController, stream = this, queue = [], signal = ac.signal, signalOpt = {\n signal\n }, abort = () => ac.abort();\n if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted)\n abort();\n options === null || options === void 0 || (_options$signal2 = options.signal) === null || _options$signal2 === void 0 || _options$signal2.addEventListener(\"abort\", abort);\n let next, resume, done = !1;\n function onDone() {\n done = !0;\n }\n async function pump() {\n try {\n for await (let val of stream) {\n var _val;\n if (done)\n return;\n if (signal.aborted)\n throw new AbortError2;\n try {\n val = fn(val, signalOpt);\n } catch (err) {\n val = PromiseReject(err);\n }\n if (val === kEmpty)\n continue;\n if (typeof ((_val = val) === null || _val === void 0 \? void 0 : _val.catch) === \"function\")\n val.catch(onDone);\n if (queue.push(val), next)\n next(), next = null;\n if (!done && queue.length && queue.length >= concurrency)\n await new Promise2((resolve) => {\n resume = resolve;\n });\n }\n queue.push(kEof);\n } catch (err) {\n const val = PromiseReject(err);\n PromisePrototypeCatch(val, onDone), queue.push(val);\n } finally {\n var _options$signal3;\n if (done = !0, next)\n next(), next = null;\n options === null || options === void 0 || (_options$signal3 = options.signal) === null || _options$signal3 === void 0 || _options$signal3.removeEventListener(\"abort\", abort);\n }\n }\n pump();\n try {\n while (!0) {\n while (queue.length > 0) {\n const val = await queue[0];\n if (val === kEof)\n return;\n if (signal.aborted)\n throw new AbortError2;\n if (val !== kEmpty)\n yield val;\n if (queue.shift(), resume)\n resume(), resume = null;\n }\n await new Promise2((resolve) => {\n next = resolve;\n });\n }\n } finally {\n if (ac.abort(), done = !0, resume)\n resume(), resume = null;\n }\n }.@call(this);\n }\n function asIndexedPairs(options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return async function* asIndexedPairs2() {\n let index = 0;\n for await (let val of this) {\n var _options$signal4;\n if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted)\n throw new AbortError2({\n cause: options.signal.reason\n });\n yield [index++, val];\n }\n }.@call(this);\n }\n async function some(fn, options = void 0) {\n for await (let unused of filter.@call(this, fn, options))\n return !0;\n return !1;\n }\n async function every(fn, options = void 0) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n return !await some.@call(this, async (...args) => {\n return !await fn(...args);\n }, options);\n }\n async function find(fn, options) {\n for await (let result of filter.@call(this, fn, options))\n return result;\n return;\n }\n async function forEach(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function forEachFn(value, options2) {\n return await fn(value, options2), kEmpty;\n }\n for await (let unused of map.@call(this, forEachFn, options))\n ;\n }\n function filter(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function filterFn(value, options2) {\n if (await fn(value, options2))\n return value;\n return kEmpty;\n }\n return map.@call(this, filterFn, options);\n }\n var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {\n constructor() {\n super(\"reduce\");\n this.message = \"Reduce of an empty stream requires an initial value\";\n }\n };\n async function reduce(reducer, initialValue, options) {\n var _options$signal5;\n if (typeof reducer !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"reducer\", [\"Function\", \"AsyncFunction\"], reducer);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let hasInitialValue = arguments.length > 1;\n if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {\n const err = new AbortError2(void 0, {\n cause: options.signal.reason\n });\n throw this.once(\"error\", () => {\n }), await finished(this.destroy(err)), err;\n }\n const ac = new AbortController, signal = ac.signal;\n if (options !== null && options !== void 0 && options.signal) {\n const opts = {\n once: !0,\n [kWeakHandler]: this\n };\n options.signal.addEventListener(\"abort\", () => ac.abort(), opts);\n }\n let gotAnyItemFromStream = !1;\n try {\n for await (let value of this) {\n var _options$signal6;\n if (gotAnyItemFromStream = !0, options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted)\n throw new AbortError2;\n if (!hasInitialValue)\n initialValue = value, hasInitialValue = !0;\n else\n initialValue = await reducer(initialValue, value, {\n signal\n });\n }\n if (!gotAnyItemFromStream && !hasInitialValue)\n throw new ReduceAwareErrMissingArgs;\n } finally {\n ac.abort();\n }\n return initialValue;\n }\n async function toArray(options) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n const result = [];\n for await (let val of this) {\n var _options$signal7;\n if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted)\n throw new AbortError2(void 0, {\n cause: options.signal.reason\n });\n ArrayPrototypePush(result, val);\n }\n return result;\n }\n function flatMap(fn, options) {\n const values = map.@call(this, fn, options);\n return async function* flatMap2() {\n for await (let val of values)\n yield* val;\n }.@call(this);\n }\n function toIntegerOrInfinity(number) {\n if (number = Number2(number), NumberIsNaN(number))\n return 0;\n if (number < 0)\n throw new ERR_OUT_OF_RANGE(\"number\", \">= 0\", number);\n return number;\n }\n function drop(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* drop2() {\n var _options$signal8;\n if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal9;\n if (options !== null && options !== void 0 && (_options$signal9 = options.signal) !== null && _options$signal9 !== void 0 && _options$signal9.aborted)\n throw new AbortError2;\n if (number-- <= 0)\n yield val;\n }\n }.@call(this);\n }\n function take(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* take2() {\n var _options$signal10;\n if (options !== null && options !== void 0 && (_options$signal10 = options.signal) !== null && _options$signal10 !== void 0 && _options$signal10.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal11;\n if (options !== null && options !== void 0 && (_options$signal11 = options.signal) !== null && _options$signal11 !== void 0 && _options$signal11.aborted)\n throw new AbortError2;\n if (number-- > 0)\n yield val;\n else\n return;\n }\n }.@call(this);\n }\n module.exports.streamReturningOperators = {\n asIndexedPairs,\n drop,\n filter,\n flatMap,\n map,\n take\n }, module.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n };\n }\n}), require_destroy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/destroy.js\"(exports, module) {\n var {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError: AbortError2\n } = require_errors(), { Symbol: Symbol2 } = require_primordials(), { kDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils(), kDestroy = \"#kDestroy\", kConstruct = \"#kConstruct\";\n function checkError(err, w, r) {\n if (err) {\n if (err.stack, w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n }\n }\n function destroy2(err, cb) {\n const r = this._readableState, w = this._writableState, s = w || r;\n if (w && w.destroyed || r && r.destroyed) {\n if (typeof cb === \"function\")\n cb();\n return this;\n }\n if (checkError(err, w, r), w)\n w.destroyed = !0;\n if (r)\n r.destroyed = !0;\n if (!s.constructed)\n this.once(kDestroy, (er) => {\n _destroy(this, aggregateTwoErrors(er, err), cb);\n });\n else\n _destroy(this, err, cb);\n return this;\n }\n function _destroy(self, err, cb) {\n let called = !1;\n function onDestroy(err2) {\n if (called)\n return;\n called = !0;\n const { _readableState: r, _writableState: w } = self;\n if (checkError(err2, w, r), w)\n w.closed = !0;\n if (r)\n r.closed = !0;\n if (typeof cb === \"function\")\n cb(err2);\n if (err2)\n runOnNextTick(emitErrorCloseNT, self, err2);\n else\n runOnNextTick(emitCloseNT, self);\n }\n try {\n self._destroy(err || null, onDestroy);\n } catch (err2) {\n onDestroy(err2);\n }\n }\n function emitErrorCloseNT(self, err) {\n emitErrorNT(self, err), emitCloseNT(self);\n }\n function emitCloseNT(self) {\n const { _readableState: r, _writableState: w } = self;\n if (w)\n w.closeEmitted = !0;\n if (r)\n r.closeEmitted = !0;\n if (w && w.emitClose || r && r.emitClose)\n self.emit(\"close\");\n }\n function emitErrorNT(self, err) {\n const r = self\?._readableState, w = self\?._writableState;\n if (w\?.errorEmitted || r\?.errorEmitted)\n return;\n if (w)\n w.errorEmitted = !0;\n if (r)\n r.errorEmitted = !0;\n self\?.emit\?.(\"error\", err);\n }\n function undestroy() {\n const r = this._readableState, w = this._writableState;\n if (r)\n r.constructed = !0, r.closed = !1, r.closeEmitted = !1, r.destroyed = !1, r.errored = null, r.errorEmitted = !1, r.reading = !1, r.ended = r.readable === !1, r.endEmitted = r.readable === !1;\n if (w)\n w.constructed = !0, w.destroyed = !1, w.closed = !1, w.closeEmitted = !1, w.errored = null, w.errorEmitted = !1, w.finalCalled = !1, w.prefinished = !1, w.ended = w.writable === !1, w.ending = w.writable === !1, w.finished = w.writable === !1;\n }\n function errorOrDestroy2(stream, err, sync) {\n const r = stream\?._readableState, w = stream\?._writableState;\n if (w && w.destroyed || r && r.destroyed)\n return this;\n if (r && r.autoDestroy || w && w.autoDestroy)\n stream.destroy(err);\n else if (err) {\n if (Error.captureStackTrace(err), w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n if (sync)\n runOnNextTick(emitErrorNT, stream, err);\n else\n emitErrorNT(stream, err);\n }\n }\n function construct(stream, cb) {\n if (typeof stream._construct !== \"function\")\n return;\n const { _readableState: r, _writableState: w } = stream;\n if (r)\n r.constructed = !1;\n if (w)\n w.constructed = !1;\n if (stream.once(kConstruct, cb), stream.listenerCount(kConstruct) > 1)\n return;\n runOnNextTick(constructNT, stream);\n }\n function constructNT(stream) {\n let called = !1;\n function onConstruct(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : new ERR_MULTIPLE_CALLBACK);\n return;\n }\n called = !0;\n const { _readableState: r, _writableState: w } = stream, s = w || r;\n if (r)\n r.constructed = !0;\n if (w)\n w.constructed = !0;\n if (s.destroyed)\n stream.emit(kDestroy, err);\n else if (err)\n errorOrDestroy2(stream, err, !0);\n else\n runOnNextTick(emitConstructNT, stream);\n }\n try {\n stream._construct(onConstruct);\n } catch (err) {\n onConstruct(err);\n }\n }\n function emitConstructNT(stream) {\n stream.emit(kConstruct);\n }\n function isRequest(stream) {\n return stream && stream.setHeader && typeof stream.abort === \"function\";\n }\n function emitCloseLegacy(stream) {\n stream.emit(\"close\");\n }\n function emitErrorCloseLegacy(stream, err) {\n stream.emit(\"error\", err), runOnNextTick(emitCloseLegacy, stream);\n }\n function destroyer(stream, err) {\n if (!stream || isDestroyed(stream))\n return;\n if (!err && !isFinished(stream))\n err = new AbortError2;\n if (isServerRequest(stream))\n stream.socket = null, stream.destroy(err);\n else if (isRequest(stream))\n stream.abort();\n else if (isRequest(stream.req))\n stream.req.abort();\n else if (typeof stream.destroy === \"function\")\n stream.destroy(err);\n else if (typeof stream.close === \"function\")\n stream.close();\n else if (err)\n runOnNextTick(emitErrorCloseLegacy, stream);\n else\n runOnNextTick(emitCloseLegacy, stream);\n if (!stream.destroyed)\n stream[kDestroyed] = !0;\n }\n module.exports = {\n construct,\n destroyer,\n destroy: destroy2,\n undestroy,\n errorOrDestroy: errorOrDestroy2\n };\n }\n}), require_legacy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/legacy.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, ObjectSetPrototypeOf } = require_primordials();\n function Stream(options) {\n if (!(this instanceof Stream))\n return new Stream(options);\n EE.@call(this, options);\n }\n Stream.prototype = {}, ObjectSetPrototypeOf(Stream.prototype, EE.prototype), ObjectSetPrototypeOf(Stream, EE), Stream.prototype.pipe = function(dest, options) {\n const source = this;\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === !1 && source.pause)\n source.pause();\n }\n source.on(\"data\", ondata);\n function ondrain() {\n if (source.readable && source.resume)\n source.resume();\n }\n if (dest.on(\"drain\", ondrain), !dest._isStdio && (!options || options.end !== !1))\n source.on(\"end\", onend), source.on(\"close\", onclose);\n let didOnEnd = !1;\n function onend() {\n if (didOnEnd)\n return;\n didOnEnd = !0, dest.end();\n }\n function onclose() {\n if (didOnEnd)\n return;\n if (didOnEnd = !0, typeof dest.destroy === \"function\")\n dest.destroy();\n }\n function onerror(er) {\n if (cleanup(), EE.listenerCount(this, \"error\") === 0)\n this.emit(\"error\", er);\n }\n prependListener(source, \"error\", onerror), prependListener(dest, \"error\", onerror);\n function cleanup() {\n source.removeListener(\"data\", ondata), dest.removeListener(\"drain\", ondrain), source.removeListener(\"end\", onend), source.removeListener(\"close\", onclose), source.removeListener(\"error\", onerror), dest.removeListener(\"error\", onerror), source.removeListener(\"end\", cleanup), source.removeListener(\"close\", cleanup), dest.removeListener(\"close\", cleanup);\n }\n return source.on(\"end\", cleanup), source.on(\"close\", cleanup), dest.on(\"close\", cleanup), dest.emit(\"pipe\", source), dest;\n };\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === \"function\")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (ArrayIsArray2(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n module.exports = {\n Stream,\n prependListener\n };\n }\n}), require_add_abort_signal = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), eos = require_end_of_stream(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes, validateAbortSignal = (signal, name) => {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n };\n function isNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\");\n }\n module.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n if (validateAbortSignal(signal, \"signal\"), !isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"stream.Stream\", stream);\n return module.exports.addAbortSignalNoValidate(signal, stream);\n }, module.exports.addAbortSignalNoValidate = function(signal, stream) {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n return stream;\n const onAbort = () => {\n stream.destroy(new AbortError2(void 0, {\n cause: signal.reason\n }));\n };\n if (signal.aborted)\n onAbort();\n else\n signal.addEventListener(\"abort\", onAbort), eos(stream, () => signal.removeEventListener(\"abort\", onAbort));\n return stream;\n };\n }\n}), require_state = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/state.js\"(exports, module) {\n var { MathFloor, NumberIsInteger } = require_primordials(), { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2 } = require_errors().codes;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null \? options.highWaterMark : isDuplex \? options[duplexKey] : null;\n }\n function getDefaultHighWaterMark(objectMode) {\n return objectMode \? 16 : 16384;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex \? `options.${duplexKey}` : \"options.highWaterMark\";\n throw new ERR_INVALID_ARG_VALUE2(name, hwm);\n }\n return MathFloor(hwm);\n }\n return getDefaultHighWaterMark(state.objectMode);\n }\n module.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark\n };\n }\n}), require_from = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/from.js\"(exports, module) {\n var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors().codes;\n function from(Readable, iterable, opts) {\n let iterator;\n if (typeof iterable === \"string\" || iterable instanceof @Buffer)\n return new Readable({\n objectMode: !0,\n ...opts,\n read() {\n this.push(iterable), this.push(null);\n }\n });\n let isAsync;\n if (iterable && iterable[SymbolAsyncIterator])\n isAsync = !0, iterator = iterable[SymbolAsyncIterator]();\n else if (iterable && iterable[SymbolIterator])\n isAsync = !1, iterator = iterable[SymbolIterator]();\n else\n throw new ERR_INVALID_ARG_TYPE2(\"iterable\", [\"Iterable\"], iterable);\n const readable = new Readable({\n objectMode: !0,\n highWaterMark: 1,\n ...opts\n });\n let reading = !1;\n readable._read = function() {\n if (!reading)\n reading = !0, next();\n }, readable._destroy = function(error, cb) {\n PromisePrototypeThen(close(error), () => runOnNextTick(cb, error), (e) => runOnNextTick(cb, e || error));\n };\n async function close(error) {\n const hadError = error !== void 0 && error !== null, hasThrow = typeof iterator.throw === \"function\";\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error);\n if (await value, done)\n return;\n }\n if (typeof iterator.return === \"function\") {\n const { value } = await iterator.return();\n await value;\n }\n }\n async function next() {\n for (;; ) {\n try {\n const { value, done } = isAsync \? await iterator.next() : iterator.next();\n if (done)\n readable.push(null);\n else {\n const res = value && typeof value.then === \"function\" \? await value : value;\n if (res === null)\n throw reading = !1, new ERR_STREAM_NULL_VALUES;\n else if (readable.push(res))\n continue;\n else\n reading = !1;\n }\n } catch (err) {\n readable.destroy(err);\n }\n break;\n }\n }\n return readable;\n }\n module.exports = from;\n }\n}), _ReadableFromWeb, _ReadableFromWebForUndici, require_readable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/readable.js\"(exports, module) {\n var {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise: Promise2,\n SafeSet,\n SymbolAsyncIterator,\n Symbol: Symbol2\n } = require_primordials(), ReadableState = @lazy(\"bun:stream\").ReadableState, { Stream, prependListener } = require_legacy();\n function Readable(options) {\n if (!(this instanceof Readable))\n return new Readable(options);\n const isDuplex = this instanceof require_duplex();\n if (this._readableState = new ReadableState(options, this, isDuplex), options) {\n const { read, destroy: destroy2, construct, signal } = options;\n if (typeof read === \"function\")\n this._read = read;\n if (typeof destroy2 === \"function\")\n this._destroy = destroy2;\n if (typeof construct === \"function\")\n this._construct = construct;\n if (signal && !isDuplex)\n addAbortSignal(signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n if (this._readableState.needReadable)\n maybeReadMore(this, this._readableState);\n });\n }\n Readable.prototype = {}, ObjectSetPrototypeOf(Readable.prototype, Stream.prototype), ObjectSetPrototypeOf(Readable, Stream), Readable.prototype.on = function(ev, fn) {\n const res = Stream.prototype.on.@call(this, ev, fn), state = this._readableState;\n if (ev === \"data\") {\n if (state.readableListening = this.listenerCount(\"readable\") > 0, state.flowing !== !1)\n this.resume();\n } else if (ev === \"readable\") {\n if (!state.endEmitted && !state.readableListening) {\n if (state.readableListening = state.needReadable = !0, state.flowing = !1, state.emittedReadable = !1, state.length)\n emitReadable(this, state);\n else if (!state.reading)\n runOnNextTick(nReadingNextTick, this);\n } else if (state.endEmitted)\n ;\n }\n return res;\n };\n\n class ReadableFromWeb extends Readable {\n #reader;\n #closed;\n #pendingChunks;\n #stream;\n constructor(options, stream) {\n const { objectMode, highWaterMark, encoding, signal } = options;\n super({\n objectMode,\n highWaterMark,\n encoding,\n signal\n });\n this.#pendingChunks = [], this.#reader = @undefined, this.#stream = stream, this.#closed = !1;\n }\n #drainPending() {\n var pendingChunks = this.#pendingChunks, pendingChunksI = 0, pendingChunksCount = pendingChunks.length;\n for (;pendingChunksI < pendingChunksCount; pendingChunksI++) {\n const chunk = pendingChunks[pendingChunksI];\n if (pendingChunks[pendingChunksI] = @undefined, !this.push(chunk, @undefined))\n return this.#pendingChunks = pendingChunks.slice(pendingChunksI + 1), !0;\n }\n if (pendingChunksCount > 0)\n this.#pendingChunks = [];\n return !1;\n }\n #handleDone(reader) {\n reader.releaseLock(), this.#reader = @undefined, this.#closed = !0, this.push(null);\n return;\n }\n async _read() {\n var stream = this.#stream, reader = this.#reader;\n if (stream)\n reader = this.#reader = stream.getReader(), this.#stream = @undefined;\n else if (this.#drainPending())\n return;\n var deferredError;\n try {\n do {\n var done = !1, value;\n const firstResult = reader.readMany();\n if (@isPromise(firstResult)) {\n if ({ done, value } = await firstResult, this.#closed) {\n this.#pendingChunks.push(...value);\n return;\n }\n } else\n ({ done, value } = firstResult);\n if (done) {\n this.#handleDone(reader);\n return;\n }\n if (!this.push(value[0])) {\n this.#pendingChunks = value.slice(1);\n return;\n }\n for (let i = 1, count = value.length;i < count; i++)\n if (!this.push(value[i])) {\n this.#pendingChunks = value.slice(i + 1);\n return;\n }\n } while (!this.#closed);\n } catch (e) {\n deferredError = e;\n } finally {\n if (deferredError)\n throw deferredError;\n }\n }\n _destroy(error, callback) {\n if (!this.#closed) {\n var reader = this.#reader;\n if (reader)\n this.#reader = @undefined, reader.cancel(error).finally(() => {\n this.#closed = !0, callback(error);\n });\n return;\n }\n try {\n callback(error);\n } catch (error2) {\n globalThis.reportError(error2);\n }\n }\n }\n _ReadableFromWebForUndici = ReadableFromWeb;\n function newStreamReadableFromReadableStream(readableStream, options = {}) {\n if (!isReadableStream(readableStream))\n throw new ERR_INVALID_ARG_TYPE2(\"readableStream\", \"ReadableStream\", readableStream);\n validateObject(options, \"options\");\n const {\n highWaterMark,\n encoding,\n objectMode = !1,\n signal\n } = options;\n if (encoding !== @undefined && !@Buffer.isEncoding(encoding))\n throw new ERR_INVALID_ARG_VALUE(encoding, \"options.encoding\");\n return validateBoolean(objectMode, \"options.objectMode\"), getNativeReadableStream(Readable, readableStream, options) || new ReadableFromWeb({\n highWaterMark,\n encoding,\n objectMode,\n signal\n }, readableStream);\n }\n module.exports = Readable, _ReadableFromWeb = newStreamReadableFromReadableStream;\n var { addAbortSignal } = require_add_abort_signal(), eos = require_end_of_stream();\n const { maybeReadMore: _maybeReadMore, resume, emitReadable: _emitReadable, onEofChunk } = @lazy(\"bun:stream\");\n function maybeReadMore(stream, state) {\n process.nextTick(_maybeReadMore, stream, state);\n }\n function emitReadable(stream, state) {\n _emitReadable(stream, state);\n }\n var destroyImpl = require_destroy(), {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n }\n } = require_errors(), { validateObject } = require_validators(), from = require_from(), nop = () => {\n }, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n Readable.prototype.destroy = destroyImpl.destroy, Readable.prototype._undestroy = destroyImpl.undestroy, Readable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Readable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n }, Readable.prototype.push = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !1);\n }, Readable.prototype.unshift = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !0);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront) {\n const state = stream._readableState;\n let err;\n if (!state.objectMode) {\n if (typeof chunk === \"string\") {\n if (encoding = encoding || state.defaultEncoding, state.encoding !== encoding)\n if (addToFront && state.encoding)\n chunk = @Buffer.from(chunk, encoding).toString(state.encoding);\n else\n chunk = @Buffer.from(chunk, encoding), encoding = \"\";\n } else if (chunk instanceof @Buffer)\n encoding = \"\";\n else if (Stream._isUint8Array(chunk)) {\n if (addToFront || !state.decoder)\n chunk = Stream._uint8ArrayToBuffer(chunk);\n encoding = \"\";\n } else if (chunk != null)\n err = new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n }\n if (err)\n errorOrDestroy2(stream, err);\n else if (chunk === null)\n state.reading = !1, onEofChunk(stream, state);\n else if (state.objectMode || chunk && chunk.length > 0)\n if (addToFront)\n if (state.endEmitted)\n errorOrDestroy2(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);\n else if (state.destroyed || state.errored)\n return !1;\n else\n addChunk(stream, state, chunk, !0);\n else if (state.ended)\n errorOrDestroy2(stream, new ERR_STREAM_PUSH_AFTER_EOF);\n else if (state.destroyed || state.errored)\n return !1;\n else if (state.reading = !1, state.decoder && !encoding)\n if (chunk = state.decoder.write(chunk), state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, !1);\n else\n maybeReadMore(stream, state);\n else\n addChunk(stream, state, chunk, !1);\n else if (!addToFront)\n state.reading = !1, maybeReadMore(stream, state);\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount(\"data\") > 0) {\n if (state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n state.dataEmitted = !0, stream.emit(\"data\", chunk);\n } else {\n if (state.length += state.objectMode \? 1 : chunk.length, addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream, state);\n }\n maybeReadMore(stream, state);\n }\n Readable.prototype.isPaused = function() {\n const state = this._readableState;\n return state.paused === !0 || state.flowing === !1;\n }, Readable.prototype.setEncoding = function(enc) {\n const decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder, this._readableState.encoding = this._readableState.decoder.encoding;\n const buffer = this._readableState.buffer;\n let content = \"\";\n for (let i = buffer.length;i > 0; i--)\n content += decoder.write(buffer.shift());\n if (content !== \"\")\n buffer.push(content);\n return this._readableState.length = content.length, this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n > MAX_HWM)\n throw new ERR_OUT_OF_RANGE(\"size\", \"<= 1GiB\", n);\n else\n n--, n |= n >>> 1, n |= n >>> 2, n |= n >>> 4, n |= n >>> 8, n |= n >>> 16, n++;\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (NumberIsNaN(n)) {\n if (state.flowing && state.length)\n return state.buffer.first().length;\n return state.length;\n }\n if (n <= state.length)\n return n;\n return state.ended \? state.length : 0;\n }\n Readable.prototype.read = function(n) {\n if (!NumberIsInteger(n))\n n = NumberParseInt(n, 10);\n const state = this._readableState, nOrig = n;\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n !== 0)\n state.emittedReadable = !1;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 \? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this, state);\n return null;\n }\n if (n = howMuchToRead(n, state), n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n let doRead = state.needReadable;\n if (state.length === 0 || state.length - n < state.highWaterMark)\n doRead = !0;\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed)\n doRead = !1;\n else if (doRead) {\n if (state.reading = !0, state.sync = !0, state.length === 0)\n state.needReadable = !0;\n try {\n var result = this._read(state.highWaterMark);\n if (@isPromise(result)) {\n const peeked = Bun.peek(result);\n if (peeked !== result)\n result = peeked;\n }\n if (@isPromise(result) && result\?.then && @isCallable(result.then))\n result.then(nop, function(err) {\n errorOrDestroy2(this, err);\n });\n } catch (err) {\n errorOrDestroy2(this, err);\n }\n if (state.sync = !1, !state.reading)\n n = howMuchToRead(nOrig, state);\n }\n let ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null)\n state.needReadable = state.length <= state.highWaterMark, n = 0;\n else if (state.length -= n, state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = !0;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted)\n state.dataEmitted = !0, this.emit(\"data\", ret);\n return ret;\n }, Readable.prototype._read = function(n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\");\n }, Readable.prototype.pipe = function(dest, pipeOpts) {\n const src = this, state = this._readableState;\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain)\n state.multiAwaitDrain = !0, state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters \? [state.awaitDrainWriters] : []);\n }\n state.pipes.push(dest);\n const endFn = (!pipeOpts || pipeOpts.end !== !1) && dest !== process.stdout && dest !== process.stderr \? onend : unpipe;\n if (state.endEmitted)\n runOnNextTick(endFn);\n else\n src.once(\"end\", endFn);\n dest.on(\"unpipe\", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === !1)\n unpipeInfo.hasUnpiped = !0, cleanup();\n }\n }\n function onend() {\n dest.end();\n }\n let ondrain, cleanedUp = !1;\n function cleanup() {\n if (dest.removeListener(\"close\", onclose), dest.removeListener(\"finish\", onfinish), ondrain)\n dest.removeListener(\"drain\", ondrain);\n if (dest.removeListener(\"error\", onerror), dest.removeListener(\"unpipe\", onunpipe), src.removeListener(\"end\", onend), src.removeListener(\"end\", unpipe), src.removeListener(\"data\", ondata), cleanedUp = !0, ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n function pause() {\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest)\n state.awaitDrainWriters = dest, state.multiAwaitDrain = !1;\n else if (state.pipes.length > 1 && state.pipes.includes(dest))\n state.awaitDrainWriters.add(dest);\n src.pause();\n }\n if (!ondrain)\n ondrain = pipeOnDrain(src, dest), dest.on(\"drain\", ondrain);\n }\n src.on(\"data\", ondata);\n function ondata(chunk) {\n if (dest.write(chunk) === !1)\n pause();\n }\n function onerror(er) {\n if (unpipe(), dest.removeListener(\"error\", onerror), dest.listenerCount(\"error\") === 0) {\n const s = dest._writableState || dest._readableState;\n if (s && !s.errorEmitted)\n errorOrDestroy2(dest, er);\n else\n dest.emit(\"error\", er);\n }\n }\n prependListener(dest, \"error\", onerror);\n function onclose() {\n dest.removeListener(\"finish\", onfinish), unpipe();\n }\n dest.once(\"close\", onclose);\n function onfinish() {\n dest.removeListener(\"close\", onclose), unpipe();\n }\n dest.once(\"finish\", onfinish);\n function unpipe() {\n src.unpipe(dest);\n }\n if (dest.emit(\"pipe\", src), dest.writableNeedDrain === !0) {\n if (state.flowing)\n pause();\n } else if (!state.flowing)\n src.resume();\n return dest;\n };\n function pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState;\n if (state.awaitDrainWriters === dest)\n state.awaitDrainWriters = null;\n else if (state.multiAwaitDrain)\n state.awaitDrainWriters.delete(dest);\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount(\"data\"))\n src.resume();\n };\n }\n Readable.prototype.unpipe = function(dest) {\n const state = this._readableState, unpipeInfo = {\n hasUnpiped: !1\n };\n if (state.pipes.length === 0)\n return this;\n if (!dest) {\n const dests = state.pipes;\n state.pipes = [], this.pause();\n for (let i = 0;i < dests.length; i++)\n dests[i].emit(\"unpipe\", this, {\n hasUnpiped: !1\n });\n return this;\n }\n const index = ArrayPrototypeIndexOf(state.pipes, dest);\n if (index === -1)\n return this;\n if (state.pipes.splice(index, 1), state.pipes.length === 0)\n this.pause();\n return dest.emit(\"unpipe\", this, unpipeInfo), this;\n }, Readable.prototype.addListener = Readable.prototype.on, Readable.prototype.removeListener = function(ev, fn) {\n const res = Stream.prototype.removeListener.@call(this, ev, fn);\n if (ev === \"readable\")\n runOnNextTick(updateReadableListening, this);\n return res;\n }, Readable.prototype.off = Readable.prototype.removeListener, Readable.prototype.removeAllListeners = function(ev) {\n const res = Stream.prototype.removeAllListeners.@apply(this, arguments);\n if (ev === \"readable\" || ev === void 0)\n runOnNextTick(updateReadableListening, this);\n return res;\n };\n function updateReadableListening(self) {\n const state = self._readableState;\n if (state.readableListening = self.listenerCount(\"readable\") > 0, state.resumeScheduled && state.paused === !1)\n state.flowing = !0;\n else if (self.listenerCount(\"data\") > 0)\n self.resume();\n else if (!state.readableListening)\n state.flowing = null;\n }\n function nReadingNextTick(self) {\n self.read(0);\n }\n Readable.prototype.resume = function() {\n const state = this._readableState;\n if (!state.flowing)\n state.flowing = !state.readableListening, resume(this, state);\n return state.paused = !1, this;\n }, Readable.prototype.pause = function() {\n if (this._readableState.flowing !== !1)\n this._readableState.flowing = !1, this.emit(\"pause\");\n return this._readableState.paused = !0, this;\n }, Readable.prototype.wrap = function(stream) {\n let paused = !1;\n stream.on(\"data\", (chunk) => {\n if (!this.push(chunk) && stream.pause)\n paused = !0, stream.pause();\n }), stream.on(\"end\", () => {\n this.push(null);\n }), stream.on(\"error\", (err) => {\n errorOrDestroy2(this, err);\n }), stream.on(\"close\", () => {\n this.destroy();\n }), stream.on(\"destroy\", () => {\n this.destroy();\n }), this._read = () => {\n if (paused && stream.resume)\n paused = !1, stream.resume();\n };\n const streamKeys = ObjectKeys(stream);\n for (let j = 1;j < streamKeys.length; j++) {\n const i = streamKeys[j];\n if (this[i] === void 0 && typeof stream[i] === \"function\")\n this[i] = stream[i].bind(stream);\n }\n return this;\n }, Readable.prototype[SymbolAsyncIterator] = function() {\n return streamToAsyncIterator(this);\n }, Readable.prototype.iterator = function(options) {\n if (options !== void 0)\n validateObject(options, \"options\");\n return streamToAsyncIterator(this, options);\n };\n function streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== \"function\")\n stream = Readable.wrap(stream, {\n objectMode: !0\n });\n const iter = createAsyncIterator(stream, options);\n return iter.stream = stream, iter;\n }\n async function* createAsyncIterator(stream, options) {\n let callback = nop;\n function next(resolve) {\n if (this === stream)\n callback(), callback = nop;\n else\n callback = resolve;\n }\n stream.on(\"readable\", next);\n let error;\n const cleanup = eos(stream, {\n writable: !1\n }, (err) => {\n error = err \? aggregateTwoErrors(error, err) : null, callback(), callback = nop;\n });\n try {\n while (!0) {\n const chunk = stream.destroyed \? null : stream.read();\n if (chunk !== null)\n yield chunk;\n else if (error)\n throw error;\n else if (error === null)\n return;\n else\n await new Promise2(next);\n }\n } catch (err) {\n throw error = aggregateTwoErrors(error, err), error;\n } finally {\n if ((error || (options === null || options === void 0 \? void 0 : options.destroyOnReturn) !== !1) && (error === void 0 || stream._readableState.autoDestroy))\n destroyImpl.destroyer(stream, null);\n else\n stream.off(\"readable\", next), cleanup();\n }\n }\n ObjectDefineProperties(Readable.prototype, {\n readable: {\n get() {\n const r = this._readableState;\n return !!r && r.readable !== !1 && !r.destroyed && !r.errorEmitted && !r.endEmitted;\n },\n set(val) {\n if (this._readableState)\n this._readableState.readable = !!val;\n }\n },\n readableDidRead: {\n enumerable: !1,\n get: function() {\n return this._readableState.dataEmitted;\n }\n },\n readableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._readableState.readable !== !1 && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);\n }\n },\n readableHighWaterMark: {\n enumerable: !1,\n get: function() {\n return this._readableState.highWaterMark;\n }\n },\n readableBuffer: {\n enumerable: !1,\n get: function() {\n return this._readableState && this._readableState.buffer;\n }\n },\n readableFlowing: {\n enumerable: !1,\n get: function() {\n return this._readableState.flowing;\n },\n set: function(state) {\n if (this._readableState)\n this._readableState.flowing = state;\n }\n },\n readableLength: {\n enumerable: !1,\n get() {\n return this._readableState.length;\n }\n },\n readableObjectMode: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.objectMode : !1;\n }\n },\n readableEncoding: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.encoding : null;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.errored : null;\n }\n },\n closed: {\n get() {\n return this._readableState \? this._readableState.closed : !1;\n }\n },\n destroyed: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.destroyed : !1;\n },\n set(value) {\n if (!this._readableState)\n return;\n this._readableState.destroyed = value;\n }\n },\n readableEnded: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.endEmitted : !1;\n }\n }\n }), Readable._fromList = fromList;\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n let ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join(\"\");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else\n ret = state.buffer.consume(n, state.decoder);\n return ret;\n }\n function endReadable(stream) {\n const state = stream._readableState;\n if (!state.endEmitted)\n state.ended = !0, runOnNextTick(endReadableNT, state, stream);\n }\n function endReadableNT(state, stream) {\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n if (state.endEmitted = !0, stream.emit(\"end\"), stream.writable && stream.allowHalfOpen === !1)\n runOnNextTick(endWritableNT, stream);\n else if (state.autoDestroy) {\n const wState = stream._writableState;\n if (!wState || wState.autoDestroy && (wState.finished || wState.writable === !1))\n stream.destroy();\n }\n }\n }\n function endWritableNT(stream) {\n if (stream.writable && !stream.writableEnded && !stream.destroyed)\n stream.end();\n }\n Readable.from = function(iterable, opts) {\n return from(Readable, iterable, opts);\n };\n var webStreamsAdapters = {\n newStreamReadableFromReadableStream,\n newReadableStreamFromStreamReadable(streamReadable, options = {}) {\n if (typeof streamReadable\?._readableState !== \"object\")\n throw new ERR_INVALID_ARG_TYPE2(\"streamReadable\", \"stream.Readable\", streamReadable);\n var { isDestroyed, isReadable } = require_utils();\n if (isDestroyed(streamReadable) || !isReadable(streamReadable)) {\n const readable = new @ReadableStream;\n return readable.cancel(), readable;\n }\n const { readableObjectMode: objectMode, readableHighWaterMark: highWaterMark } = streamReadable, strategy = ((strategy2) => {\n if (strategy2)\n return strategy2;\n if (objectMode)\n return new CountQueuingStrategy({ highWaterMark });\n return { highWaterMark };\n })(options\?.strategy);\n let controller;\n function onData(chunk) {\n if (controller.enqueue(chunk), controller.desiredSize <= 0)\n streamReadable.pause();\n }\n streamReadable.pause();\n const cleanup = eos(streamReadable, (error) => {\n if (error\?.code === \"ERR_STREAM_PREMATURE_CLOSE\")\n error = new AbortError(@undefined, { cause: error });\n if (cleanup(), streamReadable.on(\"error\", () => {\n }), error)\n return controller.error(error);\n controller.close();\n });\n return streamReadable.on(\"data\", onData), new @ReadableStream({\n start(c) {\n controller = c;\n },\n pull() {\n streamReadable.resume();\n },\n cancel(reason) {\n destroy(streamReadable, reason);\n }\n }, strategy);\n }\n };\n Readable.fromWeb = function(readableStream, options) {\n return webStreamsAdapters.newStreamReadableFromReadableStream(readableStream, options);\n }, Readable.toWeb = function(streamReadable, options) {\n return webStreamsAdapters.newReadableStreamFromStreamReadable(streamReadable, options);\n }, Readable.wrap = function(src, options) {\n var _ref, _src$readableObjectMo;\n return new Readable({\n objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 \? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 \? _ref : !0,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err), callback(err);\n }\n }).wrap(src);\n };\n }\n}), require_writable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/writable.js\"(exports, module) {\n var {\n ArrayPrototypeSlice,\n Error: Error2,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol: Symbol2,\n SymbolHasInstance\n } = require_primordials(), Stream = require_legacy().Stream, destroyImpl = require_destroy(), { addAbortSignal } = require_add_abort_signal(), { getHighWaterMark, getDefaultHighWaterMark } = require_state(), {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n } = require_errors().codes, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n function Writable(options = {}) {\n const isDuplex = this instanceof require_duplex();\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this))\n return new Writable(options);\n if (this._writableState = new WritableState(options, this, isDuplex), options) {\n if (typeof options.write === \"function\")\n this._write = options.write;\n if (typeof options.writev === \"function\")\n this._writev = options.writev;\n if (typeof options.destroy === \"function\")\n this._destroy = options.destroy;\n if (typeof options.final === \"function\")\n this._final = options.final;\n if (typeof options.construct === \"function\")\n this._construct = options.construct;\n if (options.signal)\n addAbortSignal(options.signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n const state = this._writableState;\n if (!state.writing)\n clearBuffer(this, state);\n finishMaybe(this, state);\n });\n }\n Writable.prototype = {}, ObjectSetPrototypeOf(Writable.prototype, Stream.prototype), ObjectSetPrototypeOf(Writable, Stream), module.exports = Writable;\n function nop() {\n }\n var kOnFinished = Symbol2(\"kOnFinished\");\n function WritableState(options, stream, isDuplex) {\n if (typeof isDuplex !== \"boolean\")\n isDuplex = stream instanceof require_duplex();\n if (this.objectMode = !!(options && options.objectMode), isDuplex)\n this.objectMode = this.objectMode || !!(options && options.writableObjectMode);\n this.highWaterMark = options \? getHighWaterMark(this, options, \"writableHighWaterMark\", isDuplex) : getDefaultHighWaterMark(!1), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;\n const noDecode = !!(options && options.decodeStrings === !1);\n this.decodeStrings = !noDecode, this.defaultEncoding = options && options.defaultEncoding || \"utf8\", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = onwrite.bind(void 0, stream), this.writecb = null, this.writelen = 0, this.afterWriteTickInfo = null, resetBuffer(this), this.pendingcb = 0, this.constructed = !0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !options || options.emitClose !== !1, this.autoDestroy = !options || options.autoDestroy !== !1, this.errored = null, this.closed = !1, this.closeEmitted = !1, this[kOnFinished] = [];\n }\n WritableState.prototype = {};\n function resetBuffer(state) {\n state.buffered = [], state.bufferedIndex = 0, state.allBuffers = !0, state.allNoop = !0;\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);\n }, ObjectDefineProperty(WritableState.prototype, \"bufferedRequestCount\", {\n get() {\n return this.buffered.length - this.bufferedIndex;\n }\n }), ObjectDefineProperty(Writable, SymbolHasInstance, {\n value: function(object) {\n if (FunctionPrototypeSymbolHasInstance(this, object))\n return !0;\n if (this !== Writable)\n return !1;\n return object && object._writableState instanceof WritableState;\n }\n }), Writable.prototype.pipe = function() {\n errorOrDestroy2(this, new ERR_STREAM_CANNOT_PIPE);\n };\n function _write(stream, chunk, encoding, cb) {\n const state = stream._writableState;\n if (typeof encoding === \"function\")\n cb = encoding, encoding = state.defaultEncoding;\n else {\n if (!encoding)\n encoding = state.defaultEncoding;\n else if (encoding !== \"buffer\" && !@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n if (typeof cb !== \"function\")\n cb = nop;\n }\n if (chunk === null)\n throw new ERR_STREAM_NULL_VALUES;\n else if (!state.objectMode)\n if (typeof chunk === \"string\") {\n if (state.decodeStrings !== !1)\n chunk = @Buffer.from(chunk, encoding), encoding = \"buffer\";\n } else if (chunk instanceof @Buffer)\n encoding = \"buffer\";\n else if (Stream._isUint8Array(chunk))\n chunk = Stream._uint8ArrayToBuffer(chunk), encoding = \"buffer\";\n else\n throw new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n let err;\n if (state.ending)\n err = new ERR_STREAM_WRITE_AFTER_END;\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"write\");\n if (err)\n return runOnNextTick(cb, err), errorOrDestroy2(stream, err, !0), err;\n return state.pendingcb++, writeOrBuffer(stream, state, chunk, encoding, cb);\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === !0;\n }, Writable.prototype.cork = function() {\n this._writableState.corked++;\n }, Writable.prototype.uncork = function() {\n const state = this._writableState;\n if (state.corked) {\n if (state.corked--, !state.writing)\n clearBuffer(this, state);\n }\n }, Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === \"string\")\n encoding = StringPrototypeToLowerCase(encoding);\n if (!@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n return this._writableState.defaultEncoding = encoding, this;\n };\n function writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode \? 1 : chunk.length;\n state.length += len;\n const ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = !0;\n if (state.writing || state.corked || state.errored || !state.constructed) {\n if (state.buffered.push({\n chunk,\n encoding,\n callback\n }), state.allBuffers && encoding !== \"buffer\")\n state.allBuffers = !1;\n if (state.allNoop && callback !== nop)\n state.allNoop = !1;\n } else\n state.writelen = len, state.writecb = callback, state.writing = !0, state.sync = !0, stream._write(chunk, encoding, state.onwrite), state.sync = !1;\n return ret && !state.errored && !state.destroyed;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n if (state.writelen = len, state.writecb = cb, state.writing = !0, state.sync = !0, state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED(\"write\"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = !1;\n }\n function onwriteError(stream, state, er, cb) {\n --state.pendingcb, cb(er), errorBuffer(state), errorOrDestroy2(stream, er);\n }\n function onwrite(stream, er) {\n const state = stream._writableState, sync = state.sync, cb = state.writecb;\n if (typeof cb !== \"function\") {\n errorOrDestroy2(stream, new ERR_MULTIPLE_CALLBACK);\n return;\n }\n if (state.writing = !1, state.writecb = null, state.length -= state.writelen, state.writelen = 0, er) {\n if (Error.captureStackTrace(er), !state.errored)\n state.errored = er;\n if (stream._readableState && !stream._readableState.errored)\n stream._readableState.errored = er;\n if (sync)\n runOnNextTick(onwriteError, stream, state, er, cb);\n else\n onwriteError(stream, state, er, cb);\n } else {\n if (state.buffered.length > state.bufferedIndex)\n clearBuffer(stream, state);\n if (sync)\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb)\n state.afterWriteTickInfo.count++;\n else\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }, runOnNextTick(afterWriteTick, state.afterWriteTickInfo);\n else\n afterWrite(stream, state, 1, cb);\n }\n }\n function afterWriteTick({ stream, state, count, cb }) {\n return state.afterWriteTickInfo = null, afterWrite(stream, state, count, cb);\n }\n function afterWrite(stream, state, count, cb) {\n if (!state.ending && !stream.destroyed && state.length === 0 && state.needDrain)\n state.needDrain = !1, stream.emit(\"drain\");\n while (count-- > 0)\n state.pendingcb--, cb();\n if (state.destroyed)\n errorBuffer(state);\n finishMaybe(stream, state);\n }\n function errorBuffer(state) {\n if (state.writing)\n return;\n for (let n = state.bufferedIndex;n < state.buffered.length; ++n) {\n var _state$errored;\n const { chunk, callback } = state.buffered[n], len = state.objectMode \? 1 : chunk.length;\n state.length -= len, callback((_state$errored = state.errored) !== null && _state$errored !== void 0 \? _state$errored : new ERR_STREAM_DESTROYED(\"write\"));\n }\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++) {\n var _state$errored2;\n onfinishCallbacks[i]((_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 \? _state$errored2 : new ERR_STREAM_DESTROYED(\"end\"));\n }\n resetBuffer(state);\n }\n function clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed)\n return;\n const { buffered, bufferedIndex, objectMode } = state, bufferedLength = buffered.length - bufferedIndex;\n if (!bufferedLength)\n return;\n let i = bufferedIndex;\n if (state.bufferProcessing = !0, bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1;\n const callback = state.allNoop \? nop : (err) => {\n for (let n = i;n < buffered.length; ++n)\n buffered[n].callback(err);\n }, chunks = state.allNoop && i === 0 \? buffered : ArrayPrototypeSlice(buffered, i);\n chunks.allBuffers = state.allBuffers, doWrite(stream, state, !0, state.length, chunks, \"\", callback), resetBuffer(state);\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i];\n buffered[i++] = null;\n const len = objectMode \? 1 : chunk.length;\n doWrite(stream, state, !1, len, chunk, encoding, callback);\n } while (i < buffered.length && !state.writing);\n if (i === buffered.length)\n resetBuffer(state);\n else if (i > 256)\n buffered.splice(0, i), state.bufferedIndex = 0;\n else\n state.bufferedIndex = i;\n }\n state.bufferProcessing = !1;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n if (this._writev)\n this._writev([\n {\n chunk,\n encoding\n }\n ], cb);\n else\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\");\n }, Writable.prototype._writev = null, Writable.prototype.end = function(chunk, encoding, cb, native = !1) {\n const state = this._writableState;\n if (typeof chunk === \"function\")\n cb = chunk, chunk = null, encoding = null;\n else if (typeof encoding === \"function\")\n cb = encoding, encoding = null;\n let err;\n if (chunk !== null && chunk !== void 0) {\n let ret;\n if (!native)\n ret = _write(this, chunk, encoding);\n else\n ret = this.write(chunk, encoding);\n if (ret instanceof Error2)\n err = ret;\n }\n if (state.corked)\n state.corked = 1, this.uncork();\n if (err)\n this.emit(\"error\", err);\n else if (!state.errored && !state.ending)\n state.ending = !0, finishMaybe(this, state, !0), state.ended = !0;\n else if (state.finished)\n err = new ERR_STREAM_ALREADY_FINISHED(\"end\");\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"end\");\n if (typeof cb === \"function\")\n if (err || state.finished)\n runOnNextTick(cb, err);\n else\n state[kOnFinished].push(cb);\n return this;\n };\n function needFinish(state, tag) {\n var needFinish2 = state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;\n return needFinish2;\n }\n function callFinal(stream, state) {\n let called = !1;\n function onFinish(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : ERR_MULTIPLE_CALLBACK());\n return;\n }\n if (called = !0, state.pendingcb--, err) {\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i](err);\n errorOrDestroy2(stream, err, state.sync);\n } else if (needFinish(state))\n state.prefinished = !0, stream.emit(\"prefinish\"), state.pendingcb++, runOnNextTick(finish, stream, state);\n }\n state.sync = !0, state.pendingcb++;\n try {\n stream._final(onFinish);\n } catch (err) {\n onFinish(err);\n }\n state.sync = !1;\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled)\n if (typeof stream._final === \"function\" && !state.destroyed)\n state.finalCalled = !0, callFinal(stream, state);\n else\n state.prefinished = !0, stream.emit(\"prefinish\");\n }\n function finishMaybe(stream, state, sync) {\n if (!needFinish(state, stream.__id))\n return;\n if (prefinish(stream, state), state.pendingcb === 0) {\n if (sync)\n state.pendingcb++, runOnNextTick((stream2, state2) => {\n if (needFinish(state2))\n finish(stream2, state2);\n else\n state2.pendingcb--;\n }, stream, state);\n else if (needFinish(state))\n state.pendingcb++, finish(stream, state);\n }\n }\n function finish(stream, state) {\n state.pendingcb--, state.finished = !0;\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i]();\n if (stream.emit(\"finish\"), state.autoDestroy) {\n const rState = stream._readableState;\n if (!rState || rState.autoDestroy && (rState.endEmitted || rState.readable === !1))\n stream.destroy();\n }\n }\n ObjectDefineProperties(Writable.prototype, {\n closed: {\n get() {\n return this._writableState \? this._writableState.closed : !1;\n }\n },\n destroyed: {\n get() {\n return this._writableState \? this._writableState.destroyed : !1;\n },\n set(value) {\n if (this._writableState)\n this._writableState.destroyed = value;\n }\n },\n writable: {\n get() {\n const w = this._writableState;\n return !!w && w.writable !== !1 && !w.destroyed && !w.errored && !w.ending && !w.ended;\n },\n set(val) {\n if (this._writableState)\n this._writableState.writable = !!val;\n }\n },\n writableFinished: {\n get() {\n return this._writableState \? this._writableState.finished : !1;\n }\n },\n writableObjectMode: {\n get() {\n return this._writableState \? this._writableState.objectMode : !1;\n }\n },\n writableBuffer: {\n get() {\n return this._writableState && this._writableState.getBuffer();\n }\n },\n writableEnded: {\n get() {\n return this._writableState \? this._writableState.ending : !1;\n }\n },\n writableNeedDrain: {\n get() {\n const wState = this._writableState;\n if (!wState)\n return !1;\n return !wState.destroyed && !wState.ending && wState.needDrain;\n }\n },\n writableHighWaterMark: {\n get() {\n return this._writableState && this._writableState.highWaterMark;\n }\n },\n writableCorked: {\n get() {\n return this._writableState \? this._writableState.corked : 0;\n }\n },\n writableLength: {\n get() {\n return this._writableState && this._writableState.length;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._writableState \? this._writableState.errored : null;\n }\n },\n writableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._writableState.writable !== !1 && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);\n }\n }\n });\n var destroy2 = destroyImpl.destroy;\n Writable.prototype.destroy = function(err, cb) {\n const state = this._writableState;\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length))\n runOnNextTick(errorBuffer, state);\n return destroy2.@call(this, err, cb), this;\n }, Writable.prototype._undestroy = destroyImpl.undestroy, Writable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Writable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n };\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Writable.fromWeb = function(writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);\n }, Writable.toWeb = function(streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);\n };\n }\n}), require_duplexify = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplexify.js\"(exports, module) {\n var {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream\n } = require_utils(), eos = require_end_of_stream(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }\n } = require_errors(), { destroyer } = require_destroy(), Duplex = require_duplex(), Readable = require_readable(), { createDeferredPromise } = require_util(), from = require_from(), isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, { FunctionPrototypeCall } = require_primordials();\n\n class Duplexify extends Duplex {\n constructor(options) {\n super(options);\n if ((options === null || options === @undefined \? @undefined : options.readable) === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if ((options === null || options === @undefined \? @undefined : options.writable) === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n }\n }\n module.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body))\n return body;\n if (isReadableNodeStream(body))\n return _duplexify({\n readable: body\n });\n if (isWritableNodeStream(body))\n return _duplexify({\n writable: body\n });\n if (isNodeStream(body))\n return _duplexify({\n writable: !1,\n readable: !1\n });\n if (typeof body === \"function\") {\n const { value, write, final, destroy: destroy2 } = fromAsyncGen(body);\n if (isIterable(value))\n return from(Duplexify, value, {\n objectMode: !0,\n write,\n final,\n destroy: destroy2\n });\n const then2 = value === null || value === void 0 \? void 0 : value.then;\n if (typeof then2 === \"function\") {\n let d;\n const promise = FunctionPrototypeCall(then2, value, (val) => {\n if (val != null)\n throw new ERR_INVALID_RETURN_VALUE(\"nully\", \"body\", val);\n }, (err) => {\n destroyer(d, err);\n });\n return d = new Duplexify({\n objectMode: !0,\n readable: !1,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise, runOnNextTick(cb, null);\n } catch (err) {\n runOnNextTick(cb, err);\n }\n });\n },\n destroy: destroy2\n });\n }\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\", name, value);\n }\n if (isBlob(body))\n return duplexify(body.arrayBuffer());\n if (isIterable(body))\n return from(Duplexify, body, {\n objectMode: !0,\n writable: !1\n });\n if (typeof (body === null || body === void 0 \? void 0 : body.writable) === \"object\" || typeof (body === null || body === void 0 \? void 0 : body.readable) === \"object\") {\n const readable = body !== null && body !== void 0 && body.readable \? isReadableNodeStream(body === null || body === void 0 \? void 0 : body.readable) \? body === null || body === void 0 \? void 0 : body.readable : duplexify(body.readable) : void 0, writable = body !== null && body !== void 0 && body.writable \? isWritableNodeStream(body === null || body === void 0 \? void 0 : body.writable) \? body === null || body === void 0 \? void 0 : body.writable : duplexify(body.writable) : void 0;\n return _duplexify({\n readable,\n writable\n });\n }\n const then = body === null || body === void 0 \? void 0 : body.then;\n if (typeof then === \"function\") {\n let d;\n return FunctionPrototypeCall(then, body, (val) => {\n if (val != null)\n d.push(val);\n d.push(null);\n }, (err) => {\n destroyer(d, err);\n }), d = new Duplexify({\n objectMode: !0,\n writable: !1,\n read() {\n }\n });\n }\n throw new ERR_INVALID_ARG_TYPE2(name, [\n \"Blob\",\n \"ReadableStream\",\n \"WritableStream\",\n \"Stream\",\n \"Iterable\",\n \"AsyncIterable\",\n \"Function\",\n \"{ readable, writable } pair\",\n \"Promise\"\n ], body);\n };\n function fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise();\n const ac = new AbortController, signal = ac.signal;\n return {\n value: fn(async function* () {\n while (!0) {\n const _promise = promise;\n promise = null;\n const { chunk, done, cb } = await _promise;\n if (runOnNextTick(cb), done)\n return;\n if (signal.aborted)\n throw new AbortError2(void 0, {\n cause: signal.reason\n });\n ({ promise, resolve } = createDeferredPromise()), yield chunk;\n }\n }(), {\n signal\n }),\n write(chunk, encoding, cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n chunk,\n done: !1,\n cb\n });\n },\n final(cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n done: !0,\n cb\n });\n },\n destroy(err, cb) {\n ac.abort(), cb(err);\n }\n };\n }\n function _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== \"function\" \? Readable.wrap(pair.readable) : pair.readable, w = pair.writable;\n let readable = !!isReadable(r), writable = !!isWritable(w), ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n if (d = new Duplexify({\n readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),\n readable,\n writable\n }), writable)\n eos(w, (err) => {\n if (writable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), d._write = function(chunk, encoding, callback) {\n if (w.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n w.end(), onfinish = callback;\n }, w.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), w.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n eos(r, (err) => {\n if (readable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), r.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), r.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = r.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(w, err), destroyer(r, err);\n }, d;\n }\n }\n}), require_duplex = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplex.js\"(exports, module) {\n var { ObjectDefineProperties, ObjectGetOwnPropertyDescriptor, ObjectKeys, ObjectSetPrototypeOf } = require_primordials(), Readable = require_readable();\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n if (Readable.@call(this, options), Writable.@call(this, options), options) {\n if (this.allowHalfOpen = options.allowHalfOpen !== !1, options.readable === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if (options.writable === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n } else\n this.allowHalfOpen = !0;\n }\n Duplex.prototype = {}, module.exports = Duplex, ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype), ObjectSetPrototypeOf(Duplex, Readable);\n for (var method in Writable.prototype)\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n ObjectDefineProperties(Duplex.prototype, {\n writable: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writable\"),\n writableHighWaterMark: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableHighWaterMark\"),\n writableObjectMode: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableObjectMode\"),\n writableBuffer: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableBuffer\"),\n writableLength: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableLength\"),\n writableFinished: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableFinished\"),\n writableCorked: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableCorked\"),\n writableEnded: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableEnded\"),\n writableNeedDrain: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableNeedDrain\"),\n destroyed: {\n get() {\n if (this._readableState === void 0 || this._writableState === void 0)\n return !1;\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set(value) {\n if (this._readableState && this._writableState)\n this._readableState.destroyed = value, this._writableState.destroyed = value;\n }\n }\n });\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Duplex.fromWeb = function(pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);\n }, Duplex.toWeb = function(duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);\n };\n var duplexify;\n Duplex.from = function(body) {\n if (!duplexify)\n duplexify = require_duplexify();\n return duplexify(body, \"body\");\n };\n }\n}), require_transform = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/transform.js\"(exports, module) {\n var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials(), { ERR_METHOD_NOT_IMPLEMENTED } = require_errors().codes, Duplex = require_duplex();\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n if (Duplex.@call(this, options), this._readableState.sync = !1, this[kCallback] = null, options) {\n if (typeof options.transform === \"function\")\n this._transform = options.transform;\n if (typeof options.flush === \"function\")\n this._flush = options.flush;\n }\n this.on(\"prefinish\", prefinish.bind(this));\n }\n Transform.prototype = {}, ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype), ObjectSetPrototypeOf(Transform, Duplex), module.exports = Transform;\n var kCallback = Symbol2(\"kCallback\");\n function final(cb) {\n if (typeof this._flush === \"function\" && !this.destroyed)\n this._flush((er, data) => {\n if (er) {\n if (cb)\n cb(er);\n else\n this.destroy(er);\n return;\n }\n if (data != null)\n this.push(data);\n if (this.push(null), cb)\n cb();\n });\n else if (this.push(null), cb)\n cb();\n }\n function prefinish() {\n if (this._final !== final)\n final.@call(this);\n }\n Transform.prototype._final = final, Transform.prototype._transform = function(chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\");\n }, Transform.prototype._write = function(chunk, encoding, callback) {\n const rState = this._readableState, wState = this._writableState, length = rState.length;\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err);\n return;\n }\n if (val != null)\n this.push(val);\n if (wState.ended || length === rState.length || rState.length < rState.highWaterMark || rState.highWaterMark === 0 || rState.length === 0)\n callback();\n else\n this[kCallback] = callback;\n });\n }, Transform.prototype._read = function() {\n if (this[kCallback]) {\n const callback = this[kCallback];\n this[kCallback] = null, callback();\n }\n };\n }\n}), require_passthrough = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/passthrough.js\"(exports, module) {\n var { ObjectSetPrototypeOf } = require_primordials(), Transform = require_transform();\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.@call(this, options);\n }\n PassThrough.prototype = {}, ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype), ObjectSetPrototypeOf(PassThrough, Transform), PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n }, module.exports = PassThrough;\n }\n}), require_pipeline = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/pipeline.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, Promise: Promise2, SymbolAsyncIterator } = require_primordials(), eos = require_end_of_stream(), { once } = require_util(), destroyImpl = require_destroy(), Duplex = require_duplex(), {\n aggregateTwoErrors,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS, ERR_STREAM_DESTROYED },\n AbortError: AbortError2\n } = require_errors(), { validateFunction, validateAbortSignal } = require_validators(), { isIterable, isReadable, isReadableNodeStream, isNodeStream } = require_utils(), PassThrough, Readable;\n function destroyer(stream, reading, writing) {\n let finished = !1;\n stream.on(\"close\", () => {\n finished = !0;\n });\n const cleanup = eos(stream, {\n readable: reading,\n writable: writing\n }, (err) => {\n finished = !err;\n });\n return {\n destroy: (err) => {\n if (finished)\n return;\n finished = !0, destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED(\"pipe\"));\n },\n cleanup\n };\n }\n function popCallback(streams) {\n return validateFunction(streams[streams.length - 1], \"streams[stream.length - 1]\"), streams.pop();\n }\n function makeAsyncIterable(val) {\n if (isIterable(val))\n return val;\n else if (isReadableNodeStream(val))\n return fromReadable(val);\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], val);\n }\n async function* fromReadable(val) {\n if (!Readable)\n Readable = require_readable();\n yield* Readable.prototype[SymbolAsyncIterator].@call(val);\n }\n async function pump(iterable, writable, finish, { end }) {\n let error, onresolve = null;\n const resume = (err) => {\n if (err)\n error = err;\n if (onresolve) {\n const callback = onresolve;\n onresolve = null, callback();\n }\n }, wait = () => new Promise2((resolve, reject) => {\n if (error)\n reject(error);\n else\n onresolve = () => {\n if (error)\n reject(error);\n else\n resolve();\n };\n });\n writable.on(\"drain\", resume);\n const cleanup = eos(writable, {\n readable: !1\n }, resume);\n try {\n if (writable.writableNeedDrain)\n await wait();\n for await (let chunk of iterable)\n if (!writable.write(chunk))\n await wait();\n if (end)\n writable.end();\n await wait(), finish();\n } catch (err) {\n finish(error !== err \? aggregateTwoErrors(error, err) : err);\n } finally {\n cleanup(), writable.off(\"drain\", resume);\n }\n }\n function pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)));\n }\n function pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray2(streams[0]))\n streams = streams[0];\n if (streams.length < 2)\n throw new ERR_MISSING_ARGS(\"streams\");\n const ac = new AbortController, signal = ac.signal, outerSignal = opts === null || opts === void 0 \? void 0 : opts.signal, lastStreamCleanup = [];\n validateAbortSignal(outerSignal, \"options.signal\");\n function abort() {\n finishImpl(new AbortError2);\n }\n outerSignal === null || outerSignal === void 0 || outerSignal.addEventListener(\"abort\", abort);\n let error, value;\n const destroys = [];\n let finishCount = 0;\n function finish(err) {\n finishImpl(err, --finishCount === 0);\n }\n function finishImpl(err, final) {\n if (err && (!error || error.code === \"ERR_STREAM_PREMATURE_CLOSE\"))\n error = err;\n if (!error && !final)\n return;\n while (destroys.length)\n destroys.shift()(error);\n if (outerSignal === null || outerSignal === void 0 || outerSignal.removeEventListener(\"abort\", abort), ac.abort(), final) {\n if (!error)\n lastStreamCleanup.forEach((fn) => fn());\n runOnNextTick(callback, error, value);\n }\n }\n let ret;\n for (let i = 0;i < streams.length; i++) {\n const stream = streams[i], reading = i < streams.length - 1, writing = i > 0, end = reading || (opts === null || opts === void 0 \? void 0 : opts.end) !== !1, isLastStream = i === streams.length - 1;\n if (isNodeStream(stream)) {\n let onError = function(err) {\n if (err && err.name !== \"AbortError\" && err.code !== \"ERR_STREAM_PREMATURE_CLOSE\")\n finish(err);\n };\n if (end) {\n const { destroy: destroy2, cleanup } = destroyer(stream, reading, writing);\n if (destroys.push(destroy2), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n if (stream.on(\"error\", onError), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(() => {\n stream.removeListener(\"error\", onError);\n });\n }\n if (i === 0)\n if (typeof stream === \"function\") {\n if (ret = stream({\n signal\n }), !isIterable(ret))\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\", \"source\", ret);\n } else if (isIterable(stream) || isReadableNodeStream(stream))\n ret = stream;\n else\n ret = Duplex.from(stream);\n else if (typeof stream === \"function\")\n if (ret = makeAsyncIterable(ret), ret = stream(ret, {\n signal\n }), reading) {\n if (!isIterable(ret, !0))\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\", `transform[${i - 1}]`, ret);\n } else {\n var _ret;\n if (!PassThrough)\n PassThrough = require_passthrough();\n const pt = new PassThrough({\n objectMode: !0\n }), then = (_ret = ret) === null || _ret === void 0 \? void 0 : _ret.then;\n if (typeof then === \"function\")\n finishCount++, then.@call(ret, (val) => {\n if (value = val, val != null)\n pt.write(val);\n if (end)\n pt.end();\n runOnNextTick(finish);\n }, (err) => {\n pt.destroy(err), runOnNextTick(finish, err);\n });\n else if (isIterable(ret, !0))\n finishCount++, pump(ret, pt, finish, {\n end\n });\n else\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\", \"destination\", ret);\n ret = pt;\n const { destroy: destroy2, cleanup } = destroyer(ret, !1, !0);\n if (destroys.push(destroy2), isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2;\n const cleanup = pipe(ret, stream, finish, {\n end\n });\n if (isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n } else if (isIterable(ret))\n finishCount++, pump(ret, stream, finish, {\n end\n });\n else\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], ret);\n ret = stream;\n } else\n ret = Duplex.from(stream);\n }\n if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted)\n runOnNextTick(abort);\n return ret;\n }\n function pipe(src, dst, finish, { end }) {\n if (src.pipe(dst, {\n end\n }), end)\n src.once(\"end\", () => dst.end());\n else\n finish();\n return eos(src, {\n readable: !0,\n writable: !1\n }, (err) => {\n const rState = src._readableState;\n if (err && err.code === \"ERR_STREAM_PREMATURE_CLOSE\" && rState && rState.ended && !rState.errored && !rState.errorEmitted)\n src.once(\"end\", finish).once(\"error\", finish);\n else\n finish(err);\n }), eos(dst, {\n readable: !1,\n writable: !0\n }, finish);\n }\n module.exports = {\n pipelineImpl,\n pipeline\n };\n }\n}), require_compose = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/compose.js\"(exports, module) {\n var { pipeline } = require_pipeline(), Duplex = require_duplex(), { destroyer } = require_destroy(), { isNodeStream, isReadable, isWritable } = require_utils(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_MISSING_ARGS }\n } = require_errors();\n module.exports = function compose(...streams) {\n if (streams.length === 0)\n throw new ERR_MISSING_ARGS(\"streams\");\n if (streams.length === 1)\n return Duplex.from(streams[0]);\n const orgStreams = [...streams];\n if (typeof streams[0] === \"function\")\n streams[0] = Duplex.from(streams[0]);\n if (typeof streams[streams.length - 1] === \"function\") {\n const idx = streams.length - 1;\n streams[idx] = Duplex.from(streams[idx]);\n }\n for (let n = 0;n < streams.length; ++n) {\n if (!isNodeStream(streams[n]))\n continue;\n if (n < streams.length - 1 && !isReadable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be readable\");\n if (n > 0 && !isWritable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be writable\");\n }\n let ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n const head = streams[0], tail = pipeline(streams, onfinished), writable = !!isWritable(head), readable = !!isReadable(tail);\n if (d = new Duplex({\n writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== void 0 && tail.writableObjectMode),\n writable,\n readable\n }), writable)\n d._write = function(chunk, encoding, callback) {\n if (head.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n head.end(), onfinish = callback;\n }, head.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), tail.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n tail.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), tail.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = tail.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(tail, err);\n }, d;\n };\n }\n}), require_promises = __commonJS({\n \"node_modules/readable-stream/lib/stream/promises.js\"(exports, module) {\n var { ArrayPrototypePop, Promise: Promise2 } = require_primordials(), { isIterable, isNodeStream } = require_utils(), { pipelineImpl: pl } = require_pipeline(), { finished } = require_end_of_stream();\n function pipeline(...streams) {\n return new Promise2((resolve, reject) => {\n let signal, end;\n const lastArg = streams[streams.length - 1];\n if (lastArg && typeof lastArg === \"object\" && !isNodeStream(lastArg) && !isIterable(lastArg)) {\n const options = ArrayPrototypePop(streams);\n signal = options.signal, end = options.end;\n }\n pl(streams, (err, value) => {\n if (err)\n reject(err);\n else\n resolve(value);\n }, {\n signal,\n end\n });\n });\n }\n module.exports = {\n finished,\n pipeline\n };\n }\n}), require_stream = __commonJS({\n \"node_modules/readable-stream/lib/stream.js\"(exports, module) {\n var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials(), {\n promisify: { custom: customPromisify }\n } = require_util(), { streamReturningOperators, promiseReturningOperators } = require_operators(), {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n } = require_errors(), compose = require_compose(), { pipeline } = require_pipeline(), { destroyer } = require_destroy(), eos = require_end_of_stream(), promises = require_promises(), utils = require_utils(), Stream = module.exports = require_legacy().Stream;\n Stream.isDisturbed = utils.isDisturbed, Stream.isErrored = utils.isErrored, Stream.isWritable = utils.isWritable, Stream.isReadable = utils.isReadable, Stream.Readable = require_readable();\n for (let key of ObjectKeys(streamReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return Stream.Readable.from(ReflectApply(op, this, args));\n };\n const op = streamReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n for (let key of ObjectKeys(promiseReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return ReflectApply(op, this, args);\n };\n const op = promiseReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n Stream.Writable = require_writable(), Stream.Duplex = require_duplex(), Stream.Transform = require_transform(), Stream.PassThrough = require_passthrough(), Stream.pipeline = pipeline;\n var { addAbortSignal } = require_add_abort_signal();\n Stream.addAbortSignal = addAbortSignal, Stream.finished = eos, Stream.destroy = destroyer, Stream.compose = compose, ObjectDefineProperty(Stream, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n }), ObjectDefineProperty(pipeline, customPromisify, {\n enumerable: !0,\n get() {\n return promises.pipeline;\n }\n }), ObjectDefineProperty(eos, customPromisify, {\n enumerable: !0,\n get() {\n return promises.finished;\n }\n }), Stream.Stream = Stream, Stream._isUint8Array = function isUint8Array(value) {\n return value instanceof @Uint8Array;\n }, Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return new @Buffer(chunk.buffer, chunk.byteOffset, chunk.byteLength);\n };\n }\n}), nativeReadableStreamPrototypes = {\n 0: @undefined,\n 1: @undefined,\n 2: @undefined,\n 3: @undefined,\n 4: @undefined,\n 5: @undefined\n}, Writable = require_writable(), _pathOrFdOrSink = Symbol(\"pathOrFdOrSink\"), _fileSink = Symbol(\"fileSink\"), _native = Symbol(\"native\");\nNativeWritable.prototype = Object.create(Writable.prototype);\nvar WritablePrototypeWrite = Writable.prototype.write;\nNativeWritable.prototype.write = function NativeWritablePrototypeWrite(chunk, encoding, cb, native) {\n if (!(native \?\? this[_native]))\n return this[_native] = !1, WritablePrototypeWrite.@call(this, chunk, encoding, cb);\n var fileSink = this[_fileSink] \?\? NativeWritable_lazyConstruct(this), result = fileSink.write(chunk);\n if (@isPromise(result))\n return result.then(() => {\n this.emit(\"drain\"), fileSink.flush(!0);\n }), !1;\n if (fileSink.flush(!0), typeof encoding === \"function\")\n cb = encoding;\n if (cb)\n cb(null, chunk.byteLength);\n return !0;\n};\nvar WritablePrototypeEnd = Writable.prototype.end;\nNativeWritable.prototype.end = function end(chunk, encoding, cb, native) {\n return WritablePrototypeEnd.@call(this, chunk, encoding, cb, native \?\? this[_native]);\n};\nNativeWritable.prototype.ref = function ref() {\n var sink = this[_fileSink];\n if (!sink)\n this.NativeWritable_lazyConstruct();\n sink.ref();\n};\nNativeWritable.prototype.unref = function unref() {\n this[_fileSink]\?.unref();\n};\nvar exports = require_stream(), promises = require_promises();\nexports._getNativeReadableStreamPrototype = getNativeReadableStreamPrototype;\nexports.NativeWritable = NativeWritable;\nObject.defineProperty(exports, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n});\nexports[Symbol.for(\"::bunternal::\")] = { _ReadableFromWeb, _ReadableFromWebForUndici };\nexports.eos = require_end_of_stream();\nexports.EventEmitter = EE;\nreturn exports})\n"); // // -static constexpr ASCIILiteral NodeStreamPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).promises})\n"); +static constexpr ASCIILiteral NodeStreamPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).promises})\n"); // // -static constexpr ASCIILiteral NodeStreamWebCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.web.ts\nvar $;\n$ = {\n ReadableStream: @ReadableStream,\n ReadableStreamDefaultReader: @ReadableStreamDefaultReader,\n ReadableStreamBYOBReader: @ReadableStreamBYOBReader,\n ReadableStreamBYOBRequest: @ReadableStreamBYOBRequest,\n ReadableByteStreamController: @ReadableByteStreamController,\n ReadableStreamDefaultController: @ReadableStreamDefaultController,\n TransformStream: @TransformStream,\n TransformStreamDefaultController: @TransformStreamDefaultController,\n WritableStream: @WritableStream,\n WritableStreamDefaultWriter: @WritableStreamDefaultWriter,\n WritableStreamDefaultController: @WritableStreamDefaultController,\n ByteLengthQueuingStrategy,\n CountQueuingStrategy,\n TextEncoderStream: @undefined,\n TextDecoderStream: @undefined,\n CompressionStream: @undefined,\n DecompressionStream: @undefined\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeStreamWebCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.web.ts\nvar $;\n$ = {\n ReadableStream: @ReadableStream,\n ReadableStreamDefaultReader: @ReadableStreamDefaultReader,\n ReadableStreamBYOBReader: @ReadableStreamBYOBReader,\n ReadableStreamBYOBRequest: @ReadableStreamBYOBRequest,\n ReadableByteStreamController: @ReadableByteStreamController,\n ReadableStreamDefaultController: @ReadableStreamDefaultController,\n TransformStream: @TransformStream,\n TransformStreamDefaultController: @TransformStreamDefaultController,\n WritableStream: @WritableStream,\n WritableStreamDefaultWriter: @WritableStreamDefaultWriter,\n WritableStreamDefaultController: @WritableStreamDefaultController,\n ByteLengthQueuingStrategy,\n CountQueuingStrategy,\n TextEncoderStream: @undefined,\n TextDecoderStream: @undefined,\n CompressionStream: @undefined,\n DecompressionStream: @undefined\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTimersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/timers.ts\nvar $;\n$ = {\n setTimeout,\n clearTimeout,\n setInterval,\n setImmediate,\n clearInterval,\n clearImmediate\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTimersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/timers.ts\nvar $;\n$ = {\n setTimeout,\n clearTimeout,\n setInterval,\n setImmediate,\n clearInterval,\n clearImmediate\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTimersPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/timers.promises.ts\nvar validateObject = function(object, name) {\n if (object === null || typeof object !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Object\", object);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n}, validateAbortSignal = function(signal, name) {\n if (typeof signal !== \"undefined\" && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, asyncIterator = function({ next: nextFunction, return: returnFunction }) {\n const result = {};\n if (typeof nextFunction === \"function\")\n result.next = nextFunction;\n if (typeof returnFunction === \"function\")\n result.return = returnFunction;\n return result[symbolAsyncIterator] = function() {\n return this;\n }, result;\n}, setTimeoutPromise = function(after = 1, value, options = {}) {\n const arguments_ = [].concat(value \?\? []);\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const timeout = setTimeout(() => resolve(value), after, ...arguments_);\n if (!reference)\n timeout\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearTimeout(timeout), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setImmediatePromise = function(value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const immediate = setImmediate(() => resolve(value));\n if (!reference)\n immediate\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearImmediate(immediate), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setIntervalPromise = function(after = 1, value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n if (signal\?.aborted)\n return asyncIterator({\n next: function() {\n return @Promise.reject(new AbortError);\n }\n });\n let onCancel, interval;\n try {\n let notYielded = 0, callback;\n if (interval = setInterval(() => {\n if (notYielded++, callback)\n callback(), callback = @undefined;\n }, after), !reference)\n interval\?.unref\?.();\n if (signal)\n onCancel = () => {\n if (clearInterval(interval), callback)\n callback(), callback = @undefined;\n }, signal.addEventListener(\"abort\", onCancel);\n return asyncIterator({\n next: function() {\n return new @Promise((resolve, reject) => {\n if (!signal\?.aborted)\n if (notYielded === 0)\n callback = resolve;\n else\n resolve();\n else if (notYielded === 0)\n reject(new AbortError);\n else\n resolve();\n }).then(() => {\n if (notYielded > 0)\n return notYielded = notYielded - 1, { done: !1, value };\n return { done: !0 };\n });\n },\n return: function() {\n return clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel), @Promise.resolve({});\n }\n });\n } catch (error) {\n return asyncIterator({\n next: function() {\n clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel);\n }\n });\n }\n}, $, symbolAsyncIterator = Symbol.asyncIterator;\n\nclass ERR_INVALID_ARG_TYPE extends Error {\n constructor(name, expected, actual) {\n super(`${name} must be ${expected}, ${typeof actual} given`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n\nclass AbortError extends Error {\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\n$ = {\n setTimeout: setTimeoutPromise,\n setImmediate: setImmediatePromise,\n setInterval: setIntervalPromise,\n scheduler: {\n wait: (delay, options) => setTimeoutPromise(delay, @undefined, options),\n yield: setImmediatePromise\n }\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTimersPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/timers.promises.ts\nvar validateObject = function(object, name) {\n if (object === null || typeof object !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Object\", object);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n}, validateAbortSignal = function(signal, name) {\n if (typeof signal !== \"undefined\" && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, asyncIterator = function({ next: nextFunction, return: returnFunction }) {\n const result = {};\n if (typeof nextFunction === \"function\")\n result.next = nextFunction;\n if (typeof returnFunction === \"function\")\n result.return = returnFunction;\n return result[symbolAsyncIterator] = function() {\n return this;\n }, result;\n}, setTimeoutPromise = function(after = 1, value, options = {}) {\n const arguments_ = [].concat(value \?\? []);\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const timeout = setTimeout(() => resolve(value), after, ...arguments_);\n if (!reference)\n timeout\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearTimeout(timeout), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setImmediatePromise = function(value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const immediate = setImmediate(() => resolve(value));\n if (!reference)\n immediate\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearImmediate(immediate), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setIntervalPromise = function(after = 1, value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n if (signal\?.aborted)\n return asyncIterator({\n next: function() {\n return @Promise.reject(new AbortError);\n }\n });\n let onCancel, interval;\n try {\n let notYielded = 0, callback;\n if (interval = setInterval(() => {\n if (notYielded++, callback)\n callback(), callback = @undefined;\n }, after), !reference)\n interval\?.unref\?.();\n if (signal)\n onCancel = () => {\n if (clearInterval(interval), callback)\n callback(), callback = @undefined;\n }, signal.addEventListener(\"abort\", onCancel);\n return asyncIterator({\n next: function() {\n return new @Promise((resolve, reject) => {\n if (!signal\?.aborted)\n if (notYielded === 0)\n callback = resolve;\n else\n resolve();\n else if (notYielded === 0)\n reject(new AbortError);\n else\n resolve();\n }).then(() => {\n if (notYielded > 0)\n return notYielded = notYielded - 1, { done: !1, value };\n return { done: !0 };\n });\n },\n return: function() {\n return clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel), @Promise.resolve({});\n }\n });\n } catch (error) {\n return asyncIterator({\n next: function() {\n clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel);\n }\n });\n }\n}, $, symbolAsyncIterator = Symbol.asyncIterator;\n\nclass ERR_INVALID_ARG_TYPE extends Error {\n constructor(name, expected, actual) {\n super(`${name} must be ${expected}, ${typeof actual} given`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n\nclass AbortError extends Error {\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\n$ = {\n setTimeout: setTimeoutPromise,\n setImmediate: setImmediatePromise,\n setInterval: setIntervalPromise,\n scheduler: {\n wait: (delay, options) => setTimeoutPromise(delay, @undefined, options),\n yield: setImmediatePromise\n }\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTLSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/tls.ts\nvar parseCertString = function() {\n throwNotImplemented(\"Not implemented\");\n}, isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, unfqdn = function(host) {\n return RegExpPrototypeSymbolReplace.@call(/[.]$/, host, \"\");\n}, toLowerCase = function(c) {\n return StringFromCharCode.@call(32 + StringPrototypeCharCodeAt.@call(c, 0));\n}, splitHost = function(host) {\n return StringPrototypeSplit.@call(RegExpPrototypeSymbolReplace.@call(/[A-Z]/g, unfqdn(host), toLowerCase), \".\");\n}, check = function(hostParts, pattern, wildcards) {\n if (!pattern)\n return !1;\n const patternParts = splitHost(pattern);\n if (hostParts.length !== patternParts.length)\n return !1;\n if (ArrayPrototypeIncludes.@call(patternParts, \"\"))\n return !1;\n const isBad = (s) => RegExpPrototypeExec.@call(/[^\\u0021-\\u007F]/u, s) !== null;\n if (ArrayPrototypeSome.@call(patternParts, isBad))\n return !1;\n for (let i = hostParts.length - 1;i > 0; i -= 1)\n if (hostParts[i] !== patternParts[i])\n return !1;\n const hostSubdomain = hostParts[0], patternSubdomain = patternParts[0], patternSubdomainParts = StringPrototypeSplit.@call(patternSubdomain, \"*\");\n if (patternSubdomainParts.length === 1 || StringPrototypeIncludes.@call(patternSubdomain, \"xn--\"))\n return hostSubdomain === patternSubdomain;\n if (!wildcards)\n return !1;\n if (patternSubdomainParts.length > 2)\n return !1;\n if (patternParts.length <= 2)\n return !1;\n const { 0: prefix, 1: suffix } = patternSubdomainParts;\n if (prefix.length + suffix.length > hostSubdomain.length)\n return !1;\n if (!StringPrototypeStartsWith.@call(hostSubdomain, prefix))\n return !1;\n if (!StringPrototypeEndsWith.@call(hostSubdomain, suffix))\n return !1;\n return !0;\n}, splitEscapedAltNames = function(altNames) {\n const result = [];\n let currentToken = \"\", offset = 0;\n while (offset !== altNames.length) {\n const nextSep = StringPrototypeIndexOf.@call(altNames, \", \", offset), nextQuote = StringPrototypeIndexOf.@call(altNames, '\"', offset);\n if (nextQuote !== -1 && (nextSep === -1 || nextQuote < nextSep)) {\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextQuote);\n const match = RegExpPrototypeExec.@call(jsonStringPattern, StringPrototypeSubstring.@call(altNames, nextQuote));\n if (!match) {\n let error = new SyntaxError(\"ERR_TLS_CERT_ALTNAME_FORMAT: Invalid subject alternative name string\");\n throw error.name = ERR_TLS_CERT_ALTNAME_FORMAT, error;\n }\n currentToken += JSON.parse(match[0]), offset = nextQuote + match[0].length;\n } else if (nextSep !== -1)\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextSep), ArrayPrototypePush.@call(result, currentToken), currentToken = \"\", offset = nextSep + 2;\n else\n currentToken += StringPrototypeSubstring.@call(altNames, offset), offset = altNames.length;\n }\n return ArrayPrototypePush.@call(result, currentToken), result;\n}, checkServerIdentity = function(hostname, cert) {\n const { subject, subjectaltname: altNames } = cert, dnsNames = [], ips = [];\n if (hostname = \"\" + hostname, altNames) {\n const splitAltNames = StringPrototypeIncludes.@call(altNames, '\"') \? splitEscapedAltNames(altNames) : StringPrototypeSplit.@call(altNames, \", \");\n ArrayPrototypeForEach.@call(splitAltNames, (name) => {\n if (StringPrototypeStartsWith.@call(name, \"DNS:\"))\n ArrayPrototypePush.@call(dnsNames, StringPrototypeSlice.@call(name, 4));\n else if (StringPrototypeStartsWith.@call(name, \"IP Address:\"))\n ArrayPrototypePush.@call(ips, canonicalizeIP(StringPrototypeSlice.@call(name, 11)));\n });\n }\n let valid = !1, reason = \"Unknown reason\";\n if (hostname = unfqdn(hostname), net.isIP(hostname)) {\n if (valid = ArrayPrototypeIncludes.@call(ips, canonicalizeIP(hostname)), !valid)\n reason = `IP: ${hostname} is not in the cert's list: ` + ArrayPrototypeJoin.@call(ips, \", \");\n } else if (dnsNames.length > 0 || subject\?.CN) {\n const hostParts = splitHost(hostname), wildcard = (pattern) => check(hostParts, pattern, !0);\n if (dnsNames.length > 0) {\n if (valid = ArrayPrototypeSome.@call(dnsNames, wildcard), !valid)\n reason = `Host: ${hostname}. is not in the cert's altnames: ${altNames}`;\n } else {\n const cn = subject.CN;\n if (@Array.isArray(cn))\n valid = ArrayPrototypeSome.@call(cn, wildcard);\n else if (cn)\n valid = wildcard(cn);\n if (!valid)\n reason = `Host: ${hostname}. is not cert's CN: ${cn}`;\n }\n } else\n reason = \"Cert does not contain a DNS name\";\n if (!valid) {\n let error = new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`);\n return error.name = \"ERR_TLS_CERT_ALTNAME_INVALID\", error.reason = reason, error.host = hostname, error.cert = cert, error;\n }\n}, SecureContext = function(options) {\n return new InternalSecureContext(options);\n}, createSecureContext = function(options) {\n return new SecureContext(options);\n}, translatePeerCertificate = function(c) {\n if (!c)\n return null;\n if (c.issuerCertificate != null && c.issuerCertificate !== c)\n c.issuerCertificate = translatePeerCertificate(c.issuerCertificate);\n if (c.infoAccess != null) {\n const info = c.infoAccess;\n c.infoAccess = { __proto__: null }, RegExpPrototypeSymbolReplace.@call(/([^\\n:]*):([^\\n]*)(\?:\\n|$)/g, info, (all, key, val) => {\n if (val.charCodeAt(0) === 34)\n val = JSONParse(val);\n if (key in c.infoAccess)\n ArrayPrototypePush.@call(c.infoAccess[key], val);\n else\n c.infoAccess[key] = [val];\n });\n }\n return c;\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, getCiphers = function() {\n return DEFAULT_CIPHERS.split(\":\");\n}, convertProtocols = function(protocols) {\n const lens = new @Array(protocols.length), buff = @Buffer.allocUnsafe(ArrayPrototypeReduce.@call(protocols, (p, c, i) => {\n const len = @Buffer.byteLength(c);\n if (len > 255)\n @throwRangeError(\"The byte length of the protocol at index \" + `${i} exceeds the maximum length.`, \"<= 255\", len, !0);\n return lens[i] = len, p + 1 + len;\n }, 0));\n let offset = 0;\n for (let i = 0, c = protocols.length;i < c; i++)\n buff[offset++] = lens[i], buff.write(protocols[i], offset), offset += lens[i];\n return buff;\n}, convertALPNProtocols = function(protocols, out) {\n if (@Array.isArray(protocols))\n out.ALPNProtocols = convertProtocols(protocols);\n else if (isTypedArray(protocols))\n out.ALPNProtocols = @Buffer.from(protocols);\n else if (isArrayBufferView(protocols))\n out.ALPNProtocols = @Buffer.from(protocols.buffer.slice(protocols.byteOffset, protocols.byteOffset + protocols.byteLength));\n else if (@Buffer.isBuffer(protocols))\n out.ALPNProtocols = protocols;\n}, $, { isArrayBufferView, isTypedArray } = @requireNativeModule(\"util/types\"), net = @getInternalField(@internalModuleRegistry, 27) || @createInternalModuleById(27), { Server: NetServer, [Symbol.for(\"::bunternal::\")]: InternalTCPSocket } = net, bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), { rootCertificates, canonicalizeIP } = @lazy(\"internal/tls\"), SymbolReplace = Symbol.replace, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], RegExpPrototypeExec = @RegExp.prototype.exec, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeSlice = @String.prototype.slice, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSplit = @String.prototype.split, StringPrototypeIndexOf = @String.prototype.indexOf, StringPrototypeSubstring = @String.prototype.substring, StringPrototypeEndsWith = @String.prototype.endsWith, StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeForEach = @Array.prototype.forEach, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSome = @Array.prototype.some, ArrayPrototypeReduce = @Array.prototype.reduce, jsonStringPattern = /^\"(\?:[^\"\\\\\\u0000-\\u001f]|\\\\(\?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))*\"/, InternalSecureContext = class SecureContext2 {\n context;\n constructor(options) {\n const context = {};\n if (options) {\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n }\n this.context = context;\n }\n}, buntls = Symbol.for(\"::buntls::\"), SocketClass, TLSSocket = function(InternalTLSSocket) {\n SocketClass = InternalTLSSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"TLSSocket\",\n enumerable: !1\n });\n function Socket(options) {\n return new InternalTLSSocket(options);\n }\n return Socket.prototype = InternalTLSSocket.prototype, Object.defineProperty(Socket, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalTLSSocket;\n }\n });\n}(class TLSSocket2 extends InternalTCPSocket {\n #secureContext;\n ALPNProtocols;\n #socket;\n #checkServerIdentity;\n #session;\n constructor(socket, options) {\n super(socket instanceof InternalTCPSocket \? options : options || socket);\n if (options = options || socket || {}, typeof options === \"object\") {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n if (socket instanceof InternalTCPSocket)\n this.#socket = socket;\n }\n this.#secureContext = options.secureContext || createSecureContext(options), this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, this.#checkServerIdentity = options.checkServerIdentity || checkServerIdentity, this.#session = options.session || null;\n }\n _secureEstablished = !1;\n _securePending = !0;\n _newSessionPending;\n _controlReleased;\n secureConnecting = !1;\n _SNICallback;\n servername;\n authorized = !1;\n authorizationError;\n #renegotiationDisabled = !1;\n encrypted = !0;\n _start() {\n this.connect();\n }\n getSession() {\n return this[bunSocketInternal]\?.getSession();\n }\n getEphemeralKeyInfo() {\n return this[bunSocketInternal]\?.getEphemeralKeyInfo();\n }\n getCipher() {\n return this[bunSocketInternal]\?.getCipher();\n }\n getSharedSigalgs() {\n return this[bunSocketInternal]\?.getSharedSigalgs();\n }\n getProtocol() {\n return this[bunSocketInternal]\?.getTLSVersion();\n }\n getFinished() {\n return this[bunSocketInternal]\?.getTLSFinishedMessage() || @undefined;\n }\n getPeerFinished() {\n return this[bunSocketInternal]\?.getTLSPeerFinishedMessage() || @undefined;\n }\n isSessionReused() {\n return !!this.#session;\n }\n renegotiate() {\n if (this.#renegotiationDisabled) {\n const error = new Error(\"ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket\");\n throw error.name = \"ERR_TLS_RENEGOTIATION_DISABLED\", error;\n }\n throw Error(\"Not implented in Bun yet\");\n }\n disableRenegotiation() {\n this.#renegotiationDisabled = !0;\n }\n getTLSTicket() {\n return this[bunSocketInternal]\?.getTLSTicket();\n }\n exportKeyingMaterial(length, label, context) {\n if (context)\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label, context);\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label);\n }\n setMaxSendFragment(size) {\n return this[bunSocketInternal]\?.setMaxSendFragment(size) || !1;\n }\n enableTrace() {\n }\n setServername(name) {\n if (this.isServer) {\n let error = new Error(\"ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket\");\n throw error.name = \"ERR_TLS_SNI_FROM_SERVER\", error;\n }\n this.servername = name, this[bunSocketInternal]\?.setServername(name);\n }\n setSession(session) {\n if (this.#session = session, typeof session === \"string\")\n session = @Buffer.from(session, \"latin1\");\n return this[bunSocketInternal]\?.setSession(session);\n }\n getPeerCertificate(abbreviated) {\n const cert = arguments.length < 1 \? this[bunSocketInternal]\?.getPeerCertificate() : this[bunSocketInternal]\?.getPeerCertificate(abbreviated);\n if (cert)\n return translatePeerCertificate(cert);\n }\n getCertificate() {\n const cert = this[bunSocketInternal]\?.getCertificate();\n if (cert)\n return translatePeerCertificate(cert);\n }\n getPeerX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n getX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n get alpnProtocol() {\n return this[bunSocketInternal]\?.alpnProtocol;\n }\n [buntls](port, host) {\n return {\n socket: this.#socket,\n ALPNProtocols: this.ALPNProtocols,\n serverName: this.servername || host || \"localhost\",\n checkServerIdentity: this.#checkServerIdentity,\n session: this.#session,\n ...this.#secureContext\n };\n }\n});\n\nclass Server extends NetServer {\n key;\n cert;\n ca;\n passphrase;\n secureOptions;\n _rejectUnauthorized;\n _requestCert;\n servername;\n ALPNProtocols;\n constructor(options, secureConnectionListener) {\n super(options, secureConnectionListener);\n this.setSecureContext(options);\n }\n setSecureContext(options) {\n if (options instanceof InternalSecureContext)\n options = options.context;\n if (options) {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n const requestCert = options.requestCert || !1;\n if (requestCert)\n this._requestCert = requestCert;\n else\n this._requestCert = @undefined;\n const rejectUnauthorized = options.rejectUnauthorized || !1;\n if (rejectUnauthorized)\n this._rejectUnauthorized = rejectUnauthorized;\n else\n this._rejectUnauthorized = @undefined;\n }\n }\n getTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n setTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n [buntls](port, host, isClient) {\n return [\n {\n serverName: this.servername || host || \"localhost\",\n key: this.key,\n cert: this.cert,\n ca: this.ca,\n passphrase: this.passphrase,\n secureOptions: this.secureOptions,\n rejectUnauthorized: isClient \? !1 : this._rejectUnauthorized,\n requestCert: isClient \? !1 : this._requestCert,\n ALPNProtocols: this.ALPNProtocols\n },\n SocketClass\n ];\n }\n}\nvar CLIENT_RENEG_LIMIT = 3, CLIENT_RENEG_WINDOW = 600, DEFAULT_ECDH_CURVE = \"auto\", DEFAULT_CIPHERS = \"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\", DEFAULT_MIN_VERSION = \"TLSv1.2\", DEFAULT_MAX_VERSION = \"TLSv1.3\", createConnection = (port, host, connectListener) => {\n if (typeof port === \"object\") {\n port.checkServerIdentity;\n const { ALPNProtocols } = port;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, port);\n return new TLSSocket(port).connect(port, host, connectListener);\n }\n return new TLSSocket().connect(port, host, connectListener);\n}, connect = createConnection;\n$ = {\n CLIENT_RENEG_LIMIT,\n CLIENT_RENEG_WINDOW,\n connect,\n convertALPNProtocols,\n createConnection,\n createSecureContext,\n createServer,\n DEFAULT_CIPHERS,\n DEFAULT_ECDH_CURVE,\n DEFAULT_MAX_VERSION,\n DEFAULT_MIN_VERSION,\n getCiphers,\n parseCertString,\n SecureContext,\n Server,\n TLSSocket,\n checkServerIdentity,\n rootCertificates\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTLSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/tls.ts\nvar parseCertString = function() {\n throwNotImplemented(\"Not implemented\");\n}, isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, unfqdn = function(host) {\n return RegExpPrototypeSymbolReplace.@call(/[.]$/, host, \"\");\n}, toLowerCase = function(c) {\n return StringFromCharCode.@call(32 + StringPrototypeCharCodeAt.@call(c, 0));\n}, splitHost = function(host) {\n return StringPrototypeSplit.@call(RegExpPrototypeSymbolReplace.@call(/[A-Z]/g, unfqdn(host), toLowerCase), \".\");\n}, check = function(hostParts, pattern, wildcards) {\n if (!pattern)\n return !1;\n const patternParts = splitHost(pattern);\n if (hostParts.length !== patternParts.length)\n return !1;\n if (ArrayPrototypeIncludes.@call(patternParts, \"\"))\n return !1;\n const isBad = (s) => RegExpPrototypeExec.@call(/[^\\u0021-\\u007F]/u, s) !== null;\n if (ArrayPrototypeSome.@call(patternParts, isBad))\n return !1;\n for (let i = hostParts.length - 1;i > 0; i -= 1)\n if (hostParts[i] !== patternParts[i])\n return !1;\n const hostSubdomain = hostParts[0], patternSubdomain = patternParts[0], patternSubdomainParts = StringPrototypeSplit.@call(patternSubdomain, \"*\");\n if (patternSubdomainParts.length === 1 || StringPrototypeIncludes.@call(patternSubdomain, \"xn--\"))\n return hostSubdomain === patternSubdomain;\n if (!wildcards)\n return !1;\n if (patternSubdomainParts.length > 2)\n return !1;\n if (patternParts.length <= 2)\n return !1;\n const { 0: prefix, 1: suffix } = patternSubdomainParts;\n if (prefix.length + suffix.length > hostSubdomain.length)\n return !1;\n if (!StringPrototypeStartsWith.@call(hostSubdomain, prefix))\n return !1;\n if (!StringPrototypeEndsWith.@call(hostSubdomain, suffix))\n return !1;\n return !0;\n}, splitEscapedAltNames = function(altNames) {\n const result = [];\n let currentToken = \"\", offset = 0;\n while (offset !== altNames.length) {\n const nextSep = StringPrototypeIndexOf.@call(altNames, \", \", offset), nextQuote = StringPrototypeIndexOf.@call(altNames, '\"', offset);\n if (nextQuote !== -1 && (nextSep === -1 || nextQuote < nextSep)) {\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextQuote);\n const match = RegExpPrototypeExec.@call(jsonStringPattern, StringPrototypeSubstring.@call(altNames, nextQuote));\n if (!match) {\n let error = new SyntaxError(\"ERR_TLS_CERT_ALTNAME_FORMAT: Invalid subject alternative name string\");\n throw error.name = ERR_TLS_CERT_ALTNAME_FORMAT, error;\n }\n currentToken += JSON.parse(match[0]), offset = nextQuote + match[0].length;\n } else if (nextSep !== -1)\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextSep), ArrayPrototypePush.@call(result, currentToken), currentToken = \"\", offset = nextSep + 2;\n else\n currentToken += StringPrototypeSubstring.@call(altNames, offset), offset = altNames.length;\n }\n return ArrayPrototypePush.@call(result, currentToken), result;\n}, checkServerIdentity = function(hostname, cert) {\n const { subject, subjectaltname: altNames } = cert, dnsNames = [], ips = [];\n if (hostname = \"\" + hostname, altNames) {\n const splitAltNames = StringPrototypeIncludes.@call(altNames, '\"') \? splitEscapedAltNames(altNames) : StringPrototypeSplit.@call(altNames, \", \");\n ArrayPrototypeForEach.@call(splitAltNames, (name) => {\n if (StringPrototypeStartsWith.@call(name, \"DNS:\"))\n ArrayPrototypePush.@call(dnsNames, StringPrototypeSlice.@call(name, 4));\n else if (StringPrototypeStartsWith.@call(name, \"IP Address:\"))\n ArrayPrototypePush.@call(ips, canonicalizeIP(StringPrototypeSlice.@call(name, 11)));\n });\n }\n let valid = !1, reason = \"Unknown reason\";\n if (hostname = unfqdn(hostname), net.isIP(hostname)) {\n if (valid = ArrayPrototypeIncludes.@call(ips, canonicalizeIP(hostname)), !valid)\n reason = `IP: ${hostname} is not in the cert's list: ` + ArrayPrototypeJoin.@call(ips, \", \");\n } else if (dnsNames.length > 0 || subject\?.CN) {\n const hostParts = splitHost(hostname), wildcard = (pattern) => check(hostParts, pattern, !0);\n if (dnsNames.length > 0) {\n if (valid = ArrayPrototypeSome.@call(dnsNames, wildcard), !valid)\n reason = `Host: ${hostname}. is not in the cert's altnames: ${altNames}`;\n } else {\n const cn = subject.CN;\n if (@Array.isArray(cn))\n valid = ArrayPrototypeSome.@call(cn, wildcard);\n else if (cn)\n valid = wildcard(cn);\n if (!valid)\n reason = `Host: ${hostname}. is not cert's CN: ${cn}`;\n }\n } else\n reason = \"Cert does not contain a DNS name\";\n if (!valid) {\n let error = new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`);\n return error.name = \"ERR_TLS_CERT_ALTNAME_INVALID\", error.reason = reason, error.host = hostname, error.cert = cert, error;\n }\n}, SecureContext = function(options) {\n return new InternalSecureContext(options);\n}, createSecureContext = function(options) {\n return new SecureContext(options);\n}, translatePeerCertificate = function(c) {\n if (!c)\n return null;\n if (c.issuerCertificate != null && c.issuerCertificate !== c)\n c.issuerCertificate = translatePeerCertificate(c.issuerCertificate);\n if (c.infoAccess != null) {\n const info = c.infoAccess;\n c.infoAccess = { __proto__: null }, RegExpPrototypeSymbolReplace.@call(/([^\\n:]*):([^\\n]*)(\?:\\n|$)/g, info, (all, key, val) => {\n if (val.charCodeAt(0) === 34)\n val = JSONParse(val);\n if (key in c.infoAccess)\n ArrayPrototypePush.@call(c.infoAccess[key], val);\n else\n c.infoAccess[key] = [val];\n });\n }\n return c;\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, getCiphers = function() {\n return DEFAULT_CIPHERS.split(\":\");\n}, convertProtocols = function(protocols) {\n const lens = new @Array(protocols.length), buff = @Buffer.allocUnsafe(ArrayPrototypeReduce.@call(protocols, (p, c, i) => {\n const len = @Buffer.byteLength(c);\n if (len > 255)\n @throwRangeError(\"The byte length of the protocol at index \" + `${i} exceeds the maximum length.`, \"<= 255\", len, !0);\n return lens[i] = len, p + 1 + len;\n }, 0));\n let offset = 0;\n for (let i = 0, c = protocols.length;i < c; i++)\n buff[offset++] = lens[i], buff.write(protocols[i], offset), offset += lens[i];\n return buff;\n}, convertALPNProtocols = function(protocols, out) {\n if (@Array.isArray(protocols))\n out.ALPNProtocols = convertProtocols(protocols);\n else if (isTypedArray(protocols))\n out.ALPNProtocols = @Buffer.from(protocols);\n else if (isArrayBufferView(protocols))\n out.ALPNProtocols = @Buffer.from(protocols.buffer.slice(protocols.byteOffset, protocols.byteOffset + protocols.byteLength));\n else if (@Buffer.isBuffer(protocols))\n out.ALPNProtocols = protocols;\n}, $, { isArrayBufferView, isTypedArray } = @requireNativeModule(\"util/types\"), net = @getInternalField(@internalModuleRegistry, 27) || @createInternalModuleById(27), { Server: NetServer, [Symbol.for(\"::bunternal::\")]: InternalTCPSocket } = net, bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), { rootCertificates, canonicalizeIP } = @lazy(\"internal/tls\"), SymbolReplace = Symbol.replace, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], RegExpPrototypeExec = @RegExp.prototype.exec, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeSlice = @String.prototype.slice, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSplit = @String.prototype.split, StringPrototypeIndexOf = @String.prototype.indexOf, StringPrototypeSubstring = @String.prototype.substring, StringPrototypeEndsWith = @String.prototype.endsWith, StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeForEach = @Array.prototype.forEach, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSome = @Array.prototype.some, ArrayPrototypeReduce = @Array.prototype.reduce, jsonStringPattern = /^\"(\?:[^\"\\\\\\u0000-\\u001f]|\\\\(\?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))*\"/, InternalSecureContext = class SecureContext2 {\n context;\n constructor(options) {\n const context = {};\n if (options) {\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n }\n this.context = context;\n }\n}, buntls = Symbol.for(\"::buntls::\"), SocketClass, TLSSocket = function(InternalTLSSocket) {\n SocketClass = InternalTLSSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"TLSSocket\",\n enumerable: !1\n });\n function Socket(options) {\n return new InternalTLSSocket(options);\n }\n return Socket.prototype = InternalTLSSocket.prototype, Object.defineProperty(Socket, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalTLSSocket;\n }\n });\n}(class TLSSocket2 extends InternalTCPSocket {\n #secureContext;\n ALPNProtocols;\n #socket;\n #checkServerIdentity;\n #session;\n constructor(socket, options) {\n super(socket instanceof InternalTCPSocket \? options : options || socket);\n if (options = options || socket || {}, typeof options === \"object\") {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n if (socket instanceof InternalTCPSocket)\n this.#socket = socket;\n }\n this.#secureContext = options.secureContext || createSecureContext(options), this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, this.#checkServerIdentity = options.checkServerIdentity || checkServerIdentity, this.#session = options.session || null;\n }\n _secureEstablished = !1;\n _securePending = !0;\n _newSessionPending;\n _controlReleased;\n secureConnecting = !1;\n _SNICallback;\n servername;\n authorized = !1;\n authorizationError;\n #renegotiationDisabled = !1;\n encrypted = !0;\n _start() {\n this.connect();\n }\n getSession() {\n return this[bunSocketInternal]\?.getSession();\n }\n getEphemeralKeyInfo() {\n return this[bunSocketInternal]\?.getEphemeralKeyInfo();\n }\n getCipher() {\n return this[bunSocketInternal]\?.getCipher();\n }\n getSharedSigalgs() {\n return this[bunSocketInternal]\?.getSharedSigalgs();\n }\n getProtocol() {\n return this[bunSocketInternal]\?.getTLSVersion();\n }\n getFinished() {\n return this[bunSocketInternal]\?.getTLSFinishedMessage() || @undefined;\n }\n getPeerFinished() {\n return this[bunSocketInternal]\?.getTLSPeerFinishedMessage() || @undefined;\n }\n isSessionReused() {\n return !!this.#session;\n }\n renegotiate() {\n if (this.#renegotiationDisabled) {\n const error = new Error(\"ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket\");\n throw error.name = \"ERR_TLS_RENEGOTIATION_DISABLED\", error;\n }\n throw Error(\"Not implented in Bun yet\");\n }\n disableRenegotiation() {\n this.#renegotiationDisabled = !0;\n }\n getTLSTicket() {\n return this[bunSocketInternal]\?.getTLSTicket();\n }\n exportKeyingMaterial(length, label, context) {\n if (context)\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label, context);\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label);\n }\n setMaxSendFragment(size) {\n return this[bunSocketInternal]\?.setMaxSendFragment(size) || !1;\n }\n enableTrace() {\n }\n setServername(name) {\n if (this.isServer) {\n let error = new Error(\"ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket\");\n throw error.name = \"ERR_TLS_SNI_FROM_SERVER\", error;\n }\n this.servername = name, this[bunSocketInternal]\?.setServername(name);\n }\n setSession(session) {\n if (this.#session = session, typeof session === \"string\")\n session = @Buffer.from(session, \"latin1\");\n return this[bunSocketInternal]\?.setSession(session);\n }\n getPeerCertificate(abbreviated) {\n const cert = arguments.length < 1 \? this[bunSocketInternal]\?.getPeerCertificate() : this[bunSocketInternal]\?.getPeerCertificate(abbreviated);\n if (cert)\n return translatePeerCertificate(cert);\n }\n getCertificate() {\n const cert = this[bunSocketInternal]\?.getCertificate();\n if (cert)\n return translatePeerCertificate(cert);\n }\n getPeerX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n getX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n get alpnProtocol() {\n return this[bunSocketInternal]\?.alpnProtocol;\n }\n [buntls](port, host) {\n return {\n socket: this.#socket,\n ALPNProtocols: this.ALPNProtocols,\n serverName: this.servername || host || \"localhost\",\n checkServerIdentity: this.#checkServerIdentity,\n session: this.#session,\n ...this.#secureContext\n };\n }\n});\n\nclass Server extends NetServer {\n key;\n cert;\n ca;\n passphrase;\n secureOptions;\n _rejectUnauthorized;\n _requestCert;\n servername;\n ALPNProtocols;\n constructor(options, secureConnectionListener) {\n super(options, secureConnectionListener);\n this.setSecureContext(options);\n }\n setSecureContext(options) {\n if (options instanceof InternalSecureContext)\n options = options.context;\n if (options) {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n const requestCert = options.requestCert || !1;\n if (requestCert)\n this._requestCert = requestCert;\n else\n this._requestCert = @undefined;\n const rejectUnauthorized = options.rejectUnauthorized || !1;\n if (rejectUnauthorized)\n this._rejectUnauthorized = rejectUnauthorized;\n else\n this._rejectUnauthorized = @undefined;\n }\n }\n getTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n setTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n [buntls](port, host, isClient) {\n return [\n {\n serverName: this.servername || host || \"localhost\",\n key: this.key,\n cert: this.cert,\n ca: this.ca,\n passphrase: this.passphrase,\n secureOptions: this.secureOptions,\n rejectUnauthorized: isClient \? !1 : this._rejectUnauthorized,\n requestCert: isClient \? !1 : this._requestCert,\n ALPNProtocols: this.ALPNProtocols\n },\n SocketClass\n ];\n }\n}\nvar CLIENT_RENEG_LIMIT = 3, CLIENT_RENEG_WINDOW = 600, DEFAULT_ECDH_CURVE = \"auto\", DEFAULT_CIPHERS = \"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\", DEFAULT_MIN_VERSION = \"TLSv1.2\", DEFAULT_MAX_VERSION = \"TLSv1.3\", createConnection = (port, host, connectListener) => {\n if (typeof port === \"object\") {\n port.checkServerIdentity;\n const { ALPNProtocols } = port;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, port);\n return new TLSSocket(port).connect(port, host, connectListener);\n }\n return new TLSSocket().connect(port, host, connectListener);\n}, connect = createConnection;\n$ = {\n CLIENT_RENEG_LIMIT,\n CLIENT_RENEG_WINDOW,\n connect,\n convertALPNProtocols,\n createConnection,\n createSecureContext,\n createServer,\n DEFAULT_CIPHERS,\n DEFAULT_ECDH_CURVE,\n DEFAULT_MAX_VERSION,\n DEFAULT_MIN_VERSION,\n getCiphers,\n parseCertString,\n SecureContext,\n Server,\n TLSSocket,\n checkServerIdentity,\n rootCertificates\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTraceEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/trace_events.ts\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, createTracing = function(opts) {\n if (typeof opts !== \"object\" || opts == null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", opts);\n return new Tracing(opts);\n}, getEnabledCategories = function() {\n return \"\";\n}, $;\n\nclass Tracing {\n enabled = !1;\n categories = \"\";\n}\n$ = {\n createTracing,\n getEnabledCategories\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTraceEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/trace_events.ts\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, createTracing = function(opts) {\n if (typeof opts !== \"object\" || opts == null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", opts);\n return new Tracing(opts);\n}, getEnabledCategories = function() {\n return \"\";\n}, $;\n\nclass Tracing {\n enabled = !1;\n categories = \"\";\n}\n$ = {\n createTracing,\n getEnabledCategories\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTtyCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/tty.ts\nvar ReadStream = function(fd) {\n if (!(this instanceof ReadStream))\n return new ReadStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.@call(this, \"\", {\n fd\n });\n return Object.setPrototypeOf(stream, ReadStream.prototype), stream.isRaw = !1, stream.isTTY = !0, stream;\n}, warnOnDeactivatedColors = function(env) {\n if (warned)\n return;\n let name = \"\";\n if (env.NODE_DISABLE_COLORS !== @undefined)\n name = \"NODE_DISABLE_COLORS\";\n if (env.NO_COLOR !== @undefined) {\n if (name !== \"\")\n name += \"' and '\";\n name += \"NO_COLOR\";\n }\n if (name !== \"\")\n process.emitWarning(`The '${name}' env is ignored due to the 'FORCE_COLOR' env being set.`, \"Warning\"), warned = !0;\n}, WriteStream = function(fd) {\n if (!(this instanceof WriteStream))\n return new WriteStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.@call(this, \"\", {\n fd\n });\n if (stream.columns = @undefined, stream.rows = @undefined, stream.isTTY = isatty(stream.fd), stream.isTTY) {\n const windowSizeArray = [0, 0];\n if (_getWindowSize(fd, windowSizeArray) === !0)\n stream.columns = windowSizeArray[0], stream.rows = windowSizeArray[1];\n }\n return stream;\n}, { ttySetMode, isatty, getWindowSize: _getWindowSize } = @lazy(\"tty\"), NumberIsInteger = Number.isInteger;\nObject.defineProperty(ReadStream, \"prototype\", {\n get() {\n const Prototype = Object.create((@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.prototype);\n return Prototype.setRawMode = function(flag) {\n const mode = flag \? 1 : 0, err = ttySetMode(this.fd, mode);\n if (err)\n return this.emit(\"error\", new Error(\"setRawMode failed with errno: \" + err)), this;\n return this.isRaw = flag, this;\n }, Object.defineProperty(ReadStream, \"prototype\", { value: Prototype }), Prototype;\n },\n enumerable: !0,\n configurable: !0\n});\nvar COLORS_2 = 1, COLORS_16 = 4, COLORS_256 = 8, COLORS_16m = 24, TERM_ENVS = {\n eterm: COLORS_16,\n cons25: COLORS_16,\n console: COLORS_16,\n cygwin: COLORS_16,\n dtterm: COLORS_16,\n gnome: COLORS_16,\n hurd: COLORS_16,\n jfbterm: COLORS_16,\n konsole: COLORS_16,\n kterm: COLORS_16,\n mlterm: COLORS_16,\n mosh: COLORS_16m,\n putty: COLORS_16,\n st: COLORS_16,\n \"rxvt-unicode-24bit\": COLORS_16m,\n terminator: COLORS_16m\n}, TERM_ENVS_REG_EXP = [/ansi/, /color/, /linux/, /^con[0-9]*x[0-9]/, /^rxvt/, /^screen/, /^xterm/, /^vt100/], warned = !1;\nObject.defineProperty(WriteStream, \"prototype\", {\n get() {\n const Real = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.prototype;\n Object.defineProperty(WriteStream, \"prototype\", { value: Real }), WriteStream.prototype._refreshSize = function() {\n const oldCols = this.columns, oldRows = this.rows, windowSizeArray = [0, 0];\n if (_getWindowSize(this.fd, windowSizeArray) === !0) {\n if (oldCols !== windowSizeArray[0] || oldRows !== windowSizeArray[1])\n this.columns = windowSizeArray[0], this.rows = windowSizeArray[1], this.emit(\"resize\");\n }\n };\n var readline = @undefined;\n return WriteStream.prototype.clearLine = function(dir, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearLine(this, dir, cb);\n }, WriteStream.prototype.clearScreenDown = function(cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearScreenDown(this, cb);\n }, WriteStream.prototype.cursorTo = function(x, y, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).cursorTo(this, x, y, cb);\n }, WriteStream.prototype.getColorDepth = function(env = process.env) {\n if (env.FORCE_COLOR !== @undefined)\n switch (env.FORCE_COLOR) {\n case \"\":\n case \"1\":\n case \"true\":\n return warnOnDeactivatedColors(env), COLORS_16;\n case \"2\":\n return warnOnDeactivatedColors(env), COLORS_256;\n case \"3\":\n return warnOnDeactivatedColors(env), COLORS_16m;\n default:\n return COLORS_2;\n }\n if (env.NODE_DISABLE_COLORS !== @undefined || env.NO_COLOR !== @undefined || env.TERM === \"dumb\")\n return COLORS_2;\n if (env.TMUX)\n return COLORS_256;\n if (env.CI) {\n if ([\"APPVEYOR\", \"BUILDKITE\", \"CIRCLECI\", \"DRONE\", \"GITHUB_ACTIONS\", \"GITLAB_CI\", \"TRAVIS\"].some((sign) => (sign in env)) || env.CI_NAME === \"codeship\")\n return COLORS_256;\n return COLORS_2;\n }\n if (\"TEAMCITY_VERSION\" in env)\n return /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) \? COLORS_16 : COLORS_2;\n switch (env.TERM_PROGRAM) {\n case \"iTerm.app\":\n if (!env.TERM_PROGRAM_VERSION || /^[0-2]\\./.test(env.TERM_PROGRAM_VERSION))\n return COLORS_256;\n return COLORS_16m;\n case \"HyperTerm\":\n case \"MacTerm\":\n return COLORS_16m;\n case \"Apple_Terminal\":\n return COLORS_256;\n }\n if (env.COLORTERM === \"truecolor\" || env.COLORTERM === \"24bit\")\n return COLORS_16m;\n if (env.TERM) {\n if (/^xterm-256/.test(env.TERM) !== null)\n return COLORS_256;\n const termEnv = env.TERM.toLowerCase();\n if (TERM_ENVS[termEnv])\n return TERM_ENVS[termEnv];\n if (TERM_ENVS_REG_EXP.some((term) => term.test(termEnv)))\n return COLORS_16;\n }\n if (env.COLORTERM)\n return COLORS_16;\n return COLORS_2;\n }, WriteStream.prototype.getWindowSize = function() {\n return [this.columns, this.rows];\n }, WriteStream.prototype.hasColors = function(count, env) {\n if (env === @undefined && (count === @undefined || typeof count === \"object\" && count !== null))\n env = count, count = 16;\n else\n validateInteger(count, \"count\", 2);\n return count <= 2 ** this.getColorDepth(env);\n }, WriteStream.prototype.moveCursor = function(dx, dy, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).moveCursor(this, dx, dy, cb);\n }, Real;\n },\n enumerable: !0,\n configurable: !0\n});\nvar validateInteger = (value, name, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n};\nreturn { ReadStream, WriteStream, isatty }})\n"); +static constexpr ASCIILiteral NodeTtyCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/tty.ts\nvar ReadStream = function(fd) {\n if (!(this instanceof ReadStream))\n return new ReadStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.@call(this, \"\", {\n fd\n });\n return Object.setPrototypeOf(stream, ReadStream.prototype), stream.isRaw = !1, stream.isTTY = !0, stream;\n}, warnOnDeactivatedColors = function(env) {\n if (warned)\n return;\n let name = \"\";\n if (env.NODE_DISABLE_COLORS !== @undefined)\n name = \"NODE_DISABLE_COLORS\";\n if (env.NO_COLOR !== @undefined) {\n if (name !== \"\")\n name += \"' and '\";\n name += \"NO_COLOR\";\n }\n if (name !== \"\")\n process.emitWarning(`The '${name}' env is ignored due to the 'FORCE_COLOR' env being set.`, \"Warning\"), warned = !0;\n}, WriteStream = function(fd) {\n if (!(this instanceof WriteStream))\n return new WriteStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.@call(this, \"\", {\n fd\n });\n if (stream.columns = @undefined, stream.rows = @undefined, stream.isTTY = isatty(stream.fd), stream.isTTY) {\n const windowSizeArray = [0, 0];\n if (_getWindowSize(fd, windowSizeArray) === !0)\n stream.columns = windowSizeArray[0], stream.rows = windowSizeArray[1];\n }\n return stream;\n}, { ttySetMode, isatty, getWindowSize: _getWindowSize } = @lazy(\"tty\"), NumberIsInteger = Number.isInteger;\nObject.defineProperty(ReadStream, \"prototype\", {\n get() {\n const Prototype = Object.create((@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.prototype);\n return Prototype.setRawMode = function(flag) {\n const mode = flag \? 1 : 0, err = ttySetMode(this.fd, mode);\n if (err)\n return this.emit(\"error\", new Error(\"setRawMode failed with errno: \" + err)), this;\n return this.isRaw = flag, this;\n }, Object.defineProperty(ReadStream, \"prototype\", { value: Prototype }), Prototype;\n },\n enumerable: !0,\n configurable: !0\n});\nvar COLORS_2 = 1, COLORS_16 = 4, COLORS_256 = 8, COLORS_16m = 24, TERM_ENVS = {\n eterm: COLORS_16,\n cons25: COLORS_16,\n console: COLORS_16,\n cygwin: COLORS_16,\n dtterm: COLORS_16,\n gnome: COLORS_16,\n hurd: COLORS_16,\n jfbterm: COLORS_16,\n konsole: COLORS_16,\n kterm: COLORS_16,\n mlterm: COLORS_16,\n mosh: COLORS_16m,\n putty: COLORS_16,\n st: COLORS_16,\n \"rxvt-unicode-24bit\": COLORS_16m,\n terminator: COLORS_16m\n}, TERM_ENVS_REG_EXP = [/ansi/, /color/, /linux/, /^con[0-9]*x[0-9]/, /^rxvt/, /^screen/, /^xterm/, /^vt100/], warned = !1;\nObject.defineProperty(WriteStream, \"prototype\", {\n get() {\n const Real = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.prototype;\n Object.defineProperty(WriteStream, \"prototype\", { value: Real }), WriteStream.prototype._refreshSize = function() {\n const oldCols = this.columns, oldRows = this.rows, windowSizeArray = [0, 0];\n if (_getWindowSize(this.fd, windowSizeArray) === !0) {\n if (oldCols !== windowSizeArray[0] || oldRows !== windowSizeArray[1])\n this.columns = windowSizeArray[0], this.rows = windowSizeArray[1], this.emit(\"resize\");\n }\n };\n var readline = @undefined;\n return WriteStream.prototype.clearLine = function(dir, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearLine(this, dir, cb);\n }, WriteStream.prototype.clearScreenDown = function(cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearScreenDown(this, cb);\n }, WriteStream.prototype.cursorTo = function(x, y, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).cursorTo(this, x, y, cb);\n }, WriteStream.prototype.getColorDepth = function(env = process.env) {\n if (env.FORCE_COLOR !== @undefined)\n switch (env.FORCE_COLOR) {\n case \"\":\n case \"1\":\n case \"true\":\n return warnOnDeactivatedColors(env), COLORS_16;\n case \"2\":\n return warnOnDeactivatedColors(env), COLORS_256;\n case \"3\":\n return warnOnDeactivatedColors(env), COLORS_16m;\n default:\n return COLORS_2;\n }\n if (env.NODE_DISABLE_COLORS !== @undefined || env.NO_COLOR !== @undefined || env.TERM === \"dumb\")\n return COLORS_2;\n if (env.TMUX)\n return COLORS_256;\n if (env.CI) {\n if ([\"APPVEYOR\", \"BUILDKITE\", \"CIRCLECI\", \"DRONE\", \"GITHUB_ACTIONS\", \"GITLAB_CI\", \"TRAVIS\"].some((sign) => (sign in env)) || env.CI_NAME === \"codeship\")\n return COLORS_256;\n return COLORS_2;\n }\n if (\"TEAMCITY_VERSION\" in env)\n return /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) \? COLORS_16 : COLORS_2;\n switch (env.TERM_PROGRAM) {\n case \"iTerm.app\":\n if (!env.TERM_PROGRAM_VERSION || /^[0-2]\\./.test(env.TERM_PROGRAM_VERSION))\n return COLORS_256;\n return COLORS_16m;\n case \"HyperTerm\":\n case \"MacTerm\":\n return COLORS_16m;\n case \"Apple_Terminal\":\n return COLORS_256;\n }\n if (env.COLORTERM === \"truecolor\" || env.COLORTERM === \"24bit\")\n return COLORS_16m;\n if (env.TERM) {\n if (/^xterm-256/.test(env.TERM) !== null)\n return COLORS_256;\n const termEnv = env.TERM.toLowerCase();\n if (TERM_ENVS[termEnv])\n return TERM_ENVS[termEnv];\n if (TERM_ENVS_REG_EXP.some((term) => term.test(termEnv)))\n return COLORS_16;\n }\n if (env.COLORTERM)\n return COLORS_16;\n return COLORS_2;\n }, WriteStream.prototype.getWindowSize = function() {\n return [this.columns, this.rows];\n }, WriteStream.prototype.hasColors = function(count, env) {\n if (env === @undefined && (count === @undefined || typeof count === \"object\" && count !== null))\n env = count, count = 16;\n else\n validateInteger(count, \"count\", 2);\n return count <= 2 ** this.getColorDepth(env);\n }, WriteStream.prototype.moveCursor = function(dx, dy, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).moveCursor(this, dx, dy, cb);\n }, Real;\n },\n enumerable: !0,\n configurable: !0\n});\nvar validateInteger = (value, name, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n};\nreturn { ReadStream, WriteStream, isatty }})\n"); // // -static constexpr ASCIILiteral NodeUrlCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/url.ts\nvar Url = function() {\n this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null;\n}, urlParse = function(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === \"object\" && url instanceof Url)\n return url;\n var u = new Url;\n return u.parse(url, parseQueryString, slashesDenoteHost), u;\n}, urlFormat = function(obj) {\n if (typeof obj === \"string\")\n obj = urlParse(obj);\n if (!(obj instanceof Url))\n return Url.prototype.format.@call(obj);\n return obj.format();\n}, urlResolve = function(source, relative) {\n return urlParse(source, !1, !0).resolve(relative);\n}, urlResolveObject = function(source, relative) {\n if (!source)\n return relative;\n return urlParse(source, !1, !0).resolveObject(relative);\n}, urlToHttpOptions = function(url) {\n const options = {\n protocol: url.protocol,\n hostname: typeof url.hostname === \"string\" && url.hostname.startsWith(\"[\") \? url.hostname.slice(1, -1) : url.hostname,\n hash: url.hash,\n search: url.search,\n pathname: url.pathname,\n path: `${url.pathname || \"\"}${url.search || \"\"}`,\n href: url.href\n };\n if (url.port !== \"\")\n options.port = Number(url.port);\n if (url.username || url.password)\n options.auth = `${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;\n return options;\n}, $, { URL, URLSearchParams } = globalThis;\nUrl.prototype = {};\nvar protocolPattern = /^([a-z0-9.+-]+:)/i, portPattern = /:[0-9]*$/, simplePathPattern = /^(\\/\\/\?(\?!\\/)[^\?\\s]*)(\\\?[^\\s]*)\?$/, delims = [\"<\", \">\", '\"', \"`\", \" \", \"\\r\", \"\\n\", \"\\t\"], unwise = [\"{\", \"}\", \"|\", \"\\\\\", \"^\", \"`\"].concat(delims), autoEscape = [\"'\"].concat(unwise), nonHostChars = [\"%\", \"/\", \"\?\", \";\", \"#\"].concat(autoEscape), hostEndingChars = [\"/\", \"\?\", \"#\"], hostnameMaxLen = 255, hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, unsafeProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, hostlessProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, slashedProtocol = {\n http: !0,\n https: !0,\n ftp: !0,\n gopher: !0,\n file: !0,\n \"http:\": !0,\n \"https:\": !0,\n \"ftp:\": !0,\n \"gopher:\": !0,\n \"file:\": !0\n};\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== \"string\")\n @throwTypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n var queryIndex = url.indexOf(\"\?\"), splitter = queryIndex !== -1 && queryIndex < url.indexOf(\"#\") \? \"\?\" : \"#\", uSplit = url.split(splitter), slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, \"/\"), url = uSplit.join(splitter);\n var rest = url;\n if (rest = rest.trim(), !slashesDenoteHost && url.split(\"#\").length === 1) {\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n if (this.path = rest, this.href = rest, this.pathname = simplePath[1], simplePath[2])\n if (this.search = simplePath[2], parseQueryString)\n this.query = new URLSearchParams(this.search.substr(1)).toJSON();\n else\n this.query = this.search.substr(1);\n else if (parseQueryString)\n this.search = \"\", this.query = {};\n return this;\n }\n }\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto, rest = rest.substr(proto.length);\n }\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === \"//\";\n if (slashes && !(proto && hostlessProtocol[proto]))\n rest = rest.substr(2), this.slashes = !0;\n }\n if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {\n var hostEnd = -1;\n for (var i = 0;i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n var auth, atSign;\n if (hostEnd === -1)\n atSign = rest.lastIndexOf(\"@\");\n else\n atSign = rest.lastIndexOf(\"@\", hostEnd);\n if (atSign !== -1)\n auth = rest.slice(0, atSign), rest = rest.slice(atSign + 1), this.auth = decodeURIComponent(auth);\n hostEnd = -1;\n for (var i = 0;i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n if (hostEnd === -1)\n hostEnd = rest.length;\n this.host = rest.slice(0, hostEnd), rest = rest.slice(hostEnd), this.parseHost(), this.hostname = this.hostname || \"\";\n var ipv6Hostname = this.hostname[0] === \"[\" && this.hostname[this.hostname.length - 1] === \"]\";\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length;i < l; i++) {\n var part = hostparts[i];\n if (!part)\n continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = \"\";\n for (var j = 0, k = part.length;j < k; j++)\n if (part.charCodeAt(j) > 127)\n newpart += \"x\";\n else\n newpart += part[j];\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i), notHost = hostparts.slice(i + 1), bit = part.match(hostnamePartStart);\n if (bit)\n validParts.push(bit[1]), notHost.unshift(bit[2]);\n if (notHost.length)\n rest = \"/\" + notHost.join(\".\") + rest;\n this.hostname = validParts.join(\".\");\n break;\n }\n }\n }\n }\n if (this.hostname.length > hostnameMaxLen)\n this.hostname = \"\";\n else\n this.hostname = this.hostname.toLowerCase();\n if (!ipv6Hostname)\n this.hostname = new URL(\"http://\" + this.hostname).hostname;\n var p = this.port \? \":\" + this.port : \"\", h = this.hostname || \"\";\n if (this.host = h + p, this.href += this.host, ipv6Hostname) {\n if (this.hostname = this.hostname.substr(1, this.hostname.length - 2), rest[0] !== \"/\")\n rest = \"/\" + rest;\n }\n }\n if (!unsafeProtocol[lowerProto])\n for (var i = 0, l = autoEscape.length;i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae)\n esc = escape(ae);\n rest = rest.split(ae).join(esc);\n }\n var hash = rest.indexOf(\"#\");\n if (hash !== -1)\n this.hash = rest.substr(hash), rest = rest.slice(0, hash);\n var qm = rest.indexOf(\"\?\");\n if (qm !== -1) {\n if (this.search = rest.substr(qm), this.query = rest.substr(qm + 1), parseQueryString) {\n const query = this.query;\n this.query = new URLSearchParams(query).toJSON();\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString)\n this.search = \"\", this.query = {};\n if (rest)\n this.pathname = rest;\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname)\n this.pathname = \"/\";\n if (this.pathname || this.search) {\n var p = this.pathname || \"\", s = this.search || \"\";\n this.path = p + s;\n }\n return this.href = this.format(), this;\n};\nUrl.prototype.format = function() {\n var auth = this.auth || \"\";\n if (auth)\n auth = encodeURIComponent(auth), auth = auth.replace(/%3A/i, \":\"), auth += \"@\";\n var protocol = this.protocol || \"\", pathname = this.pathname || \"\", hash = this.hash || \"\", host = !1, query = \"\";\n if (this.host)\n host = auth + this.host;\n else if (this.hostname) {\n if (host = auth + (this.hostname.indexOf(\":\") === -1 \? this.hostname : \"[\" + this.hostname + \"]\"), this.port)\n host += \":\" + this.port;\n }\n if (this.query && typeof this.query === \"object\" && Object.keys(this.query).length)\n query = new URLSearchParams(this.query).toString();\n var search = this.search || query && \"\?\" + query || \"\";\n if (protocol && protocol.substr(-1) !== \":\")\n protocol += \":\";\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== !1) {\n if (host = \"//\" + (host || \"\"), pathname && pathname.charAt(0) !== \"/\")\n pathname = \"/\" + pathname;\n } else if (!host)\n host = \"\";\n if (hash && hash.charAt(0) !== \"#\")\n hash = \"#\" + hash;\n if (search && search.charAt(0) !== \"\?\")\n search = \"\?\" + search;\n return pathname = pathname.replace(/[\?#]/g, function(match) {\n return encodeURIComponent(match);\n }), search = search.replace(\"#\", \"%23\"), protocol + host + pathname + search + hash;\n};\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, !1, !0)).format();\n};\nUrl.prototype.resolveObject = function(relative) {\n if (typeof relative === \"string\") {\n var rel = new Url;\n rel.parse(relative, !1, !0), relative = rel;\n }\n var result = new Url, tkeys = Object.keys(this);\n for (var tk = 0;tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n if (result.hash = relative.hash, relative.href === \"\")\n return result.href = result.format(), result;\n if (relative.slashes && !relative.protocol) {\n var rkeys = Object.keys(relative);\n for (var rk = 0;rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== \"protocol\")\n result[rkey] = relative[rkey];\n }\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname)\n result.pathname = \"/\", result.path = result.pathname;\n return result.href = result.format(), result;\n }\n if (relative.protocol && relative.protocol !== result.protocol) {\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0;v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n return result.href = result.format(), result;\n }\n if (result.protocol = relative.protocol, !relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || \"\").split(\"/\");\n while (relPath.length && !(relative.host = relPath.shift()))\n ;\n if (!relative.host)\n relative.host = \"\";\n if (!relative.hostname)\n relative.hostname = \"\";\n if (relPath[0] !== \"\")\n relPath.unshift(\"\");\n if (relPath.length < 2)\n relPath.unshift(\"\");\n result.pathname = relPath.join(\"/\");\n } else\n result.pathname = relative.pathname;\n if (result.search = relative.search, result.query = relative.query, result.host = relative.host || \"\", result.auth = relative.auth, result.hostname = relative.hostname || relative.host, result.port = relative.port, result.pathname || result.search) {\n var p = result.pathname || \"\", s = result.search || \"\";\n result.path = p + s;\n }\n return result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n }\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === \"/\", isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === \"/\", mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname, removeAllDots = mustEndAbs, srcPath = result.pathname && result.pathname.split(\"/\") || [], relPath = relative.pathname && relative.pathname.split(\"/\") || [], psychotic = result.protocol && !slashedProtocol[result.protocol];\n if (psychotic) {\n if (result.hostname = \"\", result.port = null, result.host)\n if (srcPath[0] === \"\")\n srcPath[0] = result.host;\n else\n srcPath.unshift(result.host);\n if (result.host = \"\", relative.protocol) {\n if (relative.hostname = null, relative.port = null, relative.host)\n if (relPath[0] === \"\")\n relPath[0] = relative.host;\n else\n relPath.unshift(relative.host);\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === \"\" || srcPath[0] === \"\");\n }\n if (isRelAbs)\n result.host = relative.host || relative.host === \"\" \? relative.host : result.host, result.hostname = relative.hostname || relative.hostname === \"\" \? relative.hostname : result.hostname, result.search = relative.search, result.query = relative.query, srcPath = relPath;\n else if (relPath.length) {\n if (!srcPath)\n srcPath = [];\n srcPath.pop(), srcPath = srcPath.concat(relPath), result.search = relative.search, result.query = relative.query;\n } else if (relative.search != null) {\n if (psychotic) {\n result.host = srcPath.shift(), result.hostname = result.host;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (result.search = relative.search, result.query = relative.query, result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.href = result.format(), result;\n }\n if (!srcPath.length) {\n if (result.pathname = null, result.search)\n result.path = \"/\" + result.search;\n else\n result.path = null;\n return result.href = result.format(), result;\n }\n var last = srcPath.slice(-1)[0], hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === \".\" || last === \"..\") || last === \"\", up = 0;\n for (var i = srcPath.length;i >= 0; i--)\n if (last = srcPath[i], last === \".\")\n srcPath.splice(i, 1);\n else if (last === \"..\")\n srcPath.splice(i, 1), up++;\n else if (up)\n srcPath.splice(i, 1), up--;\n if (!mustEndAbs && !removeAllDots)\n for (;up--; up)\n srcPath.unshift(\"..\");\n if (mustEndAbs && srcPath[0] !== \"\" && (!srcPath[0] || srcPath[0].charAt(0) !== \"/\"))\n srcPath.unshift(\"\");\n if (hasTrailingSlash && srcPath.join(\"/\").substr(-1) !== \"/\")\n srcPath.push(\"\");\n var isAbsolute = srcPath[0] === \"\" || srcPath[0] && srcPath[0].charAt(0) === \"/\";\n if (psychotic) {\n result.hostname = isAbsolute \? \"\" : srcPath.length \? srcPath.shift() : \"\", result.host = result.hostname;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (mustEndAbs = mustEndAbs || result.host && srcPath.length, mustEndAbs && !isAbsolute)\n srcPath.unshift(\"\");\n if (srcPath.length > 0)\n result.pathname = srcPath.join(\"/\");\n else\n result.pathname = null, result.path = null;\n if (result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.auth = relative.auth || result.auth, result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n};\nUrl.prototype.parseHost = function() {\n var host = this.host, port = portPattern.exec(host);\n if (port) {\n if (port = port[0], port !== \":\")\n this.port = port.substr(1);\n host = host.substr(0, host.length - port.length);\n }\n if (host)\n this.hostname = host;\n};\nvar pathToFileURL = @lazy(\"pathToFileURL\"), fileURLToPath = @lazy(\"fileURLToPath\");\n$ = {\n parse: urlParse,\n resolve: urlResolve,\n resolveObject: urlResolveObject,\n format: urlFormat,\n Url,\n URLSearchParams,\n URL,\n pathToFileURL,\n fileURLToPath,\n urlToHttpOptions\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeUrlCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/url.ts\nvar Url = function() {\n this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null;\n}, urlParse = function(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === \"object\" && url instanceof Url)\n return url;\n var u = new Url;\n return u.parse(url, parseQueryString, slashesDenoteHost), u;\n}, urlFormat = function(obj) {\n if (typeof obj === \"string\")\n obj = urlParse(obj);\n if (!(obj instanceof Url))\n return Url.prototype.format.@call(obj);\n return obj.format();\n}, urlResolve = function(source, relative) {\n return urlParse(source, !1, !0).resolve(relative);\n}, urlResolveObject = function(source, relative) {\n if (!source)\n return relative;\n return urlParse(source, !1, !0).resolveObject(relative);\n}, urlToHttpOptions = function(url) {\n const options = {\n protocol: url.protocol,\n hostname: typeof url.hostname === \"string\" && url.hostname.startsWith(\"[\") \? url.hostname.slice(1, -1) : url.hostname,\n hash: url.hash,\n search: url.search,\n pathname: url.pathname,\n path: `${url.pathname || \"\"}${url.search || \"\"}`,\n href: url.href\n };\n if (url.port !== \"\")\n options.port = Number(url.port);\n if (url.username || url.password)\n options.auth = `${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;\n return options;\n}, $, { URL, URLSearchParams } = globalThis;\nUrl.prototype = {};\nvar protocolPattern = /^([a-z0-9.+-]+:)/i, portPattern = /:[0-9]*$/, simplePathPattern = /^(\\/\\/\?(\?!\\/)[^\?\\s]*)(\\\?[^\\s]*)\?$/, delims = [\"<\", \">\", '\"', \"`\", \" \", \"\\r\", \"\\n\", \"\\t\"], unwise = [\"{\", \"}\", \"|\", \"\\\\\", \"^\", \"`\"].concat(delims), autoEscape = [\"'\"].concat(unwise), nonHostChars = [\"%\", \"/\", \"\?\", \";\", \"#\"].concat(autoEscape), hostEndingChars = [\"/\", \"\?\", \"#\"], hostnameMaxLen = 255, hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, unsafeProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, hostlessProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, slashedProtocol = {\n http: !0,\n https: !0,\n ftp: !0,\n gopher: !0,\n file: !0,\n \"http:\": !0,\n \"https:\": !0,\n \"ftp:\": !0,\n \"gopher:\": !0,\n \"file:\": !0\n};\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== \"string\")\n @throwTypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n var queryIndex = url.indexOf(\"\?\"), splitter = queryIndex !== -1 && queryIndex < url.indexOf(\"#\") \? \"\?\" : \"#\", uSplit = url.split(splitter), slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, \"/\"), url = uSplit.join(splitter);\n var rest = url;\n if (rest = rest.trim(), !slashesDenoteHost && url.split(\"#\").length === 1) {\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n if (this.path = rest, this.href = rest, this.pathname = simplePath[1], simplePath[2])\n if (this.search = simplePath[2], parseQueryString)\n this.query = new URLSearchParams(this.search.substr(1)).toJSON();\n else\n this.query = this.search.substr(1);\n else if (parseQueryString)\n this.search = \"\", this.query = {};\n return this;\n }\n }\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto, rest = rest.substr(proto.length);\n }\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === \"//\";\n if (slashes && !(proto && hostlessProtocol[proto]))\n rest = rest.substr(2), this.slashes = !0;\n }\n if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {\n var hostEnd = -1;\n for (var i = 0;i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n var auth, atSign;\n if (hostEnd === -1)\n atSign = rest.lastIndexOf(\"@\");\n else\n atSign = rest.lastIndexOf(\"@\", hostEnd);\n if (atSign !== -1)\n auth = rest.slice(0, atSign), rest = rest.slice(atSign + 1), this.auth = decodeURIComponent(auth);\n hostEnd = -1;\n for (var i = 0;i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n if (hostEnd === -1)\n hostEnd = rest.length;\n this.host = rest.slice(0, hostEnd), rest = rest.slice(hostEnd), this.parseHost(), this.hostname = this.hostname || \"\";\n var ipv6Hostname = this.hostname[0] === \"[\" && this.hostname[this.hostname.length - 1] === \"]\";\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length;i < l; i++) {\n var part = hostparts[i];\n if (!part)\n continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = \"\";\n for (var j = 0, k = part.length;j < k; j++)\n if (part.charCodeAt(j) > 127)\n newpart += \"x\";\n else\n newpart += part[j];\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i), notHost = hostparts.slice(i + 1), bit = part.match(hostnamePartStart);\n if (bit)\n validParts.push(bit[1]), notHost.unshift(bit[2]);\n if (notHost.length)\n rest = \"/\" + notHost.join(\".\") + rest;\n this.hostname = validParts.join(\".\");\n break;\n }\n }\n }\n }\n if (this.hostname.length > hostnameMaxLen)\n this.hostname = \"\";\n else\n this.hostname = this.hostname.toLowerCase();\n if (!ipv6Hostname)\n this.hostname = new URL(\"http://\" + this.hostname).hostname;\n var p = this.port \? \":\" + this.port : \"\", h = this.hostname || \"\";\n if (this.host = h + p, this.href += this.host, ipv6Hostname) {\n if (this.hostname = this.hostname.substr(1, this.hostname.length - 2), rest[0] !== \"/\")\n rest = \"/\" + rest;\n }\n }\n if (!unsafeProtocol[lowerProto])\n for (var i = 0, l = autoEscape.length;i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae)\n esc = escape(ae);\n rest = rest.split(ae).join(esc);\n }\n var hash = rest.indexOf(\"#\");\n if (hash !== -1)\n this.hash = rest.substr(hash), rest = rest.slice(0, hash);\n var qm = rest.indexOf(\"\?\");\n if (qm !== -1) {\n if (this.search = rest.substr(qm), this.query = rest.substr(qm + 1), parseQueryString) {\n const query = this.query;\n this.query = new URLSearchParams(query).toJSON();\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString)\n this.search = \"\", this.query = {};\n if (rest)\n this.pathname = rest;\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname)\n this.pathname = \"/\";\n if (this.pathname || this.search) {\n var p = this.pathname || \"\", s = this.search || \"\";\n this.path = p + s;\n }\n return this.href = this.format(), this;\n};\nUrl.prototype.format = function() {\n var auth = this.auth || \"\";\n if (auth)\n auth = encodeURIComponent(auth), auth = auth.replace(/%3A/i, \":\"), auth += \"@\";\n var protocol = this.protocol || \"\", pathname = this.pathname || \"\", hash = this.hash || \"\", host = !1, query = \"\";\n if (this.host)\n host = auth + this.host;\n else if (this.hostname) {\n if (host = auth + (this.hostname.indexOf(\":\") === -1 \? this.hostname : \"[\" + this.hostname + \"]\"), this.port)\n host += \":\" + this.port;\n }\n if (this.query && typeof this.query === \"object\" && Object.keys(this.query).length)\n query = new URLSearchParams(this.query).toString();\n var search = this.search || query && \"\?\" + query || \"\";\n if (protocol && protocol.substr(-1) !== \":\")\n protocol += \":\";\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== !1) {\n if (host = \"//\" + (host || \"\"), pathname && pathname.charAt(0) !== \"/\")\n pathname = \"/\" + pathname;\n } else if (!host)\n host = \"\";\n if (hash && hash.charAt(0) !== \"#\")\n hash = \"#\" + hash;\n if (search && search.charAt(0) !== \"\?\")\n search = \"\?\" + search;\n return pathname = pathname.replace(/[\?#]/g, function(match) {\n return encodeURIComponent(match);\n }), search = search.replace(\"#\", \"%23\"), protocol + host + pathname + search + hash;\n};\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, !1, !0)).format();\n};\nUrl.prototype.resolveObject = function(relative) {\n if (typeof relative === \"string\") {\n var rel = new Url;\n rel.parse(relative, !1, !0), relative = rel;\n }\n var result = new Url, tkeys = Object.keys(this);\n for (var tk = 0;tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n if (result.hash = relative.hash, relative.href === \"\")\n return result.href = result.format(), result;\n if (relative.slashes && !relative.protocol) {\n var rkeys = Object.keys(relative);\n for (var rk = 0;rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== \"protocol\")\n result[rkey] = relative[rkey];\n }\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname)\n result.pathname = \"/\", result.path = result.pathname;\n return result.href = result.format(), result;\n }\n if (relative.protocol && relative.protocol !== result.protocol) {\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0;v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n return result.href = result.format(), result;\n }\n if (result.protocol = relative.protocol, !relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || \"\").split(\"/\");\n while (relPath.length && !(relative.host = relPath.shift()))\n ;\n if (!relative.host)\n relative.host = \"\";\n if (!relative.hostname)\n relative.hostname = \"\";\n if (relPath[0] !== \"\")\n relPath.unshift(\"\");\n if (relPath.length < 2)\n relPath.unshift(\"\");\n result.pathname = relPath.join(\"/\");\n } else\n result.pathname = relative.pathname;\n if (result.search = relative.search, result.query = relative.query, result.host = relative.host || \"\", result.auth = relative.auth, result.hostname = relative.hostname || relative.host, result.port = relative.port, result.pathname || result.search) {\n var p = result.pathname || \"\", s = result.search || \"\";\n result.path = p + s;\n }\n return result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n }\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === \"/\", isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === \"/\", mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname, removeAllDots = mustEndAbs, srcPath = result.pathname && result.pathname.split(\"/\") || [], relPath = relative.pathname && relative.pathname.split(\"/\") || [], psychotic = result.protocol && !slashedProtocol[result.protocol];\n if (psychotic) {\n if (result.hostname = \"\", result.port = null, result.host)\n if (srcPath[0] === \"\")\n srcPath[0] = result.host;\n else\n srcPath.unshift(result.host);\n if (result.host = \"\", relative.protocol) {\n if (relative.hostname = null, relative.port = null, relative.host)\n if (relPath[0] === \"\")\n relPath[0] = relative.host;\n else\n relPath.unshift(relative.host);\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === \"\" || srcPath[0] === \"\");\n }\n if (isRelAbs)\n result.host = relative.host || relative.host === \"\" \? relative.host : result.host, result.hostname = relative.hostname || relative.hostname === \"\" \? relative.hostname : result.hostname, result.search = relative.search, result.query = relative.query, srcPath = relPath;\n else if (relPath.length) {\n if (!srcPath)\n srcPath = [];\n srcPath.pop(), srcPath = srcPath.concat(relPath), result.search = relative.search, result.query = relative.query;\n } else if (relative.search != null) {\n if (psychotic) {\n result.host = srcPath.shift(), result.hostname = result.host;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (result.search = relative.search, result.query = relative.query, result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.href = result.format(), result;\n }\n if (!srcPath.length) {\n if (result.pathname = null, result.search)\n result.path = \"/\" + result.search;\n else\n result.path = null;\n return result.href = result.format(), result;\n }\n var last = srcPath.slice(-1)[0], hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === \".\" || last === \"..\") || last === \"\", up = 0;\n for (var i = srcPath.length;i >= 0; i--)\n if (last = srcPath[i], last === \".\")\n srcPath.splice(i, 1);\n else if (last === \"..\")\n srcPath.splice(i, 1), up++;\n else if (up)\n srcPath.splice(i, 1), up--;\n if (!mustEndAbs && !removeAllDots)\n for (;up--; up)\n srcPath.unshift(\"..\");\n if (mustEndAbs && srcPath[0] !== \"\" && (!srcPath[0] || srcPath[0].charAt(0) !== \"/\"))\n srcPath.unshift(\"\");\n if (hasTrailingSlash && srcPath.join(\"/\").substr(-1) !== \"/\")\n srcPath.push(\"\");\n var isAbsolute = srcPath[0] === \"\" || srcPath[0] && srcPath[0].charAt(0) === \"/\";\n if (psychotic) {\n result.hostname = isAbsolute \? \"\" : srcPath.length \? srcPath.shift() : \"\", result.host = result.hostname;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (mustEndAbs = mustEndAbs || result.host && srcPath.length, mustEndAbs && !isAbsolute)\n srcPath.unshift(\"\");\n if (srcPath.length > 0)\n result.pathname = srcPath.join(\"/\");\n else\n result.pathname = null, result.path = null;\n if (result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.auth = relative.auth || result.auth, result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n};\nUrl.prototype.parseHost = function() {\n var host = this.host, port = portPattern.exec(host);\n if (port) {\n if (port = port[0], port !== \":\")\n this.port = port.substr(1);\n host = host.substr(0, host.length - port.length);\n }\n if (host)\n this.hostname = host;\n};\nvar pathToFileURL = @lazy(\"pathToFileURL\"), fileURLToPath = @lazy(\"fileURLToPath\");\n$ = {\n parse: urlParse,\n resolve: urlResolve,\n resolveObject: urlResolveObject,\n format: urlFormat,\n Url,\n URLSearchParams,\n URL,\n pathToFileURL,\n fileURLToPath,\n urlToHttpOptions\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeUtilCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/util.ts\nvar isBuffer = function(value) {\n return @Buffer.isBuffer(value);\n}, isFunction = function(value) {\n return typeof value === \"function\";\n}, deprecate = function(fn, msg, code) {\n if (process.noDeprecation === !0)\n return fn;\n var warned = !1;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n var err = new Error(msg);\n if (code)\n err.code = code;\n throw err;\n } else if (process.traceDeprecation)\n console.trace(msg);\n else\n console.error(msg);\n warned = !0;\n }\n return fn.@apply(this, arguments);\n }\n return deprecated;\n}, debuglog = function(set) {\n if (set = set.toUpperCase(), !debugs[set])\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = format.@apply(cjs_exports, arguments);\n console.error(\"%s %d: %s\", set, pid, msg);\n };\n } else\n debugs[set] = function() {\n };\n return debugs[set];\n}, isBoolean = function(arg) {\n return typeof arg === \"boolean\";\n}, isNull = function(arg) {\n return arg === null;\n}, isNullOrUndefined = function(arg) {\n return arg == null;\n}, isNumber = function(arg) {\n return typeof arg === \"number\";\n}, isString = function(arg) {\n return typeof arg === \"string\";\n}, isSymbol = function(arg) {\n return typeof arg === \"symbol\";\n}, isUndefined = function(arg) {\n return arg === void 0;\n}, isObject = function(arg) {\n return typeof arg === \"object\" && arg !== null;\n}, isPrimitive = function(arg) {\n return arg === null || typeof arg === \"boolean\" || typeof arg === \"number\" || typeof arg === \"string\" || typeof arg === \"symbol\" || typeof arg === \"undefined\";\n}, pad = function(n) {\n return n < 10 \? \"0\" + n.toString(10) : n.toString(10);\n}, timestamp = function() {\n var d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(\":\");\n return [d.getDate(), months[d.getMonth()], time].join(\" \");\n}, callbackifyOnRejected = function(reason, cb) {\n if (!reason) {\n var newReason = new Error(\"Promise was rejected with a falsy value\");\n newReason.reason = reason, newReason.code = \"ERR_FALSY_VALUE_REJECTION\", reason = newReason;\n }\n return cb(reason);\n}, callbackify = function(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n function callbackified() {\n var args = @Array.prototype.slice.@call(arguments), maybeCb = args.pop();\n if (typeof maybeCb !== \"function\")\n @throwTypeError(\"The last argument must be of type Function\");\n var self = this, cb = function() {\n return maybeCb.@apply(self, arguments);\n };\n original.@apply(this, args).then(function(ret) {\n process.nextTick(cb, null, ret);\n }, function(rej) {\n process.nextTick(callbackifyOnRejected, rej, cb);\n });\n }\n return Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)), Object.defineProperties(callbackified, getOwnPropertyDescriptors(original)), callbackified;\n}, $, types = @requireNativeModule(\"util/types\"), utl = @getInternalField(@internalModuleRegistry, 7) || @createInternalModuleById(7), cjs_exports = {}, deepEquals = Bun.deepEquals, isDeepStrictEqual = (a, b) => deepEquals(a, b, !0), getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors, inspect = utl.inspect, formatWithOptions = utl.formatWithOptions, format = utl.format, stripVTControlCharacters = utl.stripVTControlCharacters, debugs = {}, debugEnvRegex = /^$/;\nif (process.env.NODE_DEBUG)\n debugEnv = process.env.NODE_DEBUG, debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+\?.]/g, \"\\\\$&\").replace(/\\*/g, \".*\").replace(/,/g, \"$|^\").toUpperCase(), debugEnvRegex = new @RegExp(\"^\" + debugEnv + \"$\", \"i\");\nvar debugEnv, isRegExp = types.isRegExp, isDate = types.isDate, isError = types.isNativeError, months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], log = function log2() {\n console.log(\"%s - %s\", timestamp(), format.@apply(cjs_exports, arguments));\n}, inherits = function inherits2(ctor, superCtor) {\n ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n}, _extend = function(origin, add) {\n if (!add || !isObject(add))\n return origin;\n var keys = Object.keys(add), i = keys.length;\n while (i--)\n origin[keys[i]] = add[keys[i]];\n return origin;\n}, kCustomPromisifiedSymbol = Symbol.for(\"util.promisify.custom\"), promisify = function promisify2(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== \"function\")\n @throwTypeError('The \"util.promisify.custom\" argument must be of type Function');\n return Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n }), fn;\n }\n function fn() {\n var promiseResolve, promiseReject, promise = new @Promise(function(resolve, reject) {\n promiseResolve = resolve, promiseReject = reject;\n }), args = [];\n for (var i = 0;i < arguments.length; i++)\n args.push(arguments[i]);\n args.push(function(err, value) {\n if (err)\n promiseReject(err);\n else\n promiseResolve(value);\n });\n try {\n original.@apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n return promise;\n }\n if (Object.setPrototypeOf(fn, Object.getPrototypeOf(original)), kCustomPromisifiedSymbol)\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n return Object.defineProperties(fn, getOwnPropertyDescriptors(original));\n};\npromisify.custom = kCustomPromisifiedSymbol;\nvar toUSVString = (input) => {\n return (input + \"\").toWellFormed();\n};\n$ = Object.assign(cjs_exports, {\n format,\n formatWithOptions,\n stripVTControlCharacters,\n deprecate,\n debuglog,\n _extend,\n inspect,\n types,\n isArray: @isArray,\n isBoolean,\n isNull,\n isNullOrUndefined,\n isNumber,\n isString,\n isSymbol,\n isUndefined,\n isRegExp,\n isObject,\n isDate,\n isFunction,\n isError,\n isPrimitive,\n isBuffer,\n log,\n inherits,\n toUSVString,\n promisify,\n callbackify,\n isDeepStrictEqual,\n TextDecoder,\n TextEncoder\n});\nreturn $})\n"); +static constexpr ASCIILiteral NodeUtilCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/util.ts\nvar isBuffer = function(value) {\n return @Buffer.isBuffer(value);\n}, isFunction = function(value) {\n return typeof value === \"function\";\n}, deprecate = function(fn, msg, code) {\n if (process.noDeprecation === !0)\n return fn;\n var warned = !1;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n var err = new Error(msg);\n if (code)\n err.code = code;\n throw err;\n } else if (process.traceDeprecation)\n console.trace(msg);\n else\n console.error(msg);\n warned = !0;\n }\n return fn.@apply(this, arguments);\n }\n return deprecated;\n}, debuglog = function(set) {\n if (set = set.toUpperCase(), !debugs[set])\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = format.@apply(cjs_exports, arguments);\n console.error(\"%s %d: %s\", set, pid, msg);\n };\n } else\n debugs[set] = function() {\n };\n return debugs[set];\n}, isBoolean = function(arg) {\n return typeof arg === \"boolean\";\n}, isNull = function(arg) {\n return arg === null;\n}, isNullOrUndefined = function(arg) {\n return arg == null;\n}, isNumber = function(arg) {\n return typeof arg === \"number\";\n}, isString = function(arg) {\n return typeof arg === \"string\";\n}, isSymbol = function(arg) {\n return typeof arg === \"symbol\";\n}, isUndefined = function(arg) {\n return arg === void 0;\n}, isObject = function(arg) {\n return typeof arg === \"object\" && arg !== null;\n}, isPrimitive = function(arg) {\n return arg === null || typeof arg === \"boolean\" || typeof arg === \"number\" || typeof arg === \"string\" || typeof arg === \"symbol\" || typeof arg === \"undefined\";\n}, pad = function(n) {\n return n < 10 \? \"0\" + n.toString(10) : n.toString(10);\n}, timestamp = function() {\n var d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(\":\");\n return [d.getDate(), months[d.getMonth()], time].join(\" \");\n}, callbackifyOnRejected = function(reason, cb) {\n if (!reason) {\n var newReason = new Error(\"Promise was rejected with a falsy value\");\n newReason.reason = reason, newReason.code = \"ERR_FALSY_VALUE_REJECTION\", reason = newReason;\n }\n return cb(reason);\n}, callbackify = function(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n function callbackified() {\n var args = @Array.prototype.slice.@call(arguments), maybeCb = args.pop();\n if (typeof maybeCb !== \"function\")\n @throwTypeError(\"The last argument must be of type Function\");\n var self = this, cb = function() {\n return maybeCb.@apply(self, arguments);\n };\n original.@apply(this, args).then(function(ret) {\n process.nextTick(cb, null, ret);\n }, function(rej) {\n process.nextTick(callbackifyOnRejected, rej, cb);\n });\n }\n return Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)), Object.defineProperties(callbackified, getOwnPropertyDescriptors(original)), callbackified;\n}, $, types = @requireNativeModule(\"util/types\"), utl = @getInternalField(@internalModuleRegistry, 7) || @createInternalModuleById(7), cjs_exports = {}, deepEquals = Bun.deepEquals, isDeepStrictEqual = (a, b) => deepEquals(a, b, !0), getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors, inspect = utl.inspect, formatWithOptions = utl.formatWithOptions, format = utl.format, stripVTControlCharacters = utl.stripVTControlCharacters, debugs = {}, debugEnvRegex = /^$/;\nif (process.env.NODE_DEBUG)\n debugEnv = process.env.NODE_DEBUG, debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+\?.]/g, \"\\\\$&\").replace(/\\*/g, \".*\").replace(/,/g, \"$|^\").toUpperCase(), debugEnvRegex = new @RegExp(\"^\" + debugEnv + \"$\", \"i\");\nvar debugEnv, isRegExp = types.isRegExp, isDate = types.isDate, isError = types.isNativeError, months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], log = function log2() {\n console.log(\"%s - %s\", timestamp(), format.@apply(cjs_exports, arguments));\n}, inherits = function inherits2(ctor, superCtor) {\n ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n}, _extend = function(origin, add) {\n if (!add || !isObject(add))\n return origin;\n var keys = Object.keys(add), i = keys.length;\n while (i--)\n origin[keys[i]] = add[keys[i]];\n return origin;\n}, kCustomPromisifiedSymbol = Symbol.for(\"util.promisify.custom\"), promisify = function promisify2(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== \"function\")\n @throwTypeError('The \"util.promisify.custom\" argument must be of type Function');\n return Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n }), fn;\n }\n function fn() {\n var promiseResolve, promiseReject, promise = new @Promise(function(resolve, reject) {\n promiseResolve = resolve, promiseReject = reject;\n }), args = [];\n for (var i = 0;i < arguments.length; i++)\n args.push(arguments[i]);\n args.push(function(err, value) {\n if (err)\n promiseReject(err);\n else\n promiseResolve(value);\n });\n try {\n original.@apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n return promise;\n }\n if (Object.setPrototypeOf(fn, Object.getPrototypeOf(original)), kCustomPromisifiedSymbol)\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n return Object.defineProperties(fn, getOwnPropertyDescriptors(original));\n};\npromisify.custom = kCustomPromisifiedSymbol;\nvar toUSVString = (input) => {\n return (input + \"\").toWellFormed();\n};\n$ = Object.assign(cjs_exports, {\n format,\n formatWithOptions,\n stripVTControlCharacters,\n deprecate,\n debuglog,\n _extend,\n inspect,\n types,\n isArray: @isArray,\n isBoolean,\n isNull,\n isNullOrUndefined,\n isNumber,\n isString,\n isSymbol,\n isUndefined,\n isRegExp,\n isObject,\n isDate,\n isFunction,\n isError,\n isPrimitive,\n isBuffer,\n log,\n inherits,\n toUSVString,\n promisify,\n callbackify,\n isDeepStrictEqual,\n TextDecoder,\n TextEncoder\n});\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeV8Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/v8.ts\nvar notimpl = function(message) {\n throwNotImplemented(\"node:v8 \" + message);\n}, cachedDataVersionTag = function() {\n notimpl(\"cachedDataVersionTag\");\n}, getHeapSnapshot = function() {\n notimpl(\"getHeapSnapshot\");\n}, getHeapStatistics = function() {\n const stats = jsc.heapStats();\n return {\n total_heap_size: stats.heapCapacity,\n total_heap_size_executable: 0,\n total_physical_size: stats.heapSize,\n total_available_size: @Infinity,\n used_heap_size: stats.heapSize,\n heap_size_limit: @Infinity,\n malloced_memory: stats.heapSize,\n peak_malloced_memory: @Infinity,\n does_zap_garbage: 0,\n number_of_native_contexts: @Infinity,\n number_of_detached_contexts: @Infinity,\n total_global_handles_size: @Infinity,\n used_global_handles_size: @Infinity,\n external_memory: @Infinity\n };\n}, getHeapSpaceStatistics = function() {\n notimpl(\"getHeapSpaceStatistics\");\n}, getHeapCodeStatistics = function() {\n notimpl(\"getHeapCodeStatistics\");\n}, setFlagsFromString = function() {\n notimpl(\"setFlagsFromString\");\n}, deserialize = function(value) {\n return jsc.deserialize(value);\n}, takeCoverage = function() {\n notimpl(\"takeCoverage\");\n}, stopCoverage = function() {\n notimpl(\"stopCoverage\");\n}, serialize = function(arg1) {\n return jsc.serialize(arg1, { binaryType: \"nodebuffer\" });\n}, writeHeapSnapshot = function() {\n notimpl(\"writeHeapSnapshot\");\n}, setHeapSnapshotNearHeapLimit = function() {\n notimpl(\"setHeapSnapshotNearHeapLimit\");\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), jsc = @requireNativeModule(\"bun:jsc\");\n\nclass Deserializer {\n constructor() {\n notimpl(\"Deserializer\");\n }\n}\n\nclass Serializer {\n constructor() {\n notimpl(\"Serializer\");\n }\n}\n\nclass DefaultDeserializer extends Deserializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass DefaultSerializer extends Serializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass GCProfiler {\n constructor() {\n notimpl(\"GCProfiler\");\n }\n}\nvar promiseHooks = {\n createHook: () => {\n notimpl(\"createHook\");\n },\n onInit: () => {\n notimpl(\"onInit\");\n },\n onBefore: () => {\n notimpl(\"onBefore\");\n },\n onAfter: () => {\n notimpl(\"onAfter\");\n },\n onSettled: () => {\n notimpl(\"onSettled\");\n }\n}, startupSnapshot = {\n addDeserializeCallback: () => notimpl(\"addDeserializeCallback\"),\n addSerializeCallback: () => notimpl(\"addSerializeCallback\"),\n setDeserializeMainFunction: () => notimpl(\"setDeserializeMainFunction\"),\n isBuildingSnapshot: () => notimpl(\"isBuildingSnapshot\")\n};\n$ = {\n cachedDataVersionTag,\n getHeapSnapshot,\n getHeapStatistics,\n getHeapSpaceStatistics,\n getHeapCodeStatistics,\n setFlagsFromString,\n deserialize,\n takeCoverage,\n stopCoverage,\n serialize,\n writeHeapSnapshot,\n setHeapSnapshotNearHeapLimit,\n promiseHooks,\n startupSnapshot,\n Deserializer,\n Serializer\n};\nhideFromStack(notimpl, cachedDataVersionTag, getHeapSnapshot, getHeapStatistics, getHeapSpaceStatistics, getHeapCodeStatistics, setFlagsFromString, deserialize, takeCoverage, stopCoverage, serialize, writeHeapSnapshot, setHeapSnapshotNearHeapLimit, Deserializer, Serializer, DefaultDeserializer, DefaultSerializer, GCProfiler);\nreturn $})\n"); +static constexpr ASCIILiteral NodeV8Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/v8.ts\nvar notimpl = function(message) {\n throwNotImplemented(\"node:v8 \" + message);\n}, cachedDataVersionTag = function() {\n notimpl(\"cachedDataVersionTag\");\n}, getHeapSnapshot = function() {\n notimpl(\"getHeapSnapshot\");\n}, getHeapStatistics = function() {\n const stats = jsc.heapStats();\n return {\n total_heap_size: stats.heapCapacity,\n total_heap_size_executable: 0,\n total_physical_size: stats.heapSize,\n total_available_size: @Infinity,\n used_heap_size: stats.heapSize,\n heap_size_limit: @Infinity,\n malloced_memory: stats.heapSize,\n peak_malloced_memory: @Infinity,\n does_zap_garbage: 0,\n number_of_native_contexts: @Infinity,\n number_of_detached_contexts: @Infinity,\n total_global_handles_size: @Infinity,\n used_global_handles_size: @Infinity,\n external_memory: @Infinity\n };\n}, getHeapSpaceStatistics = function() {\n notimpl(\"getHeapSpaceStatistics\");\n}, getHeapCodeStatistics = function() {\n notimpl(\"getHeapCodeStatistics\");\n}, setFlagsFromString = function() {\n notimpl(\"setFlagsFromString\");\n}, deserialize = function(value) {\n return jsc.deserialize(value);\n}, takeCoverage = function() {\n notimpl(\"takeCoverage\");\n}, stopCoverage = function() {\n notimpl(\"stopCoverage\");\n}, serialize = function(arg1) {\n return jsc.serialize(arg1, { binaryType: \"nodebuffer\" });\n}, writeHeapSnapshot = function() {\n notimpl(\"writeHeapSnapshot\");\n}, setHeapSnapshotNearHeapLimit = function() {\n notimpl(\"setHeapSnapshotNearHeapLimit\");\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), jsc = @requireNativeModule(\"bun:jsc\");\n\nclass Deserializer {\n constructor() {\n notimpl(\"Deserializer\");\n }\n}\n\nclass Serializer {\n constructor() {\n notimpl(\"Serializer\");\n }\n}\n\nclass DefaultDeserializer extends Deserializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass DefaultSerializer extends Serializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass GCProfiler {\n constructor() {\n notimpl(\"GCProfiler\");\n }\n}\nvar promiseHooks = {\n createHook: () => {\n notimpl(\"createHook\");\n },\n onInit: () => {\n notimpl(\"onInit\");\n },\n onBefore: () => {\n notimpl(\"onBefore\");\n },\n onAfter: () => {\n notimpl(\"onAfter\");\n },\n onSettled: () => {\n notimpl(\"onSettled\");\n }\n}, startupSnapshot = {\n addDeserializeCallback: () => notimpl(\"addDeserializeCallback\"),\n addSerializeCallback: () => notimpl(\"addSerializeCallback\"),\n setDeserializeMainFunction: () => notimpl(\"setDeserializeMainFunction\"),\n isBuildingSnapshot: () => notimpl(\"isBuildingSnapshot\")\n};\n$ = {\n cachedDataVersionTag,\n getHeapSnapshot,\n getHeapStatistics,\n getHeapSpaceStatistics,\n getHeapCodeStatistics,\n setFlagsFromString,\n deserialize,\n takeCoverage,\n stopCoverage,\n serialize,\n writeHeapSnapshot,\n setHeapSnapshotNearHeapLimit,\n promiseHooks,\n startupSnapshot,\n Deserializer,\n Serializer\n};\nhideFromStack(notimpl, cachedDataVersionTag, getHeapSnapshot, getHeapStatistics, getHeapSpaceStatistics, getHeapCodeStatistics, setFlagsFromString, deserialize, takeCoverage, stopCoverage, serialize, writeHeapSnapshot, setHeapSnapshotNearHeapLimit, Deserializer, Serializer, DefaultDeserializer, DefaultSerializer, GCProfiler);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeVMCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/vm.ts\nvar runInContext = function(code, context, options) {\n return new Script(code, options).runInContext(context);\n}, compileFunction = function() {\n throwNotImplemented(\"node:vm compileFunction\");\n}, measureMemory = function() {\n throwNotImplemented(\"node:vm measureMemory\");\n}, $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), vm = @lazy(\"vm\"), { createContext, isContext, Script, runInNewContext, runInThisContext } = vm;\n\nclass Module {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SourceTextModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SyntheticModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n$ = {\n createContext,\n runInContext,\n runInNewContext,\n runInThisContext,\n isContext,\n compileFunction,\n measureMemory,\n Script,\n Module,\n SourceTextModule,\n SyntheticModule\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeVMCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/vm.ts\nvar runInContext = function(code, context, options) {\n return new Script(code, options).runInContext(context);\n}, compileFunction = function() {\n throwNotImplemented(\"node:vm compileFunction\");\n}, measureMemory = function() {\n throwNotImplemented(\"node:vm measureMemory\");\n}, $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), vm = @lazy(\"vm\"), { createContext, isContext, Script, runInNewContext, runInThisContext } = vm;\n\nclass Module {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SourceTextModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SyntheticModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n$ = {\n createContext,\n runInContext,\n runInNewContext,\n runInThisContext,\n isContext,\n compileFunction,\n measureMemory,\n Script,\n Module,\n SourceTextModule,\n SyntheticModule\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeWasiCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/wasi.ts\nvar nodeFsConstants = @processBindingConstants.fs, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_types = __commonJS({\n \"node_modules/wasi-js/dist/types.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASIKillError = exports.WASIExitError = exports.WASIError = void 0;\n var WASIError = class extends Error {\n constructor(errno) {\n super();\n this.errno = errno, Object.setPrototypeOf(this, WASIError.prototype);\n }\n };\n exports.WASIError = WASIError;\n var WASIExitError = class extends Error {\n constructor(code) {\n super(`WASI Exit error: ${code}`);\n this.code = code, Object.setPrototypeOf(this, WASIExitError.prototype);\n }\n };\n exports.WASIExitError = WASIExitError;\n var WASIKillError = class extends Error {\n constructor(signal) {\n super(`WASI Kill signal: ${signal}`);\n this.signal = signal, Object.setPrototypeOf(this, WASIKillError.prototype);\n }\n };\n exports.WASIKillError = WASIKillError;\n }\n}), require_constants = __commonJS({\n \"node_modules/wasi-js/dist/constants.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASI_ENOMSG = exports.WASI_ENOMEM = exports.WASI_ENOLINK = exports.WASI_ENOLCK = exports.WASI_ENOEXEC = exports.WASI_ENOENT = exports.WASI_ENODEV = exports.WASI_ENOBUFS = exports.WASI_ENFILE = exports.WASI_ENETUNREACH = exports.WASI_ENETRESET = exports.WASI_ENETDOWN = exports.WASI_ENAMETOOLONG = exports.WASI_EMULTIHOP = exports.WASI_EMSGSIZE = exports.WASI_EMLINK = exports.WASI_EMFILE = exports.WASI_ELOOP = exports.WASI_EISDIR = exports.WASI_EISCONN = exports.WASI_EIO = exports.WASI_EINVAL = exports.WASI_EINTR = exports.WASI_EINPROGRESS = exports.WASI_EILSEQ = exports.WASI_EIDRM = exports.WASI_EHOSTUNREACH = exports.WASI_EFBIG = exports.WASI_EFAULT = exports.WASI_EEXIST = exports.WASI_EDQUOT = exports.WASI_EDOM = exports.WASI_EDESTADDRREQ = exports.WASI_EDEADLK = exports.WASI_ECONNRESET = exports.WASI_ECONNREFUSED = exports.WASI_ECONNABORTED = exports.WASI_ECHILD = exports.WASI_ECANCELED = exports.WASI_EBUSY = exports.WASI_EBADMSG = exports.WASI_EBADF = exports.WASI_EALREADY = exports.WASI_EAGAIN = exports.WASI_EAFNOSUPPORT = exports.WASI_EADDRNOTAVAIL = exports.WASI_EADDRINUSE = exports.WASI_EACCES = exports.WASI_E2BIG = exports.WASI_ESUCCESS = void 0, exports.WASI_SIGVTALRM = exports.WASI_SIGUSR2 = exports.WASI_SIGUSR1 = exports.WASI_SIGURG = exports.WASI_SIGTTOU = exports.WASI_SIGTTIN = exports.WASI_SIGTSTP = exports.WASI_SIGTRAP = exports.WASI_SIGTERM = exports.WASI_SIGSTOP = exports.WASI_SIGSEGV = exports.WASI_SIGQUIT = exports.WASI_SIGPIPE = exports.WASI_SIGKILL = exports.WASI_SIGINT = exports.WASI_SIGILL = exports.WASI_SIGHUP = exports.WASI_SIGFPE = exports.WASI_SIGCONT = exports.WASI_SIGCHLD = exports.WASI_SIGBUS = exports.WASI_SIGALRM = exports.WASI_SIGABRT = exports.WASI_ENOTCAPABLE = exports.WASI_EXDEV = exports.WASI_ETXTBSY = exports.WASI_ETIMEDOUT = exports.WASI_ESTALE = exports.WASI_ESRCH = exports.WASI_ESPIPE = exports.WASI_EROFS = exports.WASI_ERANGE = exports.WASI_EPROTOTYPE = exports.WASI_EPROTONOSUPPORT = exports.WASI_EPROTO = exports.WASI_EPIPE = exports.WASI_EPERM = exports.WASI_EOWNERDEAD = exports.WASI_EOVERFLOW = exports.WASI_ENXIO = exports.WASI_ENOTTY = exports.WASI_ENOTSUP = exports.WASI_ENOTSOCK = exports.WASI_ENOTRECOVERABLE = exports.WASI_ENOTEMPTY = exports.WASI_ENOTDIR = exports.WASI_ENOTCONN = exports.WASI_ENOSYS = exports.WASI_ENOSPC = exports.WASI_ENOPROTOOPT = void 0, exports.RIGHTS_REGULAR_FILE_BASE = exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL = exports.WASI_RIGHT_SOCK_SHUTDOWN = exports.WASI_RIGHT_POLL_FD_READWRITE = exports.WASI_RIGHT_PATH_UNLINK_FILE = exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = exports.WASI_RIGHT_PATH_SYMLINK = exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = exports.WASI_RIGHT_FD_FILESTAT_GET = exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = exports.WASI_RIGHT_PATH_FILESTAT_GET = exports.WASI_RIGHT_PATH_RENAME_TARGET = exports.WASI_RIGHT_PATH_RENAME_SOURCE = exports.WASI_RIGHT_PATH_READLINK = exports.WASI_RIGHT_FD_READDIR = exports.WASI_RIGHT_PATH_OPEN = exports.WASI_RIGHT_PATH_LINK_TARGET = exports.WASI_RIGHT_PATH_LINK_SOURCE = exports.WASI_RIGHT_PATH_CREATE_FILE = exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = exports.WASI_RIGHT_FD_ALLOCATE = exports.WASI_RIGHT_FD_ADVISE = exports.WASI_RIGHT_FD_WRITE = exports.WASI_RIGHT_FD_TELL = exports.WASI_RIGHT_FD_SYNC = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = exports.WASI_RIGHT_FD_SEEK = exports.WASI_RIGHT_FD_READ = exports.WASI_RIGHT_FD_DATASYNC = exports.WASI_FDFLAG_SYNC = exports.WASI_FDFLAG_RSYNC = exports.WASI_FDFLAG_NONBLOCK = exports.WASI_FDFLAG_DSYNC = exports.WASI_FDFLAG_APPEND = exports.WASI_FILETYPE_SYMBOLIC_LINK = exports.WASI_FILETYPE_SOCKET_STREAM = exports.WASI_FILETYPE_SOCKET_DGRAM = exports.WASI_FILETYPE_REGULAR_FILE = exports.WASI_FILETYPE_DIRECTORY = exports.WASI_FILETYPE_CHARACTER_DEVICE = exports.WASI_FILETYPE_BLOCK_DEVICE = exports.WASI_FILETYPE_UNKNOWN = exports.WASI_SIGXFSZ = exports.WASI_SIGXCPU = void 0, exports.SIGNAL_MAP = exports.ERROR_MAP = exports.WASI_WHENCE_END = exports.WASI_WHENCE_CUR = exports.WASI_WHENCE_SET = exports.WASI_STDERR_FILENO = exports.WASI_STDOUT_FILENO = exports.WASI_STDIN_FILENO = exports.WASI_DIRCOOKIE_START = exports.WASI_PREOPENTYPE_DIR = exports.WASI_O_TRUNC = exports.WASI_O_EXCL = exports.WASI_O_DIRECTORY = exports.WASI_O_CREAT = exports.WASI_FILESTAT_SET_MTIM_NOW = exports.WASI_FILESTAT_SET_MTIM = exports.WASI_FILESTAT_SET_ATIM_NOW = exports.WASI_FILESTAT_SET_ATIM = exports.WASI_EVENTTYPE_FD_WRITE = exports.WASI_EVENTTYPE_FD_READ = exports.WASI_EVENTTYPE_CLOCK = exports.WASI_CLOCK_THREAD_CPUTIME_ID = exports.WASI_CLOCK_PROCESS_CPUTIME_ID = exports.WASI_CLOCK_MONOTONIC = exports.WASI_CLOCK_REALTIME = exports.RIGHTS_TTY_INHERITING = exports.RIGHTS_TTY_BASE = exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_SOCKET_BASE = exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE = exports.RIGHTS_REGULAR_FILE_INHERITING = void 0, exports.WASI_ESUCCESS = 0, exports.WASI_E2BIG = 1, exports.WASI_EACCES = 2, exports.WASI_EADDRINUSE = 3, exports.WASI_EADDRNOTAVAIL = 4, exports.WASI_EAFNOSUPPORT = 5, exports.WASI_EAGAIN = 6, exports.WASI_EALREADY = 7, exports.WASI_EBADF = 8, exports.WASI_EBADMSG = 9, exports.WASI_EBUSY = 10, exports.WASI_ECANCELED = 11, exports.WASI_ECHILD = 12, exports.WASI_ECONNABORTED = 13, exports.WASI_ECONNREFUSED = 14, exports.WASI_ECONNRESET = 15, exports.WASI_EDEADLK = 16, exports.WASI_EDESTADDRREQ = 17, exports.WASI_EDOM = 18, exports.WASI_EDQUOT = 19, exports.WASI_EEXIST = 20, exports.WASI_EFAULT = 21, exports.WASI_EFBIG = 22, exports.WASI_EHOSTUNREACH = 23, exports.WASI_EIDRM = 24, exports.WASI_EILSEQ = 25, exports.WASI_EINPROGRESS = 26, exports.WASI_EINTR = 27, exports.WASI_EINVAL = 28, exports.WASI_EIO = 29, exports.WASI_EISCONN = 30, exports.WASI_EISDIR = 31, exports.WASI_ELOOP = 32, exports.WASI_EMFILE = 33, exports.WASI_EMLINK = 34, exports.WASI_EMSGSIZE = 35, exports.WASI_EMULTIHOP = 36, exports.WASI_ENAMETOOLONG = 37, exports.WASI_ENETDOWN = 38, exports.WASI_ENETRESET = 39, exports.WASI_ENETUNREACH = 40, exports.WASI_ENFILE = 41, exports.WASI_ENOBUFS = 42, exports.WASI_ENODEV = 43, exports.WASI_ENOENT = 44, exports.WASI_ENOEXEC = 45, exports.WASI_ENOLCK = 46, exports.WASI_ENOLINK = 47, exports.WASI_ENOMEM = 48, exports.WASI_ENOMSG = 49, exports.WASI_ENOPROTOOPT = 50, exports.WASI_ENOSPC = 51, exports.WASI_ENOSYS = 52, exports.WASI_ENOTCONN = 53, exports.WASI_ENOTDIR = 54, exports.WASI_ENOTEMPTY = 55, exports.WASI_ENOTRECOVERABLE = 56, exports.WASI_ENOTSOCK = 57, exports.WASI_ENOTSUP = 58, exports.WASI_ENOTTY = 59, exports.WASI_ENXIO = 60, exports.WASI_EOVERFLOW = 61, exports.WASI_EOWNERDEAD = 62, exports.WASI_EPERM = 63, exports.WASI_EPIPE = 64, exports.WASI_EPROTO = 65, exports.WASI_EPROTONOSUPPORT = 66, exports.WASI_EPROTOTYPE = 67, exports.WASI_ERANGE = 68, exports.WASI_EROFS = 69, exports.WASI_ESPIPE = 70, exports.WASI_ESRCH = 71, exports.WASI_ESTALE = 72, exports.WASI_ETIMEDOUT = 73, exports.WASI_ETXTBSY = 74, exports.WASI_EXDEV = 75, exports.WASI_ENOTCAPABLE = 76, exports.WASI_SIGABRT = 0, exports.WASI_SIGALRM = 1, exports.WASI_SIGBUS = 2, exports.WASI_SIGCHLD = 3, exports.WASI_SIGCONT = 4, exports.WASI_SIGFPE = 5, exports.WASI_SIGHUP = 6, exports.WASI_SIGILL = 7, exports.WASI_SIGINT = 8, exports.WASI_SIGKILL = 9, exports.WASI_SIGPIPE = 10, exports.WASI_SIGQUIT = 11, exports.WASI_SIGSEGV = 12, exports.WASI_SIGSTOP = 13, exports.WASI_SIGTERM = 14, exports.WASI_SIGTRAP = 15, exports.WASI_SIGTSTP = 16, exports.WASI_SIGTTIN = 17, exports.WASI_SIGTTOU = 18, exports.WASI_SIGURG = 19, exports.WASI_SIGUSR1 = 20, exports.WASI_SIGUSR2 = 21, exports.WASI_SIGVTALRM = 22, exports.WASI_SIGXCPU = 23, exports.WASI_SIGXFSZ = 24, exports.WASI_FILETYPE_UNKNOWN = 0, exports.WASI_FILETYPE_BLOCK_DEVICE = 1, exports.WASI_FILETYPE_CHARACTER_DEVICE = 2, exports.WASI_FILETYPE_DIRECTORY = 3, exports.WASI_FILETYPE_REGULAR_FILE = 4, exports.WASI_FILETYPE_SOCKET_DGRAM = 5, exports.WASI_FILETYPE_SOCKET_STREAM = 6, exports.WASI_FILETYPE_SYMBOLIC_LINK = 7, exports.WASI_FDFLAG_APPEND = 1, exports.WASI_FDFLAG_DSYNC = 2, exports.WASI_FDFLAG_NONBLOCK = 4, exports.WASI_FDFLAG_RSYNC = 8, exports.WASI_FDFLAG_SYNC = 16, exports.WASI_RIGHT_FD_DATASYNC = BigInt(1), exports.WASI_RIGHT_FD_READ = BigInt(2), exports.WASI_RIGHT_FD_SEEK = BigInt(4), exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = BigInt(8), exports.WASI_RIGHT_FD_SYNC = BigInt(16), exports.WASI_RIGHT_FD_TELL = BigInt(32), exports.WASI_RIGHT_FD_WRITE = BigInt(64), exports.WASI_RIGHT_FD_ADVISE = BigInt(128), exports.WASI_RIGHT_FD_ALLOCATE = BigInt(256), exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = BigInt(512), exports.WASI_RIGHT_PATH_CREATE_FILE = BigInt(1024), exports.WASI_RIGHT_PATH_LINK_SOURCE = BigInt(2048), exports.WASI_RIGHT_PATH_LINK_TARGET = BigInt(4096), exports.WASI_RIGHT_PATH_OPEN = BigInt(8192), exports.WASI_RIGHT_FD_READDIR = BigInt(16384), exports.WASI_RIGHT_PATH_READLINK = BigInt(32768), exports.WASI_RIGHT_PATH_RENAME_SOURCE = BigInt(65536), exports.WASI_RIGHT_PATH_RENAME_TARGET = BigInt(131072), exports.WASI_RIGHT_PATH_FILESTAT_GET = BigInt(262144), exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = BigInt(524288), exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = BigInt(1048576), exports.WASI_RIGHT_FD_FILESTAT_GET = BigInt(2097152), exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = BigInt(4194304), exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = BigInt(8388608), exports.WASI_RIGHT_PATH_SYMLINK = BigInt(16777216), exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = BigInt(33554432), exports.WASI_RIGHT_PATH_UNLINK_FILE = BigInt(67108864), exports.WASI_RIGHT_POLL_FD_READWRITE = BigInt(134217728), exports.WASI_RIGHT_SOCK_SHUTDOWN = BigInt(268435456), exports.RIGHTS_ALL = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_REGULAR_FILE_BASE = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_REGULAR_FILE_INHERITING = BigInt(0), exports.RIGHTS_DIRECTORY_BASE = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE | exports.RIGHTS_REGULAR_FILE_BASE, exports.RIGHTS_SOCKET_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_TTY_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_TTY_INHERITING = BigInt(0), exports.WASI_CLOCK_REALTIME = 0, exports.WASI_CLOCK_MONOTONIC = 1, exports.WASI_CLOCK_PROCESS_CPUTIME_ID = 2, exports.WASI_CLOCK_THREAD_CPUTIME_ID = 3, exports.WASI_EVENTTYPE_CLOCK = 0, exports.WASI_EVENTTYPE_FD_READ = 1, exports.WASI_EVENTTYPE_FD_WRITE = 2, exports.WASI_FILESTAT_SET_ATIM = 1 << 0, exports.WASI_FILESTAT_SET_ATIM_NOW = 1 << 1, exports.WASI_FILESTAT_SET_MTIM = 1 << 2, exports.WASI_FILESTAT_SET_MTIM_NOW = 1 << 3, exports.WASI_O_CREAT = 1 << 0, exports.WASI_O_DIRECTORY = 1 << 1, exports.WASI_O_EXCL = 1 << 2, exports.WASI_O_TRUNC = 1 << 3, exports.WASI_PREOPENTYPE_DIR = 0, exports.WASI_DIRCOOKIE_START = 0, exports.WASI_STDIN_FILENO = 0, exports.WASI_STDOUT_FILENO = 1, exports.WASI_STDERR_FILENO = 2, exports.WASI_WHENCE_SET = 0, exports.WASI_WHENCE_CUR = 1, exports.WASI_WHENCE_END = 2, exports.ERROR_MAP = {\n E2BIG: exports.WASI_E2BIG,\n EACCES: exports.WASI_EACCES,\n EADDRINUSE: exports.WASI_EADDRINUSE,\n EADDRNOTAVAIL: exports.WASI_EADDRNOTAVAIL,\n EAFNOSUPPORT: exports.WASI_EAFNOSUPPORT,\n EALREADY: exports.WASI_EALREADY,\n EAGAIN: exports.WASI_EAGAIN,\n EBADF: exports.WASI_EBADF,\n EBADMSG: exports.WASI_EBADMSG,\n EBUSY: exports.WASI_EBUSY,\n ECANCELED: exports.WASI_ECANCELED,\n ECHILD: exports.WASI_ECHILD,\n ECONNABORTED: exports.WASI_ECONNABORTED,\n ECONNREFUSED: exports.WASI_ECONNREFUSED,\n ECONNRESET: exports.WASI_ECONNRESET,\n EDEADLOCK: exports.WASI_EDEADLK,\n EDESTADDRREQ: exports.WASI_EDESTADDRREQ,\n EDOM: exports.WASI_EDOM,\n EDQUOT: exports.WASI_EDQUOT,\n EEXIST: exports.WASI_EEXIST,\n EFAULT: exports.WASI_EFAULT,\n EFBIG: exports.WASI_EFBIG,\n EHOSTDOWN: exports.WASI_EHOSTUNREACH,\n EHOSTUNREACH: exports.WASI_EHOSTUNREACH,\n EIDRM: exports.WASI_EIDRM,\n EILSEQ: exports.WASI_EILSEQ,\n EINPROGRESS: exports.WASI_EINPROGRESS,\n EINTR: exports.WASI_EINTR,\n EINVAL: exports.WASI_EINVAL,\n EIO: exports.WASI_EIO,\n EISCONN: exports.WASI_EISCONN,\n EISDIR: exports.WASI_EISDIR,\n ELOOP: exports.WASI_ELOOP,\n EMFILE: exports.WASI_EMFILE,\n EMLINK: exports.WASI_EMLINK,\n EMSGSIZE: exports.WASI_EMSGSIZE,\n EMULTIHOP: exports.WASI_EMULTIHOP,\n ENAMETOOLONG: exports.WASI_ENAMETOOLONG,\n ENETDOWN: exports.WASI_ENETDOWN,\n ENETRESET: exports.WASI_ENETRESET,\n ENETUNREACH: exports.WASI_ENETUNREACH,\n ENFILE: exports.WASI_ENFILE,\n ENOBUFS: exports.WASI_ENOBUFS,\n ENODEV: exports.WASI_ENODEV,\n ENOENT: exports.WASI_ENOENT,\n ENOEXEC: exports.WASI_ENOEXEC,\n ENOLCK: exports.WASI_ENOLCK,\n ENOLINK: exports.WASI_ENOLINK,\n ENOMEM: exports.WASI_ENOMEM,\n ENOMSG: exports.WASI_ENOMSG,\n ENOPROTOOPT: exports.WASI_ENOPROTOOPT,\n ENOSPC: exports.WASI_ENOSPC,\n ENOSYS: exports.WASI_ENOSYS,\n ENOTCONN: exports.WASI_ENOTCONN,\n ENOTDIR: exports.WASI_ENOTDIR,\n ENOTEMPTY: exports.WASI_ENOTEMPTY,\n ENOTRECOVERABLE: exports.WASI_ENOTRECOVERABLE,\n ENOTSOCK: exports.WASI_ENOTSOCK,\n ENOTTY: exports.WASI_ENOTTY,\n ENXIO: exports.WASI_ENXIO,\n EOVERFLOW: exports.WASI_EOVERFLOW,\n EOWNERDEAD: exports.WASI_EOWNERDEAD,\n EPERM: exports.WASI_EPERM,\n EPIPE: exports.WASI_EPIPE,\n EPROTO: exports.WASI_EPROTO,\n EPROTONOSUPPORT: exports.WASI_EPROTONOSUPPORT,\n EPROTOTYPE: exports.WASI_EPROTOTYPE,\n ERANGE: exports.WASI_ERANGE,\n EROFS: exports.WASI_EROFS,\n ESPIPE: exports.WASI_ESPIPE,\n ESRCH: exports.WASI_ESRCH,\n ESTALE: exports.WASI_ESTALE,\n ETIMEDOUT: exports.WASI_ETIMEDOUT,\n ETXTBSY: exports.WASI_ETXTBSY,\n EXDEV: exports.WASI_EXDEV\n }, exports.SIGNAL_MAP = {\n [exports.WASI_SIGHUP]: \"SIGHUP\",\n [exports.WASI_SIGINT]: \"SIGINT\",\n [exports.WASI_SIGQUIT]: \"SIGQUIT\",\n [exports.WASI_SIGILL]: \"SIGILL\",\n [exports.WASI_SIGTRAP]: \"SIGTRAP\",\n [exports.WASI_SIGABRT]: \"SIGABRT\",\n [exports.WASI_SIGBUS]: \"SIGBUS\",\n [exports.WASI_SIGFPE]: \"SIGFPE\",\n [exports.WASI_SIGKILL]: \"SIGKILL\",\n [exports.WASI_SIGUSR1]: \"SIGUSR1\",\n [exports.WASI_SIGSEGV]: \"SIGSEGV\",\n [exports.WASI_SIGUSR2]: \"SIGUSR2\",\n [exports.WASI_SIGPIPE]: \"SIGPIPE\",\n [exports.WASI_SIGALRM]: \"SIGALRM\",\n [exports.WASI_SIGTERM]: \"SIGTERM\",\n [exports.WASI_SIGCHLD]: \"SIGCHLD\",\n [exports.WASI_SIGCONT]: \"SIGCONT\",\n [exports.WASI_SIGSTOP]: \"SIGSTOP\",\n [exports.WASI_SIGTSTP]: \"SIGTSTP\",\n [exports.WASI_SIGTTIN]: \"SIGTTIN\",\n [exports.WASI_SIGTTOU]: \"SIGTTOU\",\n [exports.WASI_SIGURG]: \"SIGURG\",\n [exports.WASI_SIGXCPU]: \"SIGXCPU\",\n [exports.WASI_SIGXFSZ]: \"SIGXFSZ\",\n [exports.WASI_SIGVTALRM]: \"SIGVTALRM\"\n };\n }\n}), require_wasi = __commonJS({\n \"node_modules/wasi-js/dist/wasi.js\"(exports) {\n var __importDefault = exports && exports.__importDefault || function(mod) {\n return mod && mod.__esModule \? mod : { default: mod };\n };\n let fs;\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.SOCKET_DEFAULT_RIGHTS = void 0;\n var log = () => {\n }, logOpen = () => {\n }, SC_OPEN_MAX = 32768, types_1 = require_types(), constants_1 = require_constants(), STDIN_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDOUT_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDERR_DEFAULT_RIGHTS = STDOUT_DEFAULT_RIGHTS;\n exports.SOCKET_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE | constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;\n var msToNs = (ms) => {\n const msInt = Math.trunc(ms), decimal = BigInt(Math.round((ms - msInt) * 1e6));\n return BigInt(msInt) * BigInt(1e6) + decimal;\n }, nsToMs = (ns) => {\n if (typeof ns === \"number\")\n ns = Math.trunc(ns);\n const nsInt = BigInt(ns);\n return Number(nsInt / BigInt(1e6));\n }, wrap = (f) => (...args) => {\n try {\n return f(...args);\n } catch (err) {\n let e = err;\n while (e.prev != null)\n e = e.prev;\n if (e\?.code && typeof e\?.code === \"string\")\n return constants_1.ERROR_MAP[e.code] || constants_1.WASI_EINVAL;\n if (e instanceof types_1.WASIError)\n return e.errno;\n throw e;\n }\n }, stat = (wasi, fd) => {\n const entry = wasi.FD_MAP.get(fd);\n if (!entry)\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n if (entry.filetype === void 0) {\n const stats = wasi.fstatSync(entry.real), { filetype, rightsBase, rightsInheriting } = translateFileAttributes(wasi, fd, stats);\n if (entry.filetype = filetype, !entry.rights)\n entry.rights = {\n base: rightsBase,\n inheriting: rightsInheriting\n };\n }\n return entry;\n }, translateFileAttributes = (wasi, fd, stats) => {\n switch (!0) {\n case stats.isBlockDevice():\n return {\n filetype: constants_1.WASI_FILETYPE_BLOCK_DEVICE,\n rightsBase: constants_1.RIGHTS_BLOCK_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_BLOCK_DEVICE_INHERITING\n };\n case stats.isCharacterDevice(): {\n const filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n if (fd !== void 0 && wasi.bindings.isTTY(fd))\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_TTY_BASE,\n rightsInheriting: constants_1.RIGHTS_TTY_INHERITING\n };\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_CHARACTER_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING\n };\n }\n case stats.isDirectory():\n return {\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rightsBase: constants_1.RIGHTS_DIRECTORY_BASE,\n rightsInheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n };\n case stats.isFIFO():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isFile():\n return {\n filetype: constants_1.WASI_FILETYPE_REGULAR_FILE,\n rightsBase: constants_1.RIGHTS_REGULAR_FILE_BASE,\n rightsInheriting: constants_1.RIGHTS_REGULAR_FILE_INHERITING\n };\n case stats.isSocket():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isSymbolicLink():\n return {\n filetype: constants_1.WASI_FILETYPE_SYMBOLIC_LINK,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n default:\n return {\n filetype: constants_1.WASI_FILETYPE_UNKNOWN,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n }\n }, warnedAboutSleep = !1, defaultConfig;\n function getDefaults() {\n if (defaultConfig)\n return defaultConfig;\n const defaultBindings = {\n hrtime: () => process.hrtime.bigint(),\n exit: (code) => {\n process.exit(code);\n },\n kill: (signal) => {\n process.kill(process.pid, signal);\n },\n randomFillSync: (array) => crypto.getRandomValues(array),\n isTTY: (fd) => (@getInternalField(@internalModuleRegistry, 46) || @createInternalModuleById(46)).isatty(fd),\n fs: Bun.fs(),\n path: @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)\n };\n return defaultConfig = {\n args: [],\n env: {},\n preopens: {},\n bindings: defaultBindings,\n sleep: (ms) => {\n Bun.sleepSync(ms);\n }\n };\n }\n var WASI = class WASI2 {\n constructor(wasiConfig = {}) {\n const defaultConfig2 = getDefaults();\n this.lastStdin = 0, this.sleep = wasiConfig.sleep || defaultConfig2.sleep, this.getStdin = wasiConfig.getStdin, this.sendStdout = wasiConfig.sendStdout, this.sendStderr = wasiConfig.sendStderr;\n let preopens = wasiConfig.preopens \?\? defaultConfig2.preopens;\n this.env = wasiConfig.env \?\? defaultConfig2.env;\n const args = wasiConfig.args \?\? defaultConfig2.args;\n this.memory = void 0, this.view = void 0, this.bindings = wasiConfig.bindings || defaultConfig2.bindings;\n const bindings2 = this.bindings;\n fs = bindings2.fs, this.FD_MAP = new Map([\n [\n constants_1.WASI_STDIN_FILENO,\n {\n real: 0,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdin\"\n }\n ],\n [\n constants_1.WASI_STDOUT_FILENO,\n {\n real: 1,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDOUT_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdout\"\n }\n ],\n [\n constants_1.WASI_STDERR_FILENO,\n {\n real: 2,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDERR_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stderr\"\n }\n ]\n ]);\n const path = bindings2.path;\n for (let [k, v] of Object.entries(preopens)) {\n const real = fs.openSync(v, nodeFsConstants.O_RDONLY), newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real,\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rights: {\n base: constants_1.RIGHTS_DIRECTORY_BASE,\n inheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n },\n fakePath: k,\n path: v\n });\n }\n const getiovs = (iovs, iovsLen) => {\n this.refreshMemory();\n const { view, memory } = this, { buffer } = memory, { byteLength } = buffer;\n if (iovsLen === 1) {\n const ptr = iovs, buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n return [new @Uint8Array(buffer, buf, bufLen)];\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n const buffers = [];\n buffers.length = iovsLen;\n for (let i = 0, ptr = iovs;i < iovsLen; i++, ptr += 8) {\n const buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n buffers[i] = new @Uint8Array(buffer, buf, bufLen);\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n return buffers;\n }, CHECK_FD = (fd, rights) => {\n const stats = stat(this, fd);\n if (rights !== BigInt(0) && (stats.rights.base & rights) === BigInt(0))\n throw new types_1.WASIError(constants_1.WASI_EPERM);\n return stats;\n }, CPUTIME_START = Bun.nanoseconds(), timeOrigin = Math.trunc(performance.timeOrigin * 1e6), now = (clockId) => {\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n return Bun.nanoseconds();\n case constants_1.WASI_CLOCK_REALTIME:\n return Bun.nanoseconds() + timeOrigin;\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:\n return Bun.nanoseconds() - CPUTIME_START;\n default:\n return null;\n }\n };\n if (this.wasiImport = {\n args_get: (argv, argvBuf) => {\n this.refreshMemory();\n let coffset = argv, offset = argvBuf;\n return args.forEach((a) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${a}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n args_sizes_get: (argc, argvBufSize) => {\n this.refreshMemory(), this.view.setUint32(argc, args.length, !0);\n const size = args.reduce((acc, a) => acc + @Buffer.byteLength(a) + 1, 0);\n return this.view.setUint32(argvBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n environ_get: (environ, environBuf) => {\n this.refreshMemory();\n let coffset = environ, offset = environBuf;\n return Object.entries(this.env).forEach(([key, value]) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n environ_sizes_get: (environCount, environBufSize) => {\n this.refreshMemory();\n const envProcessed = Object.entries(this.env).map(([key, value]) => `${key}=${value}\\0`), size = envProcessed.reduce((acc, e) => acc + @Buffer.byteLength(e), 0);\n return this.view.setUint32(environCount, envProcessed.length, !0), this.view.setUint32(environBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n clock_res_get: (clockId, resolution) => {\n let res;\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID: {\n res = BigInt(1);\n break;\n }\n case constants_1.WASI_CLOCK_REALTIME: {\n res = BigInt(1000);\n break;\n }\n }\n if (!res)\n throw Error(\"invalid clockId\");\n return this.view.setBigUint64(resolution, res), constants_1.WASI_ESUCCESS;\n },\n clock_time_get: (clockId, _precision, time) => {\n this.refreshMemory();\n const n = now(clockId);\n if (n === null)\n return constants_1.WASI_EINVAL;\n return this.view.setBigUint64(time, BigInt(n), !0), constants_1.WASI_ESUCCESS;\n },\n fd_advise: wrap((fd, _offset, _len, _advice) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ADVISE), constants_1.WASI_ENOSYS;\n }),\n fd_allocate: wrap((fd, _offset, _len) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ALLOCATE), constants_1.WASI_ENOSYS;\n }),\n fd_close: wrap((fd) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return fs.closeSync(stats.real), this.FD_MAP.delete(fd), constants_1.WASI_ESUCCESS;\n }),\n fd_datasync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_DATASYNC);\n return fs.fdatasyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if (this.refreshMemory(), stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), this.view.setUint16(bufPtr + 2, 0, !0), this.view.setUint16(bufPtr + 4, 0, !0), this.view.setBigUint64(bufPtr + 8, BigInt(stats.rights.base), !0), this.view.setBigUint64(bufPtr + 8 + 8, BigInt(stats.rights.inheriting), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_set_flags: wrap((fd, flags) => {\n if (CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS), this.wasiImport.sock_fcntlSetFlags(fd, flags) == 0)\n return constants_1.WASI_ESUCCESS;\n return constants_1.WASI_ENOSYS;\n }),\n fd_fdstat_set_rights: wrap((fd, fsRightsBase, fsRightsInheriting) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if ((stats.rights.base | fsRightsBase) > stats.rights.base)\n return constants_1.WASI_EPERM;\n if ((stats.rights.inheriting | fsRightsInheriting) > stats.rights.inheriting)\n return constants_1.WASI_EPERM;\n return stats.rights.base = fsRightsBase, stats.rights.inheriting = fsRightsInheriting, constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_GET), rstats = this.fstatSync(stats.real);\n if (this.refreshMemory(), this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.atimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.mtimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.ctimeMs), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_size: wrap((fd, stSize) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);\n return fs.ftruncateSync(stats.real, Number(stSize)), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_times: wrap((fd, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES), rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n return fs.futimesSync(stats.real, new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), this.view.setUint8(bufPtr, constants_1.WASI_PREOPENTYPE_DIR), this.view.setUint32(bufPtr + 4, @Buffer.byteLength(stats.fakePath \?\? stats.path \?\? \"\"), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_dir_name: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), @Buffer.from(this.memory.buffer).write(stats.fakePath \?\? stats.path \?\? \"\", pathPtr, pathLen, \"utf8\"), constants_1.WASI_ESUCCESS;\n }),\n fd_pwrite: wrap((fd, iovs, iovsLen, offset, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SEEK);\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n let w = 0;\n while (w < iov.byteLength)\n w += fs.writeSync(stats.real, iov, w, iov.byteLength - w, Number(offset) + written + w);\n written += w;\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_write: wrap((fd, iovs, iovsLen, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE), IS_STDOUT = fd == constants_1.WASI_STDOUT_FILENO, IS_STDERR = fd == constants_1.WASI_STDERR_FILENO;\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n if (iov.byteLength == 0)\n return;\n if (IS_STDOUT && this.sendStdout != null)\n this.sendStdout(iov), written += iov.byteLength;\n else if (IS_STDERR && this.sendStderr != null)\n this.sendStderr(iov), written += iov.byteLength;\n else {\n let w = 0;\n while (w < iov.byteLength) {\n const i = fs.writeSync(stats.real, iov, w, iov.byteLength - w, stats.offset \? Number(stats.offset) : null);\n if (stats.offset)\n stats.offset += BigInt(i);\n w += i;\n }\n written += w;\n }\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_pread: wrap((fd, iovs, iovsLen, offset, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SEEK);\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n const length = iov.byteLength - r, rr = fs.readSync(stats.real, iov, r, iov.byteLength - r, Number(offset) + read + r);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n read += r;\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_read: wrap((fd, iovs, iovsLen, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ), IS_STDIN = fd == constants_1.WASI_STDIN_FILENO;\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n let length = iov.byteLength - r, position = IS_STDIN || stats.offset === void 0 \? null : Number(stats.offset), rr = 0;\n if (IS_STDIN)\n if (this.getStdin != null) {\n if (this.stdinBuffer == null)\n this.stdinBuffer = this.getStdin();\n if (this.stdinBuffer != null) {\n if (rr = this.stdinBuffer.copy(iov), rr == this.stdinBuffer.length)\n this.stdinBuffer = void 0;\n else\n this.stdinBuffer = this.stdinBuffer.slice(rr);\n if (rr > 0)\n this.lastStdin = (new Date()).valueOf();\n }\n } else {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");\n try {\n rr = fs.readSync(stats.real, iov, r, length, position);\n } catch (_err) {\n }\n if (rr == 0)\n this.shortPause();\n else\n this.lastStdin = (new Date()).valueOf();\n }\n else\n rr = fs.readSync(stats.real, iov, r, length, position);\n if (stats.filetype == constants_1.WASI_FILETYPE_REGULAR_FILE)\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(rr);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_readdir: wrap((fd, bufPtr, bufLen, cookie, bufusedPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READDIR);\n this.refreshMemory();\n const entries = fs.readdirSync(stats.path, { withFileTypes: !0 }), startPtr = bufPtr;\n for (let i = Number(cookie);i < entries.length; i += 1) {\n const entry = entries[i];\n let nameLength = @Buffer.byteLength(entry.name);\n if (bufPtr - startPtr > bufLen)\n break;\n if (this.view.setBigUint64(bufPtr, BigInt(i + 1), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n const rstats = fs.lstatSync(path.resolve(stats.path, entry.name));\n if (this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n if (this.view.setUint32(bufPtr, nameLength, !0), bufPtr += 4, bufPtr - startPtr > bufLen)\n break;\n let filetype;\n switch (!0) {\n case rstats.isBlockDevice():\n filetype = constants_1.WASI_FILETYPE_BLOCK_DEVICE;\n break;\n case rstats.isCharacterDevice():\n filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n break;\n case rstats.isDirectory():\n filetype = constants_1.WASI_FILETYPE_DIRECTORY;\n break;\n case rstats.isFIFO():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isFile():\n filetype = constants_1.WASI_FILETYPE_REGULAR_FILE;\n break;\n case rstats.isSocket():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isSymbolicLink():\n filetype = constants_1.WASI_FILETYPE_SYMBOLIC_LINK;\n break;\n default:\n filetype = constants_1.WASI_FILETYPE_UNKNOWN;\n break;\n }\n if (this.view.setUint8(bufPtr, filetype), bufPtr += 1, bufPtr += 3, bufPtr + nameLength >= startPtr + bufLen)\n break;\n @Buffer.from(this.memory.buffer).write(entry.name, bufPtr), bufPtr += nameLength;\n }\n const bufused = bufPtr - startPtr;\n return this.view.setUint32(bufusedPtr, Math.min(bufused, bufLen), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_renumber: wrap((from, to) => {\n return CHECK_FD(from, BigInt(0)), CHECK_FD(to, BigInt(0)), fs.closeSync(this.FD_MAP.get(from).real), this.FD_MAP.set(from, this.FD_MAP.get(to)), this.FD_MAP.delete(to), constants_1.WASI_ESUCCESS;\n }),\n fd_seek: wrap((fd, offset, whence, newOffsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SEEK);\n switch (this.refreshMemory(), whence) {\n case constants_1.WASI_WHENCE_CUR:\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_END:\n const { size } = this.fstatSync(stats.real);\n stats.offset = BigInt(size) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_SET:\n stats.offset = BigInt(offset);\n break;\n }\n if (stats.offset == null)\n throw Error(\"stats.offset must be defined\");\n return this.view.setBigUint64(newOffsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_tell: wrap((fd, offsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_TELL);\n if (this.refreshMemory(), !stats.offset)\n stats.offset = BigInt(0);\n return this.view.setBigUint64(offsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_sync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SYNC);\n return fs.fsyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n path_create_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.mkdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_get: wrap((fd, flags, pathPtr, pathLen, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_GET);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n let rstats;\n if (flags)\n rstats = fs.statSync(path.resolve(stats.path, p));\n else\n rstats = fs.lstatSync(path.resolve(stats.path, p));\n return this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, this.view.setUint8(bufPtr, translateFileAttributes(this, void 0, rstats).filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.atime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.mtime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ctime.getTime() * 1e6), !0), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_set_times: wrap((fd, _dirflags, pathPtr, pathLen, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.utimesSync(path.resolve(stats.path, p), new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n path_link: wrap((oldFd, _oldFlags, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_LINK_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_LINK_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.linkSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_open: wrap((dirfd, _dirflags, pathPtr, pathLen, oflags, fsRightsBase, fsRightsInheriting, fsFlags, fdPtr) => {\n try {\n const stats = CHECK_FD(dirfd, constants_1.WASI_RIGHT_PATH_OPEN);\n fsRightsBase = BigInt(fsRightsBase), fsRightsInheriting = BigInt(fsRightsInheriting);\n const read = (fsRightsBase & (constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_READDIR)) !== BigInt(0), write = (fsRightsBase & (constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ALLOCATE | constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE)) !== BigInt(0);\n let noflags;\n if (write && read)\n noflags = nodeFsConstants.O_RDWR;\n else if (read)\n noflags = nodeFsConstants.O_RDONLY;\n else if (write)\n noflags = nodeFsConstants.O_WRONLY;\n let neededBase = fsRightsBase | constants_1.WASI_RIGHT_PATH_OPEN, neededInheriting = fsRightsBase | fsRightsInheriting;\n if ((oflags & constants_1.WASI_O_CREAT) !== 0)\n noflags |= nodeFsConstants.O_CREAT, neededBase |= constants_1.WASI_RIGHT_PATH_CREATE_FILE;\n if ((oflags & constants_1.WASI_O_DIRECTORY) !== 0)\n noflags |= nodeFsConstants.O_DIRECTORY;\n if ((oflags & constants_1.WASI_O_EXCL) !== 0)\n noflags |= nodeFsConstants.O_EXCL;\n if ((oflags & constants_1.WASI_O_TRUNC) !== 0)\n noflags |= nodeFsConstants.O_TRUNC, neededBase |= constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;\n if ((fsFlags & constants_1.WASI_FDFLAG_APPEND) !== 0)\n noflags |= nodeFsConstants.O_APPEND;\n if ((fsFlags & constants_1.WASI_FDFLAG_DSYNC) !== 0) {\n if (nodeFsConstants.O_DSYNC)\n noflags |= nodeFsConstants.O_DSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_DATASYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_NONBLOCK) !== 0)\n noflags |= nodeFsConstants.O_NONBLOCK;\n if ((fsFlags & constants_1.WASI_FDFLAG_RSYNC) !== 0) {\n if (nodeFsConstants.O_RSYNC)\n noflags |= nodeFsConstants.O_RSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_SYNC) !== 0)\n noflags |= nodeFsConstants.O_SYNC, neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n if (write && (noflags & (nodeFsConstants.O_APPEND | nodeFsConstants.O_TRUNC)) === 0)\n neededInheriting |= constants_1.WASI_RIGHT_FD_SEEK;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n if (p == \"dev/tty\")\n return this.view.setUint32(fdPtr, constants_1.WASI_STDIN_FILENO, !0), constants_1.WASI_ESUCCESS;\n if (logOpen(\"path_open\", p), p.startsWith(\"proc/\"))\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n const fullUnresolved = path.resolve(p);\n let full;\n try {\n full = fs.realpathSync(fullUnresolved);\n } catch (e) {\n if (e\?.code === \"ENOENT\")\n full = fullUnresolved;\n else\n throw e;\n }\n let isDirectory;\n if (write)\n try {\n isDirectory = fs.statSync(full).isDirectory();\n } catch (_err) {\n }\n let realfd;\n if (!write && isDirectory)\n realfd = fs.openSync(full, nodeFsConstants.O_RDONLY);\n else\n realfd = fs.openSync(full, noflags);\n const newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real: realfd,\n filetype: void 0,\n rights: {\n base: neededBase,\n inheriting: neededInheriting\n },\n path: full\n }), stat(this, newfd), this.view.setUint32(fdPtr, newfd, !0);\n } catch (e) {\n console.error(e);\n }\n return constants_1.WASI_ESUCCESS;\n }),\n path_readlink: wrap((fd, pathPtr, pathLen, buf, bufLen, bufused) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_READLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(), full = path.resolve(stats.path, p), r = fs.readlinkSync(full), used = @Buffer.from(this.memory.buffer).write(r, buf, bufLen);\n return this.view.setUint32(bufused, used, !0), constants_1.WASI_ESUCCESS;\n }),\n path_remove_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.rmdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_rename: wrap((oldFd, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_RENAME_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_RENAME_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.renameSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_symlink: wrap((oldPath, oldPathLen, fd, newPath, newPathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_SYMLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.symlinkSync(op, path.resolve(stats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_unlink_file: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_UNLINK_FILE);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.unlinkSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n poll_oneoff: (sin, sout, nsubscriptions, neventsPtr) => {\n let nevents = 0, name = \"\", waitTimeNs = BigInt(0), fd = -1, fd_type = \"read\", fd_timeout_ms = 0;\n const startNs = BigInt(bindings2.hrtime());\n this.refreshMemory();\n let last_sin = sin;\n for (let i = 0;i < nsubscriptions; i += 1) {\n const userdata = this.view.getBigUint64(sin, !0);\n sin += 8;\n const type = this.view.getUint8(sin);\n if (sin += 1, sin += 7, log.enabled) {\n if (type == constants_1.WASI_EVENTTYPE_CLOCK)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_CLOCK): \";\n else if (type == constants_1.WASI_EVENTTYPE_FD_READ)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_READ): \";\n else\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): \";\n log(name);\n }\n switch (type) {\n case constants_1.WASI_EVENTTYPE_CLOCK: {\n const clockid = this.view.getUint32(sin, !0);\n sin += 4, sin += 4;\n const timeout = this.view.getBigUint64(sin, !0);\n sin += 8, sin += 8;\n const subclockflags = this.view.getUint16(sin, !0);\n sin += 2, sin += 6;\n const absolute = subclockflags === 1;\n if (log.enabled)\n log(name, { clockid, timeout, absolute });\n if (!absolute)\n fd_timeout_ms = timeout / BigInt(1e6);\n let e = constants_1.WASI_ESUCCESS;\n const t = now(clockid);\n if (t == null)\n e = constants_1.WASI_EINVAL;\n else {\n const tNS = BigInt(t), waitNs = (absolute \? timeout : tNS + timeout) - tNS;\n if (waitNs > waitTimeNs)\n waitTimeNs = waitNs;\n }\n this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, e, !0), sout += 2, this.view.setUint8(sout, constants_1.WASI_EVENTTYPE_CLOCK), sout += 1, sout += 5, nevents += 1;\n break;\n }\n case constants_1.WASI_EVENTTYPE_FD_READ:\n case constants_1.WASI_EVENTTYPE_FD_WRITE: {\n if (fd = this.view.getUint32(sin, !0), fd_type = type == constants_1.WASI_EVENTTYPE_FD_READ \? \"read\" : \"write\", sin += 4, log(name, \"fd =\", fd), sin += 28, this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, constants_1.WASI_ENOSYS, !0), sout += 2, this.view.setUint8(sout, type), sout += 1, sout += 5, nevents += 1, fd == constants_1.WASI_STDIN_FILENO && constants_1.WASI_EVENTTYPE_FD_READ == type)\n this.shortPause();\n break;\n }\n default:\n return constants_1.WASI_EINVAL;\n }\n if (sin - last_sin != 48)\n console.warn(\"*** BUG in wasi-js in poll_oneoff \", {\n i,\n sin,\n last_sin,\n diff: sin - last_sin\n });\n last_sin = sin;\n }\n if (this.view.setUint32(neventsPtr, nevents, !0), nevents == 2 && fd >= 0) {\n const r = this.wasiImport.sock_pollSocket(fd, fd_type, fd_timeout_ms);\n if (r != constants_1.WASI_ENOSYS)\n return r;\n }\n if (waitTimeNs > 0) {\n if (waitTimeNs -= Bun.nanoseconds() - timeOrigin, waitTimeNs >= 1e6) {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");\n if (this.sleep != null) {\n const ms = nsToMs(waitTimeNs);\n this.sleep(ms);\n } else {\n const end = BigInt(bindings2.hrtime()) + waitTimeNs;\n while (BigInt(bindings2.hrtime()) < end)\n ;\n }\n }\n }\n return constants_1.WASI_ESUCCESS;\n },\n proc_exit: (rval) => {\n return bindings2.exit(rval), constants_1.WASI_ESUCCESS;\n },\n proc_raise: (sig) => {\n if (!(sig in constants_1.SIGNAL_MAP))\n return constants_1.WASI_EINVAL;\n return bindings2.kill(constants_1.SIGNAL_MAP[sig]), constants_1.WASI_ESUCCESS;\n },\n random_get: (bufPtr, bufLen) => {\n return this.refreshMemory(), crypto.getRandomValues(this.memory.buffer, bufPtr, bufLen), bufLen;\n },\n sched_yield() {\n return constants_1.WASI_ESUCCESS;\n },\n sock_recv() {\n return constants_1.WASI_ENOSYS;\n },\n sock_send() {\n return constants_1.WASI_ENOSYS;\n },\n sock_shutdown() {\n return constants_1.WASI_ENOSYS;\n },\n sock_fcntlSetFlags(_fd, _flags) {\n return constants_1.WASI_ENOSYS;\n },\n sock_pollSocket(_fd, _eventtype, _timeout_ms) {\n return constants_1.WASI_ENOSYS;\n }\n }, log.enabled)\n Object.keys(this.wasiImport).forEach((key) => {\n const prevImport = this.wasiImport[key];\n this.wasiImport[key] = function(...args2) {\n log(key, args2);\n try {\n let result = prevImport(...args2);\n return log(\"result\", result), result;\n } catch (e) {\n throw log(\"error: \", e), e;\n }\n };\n });\n }\n getState() {\n return { env: this.env, FD_MAP: this.FD_MAP, bindings };\n }\n setState(state) {\n this.env = state.env, this.FD_MAP = state.FD_MAP, bindings = state.bindings;\n }\n fstatSync(real_fd) {\n if (real_fd <= 2)\n try {\n return fs.fstatSync(real_fd);\n } catch (_) {\n const now = new Date;\n return {\n dev: 0,\n mode: 8592,\n nlink: 1,\n uid: 0,\n gid: 0,\n rdev: 0,\n blksize: 65536,\n ino: 0,\n size: 0,\n blocks: 0,\n atimeMs: now.valueOf(),\n mtimeMs: now.valueOf(),\n ctimeMs: now.valueOf(),\n birthtimeMs: 0,\n atime: new Date,\n mtime: new Date,\n ctime: new Date,\n birthtime: new Date(0)\n };\n }\n return fs.fstatSync(real_fd);\n }\n shortPause() {\n if (this.sleep == null)\n return;\n if ((new Date()).valueOf() - this.lastStdin > 2000)\n this.sleep(50);\n }\n getUnusedFileDescriptor(start = 3) {\n let fd = start;\n while (this.FD_MAP.has(fd))\n fd += 1;\n if (fd > SC_OPEN_MAX)\n throw Error(\"no available file descriptors\");\n return fd;\n }\n refreshMemory() {\n if (!this.view || this.view.buffer.byteLength === 0)\n this.view = new DataView(this.memory.buffer);\n }\n setMemory(memory) {\n this.memory = memory;\n }\n start(instance, memory) {\n const exports2 = instance.exports;\n if (exports2 === null || typeof exports2 !== \"object\")\n throw new Error(`instance.exports must be an Object. Received ${exports2}.`);\n if (memory == null) {\n if (memory = exports2.memory, !(memory instanceof WebAssembly.Memory))\n throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`);\n }\n if (this.setMemory(memory), exports2._start)\n exports2._start();\n }\n getImports(module2) {\n let namespace = null;\n const imports = WebAssembly.Module.imports(module2);\n for (let imp of imports) {\n if (imp.kind !== \"function\")\n continue;\n if (!imp.module.startsWith(\"wasi_\"))\n continue;\n namespace = imp.module;\n break;\n }\n switch (namespace) {\n case \"wasi_unstable\":\n return {\n wasi_unstable: this.wasiImport\n };\n case \"wasi_snapshot_preview1\":\n return {\n wasi_snapshot_preview1: this.wasiImport\n };\n default:\n throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\" + imports.map(({ name, kind, module }) => `${module}:${name} (${kind})`).join(\"\\n\") + \"\\n\");\n }\n }\n initWasiFdInfo() {\n if (this.env.WASI_FD_INFO != null) {\n const fdInfo = JSON.parse(this.env.WASI_FD_INFO);\n for (let wasi_fd in fdInfo) {\n console.log(wasi_fd);\n const fd = parseInt(wasi_fd);\n if (this.FD_MAP.has(fd))\n continue;\n const real = fdInfo[wasi_fd];\n try {\n this.fstatSync(real);\n } catch (_err) {\n console.log(\"discarding \", { wasi_fd, real });\n continue;\n }\n const file = {\n real,\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n }\n };\n this.FD_MAP.set(fd, file);\n }\n console.log(\"after initWasiFdInfo: \", this.FD_MAP), console.log(\"fdInfo = \", fdInfo);\n } else\n console.log(\"no WASI_FD_INFO\");\n }\n };\n exports.default = WASI;\n }\n});\nreturn { WASI: require_wasi().default }})\n"); +static constexpr ASCIILiteral NodeWasiCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/wasi.ts\nvar nodeFsConstants = @processBindingConstants.fs, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_types = __commonJS({\n \"node_modules/wasi-js/dist/types.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASIKillError = exports.WASIExitError = exports.WASIError = void 0;\n var WASIError = class extends Error {\n constructor(errno) {\n super();\n this.errno = errno, Object.setPrototypeOf(this, WASIError.prototype);\n }\n };\n exports.WASIError = WASIError;\n var WASIExitError = class extends Error {\n constructor(code) {\n super(`WASI Exit error: ${code}`);\n this.code = code, Object.setPrototypeOf(this, WASIExitError.prototype);\n }\n };\n exports.WASIExitError = WASIExitError;\n var WASIKillError = class extends Error {\n constructor(signal) {\n super(`WASI Kill signal: ${signal}`);\n this.signal = signal, Object.setPrototypeOf(this, WASIKillError.prototype);\n }\n };\n exports.WASIKillError = WASIKillError;\n }\n}), require_constants = __commonJS({\n \"node_modules/wasi-js/dist/constants.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASI_ENOMSG = exports.WASI_ENOMEM = exports.WASI_ENOLINK = exports.WASI_ENOLCK = exports.WASI_ENOEXEC = exports.WASI_ENOENT = exports.WASI_ENODEV = exports.WASI_ENOBUFS = exports.WASI_ENFILE = exports.WASI_ENETUNREACH = exports.WASI_ENETRESET = exports.WASI_ENETDOWN = exports.WASI_ENAMETOOLONG = exports.WASI_EMULTIHOP = exports.WASI_EMSGSIZE = exports.WASI_EMLINK = exports.WASI_EMFILE = exports.WASI_ELOOP = exports.WASI_EISDIR = exports.WASI_EISCONN = exports.WASI_EIO = exports.WASI_EINVAL = exports.WASI_EINTR = exports.WASI_EINPROGRESS = exports.WASI_EILSEQ = exports.WASI_EIDRM = exports.WASI_EHOSTUNREACH = exports.WASI_EFBIG = exports.WASI_EFAULT = exports.WASI_EEXIST = exports.WASI_EDQUOT = exports.WASI_EDOM = exports.WASI_EDESTADDRREQ = exports.WASI_EDEADLK = exports.WASI_ECONNRESET = exports.WASI_ECONNREFUSED = exports.WASI_ECONNABORTED = exports.WASI_ECHILD = exports.WASI_ECANCELED = exports.WASI_EBUSY = exports.WASI_EBADMSG = exports.WASI_EBADF = exports.WASI_EALREADY = exports.WASI_EAGAIN = exports.WASI_EAFNOSUPPORT = exports.WASI_EADDRNOTAVAIL = exports.WASI_EADDRINUSE = exports.WASI_EACCES = exports.WASI_E2BIG = exports.WASI_ESUCCESS = void 0, exports.WASI_SIGVTALRM = exports.WASI_SIGUSR2 = exports.WASI_SIGUSR1 = exports.WASI_SIGURG = exports.WASI_SIGTTOU = exports.WASI_SIGTTIN = exports.WASI_SIGTSTP = exports.WASI_SIGTRAP = exports.WASI_SIGTERM = exports.WASI_SIGSTOP = exports.WASI_SIGSEGV = exports.WASI_SIGQUIT = exports.WASI_SIGPIPE = exports.WASI_SIGKILL = exports.WASI_SIGINT = exports.WASI_SIGILL = exports.WASI_SIGHUP = exports.WASI_SIGFPE = exports.WASI_SIGCONT = exports.WASI_SIGCHLD = exports.WASI_SIGBUS = exports.WASI_SIGALRM = exports.WASI_SIGABRT = exports.WASI_ENOTCAPABLE = exports.WASI_EXDEV = exports.WASI_ETXTBSY = exports.WASI_ETIMEDOUT = exports.WASI_ESTALE = exports.WASI_ESRCH = exports.WASI_ESPIPE = exports.WASI_EROFS = exports.WASI_ERANGE = exports.WASI_EPROTOTYPE = exports.WASI_EPROTONOSUPPORT = exports.WASI_EPROTO = exports.WASI_EPIPE = exports.WASI_EPERM = exports.WASI_EOWNERDEAD = exports.WASI_EOVERFLOW = exports.WASI_ENXIO = exports.WASI_ENOTTY = exports.WASI_ENOTSUP = exports.WASI_ENOTSOCK = exports.WASI_ENOTRECOVERABLE = exports.WASI_ENOTEMPTY = exports.WASI_ENOTDIR = exports.WASI_ENOTCONN = exports.WASI_ENOSYS = exports.WASI_ENOSPC = exports.WASI_ENOPROTOOPT = void 0, exports.RIGHTS_REGULAR_FILE_BASE = exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL = exports.WASI_RIGHT_SOCK_SHUTDOWN = exports.WASI_RIGHT_POLL_FD_READWRITE = exports.WASI_RIGHT_PATH_UNLINK_FILE = exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = exports.WASI_RIGHT_PATH_SYMLINK = exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = exports.WASI_RIGHT_FD_FILESTAT_GET = exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = exports.WASI_RIGHT_PATH_FILESTAT_GET = exports.WASI_RIGHT_PATH_RENAME_TARGET = exports.WASI_RIGHT_PATH_RENAME_SOURCE = exports.WASI_RIGHT_PATH_READLINK = exports.WASI_RIGHT_FD_READDIR = exports.WASI_RIGHT_PATH_OPEN = exports.WASI_RIGHT_PATH_LINK_TARGET = exports.WASI_RIGHT_PATH_LINK_SOURCE = exports.WASI_RIGHT_PATH_CREATE_FILE = exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = exports.WASI_RIGHT_FD_ALLOCATE = exports.WASI_RIGHT_FD_ADVISE = exports.WASI_RIGHT_FD_WRITE = exports.WASI_RIGHT_FD_TELL = exports.WASI_RIGHT_FD_SYNC = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = exports.WASI_RIGHT_FD_SEEK = exports.WASI_RIGHT_FD_READ = exports.WASI_RIGHT_FD_DATASYNC = exports.WASI_FDFLAG_SYNC = exports.WASI_FDFLAG_RSYNC = exports.WASI_FDFLAG_NONBLOCK = exports.WASI_FDFLAG_DSYNC = exports.WASI_FDFLAG_APPEND = exports.WASI_FILETYPE_SYMBOLIC_LINK = exports.WASI_FILETYPE_SOCKET_STREAM = exports.WASI_FILETYPE_SOCKET_DGRAM = exports.WASI_FILETYPE_REGULAR_FILE = exports.WASI_FILETYPE_DIRECTORY = exports.WASI_FILETYPE_CHARACTER_DEVICE = exports.WASI_FILETYPE_BLOCK_DEVICE = exports.WASI_FILETYPE_UNKNOWN = exports.WASI_SIGXFSZ = exports.WASI_SIGXCPU = void 0, exports.SIGNAL_MAP = exports.ERROR_MAP = exports.WASI_WHENCE_END = exports.WASI_WHENCE_CUR = exports.WASI_WHENCE_SET = exports.WASI_STDERR_FILENO = exports.WASI_STDOUT_FILENO = exports.WASI_STDIN_FILENO = exports.WASI_DIRCOOKIE_START = exports.WASI_PREOPENTYPE_DIR = exports.WASI_O_TRUNC = exports.WASI_O_EXCL = exports.WASI_O_DIRECTORY = exports.WASI_O_CREAT = exports.WASI_FILESTAT_SET_MTIM_NOW = exports.WASI_FILESTAT_SET_MTIM = exports.WASI_FILESTAT_SET_ATIM_NOW = exports.WASI_FILESTAT_SET_ATIM = exports.WASI_EVENTTYPE_FD_WRITE = exports.WASI_EVENTTYPE_FD_READ = exports.WASI_EVENTTYPE_CLOCK = exports.WASI_CLOCK_THREAD_CPUTIME_ID = exports.WASI_CLOCK_PROCESS_CPUTIME_ID = exports.WASI_CLOCK_MONOTONIC = exports.WASI_CLOCK_REALTIME = exports.RIGHTS_TTY_INHERITING = exports.RIGHTS_TTY_BASE = exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_SOCKET_BASE = exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE = exports.RIGHTS_REGULAR_FILE_INHERITING = void 0, exports.WASI_ESUCCESS = 0, exports.WASI_E2BIG = 1, exports.WASI_EACCES = 2, exports.WASI_EADDRINUSE = 3, exports.WASI_EADDRNOTAVAIL = 4, exports.WASI_EAFNOSUPPORT = 5, exports.WASI_EAGAIN = 6, exports.WASI_EALREADY = 7, exports.WASI_EBADF = 8, exports.WASI_EBADMSG = 9, exports.WASI_EBUSY = 10, exports.WASI_ECANCELED = 11, exports.WASI_ECHILD = 12, exports.WASI_ECONNABORTED = 13, exports.WASI_ECONNREFUSED = 14, exports.WASI_ECONNRESET = 15, exports.WASI_EDEADLK = 16, exports.WASI_EDESTADDRREQ = 17, exports.WASI_EDOM = 18, exports.WASI_EDQUOT = 19, exports.WASI_EEXIST = 20, exports.WASI_EFAULT = 21, exports.WASI_EFBIG = 22, exports.WASI_EHOSTUNREACH = 23, exports.WASI_EIDRM = 24, exports.WASI_EILSEQ = 25, exports.WASI_EINPROGRESS = 26, exports.WASI_EINTR = 27, exports.WASI_EINVAL = 28, exports.WASI_EIO = 29, exports.WASI_EISCONN = 30, exports.WASI_EISDIR = 31, exports.WASI_ELOOP = 32, exports.WASI_EMFILE = 33, exports.WASI_EMLINK = 34, exports.WASI_EMSGSIZE = 35, exports.WASI_EMULTIHOP = 36, exports.WASI_ENAMETOOLONG = 37, exports.WASI_ENETDOWN = 38, exports.WASI_ENETRESET = 39, exports.WASI_ENETUNREACH = 40, exports.WASI_ENFILE = 41, exports.WASI_ENOBUFS = 42, exports.WASI_ENODEV = 43, exports.WASI_ENOENT = 44, exports.WASI_ENOEXEC = 45, exports.WASI_ENOLCK = 46, exports.WASI_ENOLINK = 47, exports.WASI_ENOMEM = 48, exports.WASI_ENOMSG = 49, exports.WASI_ENOPROTOOPT = 50, exports.WASI_ENOSPC = 51, exports.WASI_ENOSYS = 52, exports.WASI_ENOTCONN = 53, exports.WASI_ENOTDIR = 54, exports.WASI_ENOTEMPTY = 55, exports.WASI_ENOTRECOVERABLE = 56, exports.WASI_ENOTSOCK = 57, exports.WASI_ENOTSUP = 58, exports.WASI_ENOTTY = 59, exports.WASI_ENXIO = 60, exports.WASI_EOVERFLOW = 61, exports.WASI_EOWNERDEAD = 62, exports.WASI_EPERM = 63, exports.WASI_EPIPE = 64, exports.WASI_EPROTO = 65, exports.WASI_EPROTONOSUPPORT = 66, exports.WASI_EPROTOTYPE = 67, exports.WASI_ERANGE = 68, exports.WASI_EROFS = 69, exports.WASI_ESPIPE = 70, exports.WASI_ESRCH = 71, exports.WASI_ESTALE = 72, exports.WASI_ETIMEDOUT = 73, exports.WASI_ETXTBSY = 74, exports.WASI_EXDEV = 75, exports.WASI_ENOTCAPABLE = 76, exports.WASI_SIGABRT = 0, exports.WASI_SIGALRM = 1, exports.WASI_SIGBUS = 2, exports.WASI_SIGCHLD = 3, exports.WASI_SIGCONT = 4, exports.WASI_SIGFPE = 5, exports.WASI_SIGHUP = 6, exports.WASI_SIGILL = 7, exports.WASI_SIGINT = 8, exports.WASI_SIGKILL = 9, exports.WASI_SIGPIPE = 10, exports.WASI_SIGQUIT = 11, exports.WASI_SIGSEGV = 12, exports.WASI_SIGSTOP = 13, exports.WASI_SIGTERM = 14, exports.WASI_SIGTRAP = 15, exports.WASI_SIGTSTP = 16, exports.WASI_SIGTTIN = 17, exports.WASI_SIGTTOU = 18, exports.WASI_SIGURG = 19, exports.WASI_SIGUSR1 = 20, exports.WASI_SIGUSR2 = 21, exports.WASI_SIGVTALRM = 22, exports.WASI_SIGXCPU = 23, exports.WASI_SIGXFSZ = 24, exports.WASI_FILETYPE_UNKNOWN = 0, exports.WASI_FILETYPE_BLOCK_DEVICE = 1, exports.WASI_FILETYPE_CHARACTER_DEVICE = 2, exports.WASI_FILETYPE_DIRECTORY = 3, exports.WASI_FILETYPE_REGULAR_FILE = 4, exports.WASI_FILETYPE_SOCKET_DGRAM = 5, exports.WASI_FILETYPE_SOCKET_STREAM = 6, exports.WASI_FILETYPE_SYMBOLIC_LINK = 7, exports.WASI_FDFLAG_APPEND = 1, exports.WASI_FDFLAG_DSYNC = 2, exports.WASI_FDFLAG_NONBLOCK = 4, exports.WASI_FDFLAG_RSYNC = 8, exports.WASI_FDFLAG_SYNC = 16, exports.WASI_RIGHT_FD_DATASYNC = BigInt(1), exports.WASI_RIGHT_FD_READ = BigInt(2), exports.WASI_RIGHT_FD_SEEK = BigInt(4), exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = BigInt(8), exports.WASI_RIGHT_FD_SYNC = BigInt(16), exports.WASI_RIGHT_FD_TELL = BigInt(32), exports.WASI_RIGHT_FD_WRITE = BigInt(64), exports.WASI_RIGHT_FD_ADVISE = BigInt(128), exports.WASI_RIGHT_FD_ALLOCATE = BigInt(256), exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = BigInt(512), exports.WASI_RIGHT_PATH_CREATE_FILE = BigInt(1024), exports.WASI_RIGHT_PATH_LINK_SOURCE = BigInt(2048), exports.WASI_RIGHT_PATH_LINK_TARGET = BigInt(4096), exports.WASI_RIGHT_PATH_OPEN = BigInt(8192), exports.WASI_RIGHT_FD_READDIR = BigInt(16384), exports.WASI_RIGHT_PATH_READLINK = BigInt(32768), exports.WASI_RIGHT_PATH_RENAME_SOURCE = BigInt(65536), exports.WASI_RIGHT_PATH_RENAME_TARGET = BigInt(131072), exports.WASI_RIGHT_PATH_FILESTAT_GET = BigInt(262144), exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = BigInt(524288), exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = BigInt(1048576), exports.WASI_RIGHT_FD_FILESTAT_GET = BigInt(2097152), exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = BigInt(4194304), exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = BigInt(8388608), exports.WASI_RIGHT_PATH_SYMLINK = BigInt(16777216), exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = BigInt(33554432), exports.WASI_RIGHT_PATH_UNLINK_FILE = BigInt(67108864), exports.WASI_RIGHT_POLL_FD_READWRITE = BigInt(134217728), exports.WASI_RIGHT_SOCK_SHUTDOWN = BigInt(268435456), exports.RIGHTS_ALL = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_REGULAR_FILE_BASE = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_REGULAR_FILE_INHERITING = BigInt(0), exports.RIGHTS_DIRECTORY_BASE = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE | exports.RIGHTS_REGULAR_FILE_BASE, exports.RIGHTS_SOCKET_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_TTY_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_TTY_INHERITING = BigInt(0), exports.WASI_CLOCK_REALTIME = 0, exports.WASI_CLOCK_MONOTONIC = 1, exports.WASI_CLOCK_PROCESS_CPUTIME_ID = 2, exports.WASI_CLOCK_THREAD_CPUTIME_ID = 3, exports.WASI_EVENTTYPE_CLOCK = 0, exports.WASI_EVENTTYPE_FD_READ = 1, exports.WASI_EVENTTYPE_FD_WRITE = 2, exports.WASI_FILESTAT_SET_ATIM = 1 << 0, exports.WASI_FILESTAT_SET_ATIM_NOW = 1 << 1, exports.WASI_FILESTAT_SET_MTIM = 1 << 2, exports.WASI_FILESTAT_SET_MTIM_NOW = 1 << 3, exports.WASI_O_CREAT = 1 << 0, exports.WASI_O_DIRECTORY = 1 << 1, exports.WASI_O_EXCL = 1 << 2, exports.WASI_O_TRUNC = 1 << 3, exports.WASI_PREOPENTYPE_DIR = 0, exports.WASI_DIRCOOKIE_START = 0, exports.WASI_STDIN_FILENO = 0, exports.WASI_STDOUT_FILENO = 1, exports.WASI_STDERR_FILENO = 2, exports.WASI_WHENCE_SET = 0, exports.WASI_WHENCE_CUR = 1, exports.WASI_WHENCE_END = 2, exports.ERROR_MAP = {\n E2BIG: exports.WASI_E2BIG,\n EACCES: exports.WASI_EACCES,\n EADDRINUSE: exports.WASI_EADDRINUSE,\n EADDRNOTAVAIL: exports.WASI_EADDRNOTAVAIL,\n EAFNOSUPPORT: exports.WASI_EAFNOSUPPORT,\n EALREADY: exports.WASI_EALREADY,\n EAGAIN: exports.WASI_EAGAIN,\n EBADF: exports.WASI_EBADF,\n EBADMSG: exports.WASI_EBADMSG,\n EBUSY: exports.WASI_EBUSY,\n ECANCELED: exports.WASI_ECANCELED,\n ECHILD: exports.WASI_ECHILD,\n ECONNABORTED: exports.WASI_ECONNABORTED,\n ECONNREFUSED: exports.WASI_ECONNREFUSED,\n ECONNRESET: exports.WASI_ECONNRESET,\n EDEADLOCK: exports.WASI_EDEADLK,\n EDESTADDRREQ: exports.WASI_EDESTADDRREQ,\n EDOM: exports.WASI_EDOM,\n EDQUOT: exports.WASI_EDQUOT,\n EEXIST: exports.WASI_EEXIST,\n EFAULT: exports.WASI_EFAULT,\n EFBIG: exports.WASI_EFBIG,\n EHOSTDOWN: exports.WASI_EHOSTUNREACH,\n EHOSTUNREACH: exports.WASI_EHOSTUNREACH,\n EIDRM: exports.WASI_EIDRM,\n EILSEQ: exports.WASI_EILSEQ,\n EINPROGRESS: exports.WASI_EINPROGRESS,\n EINTR: exports.WASI_EINTR,\n EINVAL: exports.WASI_EINVAL,\n EIO: exports.WASI_EIO,\n EISCONN: exports.WASI_EISCONN,\n EISDIR: exports.WASI_EISDIR,\n ELOOP: exports.WASI_ELOOP,\n EMFILE: exports.WASI_EMFILE,\n EMLINK: exports.WASI_EMLINK,\n EMSGSIZE: exports.WASI_EMSGSIZE,\n EMULTIHOP: exports.WASI_EMULTIHOP,\n ENAMETOOLONG: exports.WASI_ENAMETOOLONG,\n ENETDOWN: exports.WASI_ENETDOWN,\n ENETRESET: exports.WASI_ENETRESET,\n ENETUNREACH: exports.WASI_ENETUNREACH,\n ENFILE: exports.WASI_ENFILE,\n ENOBUFS: exports.WASI_ENOBUFS,\n ENODEV: exports.WASI_ENODEV,\n ENOENT: exports.WASI_ENOENT,\n ENOEXEC: exports.WASI_ENOEXEC,\n ENOLCK: exports.WASI_ENOLCK,\n ENOLINK: exports.WASI_ENOLINK,\n ENOMEM: exports.WASI_ENOMEM,\n ENOMSG: exports.WASI_ENOMSG,\n ENOPROTOOPT: exports.WASI_ENOPROTOOPT,\n ENOSPC: exports.WASI_ENOSPC,\n ENOSYS: exports.WASI_ENOSYS,\n ENOTCONN: exports.WASI_ENOTCONN,\n ENOTDIR: exports.WASI_ENOTDIR,\n ENOTEMPTY: exports.WASI_ENOTEMPTY,\n ENOTRECOVERABLE: exports.WASI_ENOTRECOVERABLE,\n ENOTSOCK: exports.WASI_ENOTSOCK,\n ENOTTY: exports.WASI_ENOTTY,\n ENXIO: exports.WASI_ENXIO,\n EOVERFLOW: exports.WASI_EOVERFLOW,\n EOWNERDEAD: exports.WASI_EOWNERDEAD,\n EPERM: exports.WASI_EPERM,\n EPIPE: exports.WASI_EPIPE,\n EPROTO: exports.WASI_EPROTO,\n EPROTONOSUPPORT: exports.WASI_EPROTONOSUPPORT,\n EPROTOTYPE: exports.WASI_EPROTOTYPE,\n ERANGE: exports.WASI_ERANGE,\n EROFS: exports.WASI_EROFS,\n ESPIPE: exports.WASI_ESPIPE,\n ESRCH: exports.WASI_ESRCH,\n ESTALE: exports.WASI_ESTALE,\n ETIMEDOUT: exports.WASI_ETIMEDOUT,\n ETXTBSY: exports.WASI_ETXTBSY,\n EXDEV: exports.WASI_EXDEV\n }, exports.SIGNAL_MAP = {\n [exports.WASI_SIGHUP]: \"SIGHUP\",\n [exports.WASI_SIGINT]: \"SIGINT\",\n [exports.WASI_SIGQUIT]: \"SIGQUIT\",\n [exports.WASI_SIGILL]: \"SIGILL\",\n [exports.WASI_SIGTRAP]: \"SIGTRAP\",\n [exports.WASI_SIGABRT]: \"SIGABRT\",\n [exports.WASI_SIGBUS]: \"SIGBUS\",\n [exports.WASI_SIGFPE]: \"SIGFPE\",\n [exports.WASI_SIGKILL]: \"SIGKILL\",\n [exports.WASI_SIGUSR1]: \"SIGUSR1\",\n [exports.WASI_SIGSEGV]: \"SIGSEGV\",\n [exports.WASI_SIGUSR2]: \"SIGUSR2\",\n [exports.WASI_SIGPIPE]: \"SIGPIPE\",\n [exports.WASI_SIGALRM]: \"SIGALRM\",\n [exports.WASI_SIGTERM]: \"SIGTERM\",\n [exports.WASI_SIGCHLD]: \"SIGCHLD\",\n [exports.WASI_SIGCONT]: \"SIGCONT\",\n [exports.WASI_SIGSTOP]: \"SIGSTOP\",\n [exports.WASI_SIGTSTP]: \"SIGTSTP\",\n [exports.WASI_SIGTTIN]: \"SIGTTIN\",\n [exports.WASI_SIGTTOU]: \"SIGTTOU\",\n [exports.WASI_SIGURG]: \"SIGURG\",\n [exports.WASI_SIGXCPU]: \"SIGXCPU\",\n [exports.WASI_SIGXFSZ]: \"SIGXFSZ\",\n [exports.WASI_SIGVTALRM]: \"SIGVTALRM\"\n };\n }\n}), require_wasi = __commonJS({\n \"node_modules/wasi-js/dist/wasi.js\"(exports) {\n var __importDefault = exports && exports.__importDefault || function(mod) {\n return mod && mod.__esModule \? mod : { default: mod };\n };\n let fs;\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.SOCKET_DEFAULT_RIGHTS = void 0;\n var log = () => {\n }, logOpen = () => {\n }, SC_OPEN_MAX = 32768, types_1 = require_types(), constants_1 = require_constants(), STDIN_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDOUT_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDERR_DEFAULT_RIGHTS = STDOUT_DEFAULT_RIGHTS;\n exports.SOCKET_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE | constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;\n var msToNs = (ms) => {\n const msInt = Math.trunc(ms), decimal = BigInt(Math.round((ms - msInt) * 1e6));\n return BigInt(msInt) * BigInt(1e6) + decimal;\n }, nsToMs = (ns) => {\n if (typeof ns === \"number\")\n ns = Math.trunc(ns);\n const nsInt = BigInt(ns);\n return Number(nsInt / BigInt(1e6));\n }, wrap = (f) => (...args) => {\n try {\n return f(...args);\n } catch (err) {\n let e = err;\n while (e.prev != null)\n e = e.prev;\n if (e\?.code && typeof e\?.code === \"string\")\n return constants_1.ERROR_MAP[e.code] || constants_1.WASI_EINVAL;\n if (e instanceof types_1.WASIError)\n return e.errno;\n throw e;\n }\n }, stat = (wasi, fd) => {\n const entry = wasi.FD_MAP.get(fd);\n if (!entry)\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n if (entry.filetype === void 0) {\n const stats = wasi.fstatSync(entry.real), { filetype, rightsBase, rightsInheriting } = translateFileAttributes(wasi, fd, stats);\n if (entry.filetype = filetype, !entry.rights)\n entry.rights = {\n base: rightsBase,\n inheriting: rightsInheriting\n };\n }\n return entry;\n }, translateFileAttributes = (wasi, fd, stats) => {\n switch (!0) {\n case stats.isBlockDevice():\n return {\n filetype: constants_1.WASI_FILETYPE_BLOCK_DEVICE,\n rightsBase: constants_1.RIGHTS_BLOCK_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_BLOCK_DEVICE_INHERITING\n };\n case stats.isCharacterDevice(): {\n const filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n if (fd !== void 0 && wasi.bindings.isTTY(fd))\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_TTY_BASE,\n rightsInheriting: constants_1.RIGHTS_TTY_INHERITING\n };\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_CHARACTER_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING\n };\n }\n case stats.isDirectory():\n return {\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rightsBase: constants_1.RIGHTS_DIRECTORY_BASE,\n rightsInheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n };\n case stats.isFIFO():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isFile():\n return {\n filetype: constants_1.WASI_FILETYPE_REGULAR_FILE,\n rightsBase: constants_1.RIGHTS_REGULAR_FILE_BASE,\n rightsInheriting: constants_1.RIGHTS_REGULAR_FILE_INHERITING\n };\n case stats.isSocket():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isSymbolicLink():\n return {\n filetype: constants_1.WASI_FILETYPE_SYMBOLIC_LINK,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n default:\n return {\n filetype: constants_1.WASI_FILETYPE_UNKNOWN,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n }\n }, warnedAboutSleep = !1, defaultConfig;\n function getDefaults() {\n if (defaultConfig)\n return defaultConfig;\n const defaultBindings = {\n hrtime: () => process.hrtime.bigint(),\n exit: (code) => {\n process.exit(code);\n },\n kill: (signal) => {\n process.kill(process.pid, signal);\n },\n randomFillSync: (array) => crypto.getRandomValues(array),\n isTTY: (fd) => (@getInternalField(@internalModuleRegistry, 46) || @createInternalModuleById(46)).isatty(fd),\n fs: Bun.fs(),\n path: @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)\n };\n return defaultConfig = {\n args: [],\n env: {},\n preopens: {},\n bindings: defaultBindings,\n sleep: (ms) => {\n Bun.sleepSync(ms);\n }\n };\n }\n var WASI = class WASI2 {\n constructor(wasiConfig = {}) {\n const defaultConfig2 = getDefaults();\n this.lastStdin = 0, this.sleep = wasiConfig.sleep || defaultConfig2.sleep, this.getStdin = wasiConfig.getStdin, this.sendStdout = wasiConfig.sendStdout, this.sendStderr = wasiConfig.sendStderr;\n let preopens = wasiConfig.preopens \?\? defaultConfig2.preopens;\n this.env = wasiConfig.env \?\? defaultConfig2.env;\n const args = wasiConfig.args \?\? defaultConfig2.args;\n this.memory = void 0, this.view = void 0, this.bindings = wasiConfig.bindings || defaultConfig2.bindings;\n const bindings2 = this.bindings;\n fs = bindings2.fs, this.FD_MAP = new Map([\n [\n constants_1.WASI_STDIN_FILENO,\n {\n real: 0,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdin\"\n }\n ],\n [\n constants_1.WASI_STDOUT_FILENO,\n {\n real: 1,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDOUT_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdout\"\n }\n ],\n [\n constants_1.WASI_STDERR_FILENO,\n {\n real: 2,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDERR_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stderr\"\n }\n ]\n ]);\n const path = bindings2.path;\n for (let [k, v] of Object.entries(preopens)) {\n const real = fs.openSync(v, nodeFsConstants.O_RDONLY), newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real,\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rights: {\n base: constants_1.RIGHTS_DIRECTORY_BASE,\n inheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n },\n fakePath: k,\n path: v\n });\n }\n const getiovs = (iovs, iovsLen) => {\n this.refreshMemory();\n const { view, memory } = this, { buffer } = memory, { byteLength } = buffer;\n if (iovsLen === 1) {\n const ptr = iovs, buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n return [new @Uint8Array(buffer, buf, bufLen)];\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n const buffers = [];\n buffers.length = iovsLen;\n for (let i = 0, ptr = iovs;i < iovsLen; i++, ptr += 8) {\n const buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n buffers[i] = new @Uint8Array(buffer, buf, bufLen);\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n return buffers;\n }, CHECK_FD = (fd, rights) => {\n const stats = stat(this, fd);\n if (rights !== BigInt(0) && (stats.rights.base & rights) === BigInt(0))\n throw new types_1.WASIError(constants_1.WASI_EPERM);\n return stats;\n }, CPUTIME_START = Bun.nanoseconds(), timeOrigin = Math.trunc(performance.timeOrigin * 1e6), now = (clockId) => {\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n return Bun.nanoseconds();\n case constants_1.WASI_CLOCK_REALTIME:\n return Bun.nanoseconds() + timeOrigin;\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:\n return Bun.nanoseconds() - CPUTIME_START;\n default:\n return null;\n }\n };\n if (this.wasiImport = {\n args_get: (argv, argvBuf) => {\n this.refreshMemory();\n let coffset = argv, offset = argvBuf;\n return args.forEach((a) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${a}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n args_sizes_get: (argc, argvBufSize) => {\n this.refreshMemory(), this.view.setUint32(argc, args.length, !0);\n const size = args.reduce((acc, a) => acc + @Buffer.byteLength(a) + 1, 0);\n return this.view.setUint32(argvBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n environ_get: (environ, environBuf) => {\n this.refreshMemory();\n let coffset = environ, offset = environBuf;\n return Object.entries(this.env).forEach(([key, value]) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n environ_sizes_get: (environCount, environBufSize) => {\n this.refreshMemory();\n const envProcessed = Object.entries(this.env).map(([key, value]) => `${key}=${value}\\0`), size = envProcessed.reduce((acc, e) => acc + @Buffer.byteLength(e), 0);\n return this.view.setUint32(environCount, envProcessed.length, !0), this.view.setUint32(environBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n clock_res_get: (clockId, resolution) => {\n let res;\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID: {\n res = BigInt(1);\n break;\n }\n case constants_1.WASI_CLOCK_REALTIME: {\n res = BigInt(1000);\n break;\n }\n }\n if (!res)\n throw Error(\"invalid clockId\");\n return this.view.setBigUint64(resolution, res), constants_1.WASI_ESUCCESS;\n },\n clock_time_get: (clockId, _precision, time) => {\n this.refreshMemory();\n const n = now(clockId);\n if (n === null)\n return constants_1.WASI_EINVAL;\n return this.view.setBigUint64(time, BigInt(n), !0), constants_1.WASI_ESUCCESS;\n },\n fd_advise: wrap((fd, _offset, _len, _advice) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ADVISE), constants_1.WASI_ENOSYS;\n }),\n fd_allocate: wrap((fd, _offset, _len) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ALLOCATE), constants_1.WASI_ENOSYS;\n }),\n fd_close: wrap((fd) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return fs.closeSync(stats.real), this.FD_MAP.delete(fd), constants_1.WASI_ESUCCESS;\n }),\n fd_datasync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_DATASYNC);\n return fs.fdatasyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if (this.refreshMemory(), stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), this.view.setUint16(bufPtr + 2, 0, !0), this.view.setUint16(bufPtr + 4, 0, !0), this.view.setBigUint64(bufPtr + 8, BigInt(stats.rights.base), !0), this.view.setBigUint64(bufPtr + 8 + 8, BigInt(stats.rights.inheriting), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_set_flags: wrap((fd, flags) => {\n if (CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS), this.wasiImport.sock_fcntlSetFlags(fd, flags) == 0)\n return constants_1.WASI_ESUCCESS;\n return constants_1.WASI_ENOSYS;\n }),\n fd_fdstat_set_rights: wrap((fd, fsRightsBase, fsRightsInheriting) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if ((stats.rights.base | fsRightsBase) > stats.rights.base)\n return constants_1.WASI_EPERM;\n if ((stats.rights.inheriting | fsRightsInheriting) > stats.rights.inheriting)\n return constants_1.WASI_EPERM;\n return stats.rights.base = fsRightsBase, stats.rights.inheriting = fsRightsInheriting, constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_GET), rstats = this.fstatSync(stats.real);\n if (this.refreshMemory(), this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.atimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.mtimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.ctimeMs), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_size: wrap((fd, stSize) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);\n return fs.ftruncateSync(stats.real, Number(stSize)), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_times: wrap((fd, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES), rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n return fs.futimesSync(stats.real, new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), this.view.setUint8(bufPtr, constants_1.WASI_PREOPENTYPE_DIR), this.view.setUint32(bufPtr + 4, @Buffer.byteLength(stats.fakePath \?\? stats.path \?\? \"\"), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_dir_name: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), @Buffer.from(this.memory.buffer).write(stats.fakePath \?\? stats.path \?\? \"\", pathPtr, pathLen, \"utf8\"), constants_1.WASI_ESUCCESS;\n }),\n fd_pwrite: wrap((fd, iovs, iovsLen, offset, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SEEK);\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n let w = 0;\n while (w < iov.byteLength)\n w += fs.writeSync(stats.real, iov, w, iov.byteLength - w, Number(offset) + written + w);\n written += w;\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_write: wrap((fd, iovs, iovsLen, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE), IS_STDOUT = fd == constants_1.WASI_STDOUT_FILENO, IS_STDERR = fd == constants_1.WASI_STDERR_FILENO;\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n if (iov.byteLength == 0)\n return;\n if (IS_STDOUT && this.sendStdout != null)\n this.sendStdout(iov), written += iov.byteLength;\n else if (IS_STDERR && this.sendStderr != null)\n this.sendStderr(iov), written += iov.byteLength;\n else {\n let w = 0;\n while (w < iov.byteLength) {\n const i = fs.writeSync(stats.real, iov, w, iov.byteLength - w, stats.offset \? Number(stats.offset) : null);\n if (stats.offset)\n stats.offset += BigInt(i);\n w += i;\n }\n written += w;\n }\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_pread: wrap((fd, iovs, iovsLen, offset, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SEEK);\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n const length = iov.byteLength - r, rr = fs.readSync(stats.real, iov, r, iov.byteLength - r, Number(offset) + read + r);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n read += r;\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_read: wrap((fd, iovs, iovsLen, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ), IS_STDIN = fd == constants_1.WASI_STDIN_FILENO;\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n let length = iov.byteLength - r, position = IS_STDIN || stats.offset === void 0 \? null : Number(stats.offset), rr = 0;\n if (IS_STDIN)\n if (this.getStdin != null) {\n if (this.stdinBuffer == null)\n this.stdinBuffer = this.getStdin();\n if (this.stdinBuffer != null) {\n if (rr = this.stdinBuffer.copy(iov), rr == this.stdinBuffer.length)\n this.stdinBuffer = void 0;\n else\n this.stdinBuffer = this.stdinBuffer.slice(rr);\n if (rr > 0)\n this.lastStdin = (new Date()).valueOf();\n }\n } else {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");\n try {\n rr = fs.readSync(stats.real, iov, r, length, position);\n } catch (_err) {\n }\n if (rr == 0)\n this.shortPause();\n else\n this.lastStdin = (new Date()).valueOf();\n }\n else\n rr = fs.readSync(stats.real, iov, r, length, position);\n if (stats.filetype == constants_1.WASI_FILETYPE_REGULAR_FILE)\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(rr);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_readdir: wrap((fd, bufPtr, bufLen, cookie, bufusedPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READDIR);\n this.refreshMemory();\n const entries = fs.readdirSync(stats.path, { withFileTypes: !0 }), startPtr = bufPtr;\n for (let i = Number(cookie);i < entries.length; i += 1) {\n const entry = entries[i];\n let nameLength = @Buffer.byteLength(entry.name);\n if (bufPtr - startPtr > bufLen)\n break;\n if (this.view.setBigUint64(bufPtr, BigInt(i + 1), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n const rstats = fs.lstatSync(path.resolve(stats.path, entry.name));\n if (this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n if (this.view.setUint32(bufPtr, nameLength, !0), bufPtr += 4, bufPtr - startPtr > bufLen)\n break;\n let filetype;\n switch (!0) {\n case rstats.isBlockDevice():\n filetype = constants_1.WASI_FILETYPE_BLOCK_DEVICE;\n break;\n case rstats.isCharacterDevice():\n filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n break;\n case rstats.isDirectory():\n filetype = constants_1.WASI_FILETYPE_DIRECTORY;\n break;\n case rstats.isFIFO():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isFile():\n filetype = constants_1.WASI_FILETYPE_REGULAR_FILE;\n break;\n case rstats.isSocket():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isSymbolicLink():\n filetype = constants_1.WASI_FILETYPE_SYMBOLIC_LINK;\n break;\n default:\n filetype = constants_1.WASI_FILETYPE_UNKNOWN;\n break;\n }\n if (this.view.setUint8(bufPtr, filetype), bufPtr += 1, bufPtr += 3, bufPtr + nameLength >= startPtr + bufLen)\n break;\n @Buffer.from(this.memory.buffer).write(entry.name, bufPtr), bufPtr += nameLength;\n }\n const bufused = bufPtr - startPtr;\n return this.view.setUint32(bufusedPtr, Math.min(bufused, bufLen), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_renumber: wrap((from, to) => {\n return CHECK_FD(from, BigInt(0)), CHECK_FD(to, BigInt(0)), fs.closeSync(this.FD_MAP.get(from).real), this.FD_MAP.set(from, this.FD_MAP.get(to)), this.FD_MAP.delete(to), constants_1.WASI_ESUCCESS;\n }),\n fd_seek: wrap((fd, offset, whence, newOffsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SEEK);\n switch (this.refreshMemory(), whence) {\n case constants_1.WASI_WHENCE_CUR:\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_END:\n const { size } = this.fstatSync(stats.real);\n stats.offset = BigInt(size) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_SET:\n stats.offset = BigInt(offset);\n break;\n }\n if (stats.offset == null)\n throw Error(\"stats.offset must be defined\");\n return this.view.setBigUint64(newOffsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_tell: wrap((fd, offsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_TELL);\n if (this.refreshMemory(), !stats.offset)\n stats.offset = BigInt(0);\n return this.view.setBigUint64(offsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_sync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SYNC);\n return fs.fsyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n path_create_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.mkdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_get: wrap((fd, flags, pathPtr, pathLen, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_GET);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n let rstats;\n if (flags)\n rstats = fs.statSync(path.resolve(stats.path, p));\n else\n rstats = fs.lstatSync(path.resolve(stats.path, p));\n return this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, this.view.setUint8(bufPtr, translateFileAttributes(this, void 0, rstats).filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.atime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.mtime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ctime.getTime() * 1e6), !0), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_set_times: wrap((fd, _dirflags, pathPtr, pathLen, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.utimesSync(path.resolve(stats.path, p), new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n path_link: wrap((oldFd, _oldFlags, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_LINK_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_LINK_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.linkSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_open: wrap((dirfd, _dirflags, pathPtr, pathLen, oflags, fsRightsBase, fsRightsInheriting, fsFlags, fdPtr) => {\n try {\n const stats = CHECK_FD(dirfd, constants_1.WASI_RIGHT_PATH_OPEN);\n fsRightsBase = BigInt(fsRightsBase), fsRightsInheriting = BigInt(fsRightsInheriting);\n const read = (fsRightsBase & (constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_READDIR)) !== BigInt(0), write = (fsRightsBase & (constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ALLOCATE | constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE)) !== BigInt(0);\n let noflags;\n if (write && read)\n noflags = nodeFsConstants.O_RDWR;\n else if (read)\n noflags = nodeFsConstants.O_RDONLY;\n else if (write)\n noflags = nodeFsConstants.O_WRONLY;\n let neededBase = fsRightsBase | constants_1.WASI_RIGHT_PATH_OPEN, neededInheriting = fsRightsBase | fsRightsInheriting;\n if ((oflags & constants_1.WASI_O_CREAT) !== 0)\n noflags |= nodeFsConstants.O_CREAT, neededBase |= constants_1.WASI_RIGHT_PATH_CREATE_FILE;\n if ((oflags & constants_1.WASI_O_DIRECTORY) !== 0)\n noflags |= nodeFsConstants.O_DIRECTORY;\n if ((oflags & constants_1.WASI_O_EXCL) !== 0)\n noflags |= nodeFsConstants.O_EXCL;\n if ((oflags & constants_1.WASI_O_TRUNC) !== 0)\n noflags |= nodeFsConstants.O_TRUNC, neededBase |= constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;\n if ((fsFlags & constants_1.WASI_FDFLAG_APPEND) !== 0)\n noflags |= nodeFsConstants.O_APPEND;\n if ((fsFlags & constants_1.WASI_FDFLAG_DSYNC) !== 0) {\n if (nodeFsConstants.O_DSYNC)\n noflags |= nodeFsConstants.O_DSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_DATASYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_NONBLOCK) !== 0)\n noflags |= nodeFsConstants.O_NONBLOCK;\n if ((fsFlags & constants_1.WASI_FDFLAG_RSYNC) !== 0) {\n if (nodeFsConstants.O_RSYNC)\n noflags |= nodeFsConstants.O_RSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_SYNC) !== 0)\n noflags |= nodeFsConstants.O_SYNC, neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n if (write && (noflags & (nodeFsConstants.O_APPEND | nodeFsConstants.O_TRUNC)) === 0)\n neededInheriting |= constants_1.WASI_RIGHT_FD_SEEK;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n if (p == \"dev/tty\")\n return this.view.setUint32(fdPtr, constants_1.WASI_STDIN_FILENO, !0), constants_1.WASI_ESUCCESS;\n if (logOpen(\"path_open\", p), p.startsWith(\"proc/\"))\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n const fullUnresolved = path.resolve(p);\n let full;\n try {\n full = fs.realpathSync(fullUnresolved);\n } catch (e) {\n if (e\?.code === \"ENOENT\")\n full = fullUnresolved;\n else\n throw e;\n }\n let isDirectory;\n if (write)\n try {\n isDirectory = fs.statSync(full).isDirectory();\n } catch (_err) {\n }\n let realfd;\n if (!write && isDirectory)\n realfd = fs.openSync(full, nodeFsConstants.O_RDONLY);\n else\n realfd = fs.openSync(full, noflags);\n const newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real: realfd,\n filetype: void 0,\n rights: {\n base: neededBase,\n inheriting: neededInheriting\n },\n path: full\n }), stat(this, newfd), this.view.setUint32(fdPtr, newfd, !0);\n } catch (e) {\n console.error(e);\n }\n return constants_1.WASI_ESUCCESS;\n }),\n path_readlink: wrap((fd, pathPtr, pathLen, buf, bufLen, bufused) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_READLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(), full = path.resolve(stats.path, p), r = fs.readlinkSync(full), used = @Buffer.from(this.memory.buffer).write(r, buf, bufLen);\n return this.view.setUint32(bufused, used, !0), constants_1.WASI_ESUCCESS;\n }),\n path_remove_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.rmdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_rename: wrap((oldFd, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_RENAME_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_RENAME_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.renameSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_symlink: wrap((oldPath, oldPathLen, fd, newPath, newPathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_SYMLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.symlinkSync(op, path.resolve(stats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_unlink_file: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_UNLINK_FILE);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.unlinkSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n poll_oneoff: (sin, sout, nsubscriptions, neventsPtr) => {\n let nevents = 0, name = \"\", waitTimeNs = BigInt(0), fd = -1, fd_type = \"read\", fd_timeout_ms = 0;\n const startNs = BigInt(bindings2.hrtime());\n this.refreshMemory();\n let last_sin = sin;\n for (let i = 0;i < nsubscriptions; i += 1) {\n const userdata = this.view.getBigUint64(sin, !0);\n sin += 8;\n const type = this.view.getUint8(sin);\n if (sin += 1, sin += 7, log.enabled) {\n if (type == constants_1.WASI_EVENTTYPE_CLOCK)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_CLOCK): \";\n else if (type == constants_1.WASI_EVENTTYPE_FD_READ)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_READ): \";\n else\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): \";\n log(name);\n }\n switch (type) {\n case constants_1.WASI_EVENTTYPE_CLOCK: {\n const clockid = this.view.getUint32(sin, !0);\n sin += 4, sin += 4;\n const timeout = this.view.getBigUint64(sin, !0);\n sin += 8, sin += 8;\n const subclockflags = this.view.getUint16(sin, !0);\n sin += 2, sin += 6;\n const absolute = subclockflags === 1;\n if (log.enabled)\n log(name, { clockid, timeout, absolute });\n if (!absolute)\n fd_timeout_ms = timeout / BigInt(1e6);\n let e = constants_1.WASI_ESUCCESS;\n const t = now(clockid);\n if (t == null)\n e = constants_1.WASI_EINVAL;\n else {\n const tNS = BigInt(t), waitNs = (absolute \? timeout : tNS + timeout) - tNS;\n if (waitNs > waitTimeNs)\n waitTimeNs = waitNs;\n }\n this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, e, !0), sout += 2, this.view.setUint8(sout, constants_1.WASI_EVENTTYPE_CLOCK), sout += 1, sout += 5, nevents += 1;\n break;\n }\n case constants_1.WASI_EVENTTYPE_FD_READ:\n case constants_1.WASI_EVENTTYPE_FD_WRITE: {\n if (fd = this.view.getUint32(sin, !0), fd_type = type == constants_1.WASI_EVENTTYPE_FD_READ \? \"read\" : \"write\", sin += 4, log(name, \"fd =\", fd), sin += 28, this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, constants_1.WASI_ENOSYS, !0), sout += 2, this.view.setUint8(sout, type), sout += 1, sout += 5, nevents += 1, fd == constants_1.WASI_STDIN_FILENO && constants_1.WASI_EVENTTYPE_FD_READ == type)\n this.shortPause();\n break;\n }\n default:\n return constants_1.WASI_EINVAL;\n }\n if (sin - last_sin != 48)\n console.warn(\"*** BUG in wasi-js in poll_oneoff \", {\n i,\n sin,\n last_sin,\n diff: sin - last_sin\n });\n last_sin = sin;\n }\n if (this.view.setUint32(neventsPtr, nevents, !0), nevents == 2 && fd >= 0) {\n const r = this.wasiImport.sock_pollSocket(fd, fd_type, fd_timeout_ms);\n if (r != constants_1.WASI_ENOSYS)\n return r;\n }\n if (waitTimeNs > 0) {\n if (waitTimeNs -= Bun.nanoseconds() - timeOrigin, waitTimeNs >= 1e6) {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");\n if (this.sleep != null) {\n const ms = nsToMs(waitTimeNs);\n this.sleep(ms);\n } else {\n const end = BigInt(bindings2.hrtime()) + waitTimeNs;\n while (BigInt(bindings2.hrtime()) < end)\n ;\n }\n }\n }\n return constants_1.WASI_ESUCCESS;\n },\n proc_exit: (rval) => {\n return bindings2.exit(rval), constants_1.WASI_ESUCCESS;\n },\n proc_raise: (sig) => {\n if (!(sig in constants_1.SIGNAL_MAP))\n return constants_1.WASI_EINVAL;\n return bindings2.kill(constants_1.SIGNAL_MAP[sig]), constants_1.WASI_ESUCCESS;\n },\n random_get: (bufPtr, bufLen) => {\n return this.refreshMemory(), crypto.getRandomValues(this.memory.buffer, bufPtr, bufLen), bufLen;\n },\n sched_yield() {\n return constants_1.WASI_ESUCCESS;\n },\n sock_recv() {\n return constants_1.WASI_ENOSYS;\n },\n sock_send() {\n return constants_1.WASI_ENOSYS;\n },\n sock_shutdown() {\n return constants_1.WASI_ENOSYS;\n },\n sock_fcntlSetFlags(_fd, _flags) {\n return constants_1.WASI_ENOSYS;\n },\n sock_pollSocket(_fd, _eventtype, _timeout_ms) {\n return constants_1.WASI_ENOSYS;\n }\n }, log.enabled)\n Object.keys(this.wasiImport).forEach((key) => {\n const prevImport = this.wasiImport[key];\n this.wasiImport[key] = function(...args2) {\n log(key, args2);\n try {\n let result = prevImport(...args2);\n return log(\"result\", result), result;\n } catch (e) {\n throw log(\"error: \", e), e;\n }\n };\n });\n }\n getState() {\n return { env: this.env, FD_MAP: this.FD_MAP, bindings };\n }\n setState(state) {\n this.env = state.env, this.FD_MAP = state.FD_MAP, bindings = state.bindings;\n }\n fstatSync(real_fd) {\n if (real_fd <= 2)\n try {\n return fs.fstatSync(real_fd);\n } catch (_) {\n const now = new Date;\n return {\n dev: 0,\n mode: 8592,\n nlink: 1,\n uid: 0,\n gid: 0,\n rdev: 0,\n blksize: 65536,\n ino: 0,\n size: 0,\n blocks: 0,\n atimeMs: now.valueOf(),\n mtimeMs: now.valueOf(),\n ctimeMs: now.valueOf(),\n birthtimeMs: 0,\n atime: new Date,\n mtime: new Date,\n ctime: new Date,\n birthtime: new Date(0)\n };\n }\n return fs.fstatSync(real_fd);\n }\n shortPause() {\n if (this.sleep == null)\n return;\n if ((new Date()).valueOf() - this.lastStdin > 2000)\n this.sleep(50);\n }\n getUnusedFileDescriptor(start = 3) {\n let fd = start;\n while (this.FD_MAP.has(fd))\n fd += 1;\n if (fd > SC_OPEN_MAX)\n throw Error(\"no available file descriptors\");\n return fd;\n }\n refreshMemory() {\n if (!this.view || this.view.buffer.byteLength === 0)\n this.view = new DataView(this.memory.buffer);\n }\n setMemory(memory) {\n this.memory = memory;\n }\n start(instance, memory) {\n const exports2 = instance.exports;\n if (exports2 === null || typeof exports2 !== \"object\")\n throw new Error(`instance.exports must be an Object. Received ${exports2}.`);\n if (memory == null) {\n if (memory = exports2.memory, !(memory instanceof WebAssembly.Memory))\n throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`);\n }\n if (this.setMemory(memory), exports2._start)\n exports2._start();\n }\n getImports(module2) {\n let namespace = null;\n const imports = WebAssembly.Module.imports(module2);\n for (let imp of imports) {\n if (imp.kind !== \"function\")\n continue;\n if (!imp.module.startsWith(\"wasi_\"))\n continue;\n namespace = imp.module;\n break;\n }\n switch (namespace) {\n case \"wasi_unstable\":\n return {\n wasi_unstable: this.wasiImport\n };\n case \"wasi_snapshot_preview1\":\n return {\n wasi_snapshot_preview1: this.wasiImport\n };\n default:\n throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\" + imports.map(({ name, kind, module }) => `${module}:${name} (${kind})`).join(\"\\n\") + \"\\n\");\n }\n }\n initWasiFdInfo() {\n if (this.env.WASI_FD_INFO != null) {\n const fdInfo = JSON.parse(this.env.WASI_FD_INFO);\n for (let wasi_fd in fdInfo) {\n console.log(wasi_fd);\n const fd = parseInt(wasi_fd);\n if (this.FD_MAP.has(fd))\n continue;\n const real = fdInfo[wasi_fd];\n try {\n this.fstatSync(real);\n } catch (_err) {\n console.log(\"discarding \", { wasi_fd, real });\n continue;\n }\n const file = {\n real,\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n }\n };\n this.FD_MAP.set(fd, file);\n }\n console.log(\"after initWasiFdInfo: \", this.FD_MAP), console.log(\"fdInfo = \", fdInfo);\n } else\n console.log(\"no WASI_FD_INFO\");\n }\n };\n exports.default = WASI;\n }\n});\nreturn { WASI: require_wasi().default }})\n"); // // -static constexpr ASCIILiteral NodeWorkerThreadsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/worker_threads.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, injectFakeEmitter = function(Class) {\n function messageEventHandler(event) {\n return event.data;\n }\n function errorEventHandler(event) {\n return event.error;\n }\n const wrappedListener = Symbol(\"wrappedListener\");\n function wrapped(run, listener) {\n const callback = function(event) {\n return listener(run(event));\n };\n return listener[wrappedListener] = callback, callback;\n }\n function functionForEventType(event, listener) {\n switch (event) {\n case \"error\":\n case \"messageerror\":\n return wrapped(errorEventHandler, listener);\n default:\n return wrapped(messageEventHandler, listener);\n }\n }\n Class.prototype.on = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener)), this;\n }, Class.prototype.off = function(event, listener) {\n if (listener)\n this.removeEventListener(event, listener[wrappedListener] || listener);\n else\n this.removeEventListener(event);\n return this;\n }, Class.prototype.once = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener), { once: !0 }), this;\n };\n function EventClass(eventName) {\n if (eventName === \"error\" || eventName === \"messageerror\")\n return ErrorEvent;\n return MessageEvent;\n }\n Class.prototype.emit = function(event, ...args) {\n return this.dispatchEvent(new (EventClass(event))(event, ...args)), this;\n }, Class.prototype.prependListener = Class.prototype.on, Class.prototype.prependOnceListener = Class.prototype.once;\n}, receiveMessageOnPort = function(port) {\n let res = _receiveMessageOnPort(port);\n if (!res)\n return @undefined;\n return {\n message: res\n };\n}, fakeParentPort = function() {\n const fake = Object.create(MessagePort.prototype);\n return Object.defineProperty(fake, \"onmessage\", {\n get() {\n return self.onmessage;\n },\n set(value) {\n self.onmessage = value;\n }\n }), Object.defineProperty(fake, \"onmessageerror\", {\n get() {\n return self.onmessageerror;\n },\n set(value) {\n }\n }), Object.defineProperty(fake, \"postMessage\", {\n value(...args) {\n return self.postMessage(...args);\n }\n }), Object.defineProperty(fake, \"close\", {\n value() {\n return process.exit(0);\n }\n }), Object.defineProperty(fake, \"start\", {\n value() {\n }\n }), Object.defineProperty(fake, \"unref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"ref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"hasRef\", {\n value() {\n return !1;\n }\n }), Object.defineProperty(fake, \"setEncoding\", {\n value() {\n }\n }), Object.defineProperty(fake, \"addEventListener\", {\n value: self.addEventListener.bind(self)\n }), Object.defineProperty(fake, \"removeEventListener\", {\n value: self.removeEventListener.bind(self)\n }), fake;\n}, getEnvironmentData = function() {\n return process.env;\n}, setEnvironmentData = function(env) {\n process.env = env;\n}, markAsUntransferable = function() {\n throwNotImplemented(\"worker_threads.markAsUntransferable\");\n}, moveMessagePortToContext = function() {\n throwNotImplemented(\"worker_threads.moveMessagePortToContext\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), { MessageChannel, BroadcastChannel, Worker: WebWorker } = globalThis, SHARE_ENV = Symbol(\"nodejs.worker_threads.SHARE_ENV\"), isMainThread = Bun.isMainThread, [_workerData, _threadId, _receiveMessageOnPort] = @lazy(\"worker_threads\"), emittedWarnings = new Set, _MessagePort = globalThis.MessagePort;\ninjectFakeEmitter(_MessagePort);\nvar MessagePort = _MessagePort, resourceLimits = {}, workerData = _workerData, threadId = _threadId, parentPort = isMainThread \? null : fakeParentPort(), unsupportedOptions = [\n \"eval\",\n \"argv\",\n \"execArgv\",\n \"stdin\",\n \"stdout\",\n \"stderr\",\n \"trackedUnmanagedFds\",\n \"resourceLimits\"\n];\n\nclass Worker extends EventEmitter {\n #worker;\n #performance;\n #onExitPromise = @undefined;\n constructor(filename, options = {}) {\n super();\n for (let key of unsupportedOptions)\n if (key in options)\n emitWarning(\"option.\" + key, `worker_threads.Worker option \"${key}\" is not implemented.`);\n this.#worker = new WebWorker(filename, options), this.#worker.addEventListener(\"close\", this.#onClose.bind(this)), this.#worker.addEventListener(\"error\", this.#onError.bind(this)), this.#worker.addEventListener(\"message\", this.#onMessage.bind(this)), this.#worker.addEventListener(\"messageerror\", this.#onMessageError.bind(this)), this.#worker.addEventListener(\"open\", this.#onOpen.bind(this));\n }\n get threadId() {\n return this.#worker.threadId;\n }\n ref() {\n this.#worker.ref();\n }\n unref() {\n this.#worker.unref();\n }\n get stdin() {\n return null;\n }\n get stdout() {\n return null;\n }\n get stderr() {\n return null;\n }\n get performance() {\n return this.#performance \?\?= {\n eventLoopUtilization() {\n return emitWarning(\"performance\", \"worker_threads.Worker.performance is not implemented.\"), {\n idle: 0,\n active: 0,\n utilization: 0\n };\n }\n };\n }\n terminate() {\n const onExitPromise = this.#onExitPromise;\n if (onExitPromise)\n return @isPromise(onExitPromise) \? onExitPromise : @Promise.resolve(onExitPromise);\n const { resolve, promise } = @Promise.withResolvers();\n return this.#worker.addEventListener(\"close\", (event) => {\n resolve(event.code);\n }, { once: !0 }), this.#worker.terminate(), this.#onExitPromise = promise;\n }\n postMessage(...args) {\n return this.#worker.postMessage(...args);\n }\n #onClose(e) {\n this.#onExitPromise = e.code, this.emit(\"exit\", e.code);\n }\n #onError(error) {\n this.emit(\"error\", error);\n }\n #onMessage(event) {\n this.emit(\"message\", event.data);\n }\n #onMessageError(event) {\n this.emit(\"messageerror\", event.error \?\? event.data \?\? event);\n }\n #onOpen() {\n this.emit(\"online\");\n }\n async getHeapSnapshot() {\n throwNotImplemented(\"worker_threads.Worker.getHeapSnapshot\");\n }\n}\n$ = {\n Worker,\n workerData,\n parentPort,\n resourceLimits,\n isMainThread,\n MessageChannel,\n BroadcastChannel,\n MessagePort,\n getEnvironmentData,\n setEnvironmentData,\n getHeapSnapshot() {\n return {};\n },\n markAsUntransferable,\n moveMessagePortToContext,\n receiveMessageOnPort,\n SHARE_ENV,\n threadId\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeWorkerThreadsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/worker_threads.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, injectFakeEmitter = function(Class) {\n function messageEventHandler(event) {\n return event.data;\n }\n function errorEventHandler(event) {\n return event.error;\n }\n const wrappedListener = Symbol(\"wrappedListener\");\n function wrapped(run, listener) {\n const callback = function(event) {\n return listener(run(event));\n };\n return listener[wrappedListener] = callback, callback;\n }\n function functionForEventType(event, listener) {\n switch (event) {\n case \"error\":\n case \"messageerror\":\n return wrapped(errorEventHandler, listener);\n default:\n return wrapped(messageEventHandler, listener);\n }\n }\n Class.prototype.on = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener)), this;\n }, Class.prototype.off = function(event, listener) {\n if (listener)\n this.removeEventListener(event, listener[wrappedListener] || listener);\n else\n this.removeEventListener(event);\n return this;\n }, Class.prototype.once = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener), { once: !0 }), this;\n };\n function EventClass(eventName) {\n if (eventName === \"error\" || eventName === \"messageerror\")\n return ErrorEvent;\n return MessageEvent;\n }\n Class.prototype.emit = function(event, ...args) {\n return this.dispatchEvent(new (EventClass(event))(event, ...args)), this;\n }, Class.prototype.prependListener = Class.prototype.on, Class.prototype.prependOnceListener = Class.prototype.once;\n}, receiveMessageOnPort = function(port) {\n let res = _receiveMessageOnPort(port);\n if (!res)\n return @undefined;\n return {\n message: res\n };\n}, fakeParentPort = function() {\n const fake = Object.create(MessagePort.prototype);\n return Object.defineProperty(fake, \"onmessage\", {\n get() {\n return self.onmessage;\n },\n set(value) {\n self.onmessage = value;\n }\n }), Object.defineProperty(fake, \"onmessageerror\", {\n get() {\n return self.onmessageerror;\n },\n set(value) {\n }\n }), Object.defineProperty(fake, \"postMessage\", {\n value(...args) {\n return self.postMessage(...args);\n }\n }), Object.defineProperty(fake, \"close\", {\n value() {\n return process.exit(0);\n }\n }), Object.defineProperty(fake, \"start\", {\n value() {\n }\n }), Object.defineProperty(fake, \"unref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"ref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"hasRef\", {\n value() {\n return !1;\n }\n }), Object.defineProperty(fake, \"setEncoding\", {\n value() {\n }\n }), Object.defineProperty(fake, \"addEventListener\", {\n value: self.addEventListener.bind(self)\n }), Object.defineProperty(fake, \"removeEventListener\", {\n value: self.removeEventListener.bind(self)\n }), fake;\n}, getEnvironmentData = function() {\n return process.env;\n}, setEnvironmentData = function(env) {\n process.env = env;\n}, markAsUntransferable = function() {\n throwNotImplemented(\"worker_threads.markAsUntransferable\");\n}, moveMessagePortToContext = function() {\n throwNotImplemented(\"worker_threads.moveMessagePortToContext\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), { MessageChannel, BroadcastChannel, Worker: WebWorker } = globalThis, SHARE_ENV = Symbol(\"nodejs.worker_threads.SHARE_ENV\"), isMainThread = Bun.isMainThread, [_workerData, _threadId, _receiveMessageOnPort] = @lazy(\"worker_threads\"), emittedWarnings = new Set, _MessagePort = globalThis.MessagePort;\ninjectFakeEmitter(_MessagePort);\nvar MessagePort = _MessagePort, resourceLimits = {}, workerData = _workerData, threadId = _threadId, parentPort = isMainThread \? null : fakeParentPort(), unsupportedOptions = [\n \"eval\",\n \"argv\",\n \"execArgv\",\n \"stdin\",\n \"stdout\",\n \"stderr\",\n \"trackedUnmanagedFds\",\n \"resourceLimits\"\n];\n\nclass Worker extends EventEmitter {\n #worker;\n #performance;\n #onExitPromise = @undefined;\n constructor(filename, options = {}) {\n super();\n for (let key of unsupportedOptions)\n if (key in options)\n emitWarning(\"option.\" + key, `worker_threads.Worker option \"${key}\" is not implemented.`);\n this.#worker = new WebWorker(filename, options), this.#worker.addEventListener(\"close\", this.#onClose.bind(this)), this.#worker.addEventListener(\"error\", this.#onError.bind(this)), this.#worker.addEventListener(\"message\", this.#onMessage.bind(this)), this.#worker.addEventListener(\"messageerror\", this.#onMessageError.bind(this)), this.#worker.addEventListener(\"open\", this.#onOpen.bind(this));\n }\n get threadId() {\n return this.#worker.threadId;\n }\n ref() {\n this.#worker.ref();\n }\n unref() {\n this.#worker.unref();\n }\n get stdin() {\n return null;\n }\n get stdout() {\n return null;\n }\n get stderr() {\n return null;\n }\n get performance() {\n return this.#performance \?\?= {\n eventLoopUtilization() {\n return emitWarning(\"performance\", \"worker_threads.Worker.performance is not implemented.\"), {\n idle: 0,\n active: 0,\n utilization: 0\n };\n }\n };\n }\n terminate() {\n const onExitPromise = this.#onExitPromise;\n if (onExitPromise)\n return @isPromise(onExitPromise) \? onExitPromise : @Promise.resolve(onExitPromise);\n const { resolve, promise } = @Promise.withResolvers();\n return this.#worker.addEventListener(\"close\", (event) => {\n resolve(event.code);\n }, { once: !0 }), this.#worker.terminate(), this.#onExitPromise = promise;\n }\n postMessage(...args) {\n return this.#worker.postMessage(...args);\n }\n #onClose(e) {\n this.#onExitPromise = e.code, this.emit(\"exit\", e.code);\n }\n #onError(error) {\n this.emit(\"error\", error);\n }\n #onMessage(event) {\n this.emit(\"message\", event.data);\n }\n #onMessageError(event) {\n this.emit(\"messageerror\", event.error \?\? event.data \?\? event);\n }\n #onOpen() {\n this.emit(\"online\");\n }\n async getHeapSnapshot() {\n throwNotImplemented(\"worker_threads.Worker.getHeapSnapshot\");\n }\n}\n$ = {\n Worker,\n workerData,\n parentPort,\n resourceLimits,\n isMainThread,\n MessageChannel,\n BroadcastChannel,\n MessagePort,\n getEnvironmentData,\n setEnvironmentData,\n getHeapSnapshot() {\n return {};\n },\n markAsUntransferable,\n moveMessagePortToContext,\n receiveMessageOnPort,\n SHARE_ENV,\n threadId\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeZlibCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/zlib.ts\nvar assert = @getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8), BufferModule = @requireNativeModule(\"buffer\"), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), Util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_zstream = __commonJS({\n \"node_modules/pako/lib/zlib/zstream.js\"(exports, module2) {\n function ZStream() {\n this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = \"\", this.state = null, this.data_type = 2, this.adler = 0;\n }\n module2.exports = ZStream;\n }\n}), require_common = __commonJS({\n \"node_modules/pako/lib/utils/common.js\"(exports) {\n var TYPED_OK = typeof @Uint8Array !== \"undefined\" && typeof Uint16Array !== \"undefined\" && typeof Int32Array !== \"undefined\";\n function _has(obj, key) {\n return Object.prototype.hasOwnProperty.@call(obj, key);\n }\n exports.assign = function(obj) {\n var sources = @Array.prototype.slice.@call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source)\n continue;\n if (typeof source !== \"object\")\n @throwTypeError(source + \"must be non-object\");\n for (var p in source)\n if (_has(source, p))\n obj[p] = source[p];\n }\n return obj;\n }, exports.shrinkBuf = function(buf, size) {\n if (buf.length === size)\n return buf;\n if (buf.subarray)\n return buf.subarray(0, size);\n return buf.length = size, buf;\n };\n var fnTyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n var i, l, len, pos, chunk, result;\n len = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n len += chunks[i].length;\n result = new @Uint8Array(len), pos = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n chunk = chunks[i], result.set(chunk, pos), pos += chunk.length;\n return result;\n }\n }, fnUntyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n return [].concat.@apply([], chunks);\n }\n };\n exports.setTyped = function(on) {\n if (on)\n exports.Buf8 = @Uint8Array, exports.Buf16 = Uint16Array, exports.Buf32 = Int32Array, exports.assign(exports, fnTyped);\n else\n exports.Buf8 = @Array, exports.Buf16 = @Array, exports.Buf32 = @Array, exports.assign(exports, fnUntyped);\n }, exports.setTyped(TYPED_OK);\n }\n}), require_trees = __commonJS({\n \"node_modules/pako/lib/zlib/trees.js\"(exports) {\n var utils = require_common(), Z_FIXED = 4, Z_BINARY = 0, Z_TEXT = 1, Z_UNKNOWN = 2;\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n var STORED_BLOCK = 0, STATIC_TREES = 1, DYN_TREES = 2, MIN_MATCH = 3, MAX_MATCH = 258, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, Buf_size = 16, MAX_BL_BITS = 7, END_BLOCK = 256, REP_3_6 = 16, REPZ_3_10 = 17, REPZ_11_138 = 18, extra_lbits = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], extra_dbits = [\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 3,\n 3,\n 4,\n 4,\n 5,\n 5,\n 6,\n 6,\n 7,\n 7,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13\n ], extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], DIST_CODE_LEN = 512, static_ltree = new @Array((L_CODES + 2) * 2);\n zero(static_ltree);\n var static_dtree = new @Array(D_CODES * 2);\n zero(static_dtree);\n var _dist_code = new @Array(DIST_CODE_LEN);\n zero(_dist_code);\n var _length_code = new @Array(MAX_MATCH - MIN_MATCH + 1);\n zero(_length_code);\n var base_length = new @Array(LENGTH_CODES);\n zero(base_length);\n var base_dist = new @Array(D_CODES);\n zero(base_dist);\n function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n this.static_tree = static_tree, this.extra_bits = extra_bits, this.extra_base = extra_base, this.elems = elems, this.max_length = max_length, this.has_stree = static_tree && static_tree.length;\n }\n var static_l_desc, static_d_desc, static_bl_desc;\n function TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree, this.max_code = 0, this.stat_desc = stat_desc;\n }\n function d_code(dist) {\n return dist < 256 \? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n }\n function put_short(s, w) {\n s.pending_buf[s.pending++] = w & 255, s.pending_buf[s.pending++] = w >>> 8 & 255;\n }\n function send_bits(s, value, length) {\n if (s.bi_valid > Buf_size - length)\n s.bi_buf |= value << s.bi_valid & 65535, put_short(s, s.bi_buf), s.bi_buf = value >> Buf_size - s.bi_valid, s.bi_valid += length - Buf_size;\n else\n s.bi_buf |= value << s.bi_valid & 65535, s.bi_valid += length;\n }\n function send_code(s, c, tree) {\n send_bits(s, tree[c * 2], tree[c * 2 + 1]);\n }\n function bi_reverse(code, len) {\n var res = 0;\n do\n res |= code & 1, code >>>= 1, res <<= 1;\n while (--len > 0);\n return res >>> 1;\n }\n function bi_flush(s) {\n if (s.bi_valid === 16)\n put_short(s, s.bi_buf), s.bi_buf = 0, s.bi_valid = 0;\n else if (s.bi_valid >= 8)\n s.pending_buf[s.pending++] = s.bi_buf & 255, s.bi_buf >>= 8, s.bi_valid -= 8;\n }\n function gen_bitlen(s, desc) {\n var { dyn_tree: tree, max_code } = desc, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, extra = desc.stat_desc.extra_bits, base = desc.stat_desc.extra_base, max_length = desc.stat_desc.max_length, h, n, m, bits, xbits, f, overflow = 0;\n for (bits = 0;bits <= MAX_BITS; bits++)\n s.bl_count[bits] = 0;\n tree[s.heap[s.heap_max] * 2 + 1] = 0;\n for (h = s.heap_max + 1;h < HEAP_SIZE; h++) {\n if (n = s.heap[h], bits = tree[tree[n * 2 + 1] * 2 + 1] + 1, bits > max_length)\n bits = max_length, overflow++;\n if (tree[n * 2 + 1] = bits, n > max_code)\n continue;\n if (s.bl_count[bits]++, xbits = 0, n >= base)\n xbits = extra[n - base];\n if (f = tree[n * 2], s.opt_len += f * (bits + xbits), has_stree)\n s.static_len += f * (stree[n * 2 + 1] + xbits);\n }\n if (overflow === 0)\n return;\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0)\n bits--;\n s.bl_count[bits]--, s.bl_count[bits + 1] += 2, s.bl_count[max_length]--, overflow -= 2;\n } while (overflow > 0);\n for (bits = max_length;bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n if (m = s.heap[--h], m > max_code)\n continue;\n if (tree[m * 2 + 1] !== bits)\n s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2], tree[m * 2 + 1] = bits;\n n--;\n }\n }\n }\n function gen_codes(tree, max_code, bl_count) {\n var next_code = new @Array(MAX_BITS + 1), code = 0, bits, n;\n for (bits = 1;bits <= MAX_BITS; bits++)\n next_code[bits] = code = code + bl_count[bits - 1] << 1;\n for (n = 0;n <= max_code; n++) {\n var len = tree[n * 2 + 1];\n if (len === 0)\n continue;\n tree[n * 2] = bi_reverse(next_code[len]++, len);\n }\n }\n function tr_static_init() {\n var n, bits, length, code, dist, bl_count = new @Array(MAX_BITS + 1);\n length = 0;\n for (code = 0;code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0;n < 1 << extra_lbits[code]; n++)\n _length_code[length++] = code;\n }\n _length_code[length - 1] = code, dist = 0;\n for (code = 0;code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0;n < 1 << extra_dbits[code]; n++)\n _dist_code[dist++] = code;\n }\n dist >>= 7;\n for (;code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0;n < 1 << extra_dbits[code] - 7; n++)\n _dist_code[256 + dist++] = code;\n }\n for (bits = 0;bits <= MAX_BITS; bits++)\n bl_count[bits] = 0;\n n = 0;\n while (n <= 143)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n while (n <= 255)\n static_ltree[n * 2 + 1] = 9, n++, bl_count[9]++;\n while (n <= 279)\n static_ltree[n * 2 + 1] = 7, n++, bl_count[7]++;\n while (n <= 287)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n for (n = 0;n < D_CODES; n++)\n static_dtree[n * 2 + 1] = 5, static_dtree[n * 2] = bi_reverse(n, 5);\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS), static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS), static_bl_desc = new StaticTreeDesc(new @Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n }\n function init_block(s) {\n var n;\n for (n = 0;n < L_CODES; n++)\n s.dyn_ltree[n * 2] = 0;\n for (n = 0;n < D_CODES; n++)\n s.dyn_dtree[n * 2] = 0;\n for (n = 0;n < BL_CODES; n++)\n s.bl_tree[n * 2] = 0;\n s.dyn_ltree[END_BLOCK * 2] = 1, s.opt_len = s.static_len = 0, s.last_lit = s.matches = 0;\n }\n function bi_windup(s) {\n if (s.bi_valid > 8)\n put_short(s, s.bi_buf);\n else if (s.bi_valid > 0)\n s.pending_buf[s.pending++] = s.bi_buf;\n s.bi_buf = 0, s.bi_valid = 0;\n }\n function copy_block(s, buf, len, header) {\n if (bi_windup(s), header)\n put_short(s, len), put_short(s, ~len);\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending), s.pending += len;\n }\n function smaller(tree, n, m, depth) {\n var _n2 = n * 2, _m2 = m * 2;\n return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m];\n }\n function pqdownheap(s, tree, k) {\n var v = s.heap[k], j = k << 1;\n while (j <= s.heap_len) {\n if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth))\n j++;\n if (smaller(tree, v, s.heap[j], s.depth))\n break;\n s.heap[k] = s.heap[j], k = j, j <<= 1;\n }\n s.heap[k] = v;\n }\n function compress_block(s, ltree, dtree) {\n var dist, lc, lx = 0, code, extra;\n if (s.last_lit !== 0)\n do\n if (dist = s.pending_buf[s.d_buf + lx * 2] << 8 | s.pending_buf[s.d_buf + lx * 2 + 1], lc = s.pending_buf[s.l_buf + lx], lx++, dist === 0)\n send_code(s, lc, ltree);\n else {\n if (code = _length_code[lc], send_code(s, code + LITERALS + 1, ltree), extra = extra_lbits[code], extra !== 0)\n lc -= base_length[code], send_bits(s, lc, extra);\n if (dist--, code = d_code(dist), send_code(s, code, dtree), extra = extra_dbits[code], extra !== 0)\n dist -= base_dist[code], send_bits(s, dist, extra);\n }\n while (lx < s.last_lit);\n send_code(s, END_BLOCK, ltree);\n }\n function build_tree(s, desc) {\n var tree = desc.dyn_tree, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, elems = desc.stat_desc.elems, n, m, max_code = -1, node;\n s.heap_len = 0, s.heap_max = HEAP_SIZE;\n for (n = 0;n < elems; n++)\n if (tree[n * 2] !== 0)\n s.heap[++s.heap_len] = max_code = n, s.depth[n] = 0;\n else\n tree[n * 2 + 1] = 0;\n while (s.heap_len < 2)\n if (node = s.heap[++s.heap_len] = max_code < 2 \? ++max_code : 0, tree[node * 2] = 1, s.depth[node] = 0, s.opt_len--, has_stree)\n s.static_len -= stree[node * 2 + 1];\n desc.max_code = max_code;\n for (n = s.heap_len >> 1;n >= 1; n--)\n pqdownheap(s, tree, n);\n node = elems;\n do\n n = s.heap[1], s.heap[1] = s.heap[s.heap_len--], pqdownheap(s, tree, 1), m = s.heap[1], s.heap[--s.heap_max] = n, s.heap[--s.heap_max] = m, tree[node * 2] = tree[n * 2] + tree[m * 2], s.depth[node] = (s.depth[n] >= s.depth[m] \? s.depth[n] : s.depth[m]) + 1, tree[n * 2 + 1] = tree[m * 2 + 1] = node, s.heap[1] = node++, pqdownheap(s, tree, 1);\n while (s.heap_len >= 2);\n s.heap[--s.heap_max] = s.heap[1], gen_bitlen(s, desc), gen_codes(tree, max_code, s.bl_count);\n }\n function scan_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n tree[(max_code + 1) * 2 + 1] = 65535;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n s.bl_tree[curlen * 2] += count;\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n s.bl_tree[curlen * 2]++;\n s.bl_tree[REP_3_6 * 2]++;\n } else if (count <= 10)\n s.bl_tree[REPZ_3_10 * 2]++;\n else\n s.bl_tree[REPZ_11_138 * 2]++;\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function send_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n do\n send_code(s, curlen, s.bl_tree);\n while (--count !== 0);\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n send_code(s, curlen, s.bl_tree), count--;\n send_code(s, REP_3_6, s.bl_tree), send_bits(s, count - 3, 2);\n } else if (count <= 10)\n send_code(s, REPZ_3_10, s.bl_tree), send_bits(s, count - 3, 3);\n else\n send_code(s, REPZ_11_138, s.bl_tree), send_bits(s, count - 11, 7);\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function build_bl_tree(s) {\n var max_blindex;\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code), scan_tree(s, s.dyn_dtree, s.d_desc.max_code), build_tree(s, s.bl_desc);\n for (max_blindex = BL_CODES - 1;max_blindex >= 3; max_blindex--)\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0)\n break;\n return s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4, max_blindex;\n }\n function send_all_trees(s, lcodes, dcodes, blcodes) {\n var rank;\n send_bits(s, lcodes - 257, 5), send_bits(s, dcodes - 1, 5), send_bits(s, blcodes - 4, 4);\n for (rank = 0;rank < blcodes; rank++)\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1], 3);\n send_tree(s, s.dyn_ltree, lcodes - 1), send_tree(s, s.dyn_dtree, dcodes - 1);\n }\n function detect_data_type(s) {\n var black_mask = 4093624447, n;\n for (n = 0;n <= 31; n++, black_mask >>>= 1)\n if (black_mask & 1 && s.dyn_ltree[n * 2] !== 0)\n return Z_BINARY;\n if (s.dyn_ltree[18] !== 0 || s.dyn_ltree[20] !== 0 || s.dyn_ltree[26] !== 0)\n return Z_TEXT;\n for (n = 32;n < LITERALS; n++)\n if (s.dyn_ltree[n * 2] !== 0)\n return Z_TEXT;\n return Z_BINARY;\n }\n var static_init_done = !1;\n function _tr_init(s) {\n if (!static_init_done)\n tr_static_init(), static_init_done = !0;\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc), s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc), s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc), s.bi_buf = 0, s.bi_valid = 0, init_block(s);\n }\n function _tr_stored_block(s, buf, stored_len, last) {\n send_bits(s, (STORED_BLOCK << 1) + (last \? 1 : 0), 3), copy_block(s, buf, stored_len, !0);\n }\n function _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3), send_code(s, END_BLOCK, static_ltree), bi_flush(s);\n }\n function _tr_flush_block(s, buf, stored_len, last) {\n var opt_lenb, static_lenb, max_blindex = 0;\n if (s.level > 0) {\n if (s.strm.data_type === Z_UNKNOWN)\n s.strm.data_type = detect_data_type(s);\n if (build_tree(s, s.l_desc), build_tree(s, s.d_desc), max_blindex = build_bl_tree(s), opt_lenb = s.opt_len + 3 + 7 >>> 3, static_lenb = s.static_len + 3 + 7 >>> 3, static_lenb <= opt_lenb)\n opt_lenb = static_lenb;\n } else\n opt_lenb = static_lenb = stored_len + 5;\n if (stored_len + 4 <= opt_lenb && buf !== -1)\n _tr_stored_block(s, buf, stored_len, last);\n else if (s.strategy === Z_FIXED || static_lenb === opt_lenb)\n send_bits(s, (STATIC_TREES << 1) + (last \? 1 : 0), 3), compress_block(s, static_ltree, static_dtree);\n else\n send_bits(s, (DYN_TREES << 1) + (last \? 1 : 0), 3), send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1), compress_block(s, s.dyn_ltree, s.dyn_dtree);\n if (init_block(s), last)\n bi_windup(s);\n }\n function _tr_tally(s, dist, lc) {\n if (s.pending_buf[s.d_buf + s.last_lit * 2] = dist >>> 8 & 255, s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 255, s.pending_buf[s.l_buf + s.last_lit] = lc & 255, s.last_lit++, dist === 0)\n s.dyn_ltree[lc * 2]++;\n else\n s.matches++, dist--, s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]++, s.dyn_dtree[d_code(dist) * 2]++;\n return s.last_lit === s.lit_bufsize - 1;\n }\n exports._tr_init = _tr_init, exports._tr_stored_block = _tr_stored_block, exports._tr_flush_block = _tr_flush_block, exports._tr_tally = _tr_tally, exports._tr_align = _tr_align;\n }\n}), require_adler32 = __commonJS({\n \"node_modules/pako/lib/zlib/adler32.js\"(exports, module2) {\n function adler32(adler, buf, len, pos) {\n var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0;\n while (len !== 0) {\n n = len > 2000 \? 2000 : len, len -= n;\n do\n s1 = s1 + buf[pos++] | 0, s2 = s2 + s1 | 0;\n while (--n);\n s1 %= 65521, s2 %= 65521;\n }\n return s1 | s2 << 16 | 0;\n }\n module2.exports = adler32;\n }\n}), require_crc32 = __commonJS({\n \"node_modules/pako/lib/zlib/crc32.js\"(exports, module2) {\n function makeTable() {\n var c, table = [];\n for (var n = 0;n < 256; n++) {\n c = n;\n for (var k = 0;k < 8; k++)\n c = c & 1 \? 3988292384 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return table;\n }\n var crcTable = makeTable();\n function crc32(crc, buf, len, pos) {\n var t = crcTable, end = pos + len;\n crc ^= -1;\n for (var i = pos;i < end; i++)\n crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255];\n return crc ^ -1;\n }\n module2.exports = crc32;\n }\n}), require_messages = __commonJS({\n \"node_modules/pako/lib/zlib/messages.js\"(exports, module2) {\n module2.exports = {\n 2: \"need dictionary\",\n 1: \"stream end\",\n 0: \"\",\n \"-1\": \"file error\",\n \"-2\": \"stream error\",\n \"-3\": \"data error\",\n \"-4\": \"insufficient memory\",\n \"-5\": \"buffer error\",\n \"-6\": \"incompatible version\"\n };\n }\n}), require_deflate = __commonJS({\n \"node_modules/pako/lib/zlib/deflate.js\"(exports) {\n var utils = require_common(), trees = require_trees(), adler32 = require_adler32(), crc32 = require_crc32(), msg = require_messages(), Z_NO_FLUSH = 0, Z_PARTIAL_FLUSH = 1, Z_FULL_FLUSH = 3, Z_FINISH = 4, Z_BLOCK = 5, Z_OK = 0, Z_STREAM_END = 1, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_BUF_ERROR = -5, Z_DEFAULT_COMPRESSION = -1, Z_FILTERED = 1, Z_HUFFMAN_ONLY = 2, Z_RLE = 3, Z_FIXED = 4, Z_DEFAULT_STRATEGY = 0, Z_UNKNOWN = 2, Z_DEFLATED = 8, MAX_MEM_LEVEL = 9, MAX_WBITS = 15, DEF_MEM_LEVEL = 8, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, MIN_MATCH = 3, MAX_MATCH = 258, MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1, PRESET_DICT = 32, INIT_STATE = 42, EXTRA_STATE = 69, NAME_STATE = 73, COMMENT_STATE = 91, HCRC_STATE = 103, BUSY_STATE = 113, FINISH_STATE = 666, BS_NEED_MORE = 1, BS_BLOCK_DONE = 2, BS_FINISH_STARTED = 3, BS_FINISH_DONE = 4, OS_CODE = 3;\n function err(strm, errorCode) {\n return strm.msg = msg[errorCode], errorCode;\n }\n function rank(f) {\n return (f << 1) - (f > 4 \? 9 : 0);\n }\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n function flush_pending(strm) {\n var s = strm.state, len = s.pending;\n if (len > strm.avail_out)\n len = strm.avail_out;\n if (len === 0)\n return;\n if (utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out), strm.next_out += len, s.pending_out += len, strm.total_out += len, strm.avail_out -= len, s.pending -= len, s.pending === 0)\n s.pending_out = 0;\n }\n function flush_block_only(s, last) {\n trees._tr_flush_block(s, s.block_start >= 0 \? s.block_start : -1, s.strstart - s.block_start, last), s.block_start = s.strstart, flush_pending(s.strm);\n }\n function put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n }\n function putShortMSB(s, b) {\n s.pending_buf[s.pending++] = b >>> 8 & 255, s.pending_buf[s.pending++] = b & 255;\n }\n function read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n if (len > size)\n len = size;\n if (len === 0)\n return 0;\n if (strm.avail_in -= len, utils.arraySet(buf, strm.input, strm.next_in, len, start), strm.state.wrap === 1)\n strm.adler = adler32(strm.adler, buf, len, start);\n else if (strm.state.wrap === 2)\n strm.adler = crc32(strm.adler, buf, len, start);\n return strm.next_in += len, strm.total_in += len, len;\n }\n function longest_match(s, cur_match) {\n var { max_chain_length: chain_length, strstart: scan } = s, match, len, best_len = s.prev_length, nice_match = s.nice_match, limit = s.strstart > s.w_size - MIN_LOOKAHEAD \? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0, _win = s.window, wmask = s.w_mask, prev = s.prev, strend = s.strstart + MAX_MATCH, scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n if (s.prev_length >= s.good_match)\n chain_length >>= 2;\n if (nice_match > s.lookahead)\n nice_match = s.lookahead;\n do {\n if (match = cur_match, _win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1])\n continue;\n scan += 2, match++;\n do\n ;\n while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend);\n if (len = MAX_MATCH - (strend - scan), scan = strend - MAX_MATCH, len > best_len) {\n if (s.match_start = cur_match, best_len = len, len >= nice_match)\n break;\n scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n if (best_len <= s.lookahead)\n return best_len;\n return s.lookahead;\n }\n function fill_window(s) {\n var _w_size = s.w_size, p, n, m, more, str;\n do {\n if (more = s.window_size - s.lookahead - s.strstart, s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0), s.match_start -= _w_size, s.strstart -= _w_size, s.block_start -= _w_size, n = s.hash_size, p = n;\n do\n m = s.head[--p], s.head[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n n = _w_size, p = n;\n do\n m = s.prev[--p], s.prev[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n more += _w_size;\n }\n if (s.strm.avail_in === 0)\n break;\n if (n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more), s.lookahead += n, s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert, s.ins_h = s.window[str], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + 1]) & s.hash_mask;\n while (s.insert)\n if (s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++, s.insert--, s.lookahead + s.insert < MIN_MATCH)\n break;\n }\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n }\n function deflate_stored(s, flush) {\n var max_block_size = 65535;\n if (max_block_size > s.pending_buf_size - 5)\n max_block_size = s.pending_buf_size - 5;\n for (;; ) {\n if (s.lookahead <= 1) {\n if (fill_window(s), s.lookahead === 0 && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n s.strstart += s.lookahead, s.lookahead = 0;\n var max_start = s.block_start + max_block_size;\n if (s.strstart === 0 || s.strstart >= max_start) {\n if (s.lookahead = s.strstart - max_start, s.strstart = max_start, flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n if (s.strstart - s.block_start >= s.w_size - MIN_LOOKAHEAD) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.strstart > s.block_start) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_NEED_MORE;\n }\n function deflate_fast(s, flush) {\n var hash_head, bflush;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (hash_head !== 0 && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD)\n s.match_length = longest_match(s, hash_head);\n if (s.match_length >= MIN_MATCH)\n if (bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.match_length <= s.max_lazy_match && s.lookahead >= MIN_MATCH) {\n s.match_length--;\n do\n s.strstart++, s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.match_length !== 0);\n s.strstart++;\n } else\n s.strstart += s.match_length, s.match_length = 0, s.ins_h = s.window[s.strstart], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + 1]) & s.hash_mask;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_slow(s, flush) {\n var hash_head, bflush, max_insert;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (s.prev_length = s.match_length, s.prev_match = s.match_start, s.match_length = MIN_MATCH - 1, hash_head !== 0 && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) {\n if (s.match_length = longest_match(s, hash_head), s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096))\n s.match_length = MIN_MATCH - 1;\n }\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH, bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH), s.lookahead -= s.prev_length - 1, s.prev_length -= 2;\n do\n if (++s.strstart <= max_insert)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.prev_length !== 0);\n if (s.match_available = 0, s.match_length = MIN_MATCH - 1, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n } else if (s.match_available) {\n if (bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), bflush)\n flush_block_only(s, !1);\n if (s.strstart++, s.lookahead--, s.strm.avail_out === 0)\n return BS_NEED_MORE;\n } else\n s.match_available = 1, s.strstart++, s.lookahead--;\n }\n if (s.match_available)\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), s.match_available = 0;\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_rle(s, flush) {\n var bflush, prev, scan, strend, _win = s.window;\n for (;; ) {\n if (s.lookahead <= MAX_MATCH) {\n if (fill_window(s), s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (s.match_length = 0, s.lookahead >= MIN_MATCH && s.strstart > 0) {\n if (scan = s.strstart - 1, prev = _win[scan], prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do\n ;\n while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend);\n if (s.match_length = MAX_MATCH - (strend - scan), s.match_length > s.lookahead)\n s.match_length = s.lookahead;\n }\n }\n if (s.match_length >= MIN_MATCH)\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.strstart += s.match_length, s.match_length = 0;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_huff(s, flush) {\n var bflush;\n for (;; ) {\n if (s.lookahead === 0) {\n if (fill_window(s), s.lookahead === 0) {\n if (flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n break;\n }\n }\n if (s.match_length = 0, bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length, this.max_lazy = max_lazy, this.nice_length = nice_length, this.max_chain = max_chain, this.func = func;\n }\n var configuration_table = [\n new Config(0, 0, 0, 0, deflate_stored),\n new Config(4, 4, 8, 4, deflate_fast),\n new Config(4, 5, 16, 8, deflate_fast),\n new Config(4, 6, 32, 32, deflate_fast),\n new Config(4, 4, 16, 16, deflate_slow),\n new Config(8, 16, 32, 32, deflate_slow),\n new Config(8, 16, 128, 128, deflate_slow),\n new Config(8, 32, 128, 256, deflate_slow),\n new Config(32, 128, 258, 1024, deflate_slow),\n new Config(32, 258, 258, 4096, deflate_slow)\n ];\n function lm_init(s) {\n s.window_size = 2 * s.w_size, zero(s.head), s.max_lazy_match = configuration_table[s.level].max_lazy, s.good_match = configuration_table[s.level].good_length, s.nice_match = configuration_table[s.level].nice_length, s.max_chain_length = configuration_table[s.level].max_chain, s.strstart = 0, s.block_start = 0, s.lookahead = 0, s.insert = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, s.ins_h = 0;\n }\n function DeflateState() {\n this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = Z_DEFLATED, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2), this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2), this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2), zero(this.dyn_ltree), zero(this.dyn_dtree), zero(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new utils.Buf16(MAX_BITS + 1), this.heap = new utils.Buf16(2 * L_CODES + 1), zero(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new utils.Buf16(2 * L_CODES + 1), zero(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;\n }\n function deflateResetKeep(strm) {\n var s;\n if (!strm || !strm.state)\n return err(strm, Z_STREAM_ERROR);\n if (strm.total_in = strm.total_out = 0, strm.data_type = Z_UNKNOWN, s = strm.state, s.pending = 0, s.pending_out = 0, s.wrap < 0)\n s.wrap = -s.wrap;\n return s.status = s.wrap \? INIT_STATE : BUSY_STATE, strm.adler = s.wrap === 2 \? 0 : 1, s.last_flush = Z_NO_FLUSH, trees._tr_init(s), Z_OK;\n }\n function deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK)\n lm_init(strm.state);\n return ret;\n }\n function deflateSetHeader(strm, head) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (strm.state.wrap !== 2)\n return Z_STREAM_ERROR;\n return strm.state.gzhead = head, Z_OK;\n }\n function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm)\n return Z_STREAM_ERROR;\n var wrap = 1;\n if (level === Z_DEFAULT_COMPRESSION)\n level = 6;\n if (windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (windowBits > 15)\n wrap = 2, windowBits -= 16;\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED)\n return err(strm, Z_STREAM_ERROR);\n if (windowBits === 8)\n windowBits = 9;\n var s = new DeflateState;\n return strm.state = s, s.strm = strm, s.wrap = wrap, s.gzhead = null, s.w_bits = windowBits, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = memLevel + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH), s.window = new utils.Buf8(s.w_size * 2), s.head = new utils.Buf16(s.hash_size), s.prev = new utils.Buf16(s.w_size), s.lit_bufsize = 1 << memLevel + 6, s.pending_buf_size = s.lit_bufsize * 4, s.pending_buf = new utils.Buf8(s.pending_buf_size), s.d_buf = 1 * s.lit_bufsize, s.l_buf = 3 * s.lit_bufsize, s.level = level, s.strategy = strategy, s.method = method, deflateReset(strm);\n }\n function deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n }\n function deflate(strm, flush) {\n var old_flush, s, beg, val;\n if (!strm || !strm.state || flush > Z_BLOCK || flush < 0)\n return strm \? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n if (s = strm.state, !strm.output || !strm.input && strm.avail_in !== 0 || s.status === FINISH_STATE && flush !== Z_FINISH)\n return err(strm, strm.avail_out === 0 \? Z_BUF_ERROR : Z_STREAM_ERROR);\n if (s.strm = strm, old_flush = s.last_flush, s.last_flush = flush, s.status === INIT_STATE)\n if (s.wrap === 2)\n if (strm.adler = 0, put_byte(s, 31), put_byte(s, 139), put_byte(s, 8), !s.gzhead)\n put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, OS_CODE), s.status = BUSY_STATE;\n else {\n if (put_byte(s, (s.gzhead.text \? 1 : 0) + (s.gzhead.hcrc \? 2 : 0) + (!s.gzhead.extra \? 0 : 4) + (!s.gzhead.name \? 0 : 8) + (!s.gzhead.comment \? 0 : 16)), put_byte(s, s.gzhead.time & 255), put_byte(s, s.gzhead.time >> 8 & 255), put_byte(s, s.gzhead.time >> 16 & 255), put_byte(s, s.gzhead.time >> 24 & 255), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, s.gzhead.os & 255), s.gzhead.extra && s.gzhead.extra.length)\n put_byte(s, s.gzhead.extra.length & 255), put_byte(s, s.gzhead.extra.length >> 8 & 255);\n if (s.gzhead.hcrc)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n s.gzindex = 0, s.status = EXTRA_STATE;\n }\n else {\n var header = Z_DEFLATED + (s.w_bits - 8 << 4) << 8, level_flags = -1;\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2)\n level_flags = 0;\n else if (s.level < 6)\n level_flags = 1;\n else if (s.level === 6)\n level_flags = 2;\n else\n level_flags = 3;\n if (header |= level_flags << 6, s.strstart !== 0)\n header |= PRESET_DICT;\n if (header += 31 - header % 31, s.status = BUSY_STATE, putShortMSB(s, header), s.strstart !== 0)\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n strm.adler = 1;\n }\n if (s.status === EXTRA_STATE)\n if (s.gzhead.extra) {\n beg = s.pending;\n while (s.gzindex < (s.gzhead.extra.length & 65535)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size)\n break;\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 255), s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (s.gzindex === s.gzhead.extra.length)\n s.gzindex = 0, s.status = NAME_STATE;\n } else\n s.status = NAME_STATE;\n if (s.status === NAME_STATE)\n if (s.gzhead.name) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.name.length)\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.gzindex = 0, s.status = COMMENT_STATE;\n } else\n s.status = COMMENT_STATE;\n if (s.status === COMMENT_STATE)\n if (s.gzhead.comment) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.comment.length)\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.status = HCRC_STATE;\n } else\n s.status = HCRC_STATE;\n if (s.status === HCRC_STATE)\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size)\n flush_pending(strm);\n if (s.pending + 2 <= s.pending_buf_size)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), strm.adler = 0, s.status = BUSY_STATE;\n } else\n s.status = BUSY_STATE;\n if (s.pending !== 0) {\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH)\n return err(strm, Z_BUF_ERROR);\n if (s.status === FINISH_STATE && strm.avail_in !== 0)\n return err(strm, Z_BUF_ERROR);\n if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH && s.status !== FINISH_STATE) {\n var bstate = s.strategy === Z_HUFFMAN_ONLY \? deflate_huff(s, flush) : s.strategy === Z_RLE \? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush);\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE)\n s.status = FINISH_STATE;\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0)\n s.last_flush = -1;\n return Z_OK;\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH)\n trees._tr_align(s);\n else if (flush !== Z_BLOCK) {\n if (trees._tr_stored_block(s, 0, 0, !1), flush === Z_FULL_FLUSH) {\n if (zero(s.head), s.lookahead === 0)\n s.strstart = 0, s.block_start = 0, s.insert = 0;\n }\n }\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n }\n }\n if (flush !== Z_FINISH)\n return Z_OK;\n if (s.wrap <= 0)\n return Z_STREAM_END;\n if (s.wrap === 2)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), put_byte(s, strm.adler >> 16 & 255), put_byte(s, strm.adler >> 24 & 255), put_byte(s, strm.total_in & 255), put_byte(s, strm.total_in >> 8 & 255), put_byte(s, strm.total_in >> 16 & 255), put_byte(s, strm.total_in >> 24 & 255);\n else\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n if (flush_pending(strm), s.wrap > 0)\n s.wrap = -s.wrap;\n return s.pending !== 0 \? Z_OK : Z_STREAM_END;\n }\n function deflateEnd(strm) {\n var status;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (status = strm.state.status, status !== INIT_STATE && status !== EXTRA_STATE && status !== NAME_STATE && status !== COMMENT_STATE && status !== HCRC_STATE && status !== BUSY_STATE && status !== FINISH_STATE)\n return err(strm, Z_STREAM_ERROR);\n return strm.state = null, status === BUSY_STATE \? err(strm, Z_DATA_ERROR) : Z_OK;\n }\n function deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, s, str, n, wrap, avail, next, input, tmpDict;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (s = strm.state, wrap = s.wrap, wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead)\n return Z_STREAM_ERROR;\n if (wrap === 1)\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n if (s.wrap = 0, dictLength >= s.w_size) {\n if (wrap === 0)\n zero(s.head), s.strstart = 0, s.block_start = 0, s.insert = 0;\n tmpDict = new utils.Buf8(s.w_size), utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0), dictionary = tmpDict, dictLength = s.w_size;\n }\n avail = strm.avail_in, next = strm.next_in, input = strm.input, strm.avail_in = dictLength, strm.next_in = 0, strm.input = dictionary, fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart, n = s.lookahead - (MIN_MATCH - 1);\n do\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++;\n while (--n);\n s.strstart = str, s.lookahead = MIN_MATCH - 1, fill_window(s);\n }\n return s.strstart += s.lookahead, s.block_start = s.strstart, s.insert = s.lookahead, s.lookahead = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, strm.next_in = next, strm.input = input, strm.avail_in = avail, s.wrap = wrap, Z_OK;\n }\n exports.deflateInit = deflateInit, exports.deflateInit2 = deflateInit2, exports.deflateReset = deflateReset, exports.deflateResetKeep = deflateResetKeep, exports.deflateSetHeader = deflateSetHeader, exports.deflate = deflate, exports.deflateEnd = deflateEnd, exports.deflateSetDictionary = deflateSetDictionary, exports.deflateInfo = \"pako deflate (from Nodeca project)\";\n }\n}), require_inffast = __commonJS({\n \"node_modules/pako/lib/zlib/inffast.js\"(exports, module2) {\n var BAD = 30, TYPE = 12;\n module2.exports = function inflate_fast(strm, start) {\n var state, _in, last, _out, beg, end, dmax, wsize, whave, wnext, s_window, hold, bits, lcode, dcode, lmask, dmask, here, op, len, dist, from, from_source, input, output;\n state = strm.state, _in = strm.next_in, input = strm.input, last = _in + (strm.avail_in - 5), _out = strm.next_out, output = strm.output, beg = _out - (start - strm.avail_out), end = _out + (strm.avail_out - 257), dmax = state.dmax, wsize = state.wsize, whave = state.whave, wnext = state.wnext, s_window = state.window, hold = state.hold, bits = state.bits, lcode = state.lencode, dcode = state.distcode, lmask = (1 << state.lenbits) - 1, dmask = (1 << state.distbits) - 1;\n top:\n do {\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = lcode[hold & lmask];\n dolen:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op === 0)\n output[_out++] = here & 65535;\n else if (op & 16) {\n if (len = here & 65535, op &= 15, op) {\n if (bits < op)\n hold += input[_in++] << bits, bits += 8;\n len += hold & (1 << op) - 1, hold >>>= op, bits -= op;\n }\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = dcode[hold & dmask];\n dodist:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op & 16) {\n if (dist = here & 65535, op &= 15, bits < op) {\n if (hold += input[_in++] << bits, bits += 8, bits < op)\n hold += input[_in++] << bits, bits += 8;\n }\n if (dist += hold & (1 << op) - 1, dist > dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n if (hold >>>= op, bits -= op, op = _out - beg, dist > op) {\n if (op = dist - op, op > whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n }\n if (from = 0, from_source = s_window, wnext === 0) {\n if (from += wsize - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n } else if (wnext < op) {\n if (from += wsize + wnext - op, op -= wnext, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n if (from = 0, wnext < len) {\n op = wnext, len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n }\n } else if (from += wnext - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n while (len > 2)\n output[_out++] = from_source[from++], output[_out++] = from_source[from++], output[_out++] = from_source[from++], len -= 3;\n if (len) {\n if (output[_out++] = from_source[from++], len > 1)\n output[_out++] = from_source[from++];\n }\n } else {\n from = _out - dist;\n do\n output[_out++] = output[from++], output[_out++] = output[from++], output[_out++] = output[from++], len -= 3;\n while (len > 2);\n if (len) {\n if (output[_out++] = output[from++], len > 1)\n output[_out++] = output[from++];\n }\n }\n } else if ((op & 64) === 0) {\n here = dcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dodist;\n } else {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } else if ((op & 64) === 0) {\n here = lcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dolen;\n } else if (op & 32) {\n state.mode = TYPE;\n break top;\n } else {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } while (_in < last && _out < end);\n len = bits >> 3, _in -= len, bits -= len << 3, hold &= (1 << bits) - 1, strm.next_in = _in, strm.next_out = _out, strm.avail_in = _in < last \? 5 + (last - _in) : 5 - (_in - last), strm.avail_out = _out < end \? 257 + (end - _out) : 257 - (_out - end), state.hold = hold, state.bits = bits;\n return;\n };\n }\n}), require_inftrees = __commonJS({\n \"node_modules/pako/lib/zlib/inftrees.js\"(exports, module2) {\n var utils = require_common(), MAXBITS = 15, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, CODES = 0, LENS = 1, DISTS = 2, lbase = [\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 13,\n 15,\n 17,\n 19,\n 23,\n 27,\n 31,\n 35,\n 43,\n 51,\n 59,\n 67,\n 83,\n 99,\n 115,\n 131,\n 163,\n 195,\n 227,\n 258,\n 0,\n 0\n ], lext = [\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 18,\n 19,\n 19,\n 19,\n 19,\n 20,\n 20,\n 20,\n 20,\n 21,\n 21,\n 21,\n 21,\n 16,\n 72,\n 78\n ], dbase = [\n 1,\n 2,\n 3,\n 4,\n 5,\n 7,\n 9,\n 13,\n 17,\n 25,\n 33,\n 49,\n 65,\n 97,\n 129,\n 193,\n 257,\n 385,\n 513,\n 769,\n 1025,\n 1537,\n 2049,\n 3073,\n 4097,\n 6145,\n 8193,\n 12289,\n 16385,\n 24577,\n 0,\n 0\n ], dext = [\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 18,\n 18,\n 19,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 24,\n 25,\n 25,\n 26,\n 26,\n 27,\n 27,\n 28,\n 28,\n 29,\n 29,\n 64,\n 64\n ];\n module2.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {\n var bits = opts.bits, len = 0, sym = 0, min = 0, max = 0, root = 0, curr = 0, drop = 0, left = 0, used = 0, huff = 0, incr, fill, low, mask, next, base = null, base_index = 0, end, count = new utils.Buf16(MAXBITS + 1), offs = new utils.Buf16(MAXBITS + 1), extra = null, extra_index = 0, here_bits, here_op, here_val;\n for (len = 0;len <= MAXBITS; len++)\n count[len] = 0;\n for (sym = 0;sym < codes; sym++)\n count[lens[lens_index + sym]]++;\n root = bits;\n for (max = MAXBITS;max >= 1; max--)\n if (count[max] !== 0)\n break;\n if (root > max)\n root = max;\n if (max === 0)\n return table[table_index++] = 1 << 24 | 64 << 16 | 0, table[table_index++] = 1 << 24 | 64 << 16 | 0, opts.bits = 1, 0;\n for (min = 1;min < max; min++)\n if (count[min] !== 0)\n break;\n if (root < min)\n root = min;\n left = 1;\n for (len = 1;len <= MAXBITS; len++)\n if (left <<= 1, left -= count[len], left < 0)\n return -1;\n if (left > 0 && (type === CODES || max !== 1))\n return -1;\n offs[1] = 0;\n for (len = 1;len < MAXBITS; len++)\n offs[len + 1] = offs[len] + count[len];\n for (sym = 0;sym < codes; sym++)\n if (lens[lens_index + sym] !== 0)\n work[offs[lens[lens_index + sym]]++] = sym;\n if (type === CODES)\n base = extra = work, end = 19;\n else if (type === LENS)\n base = lbase, base_index -= 257, extra = lext, extra_index -= 257, end = 256;\n else\n base = dbase, extra = dext, end = -1;\n if (huff = 0, sym = 0, len = min, next = table_index, curr = root, drop = 0, low = -1, used = 1 << root, mask = used - 1, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n for (;; ) {\n if (here_bits = len - drop, work[sym] < end)\n here_op = 0, here_val = work[sym];\n else if (work[sym] > end)\n here_op = extra[extra_index + work[sym]], here_val = base[base_index + work[sym]];\n else\n here_op = 96, here_val = 0;\n incr = 1 << len - drop, fill = 1 << curr, min = fill;\n do\n fill -= incr, table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;\n while (fill !== 0);\n incr = 1 << len - 1;\n while (huff & incr)\n incr >>= 1;\n if (incr !== 0)\n huff &= incr - 1, huff += incr;\n else\n huff = 0;\n if (sym++, --count[len] === 0) {\n if (len === max)\n break;\n len = lens[lens_index + work[sym]];\n }\n if (len > root && (huff & mask) !== low) {\n if (drop === 0)\n drop = root;\n next += min, curr = len - drop, left = 1 << curr;\n while (curr + drop < max) {\n if (left -= count[curr + drop], left <= 0)\n break;\n curr++, left <<= 1;\n }\n if (used += 1 << curr, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n low = huff & mask, table[low] = root << 24 | curr << 16 | next - table_index | 0;\n }\n }\n if (huff !== 0)\n table[next + huff] = len - drop << 24 | 64 << 16 | 0;\n return opts.bits = root, 0;\n };\n }\n}), require_inflate = __commonJS({\n \"node_modules/pako/lib/zlib/inflate.js\"(exports) {\n var utils = require_common(), adler32 = require_adler32(), crc32 = require_crc32(), inflate_fast = require_inffast(), inflate_table = require_inftrees(), CODES = 0, LENS = 1, DISTS = 2, Z_FINISH = 4, Z_BLOCK = 5, Z_TREES = 6, Z_OK = 0, Z_STREAM_END = 1, Z_NEED_DICT = 2, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_MEM_ERROR = -4, Z_BUF_ERROR = -5, Z_DEFLATED = 8, HEAD = 1, FLAGS = 2, TIME = 3, OS = 4, EXLEN = 5, EXTRA = 6, NAME = 7, COMMENT = 8, HCRC = 9, DICTID = 10, DICT = 11, TYPE = 12, TYPEDO = 13, STORED = 14, COPY_ = 15, COPY = 16, TABLE = 17, LENLENS = 18, CODELENS = 19, LEN_ = 20, LEN = 21, LENEXT = 22, DIST = 23, DISTEXT = 24, MATCH = 25, LIT = 26, CHECK = 27, LENGTH = 28, DONE = 29, BAD = 30, MEM = 31, SYNC = 32, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, MAX_WBITS = 15, DEF_WBITS = MAX_WBITS;\n function zswap32(q) {\n return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24);\n }\n function InflateState() {\n this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new utils.Buf16(320), this.work = new utils.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;\n }\n function inflateResetKeep(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, strm.total_in = strm.total_out = state.total = 0, strm.msg = \"\", state.wrap)\n strm.adler = state.wrap & 1;\n return state.mode = HEAD, state.last = 0, state.havedict = 0, state.dmax = 32768, state.head = null, state.hold = 0, state.bits = 0, state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS), state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS), state.sane = 1, state.back = -1, Z_OK;\n }\n function inflateReset(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n return state = strm.state, state.wsize = 0, state.whave = 0, state.wnext = 0, inflateResetKeep(strm);\n }\n function inflateReset2(strm, windowBits) {\n var wrap, state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (wrap = (windowBits >> 4) + 1, windowBits < 48)\n windowBits &= 15;\n if (windowBits && (windowBits < 8 || windowBits > 15))\n return Z_STREAM_ERROR;\n if (state.window !== null && state.wbits !== windowBits)\n state.window = null;\n return state.wrap = wrap, state.wbits = windowBits, inflateReset(strm);\n }\n function inflateInit2(strm, windowBits) {\n var ret, state;\n if (!strm)\n return Z_STREAM_ERROR;\n if (state = new InflateState, strm.state = state, state.window = null, ret = inflateReset2(strm, windowBits), ret !== Z_OK)\n strm.state = null;\n return ret;\n }\n function inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n }\n var virgin = !0, lenfix, distfix;\n function fixedtables(state) {\n if (virgin) {\n var sym;\n lenfix = new utils.Buf32(512), distfix = new utils.Buf32(32), sym = 0;\n while (sym < 144)\n state.lens[sym++] = 8;\n while (sym < 256)\n state.lens[sym++] = 9;\n while (sym < 280)\n state.lens[sym++] = 7;\n while (sym < 288)\n state.lens[sym++] = 8;\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {\n bits: 9\n }), sym = 0;\n while (sym < 32)\n state.lens[sym++] = 5;\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {\n bits: 5\n }), virgin = !1;\n }\n state.lencode = lenfix, state.lenbits = 9, state.distcode = distfix, state.distbits = 5;\n }\n function updatewindow(strm, src, end, copy) {\n var dist, state = strm.state;\n if (state.window === null)\n state.wsize = 1 << state.wbits, state.wnext = 0, state.whave = 0, state.window = new utils.Buf8(state.wsize);\n if (copy >= state.wsize)\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0), state.wnext = 0, state.whave = state.wsize;\n else {\n if (dist = state.wsize - state.wnext, dist > copy)\n dist = copy;\n if (utils.arraySet(state.window, src, end - copy, dist, state.wnext), copy -= dist, copy)\n utils.arraySet(state.window, src, end - copy, copy, 0), state.wnext = copy, state.whave = state.wsize;\n else {\n if (state.wnext += dist, state.wnext === state.wsize)\n state.wnext = 0;\n if (state.whave < state.wsize)\n state.whave += dist;\n }\n }\n return 0;\n }\n function inflate(strm, flush) {\n var state, input, output, next, put, have, left, hold, bits, _in, _out, copy, from, from_source, here = 0, here_bits, here_op, here_val, last_bits, last_op, last_val, len, ret, hbuf = new utils.Buf8(4), opts, n, order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.mode === TYPE)\n state.mode = TYPEDO;\n put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, _in = have, _out = left, ret = Z_OK;\n inf_leave:\n for (;; )\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.wrap & 2 && hold === 35615) {\n state.check = 0, hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0), hold = 0, bits = 0, state.mode = FLAGS;\n break;\n }\n if (state.flags = 0, state.head)\n state.head.done = !1;\n if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {\n strm.msg = \"incorrect header check\", state.mode = BAD;\n break;\n }\n if ((hold & 15) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (hold >>>= 4, bits -= 4, len = (hold & 15) + 8, state.wbits === 0)\n state.wbits = len;\n else if (len > state.wbits) {\n strm.msg = \"invalid window size\", state.mode = BAD;\n break;\n }\n state.dmax = 1 << len, strm.adler = state.check = 1, state.mode = hold & 512 \? DICTID : TYPE, hold = 0, bits = 0;\n break;\n case FLAGS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.flags = hold, (state.flags & 255) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (state.flags & 57344) {\n strm.msg = \"unknown header flags set\", state.mode = BAD;\n break;\n }\n if (state.head)\n state.head.text = hold >> 8 & 1;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = TIME;\n case TIME:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.time = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, hbuf[2] = hold >>> 16 & 255, hbuf[3] = hold >>> 24 & 255, state.check = crc32(state.check, hbuf, 4, 0);\n hold = 0, bits = 0, state.mode = OS;\n case OS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.xflags = hold & 255, state.head.os = hold >> 8;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = EXLEN;\n case EXLEN:\n if (state.flags & 1024) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.length = hold, state.head)\n state.head.extra_len = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0;\n } else if (state.head)\n state.head.extra = null;\n state.mode = EXTRA;\n case EXTRA:\n if (state.flags & 1024) {\n if (copy = state.length, copy > have)\n copy = have;\n if (copy) {\n if (state.head) {\n if (len = state.head.extra_len - state.length, !state.head.extra)\n state.head.extra = new @Array(state.head.extra_len);\n utils.arraySet(state.head.extra, input, next, copy, len);\n }\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n have -= copy, next += copy, state.length -= copy;\n }\n if (state.length)\n break inf_leave;\n }\n state.length = 0, state.mode = NAME;\n case NAME:\n if (state.flags & 2048) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.name += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.name = null;\n state.length = 0, state.mode = COMMENT;\n case COMMENT:\n if (state.flags & 4096) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.comment += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.comment = null;\n state.mode = HCRC;\n case HCRC:\n if (state.flags & 512) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.check & 65535)) {\n strm.msg = \"header crc mismatch\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n if (state.head)\n state.head.hcrc = state.flags >> 9 & 1, state.head.done = !0;\n strm.adler = state.check = 0, state.mode = TYPE;\n break;\n case DICTID:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n strm.adler = state.check = zswap32(hold), hold = 0, bits = 0, state.mode = DICT;\n case DICT:\n if (state.havedict === 0)\n return strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, Z_NEED_DICT;\n strm.adler = state.check = 1, state.mode = TYPE;\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES)\n break inf_leave;\n case TYPEDO:\n if (state.last) {\n hold >>>= bits & 7, bits -= bits & 7, state.mode = CHECK;\n break;\n }\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n switch (state.last = hold & 1, hold >>>= 1, bits -= 1, hold & 3) {\n case 0:\n state.mode = STORED;\n break;\n case 1:\n if (fixedtables(state), state.mode = LEN_, flush === Z_TREES) {\n hold >>>= 2, bits -= 2;\n break inf_leave;\n }\n break;\n case 2:\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = \"invalid block type\", state.mode = BAD;\n }\n hold >>>= 2, bits -= 2;\n break;\n case STORED:\n hold >>>= bits & 7, bits -= bits & 7;\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((hold & 65535) !== (hold >>> 16 ^ 65535)) {\n strm.msg = \"invalid stored block lengths\", state.mode = BAD;\n break;\n }\n if (state.length = hold & 65535, hold = 0, bits = 0, state.mode = COPY_, flush === Z_TREES)\n break inf_leave;\n case COPY_:\n state.mode = COPY;\n case COPY:\n if (copy = state.length, copy) {\n if (copy > have)\n copy = have;\n if (copy > left)\n copy = left;\n if (copy === 0)\n break inf_leave;\n utils.arraySet(output, input, next, copy, put), have -= copy, next += copy, left -= copy, put += copy, state.length -= copy;\n break;\n }\n state.mode = TYPE;\n break;\n case TABLE:\n while (bits < 14) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.nlen = (hold & 31) + 257, hold >>>= 5, bits -= 5, state.ndist = (hold & 31) + 1, hold >>>= 5, bits -= 5, state.ncode = (hold & 15) + 4, hold >>>= 4, bits -= 4, state.nlen > 286 || state.ndist > 30) {\n strm.msg = \"too many length or distance symbols\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = LENLENS;\n case LENLENS:\n while (state.have < state.ncode) {\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.lens[order[state.have++]] = hold & 7, hold >>>= 3, bits -= 3;\n }\n while (state.have < 19)\n state.lens[order[state.have++]] = 0;\n if (state.lencode = state.lendyn, state.lenbits = 7, opts = { bits: state.lenbits }, ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid code lengths set\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = CODELENS;\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_val < 16)\n hold >>>= here_bits, bits -= here_bits, state.lens[state.have++] = here_val;\n else {\n if (here_val === 16) {\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.have === 0) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1], copy = 3 + (hold & 3), hold >>>= 2, bits -= 2;\n } else if (here_val === 17) {\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 3 + (hold & 7), hold >>>= 3, bits -= 3;\n } else {\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 11 + (hold & 127), hold >>>= 7, bits -= 7;\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n while (copy--)\n state.lens[state.have++] = len;\n }\n }\n if (state.mode === BAD)\n break;\n if (state.lens[256] === 0) {\n strm.msg = \"invalid code -- missing end-of-block\", state.mode = BAD;\n break;\n }\n if (state.lenbits = 9, opts = { bits: state.lenbits }, ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid literal/lengths set\", state.mode = BAD;\n break;\n }\n if (state.distbits = 6, state.distcode = state.distdyn, opts = { bits: state.distbits }, ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts), state.distbits = opts.bits, ret) {\n strm.msg = \"invalid distances set\", state.mode = BAD;\n break;\n }\n if (state.mode = LEN_, flush === Z_TREES)\n break inf_leave;\n case LEN_:\n state.mode = LEN;\n case LEN:\n if (have >= 6 && left >= 258) {\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, inflate_fast(strm, _out), put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, state.mode === TYPE)\n state.back = -1;\n break;\n }\n state.back = 0;\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_op && (here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, state.length = here_val, here_op === 0) {\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n state.back = -1, state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break;\n }\n state.extra = here_op & 15, state.mode = LENEXT;\n case LENEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.length += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n state.was = state.length, state.mode = DIST;\n case DIST:\n for (;; ) {\n if (here = state.distcode[hold & (1 << state.distbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, here_op & 64) {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break;\n }\n state.offset = here_val, state.extra = here_op & 15, state.mode = DISTEXT;\n case DISTEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.offset += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n if (state.offset > state.dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n state.mode = MATCH;\n case MATCH:\n if (left === 0)\n break inf_leave;\n if (copy = _out - left, state.offset > copy) {\n if (copy = state.offset - copy, copy > state.whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n }\n if (copy > state.wnext)\n copy -= state.wnext, from = state.wsize - copy;\n else\n from = state.wnext - copy;\n if (copy > state.length)\n copy = state.length;\n from_source = state.window;\n } else\n from_source = output, from = put - state.offset, copy = state.length;\n if (copy > left)\n copy = left;\n left -= copy, state.length -= copy;\n do\n output[put++] = from_source[from++];\n while (--copy);\n if (state.length === 0)\n state.mode = LEN;\n break;\n case LIT:\n if (left === 0)\n break inf_leave;\n output[put++] = state.length, left--, state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold |= input[next++] << bits, bits += 8;\n }\n if (_out -= left, strm.total_out += _out, state.total += _out, _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);\n if (_out = left, (state.flags \? hold : zswap32(hold)) !== state.check) {\n strm.msg = \"incorrect data check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = LENGTH;\n case LENGTH:\n if (state.wrap && state.flags) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.total & 4294967295)) {\n strm.msg = \"incorrect length check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = DONE;\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n default:\n return Z_STREAM_ERROR;\n }\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out))\n return state.mode = MEM, Z_MEM_ERROR;\n }\n if (_in -= strm.avail_in, _out -= strm.avail_out, strm.total_in += _in, strm.total_out += _out, state.total += _out, state.wrap && _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);\n if (strm.data_type = state.bits + (state.last \? 64 : 0) + (state.mode === TYPE \? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ \? 256 : 0), (_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK)\n ret = Z_BUF_ERROR;\n return ret;\n }\n function inflateEnd(strm) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n var state = strm.state;\n if (state.window)\n state.window = null;\n return strm.state = null, Z_OK;\n }\n function inflateGetHeader(strm, head) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, (state.wrap & 2) === 0)\n return Z_STREAM_ERROR;\n return state.head = head, head.done = !1, Z_OK;\n }\n function inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, state, dictid, ret;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.wrap !== 0 && state.mode !== DICT)\n return Z_STREAM_ERROR;\n if (state.mode === DICT) {\n if (dictid = 1, dictid = adler32(dictid, dictionary, dictLength, 0), dictid !== state.check)\n return Z_DATA_ERROR;\n }\n if (ret = updatewindow(strm, dictionary, dictLength, dictLength), ret)\n return state.mode = MEM, Z_MEM_ERROR;\n return state.havedict = 1, Z_OK;\n }\n exports.inflateReset = inflateReset, exports.inflateReset2 = inflateReset2, exports.inflateResetKeep = inflateResetKeep, exports.inflateInit = inflateInit, exports.inflateInit2 = inflateInit2, exports.inflate = inflate, exports.inflateEnd = inflateEnd, exports.inflateGetHeader = inflateGetHeader, exports.inflateSetDictionary = inflateSetDictionary, exports.inflateInfo = \"pako inflate (from Nodeca project)\";\n }\n}), require_constants = __commonJS({\n \"node_modules/pako/lib/zlib/constants.js\"(exports, module2) {\n module2.exports = {\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_BUF_ERROR: -5,\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n Z_BINARY: 0,\n Z_TEXT: 1,\n Z_UNKNOWN: 2,\n Z_DEFLATED: 8\n };\n }\n}), require_binding = __commonJS({\n \"node_modules/browserify-zlib/lib/binding.js\"(exports) {\n var Zstream = require_zstream(), zlib_deflate = require_deflate(), zlib_inflate = require_inflate(), constants = require_constants();\n for (key in constants)\n exports[key] = constants[key];\n var key;\n exports.NONE = 0, exports.DEFLATE = 1, exports.INFLATE = 2, exports.GZIP = 3, exports.GUNZIP = 4, exports.DEFLATERAW = 5, exports.INFLATERAW = 6, exports.UNZIP = 7;\n var GZIP_HEADER_ID1 = 31, GZIP_HEADER_ID2 = 139;\n function Zlib(mode) {\n if (typeof mode !== \"number\" || mode < exports.DEFLATE || mode > exports.UNZIP)\n @throwTypeError(\"Bad argument\");\n this.dictionary = null, this.err = 0, this.flush = 0, this.init_done = !1, this.level = 0, this.memLevel = 0, this.mode = mode, this.strategy = 0, this.windowBits = 0, this.write_in_progress = !1, this.pending_close = !1, this.gzip_id_bytes_read = 0;\n }\n Zlib.prototype = {}, Zlib.prototype.close = function() {\n if (this.write_in_progress) {\n this.pending_close = !0;\n return;\n }\n if (this.pending_close = !1, assert(this.init_done, \"close before init\"), assert(this.mode <= exports.UNZIP), this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW)\n zlib_deflate.deflateEnd(this.strm);\n else if (this.mode === exports.INFLATE || this.mode === exports.GUNZIP || this.mode === exports.INFLATERAW || this.mode === exports.UNZIP)\n zlib_inflate.inflateEnd(this.strm);\n this.mode = exports.NONE, this.dictionary = null;\n }, Zlib.prototype.write = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!0, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype.writeSync = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!1, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype._write = function(async, flush, input, in_off, in_len, out, out_off, out_len) {\n if (assert.equal(arguments.length, 8), assert(this.init_done, \"write before init\"), assert(this.mode !== exports.NONE, \"already finalized\"), assert.equal(!1, this.write_in_progress, \"write already in progress\"), assert.equal(!1, this.pending_close, \"close is pending\"), this.write_in_progress = !0, assert.equal(!1, flush === void 0, \"must provide flush value\"), this.write_in_progress = !0, flush !== exports.Z_NO_FLUSH && flush !== exports.Z_PARTIAL_FLUSH && flush !== exports.Z_SYNC_FLUSH && flush !== exports.Z_FULL_FLUSH && flush !== exports.Z_FINISH && flush !== exports.Z_BLOCK)\n throw new Error(\"Invalid flush value\");\n if (input == null)\n input = @Buffer.alloc(0), in_len = 0, in_off = 0;\n if (this.strm.avail_in = in_len, this.strm.input = input, this.strm.next_in = in_off, this.strm.avail_out = out_len, this.strm.output = out, this.strm.next_out = out_off, this.flush = flush, !async) {\n if (this._process(), this._checkError())\n return this._afterSync();\n return;\n }\n var self = this;\n return process.nextTick(function() {\n self._process(), self._after();\n }), this;\n }, Zlib.prototype._afterSync = function() {\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n return this.write_in_progress = !1, [avail_in, avail_out];\n }, Zlib.prototype._process = function() {\n var next_expected_header_byte = null;\n switch (this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflate(this.strm, this.flush);\n break;\n case exports.UNZIP:\n if (this.strm.avail_in > 0)\n next_expected_header_byte = this.strm.next_in;\n switch (this.gzip_id_bytes_read) {\n case 0:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID1) {\n if (this.gzip_id_bytes_read = 1, next_expected_header_byte++, this.strm.avail_in === 1)\n break;\n } else {\n this.mode = exports.INFLATE;\n break;\n }\n case 1:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID2)\n this.gzip_id_bytes_read = 2, this.mode = exports.GUNZIP;\n else\n this.mode = exports.INFLATE;\n break;\n default:\n throw new Error(\"invalid number of gzip magic number bytes read\");\n }\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n if (this.err = zlib_inflate.inflate(this.strm, this.flush), this.err === exports.Z_NEED_DICT && this.dictionary) {\n if (this.err = zlib_inflate.inflateSetDictionary(this.strm, this.dictionary), this.err === exports.Z_OK)\n this.err = zlib_inflate.inflate(this.strm, this.flush);\n else if (this.err === exports.Z_DATA_ERROR)\n this.err = exports.Z_NEED_DICT;\n }\n while (this.strm.avail_in > 0 && this.mode === exports.GUNZIP && this.err === exports.Z_STREAM_END && this.strm.next_in[0] !== 0)\n this.reset(), this.err = zlib_inflate.inflate(this.strm, this.flush);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n }, Zlib.prototype._checkError = function() {\n switch (this.err) {\n case exports.Z_OK:\n case exports.Z_BUF_ERROR:\n if (this.strm.avail_out !== 0 && this.flush === exports.Z_FINISH)\n return this._error(\"unexpected end of file\"), !1;\n break;\n case exports.Z_STREAM_END:\n break;\n case exports.Z_NEED_DICT:\n if (this.dictionary == null)\n this._error(\"Missing dictionary\");\n else\n this._error(\"Bad dictionary\");\n return !1;\n default:\n return this._error(\"Zlib error\"), !1;\n }\n return !0;\n }, Zlib.prototype._after = function() {\n if (!this._checkError())\n return;\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n if (this.write_in_progress = !1, this.callback(avail_in, avail_out), this.pending_close)\n this.close();\n }, Zlib.prototype._error = function(message) {\n if (this.strm.msg)\n message = this.strm.msg;\n if (this.onerror(message, this.err), this.write_in_progress = !1, this.pending_close)\n this.close();\n }, Zlib.prototype.init = function(windowBits, level, memLevel, strategy, dictionary) {\n assert(arguments.length === 4 || arguments.length === 5, \"init(windowBits, level, memLevel, strategy, [dictionary])\"), assert(windowBits >= 8 && windowBits <= 15, \"invalid windowBits\"), assert(level >= -1 && level <= 9, \"invalid compression level\"), assert(memLevel >= 1 && memLevel <= 9, \"invalid memlevel\"), assert(strategy === exports.Z_FILTERED || strategy === exports.Z_HUFFMAN_ONLY || strategy === exports.Z_RLE || strategy === exports.Z_FIXED || strategy === exports.Z_DEFAULT_STRATEGY, \"invalid strategy\"), this._init(level, windowBits, memLevel, strategy, dictionary), this._setDictionary();\n }, Zlib.prototype.params = function() {\n throw new Error(\"deflateParams Not supported\");\n }, Zlib.prototype.reset = function() {\n this._reset(), this._setDictionary();\n }, Zlib.prototype._init = function(level, windowBits, memLevel, strategy, dictionary) {\n if (this.level = level, this.windowBits = windowBits, this.memLevel = memLevel, this.strategy = strategy, this.flush = exports.Z_NO_FLUSH, this.err = exports.Z_OK, this.mode === exports.GZIP || this.mode === exports.GUNZIP)\n this.windowBits += 16;\n if (this.mode === exports.UNZIP)\n this.windowBits += 32;\n if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW)\n this.windowBits = -1 * this.windowBits;\n switch (this.strm = new Zstream, this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateInit2(this.strm, this.level, exports.Z_DEFLATED, this.windowBits, this.memLevel, this.strategy);\n break;\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n case exports.UNZIP:\n this.err = zlib_inflate.inflateInit2(this.strm, this.windowBits);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Init error\");\n this.dictionary = dictionary, this.write_in_progress = !1, this.init_done = !0;\n }, Zlib.prototype._setDictionary = function() {\n if (this.dictionary == null)\n return;\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateSetDictionary(this.strm, this.dictionary);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to set dictionary\");\n }, Zlib.prototype._reset = function() {\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n case exports.GZIP:\n this.err = zlib_deflate.deflateReset(this.strm);\n break;\n case exports.INFLATE:\n case exports.INFLATERAW:\n case exports.GUNZIP:\n this.err = zlib_inflate.inflateReset(this.strm);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to reset stream\");\n }, exports.Zlib = Zlib;\n }\n}), require_lib = __commonJS({\n \"node_modules/browserify-zlib/lib/index.js\"(exports) {\n var Buffer2 = BufferModule.Buffer, Transform = StreamModule.Transform, binding = require_binding(), util = Util, kMaxLength = BufferModule.kMaxLength, kRangeErrorMessage = \"Cannot create final Buffer. It would be larger than 0x\" + kMaxLength.toString(16) + \" bytes\";\n binding.Z_MIN_WINDOWBITS = 8, binding.Z_MAX_WINDOWBITS = 15, binding.Z_DEFAULT_WINDOWBITS = 15, binding.Z_MIN_CHUNK = 64, binding.Z_MAX_CHUNK = @Infinity, binding.Z_DEFAULT_CHUNK = 16384, binding.Z_MIN_MEMLEVEL = 1, binding.Z_MAX_MEMLEVEL = 9, binding.Z_DEFAULT_MEMLEVEL = 8, binding.Z_MIN_LEVEL = -1, binding.Z_MAX_LEVEL = 9, binding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n var bkeys = Object.keys(binding);\n for (bk = 0;bk < bkeys.length; bk++)\n if (bkey = bkeys[bk], bkey.match(/^Z/))\n Object.defineProperty(exports, bkey, {\n enumerable: !0,\n value: binding[bkey],\n writable: !1\n });\n var bkey, bk, codes = {\n Z_OK: binding.Z_OK,\n Z_STREAM_END: binding.Z_STREAM_END,\n Z_NEED_DICT: binding.Z_NEED_DICT,\n Z_ERRNO: binding.Z_ERRNO,\n Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n Z_DATA_ERROR: binding.Z_DATA_ERROR,\n Z_MEM_ERROR: binding.Z_MEM_ERROR,\n Z_BUF_ERROR: binding.Z_BUF_ERROR,\n Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n }, ckeys = Object.keys(codes);\n for (ck = 0;ck < ckeys.length; ck++)\n ckey = ckeys[ck], codes[codes[ckey]] = ckey;\n var ckey, ck;\n Object.defineProperty(exports, \"codes\", {\n enumerable: !0,\n value: Object.freeze(codes),\n writable: !1\n }), exports.constants = require_constants(), exports.Deflate = Deflate, exports.Inflate = Inflate, exports.Gzip = Gzip, exports.Gunzip = Gunzip, exports.DeflateRaw = DeflateRaw, exports.InflateRaw = InflateRaw, exports.Unzip = Unzip, exports.createDeflate = function(o) {\n return new Deflate(o);\n }, exports.createInflate = function(o) {\n return new Inflate(o);\n }, exports.createDeflateRaw = function(o) {\n return new DeflateRaw(o);\n }, exports.createInflateRaw = function(o) {\n return new InflateRaw(o);\n }, exports.createGzip = function(o) {\n return new Gzip(o);\n }, exports.createGunzip = function(o) {\n return new Gunzip(o);\n }, exports.createUnzip = function(o) {\n return new Unzip(o);\n }, exports.deflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Deflate(opts), buffer, callback);\n }, exports.deflateSync = function(buffer, opts) {\n return zlibBufferSync(new Deflate(opts), buffer);\n }, exports.gzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gzip(opts), buffer, callback);\n }, exports.gzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gzip(opts), buffer);\n }, exports.deflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n }, exports.deflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new DeflateRaw(opts), buffer);\n }, exports.unzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Unzip(opts), buffer, callback);\n }, exports.unzipSync = function(buffer, opts) {\n return zlibBufferSync(new Unzip(opts), buffer);\n }, exports.inflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Inflate(opts), buffer, callback);\n }, exports.inflateSync = function(buffer, opts) {\n return zlibBufferSync(new Inflate(opts), buffer);\n }, exports.gunzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gunzip(opts), buffer, callback);\n }, exports.gunzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gunzip(opts), buffer);\n }, exports.inflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new InflateRaw(opts), buffer, callback);\n }, exports.inflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new InflateRaw(opts), buffer);\n }, exports.brotliCompress = function(buffer, opts, callback) {\n throw new Error(\"zlib.brotliCompress is not implemented\");\n };\n function zlibBuffer(engine, buffer, callback) {\n var buffers = [], nread = 0;\n engine.on(\"error\", onError), engine.on(\"end\", onEnd), engine.end(buffer), flow();\n function flow() {\n var chunk;\n while ((chunk = engine.read()) !== null)\n buffers.push(chunk), nread += chunk.length;\n engine.once(\"readable\", flow);\n }\n function onError(err) {\n engine.removeListener(\"end\", onEnd), engine.removeListener(\"readable\", flow), callback(err);\n }\n function onEnd() {\n var buf, err = null;\n if (nread >= kMaxLength)\n err = new RangeError(kRangeErrorMessage);\n else\n buf = Buffer2.concat(buffers, nread);\n buffers = [], engine.close(), callback(err, buf);\n }\n }\n function zlibBufferSync(engine, buffer) {\n if (typeof buffer === \"string\")\n buffer = Buffer2.from(buffer);\n if (!Buffer2.isBuffer(buffer))\n @throwTypeError(\"Not a string or buffer\");\n var flushFlag = engine._finishFlushFlag;\n return engine._processChunk(buffer, flushFlag);\n }\n function Deflate(opts) {\n if (!(this instanceof Deflate))\n return new Deflate(opts);\n Zlib.@call(this, opts, binding.DEFLATE);\n }\n function Inflate(opts) {\n if (!(this instanceof Inflate))\n return new Inflate(opts);\n Zlib.@call(this, opts, binding.INFLATE);\n }\n function Gzip(opts) {\n if (!(this instanceof Gzip))\n return new Gzip(opts);\n Zlib.@call(this, opts, binding.GZIP);\n }\n function Gunzip(opts) {\n if (!(this instanceof Gunzip))\n return new Gunzip(opts);\n Zlib.@call(this, opts, binding.GUNZIP);\n }\n function DeflateRaw(opts) {\n if (!(this instanceof DeflateRaw))\n return new DeflateRaw(opts);\n Zlib.@call(this, opts, binding.DEFLATERAW);\n }\n function InflateRaw(opts) {\n if (!(this instanceof InflateRaw))\n return new InflateRaw(opts);\n Zlib.@call(this, opts, binding.INFLATERAW);\n }\n function Unzip(opts) {\n if (!(this instanceof Unzip))\n return new Unzip(opts);\n Zlib.@call(this, opts, binding.UNZIP);\n }\n function isValidFlushFlag(flag) {\n return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK;\n }\n function Zlib(opts, mode) {\n var _this = this;\n if (this._opts = opts = opts || {}, this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK, Transform.@call(this, opts), opts.flush && !isValidFlushFlag(opts.flush))\n throw new Error(\"Invalid flush flag: \" + opts.flush);\n if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush))\n throw new Error(\"Invalid flush flag: \" + opts.finishFlush);\n if (this._flushFlag = opts.flush || binding.Z_NO_FLUSH, this._finishFlushFlag = typeof opts.finishFlush !== \"undefined\" \? opts.finishFlush : binding.Z_FINISH, opts.chunkSize) {\n if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK)\n throw new Error(\"Invalid chunk size: \" + opts.chunkSize);\n }\n if (opts.windowBits) {\n if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS)\n throw new Error(\"Invalid windowBits: \" + opts.windowBits);\n }\n if (opts.level) {\n if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL)\n throw new Error(\"Invalid compression level: \" + opts.level);\n }\n if (opts.memLevel) {\n if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL)\n throw new Error(\"Invalid memLevel: \" + opts.memLevel);\n }\n if (opts.strategy) {\n if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY)\n throw new Error(\"Invalid strategy: \" + opts.strategy);\n }\n if (opts.dictionary) {\n if (!Buffer2.isBuffer(opts.dictionary))\n throw new Error(\"Invalid dictionary: it should be a Buffer instance\");\n }\n this._handle = new binding.Zlib(mode);\n var self = this;\n this._hadError = !1, this._handle.onerror = function(message, errno) {\n _close(self), self._hadError = !0;\n var error = new Error(message);\n error.errno = errno, error.code = exports.codes[errno], self.emit(\"error\", error);\n };\n var level = exports.Z_DEFAULT_COMPRESSION;\n if (typeof opts.level === \"number\")\n level = opts.level;\n var strategy = exports.Z_DEFAULT_STRATEGY;\n if (typeof opts.strategy === \"number\")\n strategy = opts.strategy;\n this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary), this._buffer = Buffer2.allocUnsafe(this._chunkSize), this._offset = 0, this._level = level, this._strategy = strategy, this.once(\"end\", this.close), Object.defineProperty(this, \"_closed\", {\n get: function() {\n return !_this._handle;\n },\n configurable: !0,\n enumerable: !0\n });\n }\n util.inherits(Zlib, Transform), Zlib.prototype.params = function(level, strategy, callback) {\n if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL)\n @throwRangeError(\"Invalid compression level: \" + level);\n if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY)\n @throwTypeError(\"Invalid strategy: \" + strategy);\n if (this._level !== level || this._strategy !== strategy) {\n var self = this;\n this.flush(binding.Z_SYNC_FLUSH, function() {\n if (assert(self._handle, \"zlib binding closed\"), self._handle.params(level, strategy), !self._hadError) {\n if (self._level = level, self._strategy = strategy, callback)\n callback();\n }\n });\n } else\n process.nextTick(callback);\n }, Zlib.prototype.reset = function() {\n return assert(this._handle, \"zlib binding closed\"), this._handle.reset();\n }, Zlib.prototype._flush = function(callback) {\n this._transform(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.flush = function(kind, callback) {\n var _this2 = this, ws = this._writableState;\n if (typeof kind === \"function\" || kind === void 0 && !callback)\n callback = kind, kind = binding.Z_FULL_FLUSH;\n if (ws.ended) {\n if (callback)\n process.nextTick(callback);\n } else if (ws.ending) {\n if (callback)\n this.once(\"end\", callback);\n } else if (ws.needDrain) {\n if (callback)\n this.once(\"drain\", function() {\n return _this2.flush(kind, callback);\n });\n } else\n this._flushFlag = kind, this.write(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.close = function(callback) {\n _close(this, callback), process.nextTick(emitCloseNT, this);\n };\n function _close(engine, callback) {\n if (callback)\n process.nextTick(callback);\n if (!engine._handle)\n return;\n engine._handle.close(), engine._handle = null;\n }\n function emitCloseNT(self) {\n self.emit(\"close\");\n }\n Zlib.prototype._transform = function(chunk, encoding, cb) {\n var flushFlag, ws = this._writableState, ending = ws.ending || ws.ended, last = ending && (!chunk || ws.length === chunk.length);\n if (chunk !== null && !Buffer2.isBuffer(chunk))\n return cb(new Error(\"invalid input\"));\n if (!this._handle)\n return cb(new Error(\"zlib binding closed\"));\n if (last)\n flushFlag = this._finishFlushFlag;\n else if (flushFlag = this._flushFlag, chunk.length >= ws.length)\n this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n this._processChunk(chunk, flushFlag, cb);\n }, Zlib.prototype._processChunk = function(chunk, flushFlag, cb) {\n var availInBefore = chunk && chunk.length, availOutBefore = this._chunkSize - this._offset, inOff = 0, self = this, async = typeof cb === \"function\";\n if (!async) {\n var buffers = [], nread = 0, error;\n this.on(\"error\", function(er) {\n error = er;\n }), assert(this._handle, \"zlib binding closed\");\n do\n var res = this._handle.writeSync(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n while (!this._hadError && callback(res[0], res[1]));\n if (this._hadError)\n throw error;\n if (nread >= kMaxLength)\n _close(this), @throwRangeError(kRangeErrorMessage);\n var buf = Buffer2.concat(buffers, nread);\n return _close(this), buf;\n }\n assert(this._handle, \"zlib binding closed\");\n var req = this._handle.write(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n req.buffer = chunk, req.callback = callback;\n function callback(availInAfter, availOutAfter) {\n if (this)\n this.buffer = null, this.callback = null;\n if (self._hadError)\n return;\n var have = availOutBefore - availOutAfter;\n if (assert(have >= 0, \"have should not go down\"), have > 0) {\n var out = self._buffer.slice(self._offset, self._offset + have);\n if (self._offset += have, async)\n self.push(out);\n else\n buffers.push(out), nread += out.length;\n }\n if (availOutAfter === 0 || self._offset >= self._chunkSize)\n availOutBefore = self._chunkSize, self._offset = 0, self._buffer = Buffer2.allocUnsafe(self._chunkSize);\n if (availOutAfter === 0) {\n if (inOff += availInBefore - availInAfter, availInBefore = availInAfter, !async)\n return !0;\n var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize);\n newReq.callback = callback, newReq.buffer = chunk;\n return;\n }\n if (!async)\n return !1;\n cb();\n }\n }, util.inherits(Deflate, Zlib), util.inherits(Inflate, Zlib), util.inherits(Gzip, Zlib), util.inherits(Gunzip, Zlib), util.inherits(DeflateRaw, Zlib), util.inherits(InflateRaw, Zlib), util.inherits(Unzip, Zlib);\n }\n});\nreturn require_lib()})\n"); +static constexpr ASCIILiteral NodeZlibCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/zlib.ts\nvar assert = @getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8), BufferModule = @requireNativeModule(\"buffer\"), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), Util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_zstream = __commonJS({\n \"node_modules/pako/lib/zlib/zstream.js\"(exports, module2) {\n function ZStream() {\n this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = \"\", this.state = null, this.data_type = 2, this.adler = 0;\n }\n module2.exports = ZStream;\n }\n}), require_common = __commonJS({\n \"node_modules/pako/lib/utils/common.js\"(exports) {\n var TYPED_OK = typeof @Uint8Array !== \"undefined\" && typeof Uint16Array !== \"undefined\" && typeof Int32Array !== \"undefined\";\n function _has(obj, key) {\n return Object.prototype.hasOwnProperty.@call(obj, key);\n }\n exports.assign = function(obj) {\n var sources = @Array.prototype.slice.@call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source)\n continue;\n if (typeof source !== \"object\")\n @throwTypeError(source + \"must be non-object\");\n for (var p in source)\n if (_has(source, p))\n obj[p] = source[p];\n }\n return obj;\n }, exports.shrinkBuf = function(buf, size) {\n if (buf.length === size)\n return buf;\n if (buf.subarray)\n return buf.subarray(0, size);\n return buf.length = size, buf;\n };\n var fnTyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n var i, l, len, pos, chunk, result;\n len = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n len += chunks[i].length;\n result = new @Uint8Array(len), pos = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n chunk = chunks[i], result.set(chunk, pos), pos += chunk.length;\n return result;\n }\n }, fnUntyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n return [].concat.@apply([], chunks);\n }\n };\n exports.setTyped = function(on) {\n if (on)\n exports.Buf8 = @Uint8Array, exports.Buf16 = Uint16Array, exports.Buf32 = Int32Array, exports.assign(exports, fnTyped);\n else\n exports.Buf8 = @Array, exports.Buf16 = @Array, exports.Buf32 = @Array, exports.assign(exports, fnUntyped);\n }, exports.setTyped(TYPED_OK);\n }\n}), require_trees = __commonJS({\n \"node_modules/pako/lib/zlib/trees.js\"(exports) {\n var utils = require_common(), Z_FIXED = 4, Z_BINARY = 0, Z_TEXT = 1, Z_UNKNOWN = 2;\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n var STORED_BLOCK = 0, STATIC_TREES = 1, DYN_TREES = 2, MIN_MATCH = 3, MAX_MATCH = 258, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, Buf_size = 16, MAX_BL_BITS = 7, END_BLOCK = 256, REP_3_6 = 16, REPZ_3_10 = 17, REPZ_11_138 = 18, extra_lbits = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], extra_dbits = [\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 3,\n 3,\n 4,\n 4,\n 5,\n 5,\n 6,\n 6,\n 7,\n 7,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13\n ], extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], DIST_CODE_LEN = 512, static_ltree = new @Array((L_CODES + 2) * 2);\n zero(static_ltree);\n var static_dtree = new @Array(D_CODES * 2);\n zero(static_dtree);\n var _dist_code = new @Array(DIST_CODE_LEN);\n zero(_dist_code);\n var _length_code = new @Array(MAX_MATCH - MIN_MATCH + 1);\n zero(_length_code);\n var base_length = new @Array(LENGTH_CODES);\n zero(base_length);\n var base_dist = new @Array(D_CODES);\n zero(base_dist);\n function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n this.static_tree = static_tree, this.extra_bits = extra_bits, this.extra_base = extra_base, this.elems = elems, this.max_length = max_length, this.has_stree = static_tree && static_tree.length;\n }\n var static_l_desc, static_d_desc, static_bl_desc;\n function TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree, this.max_code = 0, this.stat_desc = stat_desc;\n }\n function d_code(dist) {\n return dist < 256 \? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n }\n function put_short(s, w) {\n s.pending_buf[s.pending++] = w & 255, s.pending_buf[s.pending++] = w >>> 8 & 255;\n }\n function send_bits(s, value, length) {\n if (s.bi_valid > Buf_size - length)\n s.bi_buf |= value << s.bi_valid & 65535, put_short(s, s.bi_buf), s.bi_buf = value >> Buf_size - s.bi_valid, s.bi_valid += length - Buf_size;\n else\n s.bi_buf |= value << s.bi_valid & 65535, s.bi_valid += length;\n }\n function send_code(s, c, tree) {\n send_bits(s, tree[c * 2], tree[c * 2 + 1]);\n }\n function bi_reverse(code, len) {\n var res = 0;\n do\n res |= code & 1, code >>>= 1, res <<= 1;\n while (--len > 0);\n return res >>> 1;\n }\n function bi_flush(s) {\n if (s.bi_valid === 16)\n put_short(s, s.bi_buf), s.bi_buf = 0, s.bi_valid = 0;\n else if (s.bi_valid >= 8)\n s.pending_buf[s.pending++] = s.bi_buf & 255, s.bi_buf >>= 8, s.bi_valid -= 8;\n }\n function gen_bitlen(s, desc) {\n var { dyn_tree: tree, max_code } = desc, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, extra = desc.stat_desc.extra_bits, base = desc.stat_desc.extra_base, max_length = desc.stat_desc.max_length, h, n, m, bits, xbits, f, overflow = 0;\n for (bits = 0;bits <= MAX_BITS; bits++)\n s.bl_count[bits] = 0;\n tree[s.heap[s.heap_max] * 2 + 1] = 0;\n for (h = s.heap_max + 1;h < HEAP_SIZE; h++) {\n if (n = s.heap[h], bits = tree[tree[n * 2 + 1] * 2 + 1] + 1, bits > max_length)\n bits = max_length, overflow++;\n if (tree[n * 2 + 1] = bits, n > max_code)\n continue;\n if (s.bl_count[bits]++, xbits = 0, n >= base)\n xbits = extra[n - base];\n if (f = tree[n * 2], s.opt_len += f * (bits + xbits), has_stree)\n s.static_len += f * (stree[n * 2 + 1] + xbits);\n }\n if (overflow === 0)\n return;\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0)\n bits--;\n s.bl_count[bits]--, s.bl_count[bits + 1] += 2, s.bl_count[max_length]--, overflow -= 2;\n } while (overflow > 0);\n for (bits = max_length;bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n if (m = s.heap[--h], m > max_code)\n continue;\n if (tree[m * 2 + 1] !== bits)\n s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2], tree[m * 2 + 1] = bits;\n n--;\n }\n }\n }\n function gen_codes(tree, max_code, bl_count) {\n var next_code = new @Array(MAX_BITS + 1), code = 0, bits, n;\n for (bits = 1;bits <= MAX_BITS; bits++)\n next_code[bits] = code = code + bl_count[bits - 1] << 1;\n for (n = 0;n <= max_code; n++) {\n var len = tree[n * 2 + 1];\n if (len === 0)\n continue;\n tree[n * 2] = bi_reverse(next_code[len]++, len);\n }\n }\n function tr_static_init() {\n var n, bits, length, code, dist, bl_count = new @Array(MAX_BITS + 1);\n length = 0;\n for (code = 0;code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0;n < 1 << extra_lbits[code]; n++)\n _length_code[length++] = code;\n }\n _length_code[length - 1] = code, dist = 0;\n for (code = 0;code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0;n < 1 << extra_dbits[code]; n++)\n _dist_code[dist++] = code;\n }\n dist >>= 7;\n for (;code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0;n < 1 << extra_dbits[code] - 7; n++)\n _dist_code[256 + dist++] = code;\n }\n for (bits = 0;bits <= MAX_BITS; bits++)\n bl_count[bits] = 0;\n n = 0;\n while (n <= 143)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n while (n <= 255)\n static_ltree[n * 2 + 1] = 9, n++, bl_count[9]++;\n while (n <= 279)\n static_ltree[n * 2 + 1] = 7, n++, bl_count[7]++;\n while (n <= 287)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n for (n = 0;n < D_CODES; n++)\n static_dtree[n * 2 + 1] = 5, static_dtree[n * 2] = bi_reverse(n, 5);\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS), static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS), static_bl_desc = new StaticTreeDesc(new @Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n }\n function init_block(s) {\n var n;\n for (n = 0;n < L_CODES; n++)\n s.dyn_ltree[n * 2] = 0;\n for (n = 0;n < D_CODES; n++)\n s.dyn_dtree[n * 2] = 0;\n for (n = 0;n < BL_CODES; n++)\n s.bl_tree[n * 2] = 0;\n s.dyn_ltree[END_BLOCK * 2] = 1, s.opt_len = s.static_len = 0, s.last_lit = s.matches = 0;\n }\n function bi_windup(s) {\n if (s.bi_valid > 8)\n put_short(s, s.bi_buf);\n else if (s.bi_valid > 0)\n s.pending_buf[s.pending++] = s.bi_buf;\n s.bi_buf = 0, s.bi_valid = 0;\n }\n function copy_block(s, buf, len, header) {\n if (bi_windup(s), header)\n put_short(s, len), put_short(s, ~len);\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending), s.pending += len;\n }\n function smaller(tree, n, m, depth) {\n var _n2 = n * 2, _m2 = m * 2;\n return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m];\n }\n function pqdownheap(s, tree, k) {\n var v = s.heap[k], j = k << 1;\n while (j <= s.heap_len) {\n if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth))\n j++;\n if (smaller(tree, v, s.heap[j], s.depth))\n break;\n s.heap[k] = s.heap[j], k = j, j <<= 1;\n }\n s.heap[k] = v;\n }\n function compress_block(s, ltree, dtree) {\n var dist, lc, lx = 0, code, extra;\n if (s.last_lit !== 0)\n do\n if (dist = s.pending_buf[s.d_buf + lx * 2] << 8 | s.pending_buf[s.d_buf + lx * 2 + 1], lc = s.pending_buf[s.l_buf + lx], lx++, dist === 0)\n send_code(s, lc, ltree);\n else {\n if (code = _length_code[lc], send_code(s, code + LITERALS + 1, ltree), extra = extra_lbits[code], extra !== 0)\n lc -= base_length[code], send_bits(s, lc, extra);\n if (dist--, code = d_code(dist), send_code(s, code, dtree), extra = extra_dbits[code], extra !== 0)\n dist -= base_dist[code], send_bits(s, dist, extra);\n }\n while (lx < s.last_lit);\n send_code(s, END_BLOCK, ltree);\n }\n function build_tree(s, desc) {\n var tree = desc.dyn_tree, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, elems = desc.stat_desc.elems, n, m, max_code = -1, node;\n s.heap_len = 0, s.heap_max = HEAP_SIZE;\n for (n = 0;n < elems; n++)\n if (tree[n * 2] !== 0)\n s.heap[++s.heap_len] = max_code = n, s.depth[n] = 0;\n else\n tree[n * 2 + 1] = 0;\n while (s.heap_len < 2)\n if (node = s.heap[++s.heap_len] = max_code < 2 \? ++max_code : 0, tree[node * 2] = 1, s.depth[node] = 0, s.opt_len--, has_stree)\n s.static_len -= stree[node * 2 + 1];\n desc.max_code = max_code;\n for (n = s.heap_len >> 1;n >= 1; n--)\n pqdownheap(s, tree, n);\n node = elems;\n do\n n = s.heap[1], s.heap[1] = s.heap[s.heap_len--], pqdownheap(s, tree, 1), m = s.heap[1], s.heap[--s.heap_max] = n, s.heap[--s.heap_max] = m, tree[node * 2] = tree[n * 2] + tree[m * 2], s.depth[node] = (s.depth[n] >= s.depth[m] \? s.depth[n] : s.depth[m]) + 1, tree[n * 2 + 1] = tree[m * 2 + 1] = node, s.heap[1] = node++, pqdownheap(s, tree, 1);\n while (s.heap_len >= 2);\n s.heap[--s.heap_max] = s.heap[1], gen_bitlen(s, desc), gen_codes(tree, max_code, s.bl_count);\n }\n function scan_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n tree[(max_code + 1) * 2 + 1] = 65535;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n s.bl_tree[curlen * 2] += count;\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n s.bl_tree[curlen * 2]++;\n s.bl_tree[REP_3_6 * 2]++;\n } else if (count <= 10)\n s.bl_tree[REPZ_3_10 * 2]++;\n else\n s.bl_tree[REPZ_11_138 * 2]++;\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function send_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n do\n send_code(s, curlen, s.bl_tree);\n while (--count !== 0);\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n send_code(s, curlen, s.bl_tree), count--;\n send_code(s, REP_3_6, s.bl_tree), send_bits(s, count - 3, 2);\n } else if (count <= 10)\n send_code(s, REPZ_3_10, s.bl_tree), send_bits(s, count - 3, 3);\n else\n send_code(s, REPZ_11_138, s.bl_tree), send_bits(s, count - 11, 7);\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function build_bl_tree(s) {\n var max_blindex;\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code), scan_tree(s, s.dyn_dtree, s.d_desc.max_code), build_tree(s, s.bl_desc);\n for (max_blindex = BL_CODES - 1;max_blindex >= 3; max_blindex--)\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0)\n break;\n return s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4, max_blindex;\n }\n function send_all_trees(s, lcodes, dcodes, blcodes) {\n var rank;\n send_bits(s, lcodes - 257, 5), send_bits(s, dcodes - 1, 5), send_bits(s, blcodes - 4, 4);\n for (rank = 0;rank < blcodes; rank++)\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1], 3);\n send_tree(s, s.dyn_ltree, lcodes - 1), send_tree(s, s.dyn_dtree, dcodes - 1);\n }\n function detect_data_type(s) {\n var black_mask = 4093624447, n;\n for (n = 0;n <= 31; n++, black_mask >>>= 1)\n if (black_mask & 1 && s.dyn_ltree[n * 2] !== 0)\n return Z_BINARY;\n if (s.dyn_ltree[18] !== 0 || s.dyn_ltree[20] !== 0 || s.dyn_ltree[26] !== 0)\n return Z_TEXT;\n for (n = 32;n < LITERALS; n++)\n if (s.dyn_ltree[n * 2] !== 0)\n return Z_TEXT;\n return Z_BINARY;\n }\n var static_init_done = !1;\n function _tr_init(s) {\n if (!static_init_done)\n tr_static_init(), static_init_done = !0;\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc), s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc), s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc), s.bi_buf = 0, s.bi_valid = 0, init_block(s);\n }\n function _tr_stored_block(s, buf, stored_len, last) {\n send_bits(s, (STORED_BLOCK << 1) + (last \? 1 : 0), 3), copy_block(s, buf, stored_len, !0);\n }\n function _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3), send_code(s, END_BLOCK, static_ltree), bi_flush(s);\n }\n function _tr_flush_block(s, buf, stored_len, last) {\n var opt_lenb, static_lenb, max_blindex = 0;\n if (s.level > 0) {\n if (s.strm.data_type === Z_UNKNOWN)\n s.strm.data_type = detect_data_type(s);\n if (build_tree(s, s.l_desc), build_tree(s, s.d_desc), max_blindex = build_bl_tree(s), opt_lenb = s.opt_len + 3 + 7 >>> 3, static_lenb = s.static_len + 3 + 7 >>> 3, static_lenb <= opt_lenb)\n opt_lenb = static_lenb;\n } else\n opt_lenb = static_lenb = stored_len + 5;\n if (stored_len + 4 <= opt_lenb && buf !== -1)\n _tr_stored_block(s, buf, stored_len, last);\n else if (s.strategy === Z_FIXED || static_lenb === opt_lenb)\n send_bits(s, (STATIC_TREES << 1) + (last \? 1 : 0), 3), compress_block(s, static_ltree, static_dtree);\n else\n send_bits(s, (DYN_TREES << 1) + (last \? 1 : 0), 3), send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1), compress_block(s, s.dyn_ltree, s.dyn_dtree);\n if (init_block(s), last)\n bi_windup(s);\n }\n function _tr_tally(s, dist, lc) {\n if (s.pending_buf[s.d_buf + s.last_lit * 2] = dist >>> 8 & 255, s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 255, s.pending_buf[s.l_buf + s.last_lit] = lc & 255, s.last_lit++, dist === 0)\n s.dyn_ltree[lc * 2]++;\n else\n s.matches++, dist--, s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]++, s.dyn_dtree[d_code(dist) * 2]++;\n return s.last_lit === s.lit_bufsize - 1;\n }\n exports._tr_init = _tr_init, exports._tr_stored_block = _tr_stored_block, exports._tr_flush_block = _tr_flush_block, exports._tr_tally = _tr_tally, exports._tr_align = _tr_align;\n }\n}), require_adler32 = __commonJS({\n \"node_modules/pako/lib/zlib/adler32.js\"(exports, module2) {\n function adler32(adler, buf, len, pos) {\n var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0;\n while (len !== 0) {\n n = len > 2000 \? 2000 : len, len -= n;\n do\n s1 = s1 + buf[pos++] | 0, s2 = s2 + s1 | 0;\n while (--n);\n s1 %= 65521, s2 %= 65521;\n }\n return s1 | s2 << 16 | 0;\n }\n module2.exports = adler32;\n }\n}), require_crc32 = __commonJS({\n \"node_modules/pako/lib/zlib/crc32.js\"(exports, module2) {\n function makeTable() {\n var c, table = [];\n for (var n = 0;n < 256; n++) {\n c = n;\n for (var k = 0;k < 8; k++)\n c = c & 1 \? 3988292384 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return table;\n }\n var crcTable = makeTable();\n function crc32(crc, buf, len, pos) {\n var t = crcTable, end = pos + len;\n crc ^= -1;\n for (var i = pos;i < end; i++)\n crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255];\n return crc ^ -1;\n }\n module2.exports = crc32;\n }\n}), require_messages = __commonJS({\n \"node_modules/pako/lib/zlib/messages.js\"(exports, module2) {\n module2.exports = {\n 2: \"need dictionary\",\n 1: \"stream end\",\n 0: \"\",\n \"-1\": \"file error\",\n \"-2\": \"stream error\",\n \"-3\": \"data error\",\n \"-4\": \"insufficient memory\",\n \"-5\": \"buffer error\",\n \"-6\": \"incompatible version\"\n };\n }\n}), require_deflate = __commonJS({\n \"node_modules/pako/lib/zlib/deflate.js\"(exports) {\n var utils = require_common(), trees = require_trees(), adler32 = require_adler32(), crc32 = require_crc32(), msg = require_messages(), Z_NO_FLUSH = 0, Z_PARTIAL_FLUSH = 1, Z_FULL_FLUSH = 3, Z_FINISH = 4, Z_BLOCK = 5, Z_OK = 0, Z_STREAM_END = 1, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_BUF_ERROR = -5, Z_DEFAULT_COMPRESSION = -1, Z_FILTERED = 1, Z_HUFFMAN_ONLY = 2, Z_RLE = 3, Z_FIXED = 4, Z_DEFAULT_STRATEGY = 0, Z_UNKNOWN = 2, Z_DEFLATED = 8, MAX_MEM_LEVEL = 9, MAX_WBITS = 15, DEF_MEM_LEVEL = 8, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, MIN_MATCH = 3, MAX_MATCH = 258, MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1, PRESET_DICT = 32, INIT_STATE = 42, EXTRA_STATE = 69, NAME_STATE = 73, COMMENT_STATE = 91, HCRC_STATE = 103, BUSY_STATE = 113, FINISH_STATE = 666, BS_NEED_MORE = 1, BS_BLOCK_DONE = 2, BS_FINISH_STARTED = 3, BS_FINISH_DONE = 4, OS_CODE = 3;\n function err(strm, errorCode) {\n return strm.msg = msg[errorCode], errorCode;\n }\n function rank(f) {\n return (f << 1) - (f > 4 \? 9 : 0);\n }\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n function flush_pending(strm) {\n var s = strm.state, len = s.pending;\n if (len > strm.avail_out)\n len = strm.avail_out;\n if (len === 0)\n return;\n if (utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out), strm.next_out += len, s.pending_out += len, strm.total_out += len, strm.avail_out -= len, s.pending -= len, s.pending === 0)\n s.pending_out = 0;\n }\n function flush_block_only(s, last) {\n trees._tr_flush_block(s, s.block_start >= 0 \? s.block_start : -1, s.strstart - s.block_start, last), s.block_start = s.strstart, flush_pending(s.strm);\n }\n function put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n }\n function putShortMSB(s, b) {\n s.pending_buf[s.pending++] = b >>> 8 & 255, s.pending_buf[s.pending++] = b & 255;\n }\n function read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n if (len > size)\n len = size;\n if (len === 0)\n return 0;\n if (strm.avail_in -= len, utils.arraySet(buf, strm.input, strm.next_in, len, start), strm.state.wrap === 1)\n strm.adler = adler32(strm.adler, buf, len, start);\n else if (strm.state.wrap === 2)\n strm.adler = crc32(strm.adler, buf, len, start);\n return strm.next_in += len, strm.total_in += len, len;\n }\n function longest_match(s, cur_match) {\n var { max_chain_length: chain_length, strstart: scan } = s, match, len, best_len = s.prev_length, nice_match = s.nice_match, limit = s.strstart > s.w_size - MIN_LOOKAHEAD \? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0, _win = s.window, wmask = s.w_mask, prev = s.prev, strend = s.strstart + MAX_MATCH, scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n if (s.prev_length >= s.good_match)\n chain_length >>= 2;\n if (nice_match > s.lookahead)\n nice_match = s.lookahead;\n do {\n if (match = cur_match, _win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1])\n continue;\n scan += 2, match++;\n do\n ;\n while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend);\n if (len = MAX_MATCH - (strend - scan), scan = strend - MAX_MATCH, len > best_len) {\n if (s.match_start = cur_match, best_len = len, len >= nice_match)\n break;\n scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n if (best_len <= s.lookahead)\n return best_len;\n return s.lookahead;\n }\n function fill_window(s) {\n var _w_size = s.w_size, p, n, m, more, str;\n do {\n if (more = s.window_size - s.lookahead - s.strstart, s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0), s.match_start -= _w_size, s.strstart -= _w_size, s.block_start -= _w_size, n = s.hash_size, p = n;\n do\n m = s.head[--p], s.head[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n n = _w_size, p = n;\n do\n m = s.prev[--p], s.prev[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n more += _w_size;\n }\n if (s.strm.avail_in === 0)\n break;\n if (n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more), s.lookahead += n, s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert, s.ins_h = s.window[str], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + 1]) & s.hash_mask;\n while (s.insert)\n if (s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++, s.insert--, s.lookahead + s.insert < MIN_MATCH)\n break;\n }\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n }\n function deflate_stored(s, flush) {\n var max_block_size = 65535;\n if (max_block_size > s.pending_buf_size - 5)\n max_block_size = s.pending_buf_size - 5;\n for (;; ) {\n if (s.lookahead <= 1) {\n if (fill_window(s), s.lookahead === 0 && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n s.strstart += s.lookahead, s.lookahead = 0;\n var max_start = s.block_start + max_block_size;\n if (s.strstart === 0 || s.strstart >= max_start) {\n if (s.lookahead = s.strstart - max_start, s.strstart = max_start, flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n if (s.strstart - s.block_start >= s.w_size - MIN_LOOKAHEAD) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.strstart > s.block_start) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_NEED_MORE;\n }\n function deflate_fast(s, flush) {\n var hash_head, bflush;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (hash_head !== 0 && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD)\n s.match_length = longest_match(s, hash_head);\n if (s.match_length >= MIN_MATCH)\n if (bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.match_length <= s.max_lazy_match && s.lookahead >= MIN_MATCH) {\n s.match_length--;\n do\n s.strstart++, s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.match_length !== 0);\n s.strstart++;\n } else\n s.strstart += s.match_length, s.match_length = 0, s.ins_h = s.window[s.strstart], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + 1]) & s.hash_mask;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_slow(s, flush) {\n var hash_head, bflush, max_insert;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (s.prev_length = s.match_length, s.prev_match = s.match_start, s.match_length = MIN_MATCH - 1, hash_head !== 0 && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) {\n if (s.match_length = longest_match(s, hash_head), s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096))\n s.match_length = MIN_MATCH - 1;\n }\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH, bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH), s.lookahead -= s.prev_length - 1, s.prev_length -= 2;\n do\n if (++s.strstart <= max_insert)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.prev_length !== 0);\n if (s.match_available = 0, s.match_length = MIN_MATCH - 1, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n } else if (s.match_available) {\n if (bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), bflush)\n flush_block_only(s, !1);\n if (s.strstart++, s.lookahead--, s.strm.avail_out === 0)\n return BS_NEED_MORE;\n } else\n s.match_available = 1, s.strstart++, s.lookahead--;\n }\n if (s.match_available)\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), s.match_available = 0;\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_rle(s, flush) {\n var bflush, prev, scan, strend, _win = s.window;\n for (;; ) {\n if (s.lookahead <= MAX_MATCH) {\n if (fill_window(s), s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (s.match_length = 0, s.lookahead >= MIN_MATCH && s.strstart > 0) {\n if (scan = s.strstart - 1, prev = _win[scan], prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do\n ;\n while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend);\n if (s.match_length = MAX_MATCH - (strend - scan), s.match_length > s.lookahead)\n s.match_length = s.lookahead;\n }\n }\n if (s.match_length >= MIN_MATCH)\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.strstart += s.match_length, s.match_length = 0;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_huff(s, flush) {\n var bflush;\n for (;; ) {\n if (s.lookahead === 0) {\n if (fill_window(s), s.lookahead === 0) {\n if (flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n break;\n }\n }\n if (s.match_length = 0, bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length, this.max_lazy = max_lazy, this.nice_length = nice_length, this.max_chain = max_chain, this.func = func;\n }\n var configuration_table = [\n new Config(0, 0, 0, 0, deflate_stored),\n new Config(4, 4, 8, 4, deflate_fast),\n new Config(4, 5, 16, 8, deflate_fast),\n new Config(4, 6, 32, 32, deflate_fast),\n new Config(4, 4, 16, 16, deflate_slow),\n new Config(8, 16, 32, 32, deflate_slow),\n new Config(8, 16, 128, 128, deflate_slow),\n new Config(8, 32, 128, 256, deflate_slow),\n new Config(32, 128, 258, 1024, deflate_slow),\n new Config(32, 258, 258, 4096, deflate_slow)\n ];\n function lm_init(s) {\n s.window_size = 2 * s.w_size, zero(s.head), s.max_lazy_match = configuration_table[s.level].max_lazy, s.good_match = configuration_table[s.level].good_length, s.nice_match = configuration_table[s.level].nice_length, s.max_chain_length = configuration_table[s.level].max_chain, s.strstart = 0, s.block_start = 0, s.lookahead = 0, s.insert = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, s.ins_h = 0;\n }\n function DeflateState() {\n this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = Z_DEFLATED, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2), this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2), this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2), zero(this.dyn_ltree), zero(this.dyn_dtree), zero(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new utils.Buf16(MAX_BITS + 1), this.heap = new utils.Buf16(2 * L_CODES + 1), zero(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new utils.Buf16(2 * L_CODES + 1), zero(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;\n }\n function deflateResetKeep(strm) {\n var s;\n if (!strm || !strm.state)\n return err(strm, Z_STREAM_ERROR);\n if (strm.total_in = strm.total_out = 0, strm.data_type = Z_UNKNOWN, s = strm.state, s.pending = 0, s.pending_out = 0, s.wrap < 0)\n s.wrap = -s.wrap;\n return s.status = s.wrap \? INIT_STATE : BUSY_STATE, strm.adler = s.wrap === 2 \? 0 : 1, s.last_flush = Z_NO_FLUSH, trees._tr_init(s), Z_OK;\n }\n function deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK)\n lm_init(strm.state);\n return ret;\n }\n function deflateSetHeader(strm, head) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (strm.state.wrap !== 2)\n return Z_STREAM_ERROR;\n return strm.state.gzhead = head, Z_OK;\n }\n function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm)\n return Z_STREAM_ERROR;\n var wrap = 1;\n if (level === Z_DEFAULT_COMPRESSION)\n level = 6;\n if (windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (windowBits > 15)\n wrap = 2, windowBits -= 16;\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED)\n return err(strm, Z_STREAM_ERROR);\n if (windowBits === 8)\n windowBits = 9;\n var s = new DeflateState;\n return strm.state = s, s.strm = strm, s.wrap = wrap, s.gzhead = null, s.w_bits = windowBits, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = memLevel + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH), s.window = new utils.Buf8(s.w_size * 2), s.head = new utils.Buf16(s.hash_size), s.prev = new utils.Buf16(s.w_size), s.lit_bufsize = 1 << memLevel + 6, s.pending_buf_size = s.lit_bufsize * 4, s.pending_buf = new utils.Buf8(s.pending_buf_size), s.d_buf = 1 * s.lit_bufsize, s.l_buf = 3 * s.lit_bufsize, s.level = level, s.strategy = strategy, s.method = method, deflateReset(strm);\n }\n function deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n }\n function deflate(strm, flush) {\n var old_flush, s, beg, val;\n if (!strm || !strm.state || flush > Z_BLOCK || flush < 0)\n return strm \? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n if (s = strm.state, !strm.output || !strm.input && strm.avail_in !== 0 || s.status === FINISH_STATE && flush !== Z_FINISH)\n return err(strm, strm.avail_out === 0 \? Z_BUF_ERROR : Z_STREAM_ERROR);\n if (s.strm = strm, old_flush = s.last_flush, s.last_flush = flush, s.status === INIT_STATE)\n if (s.wrap === 2)\n if (strm.adler = 0, put_byte(s, 31), put_byte(s, 139), put_byte(s, 8), !s.gzhead)\n put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, OS_CODE), s.status = BUSY_STATE;\n else {\n if (put_byte(s, (s.gzhead.text \? 1 : 0) + (s.gzhead.hcrc \? 2 : 0) + (!s.gzhead.extra \? 0 : 4) + (!s.gzhead.name \? 0 : 8) + (!s.gzhead.comment \? 0 : 16)), put_byte(s, s.gzhead.time & 255), put_byte(s, s.gzhead.time >> 8 & 255), put_byte(s, s.gzhead.time >> 16 & 255), put_byte(s, s.gzhead.time >> 24 & 255), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, s.gzhead.os & 255), s.gzhead.extra && s.gzhead.extra.length)\n put_byte(s, s.gzhead.extra.length & 255), put_byte(s, s.gzhead.extra.length >> 8 & 255);\n if (s.gzhead.hcrc)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n s.gzindex = 0, s.status = EXTRA_STATE;\n }\n else {\n var header = Z_DEFLATED + (s.w_bits - 8 << 4) << 8, level_flags = -1;\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2)\n level_flags = 0;\n else if (s.level < 6)\n level_flags = 1;\n else if (s.level === 6)\n level_flags = 2;\n else\n level_flags = 3;\n if (header |= level_flags << 6, s.strstart !== 0)\n header |= PRESET_DICT;\n if (header += 31 - header % 31, s.status = BUSY_STATE, putShortMSB(s, header), s.strstart !== 0)\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n strm.adler = 1;\n }\n if (s.status === EXTRA_STATE)\n if (s.gzhead.extra) {\n beg = s.pending;\n while (s.gzindex < (s.gzhead.extra.length & 65535)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size)\n break;\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 255), s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (s.gzindex === s.gzhead.extra.length)\n s.gzindex = 0, s.status = NAME_STATE;\n } else\n s.status = NAME_STATE;\n if (s.status === NAME_STATE)\n if (s.gzhead.name) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.name.length)\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.gzindex = 0, s.status = COMMENT_STATE;\n } else\n s.status = COMMENT_STATE;\n if (s.status === COMMENT_STATE)\n if (s.gzhead.comment) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.comment.length)\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.status = HCRC_STATE;\n } else\n s.status = HCRC_STATE;\n if (s.status === HCRC_STATE)\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size)\n flush_pending(strm);\n if (s.pending + 2 <= s.pending_buf_size)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), strm.adler = 0, s.status = BUSY_STATE;\n } else\n s.status = BUSY_STATE;\n if (s.pending !== 0) {\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH)\n return err(strm, Z_BUF_ERROR);\n if (s.status === FINISH_STATE && strm.avail_in !== 0)\n return err(strm, Z_BUF_ERROR);\n if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH && s.status !== FINISH_STATE) {\n var bstate = s.strategy === Z_HUFFMAN_ONLY \? deflate_huff(s, flush) : s.strategy === Z_RLE \? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush);\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE)\n s.status = FINISH_STATE;\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0)\n s.last_flush = -1;\n return Z_OK;\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH)\n trees._tr_align(s);\n else if (flush !== Z_BLOCK) {\n if (trees._tr_stored_block(s, 0, 0, !1), flush === Z_FULL_FLUSH) {\n if (zero(s.head), s.lookahead === 0)\n s.strstart = 0, s.block_start = 0, s.insert = 0;\n }\n }\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n }\n }\n if (flush !== Z_FINISH)\n return Z_OK;\n if (s.wrap <= 0)\n return Z_STREAM_END;\n if (s.wrap === 2)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), put_byte(s, strm.adler >> 16 & 255), put_byte(s, strm.adler >> 24 & 255), put_byte(s, strm.total_in & 255), put_byte(s, strm.total_in >> 8 & 255), put_byte(s, strm.total_in >> 16 & 255), put_byte(s, strm.total_in >> 24 & 255);\n else\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n if (flush_pending(strm), s.wrap > 0)\n s.wrap = -s.wrap;\n return s.pending !== 0 \? Z_OK : Z_STREAM_END;\n }\n function deflateEnd(strm) {\n var status;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (status = strm.state.status, status !== INIT_STATE && status !== EXTRA_STATE && status !== NAME_STATE && status !== COMMENT_STATE && status !== HCRC_STATE && status !== BUSY_STATE && status !== FINISH_STATE)\n return err(strm, Z_STREAM_ERROR);\n return strm.state = null, status === BUSY_STATE \? err(strm, Z_DATA_ERROR) : Z_OK;\n }\n function deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, s, str, n, wrap, avail, next, input, tmpDict;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (s = strm.state, wrap = s.wrap, wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead)\n return Z_STREAM_ERROR;\n if (wrap === 1)\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n if (s.wrap = 0, dictLength >= s.w_size) {\n if (wrap === 0)\n zero(s.head), s.strstart = 0, s.block_start = 0, s.insert = 0;\n tmpDict = new utils.Buf8(s.w_size), utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0), dictionary = tmpDict, dictLength = s.w_size;\n }\n avail = strm.avail_in, next = strm.next_in, input = strm.input, strm.avail_in = dictLength, strm.next_in = 0, strm.input = dictionary, fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart, n = s.lookahead - (MIN_MATCH - 1);\n do\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++;\n while (--n);\n s.strstart = str, s.lookahead = MIN_MATCH - 1, fill_window(s);\n }\n return s.strstart += s.lookahead, s.block_start = s.strstart, s.insert = s.lookahead, s.lookahead = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, strm.next_in = next, strm.input = input, strm.avail_in = avail, s.wrap = wrap, Z_OK;\n }\n exports.deflateInit = deflateInit, exports.deflateInit2 = deflateInit2, exports.deflateReset = deflateReset, exports.deflateResetKeep = deflateResetKeep, exports.deflateSetHeader = deflateSetHeader, exports.deflate = deflate, exports.deflateEnd = deflateEnd, exports.deflateSetDictionary = deflateSetDictionary, exports.deflateInfo = \"pako deflate (from Nodeca project)\";\n }\n}), require_inffast = __commonJS({\n \"node_modules/pako/lib/zlib/inffast.js\"(exports, module2) {\n var BAD = 30, TYPE = 12;\n module2.exports = function inflate_fast(strm, start) {\n var state, _in, last, _out, beg, end, dmax, wsize, whave, wnext, s_window, hold, bits, lcode, dcode, lmask, dmask, here, op, len, dist, from, from_source, input, output;\n state = strm.state, _in = strm.next_in, input = strm.input, last = _in + (strm.avail_in - 5), _out = strm.next_out, output = strm.output, beg = _out - (start - strm.avail_out), end = _out + (strm.avail_out - 257), dmax = state.dmax, wsize = state.wsize, whave = state.whave, wnext = state.wnext, s_window = state.window, hold = state.hold, bits = state.bits, lcode = state.lencode, dcode = state.distcode, lmask = (1 << state.lenbits) - 1, dmask = (1 << state.distbits) - 1;\n top:\n do {\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = lcode[hold & lmask];\n dolen:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op === 0)\n output[_out++] = here & 65535;\n else if (op & 16) {\n if (len = here & 65535, op &= 15, op) {\n if (bits < op)\n hold += input[_in++] << bits, bits += 8;\n len += hold & (1 << op) - 1, hold >>>= op, bits -= op;\n }\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = dcode[hold & dmask];\n dodist:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op & 16) {\n if (dist = here & 65535, op &= 15, bits < op) {\n if (hold += input[_in++] << bits, bits += 8, bits < op)\n hold += input[_in++] << bits, bits += 8;\n }\n if (dist += hold & (1 << op) - 1, dist > dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n if (hold >>>= op, bits -= op, op = _out - beg, dist > op) {\n if (op = dist - op, op > whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n }\n if (from = 0, from_source = s_window, wnext === 0) {\n if (from += wsize - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n } else if (wnext < op) {\n if (from += wsize + wnext - op, op -= wnext, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n if (from = 0, wnext < len) {\n op = wnext, len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n }\n } else if (from += wnext - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n while (len > 2)\n output[_out++] = from_source[from++], output[_out++] = from_source[from++], output[_out++] = from_source[from++], len -= 3;\n if (len) {\n if (output[_out++] = from_source[from++], len > 1)\n output[_out++] = from_source[from++];\n }\n } else {\n from = _out - dist;\n do\n output[_out++] = output[from++], output[_out++] = output[from++], output[_out++] = output[from++], len -= 3;\n while (len > 2);\n if (len) {\n if (output[_out++] = output[from++], len > 1)\n output[_out++] = output[from++];\n }\n }\n } else if ((op & 64) === 0) {\n here = dcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dodist;\n } else {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } else if ((op & 64) === 0) {\n here = lcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dolen;\n } else if (op & 32) {\n state.mode = TYPE;\n break top;\n } else {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } while (_in < last && _out < end);\n len = bits >> 3, _in -= len, bits -= len << 3, hold &= (1 << bits) - 1, strm.next_in = _in, strm.next_out = _out, strm.avail_in = _in < last \? 5 + (last - _in) : 5 - (_in - last), strm.avail_out = _out < end \? 257 + (end - _out) : 257 - (_out - end), state.hold = hold, state.bits = bits;\n return;\n };\n }\n}), require_inftrees = __commonJS({\n \"node_modules/pako/lib/zlib/inftrees.js\"(exports, module2) {\n var utils = require_common(), MAXBITS = 15, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, CODES = 0, LENS = 1, DISTS = 2, lbase = [\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 13,\n 15,\n 17,\n 19,\n 23,\n 27,\n 31,\n 35,\n 43,\n 51,\n 59,\n 67,\n 83,\n 99,\n 115,\n 131,\n 163,\n 195,\n 227,\n 258,\n 0,\n 0\n ], lext = [\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 18,\n 19,\n 19,\n 19,\n 19,\n 20,\n 20,\n 20,\n 20,\n 21,\n 21,\n 21,\n 21,\n 16,\n 72,\n 78\n ], dbase = [\n 1,\n 2,\n 3,\n 4,\n 5,\n 7,\n 9,\n 13,\n 17,\n 25,\n 33,\n 49,\n 65,\n 97,\n 129,\n 193,\n 257,\n 385,\n 513,\n 769,\n 1025,\n 1537,\n 2049,\n 3073,\n 4097,\n 6145,\n 8193,\n 12289,\n 16385,\n 24577,\n 0,\n 0\n ], dext = [\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 18,\n 18,\n 19,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 24,\n 25,\n 25,\n 26,\n 26,\n 27,\n 27,\n 28,\n 28,\n 29,\n 29,\n 64,\n 64\n ];\n module2.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {\n var bits = opts.bits, len = 0, sym = 0, min = 0, max = 0, root = 0, curr = 0, drop = 0, left = 0, used = 0, huff = 0, incr, fill, low, mask, next, base = null, base_index = 0, end, count = new utils.Buf16(MAXBITS + 1), offs = new utils.Buf16(MAXBITS + 1), extra = null, extra_index = 0, here_bits, here_op, here_val;\n for (len = 0;len <= MAXBITS; len++)\n count[len] = 0;\n for (sym = 0;sym < codes; sym++)\n count[lens[lens_index + sym]]++;\n root = bits;\n for (max = MAXBITS;max >= 1; max--)\n if (count[max] !== 0)\n break;\n if (root > max)\n root = max;\n if (max === 0)\n return table[table_index++] = 1 << 24 | 64 << 16 | 0, table[table_index++] = 1 << 24 | 64 << 16 | 0, opts.bits = 1, 0;\n for (min = 1;min < max; min++)\n if (count[min] !== 0)\n break;\n if (root < min)\n root = min;\n left = 1;\n for (len = 1;len <= MAXBITS; len++)\n if (left <<= 1, left -= count[len], left < 0)\n return -1;\n if (left > 0 && (type === CODES || max !== 1))\n return -1;\n offs[1] = 0;\n for (len = 1;len < MAXBITS; len++)\n offs[len + 1] = offs[len] + count[len];\n for (sym = 0;sym < codes; sym++)\n if (lens[lens_index + sym] !== 0)\n work[offs[lens[lens_index + sym]]++] = sym;\n if (type === CODES)\n base = extra = work, end = 19;\n else if (type === LENS)\n base = lbase, base_index -= 257, extra = lext, extra_index -= 257, end = 256;\n else\n base = dbase, extra = dext, end = -1;\n if (huff = 0, sym = 0, len = min, next = table_index, curr = root, drop = 0, low = -1, used = 1 << root, mask = used - 1, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n for (;; ) {\n if (here_bits = len - drop, work[sym] < end)\n here_op = 0, here_val = work[sym];\n else if (work[sym] > end)\n here_op = extra[extra_index + work[sym]], here_val = base[base_index + work[sym]];\n else\n here_op = 96, here_val = 0;\n incr = 1 << len - drop, fill = 1 << curr, min = fill;\n do\n fill -= incr, table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;\n while (fill !== 0);\n incr = 1 << len - 1;\n while (huff & incr)\n incr >>= 1;\n if (incr !== 0)\n huff &= incr - 1, huff += incr;\n else\n huff = 0;\n if (sym++, --count[len] === 0) {\n if (len === max)\n break;\n len = lens[lens_index + work[sym]];\n }\n if (len > root && (huff & mask) !== low) {\n if (drop === 0)\n drop = root;\n next += min, curr = len - drop, left = 1 << curr;\n while (curr + drop < max) {\n if (left -= count[curr + drop], left <= 0)\n break;\n curr++, left <<= 1;\n }\n if (used += 1 << curr, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n low = huff & mask, table[low] = root << 24 | curr << 16 | next - table_index | 0;\n }\n }\n if (huff !== 0)\n table[next + huff] = len - drop << 24 | 64 << 16 | 0;\n return opts.bits = root, 0;\n };\n }\n}), require_inflate = __commonJS({\n \"node_modules/pako/lib/zlib/inflate.js\"(exports) {\n var utils = require_common(), adler32 = require_adler32(), crc32 = require_crc32(), inflate_fast = require_inffast(), inflate_table = require_inftrees(), CODES = 0, LENS = 1, DISTS = 2, Z_FINISH = 4, Z_BLOCK = 5, Z_TREES = 6, Z_OK = 0, Z_STREAM_END = 1, Z_NEED_DICT = 2, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_MEM_ERROR = -4, Z_BUF_ERROR = -5, Z_DEFLATED = 8, HEAD = 1, FLAGS = 2, TIME = 3, OS = 4, EXLEN = 5, EXTRA = 6, NAME = 7, COMMENT = 8, HCRC = 9, DICTID = 10, DICT = 11, TYPE = 12, TYPEDO = 13, STORED = 14, COPY_ = 15, COPY = 16, TABLE = 17, LENLENS = 18, CODELENS = 19, LEN_ = 20, LEN = 21, LENEXT = 22, DIST = 23, DISTEXT = 24, MATCH = 25, LIT = 26, CHECK = 27, LENGTH = 28, DONE = 29, BAD = 30, MEM = 31, SYNC = 32, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, MAX_WBITS = 15, DEF_WBITS = MAX_WBITS;\n function zswap32(q) {\n return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24);\n }\n function InflateState() {\n this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new utils.Buf16(320), this.work = new utils.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;\n }\n function inflateResetKeep(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, strm.total_in = strm.total_out = state.total = 0, strm.msg = \"\", state.wrap)\n strm.adler = state.wrap & 1;\n return state.mode = HEAD, state.last = 0, state.havedict = 0, state.dmax = 32768, state.head = null, state.hold = 0, state.bits = 0, state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS), state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS), state.sane = 1, state.back = -1, Z_OK;\n }\n function inflateReset(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n return state = strm.state, state.wsize = 0, state.whave = 0, state.wnext = 0, inflateResetKeep(strm);\n }\n function inflateReset2(strm, windowBits) {\n var wrap, state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (wrap = (windowBits >> 4) + 1, windowBits < 48)\n windowBits &= 15;\n if (windowBits && (windowBits < 8 || windowBits > 15))\n return Z_STREAM_ERROR;\n if (state.window !== null && state.wbits !== windowBits)\n state.window = null;\n return state.wrap = wrap, state.wbits = windowBits, inflateReset(strm);\n }\n function inflateInit2(strm, windowBits) {\n var ret, state;\n if (!strm)\n return Z_STREAM_ERROR;\n if (state = new InflateState, strm.state = state, state.window = null, ret = inflateReset2(strm, windowBits), ret !== Z_OK)\n strm.state = null;\n return ret;\n }\n function inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n }\n var virgin = !0, lenfix, distfix;\n function fixedtables(state) {\n if (virgin) {\n var sym;\n lenfix = new utils.Buf32(512), distfix = new utils.Buf32(32), sym = 0;\n while (sym < 144)\n state.lens[sym++] = 8;\n while (sym < 256)\n state.lens[sym++] = 9;\n while (sym < 280)\n state.lens[sym++] = 7;\n while (sym < 288)\n state.lens[sym++] = 8;\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {\n bits: 9\n }), sym = 0;\n while (sym < 32)\n state.lens[sym++] = 5;\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {\n bits: 5\n }), virgin = !1;\n }\n state.lencode = lenfix, state.lenbits = 9, state.distcode = distfix, state.distbits = 5;\n }\n function updatewindow(strm, src, end, copy) {\n var dist, state = strm.state;\n if (state.window === null)\n state.wsize = 1 << state.wbits, state.wnext = 0, state.whave = 0, state.window = new utils.Buf8(state.wsize);\n if (copy >= state.wsize)\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0), state.wnext = 0, state.whave = state.wsize;\n else {\n if (dist = state.wsize - state.wnext, dist > copy)\n dist = copy;\n if (utils.arraySet(state.window, src, end - copy, dist, state.wnext), copy -= dist, copy)\n utils.arraySet(state.window, src, end - copy, copy, 0), state.wnext = copy, state.whave = state.wsize;\n else {\n if (state.wnext += dist, state.wnext === state.wsize)\n state.wnext = 0;\n if (state.whave < state.wsize)\n state.whave += dist;\n }\n }\n return 0;\n }\n function inflate(strm, flush) {\n var state, input, output, next, put, have, left, hold, bits, _in, _out, copy, from, from_source, here = 0, here_bits, here_op, here_val, last_bits, last_op, last_val, len, ret, hbuf = new utils.Buf8(4), opts, n, order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.mode === TYPE)\n state.mode = TYPEDO;\n put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, _in = have, _out = left, ret = Z_OK;\n inf_leave:\n for (;; )\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.wrap & 2 && hold === 35615) {\n state.check = 0, hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0), hold = 0, bits = 0, state.mode = FLAGS;\n break;\n }\n if (state.flags = 0, state.head)\n state.head.done = !1;\n if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {\n strm.msg = \"incorrect header check\", state.mode = BAD;\n break;\n }\n if ((hold & 15) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (hold >>>= 4, bits -= 4, len = (hold & 15) + 8, state.wbits === 0)\n state.wbits = len;\n else if (len > state.wbits) {\n strm.msg = \"invalid window size\", state.mode = BAD;\n break;\n }\n state.dmax = 1 << len, strm.adler = state.check = 1, state.mode = hold & 512 \? DICTID : TYPE, hold = 0, bits = 0;\n break;\n case FLAGS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.flags = hold, (state.flags & 255) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (state.flags & 57344) {\n strm.msg = \"unknown header flags set\", state.mode = BAD;\n break;\n }\n if (state.head)\n state.head.text = hold >> 8 & 1;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = TIME;\n case TIME:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.time = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, hbuf[2] = hold >>> 16 & 255, hbuf[3] = hold >>> 24 & 255, state.check = crc32(state.check, hbuf, 4, 0);\n hold = 0, bits = 0, state.mode = OS;\n case OS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.xflags = hold & 255, state.head.os = hold >> 8;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = EXLEN;\n case EXLEN:\n if (state.flags & 1024) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.length = hold, state.head)\n state.head.extra_len = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0;\n } else if (state.head)\n state.head.extra = null;\n state.mode = EXTRA;\n case EXTRA:\n if (state.flags & 1024) {\n if (copy = state.length, copy > have)\n copy = have;\n if (copy) {\n if (state.head) {\n if (len = state.head.extra_len - state.length, !state.head.extra)\n state.head.extra = new @Array(state.head.extra_len);\n utils.arraySet(state.head.extra, input, next, copy, len);\n }\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n have -= copy, next += copy, state.length -= copy;\n }\n if (state.length)\n break inf_leave;\n }\n state.length = 0, state.mode = NAME;\n case NAME:\n if (state.flags & 2048) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.name += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.name = null;\n state.length = 0, state.mode = COMMENT;\n case COMMENT:\n if (state.flags & 4096) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.comment += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.comment = null;\n state.mode = HCRC;\n case HCRC:\n if (state.flags & 512) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.check & 65535)) {\n strm.msg = \"header crc mismatch\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n if (state.head)\n state.head.hcrc = state.flags >> 9 & 1, state.head.done = !0;\n strm.adler = state.check = 0, state.mode = TYPE;\n break;\n case DICTID:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n strm.adler = state.check = zswap32(hold), hold = 0, bits = 0, state.mode = DICT;\n case DICT:\n if (state.havedict === 0)\n return strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, Z_NEED_DICT;\n strm.adler = state.check = 1, state.mode = TYPE;\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES)\n break inf_leave;\n case TYPEDO:\n if (state.last) {\n hold >>>= bits & 7, bits -= bits & 7, state.mode = CHECK;\n break;\n }\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n switch (state.last = hold & 1, hold >>>= 1, bits -= 1, hold & 3) {\n case 0:\n state.mode = STORED;\n break;\n case 1:\n if (fixedtables(state), state.mode = LEN_, flush === Z_TREES) {\n hold >>>= 2, bits -= 2;\n break inf_leave;\n }\n break;\n case 2:\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = \"invalid block type\", state.mode = BAD;\n }\n hold >>>= 2, bits -= 2;\n break;\n case STORED:\n hold >>>= bits & 7, bits -= bits & 7;\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((hold & 65535) !== (hold >>> 16 ^ 65535)) {\n strm.msg = \"invalid stored block lengths\", state.mode = BAD;\n break;\n }\n if (state.length = hold & 65535, hold = 0, bits = 0, state.mode = COPY_, flush === Z_TREES)\n break inf_leave;\n case COPY_:\n state.mode = COPY;\n case COPY:\n if (copy = state.length, copy) {\n if (copy > have)\n copy = have;\n if (copy > left)\n copy = left;\n if (copy === 0)\n break inf_leave;\n utils.arraySet(output, input, next, copy, put), have -= copy, next += copy, left -= copy, put += copy, state.length -= copy;\n break;\n }\n state.mode = TYPE;\n break;\n case TABLE:\n while (bits < 14) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.nlen = (hold & 31) + 257, hold >>>= 5, bits -= 5, state.ndist = (hold & 31) + 1, hold >>>= 5, bits -= 5, state.ncode = (hold & 15) + 4, hold >>>= 4, bits -= 4, state.nlen > 286 || state.ndist > 30) {\n strm.msg = \"too many length or distance symbols\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = LENLENS;\n case LENLENS:\n while (state.have < state.ncode) {\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.lens[order[state.have++]] = hold & 7, hold >>>= 3, bits -= 3;\n }\n while (state.have < 19)\n state.lens[order[state.have++]] = 0;\n if (state.lencode = state.lendyn, state.lenbits = 7, opts = { bits: state.lenbits }, ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid code lengths set\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = CODELENS;\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_val < 16)\n hold >>>= here_bits, bits -= here_bits, state.lens[state.have++] = here_val;\n else {\n if (here_val === 16) {\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.have === 0) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1], copy = 3 + (hold & 3), hold >>>= 2, bits -= 2;\n } else if (here_val === 17) {\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 3 + (hold & 7), hold >>>= 3, bits -= 3;\n } else {\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 11 + (hold & 127), hold >>>= 7, bits -= 7;\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n while (copy--)\n state.lens[state.have++] = len;\n }\n }\n if (state.mode === BAD)\n break;\n if (state.lens[256] === 0) {\n strm.msg = \"invalid code -- missing end-of-block\", state.mode = BAD;\n break;\n }\n if (state.lenbits = 9, opts = { bits: state.lenbits }, ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid literal/lengths set\", state.mode = BAD;\n break;\n }\n if (state.distbits = 6, state.distcode = state.distdyn, opts = { bits: state.distbits }, ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts), state.distbits = opts.bits, ret) {\n strm.msg = \"invalid distances set\", state.mode = BAD;\n break;\n }\n if (state.mode = LEN_, flush === Z_TREES)\n break inf_leave;\n case LEN_:\n state.mode = LEN;\n case LEN:\n if (have >= 6 && left >= 258) {\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, inflate_fast(strm, _out), put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, state.mode === TYPE)\n state.back = -1;\n break;\n }\n state.back = 0;\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_op && (here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, state.length = here_val, here_op === 0) {\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n state.back = -1, state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break;\n }\n state.extra = here_op & 15, state.mode = LENEXT;\n case LENEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.length += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n state.was = state.length, state.mode = DIST;\n case DIST:\n for (;; ) {\n if (here = state.distcode[hold & (1 << state.distbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, here_op & 64) {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break;\n }\n state.offset = here_val, state.extra = here_op & 15, state.mode = DISTEXT;\n case DISTEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.offset += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n if (state.offset > state.dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n state.mode = MATCH;\n case MATCH:\n if (left === 0)\n break inf_leave;\n if (copy = _out - left, state.offset > copy) {\n if (copy = state.offset - copy, copy > state.whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n }\n if (copy > state.wnext)\n copy -= state.wnext, from = state.wsize - copy;\n else\n from = state.wnext - copy;\n if (copy > state.length)\n copy = state.length;\n from_source = state.window;\n } else\n from_source = output, from = put - state.offset, copy = state.length;\n if (copy > left)\n copy = left;\n left -= copy, state.length -= copy;\n do\n output[put++] = from_source[from++];\n while (--copy);\n if (state.length === 0)\n state.mode = LEN;\n break;\n case LIT:\n if (left === 0)\n break inf_leave;\n output[put++] = state.length, left--, state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold |= input[next++] << bits, bits += 8;\n }\n if (_out -= left, strm.total_out += _out, state.total += _out, _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);\n if (_out = left, (state.flags \? hold : zswap32(hold)) !== state.check) {\n strm.msg = \"incorrect data check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = LENGTH;\n case LENGTH:\n if (state.wrap && state.flags) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.total & 4294967295)) {\n strm.msg = \"incorrect length check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = DONE;\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n default:\n return Z_STREAM_ERROR;\n }\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out))\n return state.mode = MEM, Z_MEM_ERROR;\n }\n if (_in -= strm.avail_in, _out -= strm.avail_out, strm.total_in += _in, strm.total_out += _out, state.total += _out, state.wrap && _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);\n if (strm.data_type = state.bits + (state.last \? 64 : 0) + (state.mode === TYPE \? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ \? 256 : 0), (_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK)\n ret = Z_BUF_ERROR;\n return ret;\n }\n function inflateEnd(strm) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n var state = strm.state;\n if (state.window)\n state.window = null;\n return strm.state = null, Z_OK;\n }\n function inflateGetHeader(strm, head) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, (state.wrap & 2) === 0)\n return Z_STREAM_ERROR;\n return state.head = head, head.done = !1, Z_OK;\n }\n function inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, state, dictid, ret;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.wrap !== 0 && state.mode !== DICT)\n return Z_STREAM_ERROR;\n if (state.mode === DICT) {\n if (dictid = 1, dictid = adler32(dictid, dictionary, dictLength, 0), dictid !== state.check)\n return Z_DATA_ERROR;\n }\n if (ret = updatewindow(strm, dictionary, dictLength, dictLength), ret)\n return state.mode = MEM, Z_MEM_ERROR;\n return state.havedict = 1, Z_OK;\n }\n exports.inflateReset = inflateReset, exports.inflateReset2 = inflateReset2, exports.inflateResetKeep = inflateResetKeep, exports.inflateInit = inflateInit, exports.inflateInit2 = inflateInit2, exports.inflate = inflate, exports.inflateEnd = inflateEnd, exports.inflateGetHeader = inflateGetHeader, exports.inflateSetDictionary = inflateSetDictionary, exports.inflateInfo = \"pako inflate (from Nodeca project)\";\n }\n}), require_constants = __commonJS({\n \"node_modules/pako/lib/zlib/constants.js\"(exports, module2) {\n module2.exports = {\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_BUF_ERROR: -5,\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n Z_BINARY: 0,\n Z_TEXT: 1,\n Z_UNKNOWN: 2,\n Z_DEFLATED: 8\n };\n }\n}), require_binding = __commonJS({\n \"node_modules/browserify-zlib/lib/binding.js\"(exports) {\n var Zstream = require_zstream(), zlib_deflate = require_deflate(), zlib_inflate = require_inflate(), constants = require_constants();\n for (key in constants)\n exports[key] = constants[key];\n var key;\n exports.NONE = 0, exports.DEFLATE = 1, exports.INFLATE = 2, exports.GZIP = 3, exports.GUNZIP = 4, exports.DEFLATERAW = 5, exports.INFLATERAW = 6, exports.UNZIP = 7;\n var GZIP_HEADER_ID1 = 31, GZIP_HEADER_ID2 = 139;\n function Zlib(mode) {\n if (typeof mode !== \"number\" || mode < exports.DEFLATE || mode > exports.UNZIP)\n @throwTypeError(\"Bad argument\");\n this.dictionary = null, this.err = 0, this.flush = 0, this.init_done = !1, this.level = 0, this.memLevel = 0, this.mode = mode, this.strategy = 0, this.windowBits = 0, this.write_in_progress = !1, this.pending_close = !1, this.gzip_id_bytes_read = 0;\n }\n Zlib.prototype = {}, Zlib.prototype.close = function() {\n if (this.write_in_progress) {\n this.pending_close = !0;\n return;\n }\n if (this.pending_close = !1, assert(this.init_done, \"close before init\"), assert(this.mode <= exports.UNZIP), this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW)\n zlib_deflate.deflateEnd(this.strm);\n else if (this.mode === exports.INFLATE || this.mode === exports.GUNZIP || this.mode === exports.INFLATERAW || this.mode === exports.UNZIP)\n zlib_inflate.inflateEnd(this.strm);\n this.mode = exports.NONE, this.dictionary = null;\n }, Zlib.prototype.write = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!0, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype.writeSync = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!1, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype._write = function(async, flush, input, in_off, in_len, out, out_off, out_len) {\n if (assert.equal(arguments.length, 8), assert(this.init_done, \"write before init\"), assert(this.mode !== exports.NONE, \"already finalized\"), assert.equal(!1, this.write_in_progress, \"write already in progress\"), assert.equal(!1, this.pending_close, \"close is pending\"), this.write_in_progress = !0, assert.equal(!1, flush === void 0, \"must provide flush value\"), this.write_in_progress = !0, flush !== exports.Z_NO_FLUSH && flush !== exports.Z_PARTIAL_FLUSH && flush !== exports.Z_SYNC_FLUSH && flush !== exports.Z_FULL_FLUSH && flush !== exports.Z_FINISH && flush !== exports.Z_BLOCK)\n throw new Error(\"Invalid flush value\");\n if (input == null)\n input = @Buffer.alloc(0), in_len = 0, in_off = 0;\n if (this.strm.avail_in = in_len, this.strm.input = input, this.strm.next_in = in_off, this.strm.avail_out = out_len, this.strm.output = out, this.strm.next_out = out_off, this.flush = flush, !async) {\n if (this._process(), this._checkError())\n return this._afterSync();\n return;\n }\n var self = this;\n return process.nextTick(function() {\n self._process(), self._after();\n }), this;\n }, Zlib.prototype._afterSync = function() {\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n return this.write_in_progress = !1, [avail_in, avail_out];\n }, Zlib.prototype._process = function() {\n var next_expected_header_byte = null;\n switch (this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflate(this.strm, this.flush);\n break;\n case exports.UNZIP:\n if (this.strm.avail_in > 0)\n next_expected_header_byte = this.strm.next_in;\n switch (this.gzip_id_bytes_read) {\n case 0:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID1) {\n if (this.gzip_id_bytes_read = 1, next_expected_header_byte++, this.strm.avail_in === 1)\n break;\n } else {\n this.mode = exports.INFLATE;\n break;\n }\n case 1:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID2)\n this.gzip_id_bytes_read = 2, this.mode = exports.GUNZIP;\n else\n this.mode = exports.INFLATE;\n break;\n default:\n throw new Error(\"invalid number of gzip magic number bytes read\");\n }\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n if (this.err = zlib_inflate.inflate(this.strm, this.flush), this.err === exports.Z_NEED_DICT && this.dictionary) {\n if (this.err = zlib_inflate.inflateSetDictionary(this.strm, this.dictionary), this.err === exports.Z_OK)\n this.err = zlib_inflate.inflate(this.strm, this.flush);\n else if (this.err === exports.Z_DATA_ERROR)\n this.err = exports.Z_NEED_DICT;\n }\n while (this.strm.avail_in > 0 && this.mode === exports.GUNZIP && this.err === exports.Z_STREAM_END && this.strm.next_in[0] !== 0)\n this.reset(), this.err = zlib_inflate.inflate(this.strm, this.flush);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n }, Zlib.prototype._checkError = function() {\n switch (this.err) {\n case exports.Z_OK:\n case exports.Z_BUF_ERROR:\n if (this.strm.avail_out !== 0 && this.flush === exports.Z_FINISH)\n return this._error(\"unexpected end of file\"), !1;\n break;\n case exports.Z_STREAM_END:\n break;\n case exports.Z_NEED_DICT:\n if (this.dictionary == null)\n this._error(\"Missing dictionary\");\n else\n this._error(\"Bad dictionary\");\n return !1;\n default:\n return this._error(\"Zlib error\"), !1;\n }\n return !0;\n }, Zlib.prototype._after = function() {\n if (!this._checkError())\n return;\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n if (this.write_in_progress = !1, this.callback(avail_in, avail_out), this.pending_close)\n this.close();\n }, Zlib.prototype._error = function(message) {\n if (this.strm.msg)\n message = this.strm.msg;\n if (this.onerror(message, this.err), this.write_in_progress = !1, this.pending_close)\n this.close();\n }, Zlib.prototype.init = function(windowBits, level, memLevel, strategy, dictionary) {\n assert(arguments.length === 4 || arguments.length === 5, \"init(windowBits, level, memLevel, strategy, [dictionary])\"), assert(windowBits >= 8 && windowBits <= 15, \"invalid windowBits\"), assert(level >= -1 && level <= 9, \"invalid compression level\"), assert(memLevel >= 1 && memLevel <= 9, \"invalid memlevel\"), assert(strategy === exports.Z_FILTERED || strategy === exports.Z_HUFFMAN_ONLY || strategy === exports.Z_RLE || strategy === exports.Z_FIXED || strategy === exports.Z_DEFAULT_STRATEGY, \"invalid strategy\"), this._init(level, windowBits, memLevel, strategy, dictionary), this._setDictionary();\n }, Zlib.prototype.params = function() {\n throw new Error(\"deflateParams Not supported\");\n }, Zlib.prototype.reset = function() {\n this._reset(), this._setDictionary();\n }, Zlib.prototype._init = function(level, windowBits, memLevel, strategy, dictionary) {\n if (this.level = level, this.windowBits = windowBits, this.memLevel = memLevel, this.strategy = strategy, this.flush = exports.Z_NO_FLUSH, this.err = exports.Z_OK, this.mode === exports.GZIP || this.mode === exports.GUNZIP)\n this.windowBits += 16;\n if (this.mode === exports.UNZIP)\n this.windowBits += 32;\n if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW)\n this.windowBits = -1 * this.windowBits;\n switch (this.strm = new Zstream, this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateInit2(this.strm, this.level, exports.Z_DEFLATED, this.windowBits, this.memLevel, this.strategy);\n break;\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n case exports.UNZIP:\n this.err = zlib_inflate.inflateInit2(this.strm, this.windowBits);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Init error\");\n this.dictionary = dictionary, this.write_in_progress = !1, this.init_done = !0;\n }, Zlib.prototype._setDictionary = function() {\n if (this.dictionary == null)\n return;\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateSetDictionary(this.strm, this.dictionary);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to set dictionary\");\n }, Zlib.prototype._reset = function() {\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n case exports.GZIP:\n this.err = zlib_deflate.deflateReset(this.strm);\n break;\n case exports.INFLATE:\n case exports.INFLATERAW:\n case exports.GUNZIP:\n this.err = zlib_inflate.inflateReset(this.strm);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to reset stream\");\n }, exports.Zlib = Zlib;\n }\n}), require_lib = __commonJS({\n \"node_modules/browserify-zlib/lib/index.js\"(exports) {\n var Buffer2 = BufferModule.Buffer, Transform = StreamModule.Transform, binding = require_binding(), util = Util, kMaxLength = BufferModule.kMaxLength, kRangeErrorMessage = \"Cannot create final Buffer. It would be larger than 0x\" + kMaxLength.toString(16) + \" bytes\";\n binding.Z_MIN_WINDOWBITS = 8, binding.Z_MAX_WINDOWBITS = 15, binding.Z_DEFAULT_WINDOWBITS = 15, binding.Z_MIN_CHUNK = 64, binding.Z_MAX_CHUNK = @Infinity, binding.Z_DEFAULT_CHUNK = 16384, binding.Z_MIN_MEMLEVEL = 1, binding.Z_MAX_MEMLEVEL = 9, binding.Z_DEFAULT_MEMLEVEL = 8, binding.Z_MIN_LEVEL = -1, binding.Z_MAX_LEVEL = 9, binding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n var bkeys = Object.keys(binding);\n for (bk = 0;bk < bkeys.length; bk++)\n if (bkey = bkeys[bk], bkey.match(/^Z/))\n Object.defineProperty(exports, bkey, {\n enumerable: !0,\n value: binding[bkey],\n writable: !1\n });\n var bkey, bk, codes = {\n Z_OK: binding.Z_OK,\n Z_STREAM_END: binding.Z_STREAM_END,\n Z_NEED_DICT: binding.Z_NEED_DICT,\n Z_ERRNO: binding.Z_ERRNO,\n Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n Z_DATA_ERROR: binding.Z_DATA_ERROR,\n Z_MEM_ERROR: binding.Z_MEM_ERROR,\n Z_BUF_ERROR: binding.Z_BUF_ERROR,\n Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n }, ckeys = Object.keys(codes);\n for (ck = 0;ck < ckeys.length; ck++)\n ckey = ckeys[ck], codes[codes[ckey]] = ckey;\n var ckey, ck;\n Object.defineProperty(exports, \"codes\", {\n enumerable: !0,\n value: Object.freeze(codes),\n writable: !1\n }), exports.constants = require_constants(), exports.Deflate = Deflate, exports.Inflate = Inflate, exports.Gzip = Gzip, exports.Gunzip = Gunzip, exports.DeflateRaw = DeflateRaw, exports.InflateRaw = InflateRaw, exports.Unzip = Unzip, exports.createDeflate = function(o) {\n return new Deflate(o);\n }, exports.createInflate = function(o) {\n return new Inflate(o);\n }, exports.createDeflateRaw = function(o) {\n return new DeflateRaw(o);\n }, exports.createInflateRaw = function(o) {\n return new InflateRaw(o);\n }, exports.createGzip = function(o) {\n return new Gzip(o);\n }, exports.createGunzip = function(o) {\n return new Gunzip(o);\n }, exports.createUnzip = function(o) {\n return new Unzip(o);\n }, exports.deflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Deflate(opts), buffer, callback);\n }, exports.deflateSync = function(buffer, opts) {\n return zlibBufferSync(new Deflate(opts), buffer);\n }, exports.gzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gzip(opts), buffer, callback);\n }, exports.gzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gzip(opts), buffer);\n }, exports.deflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n }, exports.deflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new DeflateRaw(opts), buffer);\n }, exports.unzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Unzip(opts), buffer, callback);\n }, exports.unzipSync = function(buffer, opts) {\n return zlibBufferSync(new Unzip(opts), buffer);\n }, exports.inflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Inflate(opts), buffer, callback);\n }, exports.inflateSync = function(buffer, opts) {\n return zlibBufferSync(new Inflate(opts), buffer);\n }, exports.gunzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gunzip(opts), buffer, callback);\n }, exports.gunzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gunzip(opts), buffer);\n }, exports.inflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new InflateRaw(opts), buffer, callback);\n }, exports.inflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new InflateRaw(opts), buffer);\n }, exports.brotliCompress = function(buffer, opts, callback) {\n throw new Error(\"zlib.brotliCompress is not implemented\");\n };\n function zlibBuffer(engine, buffer, callback) {\n var buffers = [], nread = 0;\n engine.on(\"error\", onError), engine.on(\"end\", onEnd), engine.end(buffer), flow();\n function flow() {\n var chunk;\n while ((chunk = engine.read()) !== null)\n buffers.push(chunk), nread += chunk.length;\n engine.once(\"readable\", flow);\n }\n function onError(err) {\n engine.removeListener(\"end\", onEnd), engine.removeListener(\"readable\", flow), callback(err);\n }\n function onEnd() {\n var buf, err = null;\n if (nread >= kMaxLength)\n err = new RangeError(kRangeErrorMessage);\n else\n buf = Buffer2.concat(buffers, nread);\n buffers = [], engine.close(), callback(err, buf);\n }\n }\n function zlibBufferSync(engine, buffer) {\n if (typeof buffer === \"string\")\n buffer = Buffer2.from(buffer);\n if (!Buffer2.isBuffer(buffer))\n @throwTypeError(\"Not a string or buffer\");\n var flushFlag = engine._finishFlushFlag;\n return engine._processChunk(buffer, flushFlag);\n }\n function Deflate(opts) {\n if (!(this instanceof Deflate))\n return new Deflate(opts);\n Zlib.@call(this, opts, binding.DEFLATE);\n }\n function Inflate(opts) {\n if (!(this instanceof Inflate))\n return new Inflate(opts);\n Zlib.@call(this, opts, binding.INFLATE);\n }\n function Gzip(opts) {\n if (!(this instanceof Gzip))\n return new Gzip(opts);\n Zlib.@call(this, opts, binding.GZIP);\n }\n function Gunzip(opts) {\n if (!(this instanceof Gunzip))\n return new Gunzip(opts);\n Zlib.@call(this, opts, binding.GUNZIP);\n }\n function DeflateRaw(opts) {\n if (!(this instanceof DeflateRaw))\n return new DeflateRaw(opts);\n Zlib.@call(this, opts, binding.DEFLATERAW);\n }\n function InflateRaw(opts) {\n if (!(this instanceof InflateRaw))\n return new InflateRaw(opts);\n Zlib.@call(this, opts, binding.INFLATERAW);\n }\n function Unzip(opts) {\n if (!(this instanceof Unzip))\n return new Unzip(opts);\n Zlib.@call(this, opts, binding.UNZIP);\n }\n function isValidFlushFlag(flag) {\n return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK;\n }\n function Zlib(opts, mode) {\n var _this = this;\n if (this._opts = opts = opts || {}, this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK, Transform.@call(this, opts), opts.flush && !isValidFlushFlag(opts.flush))\n throw new Error(\"Invalid flush flag: \" + opts.flush);\n if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush))\n throw new Error(\"Invalid flush flag: \" + opts.finishFlush);\n if (this._flushFlag = opts.flush || binding.Z_NO_FLUSH, this._finishFlushFlag = typeof opts.finishFlush !== \"undefined\" \? opts.finishFlush : binding.Z_FINISH, opts.chunkSize) {\n if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK)\n throw new Error(\"Invalid chunk size: \" + opts.chunkSize);\n }\n if (opts.windowBits) {\n if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS)\n throw new Error(\"Invalid windowBits: \" + opts.windowBits);\n }\n if (opts.level) {\n if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL)\n throw new Error(\"Invalid compression level: \" + opts.level);\n }\n if (opts.memLevel) {\n if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL)\n throw new Error(\"Invalid memLevel: \" + opts.memLevel);\n }\n if (opts.strategy) {\n if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY)\n throw new Error(\"Invalid strategy: \" + opts.strategy);\n }\n if (opts.dictionary) {\n if (!Buffer2.isBuffer(opts.dictionary))\n throw new Error(\"Invalid dictionary: it should be a Buffer instance\");\n }\n this._handle = new binding.Zlib(mode);\n var self = this;\n this._hadError = !1, this._handle.onerror = function(message, errno) {\n _close(self), self._hadError = !0;\n var error = new Error(message);\n error.errno = errno, error.code = exports.codes[errno], self.emit(\"error\", error);\n };\n var level = exports.Z_DEFAULT_COMPRESSION;\n if (typeof opts.level === \"number\")\n level = opts.level;\n var strategy = exports.Z_DEFAULT_STRATEGY;\n if (typeof opts.strategy === \"number\")\n strategy = opts.strategy;\n this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary), this._buffer = Buffer2.allocUnsafe(this._chunkSize), this._offset = 0, this._level = level, this._strategy = strategy, this.once(\"end\", this.close), Object.defineProperty(this, \"_closed\", {\n get: function() {\n return !_this._handle;\n },\n configurable: !0,\n enumerable: !0\n });\n }\n util.inherits(Zlib, Transform), Zlib.prototype.params = function(level, strategy, callback) {\n if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL)\n @throwRangeError(\"Invalid compression level: \" + level);\n if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY)\n @throwTypeError(\"Invalid strategy: \" + strategy);\n if (this._level !== level || this._strategy !== strategy) {\n var self = this;\n this.flush(binding.Z_SYNC_FLUSH, function() {\n if (assert(self._handle, \"zlib binding closed\"), self._handle.params(level, strategy), !self._hadError) {\n if (self._level = level, self._strategy = strategy, callback)\n callback();\n }\n });\n } else\n process.nextTick(callback);\n }, Zlib.prototype.reset = function() {\n return assert(this._handle, \"zlib binding closed\"), this._handle.reset();\n }, Zlib.prototype._flush = function(callback) {\n this._transform(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.flush = function(kind, callback) {\n var _this2 = this, ws = this._writableState;\n if (typeof kind === \"function\" || kind === void 0 && !callback)\n callback = kind, kind = binding.Z_FULL_FLUSH;\n if (ws.ended) {\n if (callback)\n process.nextTick(callback);\n } else if (ws.ending) {\n if (callback)\n this.once(\"end\", callback);\n } else if (ws.needDrain) {\n if (callback)\n this.once(\"drain\", function() {\n return _this2.flush(kind, callback);\n });\n } else\n this._flushFlag = kind, this.write(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.close = function(callback) {\n _close(this, callback), process.nextTick(emitCloseNT, this);\n };\n function _close(engine, callback) {\n if (callback)\n process.nextTick(callback);\n if (!engine._handle)\n return;\n engine._handle.close(), engine._handle = null;\n }\n function emitCloseNT(self) {\n self.emit(\"close\");\n }\n Zlib.prototype._transform = function(chunk, encoding, cb) {\n var flushFlag, ws = this._writableState, ending = ws.ending || ws.ended, last = ending && (!chunk || ws.length === chunk.length);\n if (chunk !== null && !Buffer2.isBuffer(chunk))\n return cb(new Error(\"invalid input\"));\n if (!this._handle)\n return cb(new Error(\"zlib binding closed\"));\n if (last)\n flushFlag = this._finishFlushFlag;\n else if (flushFlag = this._flushFlag, chunk.length >= ws.length)\n this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n this._processChunk(chunk, flushFlag, cb);\n }, Zlib.prototype._processChunk = function(chunk, flushFlag, cb) {\n var availInBefore = chunk && chunk.length, availOutBefore = this._chunkSize - this._offset, inOff = 0, self = this, async = typeof cb === \"function\";\n if (!async) {\n var buffers = [], nread = 0, error;\n this.on(\"error\", function(er) {\n error = er;\n }), assert(this._handle, \"zlib binding closed\");\n do\n var res = this._handle.writeSync(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n while (!this._hadError && callback(res[0], res[1]));\n if (this._hadError)\n throw error;\n if (nread >= kMaxLength)\n _close(this), @throwRangeError(kRangeErrorMessage);\n var buf = Buffer2.concat(buffers, nread);\n return _close(this), buf;\n }\n assert(this._handle, \"zlib binding closed\");\n var req = this._handle.write(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n req.buffer = chunk, req.callback = callback;\n function callback(availInAfter, availOutAfter) {\n if (this)\n this.buffer = null, this.callback = null;\n if (self._hadError)\n return;\n var have = availOutBefore - availOutAfter;\n if (assert(have >= 0, \"have should not go down\"), have > 0) {\n var out = self._buffer.slice(self._offset, self._offset + have);\n if (self._offset += have, async)\n self.push(out);\n else\n buffers.push(out), nread += out.length;\n }\n if (availOutAfter === 0 || self._offset >= self._chunkSize)\n availOutBefore = self._chunkSize, self._offset = 0, self._buffer = Buffer2.allocUnsafe(self._chunkSize);\n if (availOutAfter === 0) {\n if (inOff += availInBefore - availInAfter, availInBefore = availInAfter, !async)\n return !0;\n var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize);\n newReq.callback = callback, newReq.buffer = chunk;\n return;\n }\n if (!async)\n return !1;\n cb();\n }\n }, util.inherits(Deflate, Zlib), util.inherits(Inflate, Zlib), util.inherits(Gzip, Zlib), util.inherits(Gunzip, Zlib), util.inherits(DeflateRaw, Zlib), util.inherits(InflateRaw, Zlib), util.inherits(Unzip, Zlib);\n }\n});\nreturn require_lib()})\n"); // // -static constexpr ASCIILiteral ThirdpartyDepdCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/depd.ts\nvar wrapfunction = function(fn, message) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"argument fn must be a function\");\n return fn;\n}, wrapproperty = function(obj, prop, message) {\n if (!obj || typeof obj !== \"object\" && typeof obj !== \"function\")\n @throwTypeError(\"argument obj must be object\");\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n if (!descriptor)\n @throwTypeError(\"must call property on owner object\");\n if (!descriptor.configurable)\n @throwTypeError(\"property must be configurable\");\n}, $;\n$ = function depd(namespace) {\n if (!namespace)\n @throwTypeError(\"argument namespace is required\");\n function deprecate(message) {\n }\n return deprecate._file = void 0, deprecate._ignored = !0, deprecate._namespace = namespace, deprecate._traced = !1, deprecate._warned = Object.create(null), deprecate.function = wrapfunction, deprecate.property = wrapproperty, deprecate;\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyDepdCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/depd.ts\nvar wrapfunction = function(fn, message) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"argument fn must be a function\");\n return fn;\n}, wrapproperty = function(obj, prop, message) {\n if (!obj || typeof obj !== \"object\" && typeof obj !== \"function\")\n @throwTypeError(\"argument obj must be object\");\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n if (!descriptor)\n @throwTypeError(\"must call property on owner object\");\n if (!descriptor.configurable)\n @throwTypeError(\"property must be configurable\");\n}, $;\n$ = function depd(namespace) {\n if (!namespace)\n @throwTypeError(\"argument namespace is required\");\n function deprecate(message) {\n }\n return deprecate._file = void 0, deprecate._ignored = !0, deprecate._namespace = namespace, deprecate._traced = !1, deprecate._warned = Object.create(null), deprecate.function = wrapfunction, deprecate.property = wrapproperty, deprecate;\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyDetectLibcCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/detect-libc.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return null;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return null;\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyDetectLibcCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/detect-libc.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return null;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return null;\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyDetectLibcLinuxCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/detect-libc.linux.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return GLIBC;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return \"2.29\";\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyDetectLibcLinuxCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/detect-libc.linux.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return GLIBC;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return \"2.29\";\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyIsomorphicFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/isomorphic-fetch.ts\nvar bunFetch = Bun.fetch, fetch = (...args) => bunFetch(...args);\nfetch.default = fetch;\nfetch.fetch = fetch;\nreturn fetch})\n"); +static constexpr ASCIILiteral ThirdpartyIsomorphicFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/isomorphic-fetch.ts\nvar bunFetch = Bun.fetch, fetch = (...args) => bunFetch(...args);\nfetch.default = fetch;\nfetch.fetch = fetch;\nreturn fetch})\n"); // // -static constexpr ASCIILiteral ThirdpartyNodeFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/node-fetch.ts\nasync function fetch(url, init) {\n let body = init\?.body;\n if (body) {\n const chunks = [];\n if (body instanceof Readable) {\n for await (let chunk of body)\n chunks.push(chunk);\n init = { ...init, body: new Blob(chunks) };\n }\n }\n const response = await nativeFetch(url, init);\n return Object.setPrototypeOf(response, Response.prototype), response;\n}\nvar blobFrom = function(path, options) {\n return @Promise.resolve(Bun.file(path, options));\n}, blobFromSync = function(path, options) {\n return Bun.file(path, options);\n}, isRedirect = function(code) {\n return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n}, $, { Headers, Request, Response: WebResponse, Blob, File = Blob, FormData } = globalThis, nativeFetch = Bun.fetch, { Readable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39);\n\nclass Response extends WebResponse {\n constructor() {\n super(...arguments);\n }\n _body;\n get body() {\n return this._body \?\? (this._body = Readable.fromWeb(super.body));\n }\n}\n\nclass AbortError extends DOMException {\n constructor(message) {\n super(message, \"AbortError\");\n }\n}\n\nclass FetchBaseError extends Error {\n type;\n constructor(message, type) {\n super(message);\n this.type = type;\n }\n}\n\nclass FetchError extends FetchBaseError {\n constructor(message, type, systemError) {\n super(message, type);\n this.code = systemError\?.code;\n }\n}\nvar fileFrom = blobFrom, fileFromSync = blobFromSync;\n$ = Object.assign(fetch, {\n AbortError,\n Blob,\n FetchBaseError,\n FetchError,\n File,\n FormData,\n Headers,\n Request,\n Response,\n blobFrom,\n blobFromSync,\n fileFrom,\n fileFromSync,\n isRedirect,\n fetch,\n default: fetch\n});\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyNodeFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/node-fetch.ts\nasync function fetch(url, init) {\n let body = init\?.body;\n if (body) {\n const chunks = [];\n if (body instanceof Readable) {\n for await (let chunk of body)\n chunks.push(chunk);\n init = { ...init, body: new Blob(chunks) };\n }\n }\n const response = await nativeFetch(url, init);\n return Object.setPrototypeOf(response, Response.prototype), response;\n}\nvar blobFrom = function(path, options) {\n return @Promise.resolve(Bun.file(path, options));\n}, blobFromSync = function(path, options) {\n return Bun.file(path, options);\n}, isRedirect = function(code) {\n return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n}, $, { Headers, Request, Response: WebResponse, Blob, File = Blob, FormData } = globalThis, nativeFetch = Bun.fetch, { Readable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39);\n\nclass Response extends WebResponse {\n constructor() {\n super(...arguments);\n }\n _body;\n get body() {\n return this._body \?\? (this._body = Readable.fromWeb(super.body));\n }\n}\n\nclass AbortError extends DOMException {\n constructor(message) {\n super(message, \"AbortError\");\n }\n}\n\nclass FetchBaseError extends Error {\n type;\n constructor(message, type) {\n super(message);\n this.type = type;\n }\n}\n\nclass FetchError extends FetchBaseError {\n constructor(message, type, systemError) {\n super(message, type);\n this.code = systemError\?.code;\n }\n}\nvar fileFrom = blobFrom, fileFromSync = blobFromSync;\n$ = Object.assign(fetch, {\n AbortError,\n Blob,\n FetchBaseError,\n FetchError,\n File,\n FormData,\n Headers,\n Request,\n Response,\n blobFrom,\n blobFromSync,\n fileFrom,\n fileFromSync,\n isRedirect,\n fetch,\n default: fetch\n});\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyUndiciCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/undici.ts\nvar notImplemented = function() {\n throw new Error(\"Not implemented in bun\");\n};\nasync function request(url, options = {\n method: \"GET\",\n signal: null,\n headers: null,\n query: null,\n reset: !1,\n throwOnError: !1,\n body: null\n}) {\n let {\n method = \"GET\",\n headers: inputHeaders,\n query,\n signal,\n reset = !1,\n throwOnError = !1,\n body: inputBody,\n maxRedirections\n } = options;\n if (typeof url === \"string\") {\n if (query)\n url = new URL(url);\n } else if (typeof url === \"object\" && url !== null) {\n if (!(url instanceof URL))\n throw new Error(\"not implemented\");\n } else\n @throwTypeError(\"url must be a string, URL, or UrlObject\");\n if (typeof url === \"string\" && query)\n url = new URL(url);\n if (typeof url === \"object\" && url !== null && query) {\n if (query)\n url.search = new URLSearchParams(query).toString();\n }\n if (method = method && typeof method === \"string\" \? method.toUpperCase() : null, inputBody && (method === \"GET\" || method === \"HEAD\"))\n throw new Error(\"Body not allowed for GET or HEAD requests\");\n if (inputBody && inputBody.read && inputBody instanceof Readable) {\n let data = \"\";\n inputBody.setEncoding(\"utf8\");\n for await (let chunk of stream)\n data += chunk;\n inputBody = (new TextEncoder()).encode(data);\n }\n if (maxRedirections !== @undefined && Number.isNaN(maxRedirections))\n throw new Error(\"maxRedirections must be a number if defined\");\n if (signal && !(signal instanceof @AbortSignal))\n throw new Error(\"signal must be an instance of AbortSignal\");\n let resp;\n const {\n status: statusCode,\n headers,\n trailers\n } = resp = await fetch(url, {\n signal,\n mode: \"cors\",\n method,\n headers: inputHeaders || kEmptyObject,\n body: inputBody,\n redirect: maxRedirections === \"undefined\" || maxRedirections > 0 \? \"follow\" : \"manual\",\n keepalive: !reset\n });\n if (throwOnError && statusCode >= 400 && statusCode < 600)\n throw new Error(`Request failed with status code ${statusCode}`);\n const body = resp.body \? new BodyReadable(resp) : null;\n return { statusCode, headers: headers.toJSON(), body, trailers, opaque: kEmptyObject, context: kEmptyObject };\n}\nvar stream = function() {\n throw new Error(\"Not implemented in bun\");\n}, pipeline = function() {\n throw new Error(\"Not implemented in bun\");\n}, connect = function() {\n throw new Error(\"Not implemented in bun\");\n}, upgrade = function() {\n throw new Error(\"Not implemented in bun\");\n}, mockErrors = function() {\n throw new Error(\"Not implemented in bun\");\n}, Undici = function() {\n throw new Error(\"Not implemented in bun\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { Readable } = StreamModule, { _ReadableFromWebForUndici: ReadableFromWeb } = StreamModule[Symbol.for(\"::bunternal::\")], ObjectCreate = Object.create, kEmptyObject = ObjectCreate(null), fetch = Bun.fetch, Response = globalThis.Response, Headers = globalThis.Headers, Request = globalThis.Request, URLSearchParams = globalThis.URLSearchParams, URL = globalThis.URL;\n\nclass File extends Blob {\n constructor() {\n super(...arguments);\n }\n}\n\nclass FileReader extends EventTarget {\n constructor() {\n throw new Error(\"Not implemented yet!\");\n }\n}\nvar FormData = globalThis.FormData;\n\nclass BodyReadable extends ReadableFromWeb {\n #response;\n #bodyUsed;\n constructor(response, options = {}) {\n var { body } = response;\n if (!body)\n throw new Error(\"Response body is null\");\n super(options, body);\n this.#response = response, this.#bodyUsed = response.bodyUsed;\n }\n get bodyUsed() {\n return this.#bodyUsed;\n }\n #consume() {\n if (this.#bodyUsed)\n @throwTypeError(\"unusable\");\n this.#bodyUsed = !0;\n }\n async arrayBuffer() {\n return this.#consume(), await this.#response.arrayBuffer();\n }\n async blob() {\n return this.#consume(), await this.#response.blob();\n }\n async formData() {\n return this.#consume(), await this.#response.formData();\n }\n async json() {\n return this.#consume(), await this.#response.json();\n }\n async text() {\n return this.#consume(), await this.#response.text();\n }\n}\n\nclass MockClient {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockPool {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockAgent {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass Dispatcher extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Agent extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Pool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass BalancedPool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Client extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\nUndici.Dispatcher = Dispatcher;\nUndici.Pool = Pool;\nUndici.BalancedPool = BalancedPool;\nUndici.Client = Client;\nUndici.Agent = Agent;\nUndici.buildConnector = Undici.errors = Undici.setGlobalDispatcher = Undici.getGlobalDispatcher = Undici.request = Undici.stream = Undici.pipeline = Undici.connect = Undici.upgrade = Undici.MockClient = Undici.MockPool = Undici.MockAgent = Undici.mockErrors = notImplemented;\nUndici.fetch = fetch;\n$ = {\n fetch,\n Response,\n Headers,\n Request,\n URLSearchParams,\n URL,\n File,\n FileReader,\n FormData,\n request,\n stream,\n pipeline,\n connect,\n upgrade,\n MockClient,\n MockPool,\n MockAgent,\n mockErrors,\n Dispatcher,\n Pool,\n BalancedPool,\n Client,\n Agent,\n Undici\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyUndiciCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/undici.ts\nvar notImplemented = function() {\n throw new Error(\"Not implemented in bun\");\n};\nasync function request(url, options = {\n method: \"GET\",\n signal: null,\n headers: null,\n query: null,\n reset: !1,\n throwOnError: !1,\n body: null\n}) {\n let {\n method = \"GET\",\n headers: inputHeaders,\n query,\n signal,\n reset = !1,\n throwOnError = !1,\n body: inputBody,\n maxRedirections\n } = options;\n if (typeof url === \"string\") {\n if (query)\n url = new URL(url);\n } else if (typeof url === \"object\" && url !== null) {\n if (!(url instanceof URL))\n throw new Error(\"not implemented\");\n } else\n @throwTypeError(\"url must be a string, URL, or UrlObject\");\n if (typeof url === \"string\" && query)\n url = new URL(url);\n if (typeof url === \"object\" && url !== null && query) {\n if (query)\n url.search = new URLSearchParams(query).toString();\n }\n if (method = method && typeof method === \"string\" \? method.toUpperCase() : null, inputBody && (method === \"GET\" || method === \"HEAD\"))\n throw new Error(\"Body not allowed for GET or HEAD requests\");\n if (inputBody && inputBody.read && inputBody instanceof Readable) {\n let data = \"\";\n inputBody.setEncoding(\"utf8\");\n for await (let chunk of stream)\n data += chunk;\n inputBody = (new TextEncoder()).encode(data);\n }\n if (maxRedirections !== @undefined && Number.isNaN(maxRedirections))\n throw new Error(\"maxRedirections must be a number if defined\");\n if (signal && !(signal instanceof @AbortSignal))\n throw new Error(\"signal must be an instance of AbortSignal\");\n let resp;\n const {\n status: statusCode,\n headers,\n trailers\n } = resp = await fetch(url, {\n signal,\n mode: \"cors\",\n method,\n headers: inputHeaders || kEmptyObject,\n body: inputBody,\n redirect: maxRedirections === \"undefined\" || maxRedirections > 0 \? \"follow\" : \"manual\",\n keepalive: !reset\n });\n if (throwOnError && statusCode >= 400 && statusCode < 600)\n throw new Error(`Request failed with status code ${statusCode}`);\n const body = resp.body \? new BodyReadable(resp) : null;\n return { statusCode, headers: headers.toJSON(), body, trailers, opaque: kEmptyObject, context: kEmptyObject };\n}\nvar stream = function() {\n throw new Error(\"Not implemented in bun\");\n}, pipeline = function() {\n throw new Error(\"Not implemented in bun\");\n}, connect = function() {\n throw new Error(\"Not implemented in bun\");\n}, upgrade = function() {\n throw new Error(\"Not implemented in bun\");\n}, mockErrors = function() {\n throw new Error(\"Not implemented in bun\");\n}, Undici = function() {\n throw new Error(\"Not implemented in bun\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { Readable } = StreamModule, { _ReadableFromWebForUndici: ReadableFromWeb } = StreamModule[Symbol.for(\"::bunternal::\")], ObjectCreate = Object.create, kEmptyObject = ObjectCreate(null), fetch = Bun.fetch, Response = globalThis.Response, Headers = globalThis.Headers, Request = globalThis.Request, URLSearchParams = globalThis.URLSearchParams, URL = globalThis.URL;\n\nclass File extends Blob {\n constructor() {\n super(...arguments);\n }\n}\n\nclass FileReader extends EventTarget {\n constructor() {\n throw new Error(\"Not implemented yet!\");\n }\n}\nvar FormData = globalThis.FormData;\n\nclass BodyReadable extends ReadableFromWeb {\n #response;\n #bodyUsed;\n constructor(response, options = {}) {\n var { body } = response;\n if (!body)\n throw new Error(\"Response body is null\");\n super(options, body);\n this.#response = response, this.#bodyUsed = response.bodyUsed;\n }\n get bodyUsed() {\n return this.#bodyUsed;\n }\n #consume() {\n if (this.#bodyUsed)\n @throwTypeError(\"unusable\");\n this.#bodyUsed = !0;\n }\n async arrayBuffer() {\n return this.#consume(), await this.#response.arrayBuffer();\n }\n async blob() {\n return this.#consume(), await this.#response.blob();\n }\n async formData() {\n return this.#consume(), await this.#response.formData();\n }\n async json() {\n return this.#consume(), await this.#response.json();\n }\n async text() {\n return this.#consume(), await this.#response.text();\n }\n}\n\nclass MockClient {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockPool {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockAgent {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass Dispatcher extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Agent extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Pool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass BalancedPool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Client extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\nUndici.Dispatcher = Dispatcher;\nUndici.Pool = Pool;\nUndici.BalancedPool = BalancedPool;\nUndici.Client = Client;\nUndici.Agent = Agent;\nUndici.buildConnector = Undici.errors = Undici.setGlobalDispatcher = Undici.getGlobalDispatcher = Undici.request = Undici.stream = Undici.pipeline = Undici.connect = Undici.upgrade = Undici.MockClient = Undici.MockPool = Undici.MockAgent = Undici.mockErrors = notImplemented;\nUndici.fetch = fetch;\n$ = {\n fetch,\n Response,\n Headers,\n Request,\n URLSearchParams,\n URL,\n File,\n FileReader,\n FormData,\n request,\n stream,\n pipeline,\n connect,\n upgrade,\n MockClient,\n MockPool,\n MockAgent,\n mockErrors,\n Dispatcher,\n Pool,\n BalancedPool,\n Client,\n Agent,\n Undici\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyVercelFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/vercel_fetch.ts\nvar $;\n$ = (wrapper = Bun.fetch) => {\n async function vercelFetch(url, opts = {}) {\n if (opts.body && typeof opts.body === \"object\" && (!(\"buffer\" in opts.body) || typeof opts.body.buffer !== \"object\" || !(opts.body.buffer instanceof @ArrayBuffer))) {\n if (opts.body = JSON.stringify(opts.body), !opts.headers)\n opts.headers = new Headers;\n opts.headers.set(\"Content-Type\", \"application/json\");\n }\n try {\n return await wrapper(url, opts);\n } catch (err) {\n if (typeof err === \"string\")\n err = new Error(err);\n throw err.url = url, err.opts = opts, err;\n }\n }\n return vercelFetch.default = vercelFetch, vercelFetch;\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyVercelFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/vercel_fetch.ts\nvar $;\n$ = (wrapper = Bun.fetch) => {\n async function vercelFetch(url, opts = {}) {\n if (opts.body && typeof opts.body === \"object\" && (!(\"buffer\" in opts.body) || typeof opts.body.buffer !== \"object\" || !(opts.body.buffer instanceof @ArrayBuffer))) {\n if (opts.body = JSON.stringify(opts.body), !opts.headers)\n opts.headers = new Headers;\n opts.headers.set(\"Content-Type\", \"application/json\");\n }\n try {\n return await wrapper(url, opts);\n } catch (err) {\n if (typeof err === \"string\")\n err = new Error(err);\n throw err.url = url, err.opts = opts, err;\n }\n }\n return vercelFetch.default = vercelFetch, vercelFetch;\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyWSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/ws.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, subprotocolParse = function(header) {\n const protocols = new Set;\n let start = -1, end = -1, i = 0;\n for (i;i < header.length; i++) {\n const code = header.charCodeAt(i);\n if (end === -1 && wsTokenChars[code] === 1) {\n if (start === -1)\n start = i;\n } else if (i !== 0 && (code === 32 || code === 9)) {\n if (end === -1 && start !== -1)\n end = i;\n } else if (code === 44) {\n if (start === -1)\n throw new SyntaxError(`Unexpected character at index ${i}`);\n if (end === -1)\n end = i;\n const protocol2 = header.slice(start, end);\n if (protocols.has(protocol2))\n throw new SyntaxError(`The \"${protocol2}\" subprotocol is duplicated`);\n protocols.add(protocol2), start = end = -1;\n } else\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1 || end !== -1)\n throw new SyntaxError(\"Unexpected end of input\");\n const protocol = header.slice(start, i);\n if (protocols.has(protocol))\n throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n return protocols.add(protocol), protocols;\n}, wsEmitClose = function(server) {\n server._state = CLOSED, server.emit(\"close\");\n}, abortHandshake = function(response, code, message, headers) {\n message = message || http.STATUS_CODES[code], headers = {\n Connection: \"close\",\n \"Content-Type\": \"text/html\",\n \"Content-Length\": @Buffer.byteLength(message),\n ...headers\n }, response.writeHead(code, headers), response.write(message), response.end();\n}, abortHandshakeOrEmitwsClientError = function(server, req, response, socket, code, message) {\n if (server.listenerCount(\"wsClientError\")) {\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError), server.emit(\"wsClientError\", err, socket, req);\n } else\n abortHandshake(response, code, message);\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23), kBunInternals = Symbol.for(\"::bunternal::\"), readyStates = [\"CONNECTING\", \"OPEN\", \"CLOSING\", \"CLOSED\"], encoder = new TextEncoder, eventIds = {\n open: 1,\n close: 2,\n message: 3,\n error: 4,\n ping: 5,\n pong: 6\n}, emittedWarnings = new Set;\n\nclass BunWebSocket extends EventEmitter {\n static CONNECTING = 0;\n static OPEN = 1;\n static CLOSING = 2;\n static CLOSED = 3;\n #ws;\n #paused = !1;\n #fragments = !1;\n #binaryType = \"nodebuffer\";\n #eventId = 0;\n constructor(url, protocols, options) {\n super();\n let ws = this.#ws = new WebSocket(url, protocols);\n ws.binaryType = \"nodebuffer\";\n }\n on(event, listener) {\n if (event === \"unexpected-response\" || event === \"upgrade\" || event === \"redirect\")\n emitWarning(event, \"ws.WebSocket '\" + event + \"' event is not implemented in bun\");\n const mask = 1 << eventIds[event];\n if (mask && (this.#eventId & mask) !== mask) {\n if (this.#eventId |= mask, event === \"open\")\n this.#ws.addEventListener(\"open\", () => {\n this.emit(\"open\");\n });\n else if (event === \"close\")\n this.#ws.addEventListener(\"close\", ({ code, reason, wasClean }) => {\n this.emit(\"close\", code, reason, wasClean);\n });\n else if (event === \"message\")\n this.#ws.addEventListener(\"message\", ({ data }) => {\n const isBinary = typeof data !== \"string\";\n if (isBinary)\n this.emit(\"message\", this.#fragments \? [data] : data, isBinary);\n else {\n let encoded = encoder.encode(data);\n if (this.#binaryType !== \"arraybuffer\")\n encoded = @Buffer.from(encoded.buffer, encoded.byteOffset, encoded.byteLength);\n this.emit(\"message\", this.#fragments \? [encoded] : encoded, isBinary);\n }\n });\n else if (event === \"error\")\n this.#ws.addEventListener(\"error\", (err) => {\n this.emit(\"error\", err);\n });\n else if (event === \"ping\")\n this.#ws.addEventListener(\"ping\", ({ data }) => {\n this.emit(\"ping\", data);\n });\n else if (event === \"pong\")\n this.#ws.addEventListener(\"pong\", ({ data }) => {\n this.emit(\"pong\", data);\n });\n }\n return super.on(event, listener);\n }\n send(data, opts, cb) {\n try {\n this.#ws.send(data, opts\?.compress);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n close(code, reason) {\n this.#ws.close(code, reason);\n }\n terminate() {\n this.#ws.terminate();\n }\n get url() {\n return this.#ws.url;\n }\n get readyState() {\n return this.#ws.readyState;\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(value) {\n if (value === \"nodebuffer\" || value === \"arraybuffer\")\n this.#ws.binaryType = this.#binaryType = value, this.#fragments = !1;\n else if (value === \"fragments\")\n this.#ws.binaryType = \"nodebuffer\", this.#binaryType = \"fragments\", this.#fragments = !0;\n else\n throw new Error(`Invalid binaryType: ${value}`);\n }\n get protocol() {\n return this.#ws.protocol;\n }\n get extensions() {\n return this.#ws.extensions;\n }\n addEventListener(type, listener, options) {\n this.#ws.addEventListener(type, listener, options);\n }\n removeEventListener(type, listener) {\n this.#ws.removeEventListener(type, listener);\n }\n get onopen() {\n return this.#ws.onopen;\n }\n set onopen(value) {\n this.#ws.onopen = value;\n }\n get onerror() {\n return this.#ws.onerror;\n }\n set onerror(value) {\n this.#ws.onerror = value;\n }\n get onclose() {\n return this.#ws.onclose;\n }\n set onclose(value) {\n this.#ws.onclose = value;\n }\n get onmessage() {\n return this.#ws.onmessage;\n }\n set onmessage(value) {\n this.#ws.onmessage = value;\n }\n get bufferedAmount() {\n return this.#ws.bufferedAmount;\n }\n get isPaused() {\n return this.#paused;\n }\n ping(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.ping(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pong(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.pong(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pause() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !0, emitWarning(\"pause()\", \"ws.WebSocket.pause() is not implemented in bun\");\n }\n resume() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !1, emitWarning(\"resume()\", \"ws.WebSocket.resume() is not implemented in bun\");\n }\n}\nObject.defineProperty(BunWebSocket, \"name\", { value: \"WebSocket\" });\nvar wsKeyRegex = /^[+/0-9A-Za-z]{22}==$/, wsTokenChars = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0\n], RUNNING = 0, CLOSING = 1, CLOSED = 2;\n\nclass BunWebSocketMocked extends EventEmitter {\n #ws;\n #state;\n #enquedMessages = [];\n #url;\n #protocol;\n #extensions;\n #bufferedAmount = 0;\n #binaryType = \"arraybuffer\";\n #onclose;\n #onerror;\n #onmessage;\n #onopen;\n constructor(url, protocol, extensions, binaryType) {\n super();\n if (this.#ws = null, this.#state = 0, this.#url = url, this.#bufferedAmount = 0, binaryType = binaryType || \"arraybuffer\", binaryType !== \"nodebuffer\" && binaryType !== \"blob\" && binaryType !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = binaryType, this.#protocol = protocol, this.#extensions = extensions;\n const message = this.#message.bind(this), open = this.#open.bind(this), close = this.#close.bind(this), drain = this.#drain.bind(this);\n this[kBunInternals] = {\n message,\n open,\n close,\n drain\n };\n }\n #message(ws, message) {\n this.#ws = ws;\n let isBinary = !1;\n if (typeof message === \"string\")\n if (this.#binaryType === \"arraybuffer\")\n message = encoder.encode(message).buffer;\n else if (this.#binaryType === \"blob\")\n message = new Blob([message], { type: \"text/plain\" });\n else\n message = @Buffer.from(message);\n else if (isBinary = !0, this.#binaryType !== \"nodebuffer\") {\n if (this.#binaryType === \"arraybuffer\")\n message = new @Uint8Array(message);\n else if (this.#binaryType === \"blob\")\n message = new Blob([message]);\n }\n this.emit(\"message\", message, isBinary);\n }\n #open(ws) {\n this.#ws = ws, this.#state = 1, this.emit(\"open\", this), this.#drain(ws);\n }\n #close(ws, code, reason) {\n this.#state = 3, this.#ws = null, this.emit(\"close\", code, reason);\n }\n #drain(ws) {\n const chunk = this.#enquedMessages[0];\n if (chunk) {\n const [data, compress, cb] = chunk;\n if (ws.send(data, compress) == -1)\n return;\n typeof cb === \"function\" && cb(), this.#bufferedAmount -= chunk.length, this.#enquedMessages.shift();\n }\n }\n send(data, opts, cb) {\n if (this.#state === 1) {\n const compress = opts\?.compress;\n if (this.#ws.send(data, compress) == -1) {\n this.#enquedMessages.push([data, compress, cb]), this.#bufferedAmount += data.length;\n return;\n }\n typeof cb === \"function\" && cb();\n } else if (this.#state === 0)\n this.#enquedMessages.push([data, opts\?.compress, cb]), this.#bufferedAmount += data.length;\n }\n close(code, reason) {\n if (this.#state === 1)\n this.#state = 2, this.#ws.close(code, reason);\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(type) {\n if (type !== \"nodebuffer\" && type !== \"blob\" && type !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = type;\n }\n get readyState() {\n return this.#state;\n }\n get url() {\n return this.#url;\n }\n get protocol() {\n return this.#protocol;\n }\n get extensions() {\n return this.#extensions;\n }\n get bufferedAmount() {\n return this.#bufferedAmount \?\? 0;\n }\n setSocket(socket, head, options) {\n throw new Error(\"Not implemented\");\n }\n set onclose(cb) {\n if (this.#onclose)\n this.removeListener(\"close\", this.#onclose);\n this.on(\"close\", cb), this.#onclose = cb;\n }\n set onerror(cb) {\n if (this.#onerror)\n this.removeListener(\"error\", this.#onerror);\n this.on(\"error\", cb), this.#onerror = cb;\n }\n set onmessage(cb) {\n if (this.#onmessage)\n this.removeListener(\"message\", this.#onmessage);\n this.on(\"message\", cb), this.#onmessage = cb;\n }\n set onopen(cb) {\n if (this.#onopen)\n this.removeListener(\"open\", this.#onopen);\n this.on(\"open\", cb), this.#onopen = cb;\n }\n get onclose() {\n return this.#onclose;\n }\n get onerror() {\n return this.#onerror;\n }\n get onmessage() {\n return this.#onmessage;\n }\n get onopen() {\n return this.#onopen;\n }\n addEventListener(type, listener, options) {\n if (type === \"message\") {\n const l = (data) => listener({ data });\n l.listener = listener, this.on(type, l);\n return;\n }\n this.on(type, listener);\n }\n removeEventListener(type, listener) {\n this.off(type, listener);\n }\n}\n\nclass WebSocketServer extends EventEmitter {\n _server;\n options;\n clients;\n _shouldEmitClose;\n _state;\n _removeListeners;\n constructor(options, callback) {\n super();\n if (options = {\n maxPayload: 104857600,\n skipUTF8Validation: !1,\n perMessageDeflate: !1,\n handleProtocols: null,\n clientTracking: !0,\n verifyClient: null,\n noServer: !1,\n backlog: null,\n server: null,\n host: null,\n path: null,\n port: null,\n ...options\n }, options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer)\n @throwTypeError('One and only one of the \"port\", \"server\", or \"noServer\" options must be specified');\n if (options.port != null)\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n res.writeHead(426, {\n \"Content-Length\": body.length,\n \"Content-Type\": \"text/plain\"\n }), res.end(body);\n }), this._server.listen(options.port, options.host, options.backlog, callback);\n else if (options.server)\n this._server = options.server;\n if (this._server) {\n const emitConnection = this.emit.bind(this, \"connection\"), emitListening = this.emit.bind(this, \"listening\"), emitError = this.emit.bind(this, \"error\"), doUpgrade = (req, socket, head) => {\n this.handleUpgrade(req, socket, head, emitConnection);\n };\n this._server.on(\"listening\", emitListening), this._server.on(\"error\", emitError), this._server.on(\"upgrade\", doUpgrade), this._removeListeners = () => {\n this._server.removeListener(\"upgrade\", doUpgrade), this._server.removeListener(\"listening\", emitListening), this._server.removeListener(\"error\", emitError);\n };\n }\n if (options.perMessageDeflate === !0)\n options.perMessageDeflate = {};\n if (options.clientTracking)\n this.clients = new Set, this._shouldEmitClose = !1;\n this.options = options, this._state = RUNNING;\n }\n address() {\n if (this.options.noServer)\n throw new Error('The server is operating in \"noServer\" mode');\n if (!this._server)\n return null;\n return this._server.address();\n }\n close(cb) {\n if (this._state === CLOSED) {\n if (cb)\n this.once(\"close\", () => {\n cb(new Error(\"The server is not running\"));\n });\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n return;\n }\n if (cb)\n this.once(\"close\", cb);\n if (this._state === CLOSING)\n return;\n if (this._state = CLOSING, this.options.noServer || this.options.server) {\n if (this._server)\n this._removeListeners(), this._removeListeners = this._server = null;\n if (this.clients)\n if (!this.clients.size)\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n else\n this._shouldEmitClose = !0;\n else\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n } else {\n const server = this._server;\n this._removeListeners(), this._removeListeners = this._server = null, server.close(() => {\n this._state = CLOSED, this.emit(\"close\");\n });\n }\n }\n shouldHandle(req) {\n if (this.options.path) {\n const index = req.url.indexOf(\"\?\");\n if ((index !== -1 \? req.url.slice(0, index) : req.url) !== this.options.path)\n return !1;\n }\n return !0;\n }\n completeUpgrade(extensions, key, protocols, request, socket, head, cb) {\n const [server, response, req] = socket[kBunInternals];\n if (this._state > RUNNING)\n return abortHandshake(response, 503);\n let protocol = \"\";\n if (protocols.size)\n protocol = this.options.handleProtocols \? this.options.handleProtocols(protocols, request) : protocols.values().next().value;\n const ws = new BunWebSocketMocked(request.url, protocol, extensions, \"nodebuffer\"), headers = [\"HTTP/1.1 101 Switching Protocols\", \"Upgrade: websocket\", \"Connection: Upgrade\"];\n if (this.emit(\"headers\", headers, request), server.upgrade(req, {\n data: ws[kBunInternals]\n })) {\n if (response._reply(@undefined), this.clients)\n this.clients.add(ws), ws.on(\"close\", () => {\n if (this.clients.delete(ws), this._shouldEmitClose && !this.clients.size)\n process.nextTick(wsEmitClose, this);\n });\n cb(ws, request);\n } else\n abortHandshake(response, 500);\n }\n handleUpgrade(req, socket, head, cb) {\n const [_, response] = socket[kBunInternals], key = req.headers[\"sec-websocket-key\"], version = +req.headers[\"sec-websocket-version\"];\n if (req.method !== \"GET\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 405, \"Invalid HTTP method\");\n return;\n }\n if (req.headers.upgrade.toLowerCase() !== \"websocket\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Upgrade header\");\n return;\n }\n if (!key || !wsKeyRegex.test(key)) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Key header\");\n return;\n }\n if (version !== 8 && version !== 13) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Version header\");\n return;\n }\n if (!this.shouldHandle(req)) {\n abortHandshake(response, 400);\n return;\n }\n const secWebSocketProtocol = req.headers[\"sec-websocket-protocol\"];\n let protocols = new Set;\n if (secWebSocketProtocol !== @undefined)\n try {\n protocols = subprotocolParse(secWebSocketProtocol);\n } catch (err) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Sec-WebSocket-Protocol header\");\n return;\n }\n const extensions = {};\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 \? \"sec-websocket-origin\" : \"origin\"}`],\n secure: !!(req.socket.authorized || req.socket.encrypted),\n req\n };\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message, headers) => {\n if (!verified)\n return abortHandshake(response, code || 401, message, headers);\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n });\n return;\n }\n if (!this.options.verifyClient(info))\n return abortHandshake(response, 401);\n }\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n }\n}\nObject.defineProperty(BunWebSocket, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\n\nclass Sender {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\n\nclass Receiver {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\nvar createWebSocketStream = (ws) => {\n throw new Error(\"Not supported yet in Bun\");\n};\n$ = Object.assign(BunWebSocket, {\n createWebSocketStream,\n Receiver,\n Sender,\n WebSocket: BunWebSocket,\n Server: WebSocketServer,\n WebSocketServer\n});\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyWSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/ws.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, subprotocolParse = function(header) {\n const protocols = new Set;\n let start = -1, end = -1, i = 0;\n for (i;i < header.length; i++) {\n const code = header.charCodeAt(i);\n if (end === -1 && wsTokenChars[code] === 1) {\n if (start === -1)\n start = i;\n } else if (i !== 0 && (code === 32 || code === 9)) {\n if (end === -1 && start !== -1)\n end = i;\n } else if (code === 44) {\n if (start === -1)\n throw new SyntaxError(`Unexpected character at index ${i}`);\n if (end === -1)\n end = i;\n const protocol2 = header.slice(start, end);\n if (protocols.has(protocol2))\n throw new SyntaxError(`The \"${protocol2}\" subprotocol is duplicated`);\n protocols.add(protocol2), start = end = -1;\n } else\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1 || end !== -1)\n throw new SyntaxError(\"Unexpected end of input\");\n const protocol = header.slice(start, i);\n if (protocols.has(protocol))\n throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n return protocols.add(protocol), protocols;\n}, wsEmitClose = function(server) {\n server._state = CLOSED, server.emit(\"close\");\n}, abortHandshake = function(response, code, message, headers) {\n message = message || http.STATUS_CODES[code], headers = {\n Connection: \"close\",\n \"Content-Type\": \"text/html\",\n \"Content-Length\": @Buffer.byteLength(message),\n ...headers\n }, response.writeHead(code, headers), response.write(message), response.end();\n}, abortHandshakeOrEmitwsClientError = function(server, req, response, socket, code, message) {\n if (server.listenerCount(\"wsClientError\")) {\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError), server.emit(\"wsClientError\", err, socket, req);\n } else\n abortHandshake(response, code, message);\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23), kBunInternals = Symbol.for(\"::bunternal::\"), readyStates = [\"CONNECTING\", \"OPEN\", \"CLOSING\", \"CLOSED\"], encoder = new TextEncoder, eventIds = {\n open: 1,\n close: 2,\n message: 3,\n error: 4,\n ping: 5,\n pong: 6\n}, emittedWarnings = new Set;\n\nclass BunWebSocket extends EventEmitter {\n static CONNECTING = 0;\n static OPEN = 1;\n static CLOSING = 2;\n static CLOSED = 3;\n #ws;\n #paused = !1;\n #fragments = !1;\n #binaryType = \"nodebuffer\";\n #eventId = 0;\n constructor(url, protocols, options) {\n super();\n let ws = this.#ws = new WebSocket(url, protocols);\n ws.binaryType = \"nodebuffer\";\n }\n on(event, listener) {\n if (event === \"unexpected-response\" || event === \"upgrade\" || event === \"redirect\")\n emitWarning(event, \"ws.WebSocket '\" + event + \"' event is not implemented in bun\");\n const mask = 1 << eventIds[event];\n if (mask && (this.#eventId & mask) !== mask) {\n if (this.#eventId |= mask, event === \"open\")\n this.#ws.addEventListener(\"open\", () => {\n this.emit(\"open\");\n });\n else if (event === \"close\")\n this.#ws.addEventListener(\"close\", ({ code, reason, wasClean }) => {\n this.emit(\"close\", code, reason, wasClean);\n });\n else if (event === \"message\")\n this.#ws.addEventListener(\"message\", ({ data }) => {\n const isBinary = typeof data !== \"string\";\n if (isBinary)\n this.emit(\"message\", this.#fragments \? [data] : data, isBinary);\n else {\n let encoded = encoder.encode(data);\n if (this.#binaryType !== \"arraybuffer\")\n encoded = @Buffer.from(encoded.buffer, encoded.byteOffset, encoded.byteLength);\n this.emit(\"message\", this.#fragments \? [encoded] : encoded, isBinary);\n }\n });\n else if (event === \"error\")\n this.#ws.addEventListener(\"error\", (err) => {\n this.emit(\"error\", err);\n });\n else if (event === \"ping\")\n this.#ws.addEventListener(\"ping\", ({ data }) => {\n this.emit(\"ping\", data);\n });\n else if (event === \"pong\")\n this.#ws.addEventListener(\"pong\", ({ data }) => {\n this.emit(\"pong\", data);\n });\n }\n return super.on(event, listener);\n }\n send(data, opts, cb) {\n try {\n this.#ws.send(data, opts\?.compress);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n close(code, reason) {\n this.#ws.close(code, reason);\n }\n terminate() {\n this.#ws.terminate();\n }\n get url() {\n return this.#ws.url;\n }\n get readyState() {\n return this.#ws.readyState;\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(value) {\n if (value === \"nodebuffer\" || value === \"arraybuffer\")\n this.#ws.binaryType = this.#binaryType = value, this.#fragments = !1;\n else if (value === \"fragments\")\n this.#ws.binaryType = \"nodebuffer\", this.#binaryType = \"fragments\", this.#fragments = !0;\n else\n throw new Error(`Invalid binaryType: ${value}`);\n }\n get protocol() {\n return this.#ws.protocol;\n }\n get extensions() {\n return this.#ws.extensions;\n }\n addEventListener(type, listener, options) {\n this.#ws.addEventListener(type, listener, options);\n }\n removeEventListener(type, listener) {\n this.#ws.removeEventListener(type, listener);\n }\n get onopen() {\n return this.#ws.onopen;\n }\n set onopen(value) {\n this.#ws.onopen = value;\n }\n get onerror() {\n return this.#ws.onerror;\n }\n set onerror(value) {\n this.#ws.onerror = value;\n }\n get onclose() {\n return this.#ws.onclose;\n }\n set onclose(value) {\n this.#ws.onclose = value;\n }\n get onmessage() {\n return this.#ws.onmessage;\n }\n set onmessage(value) {\n this.#ws.onmessage = value;\n }\n get bufferedAmount() {\n return this.#ws.bufferedAmount;\n }\n get isPaused() {\n return this.#paused;\n }\n ping(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.ping(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pong(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.pong(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pause() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !0, emitWarning(\"pause()\", \"ws.WebSocket.pause() is not implemented in bun\");\n }\n resume() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !1, emitWarning(\"resume()\", \"ws.WebSocket.resume() is not implemented in bun\");\n }\n}\nObject.defineProperty(BunWebSocket, \"name\", { value: \"WebSocket\" });\nvar wsKeyRegex = /^[+/0-9A-Za-z]{22}==$/, wsTokenChars = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0\n], RUNNING = 0, CLOSING = 1, CLOSED = 2;\n\nclass BunWebSocketMocked extends EventEmitter {\n #ws;\n #state;\n #enquedMessages = [];\n #url;\n #protocol;\n #extensions;\n #bufferedAmount = 0;\n #binaryType = \"arraybuffer\";\n #onclose;\n #onerror;\n #onmessage;\n #onopen;\n constructor(url, protocol, extensions, binaryType) {\n super();\n if (this.#ws = null, this.#state = 0, this.#url = url, this.#bufferedAmount = 0, binaryType = binaryType || \"arraybuffer\", binaryType !== \"nodebuffer\" && binaryType !== \"blob\" && binaryType !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = binaryType, this.#protocol = protocol, this.#extensions = extensions;\n const message = this.#message.bind(this), open = this.#open.bind(this), close = this.#close.bind(this), drain = this.#drain.bind(this);\n this[kBunInternals] = {\n message,\n open,\n close,\n drain\n };\n }\n #message(ws, message) {\n this.#ws = ws;\n let isBinary = !1;\n if (typeof message === \"string\")\n if (this.#binaryType === \"arraybuffer\")\n message = encoder.encode(message).buffer;\n else if (this.#binaryType === \"blob\")\n message = new Blob([message], { type: \"text/plain\" });\n else\n message = @Buffer.from(message);\n else if (isBinary = !0, this.#binaryType !== \"nodebuffer\") {\n if (this.#binaryType === \"arraybuffer\")\n message = new @Uint8Array(message);\n else if (this.#binaryType === \"blob\")\n message = new Blob([message]);\n }\n this.emit(\"message\", message, isBinary);\n }\n #open(ws) {\n this.#ws = ws, this.#state = 1, this.emit(\"open\", this), this.#drain(ws);\n }\n #close(ws, code, reason) {\n this.#state = 3, this.#ws = null, this.emit(\"close\", code, reason);\n }\n #drain(ws) {\n const chunk = this.#enquedMessages[0];\n if (chunk) {\n const [data, compress, cb] = chunk;\n if (ws.send(data, compress) == -1)\n return;\n typeof cb === \"function\" && cb(), this.#bufferedAmount -= chunk.length, this.#enquedMessages.shift();\n }\n }\n send(data, opts, cb) {\n if (this.#state === 1) {\n const compress = opts\?.compress;\n if (this.#ws.send(data, compress) == -1) {\n this.#enquedMessages.push([data, compress, cb]), this.#bufferedAmount += data.length;\n return;\n }\n typeof cb === \"function\" && cb();\n } else if (this.#state === 0)\n this.#enquedMessages.push([data, opts\?.compress, cb]), this.#bufferedAmount += data.length;\n }\n close(code, reason) {\n if (this.#state === 1)\n this.#state = 2, this.#ws.close(code, reason);\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(type) {\n if (type !== \"nodebuffer\" && type !== \"blob\" && type !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = type;\n }\n get readyState() {\n return this.#state;\n }\n get url() {\n return this.#url;\n }\n get protocol() {\n return this.#protocol;\n }\n get extensions() {\n return this.#extensions;\n }\n get bufferedAmount() {\n return this.#bufferedAmount \?\? 0;\n }\n setSocket(socket, head, options) {\n throw new Error(\"Not implemented\");\n }\n set onclose(cb) {\n if (this.#onclose)\n this.removeListener(\"close\", this.#onclose);\n this.on(\"close\", cb), this.#onclose = cb;\n }\n set onerror(cb) {\n if (this.#onerror)\n this.removeListener(\"error\", this.#onerror);\n this.on(\"error\", cb), this.#onerror = cb;\n }\n set onmessage(cb) {\n if (this.#onmessage)\n this.removeListener(\"message\", this.#onmessage);\n this.on(\"message\", cb), this.#onmessage = cb;\n }\n set onopen(cb) {\n if (this.#onopen)\n this.removeListener(\"open\", this.#onopen);\n this.on(\"open\", cb), this.#onopen = cb;\n }\n get onclose() {\n return this.#onclose;\n }\n get onerror() {\n return this.#onerror;\n }\n get onmessage() {\n return this.#onmessage;\n }\n get onopen() {\n return this.#onopen;\n }\n addEventListener(type, listener, options) {\n if (type === \"message\") {\n const l = (data) => listener({ data });\n l.listener = listener, this.on(type, l);\n return;\n }\n this.on(type, listener);\n }\n removeEventListener(type, listener) {\n this.off(type, listener);\n }\n}\n\nclass WebSocketServer extends EventEmitter {\n _server;\n options;\n clients;\n _shouldEmitClose;\n _state;\n _removeListeners;\n constructor(options, callback) {\n super();\n if (options = {\n maxPayload: 104857600,\n skipUTF8Validation: !1,\n perMessageDeflate: !1,\n handleProtocols: null,\n clientTracking: !0,\n verifyClient: null,\n noServer: !1,\n backlog: null,\n server: null,\n host: null,\n path: null,\n port: null,\n ...options\n }, options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer)\n @throwTypeError('One and only one of the \"port\", \"server\", or \"noServer\" options must be specified');\n if (options.port != null)\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n res.writeHead(426, {\n \"Content-Length\": body.length,\n \"Content-Type\": \"text/plain\"\n }), res.end(body);\n }), this._server.listen(options.port, options.host, options.backlog, callback);\n else if (options.server)\n this._server = options.server;\n if (this._server) {\n const emitConnection = this.emit.bind(this, \"connection\"), emitListening = this.emit.bind(this, \"listening\"), emitError = this.emit.bind(this, \"error\"), doUpgrade = (req, socket, head) => {\n this.handleUpgrade(req, socket, head, emitConnection);\n };\n this._server.on(\"listening\", emitListening), this._server.on(\"error\", emitError), this._server.on(\"upgrade\", doUpgrade), this._removeListeners = () => {\n this._server.removeListener(\"upgrade\", doUpgrade), this._server.removeListener(\"listening\", emitListening), this._server.removeListener(\"error\", emitError);\n };\n }\n if (options.perMessageDeflate === !0)\n options.perMessageDeflate = {};\n if (options.clientTracking)\n this.clients = new Set, this._shouldEmitClose = !1;\n this.options = options, this._state = RUNNING;\n }\n address() {\n if (this.options.noServer)\n throw new Error('The server is operating in \"noServer\" mode');\n if (!this._server)\n return null;\n return this._server.address();\n }\n close(cb) {\n if (this._state === CLOSED) {\n if (cb)\n this.once(\"close\", () => {\n cb(new Error(\"The server is not running\"));\n });\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n return;\n }\n if (cb)\n this.once(\"close\", cb);\n if (this._state === CLOSING)\n return;\n if (this._state = CLOSING, this.options.noServer || this.options.server) {\n if (this._server)\n this._removeListeners(), this._removeListeners = this._server = null;\n if (this.clients)\n if (!this.clients.size)\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n else\n this._shouldEmitClose = !0;\n else\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n } else {\n const server = this._server;\n this._removeListeners(), this._removeListeners = this._server = null, server.close(() => {\n this._state = CLOSED, this.emit(\"close\");\n });\n }\n }\n shouldHandle(req) {\n if (this.options.path) {\n const index = req.url.indexOf(\"\?\");\n if ((index !== -1 \? req.url.slice(0, index) : req.url) !== this.options.path)\n return !1;\n }\n return !0;\n }\n completeUpgrade(extensions, key, protocols, request, socket, head, cb) {\n const [server, response, req] = socket[kBunInternals];\n if (this._state > RUNNING)\n return abortHandshake(response, 503);\n let protocol = \"\";\n if (protocols.size)\n protocol = this.options.handleProtocols \? this.options.handleProtocols(protocols, request) : protocols.values().next().value;\n const ws = new BunWebSocketMocked(request.url, protocol, extensions, \"nodebuffer\"), headers = [\"HTTP/1.1 101 Switching Protocols\", \"Upgrade: websocket\", \"Connection: Upgrade\"];\n if (this.emit(\"headers\", headers, request), server.upgrade(req, {\n data: ws[kBunInternals]\n })) {\n if (response._reply(@undefined), this.clients)\n this.clients.add(ws), ws.on(\"close\", () => {\n if (this.clients.delete(ws), this._shouldEmitClose && !this.clients.size)\n process.nextTick(wsEmitClose, this);\n });\n cb(ws, request);\n } else\n abortHandshake(response, 500);\n }\n handleUpgrade(req, socket, head, cb) {\n const [_, response] = socket[kBunInternals], key = req.headers[\"sec-websocket-key\"], version = +req.headers[\"sec-websocket-version\"];\n if (req.method !== \"GET\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 405, \"Invalid HTTP method\");\n return;\n }\n if (req.headers.upgrade.toLowerCase() !== \"websocket\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Upgrade header\");\n return;\n }\n if (!key || !wsKeyRegex.test(key)) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Key header\");\n return;\n }\n if (version !== 8 && version !== 13) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Version header\");\n return;\n }\n if (!this.shouldHandle(req)) {\n abortHandshake(response, 400);\n return;\n }\n const secWebSocketProtocol = req.headers[\"sec-websocket-protocol\"];\n let protocols = new Set;\n if (secWebSocketProtocol !== @undefined)\n try {\n protocols = subprotocolParse(secWebSocketProtocol);\n } catch (err) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Sec-WebSocket-Protocol header\");\n return;\n }\n const extensions = {};\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 \? \"sec-websocket-origin\" : \"origin\"}`],\n secure: !!(req.socket.authorized || req.socket.encrypted),\n req\n };\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message, headers) => {\n if (!verified)\n return abortHandshake(response, code || 401, message, headers);\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n });\n return;\n }\n if (!this.options.verifyClient(info))\n return abortHandshake(response, 401);\n }\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n }\n}\nObject.defineProperty(BunWebSocket, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\n\nclass Sender {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\n\nclass Receiver {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\nvar createWebSocketStream = (ws) => {\n throw new Error(\"Not supported yet in Bun\");\n};\n$ = Object.assign(BunWebSocket, {\n createWebSocketStream,\n Receiver,\n Sender,\n WebSocket: BunWebSocket,\n Server: WebSocketServer,\n WebSocketServer\n});\nreturn $})\n"); // #elif _WIN32 // -static constexpr ASCIILiteral BunFFICode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/bun/ffi.ts\nvar FFIBuilder = function(params, returnType, functionToCall, name) {\n const hasReturnType = typeof FFIType[returnType] === \"number\" && FFIType[returnType] !== FFIType.void;\n var paramNames = new @Array(params.length), args = new @Array(params.length);\n for (let i = 0;i < params.length; i++) {\n paramNames[i] = `p${i}`;\n const wrapper = ffiWrappers[FFIType[params[i]]];\n if (wrapper)\n args[i] = `(val=>${wrapper})(p${i})`;\n else\n @throwTypeError(`Unsupported type ${params[i]}. Must be one of: ${Object.keys(FFIType).sort().join(\", \")}`);\n }\n var code = `functionToCall(${args.join(\", \")})`;\n if (hasReturnType)\n if (FFIType[returnType] === FFIType.cstring)\n code = `return new __GlobalBunCString(${code})`;\n else\n code = `return ${code}`;\n var func = new Function(\"functionToCall\", ...paramNames, code);\n Object.defineProperty(func, \"name\", {\n value: name\n });\n var wrap;\n switch (paramNames.length) {\n case 0:\n wrap = () => func(functionToCall);\n break;\n case 1:\n wrap = (arg1) => func(functionToCall, arg1);\n break;\n case 2:\n wrap = (arg1, arg2) => func(functionToCall, arg1, arg2);\n break;\n case 3:\n wrap = (arg1, arg2, arg3) => func(functionToCall, arg1, arg2, arg3);\n break;\n case 4:\n wrap = (arg1, arg2, arg3, arg4) => func(functionToCall, arg1, arg2, arg3, arg4);\n break;\n case 5:\n wrap = (arg1, arg2, arg3, arg4, arg5) => func(functionToCall, arg1, arg2, arg3, arg4, arg5);\n break;\n case 6:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6);\n break;\n case 7:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7);\n break;\n case 8:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\n break;\n case 9:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\n break;\n default: {\n wrap = (...args2) => func(functionToCall, ...args2);\n break;\n }\n }\n return wrap.native = functionToCall, wrap.ptr = functionToCall.ptr, wrap;\n}, dlopen = function(path, options) {\n const result = nativeDLOpen(path, options);\n if (result instanceof Error)\n throw result;\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, path.includes(\"/\") \? `${key} (${path.split(\"/\").pop()})` : `${key} (${path})`);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result.close = result.close.bind(result), result;\n}, linkSymbols = function(options) {\n const result = nativeLinkSymbols(options);\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, key);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result;\n}, onCloseCFunction = function(close) {\n close();\n}, CFunction = function(options) {\n const identifier = `CFunction${cFunctionI++}`;\n var result = linkSymbols({\n [identifier]: options\n }), hasClosed = !1, close = result.close.bind(result);\n return result.symbols[identifier].close = () => {\n if (hasClosed || !close)\n return;\n hasClosed = !0, close(), close = @undefined;\n }, cFunctionRegistry ||= new FinalizationRegistry(onCloseCFunction), cFunctionRegistry.register(result.symbols[identifier], result.symbols[identifier].close), result.symbols[identifier];\n}, $, FFIType = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"10\": 10,\n \"11\": 11,\n \"12\": 12,\n \"13\": 13,\n \"14\": 14,\n \"15\": 15,\n \"16\": 16,\n \"17\": 17,\n bool: 11,\n c_int: 5,\n c_uint: 6,\n char: 0,\n \"char*\": 12,\n double: 9,\n f32: 10,\n f64: 9,\n float: 10,\n i16: 3,\n i32: 5,\n i64: 7,\n i8: 1,\n int: 5,\n int16_t: 3,\n int32_t: 5,\n int64_t: 7,\n int8_t: 1,\n isize: 7,\n u16: 4,\n u32: 6,\n u64: 8,\n u8: 2,\n uint16_t: 4,\n uint32_t: 6,\n uint64_t: 8,\n uint8_t: 2,\n usize: 8,\n \"void*\": 12,\n ptr: 12,\n pointer: 12,\n void: 13,\n cstring: 14,\n i64_fast: 15,\n u64_fast: 16,\n function: 17,\n callback: 17,\n fn: 17\n};\nvar ffi = globalThis.Bun.FFI, ptr = (arg1, arg2) => typeof arg2 === \"undefined\" \? ffi.ptr(arg1) : ffi.ptr(arg1, arg2), toBuffer = ffi.toBuffer, toArrayBuffer = ffi.toArrayBuffer, viewSource = ffi.viewSource, BunCString = ffi.CString, nativeLinkSymbols = ffi.linkSymbols, nativeDLOpen = ffi.dlopen, nativeCallback = ffi.callback, closeCallback = ffi.closeCallback;\ndelete ffi.callback;\ndelete ffi.closeCallback;\n\nclass JSCallback {\n constructor(cb, options) {\n const { ctx, ptr: ptr2 } = nativeCallback(options, cb);\n this.#ctx = ctx, this.ptr = ptr2, this.#threadsafe = !!options\?.threadsafe;\n }\n ptr;\n #ctx;\n #threadsafe;\n get threadsafe() {\n return this.#threadsafe;\n }\n [Symbol.toPrimitive]() {\n const { ptr: ptr2 } = this;\n return typeof ptr2 === \"number\" \? ptr2 : 0;\n }\n close() {\n const ctx = this.#ctx;\n if (this.ptr = null, this.#ctx = null, ctx)\n closeCallback(ctx);\n }\n}\n\nclass CString extends @String {\n constructor(ptr2, byteOffset, byteLength) {\n super(ptr2 \? typeof byteLength === \"number\" && Number.isSafeInteger(byteLength) \? BunCString(ptr2, byteOffset || 0, byteLength) : BunCString(ptr2) : \"\");\n if (this.ptr = typeof ptr2 === \"number\" \? ptr2 : 0, typeof byteOffset !== \"undefined\")\n this.byteOffset = byteOffset;\n if (typeof byteLength !== \"undefined\")\n this.byteLength = byteLength;\n }\n ptr;\n byteOffset;\n byteLength;\n #cachedArrayBuffer;\n get arrayBuffer() {\n if (this.#cachedArrayBuffer)\n return this.#cachedArrayBuffer;\n if (!this.ptr)\n return this.#cachedArrayBuffer = new @ArrayBuffer(0);\n return this.#cachedArrayBuffer = toArrayBuffer(this.ptr, this.byteOffset, this.byteLength);\n }\n}\nObject.defineProperty(globalThis, \"__GlobalBunCString\", {\n value: CString,\n enumerable: !1,\n configurable: !1\n});\nvar ffiWrappers = new @Array(18), char = \"val|0\";\nffiWrappers.fill(char);\nffiWrappers[FFIType.uint8_t] = \"val<0\?0:val>=255\?255:val|0\";\nffiWrappers[FFIType.int16_t] = \"val<=-32768\?-32768:val>=32768\?32768:val|0\";\nffiWrappers[FFIType.uint16_t] = \"val<=0\?0:val>=65536\?65536:val|0\";\nffiWrappers[FFIType.int32_t] = \"val|0\";\nffiWrappers[FFIType.uint32_t] = \"val<=0\?0:val>=0xffffffff\?0xffffffff:+val||0\";\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= 0) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.int64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.uint64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return val <= 0 \? BigInt(0) : BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(0)) return Number(val);\n return val;\n }\n\n return typeof val === \"number\" \? (val <= 0 \? 0 : +val || 0) : +val || 0;\n}`;\nffiWrappers[FFIType.uint16_t] = `{\n const ret = (typeof val === \"bigint\" \? Number(val) : val) | 0;\n return ret <= 0 \? 0 : ret > 0xffff \? 0xffff : ret;\n}`;\nffiWrappers[FFIType.double] = `{\n if (typeof val === \"bigint\") {\n if (val.valueOf() < BigInt(Number.MAX_VALUE)) {\n return Math.abs(Number(val).valueOf()) + 0.00000000000001 - 0.00000000000001;\n }\n }\n\n if (!val) {\n return 0 + 0.00000000000001 - 0.00000000000001;\n }\n\n return val + 0.00000000000001 - 0.00000000000001;\n}`;\nffiWrappers[FFIType.float] = ffiWrappers[10] = `{\n return Math.fround(val);\n}`;\nffiWrappers[FFIType.bool] = `{\n return !!val;\n}`;\nObject.defineProperty(globalThis, \"__GlobalBunFFIPtrFunctionForWrapper\", {\n value: ptr,\n enumerable: !1,\n configurable: !0\n});\nffiWrappers[FFIType.cstring] = ffiWrappers[FFIType.pointer] = `{\n if (typeof val === \"number\") return val;\n if (!val) {\n return null;\n }\n\n if (ArrayBuffer.isView(val) || val instanceof ArrayBuffer) {\n return __GlobalBunFFIPtrFunctionForWrapper(val);\n }\n\n if (typeof val === \"string\") {\n throw new TypeError(\"To convert a string to a pointer, encode it as a buffer\");\n }\n\n throw new TypeError(\\`Unable to convert \\${ val } to a pointer\\`);\n}`;\nffiWrappers[FFIType.function] = `{\n if (typeof val === \"number\") {\n return val;\n }\n\n if (typeof val === \"bigint\") {\n return Number(val);\n }\n\n var ptr = val && val.ptr;\n\n if (!ptr) {\n throw new TypeError(\"Expected function to be a JSCallback or a number\");\n }\n\n return ptr;\n}`;\nvar native = {\n dlopen: nativeDLOpen,\n callback: () => {\n throw new Error(\"Deprecated. Use new JSCallback(options, fn) instead\");\n }\n}, cFunctionI = 0, cFunctionRegistry, read = ffi.read;\n$ = {\n CFunction,\n CString,\n FFIType,\n JSCallback,\n dlopen,\n linkSymbols,\n native,\n ptr,\n read,\n suffix: \"dll\",\n toArrayBuffer,\n toBuffer,\n viewSource\n};\nreturn $})\n"); +static constexpr ASCIILiteral BunFFICode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/bun/ffi.ts\nvar FFIBuilder = function(params, returnType, functionToCall, name) {\n const hasReturnType = typeof FFIType[returnType] === \"number\" && FFIType[returnType] !== FFIType.void;\n var paramNames = new @Array(params.length), args = new @Array(params.length);\n for (let i = 0;i < params.length; i++) {\n paramNames[i] = `p${i}`;\n const wrapper = ffiWrappers[FFIType[params[i]]];\n if (wrapper)\n args[i] = `(val=>${wrapper})(p${i})`;\n else\n @throwTypeError(`Unsupported type ${params[i]}. Must be one of: ${Object.keys(FFIType).sort().join(\", \")}`);\n }\n var code = `functionToCall(${args.join(\", \")})`;\n if (hasReturnType)\n if (FFIType[returnType] === FFIType.cstring)\n code = `return new __GlobalBunCString(${code})`;\n else\n code = `return ${code}`;\n var func = new Function(\"functionToCall\", ...paramNames, code);\n Object.defineProperty(func, \"name\", {\n value: name\n });\n var wrap;\n switch (paramNames.length) {\n case 0:\n wrap = () => func(functionToCall);\n break;\n case 1:\n wrap = (arg1) => func(functionToCall, arg1);\n break;\n case 2:\n wrap = (arg1, arg2) => func(functionToCall, arg1, arg2);\n break;\n case 3:\n wrap = (arg1, arg2, arg3) => func(functionToCall, arg1, arg2, arg3);\n break;\n case 4:\n wrap = (arg1, arg2, arg3, arg4) => func(functionToCall, arg1, arg2, arg3, arg4);\n break;\n case 5:\n wrap = (arg1, arg2, arg3, arg4, arg5) => func(functionToCall, arg1, arg2, arg3, arg4, arg5);\n break;\n case 6:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6);\n break;\n case 7:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7);\n break;\n case 8:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\n break;\n case 9:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\n break;\n default: {\n wrap = (...args2) => func(functionToCall, ...args2);\n break;\n }\n }\n return wrap.native = functionToCall, wrap.ptr = functionToCall.ptr, wrap;\n}, dlopen = function(path, options) {\n const result = nativeDLOpen(path, options);\n if (result instanceof Error)\n throw result;\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, path.includes(\"/\") \? `${key} (${path.split(\"/\").pop()})` : `${key} (${path})`);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result.close = result.close.bind(result), result;\n}, linkSymbols = function(options) {\n const result = nativeLinkSymbols(options);\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, key);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result;\n}, onCloseCFunction = function(close) {\n close();\n}, CFunction = function(options) {\n const identifier = `CFunction${cFunctionI++}`;\n var result = linkSymbols({\n [identifier]: options\n }), hasClosed = !1, close = result.close.bind(result);\n return result.symbols[identifier].close = () => {\n if (hasClosed || !close)\n return;\n hasClosed = !0, close(), close = @undefined;\n }, cFunctionRegistry ||= new FinalizationRegistry(onCloseCFunction), cFunctionRegistry.register(result.symbols[identifier], result.symbols[identifier].close), result.symbols[identifier];\n}, $, FFIType = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"10\": 10,\n \"11\": 11,\n \"12\": 12,\n \"13\": 13,\n \"14\": 14,\n \"15\": 15,\n \"16\": 16,\n \"17\": 17,\n bool: 11,\n c_int: 5,\n c_uint: 6,\n char: 0,\n \"char*\": 12,\n double: 9,\n f32: 10,\n f64: 9,\n float: 10,\n i16: 3,\n i32: 5,\n i64: 7,\n i8: 1,\n int: 5,\n int16_t: 3,\n int32_t: 5,\n int64_t: 7,\n int8_t: 1,\n isize: 7,\n u16: 4,\n u32: 6,\n u64: 8,\n u8: 2,\n uint16_t: 4,\n uint32_t: 6,\n uint64_t: 8,\n uint8_t: 2,\n usize: 8,\n \"void*\": 12,\n ptr: 12,\n pointer: 12,\n void: 13,\n cstring: 14,\n i64_fast: 15,\n u64_fast: 16,\n function: 17,\n callback: 17,\n fn: 17\n};\nvar ffi = globalThis.Bun.FFI, ptr = (arg1, arg2) => typeof arg2 === \"undefined\" \? ffi.ptr(arg1) : ffi.ptr(arg1, arg2), toBuffer = ffi.toBuffer, toArrayBuffer = ffi.toArrayBuffer, viewSource = ffi.viewSource, BunCString = ffi.CString, nativeLinkSymbols = ffi.linkSymbols, nativeDLOpen = ffi.dlopen, nativeCallback = ffi.callback, closeCallback = ffi.closeCallback;\ndelete ffi.callback;\ndelete ffi.closeCallback;\n\nclass JSCallback {\n constructor(cb, options) {\n const { ctx, ptr: ptr2 } = nativeCallback(options, cb);\n this.#ctx = ctx, this.ptr = ptr2, this.#threadsafe = !!options\?.threadsafe;\n }\n ptr;\n #ctx;\n #threadsafe;\n get threadsafe() {\n return this.#threadsafe;\n }\n [Symbol.toPrimitive]() {\n const { ptr: ptr2 } = this;\n return typeof ptr2 === \"number\" \? ptr2 : 0;\n }\n close() {\n const ctx = this.#ctx;\n if (this.ptr = null, this.#ctx = null, ctx)\n closeCallback(ctx);\n }\n}\n\nclass CString extends @String {\n constructor(ptr2, byteOffset, byteLength) {\n super(ptr2 \? typeof byteLength === \"number\" && Number.isSafeInteger(byteLength) \? BunCString(ptr2, byteOffset || 0, byteLength) : BunCString(ptr2) : \"\");\n if (this.ptr = typeof ptr2 === \"number\" \? ptr2 : 0, typeof byteOffset !== \"undefined\")\n this.byteOffset = byteOffset;\n if (typeof byteLength !== \"undefined\")\n this.byteLength = byteLength;\n }\n ptr;\n byteOffset;\n byteLength;\n #cachedArrayBuffer;\n get arrayBuffer() {\n if (this.#cachedArrayBuffer)\n return this.#cachedArrayBuffer;\n if (!this.ptr)\n return this.#cachedArrayBuffer = new @ArrayBuffer(0);\n return this.#cachedArrayBuffer = toArrayBuffer(this.ptr, this.byteOffset, this.byteLength);\n }\n}\nObject.defineProperty(globalThis, \"__GlobalBunCString\", {\n value: CString,\n enumerable: !1,\n configurable: !1\n});\nvar ffiWrappers = new @Array(18), char = \"val|0\";\nffiWrappers.fill(char);\nffiWrappers[FFIType.uint8_t] = \"val<0\?0:val>=255\?255:val|0\";\nffiWrappers[FFIType.int16_t] = \"val<=-32768\?-32768:val>=32768\?32768:val|0\";\nffiWrappers[FFIType.uint16_t] = \"val<=0\?0:val>=65536\?65536:val|0\";\nffiWrappers[FFIType.int32_t] = \"val|0\";\nffiWrappers[FFIType.uint32_t] = \"val<=0\?0:val>=0xffffffff\?0xffffffff:+val||0\";\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= 0) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.int64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.uint64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return val <= 0 \? BigInt(0) : BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(0)) return Number(val);\n return val;\n }\n\n return typeof val === \"number\" \? (val <= 0 \? 0 : +val || 0) : +val || 0;\n}`;\nffiWrappers[FFIType.uint16_t] = `{\n const ret = (typeof val === \"bigint\" \? Number(val) : val) | 0;\n return ret <= 0 \? 0 : ret > 0xffff \? 0xffff : ret;\n}`;\nffiWrappers[FFIType.double] = `{\n if (typeof val === \"bigint\") {\n if (val.valueOf() < BigInt(Number.MAX_VALUE)) {\n return Math.abs(Number(val).valueOf()) + 0.00000000000001 - 0.00000000000001;\n }\n }\n\n if (!val) {\n return 0 + 0.00000000000001 - 0.00000000000001;\n }\n\n return val + 0.00000000000001 - 0.00000000000001;\n}`;\nffiWrappers[FFIType.float] = ffiWrappers[10] = `{\n return Math.fround(val);\n}`;\nffiWrappers[FFIType.bool] = `{\n return !!val;\n}`;\nObject.defineProperty(globalThis, \"__GlobalBunFFIPtrFunctionForWrapper\", {\n value: ptr,\n enumerable: !1,\n configurable: !0\n});\nffiWrappers[FFIType.cstring] = ffiWrappers[FFIType.pointer] = `{\n if (typeof val === \"number\") return val;\n if (!val) {\n return null;\n }\n\n if (ArrayBuffer.isView(val) || val instanceof ArrayBuffer) {\n return __GlobalBunFFIPtrFunctionForWrapper(val);\n }\n\n if (typeof val === \"string\") {\n throw new TypeError(\"To convert a string to a pointer, encode it as a buffer\");\n }\n\n throw new TypeError(\\`Unable to convert \\${ val } to a pointer\\`);\n}`;\nffiWrappers[FFIType.function] = `{\n if (typeof val === \"number\") {\n return val;\n }\n\n if (typeof val === \"bigint\") {\n return Number(val);\n }\n\n var ptr = val && val.ptr;\n\n if (!ptr) {\n throw new TypeError(\"Expected function to be a JSCallback or a number\");\n }\n\n return ptr;\n}`;\nvar native = {\n dlopen: nativeDLOpen,\n callback: () => {\n throw new Error(\"Deprecated. Use new JSCallback(options, fn) instead\");\n }\n}, cFunctionI = 0, cFunctionRegistry, read = ffi.read;\n$ = {\n CFunction,\n CString,\n FFIType,\n JSCallback,\n dlopen,\n linkSymbols,\n native,\n ptr,\n read,\n suffix: \"dll\",\n toArrayBuffer,\n toBuffer,\n viewSource\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral BunSqliteCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/bun/sqlite.ts\nvar $, defineProperties = Object.defineProperties, toStringTag = Symbol.toStringTag, isArray = @Array.isArray, isTypedArray = @ArrayBuffer.isView, constants = {\n SQLITE_OPEN_READONLY: 1,\n SQLITE_OPEN_READWRITE: 2,\n SQLITE_OPEN_CREATE: 4,\n SQLITE_OPEN_DELETEONCLOSE: 8,\n SQLITE_OPEN_EXCLUSIVE: 16,\n SQLITE_OPEN_AUTOPROXY: 32,\n SQLITE_OPEN_URI: 64,\n SQLITE_OPEN_MEMORY: 128,\n SQLITE_OPEN_MAIN_DB: 256,\n SQLITE_OPEN_TEMP_DB: 512,\n SQLITE_OPEN_TRANSIENT_DB: 1024,\n SQLITE_OPEN_MAIN_JOURNAL: 2048,\n SQLITE_OPEN_TEMP_JOURNAL: 4096,\n SQLITE_OPEN_SUBJOURNAL: 8192,\n SQLITE_OPEN_SUPER_JOURNAL: 16384,\n SQLITE_OPEN_NOMUTEX: 32768,\n SQLITE_OPEN_FULLMUTEX: 65536,\n SQLITE_OPEN_SHAREDCACHE: 131072,\n SQLITE_OPEN_PRIVATECACHE: 262144,\n SQLITE_OPEN_WAL: 524288,\n SQLITE_OPEN_NOFOLLOW: 16777216,\n SQLITE_OPEN_EXRESCODE: 33554432,\n SQLITE_PREPARE_PERSISTENT: 1,\n SQLITE_PREPARE_NORMALIZE: 2,\n SQLITE_PREPARE_NO_VTAB: 4\n}, SQL, controllers;\n\nclass Statement {\n constructor(raw) {\n switch (this.#raw = raw, raw.paramsCount) {\n case 0: {\n this.get = this.#getNoArgs, this.all = this.#allNoArgs, this.values = this.#valuesNoArgs, this.run = this.#runNoArgs;\n break;\n }\n default: {\n this.get = this.#get, this.all = this.#all, this.values = this.#values, this.run = this.#run;\n break;\n }\n }\n }\n #raw;\n get;\n all;\n values;\n run;\n isFinalized = !1;\n toJSON() {\n return {\n sql: this.native.toString(),\n isFinalized: this.isFinalized,\n paramsCount: this.paramsCount,\n columnNames: this.columnNames\n };\n }\n get [toStringTag]() {\n return `\"${this.native.toString()}\"`;\n }\n toString() {\n return this.native.toString();\n }\n get native() {\n return this.#raw;\n }\n #getNoArgs() {\n return this.#raw.get();\n }\n #allNoArgs() {\n return this.#raw.all();\n }\n #valuesNoArgs() {\n return this.#raw.values();\n }\n #runNoArgs() {\n this.#raw.run();\n }\n #get(...args) {\n if (args.length === 0)\n return this.#getNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.get(args) : this.#raw.get(...args);\n }\n #all(...args) {\n if (args.length === 0)\n return this.#allNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.all(args) : this.#raw.all(...args);\n }\n #values(...args) {\n if (args.length === 0)\n return this.#valuesNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.values(args) : this.#raw.values(...args);\n }\n #run(...args) {\n if (args.length === 0)\n return this.#runNoArgs();\n var arg0 = args[0];\n !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.run(args) : this.#raw.run(...args);\n }\n get columnNames() {\n return this.#raw.columns;\n }\n get paramsCount() {\n return this.#raw.paramsCount;\n }\n finalize(...args) {\n return this.isFinalized = !0, this.#raw.finalize(...args);\n }\n}\nvar cachedCount = Symbol.for(\"Bun.Database.cache.count\");\n\nclass Database {\n constructor(filenameGiven, options) {\n if (typeof filenameGiven === \"undefined\")\n ;\n else if (typeof filenameGiven !== \"string\") {\n if (isTypedArray(filenameGiven)) {\n this.#handle = Database.#deserialize(filenameGiven, typeof options === \"object\" && options \? !!options.readonly : ((options | 0) & constants.SQLITE_OPEN_READONLY) != 0), this.filename = \":memory:\";\n return;\n }\n @throwTypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`);\n }\n var filename = typeof filenameGiven === \"string\" \? filenameGiven.trim() : \":memory:\", flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (typeof options === \"object\" && options) {\n if (flags = 0, options.readonly)\n flags = constants.SQLITE_OPEN_READONLY;\n if (\"readOnly\" in options)\n @throwTypeError('Misspelled option \"readOnly\" should be \"readonly\"');\n if (options.create)\n flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (options.readwrite)\n flags |= constants.SQLITE_OPEN_READWRITE;\n } else if (typeof options === \"number\")\n flags = options;\n const anonymous = filename === \"\" || filename === \":memory:\";\n if (anonymous && (flags & constants.SQLITE_OPEN_READONLY) !== 0)\n throw new Error(\"Cannot open an anonymous database in read-only mode.\");\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n this.#handle = SQL.open(anonymous \? \":memory:\" : filename, flags), this.filename = filename;\n }\n #handle;\n #cachedQueriesKeys = [];\n #cachedQueriesLengths = [];\n #cachedQueriesValues = [];\n filename;\n get handle() {\n return this.#handle;\n }\n get inTransaction() {\n return SQL.isInTransaction(this.#handle);\n }\n static open(filename, options) {\n return new Database(filename, options);\n }\n loadExtension(name, entryPoint) {\n return SQL.loadExtension(this.#handle, name, entryPoint);\n }\n serialize(optionalName) {\n return SQL.serialize(this.#handle, optionalName || \"main\");\n }\n static #deserialize(serialized, isReadOnly = !1) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.deserialize(serialized, isReadOnly);\n }\n static deserialize(serialized, isReadOnly = !1) {\n return new Database(serialized, isReadOnly \? constants.SQLITE_OPEN_READONLY : 0);\n }\n static setCustomSQLite(path) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.setCustomSQLite(path);\n }\n close() {\n return this.clearQueryCache(), SQL.close(this.#handle);\n }\n clearQueryCache() {\n for (let item of this.#cachedQueriesValues)\n item.finalize();\n this.#cachedQueriesKeys.length = 0, this.#cachedQueriesValues.length = 0, this.#cachedQueriesLengths.length = 0;\n }\n run(query, ...params) {\n if (params.length === 0) {\n SQL.run(this.#handle, query);\n return;\n }\n var arg0 = params[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? SQL.run(this.#handle, query, params) : SQL.run(this.#handle, query, ...params);\n }\n prepare(query, params, flags) {\n return new Statement(SQL.prepare(this.#handle, query, params, flags || 0));\n }\n static MAX_QUERY_CACHE_SIZE = 20;\n get [cachedCount]() {\n return this.#cachedQueriesKeys.length;\n }\n query(query) {\n if (typeof query !== \"string\")\n @throwTypeError(`Expected 'query' to be a string, got '${typeof query}'`);\n if (query.length === 0)\n throw new Error(\"SQL query cannot be empty.\");\n const willCache = this.#cachedQueriesKeys.length < Database.MAX_QUERY_CACHE_SIZE;\n var index = this.#cachedQueriesLengths.indexOf(query.length);\n while (index !== -1) {\n if (this.#cachedQueriesKeys[index] !== query) {\n index = this.#cachedQueriesLengths.indexOf(query.length, index + 1);\n continue;\n }\n var stmt = this.#cachedQueriesValues[index];\n if (stmt.isFinalized)\n return this.#cachedQueriesValues[index] = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n return stmt;\n }\n var stmt = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n if (willCache)\n this.#cachedQueriesKeys.push(query), this.#cachedQueriesLengths.push(query.length), this.#cachedQueriesValues.push(stmt);\n return stmt;\n }\n transaction(fn, self) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"Expected first argument to be a function\");\n const db = this, controller = getController(db, self), properties = {\n default: { value: wrapTransaction(fn, db, controller.default) },\n deferred: { value: wrapTransaction(fn, db, controller.deferred) },\n immediate: {\n value: wrapTransaction(fn, db, controller.immediate)\n },\n exclusive: {\n value: wrapTransaction(fn, db, controller.exclusive)\n },\n database: { value: this, enumerable: !0 }\n };\n return defineProperties(properties.default.value, properties), defineProperties(properties.deferred.value, properties), defineProperties(properties.immediate.value, properties), defineProperties(properties.exclusive.value, properties), properties.default.value;\n }\n}\nDatabase.prototype.exec = Database.prototype.run;\nvar getController = (db, self) => {\n let controller = (controllers ||= new WeakMap).get(db);\n if (!controller) {\n const shared = {\n commit: db.prepare(\"COMMIT\", @undefined, 0),\n rollback: db.prepare(\"ROLLBACK\", @undefined, 0),\n savepoint: db.prepare(\"SAVEPOINT `\\t_bs3.\\t`\", @undefined, 0),\n release: db.prepare(\"RELEASE `\\t_bs3.\\t`\", @undefined, 0),\n rollbackTo: db.prepare(\"ROLLBACK TO `\\t_bs3.\\t`\", @undefined, 0)\n };\n controllers.set(db, controller = {\n default: Object.assign({ begin: db.prepare(\"BEGIN\", @undefined, 0) }, shared),\n deferred: Object.assign({ begin: db.prepare(\"BEGIN DEFERRED\", @undefined, 0) }, shared),\n immediate: Object.assign({ begin: db.prepare(\"BEGIN IMMEDIATE\", @undefined, 0) }, shared),\n exclusive: Object.assign({ begin: db.prepare(\"BEGIN EXCLUSIVE\", @undefined, 0) }, shared)\n });\n }\n return controller;\n}, wrapTransaction = (fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function transaction(...args) {\n let before, after, undo;\n if (db.inTransaction)\n before = savepoint, after = release, undo = rollbackTo;\n else\n before = begin, after = commit, undo = rollback;\n try {\n before.run();\n const result = fn.@apply(this, args);\n return after.run(), result;\n } catch (ex) {\n if (db.inTransaction) {\n if (undo.run(), undo !== rollback)\n after.run();\n }\n throw ex;\n }\n};\n$ = {\n __esModule: !0,\n Database,\n Statement,\n constants,\n default: Database\n};\nreturn $})\n"); +static constexpr ASCIILiteral BunSqliteCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/bun/sqlite.ts\nvar $, defineProperties = Object.defineProperties, toStringTag = Symbol.toStringTag, isArray = @Array.isArray, isTypedArray = @ArrayBuffer.isView, constants = {\n SQLITE_OPEN_READONLY: 1,\n SQLITE_OPEN_READWRITE: 2,\n SQLITE_OPEN_CREATE: 4,\n SQLITE_OPEN_DELETEONCLOSE: 8,\n SQLITE_OPEN_EXCLUSIVE: 16,\n SQLITE_OPEN_AUTOPROXY: 32,\n SQLITE_OPEN_URI: 64,\n SQLITE_OPEN_MEMORY: 128,\n SQLITE_OPEN_MAIN_DB: 256,\n SQLITE_OPEN_TEMP_DB: 512,\n SQLITE_OPEN_TRANSIENT_DB: 1024,\n SQLITE_OPEN_MAIN_JOURNAL: 2048,\n SQLITE_OPEN_TEMP_JOURNAL: 4096,\n SQLITE_OPEN_SUBJOURNAL: 8192,\n SQLITE_OPEN_SUPER_JOURNAL: 16384,\n SQLITE_OPEN_NOMUTEX: 32768,\n SQLITE_OPEN_FULLMUTEX: 65536,\n SQLITE_OPEN_SHAREDCACHE: 131072,\n SQLITE_OPEN_PRIVATECACHE: 262144,\n SQLITE_OPEN_WAL: 524288,\n SQLITE_OPEN_NOFOLLOW: 16777216,\n SQLITE_OPEN_EXRESCODE: 33554432,\n SQLITE_PREPARE_PERSISTENT: 1,\n SQLITE_PREPARE_NORMALIZE: 2,\n SQLITE_PREPARE_NO_VTAB: 4\n}, SQL, controllers;\n\nclass Statement {\n constructor(raw) {\n switch (this.#raw = raw, raw.paramsCount) {\n case 0: {\n this.get = this.#getNoArgs, this.all = this.#allNoArgs, this.values = this.#valuesNoArgs, this.run = this.#runNoArgs;\n break;\n }\n default: {\n this.get = this.#get, this.all = this.#all, this.values = this.#values, this.run = this.#run;\n break;\n }\n }\n }\n #raw;\n get;\n all;\n values;\n run;\n isFinalized = !1;\n toJSON() {\n return {\n sql: this.native.toString(),\n isFinalized: this.isFinalized,\n paramsCount: this.paramsCount,\n columnNames: this.columnNames\n };\n }\n get [toStringTag]() {\n return `\"${this.native.toString()}\"`;\n }\n toString() {\n return this.native.toString();\n }\n get native() {\n return this.#raw;\n }\n #getNoArgs() {\n return this.#raw.get();\n }\n #allNoArgs() {\n return this.#raw.all();\n }\n #valuesNoArgs() {\n return this.#raw.values();\n }\n #runNoArgs() {\n this.#raw.run();\n }\n #get(...args) {\n if (args.length === 0)\n return this.#getNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.get(args) : this.#raw.get(...args);\n }\n #all(...args) {\n if (args.length === 0)\n return this.#allNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.all(args) : this.#raw.all(...args);\n }\n #values(...args) {\n if (args.length === 0)\n return this.#valuesNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.values(args) : this.#raw.values(...args);\n }\n #run(...args) {\n if (args.length === 0)\n return this.#runNoArgs();\n var arg0 = args[0];\n !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.run(args) : this.#raw.run(...args);\n }\n get columnNames() {\n return this.#raw.columns;\n }\n get paramsCount() {\n return this.#raw.paramsCount;\n }\n finalize(...args) {\n return this.isFinalized = !0, this.#raw.finalize(...args);\n }\n}\nvar cachedCount = Symbol.for(\"Bun.Database.cache.count\");\n\nclass Database {\n constructor(filenameGiven, options) {\n if (typeof filenameGiven === \"undefined\")\n ;\n else if (typeof filenameGiven !== \"string\") {\n if (isTypedArray(filenameGiven)) {\n this.#handle = Database.#deserialize(filenameGiven, typeof options === \"object\" && options \? !!options.readonly : ((options | 0) & constants.SQLITE_OPEN_READONLY) != 0), this.filename = \":memory:\";\n return;\n }\n @throwTypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`);\n }\n var filename = typeof filenameGiven === \"string\" \? filenameGiven.trim() : \":memory:\", flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (typeof options === \"object\" && options) {\n if (flags = 0, options.readonly)\n flags = constants.SQLITE_OPEN_READONLY;\n if (\"readOnly\" in options)\n @throwTypeError('Misspelled option \"readOnly\" should be \"readonly\"');\n if (options.create)\n flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (options.readwrite)\n flags |= constants.SQLITE_OPEN_READWRITE;\n } else if (typeof options === \"number\")\n flags = options;\n const anonymous = filename === \"\" || filename === \":memory:\";\n if (anonymous && (flags & constants.SQLITE_OPEN_READONLY) !== 0)\n throw new Error(\"Cannot open an anonymous database in read-only mode.\");\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n this.#handle = SQL.open(anonymous \? \":memory:\" : filename, flags), this.filename = filename;\n }\n #handle;\n #cachedQueriesKeys = [];\n #cachedQueriesLengths = [];\n #cachedQueriesValues = [];\n filename;\n get handle() {\n return this.#handle;\n }\n get inTransaction() {\n return SQL.isInTransaction(this.#handle);\n }\n static open(filename, options) {\n return new Database(filename, options);\n }\n loadExtension(name, entryPoint) {\n return SQL.loadExtension(this.#handle, name, entryPoint);\n }\n serialize(optionalName) {\n return SQL.serialize(this.#handle, optionalName || \"main\");\n }\n static #deserialize(serialized, isReadOnly = !1) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.deserialize(serialized, isReadOnly);\n }\n static deserialize(serialized, isReadOnly = !1) {\n return new Database(serialized, isReadOnly \? constants.SQLITE_OPEN_READONLY : 0);\n }\n static setCustomSQLite(path) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.setCustomSQLite(path);\n }\n close() {\n return this.clearQueryCache(), SQL.close(this.#handle);\n }\n clearQueryCache() {\n for (let item of this.#cachedQueriesValues)\n item.finalize();\n this.#cachedQueriesKeys.length = 0, this.#cachedQueriesValues.length = 0, this.#cachedQueriesLengths.length = 0;\n }\n run(query, ...params) {\n if (params.length === 0) {\n SQL.run(this.#handle, query);\n return;\n }\n var arg0 = params[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? SQL.run(this.#handle, query, params) : SQL.run(this.#handle, query, ...params);\n }\n prepare(query, params, flags) {\n return new Statement(SQL.prepare(this.#handle, query, params, flags || 0));\n }\n static MAX_QUERY_CACHE_SIZE = 20;\n get [cachedCount]() {\n return this.#cachedQueriesKeys.length;\n }\n query(query) {\n if (typeof query !== \"string\")\n @throwTypeError(`Expected 'query' to be a string, got '${typeof query}'`);\n if (query.length === 0)\n throw new Error(\"SQL query cannot be empty.\");\n const willCache = this.#cachedQueriesKeys.length < Database.MAX_QUERY_CACHE_SIZE;\n var index = this.#cachedQueriesLengths.indexOf(query.length);\n while (index !== -1) {\n if (this.#cachedQueriesKeys[index] !== query) {\n index = this.#cachedQueriesLengths.indexOf(query.length, index + 1);\n continue;\n }\n var stmt = this.#cachedQueriesValues[index];\n if (stmt.isFinalized)\n return this.#cachedQueriesValues[index] = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n return stmt;\n }\n var stmt = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n if (willCache)\n this.#cachedQueriesKeys.push(query), this.#cachedQueriesLengths.push(query.length), this.#cachedQueriesValues.push(stmt);\n return stmt;\n }\n transaction(fn, self) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"Expected first argument to be a function\");\n const db = this, controller = getController(db, self), properties = {\n default: { value: wrapTransaction(fn, db, controller.default) },\n deferred: { value: wrapTransaction(fn, db, controller.deferred) },\n immediate: {\n value: wrapTransaction(fn, db, controller.immediate)\n },\n exclusive: {\n value: wrapTransaction(fn, db, controller.exclusive)\n },\n database: { value: this, enumerable: !0 }\n };\n return defineProperties(properties.default.value, properties), defineProperties(properties.deferred.value, properties), defineProperties(properties.immediate.value, properties), defineProperties(properties.exclusive.value, properties), properties.default.value;\n }\n}\nDatabase.prototype.exec = Database.prototype.run;\nvar getController = (db, self) => {\n let controller = (controllers ||= new WeakMap).get(db);\n if (!controller) {\n const shared = {\n commit: db.prepare(\"COMMIT\", @undefined, 0),\n rollback: db.prepare(\"ROLLBACK\", @undefined, 0),\n savepoint: db.prepare(\"SAVEPOINT `\\t_bs3.\\t`\", @undefined, 0),\n release: db.prepare(\"RELEASE `\\t_bs3.\\t`\", @undefined, 0),\n rollbackTo: db.prepare(\"ROLLBACK TO `\\t_bs3.\\t`\", @undefined, 0)\n };\n controllers.set(db, controller = {\n default: Object.assign({ begin: db.prepare(\"BEGIN\", @undefined, 0) }, shared),\n deferred: Object.assign({ begin: db.prepare(\"BEGIN DEFERRED\", @undefined, 0) }, shared),\n immediate: Object.assign({ begin: db.prepare(\"BEGIN IMMEDIATE\", @undefined, 0) }, shared),\n exclusive: Object.assign({ begin: db.prepare(\"BEGIN EXCLUSIVE\", @undefined, 0) }, shared)\n });\n }\n return controller;\n}, wrapTransaction = (fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function transaction(...args) {\n let before, after, undo;\n if (db.inTransaction)\n before = savepoint, after = release, undo = rollbackTo;\n else\n before = begin, after = commit, undo = rollback;\n try {\n before.run();\n const result = fn.@apply(this, args);\n return after.run(), result;\n } catch (ex) {\n if (db.inTransaction) {\n if (undo.run(), undo !== rollback)\n after.run();\n }\n throw ex;\n }\n};\n$ = {\n __esModule: !0,\n Database,\n Statement,\n constants,\n default: Database\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalDebuggerCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/debugger.ts\nvar versionInfo = function() {\n return {\n \"Protocol-Version\": \"1.3\",\n Browser: \"Bun\",\n \"User-Agent\": navigator.userAgent,\n \"WebKit-Version\": process.versions.webkit,\n \"Bun-Version\": Bun.version,\n \"Bun-Revision\": Bun.revision\n };\n}, webSocketWriter = function(ws) {\n return {\n write: (message) => !!ws.sendText(message),\n close: () => ws.close()\n };\n}, socketWriter = function(socket) {\n return {\n write: (message) => !!socket.write(message),\n close: () => socket.end()\n };\n}, bufferedWriter = function(writer) {\n let draining = !1, pendingMessages = [];\n return {\n write: (message) => {\n if (draining || !writer.write(message))\n pendingMessages.push(message);\n return !0;\n },\n drain: () => {\n draining = !0;\n try {\n for (let i = 0;i < pendingMessages.length; i++)\n if (!writer.write(pendingMessages[i])) {\n pendingMessages = pendingMessages.slice(i);\n return;\n }\n } finally {\n draining = !1;\n }\n },\n close: () => {\n writer.close(), pendingMessages.length = 0;\n }\n };\n}, parseUrl = function(url) {\n try {\n if (!url)\n return new URL(randomId(), `ws://${defaultHostname}:${defaultPort}/`);\n else if (url.startsWith(\"/\"))\n return new URL(url, `ws://${defaultHostname}:${defaultPort}/`);\n else if (/^[a-z+]+:\\/\\//i.test(url))\n return new URL(url);\n else if (/^\\d+$/.test(url))\n return new URL(randomId(), `ws://${defaultHostname}:${url}/`);\n else if (!url.includes(\"/\") && url.includes(\":\"))\n return new URL(randomId(), `ws://${url}/`);\n else if (!url.includes(\":\")) {\n const [hostname, pathname] = url.split(\"/\", 2);\n return new URL(`ws://${hostname}:${defaultPort}/${pathname}`);\n } else\n return new URL(randomId(), `ws://${url}`);\n } catch {\n @throwTypeError(`Invalid hostname or URL: '${url}'`);\n }\n}, randomId = function() {\n return Math.random().toString(36).slice(2);\n}, dim = function(string) {\n if (enableANSIColors)\n return `\\x1B[2m${string}\\x1B[22m`;\n return string;\n}, link = function(url) {\n if (enableANSIColors)\n return `\\x1B[1m\\x1B]8;;${url}\\x1B\\\\${url}\\x1B]8;;\\x1B\\\\\\x1B[22m`;\n return url;\n}, reset = function() {\n if (enableANSIColors)\n return \"\\x1B[49m\";\n return \"\";\n}, notify = function(unix) {\n Bun.connect({\n unix,\n socket: {\n open: (socket) => {\n socket.end(\"1\");\n },\n data: () => {\n }\n }\n }).finally(() => {\n });\n}, exit = function(...args) {\n console.error(...args), process.exit(1);\n}, $;\n$ = function(executionContextId, url, createBackend, send, close) {\n let debug;\n try {\n debug = new Debugger(executionContextId, url, createBackend, send, close);\n } catch (error) {\n exit(\"Failed to start inspector:\\n\", error);\n }\n const { protocol, href, host, pathname } = debug.url;\n if (!protocol.includes(\"unix\")) {\n if (console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset()), console.log(`Listening:\\n ${dim(href)}`), protocol.includes(\"ws\"))\n console.log(`Inspect in browser:\\n ${link(`https://debug.bun.sh/#${host}${pathname}`)}`);\n console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset());\n }\n const unix = process.env.BUN_INSPECT_NOTIFY;\n if (unix) {\n const { protocol: protocol2, pathname: pathname2 } = parseUrl(unix);\n if (protocol2 === \"unix:\")\n notify(pathname2);\n }\n};\n\nclass Debugger {\n #url;\n #createBackend;\n constructor(executionContextId, url, createBackend, send, close) {\n this.#url = parseUrl(url), this.#createBackend = (refEventLoop, receive) => {\n const backend = createBackend(executionContextId, refEventLoop, receive);\n return {\n write: (message) => {\n return send.@call(backend, message), !0;\n },\n close: () => close.@call(backend)\n };\n }, this.#listen();\n }\n get url() {\n return this.#url;\n }\n #listen() {\n const { protocol, hostname, port, pathname } = this.#url;\n if (protocol === \"ws:\" || protocol === \"ws+tcp:\") {\n const server = Bun.serve({\n hostname,\n port,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n this.#url.hostname = server.hostname, this.#url.port = `${server.port}`;\n return;\n }\n if (protocol === \"ws+unix:\") {\n Bun.serve({\n unix: pathname,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n return;\n }\n @throwTypeError(`Unsupported protocol: '${protocol}' (expected 'ws:', 'ws+unix:', or 'unix:')`);\n }\n get #websocket() {\n return {\n idleTimeout: 0,\n closeOnBackpressureLimit: !1,\n open: (ws) => this.#open(ws, webSocketWriter(ws)),\n message: (ws, message) => {\n if (typeof message === \"string\")\n this.#message(ws, message);\n else\n this.#error(ws, new Error(`Unexpected binary message: ${message.toString()}`));\n },\n drain: (ws) => this.#drain(ws),\n close: (ws) => this.#close(ws)\n };\n }\n #fetch(request, server) {\n const { method, url, headers } = request, { pathname } = new URL(url);\n if (method !== \"GET\")\n return new Response(null, {\n status: 405\n });\n switch (pathname) {\n case \"/json/version\":\n return Response.json(versionInfo());\n case \"/json\":\n case \"/json/list\":\n }\n if (!this.#url.protocol.includes(\"unix\") && this.#url.pathname !== pathname)\n return new Response(null, {\n status: 404\n });\n const data = {\n refEventLoop: headers.get(\"Ref-Event-Loop\") === \"0\"\n };\n if (!server.upgrade(request, { data }))\n return new Response(null, {\n status: 426,\n headers: {\n Upgrade: \"websocket\"\n }\n });\n }\n get #socket() {\n return {\n open: (socket) => this.#open(socket, socketWriter(socket)),\n data: (socket, message) => this.#message(socket, message.toString()),\n drain: (socket) => this.#drain(socket),\n close: (socket) => this.#close(socket),\n error: (socket, error) => this.#error(socket, error),\n connectError: (_, error) => exit(\"Failed to start inspector:\\n\", error)\n };\n }\n #open(connection, writer) {\n const { data } = connection, { refEventLoop } = data, client = bufferedWriter(writer), backend = this.#createBackend(refEventLoop, (...messages) => {\n for (let message of messages)\n client.write(message);\n });\n data.client = client, data.backend = backend;\n }\n #message(connection, message) {\n const { data } = connection, { backend } = data;\n backend\?.write(message);\n }\n #drain(connection) {\n const { data } = connection, { client } = data;\n client\?.drain\?.();\n }\n #close(connection) {\n const { data } = connection, { backend } = data;\n backend\?.close();\n }\n #error(connection, error) {\n const { data } = connection, { backend } = data;\n console.error(error), backend\?.close();\n }\n}\nvar defaultHostname = \"localhost\", defaultPort = 6499, { enableANSIColors } = Bun;\nreturn $})\n"); +static constexpr ASCIILiteral InternalDebuggerCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/debugger.ts\nvar versionInfo = function() {\n return {\n \"Protocol-Version\": \"1.3\",\n Browser: \"Bun\",\n \"User-Agent\": navigator.userAgent,\n \"WebKit-Version\": process.versions.webkit,\n \"Bun-Version\": Bun.version,\n \"Bun-Revision\": Bun.revision\n };\n}, webSocketWriter = function(ws) {\n return {\n write: (message) => !!ws.sendText(message),\n close: () => ws.close()\n };\n}, socketWriter = function(socket) {\n return {\n write: (message) => !!socket.write(message),\n close: () => socket.end()\n };\n}, bufferedWriter = function(writer) {\n let draining = !1, pendingMessages = [];\n return {\n write: (message) => {\n if (draining || !writer.write(message))\n pendingMessages.push(message);\n return !0;\n },\n drain: () => {\n draining = !0;\n try {\n for (let i = 0;i < pendingMessages.length; i++)\n if (!writer.write(pendingMessages[i])) {\n pendingMessages = pendingMessages.slice(i);\n return;\n }\n } finally {\n draining = !1;\n }\n },\n close: () => {\n writer.close(), pendingMessages.length = 0;\n }\n };\n}, parseUrl = function(url) {\n try {\n if (!url)\n return new URL(randomId(), `ws://${defaultHostname}:${defaultPort}/`);\n else if (url.startsWith(\"/\"))\n return new URL(url, `ws://${defaultHostname}:${defaultPort}/`);\n else if (/^[a-z+]+:\\/\\//i.test(url))\n return new URL(url);\n else if (/^\\d+$/.test(url))\n return new URL(randomId(), `ws://${defaultHostname}:${url}/`);\n else if (!url.includes(\"/\") && url.includes(\":\"))\n return new URL(randomId(), `ws://${url}/`);\n else if (!url.includes(\":\")) {\n const [hostname, pathname] = url.split(\"/\", 2);\n return new URL(`ws://${hostname}:${defaultPort}/${pathname}`);\n } else\n return new URL(randomId(), `ws://${url}`);\n } catch {\n @throwTypeError(`Invalid hostname or URL: '${url}'`);\n }\n}, randomId = function() {\n return Math.random().toString(36).slice(2);\n}, dim = function(string) {\n if (enableANSIColors)\n return `\\x1B[2m${string}\\x1B[22m`;\n return string;\n}, link = function(url) {\n if (enableANSIColors)\n return `\\x1B[1m\\x1B]8;;${url}\\x1B\\\\${url}\\x1B]8;;\\x1B\\\\\\x1B[22m`;\n return url;\n}, reset = function() {\n if (enableANSIColors)\n return \"\\x1B[49m\";\n return \"\";\n}, notify = function(unix) {\n Bun.connect({\n unix,\n socket: {\n open: (socket) => {\n socket.end(\"1\");\n },\n data: () => {\n }\n }\n }).finally(() => {\n });\n}, exit = function(...args) {\n console.error(...args), process.exit(1);\n}, $;\n$ = function(executionContextId, url, createBackend, send, close) {\n let debug;\n try {\n debug = new Debugger(executionContextId, url, createBackend, send, close);\n } catch (error) {\n exit(\"Failed to start inspector:\\n\", error);\n }\n const { protocol, href, host, pathname } = debug.url;\n if (!protocol.includes(\"unix\")) {\n if (console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset()), console.log(`Listening:\\n ${dim(href)}`), protocol.includes(\"ws\"))\n console.log(`Inspect in browser:\\n ${link(`https://debug.bun.sh/#${host}${pathname}`)}`);\n console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset());\n }\n const unix = process.env.BUN_INSPECT_NOTIFY;\n if (unix) {\n const { protocol: protocol2, pathname: pathname2 } = parseUrl(unix);\n if (protocol2 === \"unix:\")\n notify(pathname2);\n }\n};\n\nclass Debugger {\n #url;\n #createBackend;\n constructor(executionContextId, url, createBackend, send, close) {\n this.#url = parseUrl(url), this.#createBackend = (refEventLoop, receive) => {\n const backend = createBackend(executionContextId, refEventLoop, receive);\n return {\n write: (message) => {\n return send.@call(backend, message), !0;\n },\n close: () => close.@call(backend)\n };\n }, this.#listen();\n }\n get url() {\n return this.#url;\n }\n #listen() {\n const { protocol, hostname, port, pathname } = this.#url;\n if (protocol === \"ws:\" || protocol === \"ws+tcp:\") {\n const server = Bun.serve({\n hostname,\n port,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n this.#url.hostname = server.hostname, this.#url.port = `${server.port}`;\n return;\n }\n if (protocol === \"ws+unix:\") {\n Bun.serve({\n unix: pathname,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n return;\n }\n @throwTypeError(`Unsupported protocol: '${protocol}' (expected 'ws:', 'ws+unix:', or 'unix:')`);\n }\n get #websocket() {\n return {\n idleTimeout: 0,\n closeOnBackpressureLimit: !1,\n open: (ws) => this.#open(ws, webSocketWriter(ws)),\n message: (ws, message) => {\n if (typeof message === \"string\")\n this.#message(ws, message);\n else\n this.#error(ws, new Error(`Unexpected binary message: ${message.toString()}`));\n },\n drain: (ws) => this.#drain(ws),\n close: (ws) => this.#close(ws)\n };\n }\n #fetch(request, server) {\n const { method, url, headers } = request, { pathname } = new URL(url);\n if (method !== \"GET\")\n return new Response(null, {\n status: 405\n });\n switch (pathname) {\n case \"/json/version\":\n return Response.json(versionInfo());\n case \"/json\":\n case \"/json/list\":\n }\n if (!this.#url.protocol.includes(\"unix\") && this.#url.pathname !== pathname)\n return new Response(null, {\n status: 404\n });\n const data = {\n refEventLoop: headers.get(\"Ref-Event-Loop\") === \"0\"\n };\n if (!server.upgrade(request, { data }))\n return new Response(null, {\n status: 426,\n headers: {\n Upgrade: \"websocket\"\n }\n });\n }\n get #socket() {\n return {\n open: (socket) => this.#open(socket, socketWriter(socket)),\n data: (socket, message) => this.#message(socket, message.toString()),\n drain: (socket) => this.#drain(socket),\n close: (socket) => this.#close(socket),\n error: (socket, error) => this.#error(socket, error),\n connectError: (_, error) => exit(\"Failed to start inspector:\\n\", error)\n };\n }\n #open(connection, writer) {\n const { data } = connection, { refEventLoop } = data, client = bufferedWriter(writer), backend = this.#createBackend(refEventLoop, (...messages) => {\n for (let message of messages)\n client.write(message);\n });\n data.client = client, data.backend = backend;\n }\n #message(connection, message) {\n const { data } = connection, { backend } = data;\n backend\?.write(message);\n }\n #drain(connection) {\n const { data } = connection, { client } = data;\n client\?.drain\?.();\n }\n #close(connection) {\n const { data } = connection, { backend } = data;\n backend\?.close();\n }\n #error(connection, error) {\n const { data } = connection, { backend } = data;\n console.error(error), backend\?.close();\n }\n}\nvar defaultHostname = \"localhost\", defaultPort = 6499, { enableANSIColors } = Bun;\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalFSCpSyncCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/fs/cp-sync.ts\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n}, cpSyncFn = function(src, dest, opts) {\n const { srcStat, destStat, skipped } = checkPathsSync(src, dest, opts);\n if (skipped)\n return;\n return checkParentPathsSync(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}, checkPathsSync = function(src, dest, opts) {\n if (opts.filter) {\n const shouldCopy = opts.filter(src, dest);\n if (isPromise(shouldCopy))\n throw new Error(\"Expected a boolean from the filter function, but got a promise. Use `fs.promises.cp` instead.\");\n if (!shouldCopy)\n return { __proto__: null, skipped: !0 };\n }\n const { srcStat, destStat } = getStatsSync(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"src and dest cannot be the same\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}, getStatsSync = function(src, dest, opts) {\n let destStat;\n const statFunc = opts.dereference \? (file) => statSync(file, { bigint: !0 }) : (file) => lstatSync(file, { bigint: !0 }), srcStat = statFunc(src);\n try {\n destStat = statFunc(dest);\n } catch (err) {\n if (err.code === \"ENOENT\")\n return { srcStat, destStat: null };\n throw err;\n }\n return { srcStat, destStat };\n}, checkParentPathsSync = function(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = statSync(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPathsSync(src, srcStat, destParent);\n}, checkParentDir = function(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (!existsSync(destParent))\n mkdirSync(destParent, { recursive: !0 });\n return getStats(destStat, src, dest, opts);\n}, getStats = function(destStat, src, dest, opts) {\n const srcStat = (opts.dereference \? statSync : lstatSync)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}, onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n}, mayCopyFile = function(srcStat, src, dest, opts) {\n if (opts.force)\n return unlinkSync(dest), copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}, copyFile = function(srcStat, src, dest, opts) {\n if (copyFileSync(src, dest, opts.mode), opts.preserveTimestamps)\n handleTimestamps(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}, handleTimestamps = function(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n makeFileWritable(dest, srcMode);\n return setDestTimestamps(src, dest);\n}, fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n}, setDestMode = function(dest, srcMode) {\n return chmodSync(dest, srcMode);\n}, setDestTimestamps = function(src, dest) {\n const updatedSrcStat = statSync(src);\n return utimesSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}, onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n}, mkDirAndCopy = function(srcMode, src, dest, opts) {\n return mkdirSync(dest), copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}, copyDir = function(src, dest, opts) {\n for (let dirent of readdirSync(src, { withFileTypes: !0 })) {\n const { name } = dirent, srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = checkPathsSync(srcItem, destItem, opts);\n if (!skipped)\n getStats(destStat, srcItem, destItem, opts);\n }\n}, onLink = function(destStat, src, dest, opts) {\n let resolvedSrc = readlinkSync(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlinkSync(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = readlinkSync(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlinkSync(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if (statSync(dest).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}, copyLink = function(resolvedSrc, dest) {\n return unlinkSync(dest), symlinkSync(resolvedSrc, dest);\n}, ArrayPrototypeEvery = @Array.prototype.every, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit.@call(resolve(path), sep), Boolean), {\n chmodSync,\n copyFileSync,\n existsSync,\n lstatSync,\n mkdirSync,\n readdirSync,\n readlinkSync,\n statSync,\n symlinkSync,\n unlinkSync,\n utimesSync\n} = @getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), { isPromise } = @requireNativeModule(\"util/types\");\nreturn cpSyncFn})\n"); +static constexpr ASCIILiteral InternalFSCpSyncCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/fs/cp-sync.ts\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n}, cpSyncFn = function(src, dest, opts) {\n const { srcStat, destStat, skipped } = checkPathsSync(src, dest, opts);\n if (skipped)\n return;\n return checkParentPathsSync(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}, checkPathsSync = function(src, dest, opts) {\n if (opts.filter) {\n const shouldCopy = opts.filter(src, dest);\n if (isPromise(shouldCopy))\n throw new Error(\"Expected a boolean from the filter function, but got a promise. Use `fs.promises.cp` instead.\");\n if (!shouldCopy)\n return { __proto__: null, skipped: !0 };\n }\n const { srcStat, destStat } = getStatsSync(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"src and dest cannot be the same\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}, getStatsSync = function(src, dest, opts) {\n let destStat;\n const statFunc = opts.dereference \? (file) => statSync(file, { bigint: !0 }) : (file) => lstatSync(file, { bigint: !0 }), srcStat = statFunc(src);\n try {\n destStat = statFunc(dest);\n } catch (err) {\n if (err.code === \"ENOENT\")\n return { srcStat, destStat: null };\n throw err;\n }\n return { srcStat, destStat };\n}, checkParentPathsSync = function(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = statSync(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPathsSync(src, srcStat, destParent);\n}, checkParentDir = function(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (!existsSync(destParent))\n mkdirSync(destParent, { recursive: !0 });\n return getStats(destStat, src, dest, opts);\n}, getStats = function(destStat, src, dest, opts) {\n const srcStat = (opts.dereference \? statSync : lstatSync)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}, onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n}, mayCopyFile = function(srcStat, src, dest, opts) {\n if (opts.force)\n return unlinkSync(dest), copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}, copyFile = function(srcStat, src, dest, opts) {\n if (copyFileSync(src, dest, opts.mode), opts.preserveTimestamps)\n handleTimestamps(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}, handleTimestamps = function(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n makeFileWritable(dest, srcMode);\n return setDestTimestamps(src, dest);\n}, fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n}, setDestMode = function(dest, srcMode) {\n return chmodSync(dest, srcMode);\n}, setDestTimestamps = function(src, dest) {\n const updatedSrcStat = statSync(src);\n return utimesSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}, onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n}, mkDirAndCopy = function(srcMode, src, dest, opts) {\n return mkdirSync(dest), copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}, copyDir = function(src, dest, opts) {\n for (let dirent of readdirSync(src, { withFileTypes: !0 })) {\n const { name } = dirent, srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = checkPathsSync(srcItem, destItem, opts);\n if (!skipped)\n getStats(destStat, srcItem, destItem, opts);\n }\n}, onLink = function(destStat, src, dest, opts) {\n let resolvedSrc = readlinkSync(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlinkSync(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = readlinkSync(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlinkSync(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if (statSync(dest).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}, copyLink = function(resolvedSrc, dest) {\n return unlinkSync(dest), symlinkSync(resolvedSrc, dest);\n}, ArrayPrototypeEvery = @Array.prototype.every, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit.@call(resolve(path), sep), Boolean), {\n chmodSync,\n copyFileSync,\n existsSync,\n lstatSync,\n mkdirSync,\n readdirSync,\n readlinkSync,\n statSync,\n symlinkSync,\n unlinkSync,\n utimesSync\n} = @getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), { isPromise } = @requireNativeModule(\"util/types\");\nreturn cpSyncFn})\n"); // // -static constexpr ASCIILiteral InternalFSCpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/fs/cp.ts\nasync function cpFn(src, dest, opts) {\n const stats = await checkPaths(src, dest, opts), { srcStat, destStat, skipped } = stats;\n if (skipped)\n return;\n return await checkParentPaths(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}\nasync function checkPaths(src, dest, opts) {\n if (opts.filter && !await opts.filter(src, dest))\n return { __proto__: null, skipped: !0 };\n const { 0: srcStat, 1: destStat } = await getStats(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"Source and destination must not be the same.\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, getStats = function(src, dest, opts) {\n const statFunc = opts.dereference \? (file) => stat(file, { bigint: !0 }) : (file) => lstat(file, { bigint: !0 });\n return SafePromiseAll([\n statFunc(src),\n PromisePrototypeThen.@call(statFunc(dest), @undefined, (err) => {\n if (err.code === \"ENOENT\")\n return null;\n throw err;\n })\n ]);\n};\nasync function checkParentDir(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (await pathExists(destParent))\n return getStatsForCopy(destStat, src, dest, opts);\n return await mkdir(destParent, { recursive: !0 }), getStatsForCopy(destStat, src, dest, opts);\n}\nvar pathExists = function(dest) {\n return PromisePrototypeThen(stat(dest), () => !0, (err) => err.code === \"ENOENT\" \? !1 : PromiseReject(err));\n};\nasync function checkParentPaths(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = await stat(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPaths(src, srcStat, destParent);\n}\nvar isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n};\nasync function getStatsForCopy(destStat, src, dest, opts) {\n const srcStat = await (opts.dereference \? stat : lstat)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}\nvar onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return _copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n};\nasync function mayCopyFile(srcStat, src, dest, opts) {\n if (opts.force)\n return await unlink(dest), _copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}\nasync function _copyFile(srcStat, src, dest, opts) {\n if (await copyFile(src, dest, opts.mode), opts.preserveTimestamps)\n return handleTimestampsAndMode(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}\nasync function handleTimestampsAndMode(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n return await makeFileWritable(dest, srcMode), setDestTimestampsAndMode(srcMode, src, dest);\n return setDestTimestampsAndMode(srcMode, src, dest);\n}\nvar fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n};\nasync function setDestTimestampsAndMode(srcMode, src, dest) {\n return await setDestTimestamps(src, dest), setDestMode(dest, srcMode);\n}\nvar setDestMode = function(dest, srcMode) {\n return chmod(dest, srcMode);\n};\nasync function setDestTimestamps(src, dest) {\n const updatedSrcStat = await stat(src);\n return utimes(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}\nvar onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n};\nasync function mkDirAndCopy(srcMode, src, dest, opts) {\n return await mkdir(dest), await copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}\nasync function copyDir(src, dest, opts) {\n const dir = await opendir(src);\n for await (let { name } of dir) {\n const srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = await checkPaths(srcItem, destItem, opts);\n if (!skipped)\n await getStatsForCopy(destStat, srcItem, destItem, opts);\n }\n}\nasync function onLink(destStat, src, dest, opts) {\n let resolvedSrc = await readlink(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlink(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = await readlink(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlink(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if ((await stat(src)).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}\nasync function copyLink(resolvedSrc, dest) {\n return await unlink(dest), symlink(resolvedSrc, dest);\n}\nvar { chmod, copyFile, lstat, mkdir, opendir, readlink, stat, symlink, unlink, utimes } = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), SafePromiseAll = @Promise.all, PromisePrototypeThen = @Promise.prototype.then, PromiseReject = @Promise.reject, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, ArrayPrototypeEvery = @Array.prototype.every, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit(resolve(path), sep), Boolean);\nreturn cpFn})\n"); +static constexpr ASCIILiteral InternalFSCpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/fs/cp.ts\nasync function cpFn(src, dest, opts) {\n const stats = await checkPaths(src, dest, opts), { srcStat, destStat, skipped } = stats;\n if (skipped)\n return;\n return await checkParentPaths(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}\nasync function checkPaths(src, dest, opts) {\n if (opts.filter && !await opts.filter(src, dest))\n return { __proto__: null, skipped: !0 };\n const { 0: srcStat, 1: destStat } = await getStats(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"Source and destination must not be the same.\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, getStats = function(src, dest, opts) {\n const statFunc = opts.dereference \? (file) => stat(file, { bigint: !0 }) : (file) => lstat(file, { bigint: !0 });\n return SafePromiseAll([\n statFunc(src),\n PromisePrototypeThen.@call(statFunc(dest), @undefined, (err) => {\n if (err.code === \"ENOENT\")\n return null;\n throw err;\n })\n ]);\n};\nasync function checkParentDir(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (await pathExists(destParent))\n return getStatsForCopy(destStat, src, dest, opts);\n return await mkdir(destParent, { recursive: !0 }), getStatsForCopy(destStat, src, dest, opts);\n}\nvar pathExists = function(dest) {\n return PromisePrototypeThen(stat(dest), () => !0, (err) => err.code === \"ENOENT\" \? !1 : PromiseReject(err));\n};\nasync function checkParentPaths(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = await stat(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPaths(src, srcStat, destParent);\n}\nvar isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n};\nasync function getStatsForCopy(destStat, src, dest, opts) {\n const srcStat = await (opts.dereference \? stat : lstat)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}\nvar onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return _copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n};\nasync function mayCopyFile(srcStat, src, dest, opts) {\n if (opts.force)\n return await unlink(dest), _copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}\nasync function _copyFile(srcStat, src, dest, opts) {\n if (await copyFile(src, dest, opts.mode), opts.preserveTimestamps)\n return handleTimestampsAndMode(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}\nasync function handleTimestampsAndMode(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n return await makeFileWritable(dest, srcMode), setDestTimestampsAndMode(srcMode, src, dest);\n return setDestTimestampsAndMode(srcMode, src, dest);\n}\nvar fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n};\nasync function setDestTimestampsAndMode(srcMode, src, dest) {\n return await setDestTimestamps(src, dest), setDestMode(dest, srcMode);\n}\nvar setDestMode = function(dest, srcMode) {\n return chmod(dest, srcMode);\n};\nasync function setDestTimestamps(src, dest) {\n const updatedSrcStat = await stat(src);\n return utimes(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}\nvar onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n};\nasync function mkDirAndCopy(srcMode, src, dest, opts) {\n return await mkdir(dest), await copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}\nasync function copyDir(src, dest, opts) {\n const dir = await opendir(src);\n for await (let { name } of dir) {\n const srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = await checkPaths(srcItem, destItem, opts);\n if (!skipped)\n await getStatsForCopy(destStat, srcItem, destItem, opts);\n }\n}\nasync function onLink(destStat, src, dest, opts) {\n let resolvedSrc = await readlink(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlink(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = await readlink(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlink(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if ((await stat(src)).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}\nasync function copyLink(resolvedSrc, dest) {\n return await unlink(dest), symlink(resolvedSrc, dest);\n}\nvar { chmod, copyFile, lstat, mkdir, opendir, readlink, stat, symlink, unlink, utimes } = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), SafePromiseAll = @Promise.all, PromisePrototypeThen = @Promise.prototype.then, PromiseReject = @Promise.reject, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, ArrayPrototypeEvery = @Array.prototype.every, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit(resolve(path), sep), Boolean);\nreturn cpFn})\n"); // // -static constexpr ASCIILiteral InternalPrimordialsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/primordials.ts\nvar getGetter = function(cls, getter) {\n return FunctionPrototypeCall.bind(cls.prototype.__lookupGetter__(getter));\n}, uncurryThis = function(func) {\n return FunctionPrototypeCall.bind(func);\n}, ErrorCaptureStackTrace = function(targetObject) {\n const stack = new Error().stack;\n targetObject.stack = stack.replace(/.*\\n.*/, \"$1\");\n}, $, createSafeIterator = (factory, next) => {\n\n class SafeIterator {\n constructor(iterable) {\n this._iterator = factory(iterable);\n }\n next() {\n return next(this._iterator);\n }\n [Symbol.iterator]() {\n return this;\n }\n }\n return Object.setPrototypeOf(SafeIterator.prototype, null), Object.freeze(SafeIterator.prototype), Object.freeze(SafeIterator), SafeIterator;\n}, FunctionPrototypeCall = @getByIdDirect(Function.prototype, \"call\"), copyProps = (src, dest) => {\n ArrayPrototypeForEach(Reflect.ownKeys(src), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(dest, key))\n Reflect.defineProperty(dest, key, Reflect.getOwnPropertyDescriptor(src, key));\n });\n}, makeSafe = (unsafe, safe) => {\n if (Symbol.iterator in unsafe.prototype) {\n const dummy = new unsafe;\n let next;\n ArrayPrototypeForEach(Reflect.ownKeys(unsafe.prototype), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(safe.prototype, key)) {\n const desc = Reflect.getOwnPropertyDescriptor(unsafe.prototype, key);\n if (typeof desc.value === \"function\" && desc.value.length === 0 && (Symbol.iterator in (desc.value.@call(dummy) || {}))) {\n const createIterator = uncurryThis(desc.value);\n next \?\?= uncurryThis(createIterator(dummy).next);\n const SafeIterator = createSafeIterator(createIterator, next);\n desc.value = function() {\n return new SafeIterator(this);\n };\n }\n Reflect.defineProperty(safe.prototype, key, desc);\n }\n });\n } else\n copyProps(unsafe.prototype, safe.prototype);\n return copyProps(unsafe, safe), Object.setPrototypeOf(safe.prototype, null), Object.freeze(safe.prototype), Object.freeze(safe), safe;\n}, StringIterator = uncurryThis(@String.prototype[Symbol.iterator]), StringIteratorPrototype = Reflect.getPrototypeOf(StringIterator(\"\")), ArrayPrototypeForEach = uncurryThis(@Array.prototype.forEach), arrayProtoPush = @Array.prototype.push;\n$ = {\n makeSafe,\n Array: @Array,\n ArrayFrom: @Array.from,\n ArrayIsArray: @Array.isArray,\n ArrayPrototypeFlat: uncurryThis(@Array.prototype.flat),\n ArrayPrototypeFilter: uncurryThis(@Array.prototype.filter),\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes: uncurryThis(@Array.prototype.includes),\n ArrayPrototypeIndexOf: uncurryThis(@Array.prototype.indexOf),\n ArrayPrototypeJoin: uncurryThis(@Array.prototype.join),\n ArrayPrototypeMap: uncurryThis(@Array.prototype.map),\n ArrayPrototypePop: uncurryThis(@Array.prototype.pop),\n ArrayPrototypePush: uncurryThis(arrayProtoPush),\n ArrayPrototypePushApply: (a, b) => arrayProtoPush.@apply(a, b),\n ArrayPrototypeSlice: uncurryThis(@Array.prototype.slice),\n ArrayPrototypeSort: uncurryThis(@Array.prototype.sort),\n ArrayPrototypeSplice: uncurryThis(@Array.prototype.splice),\n ArrayPrototypeUnshift: uncurryThis(@Array.prototype.unshift),\n BigIntPrototypeValueOf: uncurryThis(BigInt.prototype.valueOf),\n BooleanPrototypeValueOf: uncurryThis(Boolean.prototype.valueOf),\n DatePrototypeGetTime: uncurryThis(Date.prototype.getTime),\n DatePrototypeToISOString: uncurryThis(Date.prototype.toISOString),\n DatePrototypeToString: uncurryThis(Date.prototype.toString),\n ErrorCaptureStackTrace,\n ErrorPrototypeToString: uncurryThis(Error.prototype.toString),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n JSONStringify: JSON.stringify,\n MapPrototypeGetSize: getGetter(Map, \"size\"),\n MapPrototypeEntries: uncurryThis(Map.prototype.entries),\n MapPrototypeValues: uncurryThis(Map.prototype.values),\n MapPrototypeKeys: uncurryThis(Map.prototype.keys),\n MathFloor: Math.floor,\n MathMax: Math.max,\n MathMin: Math.min,\n MathRound: Math.round,\n MathSqrt: Math.sqrt,\n MathTrunc: Math.trunc,\n Number,\n NumberIsFinite: Number.isFinite,\n NumberIsNaN: Number.isNaN,\n NumberParseFloat: Number.parseFloat,\n NumberParseInt: Number.parseInt,\n NumberPrototypeToString: uncurryThis(Number.prototype.toString),\n NumberPrototypeValueOf: uncurryThis(Number.prototype.valueOf),\n Object,\n ObjectAssign: Object.assign,\n ObjectCreate: Object.create,\n ObjectDefineProperty: Object.defineProperty,\n ObjectEntries: Object.entries,\n ObjectGetOwnPropertyDescriptor: Object.getOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors: Object.getOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames: Object.getOwnPropertyNames,\n ObjectGetOwnPropertySymbols: Object.getOwnPropertySymbols,\n ObjectGetPrototypeOf: Object.getPrototypeOf,\n ObjectIs: Object.is,\n ObjectKeys: Object.keys,\n ObjectPrototypeHasOwnProperty: uncurryThis(Object.prototype.hasOwnProperty),\n ObjectPrototypePropertyIsEnumerable: uncurryThis(Object.prototype.propertyIsEnumerable),\n ObjectPrototypeToString: uncurryThis(Object.prototype.toString),\n ObjectSeal: Object.seal,\n ObjectSetPrototypeOf: Object.setPrototypeOf,\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n ReflectOwnKeys: Reflect.ownKeys,\n RegExp: @RegExp,\n RegExpPrototypeExec: uncurryThis(@RegExp.prototype.exec),\n RegExpPrototypeSymbolReplace: uncurryThis(@RegExp.prototype[Symbol.replace]),\n RegExpPrototypeSymbolSplit: uncurryThis(@RegExp.prototype[Symbol.split]),\n RegExpPrototypeTest: uncurryThis(@RegExp.prototype.test),\n RegExpPrototypeToString: uncurryThis(@RegExp.prototype.toString),\n SafeStringIterator: createSafeIterator(StringIterator, uncurryThis(StringIteratorPrototype.next)),\n SafeMap: makeSafe(Map, class SafeMap extends Map {\n constructor(i) {\n super(i);\n }\n }),\n SafeSet: makeSafe(Set, class SafeSet extends Set {\n constructor(i) {\n super(i);\n }\n }),\n SetPrototypeGetSize: getGetter(Set, \"size\"),\n SetPrototypeEntries: uncurryThis(Set.prototype.entries),\n SetPrototypeValues: uncurryThis(Set.prototype.values),\n String: @String,\n StringPrototypeCharCodeAt: uncurryThis(@String.prototype.charCodeAt),\n StringPrototypeCodePointAt: uncurryThis(@String.prototype.codePointAt),\n StringPrototypeEndsWith: uncurryThis(@String.prototype.endsWith),\n StringPrototypeIncludes: uncurryThis(@String.prototype.includes),\n StringPrototypeIndexOf: uncurryThis(@String.prototype.indexOf),\n StringPrototypeLastIndexOf: uncurryThis(@String.prototype.lastIndexOf),\n StringPrototypeMatch: uncurryThis(@String.prototype.match),\n StringPrototypeNormalize: uncurryThis(@String.prototype.normalize),\n StringPrototypePadEnd: uncurryThis(@String.prototype.padEnd),\n StringPrototypePadStart: uncurryThis(@String.prototype.padStart),\n StringPrototypeRepeat: uncurryThis(@String.prototype.repeat),\n StringPrototypeReplace: uncurryThis(@String.prototype.replace),\n StringPrototypeReplaceAll: uncurryThis(@String.prototype.replaceAll),\n StringPrototypeSlice: uncurryThis(@String.prototype.slice),\n StringPrototypeSplit: uncurryThis(@String.prototype.split),\n StringPrototypeStartsWith: uncurryThis(@String.prototype.startsWith),\n StringPrototypeToLowerCase: uncurryThis(@String.prototype.toLowerCase),\n StringPrototypeTrim: uncurryThis(@String.prototype.trim),\n StringPrototypeValueOf: uncurryThis(@String.prototype.valueOf),\n SymbolPrototypeToString: uncurryThis(Symbol.prototype.toString),\n SymbolPrototypeValueOf: uncurryThis(Symbol.prototype.valueOf),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n FunctionPrototypeBind: uncurryThis(Function.prototype.bind),\n SymbolIterator: Symbol.iterator,\n SymbolFor: Symbol.for,\n SymbolToStringTag: Symbol.toStringTag,\n TypedArrayPrototypeGetLength: getGetter(@Uint8Array, \"length\"),\n TypedArrayPrototypeGetSymbolToStringTag: getGetter(@Uint8Array, Symbol.toStringTag),\n Uint8ClampedArray,\n Uint8Array: @Uint8Array,\n Uint16Array,\n Uint32Array,\n Int8Array,\n Int16Array,\n Int32Array,\n Float32Array,\n Float64Array,\n BigUint64Array,\n BigInt64Array,\n uncurryThis\n};\nreturn $})\n"); +static constexpr ASCIILiteral InternalPrimordialsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/primordials.ts\nvar getGetter = function(cls, getter) {\n return FunctionPrototypeCall.bind(cls.prototype.__lookupGetter__(getter));\n}, uncurryThis = function(func) {\n return FunctionPrototypeCall.bind(func);\n}, ErrorCaptureStackTrace = function(targetObject) {\n const stack = new Error().stack;\n targetObject.stack = stack.replace(/.*\\n.*/, \"$1\");\n}, $, createSafeIterator = (factory, next) => {\n\n class SafeIterator {\n constructor(iterable) {\n this._iterator = factory(iterable);\n }\n next() {\n return next(this._iterator);\n }\n [Symbol.iterator]() {\n return this;\n }\n }\n return Object.setPrototypeOf(SafeIterator.prototype, null), Object.freeze(SafeIterator.prototype), Object.freeze(SafeIterator), SafeIterator;\n}, FunctionPrototypeCall = @getByIdDirect(Function.prototype, \"call\"), copyProps = (src, dest) => {\n ArrayPrototypeForEach(Reflect.ownKeys(src), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(dest, key))\n Reflect.defineProperty(dest, key, Reflect.getOwnPropertyDescriptor(src, key));\n });\n}, makeSafe = (unsafe, safe) => {\n if (Symbol.iterator in unsafe.prototype) {\n const dummy = new unsafe;\n let next;\n ArrayPrototypeForEach(Reflect.ownKeys(unsafe.prototype), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(safe.prototype, key)) {\n const desc = Reflect.getOwnPropertyDescriptor(unsafe.prototype, key);\n if (typeof desc.value === \"function\" && desc.value.length === 0 && (Symbol.iterator in (desc.value.@call(dummy) || {}))) {\n const createIterator = uncurryThis(desc.value);\n next \?\?= uncurryThis(createIterator(dummy).next);\n const SafeIterator = createSafeIterator(createIterator, next);\n desc.value = function() {\n return new SafeIterator(this);\n };\n }\n Reflect.defineProperty(safe.prototype, key, desc);\n }\n });\n } else\n copyProps(unsafe.prototype, safe.prototype);\n return copyProps(unsafe, safe), Object.setPrototypeOf(safe.prototype, null), Object.freeze(safe.prototype), Object.freeze(safe), safe;\n}, StringIterator = uncurryThis(@String.prototype[Symbol.iterator]), StringIteratorPrototype = Reflect.getPrototypeOf(StringIterator(\"\")), ArrayPrototypeForEach = uncurryThis(@Array.prototype.forEach), arrayProtoPush = @Array.prototype.push;\n$ = {\n makeSafe,\n Array: @Array,\n ArrayFrom: @Array.from,\n ArrayIsArray: @Array.isArray,\n ArrayPrototypeFlat: uncurryThis(@Array.prototype.flat),\n ArrayPrototypeFilter: uncurryThis(@Array.prototype.filter),\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes: uncurryThis(@Array.prototype.includes),\n ArrayPrototypeIndexOf: uncurryThis(@Array.prototype.indexOf),\n ArrayPrototypeJoin: uncurryThis(@Array.prototype.join),\n ArrayPrototypeMap: uncurryThis(@Array.prototype.map),\n ArrayPrototypePop: uncurryThis(@Array.prototype.pop),\n ArrayPrototypePush: uncurryThis(arrayProtoPush),\n ArrayPrototypePushApply: (a, b) => arrayProtoPush.@apply(a, b),\n ArrayPrototypeSlice: uncurryThis(@Array.prototype.slice),\n ArrayPrototypeSort: uncurryThis(@Array.prototype.sort),\n ArrayPrototypeSplice: uncurryThis(@Array.prototype.splice),\n ArrayPrototypeUnshift: uncurryThis(@Array.prototype.unshift),\n BigIntPrototypeValueOf: uncurryThis(BigInt.prototype.valueOf),\n BooleanPrototypeValueOf: uncurryThis(Boolean.prototype.valueOf),\n DatePrototypeGetTime: uncurryThis(Date.prototype.getTime),\n DatePrototypeToISOString: uncurryThis(Date.prototype.toISOString),\n DatePrototypeToString: uncurryThis(Date.prototype.toString),\n ErrorCaptureStackTrace,\n ErrorPrototypeToString: uncurryThis(Error.prototype.toString),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n JSONStringify: JSON.stringify,\n MapPrototypeGetSize: getGetter(Map, \"size\"),\n MapPrototypeEntries: uncurryThis(Map.prototype.entries),\n MapPrototypeValues: uncurryThis(Map.prototype.values),\n MapPrototypeKeys: uncurryThis(Map.prototype.keys),\n MathFloor: Math.floor,\n MathMax: Math.max,\n MathMin: Math.min,\n MathRound: Math.round,\n MathSqrt: Math.sqrt,\n MathTrunc: Math.trunc,\n Number,\n NumberIsFinite: Number.isFinite,\n NumberIsNaN: Number.isNaN,\n NumberParseFloat: Number.parseFloat,\n NumberParseInt: Number.parseInt,\n NumberPrototypeToString: uncurryThis(Number.prototype.toString),\n NumberPrototypeValueOf: uncurryThis(Number.prototype.valueOf),\n Object,\n ObjectAssign: Object.assign,\n ObjectCreate: Object.create,\n ObjectDefineProperty: Object.defineProperty,\n ObjectEntries: Object.entries,\n ObjectGetOwnPropertyDescriptor: Object.getOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors: Object.getOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames: Object.getOwnPropertyNames,\n ObjectGetOwnPropertySymbols: Object.getOwnPropertySymbols,\n ObjectGetPrototypeOf: Object.getPrototypeOf,\n ObjectIs: Object.is,\n ObjectKeys: Object.keys,\n ObjectPrototypeHasOwnProperty: uncurryThis(Object.prototype.hasOwnProperty),\n ObjectPrototypePropertyIsEnumerable: uncurryThis(Object.prototype.propertyIsEnumerable),\n ObjectPrototypeToString: uncurryThis(Object.prototype.toString),\n ObjectSeal: Object.seal,\n ObjectSetPrototypeOf: Object.setPrototypeOf,\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n ReflectOwnKeys: Reflect.ownKeys,\n RegExp: @RegExp,\n RegExpPrototypeExec: uncurryThis(@RegExp.prototype.exec),\n RegExpPrototypeSymbolReplace: uncurryThis(@RegExp.prototype[Symbol.replace]),\n RegExpPrototypeSymbolSplit: uncurryThis(@RegExp.prototype[Symbol.split]),\n RegExpPrototypeTest: uncurryThis(@RegExp.prototype.test),\n RegExpPrototypeToString: uncurryThis(@RegExp.prototype.toString),\n SafeStringIterator: createSafeIterator(StringIterator, uncurryThis(StringIteratorPrototype.next)),\n SafeMap: makeSafe(Map, class SafeMap extends Map {\n constructor(i) {\n super(i);\n }\n }),\n SafeSet: makeSafe(Set, class SafeSet extends Set {\n constructor(i) {\n super(i);\n }\n }),\n SetPrototypeGetSize: getGetter(Set, \"size\"),\n SetPrototypeEntries: uncurryThis(Set.prototype.entries),\n SetPrototypeValues: uncurryThis(Set.prototype.values),\n String: @String,\n StringPrototypeCharCodeAt: uncurryThis(@String.prototype.charCodeAt),\n StringPrototypeCodePointAt: uncurryThis(@String.prototype.codePointAt),\n StringPrototypeEndsWith: uncurryThis(@String.prototype.endsWith),\n StringPrototypeIncludes: uncurryThis(@String.prototype.includes),\n StringPrototypeIndexOf: uncurryThis(@String.prototype.indexOf),\n StringPrototypeLastIndexOf: uncurryThis(@String.prototype.lastIndexOf),\n StringPrototypeMatch: uncurryThis(@String.prototype.match),\n StringPrototypeNormalize: uncurryThis(@String.prototype.normalize),\n StringPrototypePadEnd: uncurryThis(@String.prototype.padEnd),\n StringPrototypePadStart: uncurryThis(@String.prototype.padStart),\n StringPrototypeRepeat: uncurryThis(@String.prototype.repeat),\n StringPrototypeReplace: uncurryThis(@String.prototype.replace),\n StringPrototypeReplaceAll: uncurryThis(@String.prototype.replaceAll),\n StringPrototypeSlice: uncurryThis(@String.prototype.slice),\n StringPrototypeSplit: uncurryThis(@String.prototype.split),\n StringPrototypeStartsWith: uncurryThis(@String.prototype.startsWith),\n StringPrototypeToLowerCase: uncurryThis(@String.prototype.toLowerCase),\n StringPrototypeTrim: uncurryThis(@String.prototype.trim),\n StringPrototypeValueOf: uncurryThis(@String.prototype.valueOf),\n SymbolPrototypeToString: uncurryThis(Symbol.prototype.toString),\n SymbolPrototypeValueOf: uncurryThis(Symbol.prototype.valueOf),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n FunctionPrototypeBind: uncurryThis(Function.prototype.bind),\n SymbolIterator: Symbol.iterator,\n SymbolFor: Symbol.for,\n SymbolToStringTag: Symbol.toStringTag,\n TypedArrayPrototypeGetLength: getGetter(@Uint8Array, \"length\"),\n TypedArrayPrototypeGetSymbolToStringTag: getGetter(@Uint8Array, Symbol.toStringTag),\n Uint8ClampedArray,\n Uint8Array: @Uint8Array,\n Uint16Array,\n Uint32Array,\n Int8Array,\n Int16Array,\n Int32Array,\n Float32Array,\n Float64Array,\n BigUint64Array,\n BigInt64Array,\n uncurryThis\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalSharedCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/shared.ts\nvar throwNotImplemented = function(feature, issue) {\n throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue);\n}, hideFromStack = function(...fns) {\n for (let fn of fns)\n Object.defineProperty(fn, \"name\", {\n value: \"::bunternal::\"\n });\n}, $;\n\nclass NotImplementedError extends Error {\n code;\n constructor(feature, issue) {\n super(feature + \" is not yet implemented in Bun.\" + (issue \? \" Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/\" + issue : \"\"));\n this.name = \"NotImplementedError\", this.code = \"ERR_NOT_IMPLEMENTED\", hideFromStack(NotImplementedError);\n }\n}\n$ = {\n NotImplementedError,\n throwNotImplemented,\n hideFromStack\n};\nreturn $})\n"); +static constexpr ASCIILiteral InternalSharedCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/shared.ts\nvar throwNotImplemented = function(feature, issue) {\n throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue);\n}, hideFromStack = function(...fns) {\n for (let fn of fns)\n Object.defineProperty(fn, \"name\", {\n value: \"::bunternal::\"\n });\n}, $;\n\nclass NotImplementedError extends Error {\n code;\n constructor(feature, issue) {\n super(feature + \" is not yet implemented in Bun.\" + (issue \? \" Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/\" + issue : \"\"));\n this.name = \"NotImplementedError\", this.code = \"ERR_NOT_IMPLEMENTED\", hideFromStack(NotImplementedError);\n }\n}\n$ = {\n NotImplementedError,\n throwNotImplemented,\n hideFromStack\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalUtilInspectCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/util/inspect.ts\nvar vmSafeInstanceof = function(val, ctor) {\n if (val instanceof ctor)\n return !0;\n while (val) {\n if (typeof val !== \"object\")\n return !1;\n if (ctor.name === internalGetConstructorName(val))\n return !0;\n val = ObjectGetPrototypeOf(val);\n }\n return !1;\n}, checkBox = function(ctor) {\n return (val) => {\n if (!vmSafeInstanceof(val, ctor))\n return !1;\n try {\n ctor.prototype.valueOf.@call(val);\n } catch {\n return !1;\n }\n return !0;\n };\n}, assert = function(p, message) {\n if (!p)\n throw new AssertionError(message);\n}, getUserOptions = function(ctx, isCrossContext) {\n const ret = {\n stylize: ctx.stylize,\n showHidden: ctx.showHidden,\n depth: ctx.depth,\n colors: ctx.colors,\n customInspect: ctx.customInspect,\n showProxy: ctx.showProxy,\n maxArrayLength: ctx.maxArrayLength,\n maxStringLength: ctx.maxStringLength,\n breakLength: ctx.breakLength,\n compact: ctx.compact,\n sorted: ctx.sorted,\n getters: ctx.getters,\n numericSeparator: ctx.numericSeparator,\n ...ctx.userOptions\n };\n if (isCrossContext) {\n ObjectSetPrototypeOf(ret, null);\n for (let key of ObjectKeys(ret))\n if ((typeof ret[key] === \"object\" || typeof ret[key] === \"function\") && ret[key] !== null)\n delete ret[key];\n ret.stylize = ObjectSetPrototypeOf((value, flavour) => {\n let stylized;\n try {\n stylized = `${ctx.stylize(value, flavour)}`;\n } catch {\n }\n if (typeof stylized !== \"string\")\n return value;\n return stylized;\n }, null);\n }\n return ret;\n}, inspect = function(value, opts) {\n const ctx = {\n budget: {},\n indentationLvl: 0,\n seen: [],\n currentDepth: 0,\n stylize: stylizeNoColor,\n showHidden: inspectDefaultOptions.showHidden,\n depth: inspectDefaultOptions.depth,\n colors: inspectDefaultOptions.colors,\n customInspect: inspectDefaultOptions.customInspect,\n showProxy: inspectDefaultOptions.showProxy,\n maxArrayLength: inspectDefaultOptions.maxArrayLength,\n maxStringLength: inspectDefaultOptions.maxStringLength,\n breakLength: inspectDefaultOptions.breakLength,\n compact: inspectDefaultOptions.compact,\n sorted: inspectDefaultOptions.sorted,\n getters: inspectDefaultOptions.getters,\n numericSeparator: inspectDefaultOptions.numericSeparator\n };\n if (arguments.length > 1) {\n if (arguments.length > 2) {\n if (arguments[2] !== @undefined)\n ctx.depth = arguments[2];\n if (arguments.length > 3 && arguments[3] !== @undefined)\n ctx.colors = arguments[3];\n }\n if (typeof opts === \"boolean\")\n ctx.showHidden = opts;\n else if (opts) {\n const optKeys = ObjectKeys(opts);\n for (let i = 0;i < optKeys.length; ++i) {\n const key = optKeys[i];\n if (ObjectPrototypeHasOwnProperty(inspectDefaultOptions, key) || key === \"stylize\")\n ctx[key] = opts[key];\n else if (ctx.userOptions === @undefined)\n ctx.userOptions = opts;\n }\n }\n }\n if (ctx.colors)\n ctx.stylize = stylizeWithColor;\n if (ctx.maxArrayLength === null)\n ctx.maxArrayLength = @Infinity;\n if (ctx.maxStringLength === null)\n ctx.maxStringLength = @Infinity;\n return formatValue(ctx, value, 0);\n}, defineColorAlias = function(target, alias) {\n ObjectDefineProperty(inspect.colors, alias, {\n __proto__: null,\n get() {\n return this[target];\n },\n set(value) {\n this[target] = value;\n },\n configurable: !0,\n enumerable: !1\n });\n}, addQuotes = function(str, quotes) {\n if (quotes === -1)\n return `\"${str}\"`;\n if (quotes === -2)\n return `\\`${str}\\``;\n return `'${str}'`;\n}, escapeFn = function(str) {\n const charCode = StringPrototypeCharCodeAt(str);\n return meta.length > charCode \? meta[charCode] : `\\\\u${NumberPrototypeToString(charCode, 16)}`;\n}, strEscape = function(str) {\n let escapeTest = strEscapeSequencesRegExp, escapeReplace = strEscapeSequencesReplacer, singleQuote = 39;\n if (StringPrototypeIncludes(str, \"'\")) {\n if (!StringPrototypeIncludes(str, '\"'))\n singleQuote = -1;\n else if (!StringPrototypeIncludes(str, \"`\") && !StringPrototypeIncludes(str, \"${\"))\n singleQuote = -2;\n if (singleQuote !== 39)\n escapeTest = strEscapeSequencesRegExpSingle, escapeReplace = strEscapeSequencesReplacerSingle;\n }\n if (str.length < 5000 && RegExpPrototypeExec(escapeTest, str) === null)\n return addQuotes(str, singleQuote);\n if (str.length > 100)\n return str = RegExpPrototypeSymbolReplace(escapeReplace, str, escapeFn), addQuotes(str, singleQuote);\n let result = \"\", last = 0;\n for (let i = 0;i < str.length; i++) {\n const point = StringPrototypeCharCodeAt(str, i);\n if (point === singleQuote || point === 92 || point < 32 || point > 126 && point < 160) {\n if (last === i)\n result += meta[point];\n else\n result += `${StringPrototypeSlice(str, last, i)}${meta[point]}`;\n last = i + 1;\n } else if (point >= 55296 && point <= 57343) {\n if (point <= 56319 && i + 1 < str.length) {\n const point2 = StringPrototypeCharCodeAt(str, i + 1);\n if (point2 >= 56320 && point2 <= 57343) {\n i++;\n continue;\n }\n }\n result += `${StringPrototypeSlice(str, last, i)}\\\\u${NumberPrototypeToString(point, 16)}`, last = i + 1;\n }\n }\n if (last !== str.length)\n result += StringPrototypeSlice(str, last);\n return addQuotes(result, singleQuote);\n}, stylizeWithColor = function(str, styleType) {\n const style = inspect.styles[styleType];\n if (style !== @undefined) {\n const color = inspect.colors[style];\n if (color !== @undefined)\n return `\\x1B[${color[0]}m${str}\\x1B[${color[1]}m`;\n }\n return str;\n}, stylizeNoColor = function(str) {\n return str;\n}, getEmptyFormatArray = function() {\n return [];\n}, isInstanceof = function(object, proto) {\n try {\n return object instanceof proto;\n } catch {\n return !1;\n }\n}, getConstructorName = function(obj, ctx, recurseTimes, protoProps) {\n let firstProto;\n const tmp = obj;\n while (obj || isUndetectableObject(obj)) {\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && descriptor.value.name !== \"\" && isInstanceof(tmp, descriptor.value)) {\n if (protoProps !== @undefined && (firstProto !== obj || !builtInObjects.has(descriptor.value.name)))\n addPrototypeProperties(ctx, tmp, firstProto || tmp, recurseTimes, protoProps);\n return String(descriptor.value.name);\n }\n if (obj = ObjectGetPrototypeOf(obj), firstProto === @undefined)\n firstProto = obj;\n }\n if (firstProto === null)\n return null;\n const res = internalGetConstructorName(tmp);\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return `${res} <Complex prototype>`;\n const protoConstr = getConstructorName(firstProto, ctx, recurseTimes + 1, protoProps);\n if (protoConstr === null)\n return `${res} <${inspect(firstProto, {\n ...ctx,\n customInspect: !1,\n depth: -1\n })}>`;\n return `${res} <${protoConstr}>`;\n}, addPrototypeProperties = function(ctx, main, obj, recurseTimes, output) {\n let depth = 0, keys, keySet;\n do {\n if (depth !== 0 || main === obj) {\n if (obj = ObjectGetPrototypeOf(obj), obj === null)\n return;\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name))\n return;\n }\n if (depth === 0)\n keySet = new SafeSet;\n else\n ArrayPrototypeForEach(keys, (key) => keySet.add(key));\n keys = ReflectOwnKeys(obj), ArrayPrototypePush(ctx.seen, main);\n for (let key of keys) {\n if (key === \"constructor\" || ObjectPrototypeHasOwnProperty(main, key) || depth !== 0 && keySet.has(key))\n continue;\n const desc = ObjectGetOwnPropertyDescriptor(obj, key);\n if (typeof desc.value === \"function\")\n continue;\n const value = formatProperty(ctx, obj, recurseTimes, key, kObjectType, desc, main);\n if (ctx.colors)\n ArrayPrototypePush(output, `\\x1B[2m${value}\\x1B[22m`);\n else\n ArrayPrototypePush(output, value);\n }\n ArrayPrototypePop(ctx.seen);\n } while (++depth !== 3);\n}, getPrefix = function(constructor, tag, fallback, size = \"\") {\n if (constructor === null) {\n if (tag !== \"\" && fallback !== tag)\n return `[${fallback}${size}: null prototype] [${tag}] `;\n return `[${fallback}${size}: null prototype] `;\n }\n if (tag !== \"\" && constructor !== tag)\n return `${constructor}${size} [${tag}] `;\n return `${constructor}${size} `;\n}, getKeys = function(value, showHidden) {\n let keys;\n const symbols = ObjectGetOwnPropertySymbols(value);\n if (showHidden) {\n if (keys = ObjectGetOwnPropertyNames(value), symbols.length !== 0)\n ArrayPrototypePushApply(keys, symbols);\n } else {\n try {\n keys = ObjectKeys(value);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\" && isModuleNamespaceObject(value)), keys = ObjectGetOwnPropertyNames(value);\n }\n if (symbols.length !== 0)\n ArrayPrototypePushApply(keys, ArrayPrototypeFilter(symbols, (key) => ObjectPrototypePropertyIsEnumerable(value, key)));\n }\n return keys;\n}, getCtxStyle = function(value, constructor, tag) {\n let fallback = \"\";\n if (constructor === null) {\n if (fallback = internalGetConstructorName(value), fallback === tag)\n fallback = \"Object\";\n }\n return getPrefix(constructor, tag, fallback);\n}, formatProxy = function(ctx, proxy, recurseTimes) {\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(\"Proxy [Array]\", \"special\");\n recurseTimes += 1, ctx.indentationLvl += 2;\n const res = [formatValue(ctx, proxy[0], recurseTimes), formatValue(ctx, proxy[1], recurseTimes)];\n return ctx.indentationLvl -= 2, reduceToSingleString(ctx, res, \"\", [\"Proxy [\", \"]\"], kArrayExtrasType, recurseTimes);\n}, formatValue = function(ctx, value, recurseTimes, typedArray) {\n if (typeof value !== \"object\" && typeof value !== \"function\" && !isUndetectableObject(value))\n return formatPrimitive(ctx.stylize, value, ctx);\n if (value === null)\n return ctx.stylize(\"null\", \"null\");\n const context = value, proxy = getProxyDetails(value, !!ctx.showProxy);\n if (proxy !== @undefined) {\n if (proxy === null || proxy[0] === null)\n return ctx.stylize(\"<Revoked Proxy>\", \"special\");\n if (ctx.showProxy)\n return formatProxy(ctx, proxy, recurseTimes);\n value = proxy;\n }\n if (ctx.customInspect) {\n const maybeCustom = value[customInspectSymbol];\n if (typeof maybeCustom === \"function\" && maybeCustom !== inspect && !(value.constructor && value.constructor.prototype === value)) {\n const depth = ctx.depth === null \? null : ctx.depth - recurseTimes, isCrossContext = proxy !== @undefined || !(context instanceof Object), ret = maybeCustom.@call(context, depth, getUserOptions(ctx, isCrossContext), inspect);\n if (ret !== context) {\n if (typeof ret !== \"string\")\n return formatValue(ctx, ret, recurseTimes);\n return StringPrototypeReplaceAll(ret, \"\\n\", `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`);\n }\n }\n }\n if (ctx.seen.includes(value)) {\n let index = 1;\n if (ctx.circular === @undefined)\n ctx.circular = new SafeMap, ctx.circular.set(value, index);\n else if (index = ctx.circular.get(value), index === @undefined)\n index = ctx.circular.size + 1, ctx.circular.set(value, index);\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n return formatRaw(ctx, value, recurseTimes, typedArray);\n}, formatRaw = function(ctx, value, recurseTimes, typedArray) {\n let keys, protoProps;\n if (ctx.showHidden && (recurseTimes <= ctx.depth || ctx.depth === null))\n protoProps = [];\n const constructor = getConstructorName(value, ctx, recurseTimes, protoProps);\n if (protoProps !== @undefined && protoProps.length === 0)\n protoProps = @undefined;\n let tag = value[SymbolToStringTag];\n if (typeof tag !== \"string\" || tag !== \"\" && (ctx.showHidden \? ObjectPrototypeHasOwnProperty : ObjectPrototypePropertyIsEnumerable)(value, SymbolToStringTag))\n tag = \"\";\n let base = \"\", formatter = getEmptyFormatArray, braces, noIterator = !0, i = 0;\n const filter = ctx.showHidden \? 0 : 2;\n let extrasType = kObjectType;\n if ((SymbolIterator in value) || constructor === null)\n if (noIterator = !1, ArrayIsArray(value)) {\n const prefix = constructor !== \"Array\" || tag !== \"\" \? getPrefix(constructor, tag, \"Array\", `(${value.length})`) : \"\";\n if (keys = getOwnNonIndexProperties(value, filter), braces = [`${prefix}[`, \"]\"], value.length === 0 && keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}]`;\n extrasType = kArrayExtrasType, formatter = formatArray;\n } else if (isSet(value)) {\n const size = SetPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Set\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatSet, null, value) : FunctionPrototypeBind(formatSet, null, SetPrototypeValues(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isMap(value)) {\n const size = MapPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Map\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatMap, null, value) : FunctionPrototypeBind(formatMap, null, MapPrototypeEntries(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isTypedArray(value)) {\n keys = getOwnNonIndexProperties(value, filter);\n let bound = value, fallback = \"\";\n if (constructor === null)\n fallback = TypedArrayPrototypeGetSymbolToStringTag(value), bound = new primordials[fallback](value);\n const size = TypedArrayPrototypeGetLength(value);\n if (braces = [`${getPrefix(constructor, tag, fallback, `(${size})`)}[`, \"]\"], value.length === 0 && keys.length === 0 && !ctx.showHidden)\n return `${braces[0]}]`;\n formatter = FunctionPrototypeBind(formatTypedArray, null, bound, size), extrasType = kArrayExtrasType;\n } else if (isMapIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Map\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else if (isSetIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Set\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else\n noIterator = !0;\n if (noIterator)\n if (keys = getKeys(value, ctx.showHidden), braces = [\"{\", \"}\"], constructor === \"Object\") {\n if (isArgumentsObject(value))\n braces[0] = \"[Arguments] {\";\n else if (tag !== \"\")\n braces[0] = `${getPrefix(constructor, tag, \"Object\")}{`;\n if (keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}}`;\n } else if (typeof value === \"function\") {\n if (base = getFunctionBase(value, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"special\");\n } else if (isRegExp(value)) {\n base = RegExpPrototypeToString(constructor !== null \? value : new RegExp(value));\n const prefix = getPrefix(constructor, tag, \"RegExp\");\n if (prefix !== \"RegExp \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined || recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(base, \"regexp\");\n } else if (isDate(value)) {\n base = NumberIsNaN(DatePrototypeGetTime(value)) \? DatePrototypeToString(value) : DatePrototypeToISOString(value);\n const prefix = getPrefix(constructor, tag, \"Date\");\n if (prefix !== \"Date \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"date\");\n } else if (value instanceof Error) {\n if (base = formatError(value, constructor, tag, ctx, keys), keys.length === 0 && protoProps === @undefined)\n return base;\n } else if (isAnyArrayBuffer(value)) {\n const arrayType = isArrayBuffer(value) \? \"ArrayBuffer\" : \"SharedArrayBuffer\", prefix = getPrefix(constructor, tag, arrayType);\n if (typedArray === @undefined)\n formatter = formatArrayBuffer;\n else if (keys.length === 0 && protoProps === @undefined)\n return prefix + `{ byteLength: ${formatNumber(ctx.stylize, value.byteLength, !1)} }`;\n braces[0] = `${prefix}{`, ArrayPrototypeUnshift(keys, \"byteLength\");\n } else if (isDataView(value))\n braces[0] = `${getPrefix(constructor, tag, \"DataView\")}{`, ArrayPrototypeUnshift(keys, \"byteLength\", \"byteOffset\", \"buffer\");\n else if (isPromise(value))\n braces[0] = `${getPrefix(constructor, tag, \"Promise\")}{`, formatter = formatPromise;\n else if (isWeakSet(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakSet\")}{`, formatter = ctx.showHidden \? formatWeakSet : formatWeakCollection;\n else if (isWeakMap(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakMap\")}{`, formatter = ctx.showHidden \? formatWeakMap : formatWeakCollection;\n else if (isModuleNamespaceObject(value))\n braces[0] = `${getPrefix(constructor, tag, \"Module\")}{`, formatter = formatNamespaceObject.bind(null, keys);\n else if (isBoxedPrimitive(value)) {\n if (base = getBoxedBase(value, ctx, keys, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return base;\n } else {\n if (keys.length === 0 && protoProps === @undefined) {\n if (isExternal(value))\n return ctx.stylize(\"[External: 0]\", \"special\");\n return `${getCtxStyle(value, constructor, tag)}{}`;\n }\n braces[0] = `${getCtxStyle(value, constructor, tag)}{`;\n }\n if (recurseTimes > ctx.depth && ctx.depth !== null) {\n let constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n if (constructor !== null)\n constructorName = `[${constructorName}]`;\n return ctx.stylize(constructorName, \"special\");\n }\n recurseTimes += 1, ctx.seen.push(value), ctx.currentDepth = recurseTimes;\n let output;\n const indentationLvl = ctx.indentationLvl;\n try {\n if (ctx.currentDepth > 1000)\n @throwRangeError(ERROR_STACK_OVERFLOW_MSG);\n output = formatter(ctx, value, recurseTimes);\n for (i = 0;i < keys.length; i++)\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, keys[i], extrasType));\n if (protoProps !== @undefined)\n ArrayPrototypePushApply(output, protoProps);\n } catch (err) {\n if (err instanceof RangeError && err.message === ERROR_STACK_OVERFLOW_MSG) {\n const constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n return ctx.seen.pop(), ctx.indentationLvl = indentationLvl, ctx.stylize(`[${constructorName}: Inspection interrupted prematurely. Maximum call stack size exceeded.]`, \"special\");\n }\n throw new AssertionError(\"handleMaxCallStackSize assertion failed: \" + String(err), !0);\n }\n if (ctx.circular !== @undefined) {\n const index = ctx.circular.get(value);\n if (index !== @undefined)\n if (ctx.seenRefs \?\?= new Set, !ctx.seenRefs.has(index)) {\n ctx.seenRefs.add(index);\n const reference = ctx.stylize(`<ref *${index}>`, \"special\");\n if (ctx.compact !== !0)\n base = base === \"\" \? reference : `${reference} ${base}`;\n else\n braces[0] = `${reference} ${braces[0]}`;\n } else {\n //! this is a non-standard behavior compared to Node's implementation\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n }\n if (ctx.seen.pop(), ctx.sorted) {\n const comparator = ctx.sorted === !0 \? @undefined : ctx.sorted;\n if (extrasType === kObjectType)\n ArrayPrototypeSort(output, comparator);\n else if (keys.length > 1) {\n const sorted = ArrayPrototypeSort(ArrayPrototypeSlice(output, output.length - keys.length), comparator);\n ArrayPrototypeUnshift(sorted, output, output.length - keys.length, keys.length), ReflectApply(ArrayPrototypeSplice, null, sorted);\n }\n }\n const res = reduceToSingleString(ctx, output, base, braces, extrasType, recurseTimes, value), newLength = (ctx.budget[ctx.indentationLvl] || 0) + res.length;\n if (ctx.budget[ctx.indentationLvl] = newLength, newLength > 134217728)\n ctx.depth = -1;\n return res;\n}, getIteratorBraces = function(type, tag) {\n if (tag !== `${type} Iterator`) {\n if (tag !== \"\")\n tag += \"] [\";\n tag += `${type} Iterator`;\n }\n return [`[${tag}] {`, \"}\"];\n}, getBoxedBase = function(value, ctx, keys, constructor, tag) {\n let fn, type;\n if (isNumberObject(value))\n fn = NumberPrototypeValueOf, type = \"Number\";\n else if (isStringObject(value))\n fn = StringPrototypeValueOf, type = \"String\", keys.splice(0, value.length);\n else if (isBooleanObject(value))\n fn = BooleanPrototypeValueOf, type = \"Boolean\";\n else if (isBigIntObject(value))\n fn = BigIntPrototypeValueOf, type = \"BigInt\";\n else\n fn = SymbolPrototypeValueOf, type = \"Symbol\";\n let base = `[${type}`;\n if (type !== constructor)\n if (constructor === null)\n base += \" (null prototype)\";\n else\n base += ` (${constructor})`;\n if (base += `: ${formatPrimitive(stylizeNoColor, fn(value), ctx)}]`, tag !== \"\" && tag !== constructor)\n base += ` [${tag}]`;\n if (keys.length !== 0 || ctx.stylize === stylizeNoColor)\n return base;\n return ctx.stylize(base, StringPrototypeToLowerCase(type));\n}, getClassBase = function(value, constructor, tag) {\n let base = `class ${ObjectPrototypeHasOwnProperty(value, \"name\") && value.name || \"(anonymous)\"}`;\n if (constructor !== \"Function\" && constructor !== null)\n base += ` [${constructor}]`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n if (constructor !== null) {\n const superName = ObjectGetPrototypeOf(value).name;\n if (superName)\n base += ` extends ${superName}`;\n } else\n base += \" extends [null prototype]\";\n return `[${base}]`;\n}, getFunctionBase = function(value, constructor, tag) {\n const stringified = FunctionPrototypeToString(value);\n if (StringPrototypeStartsWith(stringified, \"class\") && StringPrototypeEndsWith(stringified, \"}\")) {\n const slice = StringPrototypeSlice(stringified, 5, -1), bracketIndex = StringPrototypeIndexOf(slice, \"{\");\n if (bracketIndex !== -1 && (!StringPrototypeIncludes(StringPrototypeSlice(slice, 0, bracketIndex), \"(\") || RegExpPrototypeExec(classRegExp, RegExpPrototypeSymbolReplace(stripCommentsRegExp, slice)) !== null))\n return getClassBase(value, constructor, tag);\n }\n let type = \"Function\";\n if (isGeneratorFunction(value))\n type = `Generator${type}`;\n if (isAsyncFunction(value))\n type = `Async${type}`;\n let base = `[${type}`;\n if (constructor === null)\n base += \" (null prototype)\";\n if (value.name === \"\")\n base += \" (anonymous)\";\n else\n base += `: ${value.name}`;\n if (base += \"]\", constructor !== type && constructor !== null)\n base += ` ${constructor}`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n return base;\n}, identicalSequenceRange = function(a, b) {\n for (let i = 0;i < a.length - 3; i++) {\n const pos = b.indexOf(a[i]);\n if (pos !== -1) {\n const rest = b.length - pos;\n if (rest > 3) {\n let len = 1;\n const maxLen = MathMin(a.length - i, rest);\n while (maxLen > len && a[i + len] === b[pos + len])\n len++;\n if (len > 3)\n return { len, offset: i };\n }\n }\n }\n return { len: 0, offset: 0 };\n}, getStackString = function(error) {\n return error.stack \? String(error.stack) : ErrorPrototypeToString(error);\n}, getStackFrames = function(ctx, err, stack) {\n const frames = StringPrototypeSplit(stack, \"\\n\");\n let cause;\n try {\n ({ cause } = err);\n } catch {\n }\n if (cause != null && cause instanceof Error) {\n const causeStack = getStackString(cause), causeStackStart = StringPrototypeIndexOf(causeStack, \"\\n at\");\n if (causeStackStart !== -1) {\n const causeFrames = StringPrototypeSplit(StringPrototypeSlice(causeStack, causeStackStart + 1), \"\\n\"), { len, offset } = identicalSequenceRange(frames, causeFrames);\n if (len > 0) {\n const skipped = len - 2, msg = ` ... ${skipped} lines matching cause stack trace ...`;\n frames.splice(offset + 1, skipped, ctx.stylize(msg, \"undefined\"));\n }\n }\n }\n return frames;\n}, improveStack = function(stack, constructor, name, tag) {\n let len = name.length;\n if (constructor === null || StringPrototypeEndsWith(name, \"Error\") && StringPrototypeStartsWith(stack, name) && (stack.length === len || stack[len] === \":\" || stack[len] === \"\\n\")) {\n let fallback = \"Error\";\n if (constructor === null) {\n const start = RegExpPrototypeExec(/^([A-Z][a-z_ A-Z0-9[\\]()-]+)(\?::|\\n {4}at)/, stack) || RegExpPrototypeExec(/^([a-z_A-Z0-9-]*Error)$/, stack);\n fallback = start && start[1] || \"\", len = fallback.length, fallback = fallback || \"Error\";\n }\n const prefix = StringPrototypeSlice(getPrefix(constructor, tag, fallback), 0, -1);\n if (name !== prefix)\n if (StringPrototypeIncludes(prefix, name))\n if (len === 0)\n stack = `${prefix}: ${stack}`;\n else\n stack = `${prefix}${StringPrototypeSlice(stack, len)}`;\n else\n stack = `${prefix} [${name}]${StringPrototypeSlice(stack, len)}`;\n }\n return stack;\n}, removeDuplicateErrorKeys = function(ctx, keys, err, stack) {\n if (!ctx.showHidden && keys.length !== 0)\n for (let name of [\"name\", \"message\", \"stack\"]) {\n const index = ArrayPrototypeIndexOf(keys, name);\n if (index !== -1 && StringPrototypeIncludes(stack, err[name]))\n ArrayPrototypeSplice(keys, index, 1);\n }\n}, markNodeModules = function(ctx, line) {\n let tempLine = \"\", nodeModule, pos = 0;\n while ((nodeModule = nodeModulesRegExp.exec(line)) !== null)\n tempLine += StringPrototypeSlice(line, pos, nodeModule.index + 14), tempLine += ctx.stylize(nodeModule[1], \"module\"), pos = nodeModule.index + nodeModule[0].length;\n if (pos !== 0)\n line = tempLine + StringPrototypeSlice(line, pos);\n return line;\n}, markCwd = function(ctx, line, workingDirectory) {\n let cwdStartPos = StringPrototypeIndexOf(line, workingDirectory), tempLine = \"\", cwdLength = workingDirectory.length;\n if (cwdStartPos !== -1) {\n if (StringPrototypeSlice(line, cwdStartPos - 7, cwdStartPos) === \"file://\")\n cwdLength += 7, cwdStartPos -= 7;\n const start = line[cwdStartPos - 1] === \"(\" \? cwdStartPos - 1 : cwdStartPos, end = start !== cwdStartPos && StringPrototypeEndsWith(line, \")\") \? -1 : line.length, workingDirectoryEndPos = cwdStartPos + cwdLength + 1, cwdSlice = StringPrototypeSlice(line, start, workingDirectoryEndPos);\n if (tempLine += StringPrototypeSlice(line, 0, start), tempLine += ctx.stylize(cwdSlice, \"undefined\"), tempLine += StringPrototypeSlice(line, workingDirectoryEndPos, end), end === -1)\n tempLine += ctx.stylize(\")\", \"undefined\");\n } else\n tempLine += line;\n return tempLine;\n}, safeGetCWD = function() {\n let workingDirectory;\n try {\n workingDirectory = process.cwd();\n } catch {\n return;\n }\n return workingDirectory;\n}, formatError = function(err, constructor, tag, ctx, keys) {\n const name = err.name != null \? String(err.name) : \"Error\";\n let stack = getStackString(err);\n //! temp fix for Bun losing the error name from inherited errors + extraneous \": \" with no message\n if (stack = stack.replace(/^Error: /, `${name}${err.message \? \": \" : \"\"}`), removeDuplicateErrorKeys(ctx, keys, err, stack), (\"cause\" in err) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"cause\")))\n ArrayPrototypePush(keys, \"cause\");\n if (ArrayIsArray(err.errors) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"errors\")))\n ArrayPrototypePush(keys, \"errors\");\n stack = improveStack(stack, constructor, name, tag);\n let pos = err.message && StringPrototypeIndexOf(stack, err.message) || -1;\n if (pos !== -1)\n pos += err.message.length;\n const stackStart = StringPrototypeIndexOf(stack, \"\\n at\", pos);\n if (stackStart === -1)\n stack = `[${stack}]`;\n else {\n let newStack = StringPrototypeSlice(stack, 0, stackStart);\n const stackFramePart = StringPrototypeSlice(stack, stackStart + 1), lines = getStackFrames(ctx, err, stackFramePart);\n if (ctx.colors) {\n const workingDirectory = safeGetCWD();\n let esmWorkingDirectory;\n for (let line of lines) {\n const core = RegExpPrototypeExec(coreModuleRegExp, line);\n if (core !== null && (StringPrototypeStartsWith(core[1], \"internal/\") || ArrayPrototypeIncludes(@requireNativeModule(\"module\").builtinModules, core[1])))\n newStack += `\\n${ctx.stylize(line, \"undefined\")}`;\n else {\n if (newStack += \"\\n\", line = markNodeModules(ctx, line), workingDirectory !== @undefined) {\n let newLine = markCwd(ctx, line, workingDirectory);\n if (newLine === line)\n esmWorkingDirectory \?\?= pathToFileURL(workingDirectory), newLine = markCwd(ctx, line, esmWorkingDirectory);\n line = newLine;\n }\n newStack += line;\n }\n }\n } else\n newStack += `\\n${ArrayPrototypeJoin(lines, \"\\n\")}`;\n stack = newStack;\n }\n if (ctx.indentationLvl !== 0) {\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl);\n stack = StringPrototypeReplaceAll(stack, \"\\n\", `\\n${indentation}`);\n }\n return stack;\n}, groupArrayElements = function(ctx, output, value) {\n let totalLength = 0, maxLength = 0, i = 0, outputLength = output.length;\n if (ctx.maxArrayLength < output.length)\n outputLength--;\n const separatorSpace = 2, dataLen = new Array(outputLength);\n for (;i < outputLength; i++) {\n const len = getStringWidth(output[i], ctx.colors);\n if (dataLen[i] = len, totalLength += len + separatorSpace, maxLength < len)\n maxLength = len;\n }\n const actualMax = maxLength + separatorSpace;\n if (actualMax * 3 + ctx.indentationLvl < ctx.breakLength && (totalLength / actualMax > 5 || maxLength <= 6)) {\n const averageBias = MathSqrt(actualMax - totalLength / output.length), biasedMax = MathMax(actualMax - 3 - averageBias, 1), columns = MathMin(MathRound(MathSqrt(2.5 * biasedMax * outputLength) / biasedMax), MathFloor((ctx.breakLength - ctx.indentationLvl) / actualMax), ctx.compact * 4, 15);\n if (columns <= 1)\n return output;\n const tmp = [], maxLineLength = [];\n for (let i2 = 0;i2 < columns; i2++) {\n let lineMaxLength = 0;\n for (let j = i2;j < output.length; j += columns)\n if (dataLen[j] > lineMaxLength)\n lineMaxLength = dataLen[j];\n lineMaxLength += separatorSpace, maxLineLength[i2] = lineMaxLength;\n }\n let order = StringPrototypePadStart;\n if (value !== @undefined) {\n for (let i2 = 0;i2 < output.length; i2++)\n if (typeof value[i2] !== \"number\" && typeof value[i2] !== \"bigint\") {\n order = StringPrototypePadEnd;\n break;\n }\n }\n for (let i2 = 0;i2 < outputLength; i2 += columns) {\n const max = MathMin(i2 + columns, outputLength);\n let str = \"\", j = i2;\n for (;j < max - 1; j++) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j];\n str += order(`${output[j]}, `, padding, \" \");\n }\n if (order === StringPrototypePadStart) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j] - separatorSpace;\n str += StringPrototypePadStart(output[j], padding, \" \");\n } else\n str += output[j];\n ArrayPrototypePush(tmp, str);\n }\n if (ctx.maxArrayLength < output.length)\n ArrayPrototypePush(tmp, output[outputLength]);\n output = tmp;\n }\n return output;\n}, addNumericSeparator = function(integerString) {\n let result = \"\", i = integerString.length;\n const start = StringPrototypeStartsWith(integerString, \"-\") \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n result = `_${StringPrototypeSlice(integerString, i - 3, i)}${result}`;\n return i === integerString.length \? integerString : `${StringPrototypeSlice(integerString, 0, i)}${result}`;\n}, addNumericSeparatorEnd = function(integerString) {\n let result = \"\", i = 0;\n for (;i < integerString.length - 3; i += 3)\n result += `${StringPrototypeSlice(integerString, i, i + 3)}_`;\n return i === 0 \? integerString : `${result}${StringPrototypeSlice(integerString, i)}`;\n}, formatNumber = function(fn, number, numericSeparator) {\n if (!numericSeparator) {\n if (ObjectIs(number, -0))\n return fn(\"-0\", \"number\");\n return fn(`${number}`, \"number\");\n }\n const integer = MathTrunc(number), string = String(integer);\n if (integer === number) {\n if (!NumberIsFinite(number) || StringPrototypeIncludes(string, \"e\"))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}`, \"number\");\n }\n if (NumberIsNaN(number))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}.${addNumericSeparatorEnd(StringPrototypeSlice(String(number), string.length + 1))}`, \"number\");\n}, formatBigInt = function(fn, bigint, numericSeparator) {\n const string = String(bigint);\n if (!numericSeparator)\n return fn(`${string}n`, \"bigint\");\n return fn(`${addNumericSeparator(string)}n`, \"bigint\");\n}, formatPrimitive = function(fn, value, ctx) {\n if (typeof value === \"string\") {\n let trailer = \"\";\n if (value.length > ctx.maxStringLength) {\n const remaining = value.length - ctx.maxStringLength;\n value = StringPrototypeSlice(value, 0, ctx.maxStringLength), trailer = `... ${remaining} more character${remaining > 1 \? \"s\" : \"\"}`;\n }\n if (ctx.compact !== !0 && value.length > kMinLineLength && value.length > ctx.breakLength - ctx.indentationLvl - 4)\n return ArrayPrototypeJoin(ArrayPrototypeMap(extractedSplitNewLines(value), (line) => fn(strEscape(line), \"string\")), ` +\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl + 2)}`) + trailer;\n return fn(strEscape(value), \"string\") + trailer;\n }\n if (typeof value === \"number\")\n return formatNumber(fn, value, ctx.numericSeparator);\n if (typeof value === \"bigint\")\n return formatBigInt(fn, value, ctx.numericSeparator);\n if (typeof value === \"boolean\")\n return fn(`${value}`, \"boolean\");\n if (typeof value === \"undefined\")\n return fn(\"undefined\", \"undefined\");\n return fn(SymbolPrototypeToString(value), \"symbol\");\n}, formatNamespaceObject = function(keys, ctx, value, recurseTimes) {\n const output = new Array(keys.length);\n for (let i = 0;i < keys.length; i++)\n try {\n output[i] = formatProperty(ctx, value, recurseTimes, keys[i], kObjectType);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\");\n const tmp = { [keys[i]]: \"\" };\n output[i] = formatProperty(ctx, tmp, recurseTimes, keys[i], kObjectType);\n const pos = StringPrototypeLastIndexOf(output[i], \" \");\n output[i] = StringPrototypeSlice(output[i], 0, pos + 1) + ctx.stylize(\"<uninitialized>\", \"special\");\n }\n return keys.length = 0, output;\n}, formatSpecialArray = function(ctx, value, recurseTimes, maxLength, output, i) {\n const keys = ObjectKeys(value);\n let index = i;\n for (;i < keys.length && output.length < maxLength; i++) {\n const key = keys[i], tmp = +key;\n if (tmp > 4294967294)\n break;\n if (`${index}` !== key) {\n if (RegExpPrototypeExec(numberRegExp, key) === null)\n break;\n const emptyItems = tmp - index, ending = emptyItems > 1 \? \"s\" : \"\", message = `<${emptyItems} empty item${ending}>`;\n if (ArrayPrototypePush(output, ctx.stylize(message, \"undefined\")), index = tmp, output.length === maxLength)\n break;\n }\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, key, kArrayType)), index++;\n }\n const remaining = value.length - index;\n if (output.length !== maxLength) {\n if (remaining > 0) {\n const ending = remaining > 1 \? \"s\" : \"\", message = `<${remaining} empty item${ending}>`;\n ArrayPrototypePush(output, ctx.stylize(message, \"undefined\"));\n }\n } else if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, hexSlice = function(buf, start = 0, end) {\n return ArrayPrototypeJoin(ArrayPrototypeMap(buf.slice(start, end), (x) => (\"00\" + x.toString(16)).slice(-2)), \"\");\n}, formatArrayBuffer = function(ctx, value) {\n let buffer;\n try {\n buffer = new Uint8Array(value);\n } catch {\n return [ctx.stylize(\"(detached)\", \"special\")];\n }\n let str = StringPrototypeTrim(RegExpPrototypeSymbolReplace(/(.{2})/g, hexSlice(buffer, 0, MathMin(ctx.maxArrayLength, buffer.length)), \"$1 \"));\n const remaining = buffer.length - ctx.maxArrayLength;\n if (remaining > 0)\n str += ` ... ${remaining} more byte${remaining > 1 \? \"s\" : \"\"}`;\n return [`${ctx.stylize(\"[Uint8Contents]\", \"special\")}: <${str}>`];\n}, formatArray = function(ctx, value, recurseTimes) {\n const valLen = value.length, len = MathMin(MathMax(0, ctx.maxArrayLength), valLen), remaining = valLen - len, output = [];\n for (let i = 0;i < len; i++) {\n if (!ObjectPrototypeHasOwnProperty(value, i))\n return formatSpecialArray(ctx, value, recurseTimes, len, output, i);\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, i, kArrayType));\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatTypedArray = function(value, length, ctx, ignored, recurseTimes) {\n const maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = value.length - maxLength, output = new Array(maxLength), elementFormatter = value.length > 0 && typeof value[0] === \"number\" \? formatNumber : formatBigInt;\n for (let i = 0;i < maxLength; ++i)\n output[i] = elementFormatter(ctx.stylize, value[i], ctx.numericSeparator);\n if (remaining > 0)\n output[maxLength] = remainingText(remaining);\n if (ctx.showHidden) {\n ctx.indentationLvl += 2;\n for (let key of [\"BYTES_PER_ELEMENT\", \"length\", \"byteLength\", \"byteOffset\", \"buffer\"]) {\n const str = formatValue(ctx, value[key], recurseTimes, !0);\n ArrayPrototypePush(output, `[${key}]: ${str}`);\n }\n ctx.indentationLvl -= 2;\n }\n return output;\n}, formatSet = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let v of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, formatValue(ctx, v, recurseTimes)), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatMap = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let { 0: k, 1: v } of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, `${formatValue(ctx, k, recurseTimes)} => ${formatValue(ctx, v, recurseTimes)}`), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatSetIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), maxLength = MathMin(maxArrayLength, entries.length), output = new Array(maxLength);\n ctx.indentationLvl += 2;\n for (let i = 0;i < maxLength; i++)\n output[i] = formatValue(ctx, entries[i], recurseTimes);\n if (ctx.indentationLvl -= 2, state === kWeak && !ctx.sorted)\n ArrayPrototypeSort(output);\n const remaining = entries.length - maxLength;\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatMapIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), len = entries.length / 2, remaining = len - maxArrayLength, maxLength = MathMin(maxArrayLength, len), output = new Array(maxLength);\n let i = 0;\n if (ctx.indentationLvl += 2, state === kWeak) {\n for (;i < maxLength; i++) {\n const pos = i * 2;\n output[i] = `${formatValue(ctx, entries[pos], recurseTimes)} => ${formatValue(ctx, entries[pos + 1], recurseTimes)}`;\n }\n if (!ctx.sorted)\n ArrayPrototypeSort(output);\n } else\n for (;i < maxLength; i++) {\n const pos = i * 2, res = [formatValue(ctx, entries[pos], recurseTimes), formatValue(ctx, entries[pos + 1], recurseTimes)];\n output[i] = reduceToSingleString(ctx, res, \"\", [\"[\", \"]\"], kArrayExtrasType, recurseTimes);\n }\n if (ctx.indentationLvl -= 2, remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatWeakCollection = function(ctx) {\n return [ctx.stylize(\"<items unknown>\", \"special\")];\n}, formatWeakSet = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatSetIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatWeakMap = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatMapIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatIterator = function(braces, ctx, value, recurseTimes) {\n const { 0: entries, 1: isKeyValue } = previewEntries(value, !0);\n if (isKeyValue)\n return braces[0] = RegExpPrototypeSymbolReplace(/ Iterator] {$/, braces[0], \" Entries] {\"), formatMapIterInner(ctx, recurseTimes, entries, kMapEntries);\n return formatSetIterInner(ctx, recurseTimes, entries, kIterator);\n}, formatPromise = function(ctx, value, recurseTimes) {\n let output;\n const { 0: state, 1: result } = getPromiseDetails(value);\n if (state === kPending)\n output = [ctx.stylize(\"<pending>\", \"special\")];\n else {\n ctx.indentationLvl += 2;\n const str = formatValue(ctx, result, recurseTimes);\n ctx.indentationLvl -= 2, output = [state === kRejected \? `${ctx.stylize(\"<rejected>\", \"special\")} ${str}` : str];\n }\n return output;\n}, formatProperty = function(ctx, value, recurseTimes, key, type, desc, original = value) {\n let name, str, extra = \" \";\n if (desc ||= ObjectGetOwnPropertyDescriptor(value, key) || { value: value[key], enumerable: !0 }, desc.value !== @undefined) {\n const diff = ctx.compact !== !0 || type !== kObjectType \? 2 : 3;\n if (ctx.indentationLvl += diff, str = formatValue(ctx, desc.value, recurseTimes), diff === 3 && ctx.breakLength < getStringWidth(str, ctx.colors))\n extra = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n ctx.indentationLvl -= diff;\n } else if (desc.get !== @undefined) {\n const label = desc.set !== @undefined \? \"Getter/Setter\" : \"Getter\", s = ctx.stylize;\n if (ctx.getters && (ctx.getters === !0 || ctx.getters === \"get\" && desc.set === @undefined || ctx.getters === \"set\" && desc.set !== @undefined))\n try {\n const tmp = desc.get.@call(original);\n if (ctx.indentationLvl += 2, tmp === null)\n str = `${s(`[${label}:`, \"special\")} ${s(\"null\", \"null\")}${s(\"]\", \"special\")}`;\n else if (typeof tmp === \"object\")\n str = `${s(`[${label}]`, \"special\")} ${formatValue(ctx, tmp, recurseTimes)}`;\n else {\n const primitive = formatPrimitive(s, tmp, ctx);\n str = `${s(`[${label}:`, \"special\")} ${primitive}${s(\"]\", \"special\")}`;\n }\n ctx.indentationLvl -= 2;\n } catch (err) {\n const message = `<Inspection threw (${err.message})>`;\n str = `${s(`[${label}:`, \"special\")} ${message}${s(\"]\", \"special\")}`;\n }\n else\n str = ctx.stylize(`[${label}]`, \"special\");\n } else if (desc.set !== @undefined)\n str = ctx.stylize(\"[Setter]\", \"special\");\n else\n str = ctx.stylize(\"undefined\", \"undefined\");\n if (type === kArrayType)\n return str;\n if (typeof key === \"symbol\") {\n const tmp = RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, SymbolPrototypeToString(key), escapeFn);\n name = `[${ctx.stylize(tmp, \"symbol\")}]`;\n } else if (key === \"__proto__\")\n name = \"['__proto__']\";\n else if (desc.enumerable === !1)\n name = `[${RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, key, escapeFn)}]`;\n else if (RegExpPrototypeExec(keyStrRegExp, key) !== null)\n name = ctx.stylize(key, \"name\");\n else\n name = ctx.stylize(strEscape(key), \"string\");\n return `${name}:${extra}${str}`;\n}, isBelowBreakLength = function(ctx, output, start, base) {\n let totalLength = output.length + start;\n if (totalLength + output.length > ctx.breakLength)\n return !1;\n for (let i = 0;i < output.length; i++) {\n if (ctx.colors)\n totalLength += StringPrototypeReplaceAll(output[i], /\\u001B\\[\\d\\d\?m/g, \"\").length;\n else\n totalLength += output[i].length;\n if (totalLength > ctx.breakLength)\n return !1;\n }\n return base === \"\" || !StringPrototypeIncludes(base, \"\\n\");\n}, reduceToSingleString = function(ctx, output, base, braces, extrasType, recurseTimes, value) {\n if (ctx.compact !== !0) {\n if (typeof ctx.compact === \"number\" && ctx.compact >= 1) {\n const entries = output.length;\n if (extrasType === kArrayExtrasType && entries > 6)\n output = groupArrayElements(ctx, output, value);\n if (ctx.currentDepth - recurseTimes < ctx.compact && entries === output.length) {\n const start = output.length + ctx.indentationLvl + braces[0].length + base.length + 10;\n if (isBelowBreakLength(ctx, output, start, base)) {\n const joinedOutput = ArrayPrototypeJoin(output, \", \");\n if (!StringPrototypeIncludes(joinedOutput, \"\\n\"))\n return `${base \? `${base} ` : \"\"}${braces[0]} ${joinedOutput}` + ` ${braces[1]}`;\n }\n }\n }\n const indentation2 = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n return `${base \? `${base} ` : \"\"}${braces[0]}${indentation2} ` + `${ArrayPrototypeJoin(output, `,${indentation2} `)}${indentation2}${braces[1]}`;\n }\n if (isBelowBreakLength(ctx, output, 0, base))\n return `${braces[0]}${base \? ` ${base}` : \"\"} ${ArrayPrototypeJoin(output, \", \")} ` + braces[1];\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl), ln = base === \"\" && braces[0].length === 1 \? \" \" : `${base \? ` ${base}` : \"\"}\\n${indentation} `;\n return `${braces[0]}${ln}${ArrayPrototypeJoin(output, `,\\n${indentation} `)} ${braces[1]}`;\n}, hasBuiltInToString = function(value) {\n const proxyTarget = getProxyDetails(value, !1);\n if (proxyTarget !== @undefined) {\n if (proxyTarget === null)\n return !0;\n value = proxyTarget;\n }\n if (typeof value.toString !== \"function\")\n return !0;\n if (ObjectPrototypeHasOwnProperty(value, \"toString\"))\n return !1;\n let pointer = value;\n do\n pointer = ObjectGetPrototypeOf(pointer);\n while (!ObjectPrototypeHasOwnProperty(pointer, \"toString\"));\n const descriptor = ObjectGetOwnPropertyDescriptor(pointer, \"constructor\");\n return descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name);\n}, tryStringify = function(arg) {\n try {\n return JSONStringify(arg);\n } catch (err) {\n if (!CIRCULAR_ERROR_MESSAGE)\n try {\n const a = {};\n a.a = a, JSONStringify(a);\n } catch (circularError) {\n CIRCULAR_ERROR_MESSAGE = firstErrorLine(circularError);\n }\n if (err.name === \"TypeError\" && firstErrorLine(err) === CIRCULAR_ERROR_MESSAGE)\n return \"[Circular]\";\n throw err;\n }\n}, format = function(...args) {\n return formatWithOptionsInternal(@undefined, args);\n}, formatWithOptions = function(inspectOptions, ...args) {\n return validateObject(inspectOptions, \"inspectOptions\", { allowArray: !0 }), formatWithOptionsInternal(inspectOptions, args);\n}, formatNumberNoColor = function(number, options) {\n return formatNumber(stylizeNoColor, number, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatBigIntNoColor = function(bigint, options) {\n return formatBigInt(stylizeNoColor, bigint, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatWithOptionsInternal = function(inspectOptions, args) {\n const first = args[0];\n let a = 0, str = \"\", join = \"\";\n if (typeof first === \"string\") {\n if (args.length === 1)\n return first;\n let tempStr, lastPos = 0;\n for (let i = 0;i < first.length - 1; i++)\n if (StringPrototypeCharCodeAt(first, i) === 37) {\n const nextChar = StringPrototypeCharCodeAt(first, ++i);\n if (a + 1 !== args.length) {\n switch (nextChar) {\n case 115: {\n const tempArg = args[++a];\n if (typeof tempArg === \"number\")\n tempStr = formatNumberNoColor(tempArg, inspectOptions);\n else if (typeof tempArg === \"bigint\")\n tempStr = formatBigIntNoColor(tempArg, inspectOptions);\n else if (typeof tempArg !== \"object\" || tempArg === null || !hasBuiltInToString(tempArg))\n tempStr = String(tempArg);\n else\n tempStr = inspect(tempArg, {\n ...inspectOptions,\n compact: 3,\n colors: !1,\n depth: 0\n });\n break;\n }\n case 106:\n tempStr = tryStringify(args[++a]);\n break;\n case 100: {\n const tempNum = args[++a];\n if (typeof tempNum === \"bigint\")\n tempStr = formatBigIntNoColor(tempNum, inspectOptions);\n else if (typeof tempNum === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(Number(tempNum), inspectOptions);\n break;\n }\n case 79:\n tempStr = inspect(args[++a], inspectOptions);\n break;\n case 111:\n tempStr = inspect(args[++a], {\n ...inspectOptions,\n showHidden: !0,\n showProxy: !0,\n depth: 4\n });\n break;\n case 105: {\n const tempInteger = args[++a];\n if (typeof tempInteger === \"bigint\")\n tempStr = formatBigIntNoColor(tempInteger, inspectOptions);\n else if (typeof tempInteger === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseInt(tempInteger), inspectOptions);\n break;\n }\n case 102: {\n const tempFloat = args[++a];\n if (typeof tempFloat === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseFloat(tempFloat), inspectOptions);\n break;\n }\n case 99:\n a += 1, tempStr = \"\";\n break;\n case 37:\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n continue;\n default:\n continue;\n }\n if (lastPos !== i - 1)\n str += StringPrototypeSlice(first, lastPos, i - 1);\n str += tempStr, lastPos = i + 1;\n } else if (nextChar === 37)\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n }\n if (lastPos !== 0) {\n if (a++, join = \" \", lastPos < first.length)\n str += StringPrototypeSlice(first, lastPos);\n }\n }\n while (a < args.length) {\n const value = args[a];\n str += join, str += typeof value !== \"string\" \? inspect(value, inspectOptions) : value, join = \" \", a++;\n }\n return str;\n}, isZeroWidthCodePoint = function(code) {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, stripVTControlCharacters = function(str) {\n if (typeof str !== \"string\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"str\", \"string\", str);\n return RegExpPrototypeSymbolReplace(ansi, str, \"\");\n}, getOwnNonIndexProperties = function(a, filter = 2) {\n const desc = ObjectGetOwnPropertyDescriptors(a), ret = [];\n for (let [k, v] of ObjectEntries(desc))\n if (!RegExpPrototypeTest(/^(0|[1-9][0-9]*)$/, k) || NumberParseInt(k, 10) >= 4294967295)\n if (filter === 2 && !v.enumerable)\n continue;\n else\n ArrayPrototypePush(ret, k);\n for (let s of ObjectGetOwnPropertySymbols(a)) {\n const v = ObjectGetOwnPropertyDescriptor(a, s);\n if (filter === 2 && !v.enumerable)\n continue;\n ArrayPrototypePush(ret, s);\n }\n return ret;\n}, getPromiseDetails = function(promise) {\n const state = @getPromiseInternalField(promise, @promiseFieldFlags) & @promiseStateMask;\n if (state !== @promiseStatePending)\n return [\n state === @promiseStateRejected \? kRejected : kFulfilled,\n @getPromiseInternalField(promise, @promiseFieldReactionsOrResult)\n ];\n return [kPending, @undefined];\n}, getProxyDetails = function(proxy, withHandler = !0) {\n if (!@isProxyObject(proxy))\n return @undefined;\n const handler = @getProxyInternalField(proxy, @proxyFieldHandler), target = handler === null \? null : @getProxyInternalField(proxy, @proxyFieldTarget);\n if (withHandler)\n return [target, handler];\n else\n return target;\n}, previewEntries = function(val, isIterator = !1) {\n if (isIterator) {\n const iteratedObject = @getInternalField(val, 1), kind = @getInternalField(val, 2), isEntries = kind === 2;\n if (@isMap(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(iteratedObject)), !0];\n else if (kind === 1)\n return [ArrayFrom(MapPrototypeValues(iteratedObject)), !1];\n else\n return [ArrayFrom(MapPrototypeKeys(iteratedObject)), !1];\n else if (@isSet(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(SetPrototypeEntries(iteratedObject))), !0];\n else\n return [ArrayFrom(iteratedObject), !1];\n else\n throw new Error(\"previewEntries(): Invalid iterator received\");\n }\n if (isWeakMap(val))\n return [];\n if (isWeakSet(val))\n return [];\n else\n throw new Error(\"previewEntries(): Invalid object received\");\n}, internalGetConstructorName = function(val) {\n if (!val || typeof val !== \"object\")\n throw new Error(\"Invalid object\");\n if (val.constructor\?.name)\n return val.constructor.name;\n const str = ObjectPrototypeToString(val), m = StringPrototypeMatch(str, /^\\[object ([^\\]]+)\\]/);\n return m \? m[1] : \"Object\";\n}, $, { pathToFileURL } = @getInternalField(@internalModuleRegistry, 47) || @createInternalModuleById(47), primordials = @getInternalField(@internalModuleRegistry, 5) || @createInternalModuleById(5), {\n Array,\n ArrayFrom,\n ArrayIsArray,\n ArrayPrototypeFilter,\n ArrayPrototypeFlat,\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes,\n ArrayPrototypeIndexOf,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n ArrayPrototypePop,\n ArrayPrototypePush,\n ArrayPrototypePushApply,\n ArrayPrototypeSlice,\n ArrayPrototypeSplice,\n ArrayPrototypeSort,\n ArrayPrototypeUnshift,\n BigIntPrototypeValueOf,\n BooleanPrototypeValueOf,\n DatePrototypeGetTime,\n DatePrototypeToISOString,\n DatePrototypeToString,\n ErrorCaptureStackTrace,\n ErrorPrototypeToString,\n FunctionPrototypeBind,\n FunctionPrototypeToString,\n JSONStringify,\n MapPrototypeGetSize,\n MapPrototypeEntries,\n MapPrototypeValues,\n MapPrototypeKeys,\n MathFloor,\n MathMax,\n MathMin,\n MathRound,\n MathSqrt,\n MathTrunc,\n Number,\n NumberIsFinite,\n NumberIsNaN,\n NumberParseFloat,\n NumberParseInt,\n NumberPrototypeToString,\n NumberPrototypeValueOf,\n Object,\n ObjectAssign,\n ObjectDefineProperty,\n ObjectEntries,\n ObjectGetOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames,\n ObjectGetOwnPropertySymbols,\n ObjectGetPrototypeOf,\n ObjectIs,\n ObjectKeys,\n ObjectPrototypeHasOwnProperty,\n ObjectPrototypePropertyIsEnumerable,\n ObjectPrototypeToString,\n ObjectSeal,\n ObjectSetPrototypeOf,\n ReflectApply,\n ReflectOwnKeys,\n RegExp,\n RegExpPrototypeExec,\n RegExpPrototypeSymbolReplace,\n RegExpPrototypeSymbolSplit,\n RegExpPrototypeTest,\n RegExpPrototypeToString,\n SafeStringIterator,\n SafeMap,\n SafeSet,\n SetPrototypeEntries,\n SetPrototypeGetSize,\n SetPrototypeValues,\n String,\n StringPrototypeCharCodeAt,\n StringPrototypeCodePointAt,\n StringPrototypeIncludes,\n StringPrototypeIndexOf,\n StringPrototypeLastIndexOf,\n StringPrototypeMatch,\n StringPrototypeNormalize,\n StringPrototypePadEnd,\n StringPrototypePadStart,\n StringPrototypeRepeat,\n StringPrototypeReplaceAll,\n StringPrototypeSlice,\n StringPrototypeSplit,\n StringPrototypeEndsWith,\n StringPrototypeStartsWith,\n StringPrototypeToLowerCase,\n StringPrototypeTrim,\n StringPrototypeValueOf,\n SymbolPrototypeToString,\n SymbolPrototypeValueOf,\n SymbolIterator,\n SymbolToStringTag,\n TypedArrayPrototypeGetLength,\n TypedArrayPrototypeGetSymbolToStringTag,\n Uint8Array\n} = primordials, customInspectSymbol = Symbol.for(\"nodejs.util.inspect.custom\"), kPending = Symbol(\"kPending\"), kFulfilled = Symbol(\"kFulfilled\"), kRejected = Symbol(\"kRejected\");\nvar isAsyncFunction = (v) => typeof v === \"function\" && StringPrototypeStartsWith(FunctionPrototypeToString(v), \"async\"), isGeneratorFunction = (v) => typeof v === \"function\" && StringPrototypeMatch(FunctionPrototypeToString(v), /^(async\\s+)\?function *\\*/), isBigIntObject = checkBox(BigInt), isSymbolObject = checkBox(Symbol), {\n isAnyArrayBuffer,\n isArrayBuffer,\n isArgumentsObject,\n isBoxedPrimitive: _native_isBoxedPrimitive,\n isDataView,\n isExternal,\n isMap,\n isMapIterator,\n isModuleNamespaceObject,\n isNativeError,\n isPromise,\n isSet,\n isSetIterator,\n isWeakMap,\n isWeakSet,\n isRegExp,\n isDate,\n isTypedArray,\n isStringObject,\n isNumberObject,\n isBooleanObject\n} = @requireNativeModule(\"util/types\");\n//! The native versions of the commented out functions are currently buggy, so we use the polyfills above for now.\n//! temp workaround to apply is{BigInt,Symbol}Object fix\nvar isBoxedPrimitive = (val) => isBigIntObject(val) || isSymbolObject(val) || _native_isBoxedPrimitive(val);\n\nclass AssertionError extends Error {\n constructor(message, isForced = !1) {\n super(message);\n this.name = \"AssertionError\", this.code = \"ERR_ASSERTION\", this.operator = \"==\", this.generatedMessage = !isForced, this.actual = isForced && @undefined, this.expected = !isForced || @undefined;\n }\n}\nvar codes = {};\n{\n const kTypes = [\n \"string\",\n \"function\",\n \"number\",\n \"object\",\n \"Function\",\n \"Object\",\n \"boolean\",\n \"bigint\",\n \"symbol\"\n ], classRegExp = /^([A-Z][a-z0-9]*)+$/, messages = new SafeMap;\n messages.set(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !ArrayIsArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (StringPrototypeEndsWith(name, \" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${StringPrototypeIncludes(name, \".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), ArrayPrototypeIncludes(kTypes, value))\n ArrayPrototypePush(types, StringPrototypeToLowerCase(value));\n else if (RegExpPrototypeTest(classRegExp, value))\n ArrayPrototypePush(instances, value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), ArrayPrototypePush(other, value);\n if (instances.length > 0) {\n const pos = ArrayPrototypeIndexOf(types, \"object\");\n if (pos !== -1)\n ArrayPrototypeSplice(types, pos, 1), ArrayPrototypePush(instances, \"Object\");\n }\n if (types.length > 0) {\n if (types.length > 2)\n msg += `one of type ${ArrayPrototypeJoin(types, \", \")}, or ${ArrayPrototypePop(types)}`;\n else if (types.length === 2)\n msg += `one of type ${types[0]} or ${types[1]}`;\n else\n msg += `of type ${types[0]}`;\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n if (instances.length > 2)\n msg += `an instance of ${ArrayPrototypeJoin(instances, \", \")}, or ${ArrayPrototypePop(instances)}`;\n else\n msg += `an instance of ${instances[0]}` + (instances.length === 2 \? ` or ${instances[1]}` : \"\");\n if (other.length > 0)\n msg += \" or \";\n }\n if (other.length > 0)\n if (other.length > 2) {\n const last = ArrayPrototypePop(other);\n msg += `one of ${ArrayPrototypeJoin(other, \", \")}, or ${last}`;\n } else if (other.length === 2)\n msg += `one of ${other[0]} or ${other[1]}`;\n else {\n if (StringPrototypeToLowerCase(other[0]) !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\")\n if (actual.constructor && actual.constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else\n msg += `. Received ${inspect(actual, { depth: -1 })}`;\n else {\n let inspected = inspect(actual, { colors: !1 });\n if (inspected.length > 25)\n inspected = `${StringPrototypeSlice(inspected, 0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }), codes[\"ERR_INVALID_ARG_TYPE\"] = function NodeError(...args) {\n const limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n const error = @makeTypeError();\n Error.stackTraceLimit = limit;\n const msg = messages.get(\"ERR_INVALID_ARG_TYPE\");\n assert(typeof msg === \"function\"), assert(msg.length <= args.length, `Code: ERR_INVALID_ARG_TYPE; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`);\n const message = ReflectApply(msg, error, args);\n ObjectDefineProperty(error, \"message\", { value: message, enumerable: !1, writable: !0, configurable: !0 }), ObjectDefineProperty(error, \"toString\", {\n value() {\n return `${this.name} [ERR_INVALID_ARG_TYPE]: ${this.message}`;\n },\n enumerable: !1,\n writable: !0,\n configurable: !0\n });\n let err = error;\n const userStackTraceLimit = Error.stackTraceLimit;\n return Error.stackTraceLimit = @Infinity, ErrorCaptureStackTrace(err), Error.stackTraceLimit = userStackTraceLimit, err.name = `${TypeError.name} [ERR_INVALID_ARG_TYPE]`, err.stack, delete err.name, error.code = \"ERR_INVALID_ARG_TYPE\", error;\n };\n}\nvar validateObject = (value, name, allowArray = !1) => {\n if (value === null || !allowArray && ArrayIsArray(value) || typeof value !== \"object\" && typeof value !== \"function\")\n throw new codes.ERR_INVALID_ARG_TYPE(name, \"Object\", value);\n}, builtInObjects = new SafeSet(ArrayPrototypeFilter(ObjectGetOwnPropertyNames(globalThis), (e) => RegExpPrototypeExec(/^[A-Z][a-zA-Z0-9]+$/, e) !== null)), isUndetectableObject = (v) => typeof v === \"undefined\" && v !== @undefined, ERROR_STACK_OVERFLOW_MSG = \"Maximum call stack size exceeded.\", inspectDefaultOptions = ObjectSeal({\n showHidden: !1,\n depth: 2,\n colors: !1,\n customInspect: !0,\n showProxy: !1,\n maxArrayLength: 100,\n maxStringLength: 1e4,\n breakLength: 80,\n compact: 3,\n sorted: !1,\n getters: !1,\n numericSeparator: !1\n}), inspectReplDefaults = ObjectSeal({\n ...inspectDefaultOptions,\n colors: Bun.enableANSIColors,\n showProxy: !0\n}), kObjectType = 0, kArrayType = 1, kArrayExtrasType = 2, strEscapeSequencesRegExp, strEscapeSequencesReplacer, strEscapeSequencesRegExpSingle, strEscapeSequencesReplacerSingle, extractedSplitNewLines;\ntry {\n strEscapeSequencesRegExp = new RegExp(\"[\\\\x00-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacer = new RegExp(\"[\\0-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\"), strEscapeSequencesRegExpSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacerSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\");\n const extractedNewLineRe = new RegExp(\"(\?<=\\\\n)\");\n extractedSplitNewLines = (value) => RegExpPrototypeSymbolSplit(extractedNewLineRe, value);\n} catch {\n strEscapeSequencesRegExp = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacer = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/g, strEscapeSequencesRegExpSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacerSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/g, extractedSplitNewLines = (value) => {\n const lines = RegExpPrototypeSymbolSplit(/\\n/, value), last = ArrayPrototypePop(lines), nlLines = ArrayPrototypeMap(lines, (line) => line + \"\\n\");\n if (last !== \"\")\n nlLines.push(last);\n return nlLines;\n };\n}\nvar keyStrRegExp = /^[a-zA-Z_][a-zA-Z_0-9]*$/, numberRegExp = /^(0|[1-9][0-9]*)$/, coreModuleRegExp = /^ {4}at (\?:[^/\\\\(]+ \\(|)node:(.+):\\d+:\\d+\\)\?$/, nodeModulesRegExp = /[/\\\\]node_modules[/\\\\](.+\?)(\?=[/\\\\])/g, classRegExp = /^(\\s+[^(]*\?)\\s*{/, stripCommentsRegExp = /(\\/\\/.*\?\\n)|(\\/\\*(.|\\n)*\?\\*\\/)/g, kMinLineLength = 16, kWeak = 0, kIterator = 1, kMapEntries = 2, meta = [\n \"\\\\x00\",\n \"\\\\x01\",\n \"\\\\x02\",\n \"\\\\x03\",\n \"\\\\x04\",\n \"\\\\x05\",\n \"\\\\x06\",\n \"\\\\x07\",\n \"\\\\b\",\n \"\\\\t\",\n \"\\\\n\",\n \"\\\\x0B\",\n \"\\\\f\",\n \"\\\\r\",\n \"\\\\x0E\",\n \"\\\\x0F\",\n \"\\\\x10\",\n \"\\\\x11\",\n \"\\\\x12\",\n \"\\\\x13\",\n \"\\\\x14\",\n \"\\\\x15\",\n \"\\\\x16\",\n \"\\\\x17\",\n \"\\\\x18\",\n \"\\\\x19\",\n \"\\\\x1A\",\n \"\\\\x1B\",\n \"\\\\x1C\",\n \"\\\\x1D\",\n \"\\\\x1E\",\n \"\\\\x1F\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\'\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\\\\\\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\x7F\",\n \"\\\\x80\",\n \"\\\\x81\",\n \"\\\\x82\",\n \"\\\\x83\",\n \"\\\\x84\",\n \"\\\\x85\",\n \"\\\\x86\",\n \"\\\\x87\",\n \"\\\\x88\",\n \"\\\\x89\",\n \"\\\\x8A\",\n \"\\\\x8B\",\n \"\\\\x8C\",\n \"\\\\x8D\",\n \"\\\\x8E\",\n \"\\\\x8F\",\n \"\\\\x90\",\n \"\\\\x91\",\n \"\\\\x92\",\n \"\\\\x93\",\n \"\\\\x94\",\n \"\\\\x95\",\n \"\\\\x96\",\n \"\\\\x97\",\n \"\\\\x98\",\n \"\\\\x99\",\n \"\\\\x9A\",\n \"\\\\x9B\",\n \"\\\\x9C\",\n \"\\\\x9D\",\n \"\\\\x9E\",\n \"\\\\x9F\"\n], getStringWidth;\ninspect.custom = customInspectSymbol;\nObjectDefineProperty(inspect, \"defaultOptions\", {\n __proto__: null,\n get() {\n return inspectDefaultOptions;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectDefaultOptions, options);\n }\n});\nObjectDefineProperty(inspect, \"replDefaults\", {\n __proto__: null,\n get() {\n return inspectReplDefaults;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectReplDefaults, options);\n }\n});\nvar defaultFG = 39, defaultBG = 49;\ninspect.colors = {\n __proto__: null,\n reset: [0, 0],\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n blink: [5, 25],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n doubleunderline: [21, 24],\n black: [30, defaultFG],\n red: [31, defaultFG],\n green: [32, defaultFG],\n yellow: [33, defaultFG],\n blue: [34, defaultFG],\n magenta: [35, defaultFG],\n cyan: [36, defaultFG],\n white: [37, defaultFG],\n bgBlack: [40, defaultBG],\n bgRed: [41, defaultBG],\n bgGreen: [42, defaultBG],\n bgYellow: [43, defaultBG],\n bgBlue: [44, defaultBG],\n bgMagenta: [45, defaultBG],\n bgCyan: [46, defaultBG],\n bgWhite: [47, defaultBG],\n framed: [51, 54],\n overlined: [53, 55],\n gray: [90, defaultFG],\n redBright: [91, defaultFG],\n greenBright: [92, defaultFG],\n yellowBright: [93, defaultFG],\n blueBright: [94, defaultFG],\n magentaBright: [95, defaultFG],\n cyanBright: [96, defaultFG],\n whiteBright: [97, defaultFG],\n bgGray: [100, defaultBG],\n bgRedBright: [101, defaultBG],\n bgGreenBright: [102, defaultBG],\n bgYellowBright: [103, defaultBG],\n bgBlueBright: [104, defaultBG],\n bgMagentaBright: [105, defaultBG],\n bgCyanBright: [106, defaultBG],\n bgWhiteBright: [107, defaultBG]\n};\ndefineColorAlias(\"gray\", \"grey\");\ndefineColorAlias(\"gray\", \"blackBright\");\ndefineColorAlias(\"bgGray\", \"bgGrey\");\ndefineColorAlias(\"bgGray\", \"bgBlackBright\");\ndefineColorAlias(\"dim\", \"faint\");\ndefineColorAlias(\"strikethrough\", \"crossedout\");\ndefineColorAlias(\"strikethrough\", \"strikeThrough\");\ndefineColorAlias(\"strikethrough\", \"crossedOut\");\ndefineColorAlias(\"hidden\", \"conceal\");\ndefineColorAlias(\"inverse\", \"swapColors\");\ndefineColorAlias(\"inverse\", \"swapcolors\");\ndefineColorAlias(\"doubleunderline\", \"doubleUnderline\");\ninspect.styles = {\n __proto__: null,\n special: \"cyan\",\n number: \"yellow\",\n bigint: \"yellow\",\n boolean: \"yellow\",\n undefined: \"grey\",\n null: \"bold\",\n string: \"green\",\n symbol: \"green\",\n date: \"magenta\",\n regexp: \"red\",\n module: \"underline\"\n};\nvar remainingText = (remaining) => `... ${remaining} more item${remaining > 1 \? \"s\" : \"\"}`, firstErrorLine = (error) => StringPrototypeSplit(error.message, \"\\n\", 1)[0], CIRCULAR_ERROR_MESSAGE;\n{\n getStringWidth = function getStringWidth(str, removeControlChars = !0) {\n let width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize(str, \"NFC\");\n for (let char of new SafeStringIterator(str)) {\n const code = StringPrototypeCodePointAt(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n };\n const isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n };\n}\nvar ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new RegExp(ansiPattern, \"g\");\n$ = {\n inspect,\n format,\n formatWithOptions,\n stripVTControlCharacters\n};\n//! non-standard properties, should these be kept\? (not currently exposed)\nreturn $})\n"); +static constexpr ASCIILiteral InternalUtilInspectCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/util/inspect.ts\nvar vmSafeInstanceof = function(val, ctor) {\n if (val instanceof ctor)\n return !0;\n while (val) {\n if (typeof val !== \"object\")\n return !1;\n if (ctor.name === internalGetConstructorName(val))\n return !0;\n val = ObjectGetPrototypeOf(val);\n }\n return !1;\n}, checkBox = function(ctor) {\n return (val) => {\n if (!vmSafeInstanceof(val, ctor))\n return !1;\n try {\n ctor.prototype.valueOf.@call(val);\n } catch {\n return !1;\n }\n return !0;\n };\n}, assert = function(p, message) {\n if (!p)\n throw new AssertionError(message);\n}, getUserOptions = function(ctx, isCrossContext) {\n const ret = {\n stylize: ctx.stylize,\n showHidden: ctx.showHidden,\n depth: ctx.depth,\n colors: ctx.colors,\n customInspect: ctx.customInspect,\n showProxy: ctx.showProxy,\n maxArrayLength: ctx.maxArrayLength,\n maxStringLength: ctx.maxStringLength,\n breakLength: ctx.breakLength,\n compact: ctx.compact,\n sorted: ctx.sorted,\n getters: ctx.getters,\n numericSeparator: ctx.numericSeparator,\n ...ctx.userOptions\n };\n if (isCrossContext) {\n ObjectSetPrototypeOf(ret, null);\n for (let key of ObjectKeys(ret))\n if ((typeof ret[key] === \"object\" || typeof ret[key] === \"function\") && ret[key] !== null)\n delete ret[key];\n ret.stylize = ObjectSetPrototypeOf((value, flavour) => {\n let stylized;\n try {\n stylized = `${ctx.stylize(value, flavour)}`;\n } catch {\n }\n if (typeof stylized !== \"string\")\n return value;\n return stylized;\n }, null);\n }\n return ret;\n}, inspect = function(value, opts) {\n const ctx = {\n budget: {},\n indentationLvl: 0,\n seen: [],\n currentDepth: 0,\n stylize: stylizeNoColor,\n showHidden: inspectDefaultOptions.showHidden,\n depth: inspectDefaultOptions.depth,\n colors: inspectDefaultOptions.colors,\n customInspect: inspectDefaultOptions.customInspect,\n showProxy: inspectDefaultOptions.showProxy,\n maxArrayLength: inspectDefaultOptions.maxArrayLength,\n maxStringLength: inspectDefaultOptions.maxStringLength,\n breakLength: inspectDefaultOptions.breakLength,\n compact: inspectDefaultOptions.compact,\n sorted: inspectDefaultOptions.sorted,\n getters: inspectDefaultOptions.getters,\n numericSeparator: inspectDefaultOptions.numericSeparator\n };\n if (arguments.length > 1) {\n if (arguments.length > 2) {\n if (arguments[2] !== @undefined)\n ctx.depth = arguments[2];\n if (arguments.length > 3 && arguments[3] !== @undefined)\n ctx.colors = arguments[3];\n }\n if (typeof opts === \"boolean\")\n ctx.showHidden = opts;\n else if (opts) {\n const optKeys = ObjectKeys(opts);\n for (let i = 0;i < optKeys.length; ++i) {\n const key = optKeys[i];\n if (ObjectPrototypeHasOwnProperty(inspectDefaultOptions, key) || key === \"stylize\")\n ctx[key] = opts[key];\n else if (ctx.userOptions === @undefined)\n ctx.userOptions = opts;\n }\n }\n }\n if (ctx.colors)\n ctx.stylize = stylizeWithColor;\n if (ctx.maxArrayLength === null)\n ctx.maxArrayLength = @Infinity;\n if (ctx.maxStringLength === null)\n ctx.maxStringLength = @Infinity;\n return formatValue(ctx, value, 0);\n}, defineColorAlias = function(target, alias) {\n ObjectDefineProperty(inspect.colors, alias, {\n __proto__: null,\n get() {\n return this[target];\n },\n set(value) {\n this[target] = value;\n },\n configurable: !0,\n enumerable: !1\n });\n}, addQuotes = function(str, quotes) {\n if (quotes === -1)\n return `\"${str}\"`;\n if (quotes === -2)\n return `\\`${str}\\``;\n return `'${str}'`;\n}, escapeFn = function(str) {\n const charCode = StringPrototypeCharCodeAt(str);\n return meta.length > charCode \? meta[charCode] : `\\\\u${NumberPrototypeToString(charCode, 16)}`;\n}, strEscape = function(str) {\n let escapeTest = strEscapeSequencesRegExp, escapeReplace = strEscapeSequencesReplacer, singleQuote = 39;\n if (StringPrototypeIncludes(str, \"'\")) {\n if (!StringPrototypeIncludes(str, '\"'))\n singleQuote = -1;\n else if (!StringPrototypeIncludes(str, \"`\") && !StringPrototypeIncludes(str, \"${\"))\n singleQuote = -2;\n if (singleQuote !== 39)\n escapeTest = strEscapeSequencesRegExpSingle, escapeReplace = strEscapeSequencesReplacerSingle;\n }\n if (str.length < 5000 && RegExpPrototypeExec(escapeTest, str) === null)\n return addQuotes(str, singleQuote);\n if (str.length > 100)\n return str = RegExpPrototypeSymbolReplace(escapeReplace, str, escapeFn), addQuotes(str, singleQuote);\n let result = \"\", last = 0;\n for (let i = 0;i < str.length; i++) {\n const point = StringPrototypeCharCodeAt(str, i);\n if (point === singleQuote || point === 92 || point < 32 || point > 126 && point < 160) {\n if (last === i)\n result += meta[point];\n else\n result += `${StringPrototypeSlice(str, last, i)}${meta[point]}`;\n last = i + 1;\n } else if (point >= 55296 && point <= 57343) {\n if (point <= 56319 && i + 1 < str.length) {\n const point2 = StringPrototypeCharCodeAt(str, i + 1);\n if (point2 >= 56320 && point2 <= 57343) {\n i++;\n continue;\n }\n }\n result += `${StringPrototypeSlice(str, last, i)}\\\\u${NumberPrototypeToString(point, 16)}`, last = i + 1;\n }\n }\n if (last !== str.length)\n result += StringPrototypeSlice(str, last);\n return addQuotes(result, singleQuote);\n}, stylizeWithColor = function(str, styleType) {\n const style = inspect.styles[styleType];\n if (style !== @undefined) {\n const color = inspect.colors[style];\n if (color !== @undefined)\n return `\\x1B[${color[0]}m${str}\\x1B[${color[1]}m`;\n }\n return str;\n}, stylizeNoColor = function(str) {\n return str;\n}, getEmptyFormatArray = function() {\n return [];\n}, isInstanceof = function(object, proto) {\n try {\n return object instanceof proto;\n } catch {\n return !1;\n }\n}, getConstructorName = function(obj, ctx, recurseTimes, protoProps) {\n let firstProto;\n const tmp = obj;\n while (obj || isUndetectableObject(obj)) {\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && descriptor.value.name !== \"\" && isInstanceof(tmp, descriptor.value)) {\n if (protoProps !== @undefined && (firstProto !== obj || !builtInObjects.has(descriptor.value.name)))\n addPrototypeProperties(ctx, tmp, firstProto || tmp, recurseTimes, protoProps);\n return String(descriptor.value.name);\n }\n if (obj = ObjectGetPrototypeOf(obj), firstProto === @undefined)\n firstProto = obj;\n }\n if (firstProto === null)\n return null;\n const res = internalGetConstructorName(tmp);\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return `${res} <Complex prototype>`;\n const protoConstr = getConstructorName(firstProto, ctx, recurseTimes + 1, protoProps);\n if (protoConstr === null)\n return `${res} <${inspect(firstProto, {\n ...ctx,\n customInspect: !1,\n depth: -1\n })}>`;\n return `${res} <${protoConstr}>`;\n}, addPrototypeProperties = function(ctx, main, obj, recurseTimes, output) {\n let depth = 0, keys, keySet;\n do {\n if (depth !== 0 || main === obj) {\n if (obj = ObjectGetPrototypeOf(obj), obj === null)\n return;\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name))\n return;\n }\n if (depth === 0)\n keySet = new SafeSet;\n else\n ArrayPrototypeForEach(keys, (key) => keySet.add(key));\n keys = ReflectOwnKeys(obj), ArrayPrototypePush(ctx.seen, main);\n for (let key of keys) {\n if (key === \"constructor\" || ObjectPrototypeHasOwnProperty(main, key) || depth !== 0 && keySet.has(key))\n continue;\n const desc = ObjectGetOwnPropertyDescriptor(obj, key);\n if (typeof desc.value === \"function\")\n continue;\n const value = formatProperty(ctx, obj, recurseTimes, key, kObjectType, desc, main);\n if (ctx.colors)\n ArrayPrototypePush(output, `\\x1B[2m${value}\\x1B[22m`);\n else\n ArrayPrototypePush(output, value);\n }\n ArrayPrototypePop(ctx.seen);\n } while (++depth !== 3);\n}, getPrefix = function(constructor, tag, fallback, size = \"\") {\n if (constructor === null) {\n if (tag !== \"\" && fallback !== tag)\n return `[${fallback}${size}: null prototype] [${tag}] `;\n return `[${fallback}${size}: null prototype] `;\n }\n if (tag !== \"\" && constructor !== tag)\n return `${constructor}${size} [${tag}] `;\n return `${constructor}${size} `;\n}, getKeys = function(value, showHidden) {\n let keys;\n const symbols = ObjectGetOwnPropertySymbols(value);\n if (showHidden) {\n if (keys = ObjectGetOwnPropertyNames(value), symbols.length !== 0)\n ArrayPrototypePushApply(keys, symbols);\n } else {\n try {\n keys = ObjectKeys(value);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\" && isModuleNamespaceObject(value)), keys = ObjectGetOwnPropertyNames(value);\n }\n if (symbols.length !== 0)\n ArrayPrototypePushApply(keys, ArrayPrototypeFilter(symbols, (key) => ObjectPrototypePropertyIsEnumerable(value, key)));\n }\n return keys;\n}, getCtxStyle = function(value, constructor, tag) {\n let fallback = \"\";\n if (constructor === null) {\n if (fallback = internalGetConstructorName(value), fallback === tag)\n fallback = \"Object\";\n }\n return getPrefix(constructor, tag, fallback);\n}, formatProxy = function(ctx, proxy, recurseTimes) {\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(\"Proxy [Array]\", \"special\");\n recurseTimes += 1, ctx.indentationLvl += 2;\n const res = [formatValue(ctx, proxy[0], recurseTimes), formatValue(ctx, proxy[1], recurseTimes)];\n return ctx.indentationLvl -= 2, reduceToSingleString(ctx, res, \"\", [\"Proxy [\", \"]\"], kArrayExtrasType, recurseTimes);\n}, formatValue = function(ctx, value, recurseTimes, typedArray) {\n if (typeof value !== \"object\" && typeof value !== \"function\" && !isUndetectableObject(value))\n return formatPrimitive(ctx.stylize, value, ctx);\n if (value === null)\n return ctx.stylize(\"null\", \"null\");\n const context = value, proxy = getProxyDetails(value, !!ctx.showProxy);\n if (proxy !== @undefined) {\n if (proxy === null || proxy[0] === null)\n return ctx.stylize(\"<Revoked Proxy>\", \"special\");\n if (ctx.showProxy)\n return formatProxy(ctx, proxy, recurseTimes);\n value = proxy;\n }\n if (ctx.customInspect) {\n const maybeCustom = value[customInspectSymbol];\n if (typeof maybeCustom === \"function\" && maybeCustom !== inspect && !(value.constructor && value.constructor.prototype === value)) {\n const depth = ctx.depth === null \? null : ctx.depth - recurseTimes, isCrossContext = proxy !== @undefined || !(context instanceof Object), ret = maybeCustom.@call(context, depth, getUserOptions(ctx, isCrossContext), inspect);\n if (ret !== context) {\n if (typeof ret !== \"string\")\n return formatValue(ctx, ret, recurseTimes);\n return StringPrototypeReplaceAll(ret, \"\\n\", `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`);\n }\n }\n }\n if (ctx.seen.includes(value)) {\n let index = 1;\n if (ctx.circular === @undefined)\n ctx.circular = new SafeMap, ctx.circular.set(value, index);\n else if (index = ctx.circular.get(value), index === @undefined)\n index = ctx.circular.size + 1, ctx.circular.set(value, index);\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n return formatRaw(ctx, value, recurseTimes, typedArray);\n}, formatRaw = function(ctx, value, recurseTimes, typedArray) {\n let keys, protoProps;\n if (ctx.showHidden && (recurseTimes <= ctx.depth || ctx.depth === null))\n protoProps = [];\n const constructor = getConstructorName(value, ctx, recurseTimes, protoProps);\n if (protoProps !== @undefined && protoProps.length === 0)\n protoProps = @undefined;\n let tag = value[SymbolToStringTag];\n if (typeof tag !== \"string\" || tag !== \"\" && (ctx.showHidden \? ObjectPrototypeHasOwnProperty : ObjectPrototypePropertyIsEnumerable)(value, SymbolToStringTag))\n tag = \"\";\n let base = \"\", formatter = getEmptyFormatArray, braces, noIterator = !0, i = 0;\n const filter = ctx.showHidden \? 0 : 2;\n let extrasType = kObjectType;\n if ((SymbolIterator in value) || constructor === null)\n if (noIterator = !1, ArrayIsArray(value)) {\n const prefix = constructor !== \"Array\" || tag !== \"\" \? getPrefix(constructor, tag, \"Array\", `(${value.length})`) : \"\";\n if (keys = getOwnNonIndexProperties(value, filter), braces = [`${prefix}[`, \"]\"], value.length === 0 && keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}]`;\n extrasType = kArrayExtrasType, formatter = formatArray;\n } else if (isSet(value)) {\n const size = SetPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Set\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatSet, null, value) : FunctionPrototypeBind(formatSet, null, SetPrototypeValues(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isMap(value)) {\n const size = MapPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Map\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatMap, null, value) : FunctionPrototypeBind(formatMap, null, MapPrototypeEntries(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isTypedArray(value)) {\n keys = getOwnNonIndexProperties(value, filter);\n let bound = value, fallback = \"\";\n if (constructor === null)\n fallback = TypedArrayPrototypeGetSymbolToStringTag(value), bound = new primordials[fallback](value);\n const size = TypedArrayPrototypeGetLength(value);\n if (braces = [`${getPrefix(constructor, tag, fallback, `(${size})`)}[`, \"]\"], value.length === 0 && keys.length === 0 && !ctx.showHidden)\n return `${braces[0]}]`;\n formatter = FunctionPrototypeBind(formatTypedArray, null, bound, size), extrasType = kArrayExtrasType;\n } else if (isMapIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Map\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else if (isSetIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Set\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else\n noIterator = !0;\n if (noIterator)\n if (keys = getKeys(value, ctx.showHidden), braces = [\"{\", \"}\"], constructor === \"Object\") {\n if (isArgumentsObject(value))\n braces[0] = \"[Arguments] {\";\n else if (tag !== \"\")\n braces[0] = `${getPrefix(constructor, tag, \"Object\")}{`;\n if (keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}}`;\n } else if (typeof value === \"function\") {\n if (base = getFunctionBase(value, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"special\");\n } else if (isRegExp(value)) {\n base = RegExpPrototypeToString(constructor !== null \? value : new RegExp(value));\n const prefix = getPrefix(constructor, tag, \"RegExp\");\n if (prefix !== \"RegExp \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined || recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(base, \"regexp\");\n } else if (isDate(value)) {\n base = NumberIsNaN(DatePrototypeGetTime(value)) \? DatePrototypeToString(value) : DatePrototypeToISOString(value);\n const prefix = getPrefix(constructor, tag, \"Date\");\n if (prefix !== \"Date \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"date\");\n } else if (value instanceof Error) {\n if (base = formatError(value, constructor, tag, ctx, keys), keys.length === 0 && protoProps === @undefined)\n return base;\n } else if (isAnyArrayBuffer(value)) {\n const arrayType = isArrayBuffer(value) \? \"ArrayBuffer\" : \"SharedArrayBuffer\", prefix = getPrefix(constructor, tag, arrayType);\n if (typedArray === @undefined)\n formatter = formatArrayBuffer;\n else if (keys.length === 0 && protoProps === @undefined)\n return prefix + `{ byteLength: ${formatNumber(ctx.stylize, value.byteLength, !1)} }`;\n braces[0] = `${prefix}{`, ArrayPrototypeUnshift(keys, \"byteLength\");\n } else if (isDataView(value))\n braces[0] = `${getPrefix(constructor, tag, \"DataView\")}{`, ArrayPrototypeUnshift(keys, \"byteLength\", \"byteOffset\", \"buffer\");\n else if (isPromise(value))\n braces[0] = `${getPrefix(constructor, tag, \"Promise\")}{`, formatter = formatPromise;\n else if (isWeakSet(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakSet\")}{`, formatter = ctx.showHidden \? formatWeakSet : formatWeakCollection;\n else if (isWeakMap(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakMap\")}{`, formatter = ctx.showHidden \? formatWeakMap : formatWeakCollection;\n else if (isModuleNamespaceObject(value))\n braces[0] = `${getPrefix(constructor, tag, \"Module\")}{`, formatter = formatNamespaceObject.bind(null, keys);\n else if (isBoxedPrimitive(value)) {\n if (base = getBoxedBase(value, ctx, keys, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return base;\n } else {\n if (keys.length === 0 && protoProps === @undefined) {\n if (isExternal(value))\n return ctx.stylize(\"[External: 0]\", \"special\");\n return `${getCtxStyle(value, constructor, tag)}{}`;\n }\n braces[0] = `${getCtxStyle(value, constructor, tag)}{`;\n }\n if (recurseTimes > ctx.depth && ctx.depth !== null) {\n let constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n if (constructor !== null)\n constructorName = `[${constructorName}]`;\n return ctx.stylize(constructorName, \"special\");\n }\n recurseTimes += 1, ctx.seen.push(value), ctx.currentDepth = recurseTimes;\n let output;\n const indentationLvl = ctx.indentationLvl;\n try {\n if (ctx.currentDepth > 1000)\n @throwRangeError(ERROR_STACK_OVERFLOW_MSG);\n output = formatter(ctx, value, recurseTimes);\n for (i = 0;i < keys.length; i++)\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, keys[i], extrasType));\n if (protoProps !== @undefined)\n ArrayPrototypePushApply(output, protoProps);\n } catch (err) {\n if (err instanceof RangeError && err.message === ERROR_STACK_OVERFLOW_MSG) {\n const constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n return ctx.seen.pop(), ctx.indentationLvl = indentationLvl, ctx.stylize(`[${constructorName}: Inspection interrupted prematurely. Maximum call stack size exceeded.]`, \"special\");\n }\n throw new AssertionError(\"handleMaxCallStackSize assertion failed: \" + String(err), !0);\n }\n if (ctx.circular !== @undefined) {\n const index = ctx.circular.get(value);\n if (index !== @undefined)\n if (ctx.seenRefs \?\?= new Set, !ctx.seenRefs.has(index)) {\n ctx.seenRefs.add(index);\n const reference = ctx.stylize(`<ref *${index}>`, \"special\");\n if (ctx.compact !== !0)\n base = base === \"\" \? reference : `${reference} ${base}`;\n else\n braces[0] = `${reference} ${braces[0]}`;\n } else {\n //! this is a non-standard behavior compared to Node's implementation\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n }\n if (ctx.seen.pop(), ctx.sorted) {\n const comparator = ctx.sorted === !0 \? @undefined : ctx.sorted;\n if (extrasType === kObjectType)\n ArrayPrototypeSort(output, comparator);\n else if (keys.length > 1) {\n const sorted = ArrayPrototypeSort(ArrayPrototypeSlice(output, output.length - keys.length), comparator);\n ArrayPrototypeUnshift(sorted, output, output.length - keys.length, keys.length), ReflectApply(ArrayPrototypeSplice, null, sorted);\n }\n }\n const res = reduceToSingleString(ctx, output, base, braces, extrasType, recurseTimes, value), newLength = (ctx.budget[ctx.indentationLvl] || 0) + res.length;\n if (ctx.budget[ctx.indentationLvl] = newLength, newLength > 134217728)\n ctx.depth = -1;\n return res;\n}, getIteratorBraces = function(type, tag) {\n if (tag !== `${type} Iterator`) {\n if (tag !== \"\")\n tag += \"] [\";\n tag += `${type} Iterator`;\n }\n return [`[${tag}] {`, \"}\"];\n}, getBoxedBase = function(value, ctx, keys, constructor, tag) {\n let fn, type;\n if (isNumberObject(value))\n fn = NumberPrototypeValueOf, type = \"Number\";\n else if (isStringObject(value))\n fn = StringPrototypeValueOf, type = \"String\", keys.splice(0, value.length);\n else if (isBooleanObject(value))\n fn = BooleanPrototypeValueOf, type = \"Boolean\";\n else if (isBigIntObject(value))\n fn = BigIntPrototypeValueOf, type = \"BigInt\";\n else\n fn = SymbolPrototypeValueOf, type = \"Symbol\";\n let base = `[${type}`;\n if (type !== constructor)\n if (constructor === null)\n base += \" (null prototype)\";\n else\n base += ` (${constructor})`;\n if (base += `: ${formatPrimitive(stylizeNoColor, fn(value), ctx)}]`, tag !== \"\" && tag !== constructor)\n base += ` [${tag}]`;\n if (keys.length !== 0 || ctx.stylize === stylizeNoColor)\n return base;\n return ctx.stylize(base, StringPrototypeToLowerCase(type));\n}, getClassBase = function(value, constructor, tag) {\n let base = `class ${ObjectPrototypeHasOwnProperty(value, \"name\") && value.name || \"(anonymous)\"}`;\n if (constructor !== \"Function\" && constructor !== null)\n base += ` [${constructor}]`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n if (constructor !== null) {\n const superName = ObjectGetPrototypeOf(value).name;\n if (superName)\n base += ` extends ${superName}`;\n } else\n base += \" extends [null prototype]\";\n return `[${base}]`;\n}, getFunctionBase = function(value, constructor, tag) {\n const stringified = FunctionPrototypeToString(value);\n if (StringPrototypeStartsWith(stringified, \"class\") && StringPrototypeEndsWith(stringified, \"}\")) {\n const slice = StringPrototypeSlice(stringified, 5, -1), bracketIndex = StringPrototypeIndexOf(slice, \"{\");\n if (bracketIndex !== -1 && (!StringPrototypeIncludes(StringPrototypeSlice(slice, 0, bracketIndex), \"(\") || RegExpPrototypeExec(classRegExp, RegExpPrototypeSymbolReplace(stripCommentsRegExp, slice)) !== null))\n return getClassBase(value, constructor, tag);\n }\n let type = \"Function\";\n if (isGeneratorFunction(value))\n type = `Generator${type}`;\n if (isAsyncFunction(value))\n type = `Async${type}`;\n let base = `[${type}`;\n if (constructor === null)\n base += \" (null prototype)\";\n if (value.name === \"\")\n base += \" (anonymous)\";\n else\n base += `: ${value.name}`;\n if (base += \"]\", constructor !== type && constructor !== null)\n base += ` ${constructor}`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n return base;\n}, identicalSequenceRange = function(a, b) {\n for (let i = 0;i < a.length - 3; i++) {\n const pos = b.indexOf(a[i]);\n if (pos !== -1) {\n const rest = b.length - pos;\n if (rest > 3) {\n let len = 1;\n const maxLen = MathMin(a.length - i, rest);\n while (maxLen > len && a[i + len] === b[pos + len])\n len++;\n if (len > 3)\n return { len, offset: i };\n }\n }\n }\n return { len: 0, offset: 0 };\n}, getStackString = function(error) {\n return error.stack \? String(error.stack) : ErrorPrototypeToString(error);\n}, getStackFrames = function(ctx, err, stack) {\n const frames = StringPrototypeSplit(stack, \"\\n\");\n let cause;\n try {\n ({ cause } = err);\n } catch {\n }\n if (cause != null && cause instanceof Error) {\n const causeStack = getStackString(cause), causeStackStart = StringPrototypeIndexOf(causeStack, \"\\n at\");\n if (causeStackStart !== -1) {\n const causeFrames = StringPrototypeSplit(StringPrototypeSlice(causeStack, causeStackStart + 1), \"\\n\"), { len, offset } = identicalSequenceRange(frames, causeFrames);\n if (len > 0) {\n const skipped = len - 2, msg = ` ... ${skipped} lines matching cause stack trace ...`;\n frames.splice(offset + 1, skipped, ctx.stylize(msg, \"undefined\"));\n }\n }\n }\n return frames;\n}, improveStack = function(stack, constructor, name, tag) {\n let len = name.length;\n if (constructor === null || StringPrototypeEndsWith(name, \"Error\") && StringPrototypeStartsWith(stack, name) && (stack.length === len || stack[len] === \":\" || stack[len] === \"\\n\")) {\n let fallback = \"Error\";\n if (constructor === null) {\n const start = RegExpPrototypeExec(/^([A-Z][a-z_ A-Z0-9[\\]()-]+)(\?::|\\n {4}at)/, stack) || RegExpPrototypeExec(/^([a-z_A-Z0-9-]*Error)$/, stack);\n fallback = start && start[1] || \"\", len = fallback.length, fallback = fallback || \"Error\";\n }\n const prefix = StringPrototypeSlice(getPrefix(constructor, tag, fallback), 0, -1);\n if (name !== prefix)\n if (StringPrototypeIncludes(prefix, name))\n if (len === 0)\n stack = `${prefix}: ${stack}`;\n else\n stack = `${prefix}${StringPrototypeSlice(stack, len)}`;\n else\n stack = `${prefix} [${name}]${StringPrototypeSlice(stack, len)}`;\n }\n return stack;\n}, removeDuplicateErrorKeys = function(ctx, keys, err, stack) {\n if (!ctx.showHidden && keys.length !== 0)\n for (let name of [\"name\", \"message\", \"stack\"]) {\n const index = ArrayPrototypeIndexOf(keys, name);\n if (index !== -1 && StringPrototypeIncludes(stack, err[name]))\n ArrayPrototypeSplice(keys, index, 1);\n }\n}, markNodeModules = function(ctx, line) {\n let tempLine = \"\", nodeModule, pos = 0;\n while ((nodeModule = nodeModulesRegExp.exec(line)) !== null)\n tempLine += StringPrototypeSlice(line, pos, nodeModule.index + 14), tempLine += ctx.stylize(nodeModule[1], \"module\"), pos = nodeModule.index + nodeModule[0].length;\n if (pos !== 0)\n line = tempLine + StringPrototypeSlice(line, pos);\n return line;\n}, markCwd = function(ctx, line, workingDirectory) {\n let cwdStartPos = StringPrototypeIndexOf(line, workingDirectory), tempLine = \"\", cwdLength = workingDirectory.length;\n if (cwdStartPos !== -1) {\n if (StringPrototypeSlice(line, cwdStartPos - 7, cwdStartPos) === \"file://\")\n cwdLength += 7, cwdStartPos -= 7;\n const start = line[cwdStartPos - 1] === \"(\" \? cwdStartPos - 1 : cwdStartPos, end = start !== cwdStartPos && StringPrototypeEndsWith(line, \")\") \? -1 : line.length, workingDirectoryEndPos = cwdStartPos + cwdLength + 1, cwdSlice = StringPrototypeSlice(line, start, workingDirectoryEndPos);\n if (tempLine += StringPrototypeSlice(line, 0, start), tempLine += ctx.stylize(cwdSlice, \"undefined\"), tempLine += StringPrototypeSlice(line, workingDirectoryEndPos, end), end === -1)\n tempLine += ctx.stylize(\")\", \"undefined\");\n } else\n tempLine += line;\n return tempLine;\n}, safeGetCWD = function() {\n let workingDirectory;\n try {\n workingDirectory = process.cwd();\n } catch {\n return;\n }\n return workingDirectory;\n}, formatError = function(err, constructor, tag, ctx, keys) {\n const name = err.name != null \? String(err.name) : \"Error\";\n let stack = getStackString(err);\n //! temp fix for Bun losing the error name from inherited errors + extraneous \": \" with no message\n if (stack = stack.replace(/^Error: /, `${name}${err.message \? \": \" : \"\"}`), removeDuplicateErrorKeys(ctx, keys, err, stack), (\"cause\" in err) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"cause\")))\n ArrayPrototypePush(keys, \"cause\");\n if (ArrayIsArray(err.errors) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"errors\")))\n ArrayPrototypePush(keys, \"errors\");\n stack = improveStack(stack, constructor, name, tag);\n let pos = err.message && StringPrototypeIndexOf(stack, err.message) || -1;\n if (pos !== -1)\n pos += err.message.length;\n const stackStart = StringPrototypeIndexOf(stack, \"\\n at\", pos);\n if (stackStart === -1)\n stack = `[${stack}]`;\n else {\n let newStack = StringPrototypeSlice(stack, 0, stackStart);\n const stackFramePart = StringPrototypeSlice(stack, stackStart + 1), lines = getStackFrames(ctx, err, stackFramePart);\n if (ctx.colors) {\n const workingDirectory = safeGetCWD();\n let esmWorkingDirectory;\n for (let line of lines) {\n const core = RegExpPrototypeExec(coreModuleRegExp, line);\n if (core !== null && (StringPrototypeStartsWith(core[1], \"internal/\") || ArrayPrototypeIncludes(@requireNativeModule(\"module\").builtinModules, core[1])))\n newStack += `\\n${ctx.stylize(line, \"undefined\")}`;\n else {\n if (newStack += \"\\n\", line = markNodeModules(ctx, line), workingDirectory !== @undefined) {\n let newLine = markCwd(ctx, line, workingDirectory);\n if (newLine === line)\n esmWorkingDirectory \?\?= pathToFileURL(workingDirectory), newLine = markCwd(ctx, line, esmWorkingDirectory);\n line = newLine;\n }\n newStack += line;\n }\n }\n } else\n newStack += `\\n${ArrayPrototypeJoin(lines, \"\\n\")}`;\n stack = newStack;\n }\n if (ctx.indentationLvl !== 0) {\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl);\n stack = StringPrototypeReplaceAll(stack, \"\\n\", `\\n${indentation}`);\n }\n return stack;\n}, groupArrayElements = function(ctx, output, value) {\n let totalLength = 0, maxLength = 0, i = 0, outputLength = output.length;\n if (ctx.maxArrayLength < output.length)\n outputLength--;\n const separatorSpace = 2, dataLen = new Array(outputLength);\n for (;i < outputLength; i++) {\n const len = getStringWidth(output[i], ctx.colors);\n if (dataLen[i] = len, totalLength += len + separatorSpace, maxLength < len)\n maxLength = len;\n }\n const actualMax = maxLength + separatorSpace;\n if (actualMax * 3 + ctx.indentationLvl < ctx.breakLength && (totalLength / actualMax > 5 || maxLength <= 6)) {\n const averageBias = MathSqrt(actualMax - totalLength / output.length), biasedMax = MathMax(actualMax - 3 - averageBias, 1), columns = MathMin(MathRound(MathSqrt(2.5 * biasedMax * outputLength) / biasedMax), MathFloor((ctx.breakLength - ctx.indentationLvl) / actualMax), ctx.compact * 4, 15);\n if (columns <= 1)\n return output;\n const tmp = [], maxLineLength = [];\n for (let i2 = 0;i2 < columns; i2++) {\n let lineMaxLength = 0;\n for (let j = i2;j < output.length; j += columns)\n if (dataLen[j] > lineMaxLength)\n lineMaxLength = dataLen[j];\n lineMaxLength += separatorSpace, maxLineLength[i2] = lineMaxLength;\n }\n let order = StringPrototypePadStart;\n if (value !== @undefined) {\n for (let i2 = 0;i2 < output.length; i2++)\n if (typeof value[i2] !== \"number\" && typeof value[i2] !== \"bigint\") {\n order = StringPrototypePadEnd;\n break;\n }\n }\n for (let i2 = 0;i2 < outputLength; i2 += columns) {\n const max = MathMin(i2 + columns, outputLength);\n let str = \"\", j = i2;\n for (;j < max - 1; j++) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j];\n str += order(`${output[j]}, `, padding, \" \");\n }\n if (order === StringPrototypePadStart) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j] - separatorSpace;\n str += StringPrototypePadStart(output[j], padding, \" \");\n } else\n str += output[j];\n ArrayPrototypePush(tmp, str);\n }\n if (ctx.maxArrayLength < output.length)\n ArrayPrototypePush(tmp, output[outputLength]);\n output = tmp;\n }\n return output;\n}, addNumericSeparator = function(integerString) {\n let result = \"\", i = integerString.length;\n const start = StringPrototypeStartsWith(integerString, \"-\") \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n result = `_${StringPrototypeSlice(integerString, i - 3, i)}${result}`;\n return i === integerString.length \? integerString : `${StringPrototypeSlice(integerString, 0, i)}${result}`;\n}, addNumericSeparatorEnd = function(integerString) {\n let result = \"\", i = 0;\n for (;i < integerString.length - 3; i += 3)\n result += `${StringPrototypeSlice(integerString, i, i + 3)}_`;\n return i === 0 \? integerString : `${result}${StringPrototypeSlice(integerString, i)}`;\n}, formatNumber = function(fn, number, numericSeparator) {\n if (!numericSeparator) {\n if (ObjectIs(number, -0))\n return fn(\"-0\", \"number\");\n return fn(`${number}`, \"number\");\n }\n const integer = MathTrunc(number), string = String(integer);\n if (integer === number) {\n if (!NumberIsFinite(number) || StringPrototypeIncludes(string, \"e\"))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}`, \"number\");\n }\n if (NumberIsNaN(number))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}.${addNumericSeparatorEnd(StringPrototypeSlice(String(number), string.length + 1))}`, \"number\");\n}, formatBigInt = function(fn, bigint, numericSeparator) {\n const string = String(bigint);\n if (!numericSeparator)\n return fn(`${string}n`, \"bigint\");\n return fn(`${addNumericSeparator(string)}n`, \"bigint\");\n}, formatPrimitive = function(fn, value, ctx) {\n if (typeof value === \"string\") {\n let trailer = \"\";\n if (value.length > ctx.maxStringLength) {\n const remaining = value.length - ctx.maxStringLength;\n value = StringPrototypeSlice(value, 0, ctx.maxStringLength), trailer = `... ${remaining} more character${remaining > 1 \? \"s\" : \"\"}`;\n }\n if (ctx.compact !== !0 && value.length > kMinLineLength && value.length > ctx.breakLength - ctx.indentationLvl - 4)\n return ArrayPrototypeJoin(ArrayPrototypeMap(extractedSplitNewLines(value), (line) => fn(strEscape(line), \"string\")), ` +\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl + 2)}`) + trailer;\n return fn(strEscape(value), \"string\") + trailer;\n }\n if (typeof value === \"number\")\n return formatNumber(fn, value, ctx.numericSeparator);\n if (typeof value === \"bigint\")\n return formatBigInt(fn, value, ctx.numericSeparator);\n if (typeof value === \"boolean\")\n return fn(`${value}`, \"boolean\");\n if (typeof value === \"undefined\")\n return fn(\"undefined\", \"undefined\");\n return fn(SymbolPrototypeToString(value), \"symbol\");\n}, formatNamespaceObject = function(keys, ctx, value, recurseTimes) {\n const output = new Array(keys.length);\n for (let i = 0;i < keys.length; i++)\n try {\n output[i] = formatProperty(ctx, value, recurseTimes, keys[i], kObjectType);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\");\n const tmp = { [keys[i]]: \"\" };\n output[i] = formatProperty(ctx, tmp, recurseTimes, keys[i], kObjectType);\n const pos = StringPrototypeLastIndexOf(output[i], \" \");\n output[i] = StringPrototypeSlice(output[i], 0, pos + 1) + ctx.stylize(\"<uninitialized>\", \"special\");\n }\n return keys.length = 0, output;\n}, formatSpecialArray = function(ctx, value, recurseTimes, maxLength, output, i) {\n const keys = ObjectKeys(value);\n let index = i;\n for (;i < keys.length && output.length < maxLength; i++) {\n const key = keys[i], tmp = +key;\n if (tmp > 4294967294)\n break;\n if (`${index}` !== key) {\n if (RegExpPrototypeExec(numberRegExp, key) === null)\n break;\n const emptyItems = tmp - index, ending = emptyItems > 1 \? \"s\" : \"\", message = `<${emptyItems} empty item${ending}>`;\n if (ArrayPrototypePush(output, ctx.stylize(message, \"undefined\")), index = tmp, output.length === maxLength)\n break;\n }\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, key, kArrayType)), index++;\n }\n const remaining = value.length - index;\n if (output.length !== maxLength) {\n if (remaining > 0) {\n const ending = remaining > 1 \? \"s\" : \"\", message = `<${remaining} empty item${ending}>`;\n ArrayPrototypePush(output, ctx.stylize(message, \"undefined\"));\n }\n } else if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, hexSlice = function(buf, start = 0, end) {\n return ArrayPrototypeJoin(ArrayPrototypeMap(buf.slice(start, end), (x) => (\"00\" + x.toString(16)).slice(-2)), \"\");\n}, formatArrayBuffer = function(ctx, value) {\n let buffer;\n try {\n buffer = new Uint8Array(value);\n } catch {\n return [ctx.stylize(\"(detached)\", \"special\")];\n }\n let str = StringPrototypeTrim(RegExpPrototypeSymbolReplace(/(.{2})/g, hexSlice(buffer, 0, MathMin(ctx.maxArrayLength, buffer.length)), \"$1 \"));\n const remaining = buffer.length - ctx.maxArrayLength;\n if (remaining > 0)\n str += ` ... ${remaining} more byte${remaining > 1 \? \"s\" : \"\"}`;\n return [`${ctx.stylize(\"[Uint8Contents]\", \"special\")}: <${str}>`];\n}, formatArray = function(ctx, value, recurseTimes) {\n const valLen = value.length, len = MathMin(MathMax(0, ctx.maxArrayLength), valLen), remaining = valLen - len, output = [];\n for (let i = 0;i < len; i++) {\n if (!ObjectPrototypeHasOwnProperty(value, i))\n return formatSpecialArray(ctx, value, recurseTimes, len, output, i);\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, i, kArrayType));\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatTypedArray = function(value, length, ctx, ignored, recurseTimes) {\n const maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = value.length - maxLength, output = new Array(maxLength), elementFormatter = value.length > 0 && typeof value[0] === \"number\" \? formatNumber : formatBigInt;\n for (let i = 0;i < maxLength; ++i)\n output[i] = elementFormatter(ctx.stylize, value[i], ctx.numericSeparator);\n if (remaining > 0)\n output[maxLength] = remainingText(remaining);\n if (ctx.showHidden) {\n ctx.indentationLvl += 2;\n for (let key of [\"BYTES_PER_ELEMENT\", \"length\", \"byteLength\", \"byteOffset\", \"buffer\"]) {\n const str = formatValue(ctx, value[key], recurseTimes, !0);\n ArrayPrototypePush(output, `[${key}]: ${str}`);\n }\n ctx.indentationLvl -= 2;\n }\n return output;\n}, formatSet = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let v of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, formatValue(ctx, v, recurseTimes)), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatMap = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let { 0: k, 1: v } of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, `${formatValue(ctx, k, recurseTimes)} => ${formatValue(ctx, v, recurseTimes)}`), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatSetIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), maxLength = MathMin(maxArrayLength, entries.length), output = new Array(maxLength);\n ctx.indentationLvl += 2;\n for (let i = 0;i < maxLength; i++)\n output[i] = formatValue(ctx, entries[i], recurseTimes);\n if (ctx.indentationLvl -= 2, state === kWeak && !ctx.sorted)\n ArrayPrototypeSort(output);\n const remaining = entries.length - maxLength;\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatMapIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), len = entries.length / 2, remaining = len - maxArrayLength, maxLength = MathMin(maxArrayLength, len), output = new Array(maxLength);\n let i = 0;\n if (ctx.indentationLvl += 2, state === kWeak) {\n for (;i < maxLength; i++) {\n const pos = i * 2;\n output[i] = `${formatValue(ctx, entries[pos], recurseTimes)} => ${formatValue(ctx, entries[pos + 1], recurseTimes)}`;\n }\n if (!ctx.sorted)\n ArrayPrototypeSort(output);\n } else\n for (;i < maxLength; i++) {\n const pos = i * 2, res = [formatValue(ctx, entries[pos], recurseTimes), formatValue(ctx, entries[pos + 1], recurseTimes)];\n output[i] = reduceToSingleString(ctx, res, \"\", [\"[\", \"]\"], kArrayExtrasType, recurseTimes);\n }\n if (ctx.indentationLvl -= 2, remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatWeakCollection = function(ctx) {\n return [ctx.stylize(\"<items unknown>\", \"special\")];\n}, formatWeakSet = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatSetIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatWeakMap = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatMapIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatIterator = function(braces, ctx, value, recurseTimes) {\n const { 0: entries, 1: isKeyValue } = previewEntries(value, !0);\n if (isKeyValue)\n return braces[0] = RegExpPrototypeSymbolReplace(/ Iterator] {$/, braces[0], \" Entries] {\"), formatMapIterInner(ctx, recurseTimes, entries, kMapEntries);\n return formatSetIterInner(ctx, recurseTimes, entries, kIterator);\n}, formatPromise = function(ctx, value, recurseTimes) {\n let output;\n const { 0: state, 1: result } = getPromiseDetails(value);\n if (state === kPending)\n output = [ctx.stylize(\"<pending>\", \"special\")];\n else {\n ctx.indentationLvl += 2;\n const str = formatValue(ctx, result, recurseTimes);\n ctx.indentationLvl -= 2, output = [state === kRejected \? `${ctx.stylize(\"<rejected>\", \"special\")} ${str}` : str];\n }\n return output;\n}, formatProperty = function(ctx, value, recurseTimes, key, type, desc, original = value) {\n let name, str, extra = \" \";\n if (desc ||= ObjectGetOwnPropertyDescriptor(value, key) || { value: value[key], enumerable: !0 }, desc.value !== @undefined) {\n const diff = ctx.compact !== !0 || type !== kObjectType \? 2 : 3;\n if (ctx.indentationLvl += diff, str = formatValue(ctx, desc.value, recurseTimes), diff === 3 && ctx.breakLength < getStringWidth(str, ctx.colors))\n extra = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n ctx.indentationLvl -= diff;\n } else if (desc.get !== @undefined) {\n const label = desc.set !== @undefined \? \"Getter/Setter\" : \"Getter\", s = ctx.stylize;\n if (ctx.getters && (ctx.getters === !0 || ctx.getters === \"get\" && desc.set === @undefined || ctx.getters === \"set\" && desc.set !== @undefined))\n try {\n const tmp = desc.get.@call(original);\n if (ctx.indentationLvl += 2, tmp === null)\n str = `${s(`[${label}:`, \"special\")} ${s(\"null\", \"null\")}${s(\"]\", \"special\")}`;\n else if (typeof tmp === \"object\")\n str = `${s(`[${label}]`, \"special\")} ${formatValue(ctx, tmp, recurseTimes)}`;\n else {\n const primitive = formatPrimitive(s, tmp, ctx);\n str = `${s(`[${label}:`, \"special\")} ${primitive}${s(\"]\", \"special\")}`;\n }\n ctx.indentationLvl -= 2;\n } catch (err) {\n const message = `<Inspection threw (${err.message})>`;\n str = `${s(`[${label}:`, \"special\")} ${message}${s(\"]\", \"special\")}`;\n }\n else\n str = ctx.stylize(`[${label}]`, \"special\");\n } else if (desc.set !== @undefined)\n str = ctx.stylize(\"[Setter]\", \"special\");\n else\n str = ctx.stylize(\"undefined\", \"undefined\");\n if (type === kArrayType)\n return str;\n if (typeof key === \"symbol\") {\n const tmp = RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, SymbolPrototypeToString(key), escapeFn);\n name = `[${ctx.stylize(tmp, \"symbol\")}]`;\n } else if (key === \"__proto__\")\n name = \"['__proto__']\";\n else if (desc.enumerable === !1)\n name = `[${RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, key, escapeFn)}]`;\n else if (RegExpPrototypeExec(keyStrRegExp, key) !== null)\n name = ctx.stylize(key, \"name\");\n else\n name = ctx.stylize(strEscape(key), \"string\");\n return `${name}:${extra}${str}`;\n}, isBelowBreakLength = function(ctx, output, start, base) {\n let totalLength = output.length + start;\n if (totalLength + output.length > ctx.breakLength)\n return !1;\n for (let i = 0;i < output.length; i++) {\n if (ctx.colors)\n totalLength += StringPrototypeReplaceAll(output[i], /\\u001B\\[\\d\\d\?m/g, \"\").length;\n else\n totalLength += output[i].length;\n if (totalLength > ctx.breakLength)\n return !1;\n }\n return base === \"\" || !StringPrototypeIncludes(base, \"\\n\");\n}, reduceToSingleString = function(ctx, output, base, braces, extrasType, recurseTimes, value) {\n if (ctx.compact !== !0) {\n if (typeof ctx.compact === \"number\" && ctx.compact >= 1) {\n const entries = output.length;\n if (extrasType === kArrayExtrasType && entries > 6)\n output = groupArrayElements(ctx, output, value);\n if (ctx.currentDepth - recurseTimes < ctx.compact && entries === output.length) {\n const start = output.length + ctx.indentationLvl + braces[0].length + base.length + 10;\n if (isBelowBreakLength(ctx, output, start, base)) {\n const joinedOutput = ArrayPrototypeJoin(output, \", \");\n if (!StringPrototypeIncludes(joinedOutput, \"\\n\"))\n return `${base \? `${base} ` : \"\"}${braces[0]} ${joinedOutput}` + ` ${braces[1]}`;\n }\n }\n }\n const indentation2 = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n return `${base \? `${base} ` : \"\"}${braces[0]}${indentation2} ` + `${ArrayPrototypeJoin(output, `,${indentation2} `)}${indentation2}${braces[1]}`;\n }\n if (isBelowBreakLength(ctx, output, 0, base))\n return `${braces[0]}${base \? ` ${base}` : \"\"} ${ArrayPrototypeJoin(output, \", \")} ` + braces[1];\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl), ln = base === \"\" && braces[0].length === 1 \? \" \" : `${base \? ` ${base}` : \"\"}\\n${indentation} `;\n return `${braces[0]}${ln}${ArrayPrototypeJoin(output, `,\\n${indentation} `)} ${braces[1]}`;\n}, hasBuiltInToString = function(value) {\n const proxyTarget = getProxyDetails(value, !1);\n if (proxyTarget !== @undefined) {\n if (proxyTarget === null)\n return !0;\n value = proxyTarget;\n }\n if (typeof value.toString !== \"function\")\n return !0;\n if (ObjectPrototypeHasOwnProperty(value, \"toString\"))\n return !1;\n let pointer = value;\n do\n pointer = ObjectGetPrototypeOf(pointer);\n while (!ObjectPrototypeHasOwnProperty(pointer, \"toString\"));\n const descriptor = ObjectGetOwnPropertyDescriptor(pointer, \"constructor\");\n return descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name);\n}, tryStringify = function(arg) {\n try {\n return JSONStringify(arg);\n } catch (err) {\n if (!CIRCULAR_ERROR_MESSAGE)\n try {\n const a = {};\n a.a = a, JSONStringify(a);\n } catch (circularError) {\n CIRCULAR_ERROR_MESSAGE = firstErrorLine(circularError);\n }\n if (err.name === \"TypeError\" && firstErrorLine(err) === CIRCULAR_ERROR_MESSAGE)\n return \"[Circular]\";\n throw err;\n }\n}, format = function(...args) {\n return formatWithOptionsInternal(@undefined, args);\n}, formatWithOptions = function(inspectOptions, ...args) {\n return validateObject(inspectOptions, \"inspectOptions\", { allowArray: !0 }), formatWithOptionsInternal(inspectOptions, args);\n}, formatNumberNoColor = function(number, options) {\n return formatNumber(stylizeNoColor, number, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatBigIntNoColor = function(bigint, options) {\n return formatBigInt(stylizeNoColor, bigint, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatWithOptionsInternal = function(inspectOptions, args) {\n const first = args[0];\n let a = 0, str = \"\", join = \"\";\n if (typeof first === \"string\") {\n if (args.length === 1)\n return first;\n let tempStr, lastPos = 0;\n for (let i = 0;i < first.length - 1; i++)\n if (StringPrototypeCharCodeAt(first, i) === 37) {\n const nextChar = StringPrototypeCharCodeAt(first, ++i);\n if (a + 1 !== args.length) {\n switch (nextChar) {\n case 115: {\n const tempArg = args[++a];\n if (typeof tempArg === \"number\")\n tempStr = formatNumberNoColor(tempArg, inspectOptions);\n else if (typeof tempArg === \"bigint\")\n tempStr = formatBigIntNoColor(tempArg, inspectOptions);\n else if (typeof tempArg !== \"object\" || tempArg === null || !hasBuiltInToString(tempArg))\n tempStr = String(tempArg);\n else\n tempStr = inspect(tempArg, {\n ...inspectOptions,\n compact: 3,\n colors: !1,\n depth: 0\n });\n break;\n }\n case 106:\n tempStr = tryStringify(args[++a]);\n break;\n case 100: {\n const tempNum = args[++a];\n if (typeof tempNum === \"bigint\")\n tempStr = formatBigIntNoColor(tempNum, inspectOptions);\n else if (typeof tempNum === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(Number(tempNum), inspectOptions);\n break;\n }\n case 79:\n tempStr = inspect(args[++a], inspectOptions);\n break;\n case 111:\n tempStr = inspect(args[++a], {\n ...inspectOptions,\n showHidden: !0,\n showProxy: !0,\n depth: 4\n });\n break;\n case 105: {\n const tempInteger = args[++a];\n if (typeof tempInteger === \"bigint\")\n tempStr = formatBigIntNoColor(tempInteger, inspectOptions);\n else if (typeof tempInteger === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseInt(tempInteger), inspectOptions);\n break;\n }\n case 102: {\n const tempFloat = args[++a];\n if (typeof tempFloat === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseFloat(tempFloat), inspectOptions);\n break;\n }\n case 99:\n a += 1, tempStr = \"\";\n break;\n case 37:\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n continue;\n default:\n continue;\n }\n if (lastPos !== i - 1)\n str += StringPrototypeSlice(first, lastPos, i - 1);\n str += tempStr, lastPos = i + 1;\n } else if (nextChar === 37)\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n }\n if (lastPos !== 0) {\n if (a++, join = \" \", lastPos < first.length)\n str += StringPrototypeSlice(first, lastPos);\n }\n }\n while (a < args.length) {\n const value = args[a];\n str += join, str += typeof value !== \"string\" \? inspect(value, inspectOptions) : value, join = \" \", a++;\n }\n return str;\n}, isZeroWidthCodePoint = function(code) {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, stripVTControlCharacters = function(str) {\n if (typeof str !== \"string\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"str\", \"string\", str);\n return RegExpPrototypeSymbolReplace(ansi, str, \"\");\n}, getOwnNonIndexProperties = function(a, filter = 2) {\n const desc = ObjectGetOwnPropertyDescriptors(a), ret = [];\n for (let [k, v] of ObjectEntries(desc))\n if (!RegExpPrototypeTest(/^(0|[1-9][0-9]*)$/, k) || NumberParseInt(k, 10) >= 4294967295)\n if (filter === 2 && !v.enumerable)\n continue;\n else\n ArrayPrototypePush(ret, k);\n for (let s of ObjectGetOwnPropertySymbols(a)) {\n const v = ObjectGetOwnPropertyDescriptor(a, s);\n if (filter === 2 && !v.enumerable)\n continue;\n ArrayPrototypePush(ret, s);\n }\n return ret;\n}, getPromiseDetails = function(promise) {\n const state = @getPromiseInternalField(promise, @promiseFieldFlags) & @promiseStateMask;\n if (state !== @promiseStatePending)\n return [\n state === @promiseStateRejected \? kRejected : kFulfilled,\n @getPromiseInternalField(promise, @promiseFieldReactionsOrResult)\n ];\n return [kPending, @undefined];\n}, getProxyDetails = function(proxy, withHandler = !0) {\n if (!@isProxyObject(proxy))\n return @undefined;\n const handler = @getProxyInternalField(proxy, @proxyFieldHandler), target = handler === null \? null : @getProxyInternalField(proxy, @proxyFieldTarget);\n if (withHandler)\n return [target, handler];\n else\n return target;\n}, previewEntries = function(val, isIterator = !1) {\n if (isIterator) {\n const iteratedObject = @getInternalField(val, 1), kind = @getInternalField(val, 2), isEntries = kind === 2;\n if (@isMap(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(iteratedObject)), !0];\n else if (kind === 1)\n return [ArrayFrom(MapPrototypeValues(iteratedObject)), !1];\n else\n return [ArrayFrom(MapPrototypeKeys(iteratedObject)), !1];\n else if (@isSet(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(SetPrototypeEntries(iteratedObject))), !0];\n else\n return [ArrayFrom(iteratedObject), !1];\n else\n throw new Error(\"previewEntries(): Invalid iterator received\");\n }\n if (isWeakMap(val))\n return [];\n if (isWeakSet(val))\n return [];\n else\n throw new Error(\"previewEntries(): Invalid object received\");\n}, internalGetConstructorName = function(val) {\n if (!val || typeof val !== \"object\")\n throw new Error(\"Invalid object\");\n if (val.constructor\?.name)\n return val.constructor.name;\n const str = ObjectPrototypeToString(val), m = StringPrototypeMatch(str, /^\\[object ([^\\]]+)\\]/);\n return m \? m[1] : \"Object\";\n}, $, { pathToFileURL } = @getInternalField(@internalModuleRegistry, 47) || @createInternalModuleById(47), primordials = @getInternalField(@internalModuleRegistry, 5) || @createInternalModuleById(5), {\n Array,\n ArrayFrom,\n ArrayIsArray,\n ArrayPrototypeFilter,\n ArrayPrototypeFlat,\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes,\n ArrayPrototypeIndexOf,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n ArrayPrototypePop,\n ArrayPrototypePush,\n ArrayPrototypePushApply,\n ArrayPrototypeSlice,\n ArrayPrototypeSplice,\n ArrayPrototypeSort,\n ArrayPrototypeUnshift,\n BigIntPrototypeValueOf,\n BooleanPrototypeValueOf,\n DatePrototypeGetTime,\n DatePrototypeToISOString,\n DatePrototypeToString,\n ErrorCaptureStackTrace,\n ErrorPrototypeToString,\n FunctionPrototypeBind,\n FunctionPrototypeToString,\n JSONStringify,\n MapPrototypeGetSize,\n MapPrototypeEntries,\n MapPrototypeValues,\n MapPrototypeKeys,\n MathFloor,\n MathMax,\n MathMin,\n MathRound,\n MathSqrt,\n MathTrunc,\n Number,\n NumberIsFinite,\n NumberIsNaN,\n NumberParseFloat,\n NumberParseInt,\n NumberPrototypeToString,\n NumberPrototypeValueOf,\n Object,\n ObjectAssign,\n ObjectDefineProperty,\n ObjectEntries,\n ObjectGetOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames,\n ObjectGetOwnPropertySymbols,\n ObjectGetPrototypeOf,\n ObjectIs,\n ObjectKeys,\n ObjectPrototypeHasOwnProperty,\n ObjectPrototypePropertyIsEnumerable,\n ObjectPrototypeToString,\n ObjectSeal,\n ObjectSetPrototypeOf,\n ReflectApply,\n ReflectOwnKeys,\n RegExp,\n RegExpPrototypeExec,\n RegExpPrototypeSymbolReplace,\n RegExpPrototypeSymbolSplit,\n RegExpPrototypeTest,\n RegExpPrototypeToString,\n SafeStringIterator,\n SafeMap,\n SafeSet,\n SetPrototypeEntries,\n SetPrototypeGetSize,\n SetPrototypeValues,\n String,\n StringPrototypeCharCodeAt,\n StringPrototypeCodePointAt,\n StringPrototypeIncludes,\n StringPrototypeIndexOf,\n StringPrototypeLastIndexOf,\n StringPrototypeMatch,\n StringPrototypeNormalize,\n StringPrototypePadEnd,\n StringPrototypePadStart,\n StringPrototypeRepeat,\n StringPrototypeReplaceAll,\n StringPrototypeSlice,\n StringPrototypeSplit,\n StringPrototypeEndsWith,\n StringPrototypeStartsWith,\n StringPrototypeToLowerCase,\n StringPrototypeTrim,\n StringPrototypeValueOf,\n SymbolPrototypeToString,\n SymbolPrototypeValueOf,\n SymbolIterator,\n SymbolToStringTag,\n TypedArrayPrototypeGetLength,\n TypedArrayPrototypeGetSymbolToStringTag,\n Uint8Array\n} = primordials, customInspectSymbol = Symbol.for(\"nodejs.util.inspect.custom\"), kPending = Symbol(\"kPending\"), kFulfilled = Symbol(\"kFulfilled\"), kRejected = Symbol(\"kRejected\");\nvar isAsyncFunction = (v) => typeof v === \"function\" && StringPrototypeStartsWith(FunctionPrototypeToString(v), \"async\"), isGeneratorFunction = (v) => typeof v === \"function\" && StringPrototypeMatch(FunctionPrototypeToString(v), /^(async\\s+)\?function *\\*/), isBigIntObject = checkBox(BigInt), isSymbolObject = checkBox(Symbol), {\n isAnyArrayBuffer,\n isArrayBuffer,\n isArgumentsObject,\n isBoxedPrimitive: _native_isBoxedPrimitive,\n isDataView,\n isExternal,\n isMap,\n isMapIterator,\n isModuleNamespaceObject,\n isNativeError,\n isPromise,\n isSet,\n isSetIterator,\n isWeakMap,\n isWeakSet,\n isRegExp,\n isDate,\n isTypedArray,\n isStringObject,\n isNumberObject,\n isBooleanObject\n} = @requireNativeModule(\"util/types\");\n//! The native versions of the commented out functions are currently buggy, so we use the polyfills above for now.\n//! temp workaround to apply is{BigInt,Symbol}Object fix\nvar isBoxedPrimitive = (val) => isBigIntObject(val) || isSymbolObject(val) || _native_isBoxedPrimitive(val);\n\nclass AssertionError extends Error {\n constructor(message, isForced = !1) {\n super(message);\n this.name = \"AssertionError\", this.code = \"ERR_ASSERTION\", this.operator = \"==\", this.generatedMessage = !isForced, this.actual = isForced && @undefined, this.expected = !isForced || @undefined;\n }\n}\nvar codes = {};\n{\n const kTypes = [\n \"string\",\n \"function\",\n \"number\",\n \"object\",\n \"Function\",\n \"Object\",\n \"boolean\",\n \"bigint\",\n \"symbol\"\n ], classRegExp = /^([A-Z][a-z0-9]*)+$/, messages = new SafeMap;\n messages.set(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !ArrayIsArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (StringPrototypeEndsWith(name, \" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${StringPrototypeIncludes(name, \".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), ArrayPrototypeIncludes(kTypes, value))\n ArrayPrototypePush(types, StringPrototypeToLowerCase(value));\n else if (RegExpPrototypeTest(classRegExp, value))\n ArrayPrototypePush(instances, value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), ArrayPrototypePush(other, value);\n if (instances.length > 0) {\n const pos = ArrayPrototypeIndexOf(types, \"object\");\n if (pos !== -1)\n ArrayPrototypeSplice(types, pos, 1), ArrayPrototypePush(instances, \"Object\");\n }\n if (types.length > 0) {\n if (types.length > 2)\n msg += `one of type ${ArrayPrototypeJoin(types, \", \")}, or ${ArrayPrototypePop(types)}`;\n else if (types.length === 2)\n msg += `one of type ${types[0]} or ${types[1]}`;\n else\n msg += `of type ${types[0]}`;\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n if (instances.length > 2)\n msg += `an instance of ${ArrayPrototypeJoin(instances, \", \")}, or ${ArrayPrototypePop(instances)}`;\n else\n msg += `an instance of ${instances[0]}` + (instances.length === 2 \? ` or ${instances[1]}` : \"\");\n if (other.length > 0)\n msg += \" or \";\n }\n if (other.length > 0)\n if (other.length > 2) {\n const last = ArrayPrototypePop(other);\n msg += `one of ${ArrayPrototypeJoin(other, \", \")}, or ${last}`;\n } else if (other.length === 2)\n msg += `one of ${other[0]} or ${other[1]}`;\n else {\n if (StringPrototypeToLowerCase(other[0]) !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\")\n if (actual.constructor && actual.constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else\n msg += `. Received ${inspect(actual, { depth: -1 })}`;\n else {\n let inspected = inspect(actual, { colors: !1 });\n if (inspected.length > 25)\n inspected = `${StringPrototypeSlice(inspected, 0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }), codes[\"ERR_INVALID_ARG_TYPE\"] = function NodeError(...args) {\n const limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n const error = @makeTypeError();\n Error.stackTraceLimit = limit;\n const msg = messages.get(\"ERR_INVALID_ARG_TYPE\");\n assert(typeof msg === \"function\"), assert(msg.length <= args.length, `Code: ERR_INVALID_ARG_TYPE; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`);\n const message = ReflectApply(msg, error, args);\n ObjectDefineProperty(error, \"message\", { value: message, enumerable: !1, writable: !0, configurable: !0 }), ObjectDefineProperty(error, \"toString\", {\n value() {\n return `${this.name} [ERR_INVALID_ARG_TYPE]: ${this.message}`;\n },\n enumerable: !1,\n writable: !0,\n configurable: !0\n });\n let err = error;\n const userStackTraceLimit = Error.stackTraceLimit;\n return Error.stackTraceLimit = @Infinity, ErrorCaptureStackTrace(err), Error.stackTraceLimit = userStackTraceLimit, err.name = `${TypeError.name} [ERR_INVALID_ARG_TYPE]`, err.stack, delete err.name, error.code = \"ERR_INVALID_ARG_TYPE\", error;\n };\n}\nvar validateObject = (value, name, allowArray = !1) => {\n if (value === null || !allowArray && ArrayIsArray(value) || typeof value !== \"object\" && typeof value !== \"function\")\n throw new codes.ERR_INVALID_ARG_TYPE(name, \"Object\", value);\n}, builtInObjects = new SafeSet(ArrayPrototypeFilter(ObjectGetOwnPropertyNames(globalThis), (e) => RegExpPrototypeExec(/^[A-Z][a-zA-Z0-9]+$/, e) !== null)), isUndetectableObject = (v) => typeof v === \"undefined\" && v !== @undefined, ERROR_STACK_OVERFLOW_MSG = \"Maximum call stack size exceeded.\", inspectDefaultOptions = ObjectSeal({\n showHidden: !1,\n depth: 2,\n colors: !1,\n customInspect: !0,\n showProxy: !1,\n maxArrayLength: 100,\n maxStringLength: 1e4,\n breakLength: 80,\n compact: 3,\n sorted: !1,\n getters: !1,\n numericSeparator: !1\n}), inspectReplDefaults = ObjectSeal({\n ...inspectDefaultOptions,\n colors: Bun.enableANSIColors,\n showProxy: !0\n}), kObjectType = 0, kArrayType = 1, kArrayExtrasType = 2, strEscapeSequencesRegExp, strEscapeSequencesReplacer, strEscapeSequencesRegExpSingle, strEscapeSequencesReplacerSingle, extractedSplitNewLines;\ntry {\n strEscapeSequencesRegExp = new RegExp(\"[\\\\x00-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacer = new RegExp(\"[\\0-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\"), strEscapeSequencesRegExpSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacerSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\");\n const extractedNewLineRe = new RegExp(\"(\?<=\\\\n)\");\n extractedSplitNewLines = (value) => RegExpPrototypeSymbolSplit(extractedNewLineRe, value);\n} catch {\n strEscapeSequencesRegExp = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacer = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/g, strEscapeSequencesRegExpSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacerSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/g, extractedSplitNewLines = (value) => {\n const lines = RegExpPrototypeSymbolSplit(/\\n/, value), last = ArrayPrototypePop(lines), nlLines = ArrayPrototypeMap(lines, (line) => line + \"\\n\");\n if (last !== \"\")\n nlLines.push(last);\n return nlLines;\n };\n}\nvar keyStrRegExp = /^[a-zA-Z_][a-zA-Z_0-9]*$/, numberRegExp = /^(0|[1-9][0-9]*)$/, coreModuleRegExp = /^ {4}at (\?:[^/\\\\(]+ \\(|)node:(.+):\\d+:\\d+\\)\?$/, nodeModulesRegExp = /[/\\\\]node_modules[/\\\\](.+\?)(\?=[/\\\\])/g, classRegExp = /^(\\s+[^(]*\?)\\s*{/, stripCommentsRegExp = /(\\/\\/.*\?\\n)|(\\/\\*(.|\\n)*\?\\*\\/)/g, kMinLineLength = 16, kWeak = 0, kIterator = 1, kMapEntries = 2, meta = [\n \"\\\\x00\",\n \"\\\\x01\",\n \"\\\\x02\",\n \"\\\\x03\",\n \"\\\\x04\",\n \"\\\\x05\",\n \"\\\\x06\",\n \"\\\\x07\",\n \"\\\\b\",\n \"\\\\t\",\n \"\\\\n\",\n \"\\\\x0B\",\n \"\\\\f\",\n \"\\\\r\",\n \"\\\\x0E\",\n \"\\\\x0F\",\n \"\\\\x10\",\n \"\\\\x11\",\n \"\\\\x12\",\n \"\\\\x13\",\n \"\\\\x14\",\n \"\\\\x15\",\n \"\\\\x16\",\n \"\\\\x17\",\n \"\\\\x18\",\n \"\\\\x19\",\n \"\\\\x1A\",\n \"\\\\x1B\",\n \"\\\\x1C\",\n \"\\\\x1D\",\n \"\\\\x1E\",\n \"\\\\x1F\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\'\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\\\\\\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\x7F\",\n \"\\\\x80\",\n \"\\\\x81\",\n \"\\\\x82\",\n \"\\\\x83\",\n \"\\\\x84\",\n \"\\\\x85\",\n \"\\\\x86\",\n \"\\\\x87\",\n \"\\\\x88\",\n \"\\\\x89\",\n \"\\\\x8A\",\n \"\\\\x8B\",\n \"\\\\x8C\",\n \"\\\\x8D\",\n \"\\\\x8E\",\n \"\\\\x8F\",\n \"\\\\x90\",\n \"\\\\x91\",\n \"\\\\x92\",\n \"\\\\x93\",\n \"\\\\x94\",\n \"\\\\x95\",\n \"\\\\x96\",\n \"\\\\x97\",\n \"\\\\x98\",\n \"\\\\x99\",\n \"\\\\x9A\",\n \"\\\\x9B\",\n \"\\\\x9C\",\n \"\\\\x9D\",\n \"\\\\x9E\",\n \"\\\\x9F\"\n], getStringWidth;\ninspect.custom = customInspectSymbol;\nObjectDefineProperty(inspect, \"defaultOptions\", {\n __proto__: null,\n get() {\n return inspectDefaultOptions;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectDefaultOptions, options);\n }\n});\nObjectDefineProperty(inspect, \"replDefaults\", {\n __proto__: null,\n get() {\n return inspectReplDefaults;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectReplDefaults, options);\n }\n});\nvar defaultFG = 39, defaultBG = 49;\ninspect.colors = {\n __proto__: null,\n reset: [0, 0],\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n blink: [5, 25],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n doubleunderline: [21, 24],\n black: [30, defaultFG],\n red: [31, defaultFG],\n green: [32, defaultFG],\n yellow: [33, defaultFG],\n blue: [34, defaultFG],\n magenta: [35, defaultFG],\n cyan: [36, defaultFG],\n white: [37, defaultFG],\n bgBlack: [40, defaultBG],\n bgRed: [41, defaultBG],\n bgGreen: [42, defaultBG],\n bgYellow: [43, defaultBG],\n bgBlue: [44, defaultBG],\n bgMagenta: [45, defaultBG],\n bgCyan: [46, defaultBG],\n bgWhite: [47, defaultBG],\n framed: [51, 54],\n overlined: [53, 55],\n gray: [90, defaultFG],\n redBright: [91, defaultFG],\n greenBright: [92, defaultFG],\n yellowBright: [93, defaultFG],\n blueBright: [94, defaultFG],\n magentaBright: [95, defaultFG],\n cyanBright: [96, defaultFG],\n whiteBright: [97, defaultFG],\n bgGray: [100, defaultBG],\n bgRedBright: [101, defaultBG],\n bgGreenBright: [102, defaultBG],\n bgYellowBright: [103, defaultBG],\n bgBlueBright: [104, defaultBG],\n bgMagentaBright: [105, defaultBG],\n bgCyanBright: [106, defaultBG],\n bgWhiteBright: [107, defaultBG]\n};\ndefineColorAlias(\"gray\", \"grey\");\ndefineColorAlias(\"gray\", \"blackBright\");\ndefineColorAlias(\"bgGray\", \"bgGrey\");\ndefineColorAlias(\"bgGray\", \"bgBlackBright\");\ndefineColorAlias(\"dim\", \"faint\");\ndefineColorAlias(\"strikethrough\", \"crossedout\");\ndefineColorAlias(\"strikethrough\", \"strikeThrough\");\ndefineColorAlias(\"strikethrough\", \"crossedOut\");\ndefineColorAlias(\"hidden\", \"conceal\");\ndefineColorAlias(\"inverse\", \"swapColors\");\ndefineColorAlias(\"inverse\", \"swapcolors\");\ndefineColorAlias(\"doubleunderline\", \"doubleUnderline\");\ninspect.styles = {\n __proto__: null,\n special: \"cyan\",\n number: \"yellow\",\n bigint: \"yellow\",\n boolean: \"yellow\",\n undefined: \"grey\",\n null: \"bold\",\n string: \"green\",\n symbol: \"green\",\n date: \"magenta\",\n regexp: \"red\",\n module: \"underline\"\n};\nvar remainingText = (remaining) => `... ${remaining} more item${remaining > 1 \? \"s\" : \"\"}`, firstErrorLine = (error) => StringPrototypeSplit(error.message, \"\\n\", 1)[0], CIRCULAR_ERROR_MESSAGE;\n{\n getStringWidth = function getStringWidth(str, removeControlChars = !0) {\n let width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize(str, \"NFC\");\n for (let char of new SafeStringIterator(str)) {\n const code = StringPrototypeCodePointAt(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n };\n const isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n };\n}\nvar ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new RegExp(ansiPattern, \"g\");\n$ = {\n inspect,\n format,\n formatWithOptions,\n stripVTControlCharacters\n};\n//! non-standard properties, should these be kept\? (not currently exposed)\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeAssertCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/assert.ts\nvar CallTracker = function() {\n throw new Error(\"CallTracker is not supported yet\");\n}, util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), isDeepEqual = Bun.deepEquals, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_errors = __commonJS({\n \"assert/build/internal/errors.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n var codes = {}, assert, util2;\n function createErrorType(code, message, Base) {\n Base || (Base = Error);\n function getMessage(arg1, arg2, arg3) {\n return typeof message == \"string\" \? message : message(arg1, arg2, arg3);\n }\n var NodeError = function(_Base) {\n _inherits(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n var _this;\n return _classCallCheck(this, NodeError2), _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError2).@call(this, getMessage(arg1, arg2, arg3))), _this.code = code, _this;\n }\n return NodeError2;\n }(Base);\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (@Array.isArray(expected)) {\n var len = expected.length;\n return expected = expected.map(function(i) {\n return @String(i);\n }), len > 2 \? \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(\", \"), \", or \") + expected[len - 1] : len === 2 \? \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]) : \"of \".concat(thing, \" \").concat(expected[0]);\n } else\n return \"of \".concat(thing, \" \").concat(@String(expected));\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 \? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n return typeof start != \"number\" && (start = 0), start + search.length > str.length \? !1 : str.indexOf(search, start) !== -1;\n }\n createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\", 'The \"%s\" argument is ambiguous. %s', TypeError), createErrorType(\"ERR_INVALID_ARG_TYPE\", function(name, expected, actual) {\n assert === void 0 && (assert = require_assert()), assert(typeof name == \"string\", \"'name' must be a string\");\n var determiner;\n typeof expected == \"string\" && startsWith(expected, \"not \") \? (determiner = \"must not be\", expected = expected.replace(/^not /, \"\")) : determiner = \"must be\";\n var msg;\n if (endsWith(name, \" argument\"))\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n else {\n var type = includes(name, \".\") \? \"property\" : \"argument\";\n msg = 'The \"'.concat(name, '\" ').concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n }\n return msg += \". Received type \".concat(_typeof(actual)), msg;\n }, TypeError), createErrorType(\"ERR_INVALID_ARG_VALUE\", function(name, value) {\n var reason = arguments.length > 2 && arguments[2] !== void 0 \? arguments[2] : \"is invalid\", inspected = util2.inspect(value);\n return inspected.length > 128 && (inspected = \"\".concat(inspected.slice(0, 128), \"...\")), \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n }, TypeError, RangeError), createErrorType(\"ERR_INVALID_RETURN_VALUE\", function(input, name, value) {\n var type;\n return value && value.constructor && value.constructor.name \? type = \"instance of \".concat(value.constructor.name) : type = \"type \".concat(_typeof(value)), \"Expected \".concat(input, ' to be returned from the \"').concat(name, '\"') + \" function but got \".concat(type, \".\");\n }, TypeError), createErrorType(\"ERR_MISSING_ARGS\", function() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n assert === void 0 && (assert = require_assert()), assert(args.length > 0, \"At least one arg needs to be specified\");\n var msg = \"The \", len = args.length;\n switch (args = args.map(function(a) {\n return '\"'.concat(a, '\"');\n }), len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n default:\n msg += args.slice(0, len - 1).join(\", \"), msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n return \"\".concat(msg, \" must be specified\");\n }, TypeError), module2.exports.codes = codes;\n }\n}), require_assertion_error = __commonJS({\n \"assert/build/internal/assert/assertion_error.js\"(exports, module2) {\n function _objectSpread(target) {\n for (var i = 1;i < arguments.length; i++) {\n var source = arguments[i] != null \? arguments[i] : {}, ownKeys = Object.keys(source);\n typeof Object.getOwnPropertySymbols == \"function\" && (ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }))), ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n return (key in obj) \? Object.defineProperty(obj, key, {\n value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _defineProperties(target, props) {\n for (var i = 0;i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, (\"value\" in descriptor) && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map == \"function\" \? new Map : void 0;\n return _wrapNativeSuper = function(Class2) {\n if (Class2 === null || !_isNativeFunction(Class2))\n return Class2;\n if (typeof Class2 != \"function\")\n @throwTypeError(\"Super expression must either be null or a function\");\n if (typeof _cache != \"undefined\") {\n if (_cache.has(Class2))\n return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(Class2.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), _setPrototypeOf(Wrapper, Class2);\n }, _wrapNativeSuper(Class);\n }\n function isNativeReflectConstruct() {\n if (typeof Reflect == \"undefined\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Date.prototype.toString.@call(Reflect.construct(Date, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n }\n function _construct(Parent, args, Class) {\n return isNativeReflectConstruct() \? _construct = Reflect.construct : _construct = function(Parent2, args2, Class2) {\n var a = [null];\n a.push.@apply(a, args2);\n var Constructor = Function.bind.@apply(Parent2, a), instance = new Constructor;\n return Class2 && _setPrototypeOf(instance, Class2.prototype), instance;\n }, _construct.@apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n return Function.toString.@call(fn).indexOf(\"[native code]\") !== -1;\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n var inspect = util.inspect, _require2 = require_errors(), ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function repeat(str, count) {\n if (count = Math.floor(count), str.length == 0 || count == 0)\n return \"\";\n var maxCount = str.length * count;\n for (count = Math.floor(Math.log(count) / Math.log(2));count; )\n str += str, count--;\n return str += str.substring(0, maxCount - str.length), str;\n }\n var blue = \"\", green = \"\", red = \"\", white = \"\", kReadableOperator = {\n deepStrictEqual: \"Expected values to be strictly deep-equal:\",\n strictEqual: \"Expected values to be strictly equal:\",\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: \"Expected values to be loosely deep-equal:\",\n equal: \"Expected values to be loosely equal:\",\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: \"Values identical but not reference-equal:\"\n }, kMaxShortLength = 10;\n function copyError(source) {\n var keys = Object.keys(source), target = Object.create(Object.getPrototypeOf(source));\n return keys.forEach(function(key) {\n target[key] = source[key];\n }), Object.defineProperty(target, \"message\", {\n value: source.message\n }), target;\n }\n function inspectValue(val) {\n return inspect(val, {\n compact: !1,\n customInspect: !1,\n depth: 1000,\n maxArrayLength: Infinity,\n showHidden: !1,\n breakLength: Infinity,\n showProxy: !1,\n sorted: !0,\n getters: !0\n });\n }\n function createErrDiff(actual, expected, operator) {\n var other = \"\", res = \"\", lastPos = 0, end = \"\", skipped = !1, actualInspected = inspectValue(actual), actualLines = actualInspected.split(`\n`), expectedLines = inspectValue(expected).split(`\n`), i = 0, indicator = \"\";\n if (operator === \"strictEqual\" && _typeof(actual) === \"object\" && _typeof(expected) === \"object\" && actual !== null && expected !== null && (operator = \"strictEqualObject\"), actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length;\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== \"object\" || actual === null) && (_typeof(expected) !== \"object\" || expected === null) && (actual !== 0 || expected !== 0))\n return \"\".concat(kReadableOperator[operator], `\n\n`) + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], `\n`);\n } else if (operator !== \"strictEqualObject\") {\n var maxLength = process.stderr && process.stderr.isTTY \? process.stderr.columns : 80;\n if (inputLength < maxLength) {\n for (;actualLines[0][i] === expectedLines[0][i]; )\n i++;\n i > 2 && (indicator = `\n `.concat(repeat(\" \", i), \"^\"), i = 0);\n }\n }\n }\n for (var a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];a === b && (i++ < 2 \? end = `\n `.concat(a).concat(end) : other = a, actualLines.pop(), expectedLines.pop(), !(actualLines.length === 0 || expectedLines.length === 0)); )\n a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];\n var maxLines = Math.max(actualLines.length, expectedLines.length);\n if (maxLines === 0) {\n var _actualLines = actualInspected.split(`\n`);\n if (_actualLines.length > 30)\n for (_actualLines[26] = \"\".concat(blue, \"...\").concat(white);_actualLines.length > 27; )\n _actualLines.pop();\n return \"\".concat(kReadableOperator.notIdentical, `\n\n`).concat(_actualLines.join(`\n`), `\n`);\n }\n i > 3 && (end = `\n`.concat(blue, \"...\").concat(white).concat(end), skipped = !0), other !== \"\" && (end = `\n `.concat(other).concat(end), other = \"\");\n var printedLines = 0, msg = kReadableOperator[operator] + `\n`.concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white), skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n for (i = 0;i < maxLines; i++) {\n var cur = i - lastPos;\n if (actualLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(expectedLines[i - 2]), printedLines++), res += `\n `.concat(expectedLines[i - 1]), printedLines++), lastPos = i, other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]), printedLines++;\n else if (expectedLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLines[i]), printedLines++;\n else {\n var expectedLine = expectedLines[i], actualLine = actualLines[i], divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, \",\") || actualLine.slice(0, -1) !== expectedLine);\n divergingLines && endsWith(expectedLine, \",\") && expectedLine.slice(0, -1) === actualLine && (divergingLines = !1, actualLine += \",\"), divergingLines \? (cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLine), other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLine), printedLines += 2) : (res += other, other = \"\", (cur === 1 || i === 0) && (res += `\n `.concat(actualLine), printedLines++));\n }\n if (printedLines > 20 && i < maxLines - 2)\n return \"\".concat(msg).concat(skippedMsg, `\n`).concat(res, `\n`).concat(blue, \"...\").concat(white).concat(other, `\n`) + \"\".concat(blue, \"...\").concat(white);\n }\n return \"\".concat(msg).concat(skipped \? skippedMsg : \"\", `\n`).concat(res).concat(other).concat(end).concat(indicator);\n }\n var AssertionError = function(_Error) {\n function AssertionError2(options) {\n var _this;\n if (_classCallCheck(this, AssertionError2), _typeof(options) !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n var { message, operator, stackStartFn, actual, expected } = options, limit = Error.stackTraceLimit;\n if (Error.stackTraceLimit = 0, message != null)\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, @String(message)));\n else if (process.stderr && process.stderr.isTTY && (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1 \? (blue = \"[34m\", green = \"[32m\", white = \"[39m\", red = \"[31m\") : (blue = \"\", green = \"\", white = \"\", red = \"\")), _typeof(actual) === \"object\" && actual !== null && _typeof(expected) === \"object\" && expected !== null && (\"stack\" in actual) && actual instanceof Error && (\"stack\" in expected) && expected instanceof Error && (actual = copyError(actual), expected = copyError(expected)), operator === \"deepStrictEqual\" || operator === \"strictEqual\")\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, createErrDiff(actual, expected, operator)));\n else if (operator === \"notDeepStrictEqual\" || operator === \"notStrictEqual\") {\n var base = kReadableOperator[operator], res = inspectValue(actual).split(`\n`);\n if (operator === \"notStrictEqual\" && _typeof(actual) === \"object\" && actual !== null && (base = kReadableOperator.notStrictEqualObject), res.length > 30)\n for (res[26] = \"\".concat(blue, \"...\").concat(white);res.length > 27; )\n res.pop();\n res.length === 1 \? _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, \" \").concat(res[0]))) : _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, `\n\n`).concat(res.join(`\n`), `\n`)));\n } else {\n var _res = inspectValue(actual), other = \"\", knownOperators = kReadableOperator[operator];\n operator === \"notDeepEqual\" || operator === \"notEqual\" \? (_res = \"\".concat(kReadableOperator[operator], `\n\n`).concat(_res), _res.length > 1024 && (_res = \"\".concat(_res.slice(0, 1021), \"...\"))) : (other = \"\".concat(inspectValue(expected)), _res.length > 512 && (_res = \"\".concat(_res.slice(0, 509), \"...\")), other.length > 512 && (other = \"\".concat(other.slice(0, 509), \"...\")), operator === \"deepEqual\" || operator === \"equal\" \? _res = \"\".concat(knownOperators, `\n\n`).concat(_res, `\n\nshould equal\n\n`) : other = \" \".concat(operator, \" \").concat(other)), _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(_res).concat(other)));\n }\n return Error.stackTraceLimit = limit, _this.generatedMessage = !message, Object.defineProperty(_assertThisInitialized(_this), \"name\", {\n value: \"AssertionError [ERR_ASSERTION]\",\n enumerable: !1,\n writable: !0,\n configurable: !0\n }), _this.code = \"ERR_ASSERTION\", _this.actual = actual, _this.expected = expected, _this.operator = operator, Error.captureStackTrace && Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn), _this.stack, _this.name = \"AssertionError\", _possibleConstructorReturn(_this);\n }\n return AssertionError2.prototype = {}, _inherits(AssertionError2, _Error), _createClass(AssertionError2, [\n {\n key: \"toString\",\n value: function() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n },\n {\n key: inspect.custom,\n value: function(recurseTimes, ctx) {\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: !1,\n depth: 0\n }));\n }\n }\n ]), AssertionError2;\n }(_wrapNativeSuper(Error));\n module2.exports = AssertionError;\n }\n}), require_assert = __commonJS({\n \"assert/build/assert.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n var _require = require_errors(), _require$codes = _require.codes, ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT, ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE, ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, AssertionError = require_assertion_error(), _require2 = util, inspect = _require2.inspect, _require$types = util.types, isPromise = _require$types.isPromise, isRegExp = _require$types.isRegExp, objectAssign = Object.assign, objectIs = Object.is, errorCache = new Map, warned = !1, assert = module2.exports = ok, NO_EXCEPTION_SENTINEL = {};\n function innerFail(obj) {\n throw obj.message instanceof Error \? obj.message : new AssertionError(obj);\n }\n function fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length, internalMessage;\n if (argsLen === 0)\n internalMessage = \"Failed\";\n else if (argsLen === 1)\n message = actual, actual = void 0;\n else {\n if (warned === !1) {\n warned = !0;\n var warn = process.emitWarning \? process.emitWarning : console.warn.bind(console);\n warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\", \"DeprecationWarning\", \"DEP0094\");\n }\n argsLen === 2 && (operator = \"!=\");\n }\n if (message instanceof Error)\n throw message;\n var errArgs = {\n actual,\n expected,\n operator: operator === void 0 \? \"fail\" : operator,\n stackStartFn: stackStartFn || fail\n };\n message !== void 0 && (errArgs.message = message);\n var err = new AssertionError(errArgs);\n throw internalMessage && (err.message = internalMessage, err.generatedMessage = !0), err;\n }\n assert.fail = fail, assert.AssertionError = AssertionError;\n function innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = !1;\n if (argLen === 0)\n generatedMessage = !0, message = \"No value argument passed to `assert.ok()`\";\n else if (message instanceof Error)\n throw message;\n var err = new AssertionError({\n actual: value,\n expected: !0,\n message,\n operator: \"==\",\n stackStartFn: fn\n });\n throw err.generatedMessage = generatedMessage, err;\n }\n }\n function ok() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n innerOk.@apply(void 0, [ok, args.length].concat(args));\n }\n assert.ok = ok, assert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual != expected && innerFail({\n actual,\n expected,\n message,\n operator: \"==\",\n stackStartFn: equal\n });\n }, assert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual == expected && innerFail({\n actual,\n expected,\n message,\n operator: \"!=\",\n stackStartFn: notEqual\n });\n }, assert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepEqual\",\n stackStartFn: deepEqual\n });\n }, assert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepEqual\",\n stackStartFn: notDeepEqual\n });\n }, assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepStrictEqual\",\n stackStartFn: deepStrictEqual\n });\n }, assert.notDeepStrictEqual = notDeepStrictEqual;\n function notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepStrictEqual\",\n stackStartFn: notDeepStrictEqual\n });\n }\n assert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) || innerFail({\n actual,\n expected,\n message,\n operator: \"strictEqual\",\n stackStartFn: strictEqual\n });\n }, assert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) && innerFail({\n actual,\n expected,\n message,\n operator: \"notStrictEqual\",\n stackStartFn: notStrictEqual\n });\n }, assert.match = function match(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n if (!isRegExp(expected))\n throw new ERR_INVALID_ARG_TYPE(\"expected\", \"RegExp\", expected);\n expected.test(actual) || innerFail({\n actual,\n expected,\n message,\n operator: \"match\",\n stackStartFn: match\n });\n };\n var Comparison = function Comparison2(obj, keys, actual) {\n var _this = this;\n _classCallCheck(this, Comparison2), keys.forEach(function(key) {\n (key in obj) && (actual !== void 0 && typeof actual[key] == \"string\" && isRegExp(obj[key]) && obj[key].test(actual[key]) \? _this[key] = actual[key] : _this[key] = obj[key]);\n });\n };\n function compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepEqual(actual[key], expected[key], !0)) {\n if (!message) {\n var a = new Comparison(actual, keys), b = new Comparison(expected, keys, actual), err = new AssertionError({\n actual: a,\n expected: b,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.actual = actual, err.expected = expected, err.operator = fn.name, err;\n }\n innerFail({\n actual,\n expected,\n message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n }\n function expectedException(actual, expected, msg, fn) {\n if (typeof expected != \"function\") {\n if (isRegExp(expected))\n return expected.test(actual);\n if (arguments.length === 2)\n throw new ERR_INVALID_ARG_TYPE(\"expected\", [\"Function\", \"RegExp\"], expected);\n if (_typeof(actual) !== \"object\" || actual === null) {\n var err = new AssertionError({\n actual,\n expected,\n message: msg,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.operator = fn.name, err;\n }\n var keys = Object.keys(expected);\n if (expected instanceof Error)\n keys.push(\"name\", \"message\");\n else if (keys.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"error\", expected, \"may not be an empty object\");\n return keys.forEach(function(key) {\n return typeof actual[key] == \"string\" && isRegExp(expected[key]) && expected[key].test(actual[key]) || compareExceptionKey(actual, expected, key, msg, keys, fn);\n }), !0;\n }\n return expected.prototype !== void 0 && actual instanceof expected \? !0 : Error.isPrototypeOf(expected) \? !1 : expected.@call({}, actual) === !0;\n }\n function getActual(fn) {\n if (typeof fn != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"fn\", \"Function\", fn);\n try {\n fn();\n } catch (e) {\n return e;\n }\n return NO_EXCEPTION_SENTINEL;\n }\n function checkIsPromise(obj) {\n return isPromise(obj) || obj !== null && _typeof(obj) === \"object\" && typeof obj.then == \"function\" && typeof obj.catch == \"function\";\n }\n function waitForActual(promiseFn) {\n return @Promise.resolve().then(function() {\n var resultPromise;\n if (typeof promiseFn == \"function\") {\n if (resultPromise = promiseFn(), !checkIsPromise(resultPromise))\n throw new ERR_INVALID_RETURN_VALUE(\"instance of Promise\", \"promiseFn\", resultPromise);\n } else if (checkIsPromise(promiseFn))\n resultPromise = promiseFn;\n else\n throw new ERR_INVALID_ARG_TYPE(\"promiseFn\", [\"Function\", \"Promise\"], promiseFn);\n return @Promise.resolve().then(function() {\n return resultPromise;\n }).then(function() {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function(e) {\n return e;\n });\n });\n }\n function expectsError(stackStartFn, actual, error, message) {\n if (typeof error == \"string\") {\n if (arguments.length === 4)\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (_typeof(actual) === \"object\" && actual !== null) {\n if (actual.message === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error message \"'.concat(actual.message, '\" is identical to the message.'));\n } else if (actual === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error \"'.concat(actual, '\" is identical to the message.'));\n message = error, error = void 0;\n } else if (error != null && _typeof(error) !== \"object\" && typeof error != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = \"\";\n error && error.name && (details += \" (\".concat(error.name, \")\")), details += message \? \": \".concat(message) : \".\";\n var fnType = stackStartFn.name === \"rejects\" \? \"rejection\" : \"exception\";\n innerFail({\n actual: void 0,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn\n });\n }\n if (error && !expectedException(actual, error, message, stackStartFn))\n throw actual;\n }\n function expectsNoError(stackStartFn, actual, error, message) {\n if (actual !== NO_EXCEPTION_SENTINEL) {\n if (typeof error == \"string\" && (message = error, error = void 0), !error || expectedException(actual, error)) {\n var details = message \? \": \".concat(message) : \".\", fnType = stackStartFn.name === \"doesNotReject\" \? \"rejection\" : \"exception\";\n innerFail({\n actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, `\n`) + 'Actual message: \"'.concat(actual && actual.message, '\"'),\n stackStartFn\n });\n }\n throw actual;\n }\n }\n assert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new @Array(_len2 > 1 \? _len2 - 1 : 0), _key2 = 1;_key2 < _len2; _key2++)\n args[_key2 - 1] = arguments[_key2];\n expectsError.@apply(void 0, [throws, getActual(promiseFn)].concat(args));\n }, assert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new @Array(_len3 > 1 \? _len3 - 1 : 0), _key3 = 1;_key3 < _len3; _key3++)\n args[_key3 - 1] = arguments[_key3];\n return waitForActual(promiseFn).then(function(result) {\n return expectsError.@apply(void 0, [rejects, result].concat(args));\n });\n }, assert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new @Array(_len4 > 1 \? _len4 - 1 : 0), _key4 = 1;_key4 < _len4; _key4++)\n args[_key4 - 1] = arguments[_key4];\n expectsNoError.@apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n }, assert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new @Array(_len5 > 1 \? _len5 - 1 : 0), _key5 = 1;_key5 < _len5; _key5++)\n args[_key5 - 1] = arguments[_key5];\n return waitForActual(fn).then(function(result) {\n return expectsNoError.@apply(void 0, [doesNotReject, result].concat(args));\n });\n }, assert.ifError = function ifError(err) {\n if (err != null) {\n var message = \"ifError got unwanted exception: \";\n _typeof(err) === \"object\" && typeof err.message == \"string\" \? err.message.length === 0 && err.constructor \? message += err.constructor.name : message += err.message : message += inspect(err);\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: \"ifError\",\n message,\n stackStartFn: ifError\n }), origStack = err.stack;\n if (typeof origStack == \"string\") {\n var tmp2 = origStack.split(`\n`);\n tmp2.shift();\n for (var tmp1 = newErr.stack.split(`\n`), i = 0;i < tmp2.length; i++) {\n var pos = tmp1.indexOf(tmp2[i]);\n if (pos !== -1) {\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n newErr.stack = \"\".concat(tmp1.join(`\n`), `\n`).concat(tmp2.join(`\n`));\n }\n throw newErr;\n }\n };\n function strict() {\n for (var _len6 = arguments.length, args = new @Array(_len6), _key6 = 0;_key6 < _len6; _key6++)\n args[_key6] = arguments[_key6];\n innerOk.@apply(void 0, [strict, args.length].concat(args));\n }\n assert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n }), assert.strict.strict = assert.strict;\n }\n}), assert_module = require_assert();\nassert_module.CallTracker = CallTracker;\nreturn assert_module})\n"); +static constexpr ASCIILiteral NodeAssertCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/assert.ts\nvar CallTracker = function() {\n throw new Error(\"CallTracker is not supported yet\");\n}, util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), isDeepEqual = Bun.deepEquals, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_errors = __commonJS({\n \"assert/build/internal/errors.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n var codes = {}, assert, util2;\n function createErrorType(code, message, Base) {\n Base || (Base = Error);\n function getMessage(arg1, arg2, arg3) {\n return typeof message == \"string\" \? message : message(arg1, arg2, arg3);\n }\n var NodeError = function(_Base) {\n _inherits(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n var _this;\n return _classCallCheck(this, NodeError2), _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError2).@call(this, getMessage(arg1, arg2, arg3))), _this.code = code, _this;\n }\n return NodeError2;\n }(Base);\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (@Array.isArray(expected)) {\n var len = expected.length;\n return expected = expected.map(function(i) {\n return @String(i);\n }), len > 2 \? \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(\", \"), \", or \") + expected[len - 1] : len === 2 \? \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]) : \"of \".concat(thing, \" \").concat(expected[0]);\n } else\n return \"of \".concat(thing, \" \").concat(@String(expected));\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 \? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n return typeof start != \"number\" && (start = 0), start + search.length > str.length \? !1 : str.indexOf(search, start) !== -1;\n }\n createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\", 'The \"%s\" argument is ambiguous. %s', TypeError), createErrorType(\"ERR_INVALID_ARG_TYPE\", function(name, expected, actual) {\n assert === void 0 && (assert = require_assert()), assert(typeof name == \"string\", \"'name' must be a string\");\n var determiner;\n typeof expected == \"string\" && startsWith(expected, \"not \") \? (determiner = \"must not be\", expected = expected.replace(/^not /, \"\")) : determiner = \"must be\";\n var msg;\n if (endsWith(name, \" argument\"))\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n else {\n var type = includes(name, \".\") \? \"property\" : \"argument\";\n msg = 'The \"'.concat(name, '\" ').concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n }\n return msg += \". Received type \".concat(_typeof(actual)), msg;\n }, TypeError), createErrorType(\"ERR_INVALID_ARG_VALUE\", function(name, value) {\n var reason = arguments.length > 2 && arguments[2] !== void 0 \? arguments[2] : \"is invalid\", inspected = util2.inspect(value);\n return inspected.length > 128 && (inspected = \"\".concat(inspected.slice(0, 128), \"...\")), \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n }, TypeError, RangeError), createErrorType(\"ERR_INVALID_RETURN_VALUE\", function(input, name, value) {\n var type;\n return value && value.constructor && value.constructor.name \? type = \"instance of \".concat(value.constructor.name) : type = \"type \".concat(_typeof(value)), \"Expected \".concat(input, ' to be returned from the \"').concat(name, '\"') + \" function but got \".concat(type, \".\");\n }, TypeError), createErrorType(\"ERR_MISSING_ARGS\", function() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n assert === void 0 && (assert = require_assert()), assert(args.length > 0, \"At least one arg needs to be specified\");\n var msg = \"The \", len = args.length;\n switch (args = args.map(function(a) {\n return '\"'.concat(a, '\"');\n }), len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n default:\n msg += args.slice(0, len - 1).join(\", \"), msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n return \"\".concat(msg, \" must be specified\");\n }, TypeError), module2.exports.codes = codes;\n }\n}), require_assertion_error = __commonJS({\n \"assert/build/internal/assert/assertion_error.js\"(exports, module2) {\n function _objectSpread(target) {\n for (var i = 1;i < arguments.length; i++) {\n var source = arguments[i] != null \? arguments[i] : {}, ownKeys = Object.keys(source);\n typeof Object.getOwnPropertySymbols == \"function\" && (ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }))), ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n return (key in obj) \? Object.defineProperty(obj, key, {\n value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _defineProperties(target, props) {\n for (var i = 0;i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, (\"value\" in descriptor) && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map == \"function\" \? new Map : void 0;\n return _wrapNativeSuper = function(Class2) {\n if (Class2 === null || !_isNativeFunction(Class2))\n return Class2;\n if (typeof Class2 != \"function\")\n @throwTypeError(\"Super expression must either be null or a function\");\n if (typeof _cache != \"undefined\") {\n if (_cache.has(Class2))\n return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(Class2.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), _setPrototypeOf(Wrapper, Class2);\n }, _wrapNativeSuper(Class);\n }\n function isNativeReflectConstruct() {\n if (typeof Reflect == \"undefined\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Date.prototype.toString.@call(Reflect.construct(Date, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n }\n function _construct(Parent, args, Class) {\n return isNativeReflectConstruct() \? _construct = Reflect.construct : _construct = function(Parent2, args2, Class2) {\n var a = [null];\n a.push.@apply(a, args2);\n var Constructor = Function.bind.@apply(Parent2, a), instance = new Constructor;\n return Class2 && _setPrototypeOf(instance, Class2.prototype), instance;\n }, _construct.@apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n return Function.toString.@call(fn).indexOf(\"[native code]\") !== -1;\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n var inspect = util.inspect, _require2 = require_errors(), ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function repeat(str, count) {\n if (count = Math.floor(count), str.length == 0 || count == 0)\n return \"\";\n var maxCount = str.length * count;\n for (count = Math.floor(Math.log(count) / Math.log(2));count; )\n str += str, count--;\n return str += str.substring(0, maxCount - str.length), str;\n }\n var blue = \"\", green = \"\", red = \"\", white = \"\", kReadableOperator = {\n deepStrictEqual: \"Expected values to be strictly deep-equal:\",\n strictEqual: \"Expected values to be strictly equal:\",\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: \"Expected values to be loosely deep-equal:\",\n equal: \"Expected values to be loosely equal:\",\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: \"Values identical but not reference-equal:\"\n }, kMaxShortLength = 10;\n function copyError(source) {\n var keys = Object.keys(source), target = Object.create(Object.getPrototypeOf(source));\n return keys.forEach(function(key) {\n target[key] = source[key];\n }), Object.defineProperty(target, \"message\", {\n value: source.message\n }), target;\n }\n function inspectValue(val) {\n return inspect(val, {\n compact: !1,\n customInspect: !1,\n depth: 1000,\n maxArrayLength: Infinity,\n showHidden: !1,\n breakLength: Infinity,\n showProxy: !1,\n sorted: !0,\n getters: !0\n });\n }\n function createErrDiff(actual, expected, operator) {\n var other = \"\", res = \"\", lastPos = 0, end = \"\", skipped = !1, actualInspected = inspectValue(actual), actualLines = actualInspected.split(`\n`), expectedLines = inspectValue(expected).split(`\n`), i = 0, indicator = \"\";\n if (operator === \"strictEqual\" && _typeof(actual) === \"object\" && _typeof(expected) === \"object\" && actual !== null && expected !== null && (operator = \"strictEqualObject\"), actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length;\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== \"object\" || actual === null) && (_typeof(expected) !== \"object\" || expected === null) && (actual !== 0 || expected !== 0))\n return \"\".concat(kReadableOperator[operator], `\n\n`) + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], `\n`);\n } else if (operator !== \"strictEqualObject\") {\n var maxLength = process.stderr && process.stderr.isTTY \? process.stderr.columns : 80;\n if (inputLength < maxLength) {\n for (;actualLines[0][i] === expectedLines[0][i]; )\n i++;\n i > 2 && (indicator = `\n `.concat(repeat(\" \", i), \"^\"), i = 0);\n }\n }\n }\n for (var a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];a === b && (i++ < 2 \? end = `\n `.concat(a).concat(end) : other = a, actualLines.pop(), expectedLines.pop(), !(actualLines.length === 0 || expectedLines.length === 0)); )\n a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];\n var maxLines = Math.max(actualLines.length, expectedLines.length);\n if (maxLines === 0) {\n var _actualLines = actualInspected.split(`\n`);\n if (_actualLines.length > 30)\n for (_actualLines[26] = \"\".concat(blue, \"...\").concat(white);_actualLines.length > 27; )\n _actualLines.pop();\n return \"\".concat(kReadableOperator.notIdentical, `\n\n`).concat(_actualLines.join(`\n`), `\n`);\n }\n i > 3 && (end = `\n`.concat(blue, \"...\").concat(white).concat(end), skipped = !0), other !== \"\" && (end = `\n `.concat(other).concat(end), other = \"\");\n var printedLines = 0, msg = kReadableOperator[operator] + `\n`.concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white), skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n for (i = 0;i < maxLines; i++) {\n var cur = i - lastPos;\n if (actualLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(expectedLines[i - 2]), printedLines++), res += `\n `.concat(expectedLines[i - 1]), printedLines++), lastPos = i, other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]), printedLines++;\n else if (expectedLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLines[i]), printedLines++;\n else {\n var expectedLine = expectedLines[i], actualLine = actualLines[i], divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, \",\") || actualLine.slice(0, -1) !== expectedLine);\n divergingLines && endsWith(expectedLine, \",\") && expectedLine.slice(0, -1) === actualLine && (divergingLines = !1, actualLine += \",\"), divergingLines \? (cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLine), other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLine), printedLines += 2) : (res += other, other = \"\", (cur === 1 || i === 0) && (res += `\n `.concat(actualLine), printedLines++));\n }\n if (printedLines > 20 && i < maxLines - 2)\n return \"\".concat(msg).concat(skippedMsg, `\n`).concat(res, `\n`).concat(blue, \"...\").concat(white).concat(other, `\n`) + \"\".concat(blue, \"...\").concat(white);\n }\n return \"\".concat(msg).concat(skipped \? skippedMsg : \"\", `\n`).concat(res).concat(other).concat(end).concat(indicator);\n }\n var AssertionError = function(_Error) {\n function AssertionError2(options) {\n var _this;\n if (_classCallCheck(this, AssertionError2), _typeof(options) !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n var { message, operator, stackStartFn, actual, expected } = options, limit = Error.stackTraceLimit;\n if (Error.stackTraceLimit = 0, message != null)\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, @String(message)));\n else if (process.stderr && process.stderr.isTTY && (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1 \? (blue = \"[34m\", green = \"[32m\", white = \"[39m\", red = \"[31m\") : (blue = \"\", green = \"\", white = \"\", red = \"\")), _typeof(actual) === \"object\" && actual !== null && _typeof(expected) === \"object\" && expected !== null && (\"stack\" in actual) && actual instanceof Error && (\"stack\" in expected) && expected instanceof Error && (actual = copyError(actual), expected = copyError(expected)), operator === \"deepStrictEqual\" || operator === \"strictEqual\")\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, createErrDiff(actual, expected, operator)));\n else if (operator === \"notDeepStrictEqual\" || operator === \"notStrictEqual\") {\n var base = kReadableOperator[operator], res = inspectValue(actual).split(`\n`);\n if (operator === \"notStrictEqual\" && _typeof(actual) === \"object\" && actual !== null && (base = kReadableOperator.notStrictEqualObject), res.length > 30)\n for (res[26] = \"\".concat(blue, \"...\").concat(white);res.length > 27; )\n res.pop();\n res.length === 1 \? _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, \" \").concat(res[0]))) : _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, `\n\n`).concat(res.join(`\n`), `\n`)));\n } else {\n var _res = inspectValue(actual), other = \"\", knownOperators = kReadableOperator[operator];\n operator === \"notDeepEqual\" || operator === \"notEqual\" \? (_res = \"\".concat(kReadableOperator[operator], `\n\n`).concat(_res), _res.length > 1024 && (_res = \"\".concat(_res.slice(0, 1021), \"...\"))) : (other = \"\".concat(inspectValue(expected)), _res.length > 512 && (_res = \"\".concat(_res.slice(0, 509), \"...\")), other.length > 512 && (other = \"\".concat(other.slice(0, 509), \"...\")), operator === \"deepEqual\" || operator === \"equal\" \? _res = \"\".concat(knownOperators, `\n\n`).concat(_res, `\n\nshould equal\n\n`) : other = \" \".concat(operator, \" \").concat(other)), _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(_res).concat(other)));\n }\n return Error.stackTraceLimit = limit, _this.generatedMessage = !message, Object.defineProperty(_assertThisInitialized(_this), \"name\", {\n value: \"AssertionError [ERR_ASSERTION]\",\n enumerable: !1,\n writable: !0,\n configurable: !0\n }), _this.code = \"ERR_ASSERTION\", _this.actual = actual, _this.expected = expected, _this.operator = operator, Error.captureStackTrace && Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn), _this.stack, _this.name = \"AssertionError\", _possibleConstructorReturn(_this);\n }\n return AssertionError2.prototype = {}, _inherits(AssertionError2, _Error), _createClass(AssertionError2, [\n {\n key: \"toString\",\n value: function() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n },\n {\n key: inspect.custom,\n value: function(recurseTimes, ctx) {\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: !1,\n depth: 0\n }));\n }\n }\n ]), AssertionError2;\n }(_wrapNativeSuper(Error));\n module2.exports = AssertionError;\n }\n}), require_assert = __commonJS({\n \"assert/build/assert.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n var _require = require_errors(), _require$codes = _require.codes, ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT, ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE, ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, AssertionError = require_assertion_error(), _require2 = util, inspect = _require2.inspect, _require$types = util.types, isPromise = _require$types.isPromise, isRegExp = _require$types.isRegExp, objectAssign = Object.assign, objectIs = Object.is, errorCache = new Map, warned = !1, assert = module2.exports = ok, NO_EXCEPTION_SENTINEL = {};\n function innerFail(obj) {\n throw obj.message instanceof Error \? obj.message : new AssertionError(obj);\n }\n function fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length, internalMessage;\n if (argsLen === 0)\n internalMessage = \"Failed\";\n else if (argsLen === 1)\n message = actual, actual = void 0;\n else {\n if (warned === !1) {\n warned = !0;\n var warn = process.emitWarning \? process.emitWarning : console.warn.bind(console);\n warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\", \"DeprecationWarning\", \"DEP0094\");\n }\n argsLen === 2 && (operator = \"!=\");\n }\n if (message instanceof Error)\n throw message;\n var errArgs = {\n actual,\n expected,\n operator: operator === void 0 \? \"fail\" : operator,\n stackStartFn: stackStartFn || fail\n };\n message !== void 0 && (errArgs.message = message);\n var err = new AssertionError(errArgs);\n throw internalMessage && (err.message = internalMessage, err.generatedMessage = !0), err;\n }\n assert.fail = fail, assert.AssertionError = AssertionError;\n function innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = !1;\n if (argLen === 0)\n generatedMessage = !0, message = \"No value argument passed to `assert.ok()`\";\n else if (message instanceof Error)\n throw message;\n var err = new AssertionError({\n actual: value,\n expected: !0,\n message,\n operator: \"==\",\n stackStartFn: fn\n });\n throw err.generatedMessage = generatedMessage, err;\n }\n }\n function ok() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n innerOk.@apply(void 0, [ok, args.length].concat(args));\n }\n assert.ok = ok, assert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual != expected && innerFail({\n actual,\n expected,\n message,\n operator: \"==\",\n stackStartFn: equal\n });\n }, assert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual == expected && innerFail({\n actual,\n expected,\n message,\n operator: \"!=\",\n stackStartFn: notEqual\n });\n }, assert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepEqual\",\n stackStartFn: deepEqual\n });\n }, assert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepEqual\",\n stackStartFn: notDeepEqual\n });\n }, assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepStrictEqual\",\n stackStartFn: deepStrictEqual\n });\n }, assert.notDeepStrictEqual = notDeepStrictEqual;\n function notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepStrictEqual\",\n stackStartFn: notDeepStrictEqual\n });\n }\n assert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) || innerFail({\n actual,\n expected,\n message,\n operator: \"strictEqual\",\n stackStartFn: strictEqual\n });\n }, assert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) && innerFail({\n actual,\n expected,\n message,\n operator: \"notStrictEqual\",\n stackStartFn: notStrictEqual\n });\n }, assert.match = function match(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n if (!isRegExp(expected))\n throw new ERR_INVALID_ARG_TYPE(\"expected\", \"RegExp\", expected);\n expected.test(actual) || innerFail({\n actual,\n expected,\n message,\n operator: \"match\",\n stackStartFn: match\n });\n };\n var Comparison = function Comparison2(obj, keys, actual) {\n var _this = this;\n _classCallCheck(this, Comparison2), keys.forEach(function(key) {\n (key in obj) && (actual !== void 0 && typeof actual[key] == \"string\" && isRegExp(obj[key]) && obj[key].test(actual[key]) \? _this[key] = actual[key] : _this[key] = obj[key]);\n });\n };\n function compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepEqual(actual[key], expected[key], !0)) {\n if (!message) {\n var a = new Comparison(actual, keys), b = new Comparison(expected, keys, actual), err = new AssertionError({\n actual: a,\n expected: b,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.actual = actual, err.expected = expected, err.operator = fn.name, err;\n }\n innerFail({\n actual,\n expected,\n message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n }\n function expectedException(actual, expected, msg, fn) {\n if (typeof expected != \"function\") {\n if (isRegExp(expected))\n return expected.test(actual);\n if (arguments.length === 2)\n throw new ERR_INVALID_ARG_TYPE(\"expected\", [\"Function\", \"RegExp\"], expected);\n if (_typeof(actual) !== \"object\" || actual === null) {\n var err = new AssertionError({\n actual,\n expected,\n message: msg,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.operator = fn.name, err;\n }\n var keys = Object.keys(expected);\n if (expected instanceof Error)\n keys.push(\"name\", \"message\");\n else if (keys.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"error\", expected, \"may not be an empty object\");\n return keys.forEach(function(key) {\n return typeof actual[key] == \"string\" && isRegExp(expected[key]) && expected[key].test(actual[key]) || compareExceptionKey(actual, expected, key, msg, keys, fn);\n }), !0;\n }\n return expected.prototype !== void 0 && actual instanceof expected \? !0 : Error.isPrototypeOf(expected) \? !1 : expected.@call({}, actual) === !0;\n }\n function getActual(fn) {\n if (typeof fn != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"fn\", \"Function\", fn);\n try {\n fn();\n } catch (e) {\n return e;\n }\n return NO_EXCEPTION_SENTINEL;\n }\n function checkIsPromise(obj) {\n return isPromise(obj) || obj !== null && _typeof(obj) === \"object\" && typeof obj.then == \"function\" && typeof obj.catch == \"function\";\n }\n function waitForActual(promiseFn) {\n return @Promise.resolve().then(function() {\n var resultPromise;\n if (typeof promiseFn == \"function\") {\n if (resultPromise = promiseFn(), !checkIsPromise(resultPromise))\n throw new ERR_INVALID_RETURN_VALUE(\"instance of Promise\", \"promiseFn\", resultPromise);\n } else if (checkIsPromise(promiseFn))\n resultPromise = promiseFn;\n else\n throw new ERR_INVALID_ARG_TYPE(\"promiseFn\", [\"Function\", \"Promise\"], promiseFn);\n return @Promise.resolve().then(function() {\n return resultPromise;\n }).then(function() {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function(e) {\n return e;\n });\n });\n }\n function expectsError(stackStartFn, actual, error, message) {\n if (typeof error == \"string\") {\n if (arguments.length === 4)\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (_typeof(actual) === \"object\" && actual !== null) {\n if (actual.message === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error message \"'.concat(actual.message, '\" is identical to the message.'));\n } else if (actual === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error \"'.concat(actual, '\" is identical to the message.'));\n message = error, error = void 0;\n } else if (error != null && _typeof(error) !== \"object\" && typeof error != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = \"\";\n error && error.name && (details += \" (\".concat(error.name, \")\")), details += message \? \": \".concat(message) : \".\";\n var fnType = stackStartFn.name === \"rejects\" \? \"rejection\" : \"exception\";\n innerFail({\n actual: void 0,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn\n });\n }\n if (error && !expectedException(actual, error, message, stackStartFn))\n throw actual;\n }\n function expectsNoError(stackStartFn, actual, error, message) {\n if (actual !== NO_EXCEPTION_SENTINEL) {\n if (typeof error == \"string\" && (message = error, error = void 0), !error || expectedException(actual, error)) {\n var details = message \? \": \".concat(message) : \".\", fnType = stackStartFn.name === \"doesNotReject\" \? \"rejection\" : \"exception\";\n innerFail({\n actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, `\n`) + 'Actual message: \"'.concat(actual && actual.message, '\"'),\n stackStartFn\n });\n }\n throw actual;\n }\n }\n assert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new @Array(_len2 > 1 \? _len2 - 1 : 0), _key2 = 1;_key2 < _len2; _key2++)\n args[_key2 - 1] = arguments[_key2];\n expectsError.@apply(void 0, [throws, getActual(promiseFn)].concat(args));\n }, assert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new @Array(_len3 > 1 \? _len3 - 1 : 0), _key3 = 1;_key3 < _len3; _key3++)\n args[_key3 - 1] = arguments[_key3];\n return waitForActual(promiseFn).then(function(result) {\n return expectsError.@apply(void 0, [rejects, result].concat(args));\n });\n }, assert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new @Array(_len4 > 1 \? _len4 - 1 : 0), _key4 = 1;_key4 < _len4; _key4++)\n args[_key4 - 1] = arguments[_key4];\n expectsNoError.@apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n }, assert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new @Array(_len5 > 1 \? _len5 - 1 : 0), _key5 = 1;_key5 < _len5; _key5++)\n args[_key5 - 1] = arguments[_key5];\n return waitForActual(fn).then(function(result) {\n return expectsNoError.@apply(void 0, [doesNotReject, result].concat(args));\n });\n }, assert.ifError = function ifError(err) {\n if (err != null) {\n var message = \"ifError got unwanted exception: \";\n _typeof(err) === \"object\" && typeof err.message == \"string\" \? err.message.length === 0 && err.constructor \? message += err.constructor.name : message += err.message : message += inspect(err);\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: \"ifError\",\n message,\n stackStartFn: ifError\n }), origStack = err.stack;\n if (typeof origStack == \"string\") {\n var tmp2 = origStack.split(`\n`);\n tmp2.shift();\n for (var tmp1 = newErr.stack.split(`\n`), i = 0;i < tmp2.length; i++) {\n var pos = tmp1.indexOf(tmp2[i]);\n if (pos !== -1) {\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n newErr.stack = \"\".concat(tmp1.join(`\n`), `\n`).concat(tmp2.join(`\n`));\n }\n throw newErr;\n }\n };\n function strict() {\n for (var _len6 = arguments.length, args = new @Array(_len6), _key6 = 0;_key6 < _len6; _key6++)\n args[_key6] = arguments[_key6];\n innerOk.@apply(void 0, [strict, args.length].concat(args));\n }\n assert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n }), assert.strict.strict = assert.strict;\n }\n}), assert_module = require_assert();\nassert_module.CallTracker = CallTracker;\nreturn assert_module})\n"); // // -static constexpr ASCIILiteral NodeAssertStrictCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/assert.strict.ts\nreturn (@getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8)).strict})\n"); +static constexpr ASCIILiteral NodeAssertStrictCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/assert.strict.ts\nreturn (@getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8)).strict})\n"); // // -static constexpr ASCIILiteral NodeAsyncHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/async_hooks.ts\nvar get = function() {\n return @getInternalField(@asyncContext, 0);\n}, set = function(contextValue) {\n return @putInternalField(@asyncContext, 0, contextValue);\n}, createWarning = function(message) {\n let warned = !1;\n var wrapped = function() {\n if (warned)\n return;\n if (new Error().stack.includes(\"zx/build/core.js\"))\n return;\n warned = !0, console.warn(\"[bun] Warning:\", message);\n };\n return wrapped;\n}, createHook = function(callbacks) {\n return {\n enable: createHookNotImpl,\n disable: createHookNotImpl\n };\n}, executionAsyncId = function() {\n return executionAsyncIdNotImpl(), 0;\n}, triggerAsyncId = function() {\n return 0;\n}, executionAsyncResource = function() {\n return executionAsyncResourceWarning(), process.stdin;\n}, $, { cleanupLater, setAsyncHooksEnabled } = @lazy(\"async_hooks\");\n\nclass AsyncLocalStorage {\n #disableCalled = !1;\n constructor() {\n setAsyncHooksEnabled(!0);\n }\n static bind(fn, ...args) {\n return this.snapshot().bind(null, fn, ...args);\n }\n static snapshot() {\n var context = get();\n return (fn, ...args) => {\n var prev = get();\n set(context);\n try {\n return fn(...args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n };\n }\n enterWith(store) {\n cleanupLater();\n var context = get();\n if (!context) {\n set([this, store]);\n return;\n }\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n const clone = context.slice();\n clone[i + 1] = store, set(clone);\n return;\n }\n set(context.concat(this, store));\n }\n exit(cb, ...args) {\n return this.run(@undefined, cb, ...args);\n }\n run(store_value, callback, ...args) {\n var context = get(), hasPrevious = !1, previous_value, i = 0, contextWasAlreadyInit = !context;\n if (contextWasAlreadyInit)\n set(context = [this, store_value]);\n else {\n if (context = context.slice(), i = context.indexOf(this), i > -1)\n hasPrevious = !0, previous_value = context[i + 1], context[i + 1] = store_value;\n else\n i = context.length, context.push(this, store_value);\n set(context);\n }\n try {\n return callback(...args);\n } catch (e) {\n throw e;\n } finally {\n if (!this.#disableCalled) {\n var context2 = get();\n if (context2 === context && contextWasAlreadyInit)\n set(@undefined);\n else if (context2 = context2.slice(), hasPrevious)\n context2[i + 1] = previous_value, set(context2);\n else\n context2.splice(i, 2), set(context2.length \? context2 : @undefined);\n }\n }\n }\n disable() {\n if (!this.#disableCalled) {\n var context = get();\n if (context) {\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n context.splice(i, 2), set(context.length \? context : @undefined);\n break;\n }\n }\n this.#disableCalled = !0;\n }\n }\n getStore() {\n var context = get();\n if (!context)\n return;\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this)\n return context[i + 1];\n }\n}\n\nclass AsyncResource {\n type;\n #snapshot;\n constructor(type, options) {\n if (typeof type !== \"string\")\n @throwTypeError('The \"type\" argument must be of type string. Received type ' + typeof type);\n setAsyncHooksEnabled(!0), this.type = type, this.#snapshot = get();\n }\n emitBefore() {\n return !0;\n }\n emitAfter() {\n return !0;\n }\n asyncId() {\n return 0;\n }\n triggerAsyncId() {\n return 0;\n }\n emitDestroy() {\n }\n runInAsyncScope(fn, thisArg, ...args) {\n var prev = get();\n set(this.#snapshot);\n try {\n return fn.@apply(thisArg, args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n }\n bind(fn, thisArg) {\n return this.runInAsyncScope.bind(this, fn, thisArg \?\? this);\n }\n static bind(fn, type, thisArg) {\n return type = type || fn.name, new AsyncResource(type || \"bound-anonymous-fn\").bind(fn, thisArg);\n }\n}\nvar createHookNotImpl = createWarning(\"async_hooks.createHook is not implemented in Bun. Hooks can still be created but will never be called.\"), executionAsyncIdNotImpl = createWarning(\"async_hooks.executionAsyncId/triggerAsyncId are not implemented in Bun. It will return 0 every time.\"), executionAsyncResourceWarning = createWarning(\"async_hooks.executionAsyncResource is not implemented in Bun. It returns a reference to process.stdin every time.\"), asyncWrapProviders = {\n NONE: 0,\n DIRHANDLE: 1,\n DNSCHANNEL: 2,\n ELDHISTOGRAM: 3,\n FILEHANDLE: 4,\n FILEHANDLECLOSEREQ: 5,\n FIXEDSIZEBLOBCOPY: 6,\n FSEVENTWRAP: 7,\n FSREQCALLBACK: 8,\n FSREQPROMISE: 9,\n GETADDRINFOREQWRAP: 10,\n GETNAMEINFOREQWRAP: 11,\n HEAPSNAPSHOT: 12,\n HTTP2SESSION: 13,\n HTTP2STREAM: 14,\n HTTP2PING: 15,\n HTTP2SETTINGS: 16,\n HTTPINCOMINGMESSAGE: 17,\n HTTPCLIENTREQUEST: 18,\n JSSTREAM: 19,\n JSUDPWRAP: 20,\n MESSAGEPORT: 21,\n PIPECONNECTWRAP: 22,\n PIPESERVERWRAP: 23,\n PIPEWRAP: 24,\n PROCESSWRAP: 25,\n PROMISE: 26,\n QUERYWRAP: 27,\n SHUTDOWNWRAP: 28,\n SIGNALWRAP: 29,\n STATWATCHER: 30,\n STREAMPIPE: 31,\n TCPCONNECTWRAP: 32,\n TCPSERVERWRAP: 33,\n TCPWRAP: 34,\n TTYWRAP: 35,\n UDPSENDWRAP: 36,\n UDPWRAP: 37,\n SIGINTWATCHDOG: 38,\n WORKER: 39,\n WORKERHEAPSNAPSHOT: 40,\n WRITEWRAP: 41,\n ZLIB: 42,\n CHECKPRIMEREQUEST: 43,\n PBKDF2REQUEST: 44,\n KEYPAIRGENREQUEST: 45,\n KEYGENREQUEST: 46,\n KEYEXPORTREQUEST: 47,\n CIPHERREQUEST: 48,\n DERIVEBITSREQUEST: 49,\n HASHREQUEST: 50,\n RANDOMBYTESREQUEST: 51,\n RANDOMPRIMEREQUEST: 52,\n SCRYPTREQUEST: 53,\n SIGNREQUEST: 54,\n TLSWRAP: 55,\n VERIFYREQUEST: 56,\n INSPECTORJSBINDING: 57\n};\n$ = {\n AsyncLocalStorage,\n createHook,\n executionAsyncId,\n triggerAsyncId,\n executionAsyncResource,\n asyncWrapProviders,\n AsyncResource\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeAsyncHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/async_hooks.ts\nvar get = function() {\n return @getInternalField(@asyncContext, 0);\n}, set = function(contextValue) {\n return @putInternalField(@asyncContext, 0, contextValue);\n}, createWarning = function(message) {\n let warned = !1;\n var wrapped = function() {\n if (warned)\n return;\n if (new Error().stack.includes(\"zx/build/core.js\"))\n return;\n warned = !0, console.warn(\"[bun] Warning:\", message);\n };\n return wrapped;\n}, createHook = function(callbacks) {\n return {\n enable: createHookNotImpl,\n disable: createHookNotImpl\n };\n}, executionAsyncId = function() {\n return executionAsyncIdNotImpl(), 0;\n}, triggerAsyncId = function() {\n return 0;\n}, executionAsyncResource = function() {\n return executionAsyncResourceWarning(), process.stdin;\n}, $, { cleanupLater, setAsyncHooksEnabled } = @lazy(\"async_hooks\");\n\nclass AsyncLocalStorage {\n #disableCalled = !1;\n constructor() {\n setAsyncHooksEnabled(!0);\n }\n static bind(fn, ...args) {\n return this.snapshot().bind(null, fn, ...args);\n }\n static snapshot() {\n var context = get();\n return (fn, ...args) => {\n var prev = get();\n set(context);\n try {\n return fn(...args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n };\n }\n enterWith(store) {\n cleanupLater();\n var context = get();\n if (!context) {\n set([this, store]);\n return;\n }\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n const clone = context.slice();\n clone[i + 1] = store, set(clone);\n return;\n }\n set(context.concat(this, store));\n }\n exit(cb, ...args) {\n return this.run(@undefined, cb, ...args);\n }\n run(store_value, callback, ...args) {\n var context = get(), hasPrevious = !1, previous_value, i = 0, contextWasAlreadyInit = !context;\n if (contextWasAlreadyInit)\n set(context = [this, store_value]);\n else {\n if (context = context.slice(), i = context.indexOf(this), i > -1)\n hasPrevious = !0, previous_value = context[i + 1], context[i + 1] = store_value;\n else\n i = context.length, context.push(this, store_value);\n set(context);\n }\n try {\n return callback(...args);\n } catch (e) {\n throw e;\n } finally {\n if (!this.#disableCalled) {\n var context2 = get();\n if (context2 === context && contextWasAlreadyInit)\n set(@undefined);\n else if (context2 = context2.slice(), hasPrevious)\n context2[i + 1] = previous_value, set(context2);\n else\n context2.splice(i, 2), set(context2.length \? context2 : @undefined);\n }\n }\n }\n disable() {\n if (!this.#disableCalled) {\n var context = get();\n if (context) {\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n context.splice(i, 2), set(context.length \? context : @undefined);\n break;\n }\n }\n this.#disableCalled = !0;\n }\n }\n getStore() {\n var context = get();\n if (!context)\n return;\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this)\n return context[i + 1];\n }\n}\n\nclass AsyncResource {\n type;\n #snapshot;\n constructor(type, options) {\n if (typeof type !== \"string\")\n @throwTypeError('The \"type\" argument must be of type string. Received type ' + typeof type);\n setAsyncHooksEnabled(!0), this.type = type, this.#snapshot = get();\n }\n emitBefore() {\n return !0;\n }\n emitAfter() {\n return !0;\n }\n asyncId() {\n return 0;\n }\n triggerAsyncId() {\n return 0;\n }\n emitDestroy() {\n }\n runInAsyncScope(fn, thisArg, ...args) {\n var prev = get();\n set(this.#snapshot);\n try {\n return fn.@apply(thisArg, args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n }\n bind(fn, thisArg) {\n return this.runInAsyncScope.bind(this, fn, thisArg \?\? this);\n }\n static bind(fn, type, thisArg) {\n return type = type || fn.name, new AsyncResource(type || \"bound-anonymous-fn\").bind(fn, thisArg);\n }\n}\nvar createHookNotImpl = createWarning(\"async_hooks.createHook is not implemented in Bun. Hooks can still be created but will never be called.\"), executionAsyncIdNotImpl = createWarning(\"async_hooks.executionAsyncId/triggerAsyncId are not implemented in Bun. It will return 0 every time.\"), executionAsyncResourceWarning = createWarning(\"async_hooks.executionAsyncResource is not implemented in Bun. It returns a reference to process.stdin every time.\"), asyncWrapProviders = {\n NONE: 0,\n DIRHANDLE: 1,\n DNSCHANNEL: 2,\n ELDHISTOGRAM: 3,\n FILEHANDLE: 4,\n FILEHANDLECLOSEREQ: 5,\n FIXEDSIZEBLOBCOPY: 6,\n FSEVENTWRAP: 7,\n FSREQCALLBACK: 8,\n FSREQPROMISE: 9,\n GETADDRINFOREQWRAP: 10,\n GETNAMEINFOREQWRAP: 11,\n HEAPSNAPSHOT: 12,\n HTTP2SESSION: 13,\n HTTP2STREAM: 14,\n HTTP2PING: 15,\n HTTP2SETTINGS: 16,\n HTTPINCOMINGMESSAGE: 17,\n HTTPCLIENTREQUEST: 18,\n JSSTREAM: 19,\n JSUDPWRAP: 20,\n MESSAGEPORT: 21,\n PIPECONNECTWRAP: 22,\n PIPESERVERWRAP: 23,\n PIPEWRAP: 24,\n PROCESSWRAP: 25,\n PROMISE: 26,\n QUERYWRAP: 27,\n SHUTDOWNWRAP: 28,\n SIGNALWRAP: 29,\n STATWATCHER: 30,\n STREAMPIPE: 31,\n TCPCONNECTWRAP: 32,\n TCPSERVERWRAP: 33,\n TCPWRAP: 34,\n TTYWRAP: 35,\n UDPSENDWRAP: 36,\n UDPWRAP: 37,\n SIGINTWATCHDOG: 38,\n WORKER: 39,\n WORKERHEAPSNAPSHOT: 40,\n WRITEWRAP: 41,\n ZLIB: 42,\n CHECKPRIMEREQUEST: 43,\n PBKDF2REQUEST: 44,\n KEYPAIRGENREQUEST: 45,\n KEYGENREQUEST: 46,\n KEYEXPORTREQUEST: 47,\n CIPHERREQUEST: 48,\n DERIVEBITSREQUEST: 49,\n HASHREQUEST: 50,\n RANDOMBYTESREQUEST: 51,\n RANDOMPRIMEREQUEST: 52,\n SCRYPTREQUEST: 53,\n SIGNREQUEST: 54,\n TLSWRAP: 55,\n VERIFYREQUEST: 56,\n INSPECTORJSBINDING: 57\n};\n$ = {\n AsyncLocalStorage,\n createHook,\n executionAsyncId,\n triggerAsyncId,\n executionAsyncResource,\n asyncWrapProviders,\n AsyncResource\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeChildProcessCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/child_process.ts\nvar spawn = function(file, args, options) {\n options = normalizeSpawnArguments(file, args, options), validateTimeout(options.timeout), validateAbortSignal(options.signal, \"options.signal\");\n const killSignal2 = sanitizeKillSignal(options.killSignal), child = new ChildProcess;\n if (child.spawn(options), options.timeout > 0) {\n let timeoutId = setTimeout(() => {\n if (timeoutId) {\n try {\n child.kill(killSignal2);\n } catch (err) {\n child.emit(\"error\", err);\n }\n timeoutId = null;\n }\n });\n child.once(\"exit\", () => {\n if (timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n });\n }\n if (options.signal) {\n let onAbortListener2 = function() {\n abortChildProcess(child, killSignal2, options.signal.reason);\n };\n var onAbortListener = onAbortListener2;\n const signal = options.signal;\n if (signal.aborted)\n process.nextTick(onAbortListener2);\n else\n signal.addEventListener(\"abort\", onAbortListener2, { once: !0 }), child.once(\"exit\", () => signal.removeEventListener(\"abort\", onAbortListener2));\n }\n return child;\n}, execFile = function(file, args, options, callback) {\n ({ file, args, options, callback } = normalizeExecFileArgs(file, args, options, callback)), options = {\n encoding: \"utf8\",\n timeout: 0,\n maxBuffer: MAX_BUFFER,\n killSignal: \"SIGTERM\",\n cwd: null,\n env: null,\n shell: !1,\n ...options\n };\n const maxBuffer = options.maxBuffer;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const child = spawn(file, args, {\n cwd: options.cwd,\n env: options.env,\n shell: options.shell,\n signal: options.signal\n });\n let encoding;\n const _stdout = [], _stderr = [];\n if (options.encoding !== \"buffer\" && BufferIsEncoding(options.encoding))\n encoding = options.encoding;\n else\n encoding = null;\n let stdoutLen = 0, stderrLen = 0, killed = !1, exited = !1, timeoutId, encodedStdoutLen, encodedStderrLen, ex = null, cmd = file;\n function exitHandler(code, signal) {\n if (exited)\n return;\n if (exited = !0, timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n if (!callback)\n return;\n const readableEncoding = child\?.stdout\?.readableEncoding;\n let stdout, stderr;\n if (encoding || child.stdout && readableEncoding)\n stdout = ArrayPrototypeJoin.@call(_stdout, \"\");\n else\n stdout = BufferConcat(_stdout);\n if (encoding || child.stderr && readableEncoding)\n stderr = ArrayPrototypeJoin.@call(_stderr, \"\");\n else\n stderr = BufferConcat(_stderr);\n if (!ex && code === 0 && signal === null) {\n callback(null, stdout, stderr);\n return;\n }\n if (args\?.length)\n cmd += ` ${ArrayPrototypeJoin.@call(args, \" \")}`;\n if (!ex) {\n let message = `Command failed: ${cmd}`;\n if (stderr)\n message += `\\n${stderr}`;\n ex = genericNodeError(message, {\n code,\n killed: child.killed || killed,\n signal\n });\n }\n ex.cmd = cmd, callback(ex, stdout, stderr);\n }\n function errorHandler(e) {\n if (ex = e, child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n exitHandler();\n }\n function kill() {\n if (child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n killed = !0;\n try {\n child.kill(options.killSignal);\n } catch (e) {\n ex = e, exitHandler();\n }\n }\n if (options.timeout > 0)\n timeoutId = setTimeout(function delayedKill() {\n kill(), timeoutId = null;\n }, options.timeout);\n if (child.stdout) {\n if (encoding)\n child.stdout.setEncoding(encoding);\n child.stdout.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stdout, chunk);\n } : encoding \? function onChildStdoutEncoded(chunk) {\n if (stdoutLen += chunk.length, stdoutLen * 4 > maxBuffer) {\n const encoding2 = child.stdout.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStdoutLen === @undefined)\n for (let i = 0;i < _stdout.length; i++)\n encodedStdoutLen += @Buffer.byteLength(_stdout[i], encoding2);\n else\n encodedStdoutLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStdoutLen - actualLen);\n ArrayPrototypePush.@call(_stdout, StringPrototypeSlice.@apply(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n } : function onChildStdoutRaw(chunk) {\n if (stdoutLen += chunk.length, stdoutLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stdoutLen - chunk.length);\n ArrayPrototypePush.@call(_stdout, chunk.slice(0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n });\n }\n if (child.stderr) {\n if (encoding)\n child.stderr.setEncoding(encoding);\n child.stderr.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stderr, chunk);\n } : encoding \? function onChildStderrEncoded(chunk) {\n if (stderrLen += chunk.length, stderrLen * 4 > maxBuffer) {\n const encoding2 = child.stderr.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStderrLen === @undefined)\n for (let i = 0;i < _stderr.length; i++)\n encodedStderrLen += @Buffer.byteLength(_stderr[i], encoding2);\n else\n encodedStderrLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStderrLen - actualLen);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n } : function onChildStderrRaw(chunk) {\n if (stderrLen += chunk.length, stderrLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stderrLen - chunk.length);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n });\n }\n return child.addListener(\"close\", exitHandler), child.addListener(\"error\", errorHandler), child;\n}, exec = function(command, options, callback) {\n const opts = normalizeExecArgs(command, options, callback);\n return execFile(opts.file, opts.options, opts.callback);\n}, spawnSync = function(file, args, options) {\n options = {\n maxBuffer: MAX_BUFFER,\n ...normalizeSpawnArguments(file, args, options)\n };\n const { maxBuffer, encoding } = options;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const stdio = options.stdio || \"pipe\", bunStdio = getBunStdioFromOptions(stdio);\n var { input } = options;\n if (input)\n if (ArrayBufferIsView(input))\n bunStdio[0] = input;\n else if (typeof input === \"string\")\n bunStdio[0] = @Buffer.from(input, encoding || \"utf8\");\n else\n throw new ERR_INVALID_ARG_TYPE(\"options.stdio[0]\", [\"Buffer\", \"TypedArray\", \"DataView\", \"string\"], input);\n const { stdout, stderr, success, exitCode } = Bun.spawnSync({\n cmd: options.args,\n env: options.env || @undefined,\n cwd: options.cwd || @undefined,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2]\n }), result = {\n signal: null,\n status: exitCode,\n output: [null, stdout, stderr]\n };\n if (stdout && encoding && encoding !== \"buffer\")\n result.output[1] = result.output[1]\?.toString(encoding);\n if (stderr && encoding && encoding !== \"buffer\")\n result.output[2] = result.output[2]\?.toString(encoding);\n if (result.stdout = result.output[1], result.stderr = result.output[2], !success)\n result.error = new SystemError(result.output[2], options.file, \"spawnSync\", -1, result.status), result.error.spawnargs = ArrayPrototypeSlice.@call(options.args, 1);\n return result;\n}, execFileSync = function(file, args, options) {\n ({ file, args, options } = normalizeExecFileArgs(file, args, options));\n const ret = spawnSync(file, args, options), errArgs = [options.argv0 || file];\n ArrayPrototypePush.@apply(errArgs, args);\n const err = checkExecSyncError(ret, errArgs);\n if (err)\n throw err;\n return ret.stdout;\n}, execSync = function(command, options) {\n const opts = normalizeExecArgs(command, options, null), ret = spawnSync(opts.file, opts.options), err = checkExecSyncError(ret, @undefined, command);\n if (err)\n throw err;\n return ret.stdout;\n}, stdioStringToArray = function(stdio, channel) {\n const options = [];\n switch (stdio) {\n case \"ignore\":\n case \"overlapped\":\n case \"pipe\":\n ArrayPrototypePush.@call(options, stdio, stdio, stdio);\n break;\n case \"inherit\":\n ArrayPrototypePush.@call(options, 0, 1, 2);\n break;\n default:\n throw new ERR_INVALID_ARG_VALUE(\"stdio\", stdio);\n }\n if (channel)\n ArrayPrototypePush.@call(options, channel);\n return options;\n}, fork = function(modulePath, args = [], options) {\n modulePath = getValidatedPath(modulePath, \"modulePath\");\n let execArgv;\n if (args == null)\n args = [];\n else if (typeof args === \"object\" && !ArrayIsArray(args))\n options = args, args = [];\n else\n validateArray(args, \"args\");\n if (options != null)\n validateObject(options, \"options\");\n if (options = { __proto__: null, ...options, shell: !1 }, options.execPath = options.execPath || process.execPath, validateArgumentNullCheck(options.execPath, \"options.execPath\"), args = [modulePath, ...args], typeof options.stdio === \"string\")\n options.stdio = stdioStringToArray(options.stdio, \"ipc\");\n else if (!ArrayIsArray(options.stdio))\n options.stdio = stdioStringToArray(options.silent \? \"pipe\" : \"inherit\", \"ipc\");\n else if (!ArrayPrototypeIncludes.@call(options.stdio, \"ipc\"))\n throw new ERR_CHILD_PROCESS_IPC_REQUIRED(\"options.stdio\");\n return spawn(options.execPath, args, options);\n}, convertToValidSignal = function(signal) {\n if (typeof signal === \"number\" && getSignalsToNamesMapping()[signal])\n return signal;\n if (typeof signal === \"string\") {\n const signalName = signals[StringPrototypeToUpperCase.@call(signal)];\n if (signalName)\n return signalName;\n }\n throw new ERR_UNKNOWN_SIGNAL(signal);\n}, sanitizeKillSignal = function(killSignal2) {\n if (typeof killSignal2 === \"string\" || typeof killSignal2 === \"number\")\n return convertToValidSignal(killSignal2);\n else if (killSignal2 != null)\n throw new ERR_INVALID_ARG_TYPE(\"options.killSignal\", [\"string\", \"number\"], killSignal2);\n}, getSignalsToNamesMapping = function() {\n if (signalsToNamesMapping !== @undefined)\n return signalsToNamesMapping;\n signalsToNamesMapping = ObjectCreate(null);\n for (let key in signals)\n signalsToNamesMapping[signals[key]] = key;\n return signalsToNamesMapping;\n}, normalizeExecFileArgs = function(file, args, options, callback) {\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args != null && typeof args === \"object\")\n callback = options, options = args, args = null;\n else if (typeof args === \"function\")\n callback = args, options = null, args = null;\n if (args == null)\n args = [];\n if (typeof options === \"function\")\n callback = options;\n else if (options != null)\n validateObject(options, \"options\");\n if (options == null)\n options = kEmptyObject;\n if (callback != null)\n validateFunction(callback, \"callback\");\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n return { file, args, options, callback };\n}, normalizeExecArgs = function(command, options, callback) {\n if (validateString(command, \"command\"), validateArgumentNullCheck(command, \"command\"), typeof options === \"function\")\n callback = options, options = @undefined;\n return options = { ...options }, options.shell = typeof options.shell === \"string\" \? options.shell : !0, {\n file: command,\n options,\n callback\n };\n}, normalizeSpawnArguments = function(file, args, options) {\n if (validateString(file, \"file\"), validateArgumentNullCheck(file, \"file\"), file.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"file\", file, \"cannot be empty\");\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args == null)\n args = [];\n else if (typeof args !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"args\", \"object\", args);\n else\n options = args, args = [];\n if (validateArgumentsNullCheck(args, \"args\"), options === @undefined)\n options = {};\n else\n validateObject(options, \"options\");\n let cwd = options.cwd;\n if (cwd != null)\n cwd = getValidatedPath(cwd, \"options.cwd\");\n var detached = !1;\n const { detached: detachedOption } = options;\n if (detachedOption != null)\n detached = !!detachedOption;\n if (options.shell != null && typeof options.shell !== \"boolean\" && typeof options.shell !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(\"options.shell\", [\"boolean\", \"string\"], options.shell);\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n if (options.shell) {\n validateArgumentNullCheck(options.shell, \"options.shell\");\n const command = ArrayPrototypeJoin.@call([file, ...args], \" \");\n if (typeof options.shell === \"string\")\n file = options.shell;\n else\n file = \"sh\";\n args = [\"-c\", command];\n }\n if (typeof options.argv0 === \"string\")\n ArrayPrototypeUnshift.@call(args, options.argv0);\n else\n ArrayPrototypeUnshift.@call(args, file);\n const envPairs = options.env || process.env;\n return { ...options, detached, file, args, cwd, envPairs };\n}, checkExecSyncError = function(ret, args, cmd) {\n let err;\n if (ret.error)\n err = ret.error, ObjectAssign(err, ret);\n else if (ret.status !== 0) {\n let msg = \"Command failed: \";\n if (msg += cmd || ArrayPrototypeJoin.@call(args, \" \"), ret.stderr && ret.stderr.length > 0)\n msg += `\\n${ret.stderr.toString()}`;\n err = genericNodeError(msg, ret);\n }\n return err;\n}, nodeToBun = function(item) {\n if (typeof item === \"number\")\n return item;\n else {\n const result = nodeToBunLookup[item];\n if (result === @undefined)\n throw new Error(`Invalid stdio option \"${item}\"`);\n return result;\n }\n}, fdToStdioName = function(fd) {\n switch (fd) {\n case 0:\n return \"stdin\";\n case 1:\n return \"stdout\";\n case 2:\n return \"stderr\";\n default:\n return null;\n }\n}, getBunStdioFromOptions = function(stdio) {\n return normalizeStdio(stdio).map((item) => nodeToBun(item));\n}, normalizeStdio = function(stdio) {\n if (typeof stdio === \"string\")\n switch (stdio) {\n case \"ignore\":\n return [\"ignore\", \"ignore\", \"ignore\"];\n case \"pipe\":\n return [\"pipe\", \"pipe\", \"pipe\"];\n case \"inherit\":\n return [\"inherit\", \"inherit\", \"inherit\"];\n default:\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n }\n else if (ArrayIsArray(stdio)) {\n let processedStdio;\n if (stdio.length === 0)\n processedStdio = [\"pipe\", \"pipe\", \"pipe\"];\n else if (stdio.length === 1)\n processedStdio = [stdio[0], \"pipe\", \"pipe\"];\n else if (stdio.length === 2)\n processedStdio = [stdio[0], stdio[1], \"pipe\"];\n else if (stdio.length >= 3)\n processedStdio = [stdio[0], stdio[1], stdio[2]];\n return processedStdio.map((item) => !item \? \"pipe\" : item);\n } else\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n}, flushStdio = function(subprocess) {\n const stdio = subprocess.stdio;\n if (stdio == null)\n return;\n for (let i = 0;i < stdio.length; i++) {\n const stream = stdio[i];\n if (!stream || !stream.readable)\n continue;\n stream.resume();\n }\n}, onSpawnNT = function(self) {\n self.emit(\"spawn\");\n}, abortChildProcess = function(child, killSignal2, reason) {\n if (!child)\n return;\n try {\n if (child.kill(killSignal2))\n child.emit(\"error\", new AbortError(@undefined, { cause: reason }));\n } catch (err) {\n child.emit(\"error\", err);\n }\n}, validateMaxBuffer = function(maxBuffer) {\n if (maxBuffer != null && !(typeof maxBuffer === \"number\" && maxBuffer >= 0))\n throw new ERR_OUT_OF_RANGE(\"options.maxBuffer\", \"a positive number\", maxBuffer);\n}, validateArgumentNullCheck = function(arg, propName) {\n if (typeof arg === \"string\" && StringPrototypeIncludes.@call(arg, \"\\0\"))\n throw new ERR_INVALID_ARG_VALUE(propName, arg, \"must be a string without null bytes\");\n}, validateArgumentsNullCheck = function(args, propName) {\n for (let i = 0;i < args.length; ++i)\n validateArgumentNullCheck(args[i], `${propName}[${i}]`);\n}, validateTimeout = function(timeout) {\n if (timeout != null && !(NumberIsInteger(timeout) && timeout >= 0))\n throw new ERR_OUT_OF_RANGE(\"timeout\", \"an unsigned integer\", timeout);\n};\nvar validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, nullCheck = function(path, propName, throwError = !0) {\n const pathIsString = typeof path === \"string\", pathIsUint8Array = isUint8Array(path);\n if (!pathIsString && !pathIsUint8Array || pathIsString && !StringPrototypeIncludes.@call(path, \"\\0\") || pathIsUint8Array && !Uint8ArrayPrototypeIncludes.@call(path, 0))\n return;\n const err = new ERR_INVALID_ARG_VALUE(propName, path, \"must be a string or Uint8Array without null bytes\");\n if (throwError)\n throw err;\n return err;\n}, validatePath = function(path, propName = \"path\") {\n if (typeof path !== \"string\" && !isUint8Array(path))\n throw new ERR_INVALID_ARG_TYPE(propName, [\"string\", \"Buffer\", \"URL\"], path);\n const err = nullCheck(path, propName, !1);\n if (err !== @undefined)\n throw err;\n}, getValidatedPath = function(fileURLOrPath, propName = \"path\") {\n const path = toPathIfFileURL(fileURLOrPath);\n return validatePath(path, propName), path;\n}, isUint8Array = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @Uint8Array;\n}, isURLInstance = function(fileURLOrPath) {\n return fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.origin;\n}, toPathIfFileURL = function(fileURLOrPath) {\n if (!isURLInstance(fileURLOrPath))\n return fileURLOrPath;\n return Bun.fileURLToPath(fileURLOrPath);\n}, genericNodeError = function(message, options) {\n const err = new Error(message);\n return err.code = options.code, err.killed = options.killed, err.signal = options.signal, err;\n}, ERR_OUT_OF_RANGE = function(str, range, input, replaceDefaultBoolean = !1) {\n return new RangeError(`The value of ${str} is out of range. It must be ${range}. Received ${input}`);\n}, ERR_CHILD_PROCESS_STDIO_MAXBUFFER = function(stdio) {\n return Error(`${stdio} maxBuffer length exceeded`);\n}, ERR_UNKNOWN_SIGNAL = function(name) {\n const err = @makeTypeError(`Unknown signal: ${name}`);\n return err.code = \"ERR_UNKNOWN_SIGNAL\", err;\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value\?.toString()}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_INVALID_OPT_VALUE = function(name, value) {\n return @makeTypeError(`The value \"${value}\" is invalid for option \"${name}\"`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value \"${value}\" is invalid for argument '${name}'. Reason: ${reason}`);\n}, ERR_CHILD_PROCESS_IPC_REQUIRED = function(name) {\n const err = @makeTypeError(`Forked processes must have an IPC channel, missing value 'ipc' in ${name}`);\n return err.code = \"ERR_CHILD_PROCESS_IPC_REQUIRED\", err;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), {\n constants: { signals }\n} = @getInternalField(@internalModuleRegistry, 28) || @createInternalModuleById(28), { promisify } = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), ObjectCreate = Object.create, ObjectAssign = Object.assign, ObjectDefineProperty = Object.defineProperty, BufferConcat = @Buffer.concat, BufferIsEncoding = @Buffer.isEncoding, kEmptyObject = ObjectCreate(null), ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeUnshift = @Array.prototype.unshift, ArrayPrototypeLastIndexOf = @Array.prototype.lastIndexOf, ArrayPrototypeSplice = @Array.prototype.splice, ArrayIsArray = @Array.isArray, ArrayBufferIsView = @ArrayBuffer.isView, NumberIsInteger = Number.isInteger;\nvar StringPrototypeToUpperCase = @String.prototype.toUpperCase, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSlice = @String.prototype.slice, Uint8ArrayPrototypeIncludes = @Uint8Array.prototype.includes, MAX_BUFFER = 1048576, NativeWritable, ReadableFromWeb, customPromiseExecFunction = (orig) => {\n return (...args) => {\n let resolve, reject;\n const promise = new @Promise((res, rej) => {\n resolve = res, reject = rej;\n });\n return promise.child = orig(...args, (err, stdout, stderr) => {\n if (err !== null)\n err.stdout = stdout, err.stderr = stderr, reject(err);\n else\n resolve({ stdout, stderr });\n }), promise;\n };\n};\nObjectDefineProperty(exec, promisify.custom, {\n __proto__: null,\n enumerable: !1,\n value: customPromiseExecFunction(exec)\n});\nvar signalsToNamesMapping;\n\nclass ChildProcess extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n #handle;\n #exited = !1;\n #closesNeeded = 1;\n #closesGot = 0;\n connected = !1;\n signalCode = null;\n exitCode = null;\n spawnfile;\n spawnargs;\n pid;\n channel;\n get killed() {\n if (this.#handle == null)\n return !1;\n }\n #handleOnExit(exitCode, signalCode, err) {\n if (this.#exited)\n return;\n if (signalCode)\n this.signalCode = signalCode;\n else\n this.exitCode = exitCode;\n if (this.#stdin)\n this.#stdin.destroy();\n if (this.#handle)\n this.#handle = null;\n if (exitCode < 0) {\n const err2 = new SystemError(`Spawned process exited with error code: ${exitCode}`, @undefined, \"spawn\", \"EUNKNOWN\", \"ERR_CHILD_PROCESS_UNKNOWN_ERROR\");\n if (this.spawnfile)\n err2.path = this.spawnfile;\n err2.spawnargs = ArrayPrototypeSlice.@call(this.spawnargs, 1), this.emit(\"error\", err2);\n } else\n this.emit(\"exit\", this.exitCode, this.signalCode);\n process.nextTick(flushStdio, this), this.#maybeClose(), this.#exited = !0, this.#stdioOptions = [\"destroyed\", \"destroyed\", \"destroyed\"];\n }\n #getBunSpawnIo(i, encoding) {\n NativeWritable ||= StreamModule.NativeWritable, ReadableFromWeb ||= StreamModule.Readable.fromWeb;\n const io = this.#stdioOptions[i];\n switch (i) {\n case 0:\n switch (io) {\n case \"pipe\":\n return new NativeWritable(this.#handle.stdin);\n case \"inherit\":\n return process.stdin || null;\n case \"destroyed\":\n return new ShimmedStdin;\n default:\n return null;\n }\n case 2:\n case 1:\n switch (io) {\n case \"pipe\":\n return ReadableFromWeb(this.#handle[fdToStdioName(i)], { encoding });\n case \"inherit\":\n return process[fdToStdioName(i)] || null;\n case \"destroyed\":\n return new ShimmedStdioOutStream;\n default:\n return null;\n }\n }\n }\n #stdin;\n #stdout;\n #stderr;\n #stdioObject;\n #encoding;\n #stdioOptions;\n #createStdioObject() {\n return Object.create(null, {\n 0: {\n get: () => this.stdin\n },\n 1: {\n get: () => this.stdout\n },\n 2: {\n get: () => this.stderr\n }\n });\n }\n get stdin() {\n return this.#stdin \?\?= this.#getBunSpawnIo(0, this.#encoding);\n }\n get stdout() {\n return this.#stdout \?\?= this.#getBunSpawnIo(1, this.#encoding);\n }\n get stderr() {\n return this.#stderr \?\?= this.#getBunSpawnIo(2, this.#encoding);\n }\n get stdio() {\n return this.#stdioObject \?\?= this.#createStdioObject();\n }\n spawn(options) {\n validateObject(options, \"options\"), validateString(options.file, \"options.file\");\n var file = this.spawnfile = options.file, spawnargs;\n if (options.args == null)\n spawnargs = this.spawnargs = [];\n else\n validateArray(options.args, \"options.args\"), spawnargs = this.spawnargs = options.args;\n const stdio = options.stdio || [\"pipe\", \"pipe\", \"pipe\"], bunStdio = getBunStdioFromOptions(stdio), ipc = @isArray(stdio) && stdio[3] === \"ipc\";\n var env = options.envPairs || @undefined;\n const detachedOption = options.detached;\n if (this.#encoding = options.encoding || @undefined, this.#stdioOptions = bunStdio, this.#handle = Bun.spawn({\n cmd: spawnargs,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2],\n cwd: options.cwd || @undefined,\n env: env || process.env,\n detached: typeof detachedOption !== \"undefined\" \? !!detachedOption : !1,\n onExit: (handle, exitCode, signalCode, err) => {\n this.#handle = handle, this.pid = this.#handle.pid, process.nextTick((exitCode2, signalCode2, err2) => this.#handleOnExit(exitCode2, signalCode2, err2), exitCode, signalCode, err);\n },\n lazy: !0,\n ipc: ipc \? this.#emitIpcMessage.bind(this) : @undefined\n }), this.pid = this.#handle.pid, onSpawnNT(this), ipc)\n this.send = this.#send, this.disconnect = this.#disconnect;\n }\n #emitIpcMessage(message) {\n this.emit(\"message\", message);\n }\n #send(message, handle, options, callback) {\n if (typeof handle === \"function\")\n callback = handle, handle = @undefined, options = @undefined;\n else if (typeof options === \"function\")\n callback = options, options = @undefined;\n else if (options !== @undefined) {\n if (typeof options !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n }\n if (!this.#handle) {\n if (callback)\n process.nextTick(callback, @makeTypeError(\"Process was closed while trying to send message\"));\n else\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return !1;\n }\n try {\n if (this.#handle.send(message), callback)\n process.nextTick(callback);\n return !0;\n } catch (error) {\n if (callback)\n process.nextTick(callback, error);\n else\n this.emit(\"error\", error);\n return !1;\n }\n }\n #disconnect() {\n if (!this.connected) {\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return;\n }\n this.connected = !1, this.#handle.disconnect();\n }\n kill(sig) {\n const signal = sig === 0 \? sig : convertToValidSignal(sig === @undefined \? \"SIGTERM\" : sig);\n if (this.#handle)\n this.#handle.kill(signal);\n return this.#maybeClose(), !0;\n }\n #maybeClose() {\n if (this.#closesGot++, this.#closesGot === this.#closesNeeded)\n this.emit(\"close\", this.exitCode, this.signalCode);\n }\n ref() {\n if (this.#handle)\n this.#handle.ref();\n }\n unref() {\n if (this.#handle)\n this.#handle.unref();\n }\n}\nvar nodeToBunLookup = {\n ignore: null,\n pipe: \"pipe\",\n overlapped: \"pipe\",\n inherit: \"inherit\"\n};\n\nclass ShimmedStdin extends EventEmitter {\n constructor() {\n super();\n }\n write() {\n return !1;\n }\n destroy() {\n }\n end() {\n }\n pipe() {\n }\n}\n\nclass ShimmedStdioOutStream extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n pipe() {\n }\n}\nvar validateAbortSignal = (signal, name) => {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n};\nvar validateObject = (value, name, options = null) => {\n const allowArray = options\?.allowArray \?\? !1, allowFunction = options\?.allowFunction \?\? !1;\n if (!(options\?.nullable \?\? !1) && value === null || !allowArray && ArrayIsArray.@call(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE(name, \"object\", value);\n}, validateArray = (value, name, minLength = 0) => {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, Error = globalThis.Error, TypeError = globalThis.TypeError, RangeError = globalThis.RangeError;\n\nclass AbortError extends Error {\n code = \"ABORT_ERR\";\n name = \"AbortError\";\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n }\n}\n\nclass SystemError extends Error {\n path;\n syscall;\n errno;\n code;\n constructor(message, path, syscall, errno, code) {\n super(message);\n this.path = path, this.syscall = syscall, this.errno = errno, this.code = code;\n }\n get name() {\n return \"SystemError\";\n }\n}\n$ = {\n ChildProcess,\n spawn,\n execFile,\n exec,\n fork,\n spawnSync,\n execFileSync,\n execSync\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeChildProcessCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/child_process.ts\nvar spawn = function(file, args, options) {\n options = normalizeSpawnArguments(file, args, options), validateTimeout(options.timeout), validateAbortSignal(options.signal, \"options.signal\");\n const killSignal2 = sanitizeKillSignal(options.killSignal), child = new ChildProcess;\n if (child.spawn(options), options.timeout > 0) {\n let timeoutId = setTimeout(() => {\n if (timeoutId) {\n try {\n child.kill(killSignal2);\n } catch (err) {\n child.emit(\"error\", err);\n }\n timeoutId = null;\n }\n });\n child.once(\"exit\", () => {\n if (timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n });\n }\n if (options.signal) {\n let onAbortListener2 = function() {\n abortChildProcess(child, killSignal2, options.signal.reason);\n };\n var onAbortListener = onAbortListener2;\n const signal = options.signal;\n if (signal.aborted)\n process.nextTick(onAbortListener2);\n else\n signal.addEventListener(\"abort\", onAbortListener2, { once: !0 }), child.once(\"exit\", () => signal.removeEventListener(\"abort\", onAbortListener2));\n }\n return child;\n}, execFile = function(file, args, options, callback) {\n ({ file, args, options, callback } = normalizeExecFileArgs(file, args, options, callback)), options = {\n encoding: \"utf8\",\n timeout: 0,\n maxBuffer: MAX_BUFFER,\n killSignal: \"SIGTERM\",\n cwd: null,\n env: null,\n shell: !1,\n ...options\n };\n const maxBuffer = options.maxBuffer;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const child = spawn(file, args, {\n cwd: options.cwd,\n env: options.env,\n shell: options.shell,\n signal: options.signal\n });\n let encoding;\n const _stdout = [], _stderr = [];\n if (options.encoding !== \"buffer\" && BufferIsEncoding(options.encoding))\n encoding = options.encoding;\n else\n encoding = null;\n let stdoutLen = 0, stderrLen = 0, killed = !1, exited = !1, timeoutId, encodedStdoutLen, encodedStderrLen, ex = null, cmd = file;\n function exitHandler(code, signal) {\n if (exited)\n return;\n if (exited = !0, timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n if (!callback)\n return;\n const readableEncoding = child\?.stdout\?.readableEncoding;\n let stdout, stderr;\n if (encoding || child.stdout && readableEncoding)\n stdout = ArrayPrototypeJoin.@call(_stdout, \"\");\n else\n stdout = BufferConcat(_stdout);\n if (encoding || child.stderr && readableEncoding)\n stderr = ArrayPrototypeJoin.@call(_stderr, \"\");\n else\n stderr = BufferConcat(_stderr);\n if (!ex && code === 0 && signal === null) {\n callback(null, stdout, stderr);\n return;\n }\n if (args\?.length)\n cmd += ` ${ArrayPrototypeJoin.@call(args, \" \")}`;\n if (!ex) {\n let message = `Command failed: ${cmd}`;\n if (stderr)\n message += `\\n${stderr}`;\n ex = genericNodeError(message, {\n code,\n killed: child.killed || killed,\n signal\n });\n }\n ex.cmd = cmd, callback(ex, stdout, stderr);\n }\n function errorHandler(e) {\n if (ex = e, child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n exitHandler();\n }\n function kill() {\n if (child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n killed = !0;\n try {\n child.kill(options.killSignal);\n } catch (e) {\n ex = e, exitHandler();\n }\n }\n if (options.timeout > 0)\n timeoutId = setTimeout(function delayedKill() {\n kill(), timeoutId = null;\n }, options.timeout);\n if (child.stdout) {\n if (encoding)\n child.stdout.setEncoding(encoding);\n child.stdout.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stdout, chunk);\n } : encoding \? function onChildStdoutEncoded(chunk) {\n if (stdoutLen += chunk.length, stdoutLen * 4 > maxBuffer) {\n const encoding2 = child.stdout.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStdoutLen === @undefined)\n for (let i = 0;i < _stdout.length; i++)\n encodedStdoutLen += @Buffer.byteLength(_stdout[i], encoding2);\n else\n encodedStdoutLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStdoutLen - actualLen);\n ArrayPrototypePush.@call(_stdout, StringPrototypeSlice.@apply(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n } : function onChildStdoutRaw(chunk) {\n if (stdoutLen += chunk.length, stdoutLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stdoutLen - chunk.length);\n ArrayPrototypePush.@call(_stdout, chunk.slice(0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n });\n }\n if (child.stderr) {\n if (encoding)\n child.stderr.setEncoding(encoding);\n child.stderr.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stderr, chunk);\n } : encoding \? function onChildStderrEncoded(chunk) {\n if (stderrLen += chunk.length, stderrLen * 4 > maxBuffer) {\n const encoding2 = child.stderr.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStderrLen === @undefined)\n for (let i = 0;i < _stderr.length; i++)\n encodedStderrLen += @Buffer.byteLength(_stderr[i], encoding2);\n else\n encodedStderrLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStderrLen - actualLen);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n } : function onChildStderrRaw(chunk) {\n if (stderrLen += chunk.length, stderrLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stderrLen - chunk.length);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n });\n }\n return child.addListener(\"close\", exitHandler), child.addListener(\"error\", errorHandler), child;\n}, exec = function(command, options, callback) {\n const opts = normalizeExecArgs(command, options, callback);\n return execFile(opts.file, opts.options, opts.callback);\n}, spawnSync = function(file, args, options) {\n options = {\n maxBuffer: MAX_BUFFER,\n ...normalizeSpawnArguments(file, args, options)\n };\n const { maxBuffer, encoding } = options;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const stdio = options.stdio || \"pipe\", bunStdio = getBunStdioFromOptions(stdio);\n var { input } = options;\n if (input)\n if (ArrayBufferIsView(input))\n bunStdio[0] = input;\n else if (typeof input === \"string\")\n bunStdio[0] = @Buffer.from(input, encoding || \"utf8\");\n else\n throw new ERR_INVALID_ARG_TYPE(\"options.stdio[0]\", [\"Buffer\", \"TypedArray\", \"DataView\", \"string\"], input);\n const { stdout, stderr, success, exitCode } = Bun.spawnSync({\n cmd: options.args,\n env: options.env || @undefined,\n cwd: options.cwd || @undefined,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2]\n }), result = {\n signal: null,\n status: exitCode,\n output: [null, stdout, stderr]\n };\n if (stdout && encoding && encoding !== \"buffer\")\n result.output[1] = result.output[1]\?.toString(encoding);\n if (stderr && encoding && encoding !== \"buffer\")\n result.output[2] = result.output[2]\?.toString(encoding);\n if (result.stdout = result.output[1], result.stderr = result.output[2], !success)\n result.error = new SystemError(result.output[2], options.file, \"spawnSync\", -1, result.status), result.error.spawnargs = ArrayPrototypeSlice.@call(options.args, 1);\n return result;\n}, execFileSync = function(file, args, options) {\n ({ file, args, options } = normalizeExecFileArgs(file, args, options));\n const ret = spawnSync(file, args, options), errArgs = [options.argv0 || file];\n ArrayPrototypePush.@apply(errArgs, args);\n const err = checkExecSyncError(ret, errArgs);\n if (err)\n throw err;\n return ret.stdout;\n}, execSync = function(command, options) {\n const opts = normalizeExecArgs(command, options, null), ret = spawnSync(opts.file, opts.options), err = checkExecSyncError(ret, @undefined, command);\n if (err)\n throw err;\n return ret.stdout;\n}, stdioStringToArray = function(stdio, channel) {\n const options = [];\n switch (stdio) {\n case \"ignore\":\n case \"overlapped\":\n case \"pipe\":\n ArrayPrototypePush.@call(options, stdio, stdio, stdio);\n break;\n case \"inherit\":\n ArrayPrototypePush.@call(options, 0, 1, 2);\n break;\n default:\n throw new ERR_INVALID_ARG_VALUE(\"stdio\", stdio);\n }\n if (channel)\n ArrayPrototypePush.@call(options, channel);\n return options;\n}, fork = function(modulePath, args = [], options) {\n modulePath = getValidatedPath(modulePath, \"modulePath\");\n let execArgv;\n if (args == null)\n args = [];\n else if (typeof args === \"object\" && !ArrayIsArray(args))\n options = args, args = [];\n else\n validateArray(args, \"args\");\n if (options != null)\n validateObject(options, \"options\");\n if (options = { __proto__: null, ...options, shell: !1 }, options.execPath = options.execPath || process.execPath, validateArgumentNullCheck(options.execPath, \"options.execPath\"), args = [modulePath, ...args], typeof options.stdio === \"string\")\n options.stdio = stdioStringToArray(options.stdio, \"ipc\");\n else if (!ArrayIsArray(options.stdio))\n options.stdio = stdioStringToArray(options.silent \? \"pipe\" : \"inherit\", \"ipc\");\n else if (!ArrayPrototypeIncludes.@call(options.stdio, \"ipc\"))\n throw new ERR_CHILD_PROCESS_IPC_REQUIRED(\"options.stdio\");\n return spawn(options.execPath, args, options);\n}, convertToValidSignal = function(signal) {\n if (typeof signal === \"number\" && getSignalsToNamesMapping()[signal])\n return signal;\n if (typeof signal === \"string\") {\n const signalName = signals[StringPrototypeToUpperCase.@call(signal)];\n if (signalName)\n return signalName;\n }\n throw new ERR_UNKNOWN_SIGNAL(signal);\n}, sanitizeKillSignal = function(killSignal2) {\n if (typeof killSignal2 === \"string\" || typeof killSignal2 === \"number\")\n return convertToValidSignal(killSignal2);\n else if (killSignal2 != null)\n throw new ERR_INVALID_ARG_TYPE(\"options.killSignal\", [\"string\", \"number\"], killSignal2);\n}, getSignalsToNamesMapping = function() {\n if (signalsToNamesMapping !== @undefined)\n return signalsToNamesMapping;\n signalsToNamesMapping = ObjectCreate(null);\n for (let key in signals)\n signalsToNamesMapping[signals[key]] = key;\n return signalsToNamesMapping;\n}, normalizeExecFileArgs = function(file, args, options, callback) {\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args != null && typeof args === \"object\")\n callback = options, options = args, args = null;\n else if (typeof args === \"function\")\n callback = args, options = null, args = null;\n if (args == null)\n args = [];\n if (typeof options === \"function\")\n callback = options;\n else if (options != null)\n validateObject(options, \"options\");\n if (options == null)\n options = kEmptyObject;\n if (callback != null)\n validateFunction(callback, \"callback\");\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n return { file, args, options, callback };\n}, normalizeExecArgs = function(command, options, callback) {\n if (validateString(command, \"command\"), validateArgumentNullCheck(command, \"command\"), typeof options === \"function\")\n callback = options, options = @undefined;\n return options = { ...options }, options.shell = typeof options.shell === \"string\" \? options.shell : !0, {\n file: command,\n options,\n callback\n };\n}, normalizeSpawnArguments = function(file, args, options) {\n if (validateString(file, \"file\"), validateArgumentNullCheck(file, \"file\"), file.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"file\", file, \"cannot be empty\");\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args == null)\n args = [];\n else if (typeof args !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"args\", \"object\", args);\n else\n options = args, args = [];\n if (validateArgumentsNullCheck(args, \"args\"), options === @undefined)\n options = {};\n else\n validateObject(options, \"options\");\n let cwd = options.cwd;\n if (cwd != null)\n cwd = getValidatedPath(cwd, \"options.cwd\");\n var detached = !1;\n const { detached: detachedOption } = options;\n if (detachedOption != null)\n detached = !!detachedOption;\n if (options.shell != null && typeof options.shell !== \"boolean\" && typeof options.shell !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(\"options.shell\", [\"boolean\", \"string\"], options.shell);\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n if (options.shell) {\n validateArgumentNullCheck(options.shell, \"options.shell\");\n const command = ArrayPrototypeJoin.@call([file, ...args], \" \");\n if (typeof options.shell === \"string\")\n file = options.shell;\n else\n file = \"sh\";\n args = [\"-c\", command];\n }\n if (typeof options.argv0 === \"string\")\n ArrayPrototypeUnshift.@call(args, options.argv0);\n else\n ArrayPrototypeUnshift.@call(args, file);\n const envPairs = options.env || process.env;\n return { ...options, detached, file, args, cwd, envPairs };\n}, checkExecSyncError = function(ret, args, cmd) {\n let err;\n if (ret.error)\n err = ret.error, ObjectAssign(err, ret);\n else if (ret.status !== 0) {\n let msg = \"Command failed: \";\n if (msg += cmd || ArrayPrototypeJoin.@call(args, \" \"), ret.stderr && ret.stderr.length > 0)\n msg += `\\n${ret.stderr.toString()}`;\n err = genericNodeError(msg, ret);\n }\n return err;\n}, nodeToBun = function(item) {\n if (typeof item === \"number\")\n return item;\n else {\n const result = nodeToBunLookup[item];\n if (result === @undefined)\n throw new Error(`Invalid stdio option \"${item}\"`);\n return result;\n }\n}, fdToStdioName = function(fd) {\n switch (fd) {\n case 0:\n return \"stdin\";\n case 1:\n return \"stdout\";\n case 2:\n return \"stderr\";\n default:\n return null;\n }\n}, getBunStdioFromOptions = function(stdio) {\n return normalizeStdio(stdio).map((item) => nodeToBun(item));\n}, normalizeStdio = function(stdio) {\n if (typeof stdio === \"string\")\n switch (stdio) {\n case \"ignore\":\n return [\"ignore\", \"ignore\", \"ignore\"];\n case \"pipe\":\n return [\"pipe\", \"pipe\", \"pipe\"];\n case \"inherit\":\n return [\"inherit\", \"inherit\", \"inherit\"];\n default:\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n }\n else if (ArrayIsArray(stdio)) {\n let processedStdio;\n if (stdio.length === 0)\n processedStdio = [\"pipe\", \"pipe\", \"pipe\"];\n else if (stdio.length === 1)\n processedStdio = [stdio[0], \"pipe\", \"pipe\"];\n else if (stdio.length === 2)\n processedStdio = [stdio[0], stdio[1], \"pipe\"];\n else if (stdio.length >= 3)\n processedStdio = [stdio[0], stdio[1], stdio[2]];\n return processedStdio.map((item) => !item \? \"pipe\" : item);\n } else\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n}, flushStdio = function(subprocess) {\n const stdio = subprocess.stdio;\n if (stdio == null)\n return;\n for (let i = 0;i < stdio.length; i++) {\n const stream = stdio[i];\n if (!stream || !stream.readable)\n continue;\n stream.resume();\n }\n}, onSpawnNT = function(self) {\n self.emit(\"spawn\");\n}, abortChildProcess = function(child, killSignal2, reason) {\n if (!child)\n return;\n try {\n if (child.kill(killSignal2))\n child.emit(\"error\", new AbortError(@undefined, { cause: reason }));\n } catch (err) {\n child.emit(\"error\", err);\n }\n}, validateMaxBuffer = function(maxBuffer) {\n if (maxBuffer != null && !(typeof maxBuffer === \"number\" && maxBuffer >= 0))\n throw new ERR_OUT_OF_RANGE(\"options.maxBuffer\", \"a positive number\", maxBuffer);\n}, validateArgumentNullCheck = function(arg, propName) {\n if (typeof arg === \"string\" && StringPrototypeIncludes.@call(arg, \"\\0\"))\n throw new ERR_INVALID_ARG_VALUE(propName, arg, \"must be a string without null bytes\");\n}, validateArgumentsNullCheck = function(args, propName) {\n for (let i = 0;i < args.length; ++i)\n validateArgumentNullCheck(args[i], `${propName}[${i}]`);\n}, validateTimeout = function(timeout) {\n if (timeout != null && !(NumberIsInteger(timeout) && timeout >= 0))\n throw new ERR_OUT_OF_RANGE(\"timeout\", \"an unsigned integer\", timeout);\n};\nvar validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, nullCheck = function(path, propName, throwError = !0) {\n const pathIsString = typeof path === \"string\", pathIsUint8Array = isUint8Array(path);\n if (!pathIsString && !pathIsUint8Array || pathIsString && !StringPrototypeIncludes.@call(path, \"\\0\") || pathIsUint8Array && !Uint8ArrayPrototypeIncludes.@call(path, 0))\n return;\n const err = new ERR_INVALID_ARG_VALUE(propName, path, \"must be a string or Uint8Array without null bytes\");\n if (throwError)\n throw err;\n return err;\n}, validatePath = function(path, propName = \"path\") {\n if (typeof path !== \"string\" && !isUint8Array(path))\n throw new ERR_INVALID_ARG_TYPE(propName, [\"string\", \"Buffer\", \"URL\"], path);\n const err = nullCheck(path, propName, !1);\n if (err !== @undefined)\n throw err;\n}, getValidatedPath = function(fileURLOrPath, propName = \"path\") {\n const path = toPathIfFileURL(fileURLOrPath);\n return validatePath(path, propName), path;\n}, isUint8Array = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @Uint8Array;\n}, isURLInstance = function(fileURLOrPath) {\n return fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.origin;\n}, toPathIfFileURL = function(fileURLOrPath) {\n if (!isURLInstance(fileURLOrPath))\n return fileURLOrPath;\n return Bun.fileURLToPath(fileURLOrPath);\n}, genericNodeError = function(message, options) {\n const err = new Error(message);\n return err.code = options.code, err.killed = options.killed, err.signal = options.signal, err;\n}, ERR_OUT_OF_RANGE = function(str, range, input, replaceDefaultBoolean = !1) {\n return new RangeError(`The value of ${str} is out of range. It must be ${range}. Received ${input}`);\n}, ERR_CHILD_PROCESS_STDIO_MAXBUFFER = function(stdio) {\n return Error(`${stdio} maxBuffer length exceeded`);\n}, ERR_UNKNOWN_SIGNAL = function(name) {\n const err = @makeTypeError(`Unknown signal: ${name}`);\n return err.code = \"ERR_UNKNOWN_SIGNAL\", err;\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value\?.toString()}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_INVALID_OPT_VALUE = function(name, value) {\n return @makeTypeError(`The value \"${value}\" is invalid for option \"${name}\"`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value \"${value}\" is invalid for argument '${name}'. Reason: ${reason}`);\n}, ERR_CHILD_PROCESS_IPC_REQUIRED = function(name) {\n const err = @makeTypeError(`Forked processes must have an IPC channel, missing value 'ipc' in ${name}`);\n return err.code = \"ERR_CHILD_PROCESS_IPC_REQUIRED\", err;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), {\n constants: { signals }\n} = @getInternalField(@internalModuleRegistry, 28) || @createInternalModuleById(28), { promisify } = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), ObjectCreate = Object.create, ObjectAssign = Object.assign, ObjectDefineProperty = Object.defineProperty, BufferConcat = @Buffer.concat, BufferIsEncoding = @Buffer.isEncoding, kEmptyObject = ObjectCreate(null), ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeUnshift = @Array.prototype.unshift, ArrayPrototypeLastIndexOf = @Array.prototype.lastIndexOf, ArrayPrototypeSplice = @Array.prototype.splice, ArrayIsArray = @Array.isArray, ArrayBufferIsView = @ArrayBuffer.isView, NumberIsInteger = Number.isInteger;\nvar StringPrototypeToUpperCase = @String.prototype.toUpperCase, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSlice = @String.prototype.slice, Uint8ArrayPrototypeIncludes = @Uint8Array.prototype.includes, MAX_BUFFER = 1048576, NativeWritable, ReadableFromWeb, customPromiseExecFunction = (orig) => {\n return (...args) => {\n let resolve, reject;\n const promise = new @Promise((res, rej) => {\n resolve = res, reject = rej;\n });\n return promise.child = orig(...args, (err, stdout, stderr) => {\n if (err !== null)\n err.stdout = stdout, err.stderr = stderr, reject(err);\n else\n resolve({ stdout, stderr });\n }), promise;\n };\n};\nObjectDefineProperty(exec, promisify.custom, {\n __proto__: null,\n enumerable: !1,\n value: customPromiseExecFunction(exec)\n});\nvar signalsToNamesMapping;\n\nclass ChildProcess extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n #handle;\n #exited = !1;\n #closesNeeded = 1;\n #closesGot = 0;\n connected = !1;\n signalCode = null;\n exitCode = null;\n spawnfile;\n spawnargs;\n pid;\n channel;\n get killed() {\n if (this.#handle == null)\n return !1;\n }\n #handleOnExit(exitCode, signalCode, err) {\n if (this.#exited)\n return;\n if (signalCode)\n this.signalCode = signalCode;\n else\n this.exitCode = exitCode;\n if (this.#stdin)\n this.#stdin.destroy();\n if (this.#handle)\n this.#handle = null;\n if (exitCode < 0) {\n const err2 = new SystemError(`Spawned process exited with error code: ${exitCode}`, @undefined, \"spawn\", \"EUNKNOWN\", \"ERR_CHILD_PROCESS_UNKNOWN_ERROR\");\n if (this.spawnfile)\n err2.path = this.spawnfile;\n err2.spawnargs = ArrayPrototypeSlice.@call(this.spawnargs, 1), this.emit(\"error\", err2);\n } else\n this.emit(\"exit\", this.exitCode, this.signalCode);\n process.nextTick(flushStdio, this), this.#maybeClose(), this.#exited = !0, this.#stdioOptions = [\"destroyed\", \"destroyed\", \"destroyed\"];\n }\n #getBunSpawnIo(i, encoding) {\n NativeWritable ||= StreamModule.NativeWritable, ReadableFromWeb ||= StreamModule.Readable.fromWeb;\n const io = this.#stdioOptions[i];\n switch (i) {\n case 0:\n switch (io) {\n case \"pipe\":\n return new NativeWritable(this.#handle.stdin);\n case \"inherit\":\n return process.stdin || null;\n case \"destroyed\":\n return new ShimmedStdin;\n default:\n return null;\n }\n case 2:\n case 1:\n switch (io) {\n case \"pipe\":\n return ReadableFromWeb(this.#handle[fdToStdioName(i)], { encoding });\n case \"inherit\":\n return process[fdToStdioName(i)] || null;\n case \"destroyed\":\n return new ShimmedStdioOutStream;\n default:\n return null;\n }\n }\n }\n #stdin;\n #stdout;\n #stderr;\n #stdioObject;\n #encoding;\n #stdioOptions;\n #createStdioObject() {\n return Object.create(null, {\n 0: {\n get: () => this.stdin\n },\n 1: {\n get: () => this.stdout\n },\n 2: {\n get: () => this.stderr\n }\n });\n }\n get stdin() {\n return this.#stdin \?\?= this.#getBunSpawnIo(0, this.#encoding);\n }\n get stdout() {\n return this.#stdout \?\?= this.#getBunSpawnIo(1, this.#encoding);\n }\n get stderr() {\n return this.#stderr \?\?= this.#getBunSpawnIo(2, this.#encoding);\n }\n get stdio() {\n return this.#stdioObject \?\?= this.#createStdioObject();\n }\n spawn(options) {\n validateObject(options, \"options\"), validateString(options.file, \"options.file\");\n var file = this.spawnfile = options.file, spawnargs;\n if (options.args == null)\n spawnargs = this.spawnargs = [];\n else\n validateArray(options.args, \"options.args\"), spawnargs = this.spawnargs = options.args;\n const stdio = options.stdio || [\"pipe\", \"pipe\", \"pipe\"], bunStdio = getBunStdioFromOptions(stdio), ipc = @isArray(stdio) && stdio[3] === \"ipc\";\n var env = options.envPairs || @undefined;\n const detachedOption = options.detached;\n if (this.#encoding = options.encoding || @undefined, this.#stdioOptions = bunStdio, this.#handle = Bun.spawn({\n cmd: spawnargs,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2],\n cwd: options.cwd || @undefined,\n env: env || process.env,\n detached: typeof detachedOption !== \"undefined\" \? !!detachedOption : !1,\n onExit: (handle, exitCode, signalCode, err) => {\n this.#handle = handle, this.pid = this.#handle.pid, process.nextTick((exitCode2, signalCode2, err2) => this.#handleOnExit(exitCode2, signalCode2, err2), exitCode, signalCode, err);\n },\n lazy: !0,\n ipc: ipc \? this.#emitIpcMessage.bind(this) : @undefined\n }), this.pid = this.#handle.pid, onSpawnNT(this), ipc)\n this.send = this.#send, this.disconnect = this.#disconnect;\n }\n #emitIpcMessage(message) {\n this.emit(\"message\", message);\n }\n #send(message, handle, options, callback) {\n if (typeof handle === \"function\")\n callback = handle, handle = @undefined, options = @undefined;\n else if (typeof options === \"function\")\n callback = options, options = @undefined;\n else if (options !== @undefined) {\n if (typeof options !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n }\n if (!this.#handle) {\n if (callback)\n process.nextTick(callback, @makeTypeError(\"Process was closed while trying to send message\"));\n else\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return !1;\n }\n try {\n if (this.#handle.send(message), callback)\n process.nextTick(callback);\n return !0;\n } catch (error) {\n if (callback)\n process.nextTick(callback, error);\n else\n this.emit(\"error\", error);\n return !1;\n }\n }\n #disconnect() {\n if (!this.connected) {\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return;\n }\n this.connected = !1, this.#handle.disconnect();\n }\n kill(sig) {\n const signal = sig === 0 \? sig : convertToValidSignal(sig === @undefined \? \"SIGTERM\" : sig);\n if (this.#handle)\n this.#handle.kill(signal);\n return this.#maybeClose(), !0;\n }\n #maybeClose() {\n if (this.#closesGot++, this.#closesGot === this.#closesNeeded)\n this.emit(\"close\", this.exitCode, this.signalCode);\n }\n ref() {\n if (this.#handle)\n this.#handle.ref();\n }\n unref() {\n if (this.#handle)\n this.#handle.unref();\n }\n}\nvar nodeToBunLookup = {\n ignore: null,\n pipe: \"pipe\",\n overlapped: \"pipe\",\n inherit: \"inherit\"\n};\n\nclass ShimmedStdin extends EventEmitter {\n constructor() {\n super();\n }\n write() {\n return !1;\n }\n destroy() {\n }\n end() {\n }\n pipe() {\n }\n}\n\nclass ShimmedStdioOutStream extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n pipe() {\n }\n}\nvar validateAbortSignal = (signal, name) => {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n};\nvar validateObject = (value, name, options = null) => {\n const allowArray = options\?.allowArray \?\? !1, allowFunction = options\?.allowFunction \?\? !1;\n if (!(options\?.nullable \?\? !1) && value === null || !allowArray && ArrayIsArray.@call(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE(name, \"object\", value);\n}, validateArray = (value, name, minLength = 0) => {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, Error = globalThis.Error, TypeError = globalThis.TypeError, RangeError = globalThis.RangeError;\n\nclass AbortError extends Error {\n code = \"ABORT_ERR\";\n name = \"AbortError\";\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n }\n}\n\nclass SystemError extends Error {\n path;\n syscall;\n errno;\n code;\n constructor(message, path, syscall, errno, code) {\n super(message);\n this.path = path, this.syscall = syscall, this.errno = errno, this.code = code;\n }\n get name() {\n return \"SystemError\";\n }\n}\n$ = {\n ChildProcess,\n spawn,\n execFile,\n exec,\n fork,\n spawnSync,\n execFileSync,\n execSync\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeClusterCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/cluster.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n\nclass Cluster extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n isWorker = !1;\n isPrimary = !0;\n isMaster = !0;\n workers = {};\n settings = {};\n SCHED_NONE = 1;\n SCHED_RR = 2;\n schedulingPolicy = 2;\n Worker = function Worker() {\n throwNotImplemented(\"node:cluster Worker\", 2428);\n };\n setupPrimary() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n setupMaster() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n fork() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n disconnect() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n}\nreturn new Cluster})\n"); +static constexpr ASCIILiteral NodeClusterCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/cluster.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n\nclass Cluster extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n isWorker = !1;\n isPrimary = !0;\n isMaster = !0;\n workers = {};\n settings = {};\n SCHED_NONE = 1;\n SCHED_RR = 2;\n schedulingPolicy = 2;\n Worker = function Worker() {\n throwNotImplemented(\"node:cluster Worker\", 2428);\n };\n setupPrimary() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n setupMaster() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n fork() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n disconnect() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n}\nreturn new Cluster})\n"); // // -static constexpr ASCIILiteral NodeConsoleCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/console.ts\nreturn console})\n"); +static constexpr ASCIILiteral NodeConsoleCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/console.ts\nreturn console})\n"); // // -static constexpr ASCIILiteral NodeCryptoCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/crypto.ts\nvar exportIfKeyObject = function(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n return key2;\n}, getKeyFrom = function(key2, type) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n else if (!Buffer.isBuffer(key2) && typeof key2 === \"object\") {\n if ((typeof key2.format === \"string\" || typeof key2.passphrase === \"string\") && typeof key2.key !== \"undefined\")\n key2 = type === \"public\" \? _createPublicKey(key2).export() : _createPrivateKey(key2).export();\n } else if (typeof key2 === \"string\" && type === \"public\")\n key2.indexOf(\"PRIVATE KEY-----\") !== -1 && (key2 = _createPublicKey(key2).export());\n return key2;\n}, getArrayBufferOrView = function(buffer, name, encoding) {\n if (buffer instanceof KeyObject) {\n if (buffer.type !== \"secret\") {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key.type}, expected secret`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n buffer = buffer.export();\n }\n if (isAnyArrayBuffer(buffer))\n return buffer;\n if (typeof buffer === \"string\") {\n if (encoding === \"buffer\")\n encoding = \"utf8\";\n return Buffer.from(buffer, encoding);\n }\n if (!isArrayBufferView(buffer)) {\n var error = @makeTypeError(`ERR_INVALID_ARG_TYPE: The \"${name}\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received ` + buffer);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n return buffer;\n}, getCurves = function() {\n return harcoded_curves;\n}, _generateKeyPairSync = function(algorithm, options) {\n const result = generateKeyPairSync(algorithm, options);\n if (result) {\n const publicKeyEncoding = options\?.publicKeyEncoding, privateKeyEncoding = options\?.privateKeyEncoding;\n result.publicKey = publicKeyEncoding \? KeyObject.from(result.publicKey).export(publicKeyEncoding) : KeyObject.from(result.publicKey), result.privateKey = privateKeyEncoding \? KeyObject.from(result.privateKey).export(privateKeyEncoding) : KeyObject.from(result.privateKey);\n }\n return result;\n}, _createPrivateKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + actual_key);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPrivateKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, _createPublicKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type === \"private\")\n return KeyObject.from(createPublicKey({ key: key2[kCryptoKey] || key2, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n if (key2.passphrase) {\n let actual_key2 = key2.key;\n if (typeof actual_key2 === \"string\")\n actual_key2 = Buffer.from(actual_key2, key2.encoding || \"utf8\");\n return KeyObject.from(createPublicKey({\n key: createPrivateKey({ key: actual_key2, format: key2.format, passphrase: key2.passphrase }),\n format: \"\"\n }));\n }\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n if (actual_key.type === \"private\")\n return KeyObject.from(createPublicKey({ key: actual_key[kCryptoKey] || actual_key, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${actual_key.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPublicKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, $, __defProp = Object.defineProperty, __getOwnPropNames = Object.getOwnPropertyNames, StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), BufferModule = @requireNativeModule(\"buffer\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, MAX_STRING_LENGTH = 536870888, Buffer = globalThis.Buffer, EMPTY_BUFFER = Buffer.alloc(0), { isAnyArrayBuffer, isArrayBufferView } = @requireNativeModule(\"util/types\"), crypto = globalThis.crypto, globalCrypto = crypto, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, require_safe_buffer = __commonJS({\n \"node_modules/safe-buffer/index.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src)\n dst[key2] = src[key2];\n }\n Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow \? module.exports = buffer : (copyProps(buffer, exports), exports.Buffer = SafeBuffer);\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer2(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer2.prototype), copyProps(Buffer2, SafeBuffer), SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg == \"number\")\n @throwTypeError(\"Argument must not be a number\");\n return Buffer2(arg, encodingOrOffset, length);\n }, SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n var buf = Buffer2(size);\n return fill !== void 0 \? typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill) : buf.fill(0), buf;\n }, SafeBuffer.allocUnsafe = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return Buffer2(size);\n }, SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return buffer.SlowBuffer(size);\n };\n }\n}), require_browser = __commonJS({\n \"node_modules/randombytes/browser.js\"(exports, module) {\n var MAX_BYTES = 65536, MAX_UINT32 = 4294967295;\n function oldBrowser() {\n throw new Error(`Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11`);\n }\n var Buffer2 = require_safe_buffer().Buffer, crypto2 = globalCrypto;\n crypto2 && crypto2.getRandomValues \? module.exports = randomBytes : module.exports = oldBrowser;\n function randomBytes(size, cb) {\n if (size > MAX_UINT32)\n @throwRangeError(\"requested too many random bytes\");\n var bytes = Buffer2.allocUnsafe(size);\n if (size > 0)\n if (size > MAX_BYTES)\n for (var generated = 0;generated < size; generated += MAX_BYTES)\n crypto2.getRandomValues(bytes.slice(generated, generated + MAX_BYTES));\n else\n crypto2.getRandomValues(bytes);\n return typeof cb == \"function\" \? process.nextTick(function() {\n cb(null, bytes);\n }) : bytes;\n }\n }\n}), require_inherits_browser = __commonJS({\n \"node_modules/inherits/inherits_browser.js\"(exports, module) {\n module.exports = function(ctor, superCtor) {\n superCtor && (ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }));\n };\n }\n}), require_hash_base = __commonJS({\n \"node_modules/hash-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function throwIfNotStringOrBuffer(val, prefix) {\n if (!Buffer2.isBuffer(val) && typeof val != \"string\")\n @throwTypeError(prefix + \" must be a string or a buffer\");\n }\n function HashBase(blockSize) {\n StreamModule.Transform.@call(this), this._block = Buffer2.allocUnsafe(blockSize), this._blockSize = blockSize, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1;\n }\n inherits(HashBase, StreamModule.Transform), HashBase.prototype._transform = function(chunk, encoding, callback) {\n var error = null;\n try {\n this.update(chunk, encoding);\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype._flush = function(callback) {\n var error = null;\n try {\n this.push(this.digest());\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype.update = function(data, encoding) {\n if (throwIfNotStringOrBuffer(data, \"Data\"), this._finalized)\n throw new Error(\"Digest already called\");\n Buffer2.isBuffer(data) || (data = Buffer2.from(data, encoding));\n for (var block = this._block, offset = 0;this._blockOffset + data.length - offset >= this._blockSize; ) {\n for (var i = this._blockOffset;i < this._blockSize; )\n block[i++] = data[offset++];\n this._update(), this._blockOffset = 0;\n }\n for (;offset < data.length; )\n block[this._blockOffset++] = data[offset++];\n for (var j = 0, carry = data.length * 8;carry > 0; ++j)\n this._length[j] += carry, carry = this._length[j] / 4294967296 | 0, carry > 0 && (this._length[j] -= 4294967296 * carry);\n return this;\n }, HashBase.prototype._update = function() {\n throw new Error(\"_update is not implemented\");\n }, HashBase.prototype.digest = function(encoding) {\n if (this._finalized)\n throw new Error(\"Digest already called\");\n this._finalized = !0;\n var digest = this._digest();\n encoding !== void 0 && (digest = digest.toString(encoding)), this._block.fill(0), this._blockOffset = 0;\n for (var i = 0;i < 4; ++i)\n this._length[i] = 0;\n return digest;\n }, HashBase.prototype._digest = function() {\n throw new Error(\"_digest is not implemented\");\n }, module.exports = HashBase;\n }\n}), require_md5 = __commonJS({\n \"node_modules/md5.js/index.js\"(exports, module) {\n var inherits = require_inherits_browser(), HashBase = require_hash_base(), Buffer2 = require_safe_buffer().Buffer, ARRAY16 = new @Array(16);\n function MD5() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878;\n }\n inherits(MD5, HashBase), MD5.prototype._update = function() {\n for (var M = ARRAY16, i = 0;i < 16; ++i)\n M[i] = this._block.readInt32LE(i * 4);\n var a = this._a, b = this._b, c = this._c, d = this._d;\n a = fnF(a, b, c, d, M[0], 3614090360, 7), d = fnF(d, a, b, c, M[1], 3905402710, 12), c = fnF(c, d, a, b, M[2], 606105819, 17), b = fnF(b, c, d, a, M[3], 3250441966, 22), a = fnF(a, b, c, d, M[4], 4118548399, 7), d = fnF(d, a, b, c, M[5], 1200080426, 12), c = fnF(c, d, a, b, M[6], 2821735955, 17), b = fnF(b, c, d, a, M[7], 4249261313, 22), a = fnF(a, b, c, d, M[8], 1770035416, 7), d = fnF(d, a, b, c, M[9], 2336552879, 12), c = fnF(c, d, a, b, M[10], 4294925233, 17), b = fnF(b, c, d, a, M[11], 2304563134, 22), a = fnF(a, b, c, d, M[12], 1804603682, 7), d = fnF(d, a, b, c, M[13], 4254626195, 12), c = fnF(c, d, a, b, M[14], 2792965006, 17), b = fnF(b, c, d, a, M[15], 1236535329, 22), a = fnG(a, b, c, d, M[1], 4129170786, 5), d = fnG(d, a, b, c, M[6], 3225465664, 9), c = fnG(c, d, a, b, M[11], 643717713, 14), b = fnG(b, c, d, a, M[0], 3921069994, 20), a = fnG(a, b, c, d, M[5], 3593408605, 5), d = fnG(d, a, b, c, M[10], 38016083, 9), c = fnG(c, d, a, b, M[15], 3634488961, 14), b = fnG(b, c, d, a, M[4], 3889429448, 20), a = fnG(a, b, c, d, M[9], 568446438, 5), d = fnG(d, a, b, c, M[14], 3275163606, 9), c = fnG(c, d, a, b, M[3], 4107603335, 14), b = fnG(b, c, d, a, M[8], 1163531501, 20), a = fnG(a, b, c, d, M[13], 2850285829, 5), d = fnG(d, a, b, c, M[2], 4243563512, 9), c = fnG(c, d, a, b, M[7], 1735328473, 14), b = fnG(b, c, d, a, M[12], 2368359562, 20), a = fnH(a, b, c, d, M[5], 4294588738, 4), d = fnH(d, a, b, c, M[8], 2272392833, 11), c = fnH(c, d, a, b, M[11], 1839030562, 16), b = fnH(b, c, d, a, M[14], 4259657740, 23), a = fnH(a, b, c, d, M[1], 2763975236, 4), d = fnH(d, a, b, c, M[4], 1272893353, 11), c = fnH(c, d, a, b, M[7], 4139469664, 16), b = fnH(b, c, d, a, M[10], 3200236656, 23), a = fnH(a, b, c, d, M[13], 681279174, 4), d = fnH(d, a, b, c, M[0], 3936430074, 11), c = fnH(c, d, a, b, M[3], 3572445317, 16), b = fnH(b, c, d, a, M[6], 76029189, 23), a = fnH(a, b, c, d, M[9], 3654602809, 4), d = fnH(d, a, b, c, M[12], 3873151461, 11), c = fnH(c, d, a, b, M[15], 530742520, 16), b = fnH(b, c, d, a, M[2], 3299628645, 23), a = fnI(a, b, c, d, M[0], 4096336452, 6), d = fnI(d, a, b, c, M[7], 1126891415, 10), c = fnI(c, d, a, b, M[14], 2878612391, 15), b = fnI(b, c, d, a, M[5], 4237533241, 21), a = fnI(a, b, c, d, M[12], 1700485571, 6), d = fnI(d, a, b, c, M[3], 2399980690, 10), c = fnI(c, d, a, b, M[10], 4293915773, 15), b = fnI(b, c, d, a, M[1], 2240044497, 21), a = fnI(a, b, c, d, M[8], 1873313359, 6), d = fnI(d, a, b, c, M[15], 4264355552, 10), c = fnI(c, d, a, b, M[6], 2734768916, 15), b = fnI(b, c, d, a, M[13], 1309151649, 21), a = fnI(a, b, c, d, M[4], 4149444226, 6), d = fnI(d, a, b, c, M[11], 3174756917, 10), c = fnI(c, d, a, b, M[2], 718787259, 15), b = fnI(b, c, d, a, M[9], 3951481745, 21), this._a = this._a + a | 0, this._b = this._b + b | 0, this._c = this._c + c | 0, this._d = this._d + d | 0;\n }, MD5.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.allocUnsafe(16);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fnF(a, b, c, d, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + b | 0;\n }\n function fnG(a, b, c, d, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + b | 0;\n }\n function fnH(a, b, c, d, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + b | 0;\n }\n function fnI(a, b, c, d, m, k, s) {\n return rotl(a + (c ^ (b | ~d)) + m + k | 0, s) + b | 0;\n }\n module.exports = MD5;\n }\n}), require_ripemd160 = __commonJS({\n \"node_modules/ripemd160/index.js\"(exports, module) {\n var Buffer2 = Buffer, inherits = require_inherits_browser(), HashBase = require_hash_base(), ARRAY16 = new @Array(16), zl = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], zr = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], sl = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sr = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ], hl = [0, 1518500249, 1859775393, 2400959708, 2840853838], hr = [1352829926, 1548603684, 1836072691, 2053994217, 0];\n function RIPEMD160() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520;\n }\n inherits(RIPEMD160, HashBase), RIPEMD160.prototype._update = function() {\n for (var words = ARRAY16, j = 0;j < 16; ++j)\n words[j] = this._block.readInt32LE(j * 4);\n for (var al = this._a | 0, bl = this._b | 0, cl = this._c | 0, dl = this._d | 0, el = this._e | 0, ar = this._a | 0, br = this._b | 0, cr = this._c | 0, dr = this._d | 0, er = this._e | 0, i = 0;i < 80; i += 1) {\n var tl, tr;\n i < 16 \? (tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i]), tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])) : i < 32 \? (tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i]), tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])) : i < 48 \? (tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i]), tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])) : i < 64 \? (tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i]), tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])) : (tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i]), tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])), al = el, el = dl, dl = rotl(cl, 10), cl = bl, bl = tl, ar = er, er = dr, dr = rotl(cr, 10), cr = br, br = tr;\n }\n var t = this._b + cl + dr | 0;\n this._b = this._c + dl + er | 0, this._c = this._d + el + ar | 0, this._d = this._e + al + br | 0, this._e = this._a + bl + cr | 0, this._a = t;\n }, RIPEMD160.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.alloc \? Buffer2.alloc(20) : new Buffer2(20);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer.writeInt32LE(this._e, 16), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fn1(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + e | 0;\n }\n function fn2(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + e | 0;\n }\n function fn3(a, b, c, d, e, m, k, s) {\n return rotl(a + ((b | ~c) ^ d) + m + k | 0, s) + e | 0;\n }\n function fn4(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + e | 0;\n }\n function fn5(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ (c | ~d)) + m + k | 0, s) + e | 0;\n }\n module.exports = RIPEMD160;\n }\n}), require_hash = __commonJS({\n \"node_modules/sha.js/hash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function Hash(blockSize, finalSize) {\n this._block = Buffer2.alloc(blockSize), this._finalSize = finalSize, this._blockSize = blockSize, this._len = 0;\n }\n Hash.prototype = {}, Hash.prototype.update = function(data, enc) {\n typeof data == \"string\" && (enc = enc || \"utf8\", data = Buffer2.from(data, enc));\n for (var block = this._block, blockSize = this._blockSize, length = data.length, accum = this._len, offset = 0;offset < length; ) {\n for (var assigned = accum % blockSize, remainder = Math.min(length - offset, blockSize - assigned), i = 0;i < remainder; i++)\n block[assigned + i] = data[offset + i];\n accum += remainder, offset += remainder, accum % blockSize === 0 && this._update(block);\n }\n return this._len += length, this;\n }, Hash.prototype.digest = function(enc) {\n var rem = this._len % this._blockSize;\n this._block[rem] = 128, this._block.fill(0, rem + 1), rem >= this._finalSize && (this._update(this._block), this._block.fill(0));\n var bits = this._len * 8;\n if (bits <= 4294967295)\n this._block.writeUInt32BE(bits, this._blockSize - 4);\n else {\n var lowBits = (bits & 4294967295) >>> 0, highBits = (bits - lowBits) / 4294967296;\n this._block.writeUInt32BE(highBits, this._blockSize - 8), this._block.writeUInt32BE(lowBits, this._blockSize - 4);\n }\n this._update(this._block);\n var hash = this._hash();\n return enc \? hash.toString(enc) : hash;\n }, Hash.prototype._update = function() {\n throw new Error(\"_update must be implemented by subclass\");\n }, module.exports = Hash;\n }\n}), require_sha = __commonJS({\n \"node_modules/sha.js/sha.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha, Hash), Sha.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16];\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha;\n }\n}), require_sha1 = __commonJS({\n \"node_modules/sha.js/sha1.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha1() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha1, Hash), Sha1.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl1(num) {\n return num << 1 | num >>> 31;\n }\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha1.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = rotl1(W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16]);\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha1.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha1;\n }\n}), require_sha256 = __commonJS({\n \"node_modules/sha.js/sha256.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ], W = new @Array(64);\n function Sha256() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha256, Hash), Sha256.prototype.init = function() {\n return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this;\n };\n function ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10);\n }\n function sigma1(x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7);\n }\n function gamma0(x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3;\n }\n function gamma1(x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10;\n }\n Sha256.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, f = this._f | 0, g = this._g | 0, h = this._h | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 64; ++i)\n W2[i] = gamma1(W2[i - 2]) + W2[i - 7] + gamma0(W2[i - 15]) + W2[i - 16] | 0;\n for (var j = 0;j < 64; ++j) {\n var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W2[j] | 0, T2 = sigma0(a) + maj(a, b, c) | 0;\n h = g, g = f, f = e, e = d + T1 | 0, d = c, c = b, b = a, a = T1 + T2 | 0;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0, this._f = f + this._f | 0, this._g = g + this._g | 0, this._h = h + this._h | 0;\n }, Sha256.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(32);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H.writeInt32BE(this._h, 28), H;\n }, module.exports = Sha256;\n }\n}), require_sha224 = __commonJS({\n \"node_modules/sha.js/sha224.js\"(exports, module) {\n var inherits = require_inherits_browser(), Sha256 = require_sha256(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(64);\n function Sha224() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha224, Sha256), Sha224.prototype.init = function() {\n return this._a = 3238371032, this._b = 914150663, this._c = 812702999, this._d = 4144912697, this._e = 4290775857, this._f = 1750603025, this._g = 1694076839, this._h = 3204075428, this;\n }, Sha224.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(28);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H;\n }, module.exports = Sha224;\n }\n}), require_sha512 = __commonJS({\n \"node_modules/sha.js/sha512.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ], W = new @Array(160);\n function Sha512() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha512, Hash), Sha512.prototype.init = function() {\n return this._ah = 1779033703, this._bh = 3144134277, this._ch = 1013904242, this._dh = 2773480762, this._eh = 1359893119, this._fh = 2600822924, this._gh = 528734635, this._hh = 1541459225, this._al = 4089235720, this._bl = 2227873595, this._cl = 4271175723, this._dl = 1595750129, this._el = 2917565137, this._fl = 725511199, this._gl = 4215389547, this._hl = 327033209, this;\n };\n function Ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25);\n }\n function sigma1(x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23);\n }\n function Gamma0(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7;\n }\n function Gamma0l(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25);\n }\n function Gamma1(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6;\n }\n function Gamma1l(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26);\n }\n function getCarry(a, b) {\n return a >>> 0 < b >>> 0 \? 1 : 0;\n }\n Sha512.prototype._update = function(M) {\n for (var W2 = this._w, ah = this._ah | 0, bh = this._bh | 0, ch = this._ch | 0, dh = this._dh | 0, eh = this._eh | 0, fh = this._fh | 0, gh = this._gh | 0, hh = this._hh | 0, al = this._al | 0, bl = this._bl | 0, cl = this._cl | 0, dl = this._dl | 0, el = this._el | 0, fl = this._fl | 0, gl = this._gl | 0, hl = this._hl | 0, i = 0;i < 32; i += 2)\n W2[i] = M.readInt32BE(i * 4), W2[i + 1] = M.readInt32BE(i * 4 + 4);\n for (;i < 160; i += 2) {\n var xh = W2[i - 30], xl = W2[i - 30 + 1], gamma0 = Gamma0(xh, xl), gamma0l = Gamma0l(xl, xh);\n xh = W2[i - 4], xl = W2[i - 4 + 1];\n var gamma1 = Gamma1(xh, xl), gamma1l = Gamma1l(xl, xh), Wi7h = W2[i - 14], Wi7l = W2[i - 14 + 1], Wi16h = W2[i - 32], Wi16l = W2[i - 32 + 1], Wil = gamma0l + Wi7l | 0, Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0;\n Wil = Wil + gamma1l | 0, Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0, Wil = Wil + Wi16l | 0, Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0, W2[i] = Wih, W2[i + 1] = Wil;\n }\n for (var j = 0;j < 160; j += 2) {\n Wih = W2[j], Wil = W2[j + 1];\n var majh = maj(ah, bh, ch), majl = maj(al, bl, cl), sigma0h = sigma0(ah, al), sigma0l = sigma0(al, ah), sigma1h = sigma1(eh, el), sigma1l = sigma1(el, eh), Kih = K[j], Kil = K[j + 1], chh = Ch(eh, fh, gh), chl = Ch(el, fl, gl), t1l = hl + sigma1l | 0, t1h = hh + sigma1h + getCarry(t1l, hl) | 0;\n t1l = t1l + chl | 0, t1h = t1h + chh + getCarry(t1l, chl) | 0, t1l = t1l + Kil | 0, t1h = t1h + Kih + getCarry(t1l, Kil) | 0, t1l = t1l + Wil | 0, t1h = t1h + Wih + getCarry(t1l, Wil) | 0;\n var t2l = sigma0l + majl | 0, t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0;\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, el = dl + t1l | 0, eh = dh + t1h + getCarry(el, dl) | 0, dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, al = t1l + t2l | 0, ah = t1h + t2h + getCarry(al, t1l) | 0;\n }\n this._al = this._al + al | 0, this._bl = this._bl + bl | 0, this._cl = this._cl + cl | 0, this._dl = this._dl + dl | 0, this._el = this._el + el | 0, this._fl = this._fl + fl | 0, this._gl = this._gl + gl | 0, this._hl = this._hl + hl | 0, this._ah = this._ah + ah + getCarry(this._al, al) | 0, this._bh = this._bh + bh + getCarry(this._bl, bl) | 0, this._ch = this._ch + ch + getCarry(this._cl, cl) | 0, this._dh = this._dh + dh + getCarry(this._dl, dl) | 0, this._eh = this._eh + eh + getCarry(this._el, el) | 0, this._fh = this._fh + fh + getCarry(this._fl, fl) | 0, this._gh = this._gh + gh + getCarry(this._gl, gl) | 0, this._hh = this._hh + hh + getCarry(this._hl, hl) | 0;\n }, Sha512.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(64);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), writeInt64BE(this._gh, this._gl, 48), writeInt64BE(this._hh, this._hl, 56), H;\n }, module.exports = Sha512;\n }\n}), require_sha384 = __commonJS({\n \"node_modules/sha.js/sha384.js\"(exports, module) {\n var inherits = require_inherits_browser(), SHA512 = require_sha512(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(160);\n function Sha384() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha384, SHA512), Sha384.prototype.init = function() {\n return this._ah = 3418070365, this._bh = 1654270250, this._ch = 2438529370, this._dh = 355462360, this._eh = 1731405415, this._fh = 2394180231, this._gh = 3675008525, this._hh = 1203062813, this._al = 3238371032, this._bl = 914150663, this._cl = 812702999, this._dl = 4144912697, this._el = 4290775857, this._fl = 1750603025, this._gl = 1694076839, this._hl = 3204075428, this;\n }, Sha384.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(48);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), H;\n }, module.exports = Sha384;\n }\n}), require_sha2 = __commonJS({\n \"node_modules/sha.js/index.js\"(exports, module) {\n var exports = module.exports = function(algorithm) {\n algorithm = algorithm.toLowerCase();\n var Algorithm = exports[algorithm];\n if (!Algorithm)\n throw new Error(algorithm + \" is not supported (we accept pull requests)\");\n return new Algorithm;\n };\n exports.sha = require_sha(), exports.sha1 = require_sha1(), exports.sha224 = require_sha224(), exports.sha256 = require_sha256(), exports.sha384 = require_sha384(), exports.sha512 = require_sha512();\n }\n}), require_cipher_base = __commonJS({\n \"node_modules/cipher-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function CipherBase(hashMode) {\n StreamModule.Transform.@call(this), this.hashMode = typeof hashMode == \"string\", this.hashMode \? this[hashMode] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null, this._finalized = !1;\n }\n inherits(CipherBase, StreamModule.Transform), CipherBase.prototype.update = function(data, inputEnc, outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n typeof data == \"string\" && (data = Buffer2.from(data, inputEnc));\n var outData = this._update(data);\n return this.hashMode \? this : (outputEnc && (outData = this._toString(outData, outputEnc)), outData);\n }, CipherBase.prototype.setAutoPadding = function() {\n }, CipherBase.prototype.getAuthTag = function() {\n throw new Error(\"trying to get auth tag in unsupported state\");\n }, CipherBase.prototype.setAuthTag = function() {\n throw new Error(\"trying to set auth tag in unsupported state\");\n }, CipherBase.prototype.setAAD = function() {\n throw new Error(\"trying to set aad in unsupported state\");\n }, CipherBase.prototype._transform = function(data, _, next) {\n var err;\n try {\n this.hashMode \? this._update(data) : this.push(this._update(data));\n } catch (e) {\n err = e;\n } finally {\n next(err);\n }\n }, CipherBase.prototype._flush = function(done) {\n var err;\n try {\n this.push(this.__final());\n } catch (e) {\n err = e;\n }\n done(err);\n }, CipherBase.prototype._finalOrDigest = function(outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n if (this._finalized) {\n if (!this._encoding)\n return Buffer2.alloc(0);\n return \"\";\n }\n this._finalized = !0;\n var outData = this.__final() || Buffer2.alloc(0);\n return outputEnc && (outData = this._toString(outData, outputEnc, !0)), outData;\n }, CipherBase.prototype._toString = function(value, enc, fin) {\n if (this._decoder || (this._decoder = new StringDecoder(enc), this._encoding = enc), this._encoding !== enc)\n throw new Error(\"can't switch encodings\");\n var out = this._decoder.write(value);\n return fin && (out += this._decoder.end()), out;\n }, module.exports = CipherBase;\n }\n}), require_browser2 = __commonJS({\n \"node_modules/create-hash/browser.js\"(exports, module) {\n const LazyHash = function Hash(algorithm, options) {\n this._options = options, this._hasher = new CryptoHasher(algorithm, options), this._finalized = !1;\n };\n LazyHash.prototype = Object.create(StreamModule.Transform.prototype), LazyHash.prototype.update = function update(data, encoding) {\n return this._checkFinalized(), this._hasher.update(data, encoding), this;\n }, LazyHash.prototype.digest = function update(data, encoding) {\n return this._checkFinalized(), this._finalized = !0, this._hasher.digest(data, encoding);\n }, LazyHash.prototype._checkFinalized = function _checkFinalized() {\n if (this._finalized) {\n var err = new Error(\"Digest already called\");\n throw err.code = \"ERR_CRYPTO_HASH_FINALIZED\", err;\n }\n }, LazyHash.prototype.copy = function copy() {\n const copy = Object.create(LazyHash.prototype);\n return copy._options = this._options, copy._hasher = this._hasher.copy(), copy._finalized = this._finalized, copy;\n };\n const lazyHashFullInitProto = {\n __proto__: StreamModule.Transform.prototype,\n ...LazyHash.prototype,\n _transform(data, encoding, callback) {\n this.update(data, encoding), callback && callback();\n },\n _flush(callback) {\n this.push(this.digest()), callback();\n }\n }, triggerMethods = [\n \"_events\",\n \"_eventsCount\",\n \"_final\",\n \"_maxListeners\",\n \"_maxListeners\",\n \"_read\",\n \"_undestroy\",\n \"_writableState\",\n \"_write\",\n \"_writev\",\n \"addListener\",\n \"asIndexedPairs\",\n \"closed\",\n \"compose\",\n \"constructor\",\n \"cork\",\n \"destroy\",\n \"destroyed\",\n \"drop\",\n \"emit\",\n \"end\",\n \"errored\",\n \"eventNames\",\n \"every\",\n \"filter\",\n \"find\",\n \"flatMap\",\n \"forEach\",\n \"getMaxListeners\",\n \"hasOwnProperty\",\n \"isPaused\",\n \"isPrototypeOf\",\n \"iterator\",\n \"listenerCount\",\n \"listeners\",\n \"map\",\n \"off\",\n \"on\",\n \"once\",\n \"pause\",\n \"pipe\",\n \"prependListener\",\n \"prependOnceListener\",\n \"propertyIsEnumerable\",\n \"push\",\n \"rawListeners\",\n \"read\",\n \"readable\",\n \"readableAborted\",\n \"readableBuffer\",\n \"readableDidRead\",\n \"readableEncoding\",\n \"readableEnded\",\n \"readableFlowing\",\n \"readableHighWaterMark\",\n \"readableLength\",\n \"readableObjectMode\",\n \"reduce\",\n \"removeAllListeners\",\n \"removeListener\",\n \"resume\",\n \"setDefaultEncoding\",\n \"setEncoding\",\n \"setMaxListeners\",\n \"some\",\n \"take\",\n \"toArray\",\n \"toLocaleString\",\n \"toString\",\n \"uncork\",\n \"unpipe\",\n \"unshift\",\n \"valueOf\",\n \"wrap\",\n \"writable\",\n \"writableBuffer\",\n \"writableCorked\",\n \"writableEnded\",\n \"writableFinished\",\n \"writableHighWaterMark\",\n \"writableLength\",\n \"writableNeedDrain\",\n \"writableObjectMode\",\n \"write\"\n ];\n for (let method of triggerMethods)\n Object.defineProperty(LazyHash.prototype, method, {\n get() {\n return Object.setPrototypeOf(this, lazyHashFullInitProto), StreamModule.Transform.@call(this, this._options), this[method];\n },\n enumerable: !1,\n configurable: !0\n });\n module.exports = function createHash(algorithm) {\n return new LazyHash(algorithm);\n }, module.exports.createHash = module.exports, module.exports.Hash = LazyHash;\n }\n}), require_legacy = __commonJS({\n \"node_modules/create-hmac/legacy.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, Base = require_cipher_base(), ZEROS = Buffer2.alloc(128), blocksize = 64;\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2)), this._alg = alg, this._key = key2, key2.length > blocksize \? key2 = alg(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = [ipad];\n }\n Hmac.prototype = {}, inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.push(data);\n }, Hmac.prototype._final = function() {\n var h = this._alg(Buffer2.concat(this._hash));\n return this._alg(Buffer2.concat([this._opad, h]));\n }, module.exports = Hmac;\n }\n}), require_md52 = __commonJS({\n \"node_modules/create-hash/md5.js\"(exports, module) {\n var MD5 = require_md5();\n module.exports = function(buffer) {\n return new MD5().update(buffer).digest();\n };\n }\n}), require_browser3 = __commonJS({\n \"node_modules/create-hmac/browser.js\"(exports, module) {\n var inherits = require_inherits_browser(), Legacy = require_legacy(), Base = require_cipher_base(), Buffer2 = require_safe_buffer().Buffer, md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), ZEROS = Buffer2.alloc(128);\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2));\n var blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n if (this._alg = alg, this._key = key2, key2.length > blocksize) {\n var hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg);\n key2 = hash.update(key2).digest();\n } else\n key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg), this._hash.update(ipad);\n }\n inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.update(data);\n }, Hmac.prototype._final = function() {\n var h = this._hash.digest(), hash = this._alg === \"rmd160\" \? new RIPEMD160 : sha(this._alg);\n return hash.update(this._opad).update(h).digest();\n }, module.exports = function(alg, key2) {\n return key2 = exportIfKeyObject(key2), alg = alg.toLowerCase(), alg === \"rmd160\" || alg === \"ripemd160\" \? new Hmac(\"rmd160\", key2) : alg === \"md5\" \? new Legacy(md5, key2) : new Hmac(alg, key2);\n };\n }\n}), require_algorithms = __commonJS({\n \"node_modules/browserify-sign/browser/algorithms.json\"(exports, module) {\n module.exports = {\n sha224WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n \"RSA-SHA224\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n sha256WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n \"RSA-SHA256\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n sha384WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n \"RSA-SHA384\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n sha512WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA512\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA1\": {\n sign: \"rsa\",\n hash: \"sha1\",\n id: \"3021300906052b0e03021a05000414\"\n },\n \"ecdsa-with-SHA1\": {\n sign: \"ecdsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha1: {\n sign: \"ecdsa/rsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha256: {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"\"\n },\n sha224: {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"\"\n },\n sha384: {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"\"\n },\n sha512: {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-SHA1\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n DSA: {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-WITH-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-WITH-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-WITH-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-WITH-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-RIPEMD160\": {\n sign: \"dsa\",\n hash: \"rmd160\",\n id: \"\"\n },\n ripemd160WithRSA: {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n \"RSA-RIPEMD160\": {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n md5WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n },\n \"RSA-MD5\": {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n }\n };\n }\n}), require_algos = __commonJS({\n \"node_modules/browserify-sign/algos.js\"(exports, module) {\n module.exports = require_algorithms();\n }\n}), require_precondition = __commonJS({\n \"node_modules/pbkdf2/lib/precondition.js\"(exports, module) {\n var MAX_ALLOC = Math.pow(2, 30) - 1;\n module.exports = function(iterations, keylen) {\n if (typeof iterations != \"number\")\n @throwTypeError(\"Iterations not a number\");\n if (iterations < 0)\n @throwTypeError(\"Bad iterations\");\n if (typeof keylen != \"number\")\n @throwTypeError(\"Key length not a number\");\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen)\n @throwTypeError(\"Bad key length\");\n };\n }\n}), require_default_encoding = __commonJS({\n \"node_modules/pbkdf2/lib/default-encoding.js\"(exports, module) {\n var defaultEncoding;\n global.process && global.process.browser \? defaultEncoding = \"utf-8\" : global.process && global.process.version \? (pVersionMajor = parseInt(process.version.split(\".\")[0].slice(1), 10), defaultEncoding = pVersionMajor >= 6 \? \"utf-8\" : \"binary\") : defaultEncoding = \"utf-8\";\n var pVersionMajor;\n module.exports = defaultEncoding;\n }\n}), require_to_buffer = __commonJS({\n \"node_modules/pbkdf2/lib/to-buffer.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(thing, encoding, name) {\n if (Buffer2.isBuffer(thing))\n return thing;\n if (typeof thing == \"string\")\n return Buffer2.from(thing, encoding);\n if (@ArrayBuffer.isView(thing))\n return Buffer2.from(thing.buffer);\n @throwTypeError(name + \" must be a string, a Buffer, a typed array or a DataView\");\n };\n }\n}), require_sync_browser = __commonJS({\n \"node_modules/pbkdf2/lib/sync-browser.js\"(exports, module) {\n var md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), toBuffer = require_to_buffer(), ZEROS = Buffer2.alloc(128), sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n };\n function Hmac(alg, key2, saltLen) {\n key2 = exportIfKeyObject(key2);\n var hash = getDigest(alg), blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n key2.length > blocksize \? key2 = hash(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = Buffer2.allocUnsafe(blocksize + sizes[alg]), opad = Buffer2.allocUnsafe(blocksize + sizes[alg]), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n var ipad1 = Buffer2.allocUnsafe(blocksize + saltLen + 4);\n ipad.copy(ipad1, 0, 0, blocksize), this.ipad1 = ipad1, this.ipad2 = ipad, this.opad = opad, this.alg = alg, this.blocksize = blocksize, this.hash = hash, this.size = sizes[alg];\n }\n Hmac.prototype = {}, Hmac.prototype.run = function(data, ipad) {\n data.copy(ipad, this.blocksize);\n var h = this.hash(ipad);\n return h.copy(this.opad, this.blocksize), this.hash(this.opad);\n };\n function getDigest(alg) {\n function shaFunc(data) {\n return sha(alg).update(data).digest();\n }\n function rmd160Func(data) {\n return new RIPEMD160().update(data).digest();\n }\n return alg === \"rmd160\" || alg === \"ripemd160\" \? rmd160Func : alg === \"md5\" \? md5 : shaFunc;\n }\n function pbkdf2(password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), digest = digest || \"sha1\";\n var hmac = new Hmac(digest, password, salt.length), DK = Buffer2.allocUnsafe(keylen), block1 = Buffer2.allocUnsafe(salt.length + 4);\n salt.copy(block1, 0, 0, salt.length);\n for (var destPos = 0, hLen = sizes[digest], l = Math.ceil(keylen / hLen), i = 1;i <= l; i++) {\n block1.writeUInt32BE(i, salt.length);\n for (var T = hmac.run(block1, hmac.ipad1), U = T, j = 1;j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2);\n for (var k = 0;k < hLen; k++)\n T[k] ^= U[k];\n }\n T.copy(DK, destPos), destPos += hLen;\n }\n return DK;\n }\n module.exports = pbkdf2;\n }\n}), require_async = __commonJS({\n \"node_modules/pbkdf2/lib/async.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), sync = require_sync_browser(), toBuffer = require_to_buffer(), ZERO_BUF, subtle = globalCrypto.subtle, toBrowser = {\n sha: \"SHA-1\",\n \"sha-1\": \"SHA-1\",\n sha1: \"SHA-1\",\n sha256: \"SHA-256\",\n \"sha-256\": \"SHA-256\",\n sha384: \"SHA-384\",\n \"sha-384\": \"SHA-384\",\n \"sha-512\": \"SHA-512\",\n sha512: \"SHA-512\"\n }, checks = [];\n function checkNative(algo) {\n if (global.process && !global.process.browser || !subtle || !subtle.importKey || !subtle.deriveBits)\n return @Promise.resolve(!1);\n if (checks[algo] !== void 0)\n return checks[algo];\n ZERO_BUF = ZERO_BUF || Buffer2.alloc(8);\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo).then(function() {\n return !0;\n }).catch(function() {\n return !1;\n });\n return checks[algo] = prom, prom;\n }\n var nextTick;\n function getNextTick() {\n return nextTick || (global.process && global.process.nextTick \? nextTick = global.process.nextTick : global.queueMicrotask \? nextTick = global.queueMicrotask : global.setImmediate \? nextTick = global.setImmediate : nextTick = global.setTimeout, nextTick);\n }\n function browserPbkdf2(password, salt, iterations, length, algo) {\n return subtle.importKey(\"raw\", password, { name: \"PBKDF2\" }, !1, [\"deriveBits\"]).then(function(key2) {\n return subtle.deriveBits({\n name: \"PBKDF2\",\n salt,\n iterations,\n hash: {\n name: algo\n }\n }, key2, length << 3);\n }).then(function(res) {\n return Buffer2.from(res);\n });\n }\n function resolvePromise(promise, callback) {\n promise.then(function(out) {\n getNextTick()(function() {\n callback(null, out);\n });\n }, function(e) {\n getNextTick()(function() {\n callback(e);\n });\n });\n }\n module.exports = function(password, salt, iterations, keylen, digest, callback) {\n typeof digest == \"function\" && (callback = digest, digest = void 0), digest = digest || \"sha1\";\n var algo = toBrowser[digest.toLowerCase()];\n if (!algo || typeof global.Promise != \"function\") {\n getNextTick()(function() {\n var out;\n try {\n out = sync(password, salt, iterations, keylen, digest);\n } catch (e) {\n return callback(e);\n }\n callback(null, out);\n });\n return;\n }\n if (checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), typeof callback != \"function\")\n throw new Error(\"No callback provided to pbkdf2\");\n resolvePromise(checkNative(algo).then(function(resp) {\n return resp \? browserPbkdf2(password, salt, iterations, keylen, algo) : sync(password, salt, iterations, keylen, digest);\n }), callback);\n };\n }\n}), require_browser4 = __commonJS({\n \"node_modules/pbkdf2/browser.js\"(exports) {\n exports.pbkdf2 = require_async(), exports.pbkdf2Sync = require_sync_browser();\n }\n}), require_utils = __commonJS({\n \"node_modules/des.js/lib/des/utils.js\"(exports) {\n exports.readUInt32BE = function(bytes, off) {\n var res = bytes[0 + off] << 24 | bytes[1 + off] << 16 | bytes[2 + off] << 8 | bytes[3 + off];\n return res >>> 0;\n }, exports.writeUInt32BE = function(bytes, value, off) {\n bytes[0 + off] = value >>> 24, bytes[1 + off] = value >>> 16 & 255, bytes[2 + off] = value >>> 8 & 255, bytes[3 + off] = value & 255;\n }, exports.ip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 6;i >= 0; i -= 2) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >>> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >>> j + i & 1;\n }\n for (var i = 6;i >= 0; i -= 2) {\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inR >>> j + i & 1;\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inL >>> j + i & 1;\n }\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.rip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 0;i < 4; i++)\n for (var j = 24;j >= 0; j -= 8)\n outL <<= 1, outL |= inR >>> j + i & 1, outL <<= 1, outL |= inL >>> j + i & 1;\n for (var i = 4;i < 8; i++)\n for (var j = 24;j >= 0; j -= 8)\n outR <<= 1, outR |= inR >>> j + i & 1, outR <<= 1, outR |= inL >>> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.pc1 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 7;i >= 5; i--) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var i = 1;i <= 3; i++) {\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.r28shl = function(num, shift) {\n return num << shift & 268435455 | num >>> 28 - shift;\n };\n var pc2table = [\n 14,\n 11,\n 17,\n 4,\n 27,\n 23,\n 25,\n 0,\n 13,\n 22,\n 7,\n 18,\n 5,\n 9,\n 16,\n 24,\n 2,\n 20,\n 12,\n 21,\n 1,\n 8,\n 15,\n 26,\n 15,\n 4,\n 25,\n 19,\n 9,\n 1,\n 26,\n 16,\n 5,\n 11,\n 23,\n 8,\n 12,\n 7,\n 17,\n 0,\n 22,\n 3,\n 10,\n 14,\n 6,\n 20,\n 27,\n 24\n ];\n exports.pc2 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, len = pc2table.length >>> 1, i = 0;i < len; i++)\n outL <<= 1, outL |= inL >>> pc2table[i] & 1;\n for (var i = len;i < pc2table.length; i++)\n outR <<= 1, outR |= inR >>> pc2table[i] & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.expand = function(r, out, off) {\n var outL = 0, outR = 0;\n outL = (r & 1) << 5 | r >>> 27;\n for (var i = 23;i >= 15; i -= 4)\n outL <<= 6, outL |= r >>> i & 63;\n for (var i = 11;i >= 3; i -= 4)\n outR |= r >>> i & 63, outR <<= 6;\n outR |= (r & 31) << 1 | r >>> 31, out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n };\n var sTable = [\n 14,\n 0,\n 4,\n 15,\n 13,\n 7,\n 1,\n 4,\n 2,\n 14,\n 15,\n 2,\n 11,\n 13,\n 8,\n 1,\n 3,\n 10,\n 10,\n 6,\n 6,\n 12,\n 12,\n 11,\n 5,\n 9,\n 9,\n 5,\n 0,\n 3,\n 7,\n 8,\n 4,\n 15,\n 1,\n 12,\n 14,\n 8,\n 8,\n 2,\n 13,\n 4,\n 6,\n 9,\n 2,\n 1,\n 11,\n 7,\n 15,\n 5,\n 12,\n 11,\n 9,\n 3,\n 7,\n 14,\n 3,\n 10,\n 10,\n 0,\n 5,\n 6,\n 0,\n 13,\n 15,\n 3,\n 1,\n 13,\n 8,\n 4,\n 14,\n 7,\n 6,\n 15,\n 11,\n 2,\n 3,\n 8,\n 4,\n 14,\n 9,\n 12,\n 7,\n 0,\n 2,\n 1,\n 13,\n 10,\n 12,\n 6,\n 0,\n 9,\n 5,\n 11,\n 10,\n 5,\n 0,\n 13,\n 14,\n 8,\n 7,\n 10,\n 11,\n 1,\n 10,\n 3,\n 4,\n 15,\n 13,\n 4,\n 1,\n 2,\n 5,\n 11,\n 8,\n 6,\n 12,\n 7,\n 6,\n 12,\n 9,\n 0,\n 3,\n 5,\n 2,\n 14,\n 15,\n 9,\n 10,\n 13,\n 0,\n 7,\n 9,\n 0,\n 14,\n 9,\n 6,\n 3,\n 3,\n 4,\n 15,\n 6,\n 5,\n 10,\n 1,\n 2,\n 13,\n 8,\n 12,\n 5,\n 7,\n 14,\n 11,\n 12,\n 4,\n 11,\n 2,\n 15,\n 8,\n 1,\n 13,\n 1,\n 6,\n 10,\n 4,\n 13,\n 9,\n 0,\n 8,\n 6,\n 15,\n 9,\n 3,\n 8,\n 0,\n 7,\n 11,\n 4,\n 1,\n 15,\n 2,\n 14,\n 12,\n 3,\n 5,\n 11,\n 10,\n 5,\n 14,\n 2,\n 7,\n 12,\n 7,\n 13,\n 13,\n 8,\n 14,\n 11,\n 3,\n 5,\n 0,\n 6,\n 6,\n 15,\n 9,\n 0,\n 10,\n 3,\n 1,\n 4,\n 2,\n 7,\n 8,\n 2,\n 5,\n 12,\n 11,\n 1,\n 12,\n 10,\n 4,\n 14,\n 15,\n 9,\n 10,\n 3,\n 6,\n 15,\n 9,\n 0,\n 0,\n 6,\n 12,\n 10,\n 11,\n 1,\n 7,\n 13,\n 13,\n 8,\n 15,\n 9,\n 1,\n 4,\n 3,\n 5,\n 14,\n 11,\n 5,\n 12,\n 2,\n 7,\n 8,\n 2,\n 4,\n 14,\n 2,\n 14,\n 12,\n 11,\n 4,\n 2,\n 1,\n 12,\n 7,\n 4,\n 10,\n 7,\n 11,\n 13,\n 6,\n 1,\n 8,\n 5,\n 5,\n 0,\n 3,\n 15,\n 15,\n 10,\n 13,\n 3,\n 0,\n 9,\n 14,\n 8,\n 9,\n 6,\n 4,\n 11,\n 2,\n 8,\n 1,\n 12,\n 11,\n 7,\n 10,\n 1,\n 13,\n 14,\n 7,\n 2,\n 8,\n 13,\n 15,\n 6,\n 9,\n 15,\n 12,\n 0,\n 5,\n 9,\n 6,\n 10,\n 3,\n 4,\n 0,\n 5,\n 14,\n 3,\n 12,\n 10,\n 1,\n 15,\n 10,\n 4,\n 15,\n 2,\n 9,\n 7,\n 2,\n 12,\n 6,\n 9,\n 8,\n 5,\n 0,\n 6,\n 13,\n 1,\n 3,\n 13,\n 4,\n 14,\n 14,\n 0,\n 7,\n 11,\n 5,\n 3,\n 11,\n 8,\n 9,\n 4,\n 14,\n 3,\n 15,\n 2,\n 5,\n 12,\n 2,\n 9,\n 8,\n 5,\n 12,\n 15,\n 3,\n 10,\n 7,\n 11,\n 0,\n 14,\n 4,\n 1,\n 10,\n 7,\n 1,\n 6,\n 13,\n 0,\n 11,\n 8,\n 6,\n 13,\n 4,\n 13,\n 11,\n 0,\n 2,\n 11,\n 14,\n 7,\n 15,\n 4,\n 0,\n 9,\n 8,\n 1,\n 13,\n 10,\n 3,\n 14,\n 12,\n 3,\n 9,\n 5,\n 7,\n 12,\n 5,\n 2,\n 10,\n 15,\n 6,\n 8,\n 1,\n 6,\n 1,\n 6,\n 4,\n 11,\n 11,\n 13,\n 13,\n 8,\n 12,\n 1,\n 3,\n 4,\n 7,\n 10,\n 14,\n 7,\n 10,\n 9,\n 15,\n 5,\n 6,\n 0,\n 8,\n 15,\n 0,\n 14,\n 5,\n 2,\n 9,\n 3,\n 2,\n 12,\n 13,\n 1,\n 2,\n 15,\n 8,\n 13,\n 4,\n 8,\n 6,\n 10,\n 15,\n 3,\n 11,\n 7,\n 1,\n 4,\n 10,\n 12,\n 9,\n 5,\n 3,\n 6,\n 14,\n 11,\n 5,\n 0,\n 0,\n 14,\n 12,\n 9,\n 7,\n 2,\n 7,\n 2,\n 11,\n 1,\n 4,\n 14,\n 1,\n 7,\n 9,\n 4,\n 12,\n 10,\n 14,\n 8,\n 2,\n 13,\n 0,\n 15,\n 6,\n 12,\n 10,\n 9,\n 13,\n 0,\n 15,\n 3,\n 3,\n 5,\n 5,\n 6,\n 8,\n 11\n ];\n exports.substitute = function(inL, inR) {\n for (var out = 0, i = 0;i < 4; i++) {\n var b = inL >>> 18 - i * 6 & 63, sb = sTable[i * 64 + b];\n out <<= 4, out |= sb;\n }\n for (var i = 0;i < 4; i++) {\n var b = inR >>> 18 - i * 6 & 63, sb = sTable[256 + i * 64 + b];\n out <<= 4, out |= sb;\n }\n return out >>> 0;\n };\n var permuteTable = [\n 16,\n 25,\n 12,\n 11,\n 3,\n 20,\n 4,\n 15,\n 31,\n 17,\n 9,\n 6,\n 27,\n 14,\n 1,\n 22,\n 30,\n 24,\n 8,\n 18,\n 0,\n 5,\n 29,\n 23,\n 13,\n 19,\n 2,\n 26,\n 10,\n 21,\n 28,\n 7\n ];\n exports.permute = function(num) {\n for (var out = 0, i = 0;i < permuteTable.length; i++)\n out <<= 1, out |= num >>> permuteTable[i] & 1;\n return out >>> 0;\n }, exports.padSplit = function(num, size, group) {\n for (var str = num.toString(2);str.length < size; )\n str = \"0\" + str;\n for (var out = [], i = 0;i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(\" \");\n };\n }\n}), require_minimalistic_assert = __commonJS({\n \"node_modules/minimalistic-assert/index.js\"(exports, module) {\n module.exports = assert;\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n assert.equal = function(l, r, msg) {\n if (l != r)\n throw new Error(msg || \"Assertion failed: \" + l + \" != \" + r);\n };\n }\n}), require_cipher = __commonJS({\n \"node_modules/des.js/lib/des/cipher.js\"(exports, module) {\n var assert = require_minimalistic_assert();\n function Cipher(options) {\n this.options = options, this.type = this.options.type, this.blockSize = 8, this._init(), this.buffer = new @Array(this.blockSize), this.bufferOff = 0;\n }\n Cipher.prototype = {}, module.exports = Cipher, Cipher.prototype._init = function() {\n }, Cipher.prototype.update = function(data) {\n return data.length === 0 \? [] : this.type === \"decrypt\" \? this._updateDecrypt(data) : this._updateEncrypt(data);\n }, Cipher.prototype._buffer = function(data, off) {\n for (var min = Math.min(this.buffer.length - this.bufferOff, data.length - off), i = 0;i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n return this.bufferOff += min, min;\n }, Cipher.prototype._flushBuffer = function(out, off) {\n return this._update(this.buffer, 0, out, off), this.bufferOff = 0, this.blockSize;\n }, Cipher.prototype._updateEncrypt = function(data) {\n var inputOff = 0, outputOff = 0, count = (this.bufferOff + data.length) / this.blockSize | 0, out = new @Array(count * this.blockSize);\n this.bufferOff !== 0 && (inputOff += this._buffer(data, inputOff), this.bufferOff === this.buffer.length && (outputOff += this._flushBuffer(out, outputOff)));\n for (var max = data.length - (data.length - inputOff) % this.blockSize;inputOff < max; inputOff += this.blockSize)\n this._update(data, inputOff, out, outputOff), outputOff += this.blockSize;\n for (;inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n return out;\n }, Cipher.prototype._updateDecrypt = function(data) {\n for (var inputOff = 0, outputOff = 0, count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1, out = new @Array(count * this.blockSize);count > 0; count--)\n inputOff += this._buffer(data, inputOff), outputOff += this._flushBuffer(out, outputOff);\n return inputOff += this._buffer(data, inputOff), out;\n }, Cipher.prototype.final = function(buffer) {\n var first;\n buffer && (first = this.update(buffer));\n var last;\n return this.type === \"encrypt\" \? last = this._finalEncrypt() : last = this._finalDecrypt(), first \? first.concat(last) : last;\n }, Cipher.prototype._pad = function(buffer, off) {\n if (off === 0)\n return !1;\n for (;off < buffer.length; )\n buffer[off++] = 0;\n return !0;\n }, Cipher.prototype._finalEncrypt = function() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n var out = new @Array(this.blockSize);\n return this._update(this.buffer, 0, out, 0), out;\n }, Cipher.prototype._unpad = function(buffer) {\n return buffer;\n }, Cipher.prototype._finalDecrypt = function() {\n assert.equal(this.bufferOff, this.blockSize, \"Not enough data to decrypt\");\n var out = new @Array(this.blockSize);\n return this._flushBuffer(out, 0), this._unpad(out);\n };\n }\n}), require_des = __commonJS({\n \"node_modules/des.js/lib/des/des.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), utils = require_utils(), Cipher = require_cipher();\n function DESState() {\n this.tmp = new @Array(2), this.keys = null;\n }\n function DES(options) {\n Cipher.@call(this, options);\n var state = new DESState;\n this._desState = state, this.deriveKeys(state, options.key);\n }\n inherits(DES, Cipher), module.exports = DES, DES.create = function(options) {\n return new DES(options);\n };\n var shiftTable = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];\n DES.prototype.deriveKeys = function(state, key2) {\n state.keys = new @Array(32), assert.equal(key2.length, this.blockSize, \"Invalid key length\");\n var kL = utils.readUInt32BE(key2, 0), kR = utils.readUInt32BE(key2, 4);\n utils.pc1(kL, kR, state.tmp, 0), kL = state.tmp[0], kR = state.tmp[1];\n for (var i = 0;i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift), kR = utils.r28shl(kR, shift), utils.pc2(kL, kR, state.keys, i);\n }\n }, DES.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._desState, l = utils.readUInt32BE(inp, inOff), r = utils.readUInt32BE(inp, inOff + 4);\n utils.ip(l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], this.type === \"encrypt\" \? this._encrypt(state, l, r, state.tmp, 0) : this._decrypt(state, l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], utils.writeUInt32BE(out, l, outOff), utils.writeUInt32BE(out, r, outOff + 4);\n }, DES.prototype._pad = function(buffer, off) {\n for (var value = buffer.length - off, i = off;i < buffer.length; i++)\n buffer[i] = value;\n return !0;\n }, DES.prototype._unpad = function(buffer) {\n for (var pad = buffer[buffer.length - 1], i = buffer.length - pad;i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n return buffer.slice(0, buffer.length - pad);\n }, DES.prototype._encrypt = function(state, lStart, rStart, out, off) {\n for (var l = lStart, r = rStart, i = 0;i < state.keys.length; i += 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(r, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = r;\n r = (l ^ f) >>> 0, l = t;\n }\n utils.rip(r, l, out, off);\n }, DES.prototype._decrypt = function(state, lStart, rStart, out, off) {\n for (var l = rStart, r = lStart, i = state.keys.length - 2;i >= 0; i -= 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(l, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = l;\n l = (r ^ f) >>> 0, r = t;\n }\n utils.rip(l, r, out, off);\n };\n }\n}), require_cbc = __commonJS({\n \"node_modules/des.js/lib/des/cbc.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), proto = {};\n function CBCState(iv) {\n assert.equal(iv.length, 8, \"Invalid IV length\"), this.iv = new @Array(8);\n for (var i = 0;i < this.iv.length; i++)\n this.iv[i] = iv[i];\n }\n function instantiate(Base) {\n function CBC(options) {\n Base.@call(this, options), this._cbcInit();\n }\n inherits(CBC, Base);\n for (var keys = Object.keys(proto), i = 0;i < keys.length; i++) {\n var key2 = keys[i];\n CBC.prototype[key2] = proto[key2];\n }\n return CBC.create = function(options) {\n return new CBC(options);\n }, CBC;\n }\n exports.instantiate = instantiate, proto._cbcInit = function() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n }, proto._update = function(inp, inOff, out, outOff) {\n var state = this._cbcState, superProto = this.constructor.super_.prototype, iv = state.iv;\n if (this.type === \"encrypt\") {\n for (var i = 0;i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n superProto._update.@call(this, iv, 0, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.@call(this, inp, inOff, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n };\n }\n}), require_ede = __commonJS({\n \"node_modules/des.js/lib/des/ede.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), Cipher = require_cipher(), DES = require_des();\n function EDEState(type, key2) {\n assert.equal(key2.length, 24, \"Invalid key length\");\n var k1 = key2.slice(0, 8), k2 = key2.slice(8, 16), k3 = key2.slice(16, 24);\n type === \"encrypt\" \? this.ciphers = [\n DES.create({ type: \"encrypt\", key: k1 }),\n DES.create({ type: \"decrypt\", key: k2 }),\n DES.create({ type: \"encrypt\", key: k3 })\n ] : this.ciphers = [\n DES.create({ type: \"decrypt\", key: k3 }),\n DES.create({ type: \"encrypt\", key: k2 }),\n DES.create({ type: \"decrypt\", key: k1 })\n ];\n }\n function EDE(options) {\n Cipher.@call(this, options);\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n }\n inherits(EDE, Cipher), module.exports = EDE, EDE.create = function(options) {\n return new EDE(options);\n }, EDE.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._edeState;\n state.ciphers[0]._update(inp, inOff, out, outOff), state.ciphers[1]._update(out, outOff, out, outOff), state.ciphers[2]._update(out, outOff, out, outOff);\n }, EDE.prototype._pad = DES.prototype._pad, EDE.prototype._unpad = DES.prototype._unpad;\n }\n}), require_des2 = __commonJS({\n \"node_modules/des.js/lib/des.js\"(exports) {\n exports.utils = require_utils(), exports.Cipher = require_cipher(), exports.DES = require_des(), exports.CBC = require_cbc(), exports.EDE = require_ede();\n }\n}), require_browserify_des = __commonJS({\n \"node_modules/browserify-des/index.js\"(exports, module) {\n var CipherBase = require_cipher_base(), des = require_des2(), inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, modes = {\n \"des-ede3-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede3\": des.EDE,\n \"des-ede-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede\": des.EDE,\n \"des-cbc\": des.CBC.instantiate(des.DES),\n \"des-ecb\": des.DES\n };\n modes.des = modes[\"des-cbc\"], modes.des3 = modes[\"des-ede3-cbc\"], module.exports = DES, inherits(DES, CipherBase);\n function DES(opts) {\n CipherBase.@call(this);\n var modeName = opts.mode.toLowerCase(), mode = modes[modeName], type;\n opts.decrypt \? type = \"decrypt\" : type = \"encrypt\";\n var key2 = opts.key;\n Buffer2.isBuffer(key2) || (key2 = Buffer2.from(key2)), (modeName === \"des-ede\" || modeName === \"des-ede-cbc\") && (key2 = Buffer2.concat([key2, key2.slice(0, 8)]));\n var iv = opts.iv;\n Buffer2.isBuffer(iv) || (iv = Buffer2.from(iv)), this._des = mode.create({\n key: key2,\n iv,\n type\n });\n }\n DES.prototype._update = function(data) {\n return Buffer2.from(this._des.update(data));\n }, DES.prototype._final = function() {\n return Buffer2.from(this._des.final());\n };\n }\n}), require_ecb = __commonJS({\n \"node_modules/browserify-aes/modes/ecb.js\"(exports) {\n exports.encrypt = function(self2, block) {\n return self2._cipher.encryptBlock(block);\n }, exports.decrypt = function(self2, block) {\n return self2._cipher.decryptBlock(block);\n };\n }\n}), require_buffer_xor = __commonJS({\n \"node_modules/buffer-xor/index.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var length = Math.min(a.length, b.length), buffer = new Buffer(length), i = 0;i < length; ++i)\n buffer[i] = a[i] ^ b[i];\n return buffer;\n };\n }\n}), require_cbc2 = __commonJS({\n \"node_modules/browserify-aes/modes/cbc.js\"(exports) {\n var xor = require_buffer_xor();\n exports.encrypt = function(self2, block) {\n var data = xor(block, self2._prev);\n return self2._prev = self2._cipher.encryptBlock(data), self2._prev;\n }, exports.decrypt = function(self2, block) {\n var pad = self2._prev;\n self2._prev = block;\n var out = self2._cipher.decryptBlock(block);\n return xor(out, pad);\n };\n }\n}), require_cfb = __commonJS({\n \"node_modules/browserify-aes/modes/cfb.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer, xor = require_buffer_xor();\n function encryptStart(self2, data, decrypt) {\n var len = data.length, out = xor(data, self2._cache);\n return self2._cache = self2._cache.slice(len), self2._prev = Buffer2.concat([self2._prev, decrypt \? data : out]), out;\n }\n exports.encrypt = function(self2, data, decrypt) {\n for (var out = Buffer2.allocUnsafe(0), len;data.length; )\n if (self2._cache.length === 0 && (self2._cache = self2._cipher.encryptBlock(self2._prev), self2._prev = Buffer2.allocUnsafe(0)), self2._cache.length <= data.length)\n len = self2._cache.length, out = Buffer2.concat([out, encryptStart(self2, data.slice(0, len), decrypt)]), data = data.slice(len);\n else {\n out = Buffer2.concat([out, encryptStart(self2, data, decrypt)]);\n break;\n }\n return out;\n };\n }\n}), require_cfb8 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb8.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n var pad = self2._cipher.encryptBlock(self2._prev), out = pad[0] ^ byteParam;\n return self2._prev = Buffer2.concat([self2._prev.slice(1), Buffer2.from([decrypt \? byteParam : out])]), out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_cfb1 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb1.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n for (var pad, i = -1, len = 8, out = 0, bit, value;++i < len; )\n pad = self2._cipher.encryptBlock(self2._prev), bit = byteParam & 1 << 7 - i \? 128 : 0, value = pad[0] ^ bit, out += (value & 128) >> i % 8, self2._prev = shiftIn(self2._prev, decrypt \? bit : value);\n return out;\n }\n function shiftIn(buffer, value) {\n var len = buffer.length, i = -1, out = Buffer2.allocUnsafe(buffer.length);\n for (buffer = Buffer2.concat([buffer, Buffer2.from([value])]);++i < len; )\n out[i] = buffer[i] << 1 | buffer[i + 1] >> 7;\n return out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_ofb = __commonJS({\n \"node_modules/browserify-aes/modes/ofb.js\"(exports) {\n var xor = require_buffer_xor();\n function getBlock(self2) {\n return self2._prev = self2._cipher.encryptBlock(self2._prev), self2._prev;\n }\n exports.encrypt = function(self2, chunk) {\n for (;self2._cache.length < chunk.length; )\n self2._cache = Buffer.concat([self2._cache, getBlock(self2)]);\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_incr32 = __commonJS({\n \"node_modules/browserify-aes/incr32.js\"(exports, module) {\n function incr32(iv) {\n for (var len = iv.length, item;len--; )\n if (item = iv.readUInt8(len), item === 255)\n iv.writeUInt8(0, len);\n else {\n item++, iv.writeUInt8(item, len);\n break;\n }\n }\n module.exports = incr32;\n }\n}), require_ctr = __commonJS({\n \"node_modules/browserify-aes/modes/ctr.js\"(exports) {\n var xor = require_buffer_xor(), Buffer2 = require_safe_buffer().Buffer, incr32 = require_incr32();\n function getBlock(self2) {\n var out = self2._cipher.encryptBlockRaw(self2._prev);\n return incr32(self2._prev), out;\n }\n var blockSize = 16;\n exports.encrypt = function(self2, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize), start = self2._cache.length;\n self2._cache = Buffer2.concat([self2._cache, Buffer2.allocUnsafe(chunkNum * blockSize)]);\n for (var i = 0;i < chunkNum; i++) {\n var out = getBlock(self2), offset = start + i * blockSize;\n self2._cache.writeUInt32BE(out[0], offset + 0), self2._cache.writeUInt32BE(out[1], offset + 4), self2._cache.writeUInt32BE(out[2], offset + 8), self2._cache.writeUInt32BE(out[3], offset + 12);\n }\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_list = __commonJS({\n \"node_modules/browserify-aes/modes/list.json\"(exports, module) {\n module.exports = {\n \"aes-128-ecb\": {\n cipher: \"AES\",\n key: 128,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-192-ecb\": {\n cipher: \"AES\",\n key: 192,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-256-ecb\": {\n cipher: \"AES\",\n key: 256,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-128-cbc\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-192-cbc\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-256-cbc\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes128: {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes192: {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes256: {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-128-cfb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-192-cfb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-256-cfb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-128-cfb8\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-192-cfb8\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-256-cfb8\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-128-cfb1\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-192-cfb1\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-256-cfb1\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-128-ofb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-192-ofb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-256-ofb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-128-ctr\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-192-ctr\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-256-ctr\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-128-gcm\": {\n cipher: \"AES\",\n key: 128,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-192-gcm\": {\n cipher: \"AES\",\n key: 192,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-256-gcm\": {\n cipher: \"AES\",\n key: 256,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n }\n };\n }\n}), require_modes = __commonJS({\n \"node_modules/browserify-aes/modes/index.js\"(exports, module) {\n var modeModules = {\n ECB: require_ecb(),\n CBC: require_cbc2(),\n CFB: require_cfb(),\n CFB8: require_cfb8(),\n CFB1: require_cfb1(),\n OFB: require_ofb(),\n CTR: require_ctr(),\n GCM: require_ctr()\n }, modes = require_list();\n for (key2 in modes)\n modes[key2].module = modeModules[modes[key2].mode];\n var key2;\n module.exports = modes;\n }\n}), require_aes = __commonJS({\n \"node_modules/browserify-aes/aes.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function asUInt32Array(buf) {\n if (buf instanceof KeyObject)\n buf = buf.export();\n else if (buf instanceof CryptoKey)\n buf = KeyObject.from(buf).export();\n Buffer2.isBuffer(buf) || (buf = Buffer2.from(buf));\n for (var len = buf.length / 4 | 0, out = new @Array(len), i = 0;i < len; i++)\n out[i] = buf.readUInt32BE(i * 4);\n return out;\n }\n function scrubVec(v) {\n for (var i = 0;i < v.length; v++)\n v[i] = 0;\n }\n function cryptBlock(M, keySchedule, SUB_MIX, SBOX, nRounds) {\n for (var SUB_MIX0 = SUB_MIX[0], SUB_MIX1 = SUB_MIX[1], SUB_MIX2 = SUB_MIX[2], SUB_MIX3 = SUB_MIX[3], s0 = M[0] ^ keySchedule[0], s1 = M[1] ^ keySchedule[1], s2 = M[2] ^ keySchedule[2], s3 = M[3] ^ keySchedule[3], t0, t1, t2, t3, ksRow = 4, round = 1;round < nRounds; round++)\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[s1 >>> 16 & 255] ^ SUB_MIX2[s2 >>> 8 & 255] ^ SUB_MIX3[s3 & 255] ^ keySchedule[ksRow++], t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[s2 >>> 16 & 255] ^ SUB_MIX2[s3 >>> 8 & 255] ^ SUB_MIX3[s0 & 255] ^ keySchedule[ksRow++], t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[s3 >>> 16 & 255] ^ SUB_MIX2[s0 >>> 8 & 255] ^ SUB_MIX3[s1 & 255] ^ keySchedule[ksRow++], t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[s0 >>> 16 & 255] ^ SUB_MIX2[s1 >>> 8 & 255] ^ SUB_MIX3[s2 & 255] ^ keySchedule[ksRow++], s0 = t0, s1 = t1, s2 = t2, s3 = t3;\n return t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 255] << 16 | SBOX[s2 >>> 8 & 255] << 8 | SBOX[s3 & 255]) ^ keySchedule[ksRow++], t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 255] << 16 | SBOX[s3 >>> 8 & 255] << 8 | SBOX[s0 & 255]) ^ keySchedule[ksRow++], t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 255] << 16 | SBOX[s0 >>> 8 & 255] << 8 | SBOX[s1 & 255]) ^ keySchedule[ksRow++], t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 255] << 16 | SBOX[s1 >>> 8 & 255] << 8 | SBOX[s2 & 255]) ^ keySchedule[ksRow++], t0 = t0 >>> 0, t1 = t1 >>> 0, t2 = t2 >>> 0, t3 = t3 >>> 0, [t0, t1, t2, t3];\n }\n var RCON = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], G = function() {\n for (var d = new @Array(256), j = 0;j < 256; j++)\n j < 128 \? d[j] = j << 1 : d[j] = j << 1 ^ 283;\n for (var SBOX = [], INV_SBOX = [], SUB_MIX = [[], [], [], []], INV_SUB_MIX = [[], [], [], []], x = 0, xi = 0, i = 0;i < 256; ++i) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 255 ^ 99, SBOX[x] = sx, INV_SBOX[sx] = x;\n var x2 = d[x], x4 = d[x2], x8 = d[x4], t = d[sx] * 257 ^ sx * 16843008;\n SUB_MIX[0][x] = t << 24 | t >>> 8, SUB_MIX[1][x] = t << 16 | t >>> 16, SUB_MIX[2][x] = t << 8 | t >>> 24, SUB_MIX[3][x] = t, t = x8 * 16843009 ^ x4 * 65537 ^ x2 * 257 ^ x * 16843008, INV_SUB_MIX[0][sx] = t << 24 | t >>> 8, INV_SUB_MIX[1][sx] = t << 16 | t >>> 16, INV_SUB_MIX[2][sx] = t << 8 | t >>> 24, INV_SUB_MIX[3][sx] = t, x === 0 \? x = xi = 1 : (x = x2 ^ d[d[d[x8 ^ x2]]], xi ^= d[d[xi]]);\n }\n return {\n SBOX,\n INV_SBOX,\n SUB_MIX,\n INV_SUB_MIX\n };\n }();\n function AES(key2) {\n this._key = asUInt32Array(key2), this._reset();\n }\n AES.prototype = {}, AES.blockSize = 16, AES.keySize = 32, AES.prototype.blockSize = AES.blockSize, AES.prototype.keySize = AES.keySize, AES.prototype._reset = function() {\n for (var keyWords = this._key, keySize = keyWords.length, nRounds = keySize + 6, ksRows = (nRounds + 1) * 4, keySchedule = [], k = 0;k < keySize; k++)\n keySchedule[k] = keyWords[k];\n for (k = keySize;k < ksRows; k++) {\n var t = keySchedule[k - 1];\n k % keySize === 0 \? (t = t << 8 | t >>> 24, t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255], t ^= RCON[k / keySize | 0] << 24) : keySize > 6 && k % keySize === 4 && (t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255]), keySchedule[k] = keySchedule[k - keySize] ^ t;\n }\n for (var invKeySchedule = [], ik = 0;ik < ksRows; ik++) {\n var ksR = ksRows - ik, tt = keySchedule[ksR - (ik % 4 \? 0 : 4)];\n ik < 4 || ksR <= 4 \? invKeySchedule[ik] = tt : invKeySchedule[ik] = G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[tt >>> 16 & 255]] ^ G.INV_SUB_MIX[2][G.SBOX[tt >>> 8 & 255]] ^ G.INV_SUB_MIX[3][G.SBOX[tt & 255]];\n }\n this._nRounds = nRounds, this._keySchedule = keySchedule, this._invKeySchedule = invKeySchedule;\n }, AES.prototype.encryptBlockRaw = function(M) {\n return M = asUInt32Array(M), cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds);\n }, AES.prototype.encryptBlock = function(M) {\n var out = this.encryptBlockRaw(M), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[1], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[3], 12), buf;\n }, AES.prototype.decryptBlock = function(M) {\n M = asUInt32Array(M);\n var m1 = M[1];\n M[1] = M[3], M[3] = m1;\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[3], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[1], 12), buf;\n }, AES.prototype.scrub = function() {\n scrubVec(this._keySchedule), scrubVec(this._invKeySchedule), scrubVec(this._key);\n }, module.exports.AES = AES;\n }\n}), require_ghash = __commonJS({\n \"node_modules/browserify-aes/ghash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, ZEROES = Buffer2.alloc(16, 0);\n function toArray(buf) {\n return [buf.readUInt32BE(0), buf.readUInt32BE(4), buf.readUInt32BE(8), buf.readUInt32BE(12)];\n }\n function fromArray(out) {\n var buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0] >>> 0, 0), buf.writeUInt32BE(out[1] >>> 0, 4), buf.writeUInt32BE(out[2] >>> 0, 8), buf.writeUInt32BE(out[3] >>> 0, 12), buf;\n }\n function GHASH(key2) {\n this.h = key2, this.state = Buffer2.alloc(16, 0), this.cache = Buffer2.allocUnsafe(0);\n }\n GHASH.prototype = {}, GHASH.prototype.ghash = function(block) {\n for (var i = -1;++i < block.length; )\n this.state[i] ^= block[i];\n this._multiply();\n }, GHASH.prototype._multiply = function() {\n for (var Vi = toArray(this.h), Zi = [0, 0, 0, 0], j, xi, lsbVi, i = -1;++i < 128; ) {\n for (xi = (this.state[~~(i / 8)] & 1 << 7 - i % 8) !== 0, xi && (Zi[0] ^= Vi[0], Zi[1] ^= Vi[1], Zi[2] ^= Vi[2], Zi[3] ^= Vi[3]), lsbVi = (Vi[3] & 1) !== 0, j = 3;j > 0; j--)\n Vi[j] = Vi[j] >>> 1 | (Vi[j - 1] & 1) << 31;\n Vi[0] = Vi[0] >>> 1, lsbVi && (Vi[0] = Vi[0] ^ 225 << 24);\n }\n this.state = fromArray(Zi);\n }, GHASH.prototype.update = function(buf) {\n this.cache = Buffer2.concat([this.cache, buf]);\n for (var chunk;this.cache.length >= 16; )\n chunk = this.cache.slice(0, 16), this.cache = this.cache.slice(16), this.ghash(chunk);\n }, GHASH.prototype.final = function(abl, bl) {\n return this.cache.length && this.ghash(Buffer2.concat([this.cache, ZEROES], 16)), this.ghash(fromArray([0, abl, 0, bl])), this.state;\n }, module.exports = GHASH;\n }\n}), require_authCipher = __commonJS({\n \"node_modules/browserify-aes/authCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser(), GHASH = require_ghash(), xor = require_buffer_xor(), incr32 = require_incr32();\n function xorTest(a, b) {\n var out = 0;\n a.length !== b.length && out++;\n for (var len = Math.min(a.length, b.length), i = 0;i < len; ++i)\n out += a[i] ^ b[i];\n return out;\n }\n function calcIv(self2, iv, ck) {\n if (iv.length === 12)\n return self2._finID = Buffer2.concat([iv, Buffer2.from([0, 0, 0, 1])]), Buffer2.concat([iv, Buffer2.from([0, 0, 0, 2])]);\n var ghash = new GHASH(ck), len = iv.length, toPad = len % 16;\n ghash.update(iv), toPad && (toPad = 16 - toPad, ghash.update(Buffer2.alloc(toPad, 0))), ghash.update(Buffer2.alloc(8, 0));\n var ivBits = len * 8, tail = Buffer2.alloc(8);\n tail.writeUIntBE(ivBits, 0, 8), ghash.update(tail), self2._finID = ghash.state;\n var out = Buffer2.from(self2._finID);\n return incr32(out), out;\n }\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this);\n var h = Buffer2.alloc(4, 0);\n this._cipher = new aes.AES(key2);\n var ck = this._cipher.encryptBlock(h);\n this._ghash = new GHASH(ck), iv = calcIv(this, iv, ck), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._alen = 0, this._len = 0, this._mode = mode, this._authTag = null, this._called = !1;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - this._alen % 16;\n rump < 16 && (rump = Buffer2.alloc(rump, 0), this._ghash.update(rump));\n }\n this._called = !0;\n var out = this._mode.encrypt(this, chunk);\n return this._decrypt \? this._ghash.update(chunk) : this._ghash.update(out), this._len += chunk.length, out;\n }, StreamCipher.prototype._final = function() {\n if (this._decrypt && !this._authTag)\n throw new Error(\"Unsupported state or unable to authenticate data\");\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID));\n if (this._decrypt && xorTest(tag, this._authTag))\n throw new Error(\"Unsupported state or unable to authenticate data\");\n this._authTag = tag, this._cipher.scrub();\n }, StreamCipher.prototype.getAuthTag = function() {\n if (this._decrypt || !Buffer2.isBuffer(this._authTag))\n throw new Error(\"Attempting to get auth tag in unsupported state\");\n return this._authTag;\n }, StreamCipher.prototype.setAuthTag = function(tag) {\n if (!this._decrypt)\n throw new Error(\"Attempting to set auth tag in unsupported state\");\n this._authTag = tag;\n }, StreamCipher.prototype.setAAD = function(buf) {\n if (this._called)\n throw new Error(\"Attempting to set AAD in unsupported state\");\n this._ghash.update(buf), this._alen += buf.length;\n }, module.exports = StreamCipher;\n }\n}), require_streamCipher = __commonJS({\n \"node_modules/browserify-aes/streamCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser();\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this), this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._mode = mode;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt);\n }, StreamCipher.prototype._final = function() {\n this._cipher.scrub();\n }, module.exports = StreamCipher;\n }\n}), require_evp_bytestokey = __commonJS({\n \"node_modules/evp_bytestokey/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, MD5 = require_md5();\n function EVP_BytesToKey(password, salt, keyBits, ivLen) {\n if (Buffer2.isBuffer(password) || (password = Buffer2.from(password, \"binary\")), salt && (Buffer2.isBuffer(salt) || (salt = Buffer2.from(salt, \"binary\")), salt.length !== 8))\n @throwRangeError(\"salt should be Buffer with 8 byte length\");\n for (var keyLen = keyBits / 8, key2 = Buffer2.alloc(keyLen), iv = Buffer2.alloc(ivLen || 0), tmp = Buffer2.alloc(0);keyLen > 0 || ivLen > 0; ) {\n var hash = new MD5;\n hash.update(tmp), hash.update(password), salt && hash.update(salt), tmp = hash.digest();\n var used = 0;\n if (keyLen > 0) {\n var keyStart = key2.length - keyLen;\n used = Math.min(keyLen, tmp.length), tmp.copy(key2, keyStart, 0, used), keyLen -= used;\n }\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen, length = Math.min(ivLen, tmp.length - used);\n tmp.copy(iv, ivStart, used, used + length), ivLen -= length;\n }\n }\n return tmp.fill(0), { key: key2, iv };\n }\n module.exports = EVP_BytesToKey;\n }\n}), require_encrypter = __commonJS({\n \"node_modules/browserify-aes/encrypter.js\"(exports) {\n var MODES = require_modes(), AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Cipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Cipher, Transform), Cipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(); )\n thing = this._mode.encrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n };\n var PADDING = Buffer2.alloc(16, 16);\n Cipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return chunk = this._mode.encrypt(this, chunk), this._cipher.scrub(), chunk;\n if (!chunk.equals(PADDING))\n throw this._cipher.scrub(), new Error(\"data not multiple of block length\");\n }, Cipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function() {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16);\n return this.cache = this.cache.slice(16), out;\n }\n return null;\n }, Splitter.prototype.flush = function() {\n for (var len = 16 - this.cache.length, padBuff = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n padBuff.writeUInt8(len, i);\n return Buffer2.concat([this.cache, padBuff]);\n };\n function createCipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), password\?.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv) : new Cipher(config.module, password, iv);\n }\n function createCipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n exports.createCipheriv = createCipheriv, exports.createCipher = createCipher;\n }\n}), require_decrypter = __commonJS({\n \"node_modules/browserify-aes/decrypter.js\"(exports) {\n var AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, MODES = require_modes(), StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Decipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._last = void 0, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Decipher, Transform), Decipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(this._autopadding); )\n thing = this._mode.decrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n }, Decipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return unpad(this._mode.decrypt(this, chunk));\n if (chunk)\n throw new Error(\"data not multiple of block length\");\n }, Decipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function(autoPadding) {\n var out;\n if (autoPadding) {\n if (this.cache.length > 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n } else if (this.cache.length >= 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n return null;\n }, Splitter.prototype.flush = function() {\n if (this.cache.length)\n return this.cache;\n };\n function unpad(last) {\n var padded = last[15];\n if (padded < 1 || padded > 16)\n throw new Error(\"unable to decrypt data\");\n for (var i = -1;++i < padded; )\n if (last[i + (16 - padded)] !== padded)\n throw new Error(\"unable to decrypt data\");\n if (padded !== 16)\n return last.slice(0, 16 - padded);\n }\n function createDecipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (password.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv, !0) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv, !0) : new Decipher(config.module, password, iv);\n }\n function createDecipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n exports.createDecipher = createDecipher, exports.createDecipheriv = createDecipheriv;\n }\n}), require_browser5 = __commonJS({\n \"node_modules/browserify-aes/browser.js\"(exports) {\n var ciphers = require_encrypter(), deciphers = require_decrypter(), modes = require_list();\n function getCiphers() {\n return Object.keys(modes);\n }\n exports.createCipher = exports.Cipher = ciphers.createCipher, exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv, exports.createDecipher = exports.Decipher = deciphers.createDecipher, exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_modes2 = __commonJS({\n \"node_modules/browserify-des/modes.js\"(exports) {\n exports[\"des-ecb\"] = {\n key: 8,\n iv: 0\n }, exports[\"des-cbc\"] = exports.des = {\n key: 8,\n iv: 8\n }, exports[\"des-ede3-cbc\"] = exports.des3 = {\n key: 24,\n iv: 8\n }, exports[\"des-ede3\"] = {\n key: 24,\n iv: 0\n }, exports[\"des-ede-cbc\"] = {\n key: 16,\n iv: 8\n }, exports[\"des-ede\"] = {\n key: 16,\n iv: 0\n };\n }\n}), require_browser6 = __commonJS({\n \"node_modules/browserify-cipher/browser.js\"(exports) {\n var DES = require_browserify_des(), aes = require_browser5(), aesModes = require_modes(), desModes = require_modes2(), ebtk = require_evp_bytestokey();\n function createCipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n function createDecipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n function createCipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createCipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite });\n @throwTypeError(\"invalid suite type\");\n }\n function createDecipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createDecipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite, decrypt: !0 });\n @throwTypeError(\"invalid suite type\");\n }\n function getCiphers() {\n return Object.keys(desModes).concat(aes.getCiphers());\n }\n exports.createCipher = exports.Cipher = createCipher, exports.createCipheriv = exports.Cipheriv = createCipheriv, exports.createDecipher = exports.Decipher = createDecipher, exports.createDecipheriv = exports.Decipheriv = createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_bn = __commonJS({\n \"node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js\"(exports, module) {\n (function(module2, exports2) {\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype, ctor.prototype = new TempCtor, ctor.prototype.constructor = ctor;\n }\n function BN(number, base, endian) {\n if (BN.isBN(number))\n return number;\n this.negative = 0, this.words = null, this.length = 0, this.red = null, number !== null && ((base === \"le\" || base === \"be\") && (endian = base, base = 10), this._init(number || 0, base || 10, endian || \"be\"));\n }\n BN.prototype = {}, typeof module2 == \"object\" \? module2.exports = BN : exports2.BN = BN, BN.BN = BN, BN.wordSize = 26;\n var Buffer2 = Buffer;\n BN.isBN = function(num) {\n return num instanceof BN \? !0 : num !== null && typeof num == \"object\" && num.constructor.wordSize === BN.wordSize && @Array.isArray(num.words);\n }, BN.max = function(left, right) {\n return left.cmp(right) > 0 \? left : right;\n }, BN.min = function(left, right) {\n return left.cmp(right) < 0 \? left : right;\n }, BN.prototype._init = function(number, base, endian) {\n if (typeof number == \"number\")\n return this._initNumber(number, base, endian);\n if (typeof number == \"object\")\n return this._initArray(number, base, endian);\n base === \"hex\" && (base = 16), assert(base === (base | 0) && base >= 2 && base <= 36), number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n number[0] === \"-\" && (start++, this.negative = 1), start < number.length && (base === 16 \? this._parseHex(number, start, endian) : (this._parseBase(number, base, start), endian === \"le\" && this._initArray(this.toArray(), base, endian)));\n }, BN.prototype._initNumber = function(number, base, endian) {\n number < 0 && (this.negative = 1, number = -number), number < 67108864 \? (this.words = [number & 67108863], this.length = 1) : number < 4503599627370496 \? (this.words = [number & 67108863, number / 67108864 & 67108863], this.length = 2) : (assert(number < 9007199254740992), this.words = [number & 67108863, number / 67108864 & 67108863, 1], this.length = 3), endian === \"le\" && this._initArray(this.toArray(), base, endian);\n }, BN.prototype._initArray = function(number, base, endian) {\n if (assert(typeof number.length == \"number\"), number.length <= 0)\n return this.words = [0], this.length = 1, this;\n this.length = Math.ceil(number.length / 3), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var j, w, off = 0;\n if (endian === \"be\")\n for (i = number.length - 1, j = 0;i >= 0; i -= 3)\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n else if (endian === \"le\")\n for (i = 0, j = 0;i < number.length; i += 3)\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n return this.strip();\n };\n function parseHex4Bits(string, index) {\n var c = string.charCodeAt(index);\n return c >= 65 && c <= 70 \? c - 55 : c >= 97 && c <= 102 \? c - 87 : c - 48 & 15;\n }\n function parseHexByte(string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n return index - 1 >= lowerBound && (r |= parseHex4Bits(string, index - 1) << 4), r;\n }\n BN.prototype._parseHex = function(number, start, endian) {\n this.length = Math.ceil((number.length - start) / 6), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var off = 0, j = 0, w;\n if (endian === \"be\")\n for (i = number.length - 1;i >= start; i -= 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 \? start + 1 : start;i < number.length; i += 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n }\n this.strip();\n };\n function parseBase(str, start, end, mul) {\n for (var r = 0, len = Math.min(str.length, end), i = start;i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n r *= mul, c >= 49 \? r += c - 49 + 10 : c >= 17 \? r += c - 17 + 10 : r += c;\n }\n return r;\n }\n BN.prototype._parseBase = function(number, base, start) {\n this.words = [0], this.length = 1;\n for (var limbLen = 0, limbPow = 1;limbPow <= 67108863; limbPow *= base)\n limbLen++;\n limbLen--, limbPow = limbPow / base | 0;\n for (var total = number.length - start, mod = total % limbLen, end = Math.min(total, total - mod) + start, word = 0, i = start;i < end; i += limbLen)\n word = parseBase(number, i, i + limbLen, base), this.imuln(limbPow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n if (mod !== 0) {\n var pow = 1;\n for (word = parseBase(number, i, number.length, base), i = 0;i < mod; i++)\n pow *= base;\n this.imuln(pow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n }\n this.strip();\n }, BN.prototype.copy = function(dest) {\n dest.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n dest.words[i] = this.words[i];\n dest.length = this.length, dest.negative = this.negative, dest.red = this.red;\n }, BN.prototype.clone = function() {\n var r = new BN(null);\n return this.copy(r), r;\n }, BN.prototype._expand = function(size) {\n for (;this.length < size; )\n this.words[this.length++] = 0;\n return this;\n }, BN.prototype.strip = function() {\n for (;this.length > 1 && this.words[this.length - 1] === 0; )\n this.length--;\n return this._normSign();\n }, BN.prototype._normSign = function() {\n return this.length === 1 && this.words[0] === 0 && (this.negative = 0), this;\n }, BN.prototype.inspect = function() {\n return (this.red \? \"<BN-R: \" : \"<BN: \") + this.toString(16) + \">\";\n };\n var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ], groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ], groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 1e7,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function(base, padding) {\n base = base || 10, padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n for (var off = 0, carry = 0, i = 0;i < this.length; i++) {\n var w = this.words[i], word = ((w << off | carry) & 16777215).toString(16);\n carry = w >>> 24 - off & 16777215, carry !== 0 || i !== this.length - 1 \? out = zeros[6 - word.length] + word + out : out = word + out, off += 2, off >= 26 && (off -= 26, i--);\n }\n for (carry !== 0 && (out = carry.toString(16) + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n var groupSize = groupSizes[base], groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n for (c.negative = 0;!c.isZero(); ) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase), c.isZero() \? out = r + out : out = zeros[groupSize - r.length] + r + out;\n }\n for (this.isZero() && (out = \"0\" + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n assert(!1, \"Base should be between 2 and 36\");\n }, BN.prototype.toNumber = function() {\n var ret = this.words[0];\n return this.length === 2 \? ret += this.words[1] * 67108864 : this.length === 3 && this.words[2] === 1 \? ret += 4503599627370496 + this.words[1] * 67108864 : this.length > 2 && assert(!1, \"Number can only safely store up to 53 bits\"), this.negative !== 0 \? -ret : ret;\n }, BN.prototype.toJSON = function() {\n return this.toString(16);\n }, BN.prototype.toBuffer = function(endian, length) {\n return assert(typeof Buffer2 < \"u\"), this.toArrayLike(Buffer2, endian, length);\n }, BN.prototype.toArray = function(endian, length) {\n return this.toArrayLike(@Array, endian, length);\n }, BN.prototype.toArrayLike = function(ArrayType, endian, length) {\n var byteLength = this.byteLength(), reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\"), assert(reqLength > 0, \"Requested array length <= 0\"), this.strip();\n var littleEndian = endian === \"le\", res = new ArrayType(reqLength), b, i, q = this.clone();\n if (littleEndian) {\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[i] = b;\n for (;i < reqLength; i++)\n res[i] = 0;\n } else {\n for (i = 0;i < reqLength - byteLength; i++)\n res[i] = 0;\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[reqLength - i - 1] = b;\n }\n return res;\n }, Math.clz32 \? BN.prototype._countBits = function(w) {\n return 32 - Math.clz32(w);\n } : BN.prototype._countBits = function(w) {\n var t = w, r = 0;\n return t >= 4096 && (r += 13, t >>>= 13), t >= 64 && (r += 7, t >>>= 7), t >= 8 && (r += 4, t >>>= 4), t >= 2 && (r += 2, t >>>= 2), r + t;\n }, BN.prototype._zeroBits = function(w) {\n if (w === 0)\n return 26;\n var t = w, r = 0;\n return (t & 8191) === 0 && (r += 13, t >>>= 13), (t & 127) === 0 && (r += 7, t >>>= 7), (t & 15) === 0 && (r += 4, t >>>= 4), (t & 3) === 0 && (r += 2, t >>>= 2), (t & 1) === 0 && r++, r;\n }, BN.prototype.bitLength = function() {\n var w = this.words[this.length - 1], hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n for (var w = new @Array(num.bitLength()), bit = 0;bit < w.length; bit++) {\n var off = bit / 26 | 0, wbit = bit % 26;\n w[bit] = (num.words[off] & 1 << wbit) >>> wbit;\n }\n return w;\n }\n BN.prototype.zeroBits = function() {\n if (this.isZero())\n return 0;\n for (var r = 0, i = 0;i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n if (r += b, b !== 26)\n break;\n }\n return r;\n }, BN.prototype.byteLength = function() {\n return Math.ceil(this.bitLength() / 8);\n }, BN.prototype.toTwos = function(width) {\n return this.negative !== 0 \? this.abs().inotn(width).iaddn(1) : this.clone();\n }, BN.prototype.fromTwos = function(width) {\n return this.testn(width - 1) \? this.notn(width).iaddn(1).ineg() : this.clone();\n }, BN.prototype.isNeg = function() {\n return this.negative !== 0;\n }, BN.prototype.neg = function() {\n return this.clone().ineg();\n }, BN.prototype.ineg = function() {\n return this.isZero() || (this.negative ^= 1), this;\n }, BN.prototype.iuor = function(num) {\n for (;this.length < num.length; )\n this.words[this.length++] = 0;\n for (var i = 0;i < num.length; i++)\n this.words[i] = this.words[i] | num.words[i];\n return this.strip();\n }, BN.prototype.ior = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuor(num);\n }, BN.prototype.or = function(num) {\n return this.length > num.length \? this.clone().ior(num) : num.clone().ior(this);\n }, BN.prototype.uor = function(num) {\n return this.length > num.length \? this.clone().iuor(num) : num.clone().iuor(this);\n }, BN.prototype.iuand = function(num) {\n var b;\n this.length > num.length \? b = num : b = this;\n for (var i = 0;i < b.length; i++)\n this.words[i] = this.words[i] & num.words[i];\n return this.length = b.length, this.strip();\n }, BN.prototype.iand = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuand(num);\n }, BN.prototype.and = function(num) {\n return this.length > num.length \? this.clone().iand(num) : num.clone().iand(this);\n }, BN.prototype.uand = function(num) {\n return this.length > num.length \? this.clone().iuand(num) : num.clone().iuand(this);\n }, BN.prototype.iuxor = function(num) {\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var i = 0;i < b.length; i++)\n this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = a.length, this.strip();\n }, BN.prototype.ixor = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuxor(num);\n }, BN.prototype.xor = function(num) {\n return this.length > num.length \? this.clone().ixor(num) : num.clone().ixor(this);\n }, BN.prototype.uxor = function(num) {\n return this.length > num.length \? this.clone().iuxor(num) : num.clone().iuxor(this);\n }, BN.prototype.inotn = function(width) {\n assert(typeof width == \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0, bitsLeft = width % 26;\n this._expand(bytesNeeded), bitsLeft > 0 && bytesNeeded--;\n for (var i = 0;i < bytesNeeded; i++)\n this.words[i] = ~this.words[i] & 67108863;\n return bitsLeft > 0 && (this.words[i] = ~this.words[i] & 67108863 >> 26 - bitsLeft), this.strip();\n }, BN.prototype.notn = function(width) {\n return this.clone().inotn(width);\n }, BN.prototype.setn = function(bit, val) {\n assert(typeof bit == \"number\" && bit >= 0);\n var off = bit / 26 | 0, wbit = bit % 26;\n return this._expand(off + 1), val \? this.words[off] = this.words[off] | 1 << wbit : this.words[off] = this.words[off] & ~(1 << wbit), this.strip();\n }, BN.prototype.iadd = function(num) {\n var r;\n if (this.negative !== 0 && num.negative === 0)\n return this.negative = 0, r = this.isub(num), this.negative ^= 1, this._normSign();\n if (this.negative === 0 && num.negative !== 0)\n return num.negative = 0, r = this.isub(num), num.negative = 1, r._normSign();\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n if (this.length = a.length, carry !== 0)\n this.words[this.length] = carry, this.length++;\n else if (a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this;\n }, BN.prototype.add = function(num) {\n var res;\n return num.negative !== 0 && this.negative === 0 \? (num.negative = 0, res = this.sub(num), num.negative ^= 1, res) : num.negative === 0 && this.negative !== 0 \? (this.negative = 0, res = num.sub(this), this.negative = 1, res) : this.length > num.length \? this.clone().iadd(num) : num.clone().iadd(this);\n }, BN.prototype.isub = function(num) {\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n return num.negative = 1, r._normSign();\n } else if (this.negative !== 0)\n return this.negative = 0, this.iadd(num), this.negative = 1, this._normSign();\n var cmp = this.cmp(num);\n if (cmp === 0)\n return this.negative = 0, this.length = 1, this.words[0] = 0, this;\n var a, b;\n cmp > 0 \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n if (carry === 0 && i < a.length && a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = Math.max(this.length, i), a !== this && (this.negative = 1), this.strip();\n }, BN.prototype.sub = function(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative;\n var len = self2.length + num.length | 0;\n out.length = len, len = len - 1 | 0;\n var a = self2.words[0] | 0, b = num.words[0] | 0, r = a * b, lo = r & 67108863, carry = r / 67108864 | 0;\n out.words[0] = lo;\n for (var k = 1;k < len; k++) {\n for (var ncarry = carry >>> 26, rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j | 0;\n a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b + rword, ncarry += r / 67108864 | 0, rword = r & 67108863;\n }\n out.words[k] = rword | 0, carry = ncarry | 0;\n }\n return carry !== 0 \? out.words[k] = carry | 0 : out.length--, out.strip();\n }\n var comb10MulTo = function(self2, num, out) {\n var a = self2.words, b = num.words, o = out.words, c = 0, lo, mid, hi, a0 = a[0] | 0, al0 = a0 & 8191, ah0 = a0 >>> 13, a1 = a[1] | 0, al1 = a1 & 8191, ah1 = a1 >>> 13, a2 = a[2] | 0, al2 = a2 & 8191, ah2 = a2 >>> 13, a3 = a[3] | 0, al3 = a3 & 8191, ah3 = a3 >>> 13, a4 = a[4] | 0, al4 = a4 & 8191, ah4 = a4 >>> 13, a5 = a[5] | 0, al5 = a5 & 8191, ah5 = a5 >>> 13, a6 = a[6] | 0, al6 = a6 & 8191, ah6 = a6 >>> 13, a7 = a[7] | 0, al7 = a7 & 8191, ah7 = a7 >>> 13, a8 = a[8] | 0, al8 = a8 & 8191, ah8 = a8 >>> 13, a9 = a[9] | 0, al9 = a9 & 8191, ah9 = a9 >>> 13, b0 = b[0] | 0, bl0 = b0 & 8191, bh0 = b0 >>> 13, b1 = b[1] | 0, bl1 = b1 & 8191, bh1 = b1 >>> 13, b2 = b[2] | 0, bl2 = b2 & 8191, bh2 = b2 >>> 13, b3 = b[3] | 0, bl3 = b3 & 8191, bh3 = b3 >>> 13, b4 = b[4] | 0, bl4 = b4 & 8191, bh4 = b4 >>> 13, b5 = b[5] | 0, bl5 = b5 & 8191, bh5 = b5 >>> 13, b6 = b[6] | 0, bl6 = b6 & 8191, bh6 = b6 >>> 13, b7 = b[7] | 0, bl7 = b7 & 8191, bh7 = b7 >>> 13, b8 = b[8] | 0, bl8 = b8 & 8191, bh8 = b8 >>> 13, b9 = b[9] | 0, bl9 = b9 & 8191, bh9 = b9 >>> 13;\n out.negative = self2.negative ^ num.negative, out.length = 19, lo = Math.imul(al0, bl0), mid = Math.imul(al0, bh0), mid = mid + Math.imul(ah0, bl0) | 0, hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0, w0 &= 67108863, lo = Math.imul(al1, bl0), mid = Math.imul(al1, bh0), mid = mid + Math.imul(ah1, bl0) | 0, hi = Math.imul(ah1, bh0), lo = lo + Math.imul(al0, bl1) | 0, mid = mid + Math.imul(al0, bh1) | 0, mid = mid + Math.imul(ah0, bl1) | 0, hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0, w1 &= 67108863, lo = Math.imul(al2, bl0), mid = Math.imul(al2, bh0), mid = mid + Math.imul(ah2, bl0) | 0, hi = Math.imul(ah2, bh0), lo = lo + Math.imul(al1, bl1) | 0, mid = mid + Math.imul(al1, bh1) | 0, mid = mid + Math.imul(ah1, bl1) | 0, hi = hi + Math.imul(ah1, bh1) | 0, lo = lo + Math.imul(al0, bl2) | 0, mid = mid + Math.imul(al0, bh2) | 0, mid = mid + Math.imul(ah0, bl2) | 0, hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0, w2 &= 67108863, lo = Math.imul(al3, bl0), mid = Math.imul(al3, bh0), mid = mid + Math.imul(ah3, bl0) | 0, hi = Math.imul(ah3, bh0), lo = lo + Math.imul(al2, bl1) | 0, mid = mid + Math.imul(al2, bh1) | 0, mid = mid + Math.imul(ah2, bl1) | 0, hi = hi + Math.imul(ah2, bh1) | 0, lo = lo + Math.imul(al1, bl2) | 0, mid = mid + Math.imul(al1, bh2) | 0, mid = mid + Math.imul(ah1, bl2) | 0, hi = hi + Math.imul(ah1, bh2) | 0, lo = lo + Math.imul(al0, bl3) | 0, mid = mid + Math.imul(al0, bh3) | 0, mid = mid + Math.imul(ah0, bl3) | 0, hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0, w3 &= 67108863, lo = Math.imul(al4, bl0), mid = Math.imul(al4, bh0), mid = mid + Math.imul(ah4, bl0) | 0, hi = Math.imul(ah4, bh0), lo = lo + Math.imul(al3, bl1) | 0, mid = mid + Math.imul(al3, bh1) | 0, mid = mid + Math.imul(ah3, bl1) | 0, hi = hi + Math.imul(ah3, bh1) | 0, lo = lo + Math.imul(al2, bl2) | 0, mid = mid + Math.imul(al2, bh2) | 0, mid = mid + Math.imul(ah2, bl2) | 0, hi = hi + Math.imul(ah2, bh2) | 0, lo = lo + Math.imul(al1, bl3) | 0, mid = mid + Math.imul(al1, bh3) | 0, mid = mid + Math.imul(ah1, bl3) | 0, hi = hi + Math.imul(ah1, bh3) | 0, lo = lo + Math.imul(al0, bl4) | 0, mid = mid + Math.imul(al0, bh4) | 0, mid = mid + Math.imul(ah0, bl4) | 0, hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0, w4 &= 67108863, lo = Math.imul(al5, bl0), mid = Math.imul(al5, bh0), mid = mid + Math.imul(ah5, bl0) | 0, hi = Math.imul(ah5, bh0), lo = lo + Math.imul(al4, bl1) | 0, mid = mid + Math.imul(al4, bh1) | 0, mid = mid + Math.imul(ah4, bl1) | 0, hi = hi + Math.imul(ah4, bh1) | 0, lo = lo + Math.imul(al3, bl2) | 0, mid = mid + Math.imul(al3, bh2) | 0, mid = mid + Math.imul(ah3, bl2) | 0, hi = hi + Math.imul(ah3, bh2) | 0, lo = lo + Math.imul(al2, bl3) | 0, mid = mid + Math.imul(al2, bh3) | 0, mid = mid + Math.imul(ah2, bl3) | 0, hi = hi + Math.imul(ah2, bh3) | 0, lo = lo + Math.imul(al1, bl4) | 0, mid = mid + Math.imul(al1, bh4) | 0, mid = mid + Math.imul(ah1, bl4) | 0, hi = hi + Math.imul(ah1, bh4) | 0, lo = lo + Math.imul(al0, bl5) | 0, mid = mid + Math.imul(al0, bh5) | 0, mid = mid + Math.imul(ah0, bl5) | 0, hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0, w5 &= 67108863, lo = Math.imul(al6, bl0), mid = Math.imul(al6, bh0), mid = mid + Math.imul(ah6, bl0) | 0, hi = Math.imul(ah6, bh0), lo = lo + Math.imul(al5, bl1) | 0, mid = mid + Math.imul(al5, bh1) | 0, mid = mid + Math.imul(ah5, bl1) | 0, hi = hi + Math.imul(ah5, bh1) | 0, lo = lo + Math.imul(al4, bl2) | 0, mid = mid + Math.imul(al4, bh2) | 0, mid = mid + Math.imul(ah4, bl2) | 0, hi = hi + Math.imul(ah4, bh2) | 0, lo = lo + Math.imul(al3, bl3) | 0, mid = mid + Math.imul(al3, bh3) | 0, mid = mid + Math.imul(ah3, bl3) | 0, hi = hi + Math.imul(ah3, bh3) | 0, lo = lo + Math.imul(al2, bl4) | 0, mid = mid + Math.imul(al2, bh4) | 0, mid = mid + Math.imul(ah2, bl4) | 0, hi = hi + Math.imul(ah2, bh4) | 0, lo = lo + Math.imul(al1, bl5) | 0, mid = mid + Math.imul(al1, bh5) | 0, mid = mid + Math.imul(ah1, bl5) | 0, hi = hi + Math.imul(ah1, bh5) | 0, lo = lo + Math.imul(al0, bl6) | 0, mid = mid + Math.imul(al0, bh6) | 0, mid = mid + Math.imul(ah0, bl6) | 0, hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0, w6 &= 67108863, lo = Math.imul(al7, bl0), mid = Math.imul(al7, bh0), mid = mid + Math.imul(ah7, bl0) | 0, hi = Math.imul(ah7, bh0), lo = lo + Math.imul(al6, bl1) | 0, mid = mid + Math.imul(al6, bh1) | 0, mid = mid + Math.imul(ah6, bl1) | 0, hi = hi + Math.imul(ah6, bh1) | 0, lo = lo + Math.imul(al5, bl2) | 0, mid = mid + Math.imul(al5, bh2) | 0, mid = mid + Math.imul(ah5, bl2) | 0, hi = hi + Math.imul(ah5, bh2) | 0, lo = lo + Math.imul(al4, bl3) | 0, mid = mid + Math.imul(al4, bh3) | 0, mid = mid + Math.imul(ah4, bl3) | 0, hi = hi + Math.imul(ah4, bh3) | 0, lo = lo + Math.imul(al3, bl4) | 0, mid = mid + Math.imul(al3, bh4) | 0, mid = mid + Math.imul(ah3, bl4) | 0, hi = hi + Math.imul(ah3, bh4) | 0, lo = lo + Math.imul(al2, bl5) | 0, mid = mid + Math.imul(al2, bh5) | 0, mid = mid + Math.imul(ah2, bl5) | 0, hi = hi + Math.imul(ah2, bh5) | 0, lo = lo + Math.imul(al1, bl6) | 0, mid = mid + Math.imul(al1, bh6) | 0, mid = mid + Math.imul(ah1, bl6) | 0, hi = hi + Math.imul(ah1, bh6) | 0, lo = lo + Math.imul(al0, bl7) | 0, mid = mid + Math.imul(al0, bh7) | 0, mid = mid + Math.imul(ah0, bl7) | 0, hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0, w7 &= 67108863, lo = Math.imul(al8, bl0), mid = Math.imul(al8, bh0), mid = mid + Math.imul(ah8, bl0) | 0, hi = Math.imul(ah8, bh0), lo = lo + Math.imul(al7, bl1) | 0, mid = mid + Math.imul(al7, bh1) | 0, mid = mid + Math.imul(ah7, bl1) | 0, hi = hi + Math.imul(ah7, bh1) | 0, lo = lo + Math.imul(al6, bl2) | 0, mid = mid + Math.imul(al6, bh2) | 0, mid = mid + Math.imul(ah6, bl2) | 0, hi = hi + Math.imul(ah6, bh2) | 0, lo = lo + Math.imul(al5, bl3) | 0, mid = mid + Math.imul(al5, bh3) | 0, mid = mid + Math.imul(ah5, bl3) | 0, hi = hi + Math.imul(ah5, bh3) | 0, lo = lo + Math.imul(al4, bl4) | 0, mid = mid + Math.imul(al4, bh4) | 0, mid = mid + Math.imul(ah4, bl4) | 0, hi = hi + Math.imul(ah4, bh4) | 0, lo = lo + Math.imul(al3, bl5) | 0, mid = mid + Math.imul(al3, bh5) | 0, mid = mid + Math.imul(ah3, bl5) | 0, hi = hi + Math.imul(ah3, bh5) | 0, lo = lo + Math.imul(al2, bl6) | 0, mid = mid + Math.imul(al2, bh6) | 0, mid = mid + Math.imul(ah2, bl6) | 0, hi = hi + Math.imul(ah2, bh6) | 0, lo = lo + Math.imul(al1, bl7) | 0, mid = mid + Math.imul(al1, bh7) | 0, mid = mid + Math.imul(ah1, bl7) | 0, hi = hi + Math.imul(ah1, bh7) | 0, lo = lo + Math.imul(al0, bl8) | 0, mid = mid + Math.imul(al0, bh8) | 0, mid = mid + Math.imul(ah0, bl8) | 0, hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0, w8 &= 67108863, lo = Math.imul(al9, bl0), mid = Math.imul(al9, bh0), mid = mid + Math.imul(ah9, bl0) | 0, hi = Math.imul(ah9, bh0), lo = lo + Math.imul(al8, bl1) | 0, mid = mid + Math.imul(al8, bh1) | 0, mid = mid + Math.imul(ah8, bl1) | 0, hi = hi + Math.imul(ah8, bh1) | 0, lo = lo + Math.imul(al7, bl2) | 0, mid = mid + Math.imul(al7, bh2) | 0, mid = mid + Math.imul(ah7, bl2) | 0, hi = hi + Math.imul(ah7, bh2) | 0, lo = lo + Math.imul(al6, bl3) | 0, mid = mid + Math.imul(al6, bh3) | 0, mid = mid + Math.imul(ah6, bl3) | 0, hi = hi + Math.imul(ah6, bh3) | 0, lo = lo + Math.imul(al5, bl4) | 0, mid = mid + Math.imul(al5, bh4) | 0, mid = mid + Math.imul(ah5, bl4) | 0, hi = hi + Math.imul(ah5, bh4) | 0, lo = lo + Math.imul(al4, bl5) | 0, mid = mid + Math.imul(al4, bh5) | 0, mid = mid + Math.imul(ah4, bl5) | 0, hi = hi + Math.imul(ah4, bh5) | 0, lo = lo + Math.imul(al3, bl6) | 0, mid = mid + Math.imul(al3, bh6) | 0, mid = mid + Math.imul(ah3, bl6) | 0, hi = hi + Math.imul(ah3, bh6) | 0, lo = lo + Math.imul(al2, bl7) | 0, mid = mid + Math.imul(al2, bh7) | 0, mid = mid + Math.imul(ah2, bl7) | 0, hi = hi + Math.imul(ah2, bh7) | 0, lo = lo + Math.imul(al1, bl8) | 0, mid = mid + Math.imul(al1, bh8) | 0, mid = mid + Math.imul(ah1, bl8) | 0, hi = hi + Math.imul(ah1, bh8) | 0, lo = lo + Math.imul(al0, bl9) | 0, mid = mid + Math.imul(al0, bh9) | 0, mid = mid + Math.imul(ah0, bl9) | 0, hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0, w9 &= 67108863, lo = Math.imul(al9, bl1), mid = Math.imul(al9, bh1), mid = mid + Math.imul(ah9, bl1) | 0, hi = Math.imul(ah9, bh1), lo = lo + Math.imul(al8, bl2) | 0, mid = mid + Math.imul(al8, bh2) | 0, mid = mid + Math.imul(ah8, bl2) | 0, hi = hi + Math.imul(ah8, bh2) | 0, lo = lo + Math.imul(al7, bl3) | 0, mid = mid + Math.imul(al7, bh3) | 0, mid = mid + Math.imul(ah7, bl3) | 0, hi = hi + Math.imul(ah7, bh3) | 0, lo = lo + Math.imul(al6, bl4) | 0, mid = mid + Math.imul(al6, bh4) | 0, mid = mid + Math.imul(ah6, bl4) | 0, hi = hi + Math.imul(ah6, bh4) | 0, lo = lo + Math.imul(al5, bl5) | 0, mid = mid + Math.imul(al5, bh5) | 0, mid = mid + Math.imul(ah5, bl5) | 0, hi = hi + Math.imul(ah5, bh5) | 0, lo = lo + Math.imul(al4, bl6) | 0, mid = mid + Math.imul(al4, bh6) | 0, mid = mid + Math.imul(ah4, bl6) | 0, hi = hi + Math.imul(ah4, bh6) | 0, lo = lo + Math.imul(al3, bl7) | 0, mid = mid + Math.imul(al3, bh7) | 0, mid = mid + Math.imul(ah3, bl7) | 0, hi = hi + Math.imul(ah3, bh7) | 0, lo = lo + Math.imul(al2, bl8) | 0, mid = mid + Math.imul(al2, bh8) | 0, mid = mid + Math.imul(ah2, bl8) | 0, hi = hi + Math.imul(ah2, bh8) | 0, lo = lo + Math.imul(al1, bl9) | 0, mid = mid + Math.imul(al1, bh9) | 0, mid = mid + Math.imul(ah1, bl9) | 0, hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0, w10 &= 67108863, lo = Math.imul(al9, bl2), mid = Math.imul(al9, bh2), mid = mid + Math.imul(ah9, bl2) | 0, hi = Math.imul(ah9, bh2), lo = lo + Math.imul(al8, bl3) | 0, mid = mid + Math.imul(al8, bh3) | 0, mid = mid + Math.imul(ah8, bl3) | 0, hi = hi + Math.imul(ah8, bh3) | 0, lo = lo + Math.imul(al7, bl4) | 0, mid = mid + Math.imul(al7, bh4) | 0, mid = mid + Math.imul(ah7, bl4) | 0, hi = hi + Math.imul(ah7, bh4) | 0, lo = lo + Math.imul(al6, bl5) | 0, mid = mid + Math.imul(al6, bh5) | 0, mid = mid + Math.imul(ah6, bl5) | 0, hi = hi + Math.imul(ah6, bh5) | 0, lo = lo + Math.imul(al5, bl6) | 0, mid = mid + Math.imul(al5, bh6) | 0, mid = mid + Math.imul(ah5, bl6) | 0, hi = hi + Math.imul(ah5, bh6) | 0, lo = lo + Math.imul(al4, bl7) | 0, mid = mid + Math.imul(al4, bh7) | 0, mid = mid + Math.imul(ah4, bl7) | 0, hi = hi + Math.imul(ah4, bh7) | 0, lo = lo + Math.imul(al3, bl8) | 0, mid = mid + Math.imul(al3, bh8) | 0, mid = mid + Math.imul(ah3, bl8) | 0, hi = hi + Math.imul(ah3, bh8) | 0, lo = lo + Math.imul(al2, bl9) | 0, mid = mid + Math.imul(al2, bh9) | 0, mid = mid + Math.imul(ah2, bl9) | 0, hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0, w11 &= 67108863, lo = Math.imul(al9, bl3), mid = Math.imul(al9, bh3), mid = mid + Math.imul(ah9, bl3) | 0, hi = Math.imul(ah9, bh3), lo = lo + Math.imul(al8, bl4) | 0, mid = mid + Math.imul(al8, bh4) | 0, mid = mid + Math.imul(ah8, bl4) | 0, hi = hi + Math.imul(ah8, bh4) | 0, lo = lo + Math.imul(al7, bl5) | 0, mid = mid + Math.imul(al7, bh5) | 0, mid = mid + Math.imul(ah7, bl5) | 0, hi = hi + Math.imul(ah7, bh5) | 0, lo = lo + Math.imul(al6, bl6) | 0, mid = mid + Math.imul(al6, bh6) | 0, mid = mid + Math.imul(ah6, bl6) | 0, hi = hi + Math.imul(ah6, bh6) | 0, lo = lo + Math.imul(al5, bl7) | 0, mid = mid + Math.imul(al5, bh7) | 0, mid = mid + Math.imul(ah5, bl7) | 0, hi = hi + Math.imul(ah5, bh7) | 0, lo = lo + Math.imul(al4, bl8) | 0, mid = mid + Math.imul(al4, bh8) | 0, mid = mid + Math.imul(ah4, bl8) | 0, hi = hi + Math.imul(ah4, bh8) | 0, lo = lo + Math.imul(al3, bl9) | 0, mid = mid + Math.imul(al3, bh9) | 0, mid = mid + Math.imul(ah3, bl9) | 0, hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0, w12 &= 67108863, lo = Math.imul(al9, bl4), mid = Math.imul(al9, bh4), mid = mid + Math.imul(ah9, bl4) | 0, hi = Math.imul(ah9, bh4), lo = lo + Math.imul(al8, bl5) | 0, mid = mid + Math.imul(al8, bh5) | 0, mid = mid + Math.imul(ah8, bl5) | 0, hi = hi + Math.imul(ah8, bh5) | 0, lo = lo + Math.imul(al7, bl6) | 0, mid = mid + Math.imul(al7, bh6) | 0, mid = mid + Math.imul(ah7, bl6) | 0, hi = hi + Math.imul(ah7, bh6) | 0, lo = lo + Math.imul(al6, bl7) | 0, mid = mid + Math.imul(al6, bh7) | 0, mid = mid + Math.imul(ah6, bl7) | 0, hi = hi + Math.imul(ah6, bh7) | 0, lo = lo + Math.imul(al5, bl8) | 0, mid = mid + Math.imul(al5, bh8) | 0, mid = mid + Math.imul(ah5, bl8) | 0, hi = hi + Math.imul(ah5, bh8) | 0, lo = lo + Math.imul(al4, bl9) | 0, mid = mid + Math.imul(al4, bh9) | 0, mid = mid + Math.imul(ah4, bl9) | 0, hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0, w13 &= 67108863, lo = Math.imul(al9, bl5), mid = Math.imul(al9, bh5), mid = mid + Math.imul(ah9, bl5) | 0, hi = Math.imul(ah9, bh5), lo = lo + Math.imul(al8, bl6) | 0, mid = mid + Math.imul(al8, bh6) | 0, mid = mid + Math.imul(ah8, bl6) | 0, hi = hi + Math.imul(ah8, bh6) | 0, lo = lo + Math.imul(al7, bl7) | 0, mid = mid + Math.imul(al7, bh7) | 0, mid = mid + Math.imul(ah7, bl7) | 0, hi = hi + Math.imul(ah7, bh7) | 0, lo = lo + Math.imul(al6, bl8) | 0, mid = mid + Math.imul(al6, bh8) | 0, mid = mid + Math.imul(ah6, bl8) | 0, hi = hi + Math.imul(ah6, bh8) | 0, lo = lo + Math.imul(al5, bl9) | 0, mid = mid + Math.imul(al5, bh9) | 0, mid = mid + Math.imul(ah5, bl9) | 0, hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0, w14 &= 67108863, lo = Math.imul(al9, bl6), mid = Math.imul(al9, bh6), mid = mid + Math.imul(ah9, bl6) | 0, hi = Math.imul(ah9, bh6), lo = lo + Math.imul(al8, bl7) | 0, mid = mid + Math.imul(al8, bh7) | 0, mid = mid + Math.imul(ah8, bl7) | 0, hi = hi + Math.imul(ah8, bh7) | 0, lo = lo + Math.imul(al7, bl8) | 0, mid = mid + Math.imul(al7, bh8) | 0, mid = mid + Math.imul(ah7, bl8) | 0, hi = hi + Math.imul(ah7, bh8) | 0, lo = lo + Math.imul(al6, bl9) | 0, mid = mid + Math.imul(al6, bh9) | 0, mid = mid + Math.imul(ah6, bl9) | 0, hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0, w15 &= 67108863, lo = Math.imul(al9, bl7), mid = Math.imul(al9, bh7), mid = mid + Math.imul(ah9, bl7) | 0, hi = Math.imul(ah9, bh7), lo = lo + Math.imul(al8, bl8) | 0, mid = mid + Math.imul(al8, bh8) | 0, mid = mid + Math.imul(ah8, bl8) | 0, hi = hi + Math.imul(ah8, bh8) | 0, lo = lo + Math.imul(al7, bl9) | 0, mid = mid + Math.imul(al7, bh9) | 0, mid = mid + Math.imul(ah7, bl9) | 0, hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0, w16 &= 67108863, lo = Math.imul(al9, bl8), mid = Math.imul(al9, bh8), mid = mid + Math.imul(ah9, bl8) | 0, hi = Math.imul(ah9, bh8), lo = lo + Math.imul(al8, bl9) | 0, mid = mid + Math.imul(al8, bh9) | 0, mid = mid + Math.imul(ah8, bl9) | 0, hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0, w17 &= 67108863, lo = Math.imul(al9, bl9), mid = Math.imul(al9, bh9), mid = mid + Math.imul(ah9, bl9) | 0, hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n return c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0, w18 &= 67108863, o[0] = w0, o[1] = w1, o[2] = w2, o[3] = w3, o[4] = w4, o[5] = w5, o[6] = w6, o[7] = w7, o[8] = w8, o[9] = w9, o[10] = w10, o[11] = w11, o[12] = w12, o[13] = w13, o[14] = w14, o[15] = w15, o[16] = w16, o[17] = w17, o[18] = w18, c !== 0 && (o[19] = c, out.length++), out;\n };\n Math.imul || (comb10MulTo = smallMulTo);\n function bigMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative, out.length = self2.length + num.length;\n for (var carry = 0, hncarry = 0, k = 0;k < out.length - 1; k++) {\n var ncarry = hncarry;\n hncarry = 0;\n for (var rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j, a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b, lo = r & 67108863;\n ncarry = ncarry + (r / 67108864 | 0) | 0, lo = lo + rword | 0, rword = lo & 67108863, ncarry = ncarry + (lo >>> 26) | 0, hncarry += ncarry >>> 26, ncarry &= 67108863;\n }\n out.words[k] = rword, carry = ncarry, ncarry = hncarry;\n }\n return carry !== 0 \? out.words[k] = carry : out.length--, out.strip();\n }\n function jumboMulTo(self2, num, out) {\n var fftm = new FFTM;\n return fftm.mulp(self2, num, out);\n }\n BN.prototype.mulTo = function(num, out) {\n var res, len = this.length + num.length;\n return this.length === 10 && num.length === 10 \? res = comb10MulTo(this, num, out) : len < 63 \? res = smallMulTo(this, num, out) : len < 1024 \? res = bigMulTo(this, num, out) : res = jumboMulTo(this, num, out), res;\n };\n function FFTM(x, y) {\n this.x = x, this.y = y;\n }\n FFTM.prototype = {}, FFTM.prototype.makeRBT = function(N) {\n for (var t = new @Array(N), l = BN.prototype._countBits(N) - 1, i = 0;i < N; i++)\n t[i] = this.revBin(i, l, N);\n return t;\n }, FFTM.prototype.revBin = function(x, l, N) {\n if (x === 0 || x === N - 1)\n return x;\n for (var rb = 0, i = 0;i < l; i++)\n rb |= (x & 1) << l - i - 1, x >>= 1;\n return rb;\n }, FFTM.prototype.permute = function(rbt, rws, iws, rtws, itws, N) {\n for (var i = 0;i < N; i++)\n rtws[i] = rws[rbt[i]], itws[i] = iws[rbt[i]];\n }, FFTM.prototype.transform = function(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for (var s = 1;s < N; s <<= 1)\n for (var l = s << 1, rtwdf = Math.cos(2 * Math.PI / l), itwdf = Math.sin(2 * Math.PI / l), p = 0;p < N; p += l)\n for (var rtwdf_ = rtwdf, itwdf_ = itwdf, j = 0;j < s; j++) {\n var re = rtws[p + j], ie = itws[p + j], ro = rtws[p + j + s], io = itws[p + j + s], rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro, ro = rx, rtws[p + j] = re + ro, itws[p + j] = ie + io, rtws[p + j + s] = re - ro, itws[p + j + s] = ie - io, j !== l && (rx = rtwdf * rtwdf_ - itwdf * itwdf_, itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_, rtwdf_ = rx);\n }\n }, FFTM.prototype.guessLen13b = function(n, m) {\n var N = Math.max(m, n) | 1, odd = N & 1, i = 0;\n for (N = N / 2 | 0;N; N = N >>> 1)\n i++;\n return 1 << i + 1 + odd;\n }, FFTM.prototype.conjugate = function(rws, iws, N) {\n if (!(N <= 1))\n for (var i = 0;i < N / 2; i++) {\n var t = rws[i];\n rws[i] = rws[N - i - 1], rws[N - i - 1] = t, t = iws[i], iws[i] = -iws[N - i - 1], iws[N - i - 1] = -t;\n }\n }, FFTM.prototype.normalize13b = function(ws, N) {\n for (var carry = 0, i = 0;i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 8192 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 67108863, w < 67108864 \? carry = 0 : carry = w / 67108864 | 0;\n }\n return ws;\n }, FFTM.prototype.convert13b = function(ws, len, rws, N) {\n for (var carry = 0, i = 0;i < len; i++)\n carry = carry + (ws[i] | 0), rws[2 * i] = carry & 8191, carry = carry >>> 13, rws[2 * i + 1] = carry & 8191, carry = carry >>> 13;\n for (i = 2 * len;i < N; ++i)\n rws[i] = 0;\n assert(carry === 0), assert((carry & -8192) === 0);\n }, FFTM.prototype.stub = function(N) {\n for (var ph = new @Array(N), i = 0;i < N; i++)\n ph[i] = 0;\n return ph;\n }, FFTM.prototype.mulp = function(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length), rbt = this.makeRBT(N), _ = this.stub(N), rws = new @Array(N), rwst = new @Array(N), iwst = new @Array(N), nrws = new @Array(N), nrwst = new @Array(N), niwst = new @Array(N), rmws = out.words;\n rmws.length = N, this.convert13b(x.words, x.length, rws, N), this.convert13b(y.words, y.length, nrws, N), this.transform(rws, _, rwst, iwst, N, rbt), this.transform(nrws, _, nrwst, niwst, N, rbt);\n for (var i = 0;i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i], rwst[i] = rx;\n }\n return this.conjugate(rwst, iwst, N), this.transform(rwst, iwst, rmws, _, N, rbt), this.conjugate(rmws, _, N), this.normalize13b(rmws, N), out.negative = x.negative ^ y.negative, out.length = x.length + y.length, out.strip();\n }, BN.prototype.mul = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), this.mulTo(num, out);\n }, BN.prototype.mulf = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), jumboMulTo(this, num, out);\n }, BN.prototype.imul = function(num) {\n return this.clone().mulTo(num, this);\n }, BN.prototype.imuln = function(num) {\n assert(typeof num == \"number\"), assert(num < 67108864);\n for (var carry = 0, i = 0;i < this.length; i++) {\n var w = (this.words[i] | 0) * num, lo = (w & 67108863) + (carry & 67108863);\n carry >>= 26, carry += w / 67108864 | 0, carry += lo >>> 26, this.words[i] = lo & 67108863;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.muln = function(num) {\n return this.clone().imuln(num);\n }, BN.prototype.sqr = function() {\n return this.mul(this);\n }, BN.prototype.isqr = function() {\n return this.imul(this.clone());\n }, BN.prototype.pow = function(num) {\n var w = toBitArray(num);\n if (w.length === 0)\n return new BN(1);\n for (var res = this, i = 0;i < w.length && w[i] === 0; i++, res = res.sqr())\n ;\n if (++i < w.length)\n for (var q = res.sqr();i < w.length; i++, q = q.sqr())\n w[i] !== 0 && (res = res.mul(q));\n return res;\n }, BN.prototype.iushln = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26, carryMask = 67108863 >>> 26 - r << 26 - r, i;\n if (r !== 0) {\n var carry = 0;\n for (i = 0;i < this.length; i++) {\n var newCarry = this.words[i] & carryMask, c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry, carry = newCarry >>> 26 - r;\n }\n carry && (this.words[i] = carry, this.length++);\n }\n if (s !== 0) {\n for (i = this.length - 1;i >= 0; i--)\n this.words[i + s] = this.words[i];\n for (i = 0;i < s; i++)\n this.words[i] = 0;\n this.length += s;\n }\n return this.strip();\n }, BN.prototype.ishln = function(bits) {\n return assert(this.negative === 0), this.iushln(bits);\n }, BN.prototype.iushrn = function(bits, hint, extended) {\n assert(typeof bits == \"number\" && bits >= 0);\n var h;\n hint \? h = (hint - hint % 26) / 26 : h = 0;\n var r = bits % 26, s = Math.min((bits - r) / 26, this.length), mask = 67108863 ^ 67108863 >>> r << r, maskedWords = extended;\n if (h -= s, h = Math.max(0, h), maskedWords) {\n for (var i = 0;i < s; i++)\n maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s !== 0)\n if (this.length > s)\n for (this.length -= s, i = 0;i < this.length; i++)\n this.words[i] = this.words[i + s];\n else\n this.words[0] = 0, this.length = 1;\n var carry = 0;\n for (i = this.length - 1;i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r, carry = word & mask;\n }\n return maskedWords && carry !== 0 && (maskedWords.words[maskedWords.length++] = carry), this.length === 0 && (this.words[0] = 0, this.length = 1), this.strip();\n }, BN.prototype.ishrn = function(bits, hint, extended) {\n return assert(this.negative === 0), this.iushrn(bits, hint, extended);\n }, BN.prototype.shln = function(bits) {\n return this.clone().ishln(bits);\n }, BN.prototype.ushln = function(bits) {\n return this.clone().iushln(bits);\n }, BN.prototype.shrn = function(bits) {\n return this.clone().ishrn(bits);\n }, BN.prototype.ushrn = function(bits) {\n return this.clone().iushrn(bits);\n }, BN.prototype.testn = function(bit) {\n assert(typeof bit == \"number\" && bit >= 0);\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return !1;\n var w = this.words[s];\n return !!(w & q);\n }, BN.prototype.imaskn = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26;\n if (assert(this.negative === 0, \"imaskn works only with positive numbers\"), this.length <= s)\n return this;\n if (r !== 0 && s++, this.length = Math.min(s, this.length), r !== 0) {\n var mask = 67108863 ^ 67108863 >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this.strip();\n }, BN.prototype.maskn = function(bits) {\n return this.clone().imaskn(bits);\n }, BN.prototype.iaddn = function(num) {\n return assert(typeof num == \"number\"), assert(num < 67108864), num < 0 \? this.isubn(-num) : this.negative !== 0 \? this.length === 1 && (this.words[0] | 0) < num \? (this.words[0] = num - (this.words[0] | 0), this.negative = 0, this) : (this.negative = 0, this.isubn(num), this.negative = 1, this) : this._iaddn(num);\n }, BN.prototype._iaddn = function(num) {\n this.words[0] += num;\n for (var i = 0;i < this.length && this.words[i] >= 67108864; i++)\n this.words[i] -= 67108864, i === this.length - 1 \? this.words[i + 1] = 1 : this.words[i + 1]++;\n return this.length = Math.max(this.length, i + 1), this;\n }, BN.prototype.isubn = function(num) {\n if (assert(typeof num == \"number\"), assert(num < 67108864), num < 0)\n return this.iaddn(-num);\n if (this.negative !== 0)\n return this.negative = 0, this.iaddn(num), this.negative = 1, this;\n if (this.words[0] -= num, this.length === 1 && this.words[0] < 0)\n this.words[0] = -this.words[0], this.negative = 1;\n else\n for (var i = 0;i < this.length && this.words[i] < 0; i++)\n this.words[i] += 67108864, this.words[i + 1] -= 1;\n return this.strip();\n }, BN.prototype.addn = function(num) {\n return this.clone().iaddn(num);\n }, BN.prototype.subn = function(num) {\n return this.clone().isubn(num);\n }, BN.prototype.iabs = function() {\n return this.negative = 0, this;\n }, BN.prototype.abs = function() {\n return this.clone().iabs();\n }, BN.prototype._ishlnsubmul = function(num, mul, shift) {\n var len = num.length + shift, i;\n this._expand(len);\n var w, carry = 0;\n for (i = 0;i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 67108863, carry = (w >> 26) - (right / 67108864 | 0), this.words[i + shift] = w & 67108863;\n }\n for (;i < this.length - shift; i++)\n w = (this.words[i + shift] | 0) + carry, carry = w >> 26, this.words[i + shift] = w & 67108863;\n if (carry === 0)\n return this.strip();\n for (assert(carry === -1), carry = 0, i = 0;i < this.length; i++)\n w = -(this.words[i] | 0) + carry, carry = w >> 26, this.words[i] = w & 67108863;\n return this.negative = 1, this.strip();\n }, BN.prototype._wordDiv = function(num, mode) {\n var shift = this.length - num.length, a = this.clone(), b = num, bhi = b.words[b.length - 1] | 0, bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits, shift !== 0 && (b = b.ushln(shift), a.iushln(shift), bhi = b.words[b.length - 1] | 0);\n var m = a.length - b.length, q;\n if (mode !== \"mod\") {\n q = new BN(null), q.length = m + 1, q.words = new @Array(q.length);\n for (var i = 0;i < q.length; i++)\n q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n diff.negative === 0 && (a = diff, q && (q.words[m] = 1));\n for (var j = m - 1;j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 67108864 + (a.words[b.length + j - 1] | 0);\n for (qj = Math.min(qj / bhi | 0, 67108863), a._ishlnsubmul(b, qj, j);a.negative !== 0; )\n qj--, a.negative = 0, a._ishlnsubmul(b, 1, j), a.isZero() || (a.negative ^= 1);\n q && (q.words[j] = qj);\n }\n return q && q.strip(), a.strip(), mode !== \"div\" && shift !== 0 && a.iushrn(shift), {\n div: q || null,\n mod: a\n };\n }, BN.prototype.divmod = function(num, mode, positive) {\n if (assert(!num.isZero()), this.isZero())\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n return this.negative !== 0 && num.negative === 0 \? (res = this.neg().divmod(num, mode), mode !== \"mod\" && (div = res.div.neg()), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.iadd(num)), {\n div,\n mod\n }) : this.negative === 0 && num.negative !== 0 \? (res = this.divmod(num.neg(), mode), mode !== \"mod\" && (div = res.div.neg()), {\n div,\n mod: res.mod\n }) : (this.negative & num.negative) !== 0 \? (res = this.neg().divmod(num.neg(), mode), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.isub(num)), {\n div: res.div,\n mod\n }) : num.length > this.length || this.cmp(num) < 0 \? {\n div: new BN(0),\n mod: this\n } : num.length === 1 \? mode === \"div\" \? {\n div: this.divn(num.words[0]),\n mod: null\n } : mode === \"mod\" \? {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n } : {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n } : this._wordDiv(num, mode);\n }, BN.prototype.div = function(num) {\n return this.divmod(num, \"div\", !1).div;\n }, BN.prototype.mod = function(num) {\n return this.divmod(num, \"mod\", !1).mod;\n }, BN.prototype.umod = function(num) {\n return this.divmod(num, \"mod\", !0).mod;\n }, BN.prototype.divRound = function(num) {\n var dm = this.divmod(num);\n if (dm.mod.isZero())\n return dm.div;\n var mod = dm.div.negative !== 0 \? dm.mod.isub(num) : dm.mod, half = num.ushrn(1), r2 = num.andln(1), cmp = mod.cmp(half);\n return cmp < 0 || r2 === 1 && cmp === 0 \? dm.div : dm.div.negative !== 0 \? dm.div.isubn(1) : dm.div.iaddn(1);\n }, BN.prototype.modn = function(num) {\n assert(num <= 67108863);\n for (var p = (1 << 26) % num, acc = 0, i = this.length - 1;i >= 0; i--)\n acc = (p * acc + (this.words[i] | 0)) % num;\n return acc;\n }, BN.prototype.idivn = function(num) {\n assert(num <= 67108863);\n for (var carry = 0, i = this.length - 1;i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 67108864;\n this.words[i] = w / num | 0, carry = w % num;\n }\n return this.strip();\n }, BN.prototype.divn = function(num) {\n return this.clone().idivn(num);\n }, BN.prototype.egcd = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var x = this, y = p.clone();\n x.negative !== 0 \? x = x.umod(p) : x = x.clone();\n for (var A = new BN(1), B = new BN(0), C = new BN(0), D = new BN(1), g = 0;x.isEven() && y.isEven(); )\n x.iushrn(1), y.iushrn(1), ++g;\n for (var yp = y.clone(), xp = x.clone();!x.isZero(); ) {\n for (var i = 0, im = 1;(x.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (x.iushrn(i);i-- > 0; )\n (A.isOdd() || B.isOdd()) && (A.iadd(yp), B.isub(xp)), A.iushrn(1), B.iushrn(1);\n for (var j = 0, jm = 1;(y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (y.iushrn(j);j-- > 0; )\n (C.isOdd() || D.isOdd()) && (C.iadd(yp), D.isub(xp)), C.iushrn(1), D.iushrn(1);\n x.cmp(y) >= 0 \? (x.isub(y), A.isub(C), B.isub(D)) : (y.isub(x), C.isub(A), D.isub(B));\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n }, BN.prototype._invmp = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var a = this, b = p.clone();\n a.negative !== 0 \? a = a.umod(p) : a = a.clone();\n for (var x1 = new BN(1), x2 = new BN(0), delta = b.clone();a.cmpn(1) > 0 && b.cmpn(1) > 0; ) {\n for (var i = 0, im = 1;(a.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (a.iushrn(i);i-- > 0; )\n x1.isOdd() && x1.iadd(delta), x1.iushrn(1);\n for (var j = 0, jm = 1;(b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (b.iushrn(j);j-- > 0; )\n x2.isOdd() && x2.iadd(delta), x2.iushrn(1);\n a.cmp(b) >= 0 \? (a.isub(b), x1.isub(x2)) : (b.isub(a), x2.isub(x1));\n }\n var res;\n return a.cmpn(1) === 0 \? res = x1 : res = x2, res.cmpn(0) < 0 && res.iadd(p), res;\n }, BN.prototype.gcd = function(num) {\n if (this.isZero())\n return num.abs();\n if (num.isZero())\n return this.abs();\n var a = this.clone(), b = num.clone();\n a.negative = 0, b.negative = 0;\n for (var shift = 0;a.isEven() && b.isEven(); shift++)\n a.iushrn(1), b.iushrn(1);\n do {\n for (;a.isEven(); )\n a.iushrn(1);\n for (;b.isEven(); )\n b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n var t = a;\n a = b, b = t;\n } else if (r === 0 || b.cmpn(1) === 0)\n break;\n a.isub(b);\n } while (!0);\n return b.iushln(shift);\n }, BN.prototype.invm = function(num) {\n return this.egcd(num).a.umod(num);\n }, BN.prototype.isEven = function() {\n return (this.words[0] & 1) === 0;\n }, BN.prototype.isOdd = function() {\n return (this.words[0] & 1) === 1;\n }, BN.prototype.andln = function(num) {\n return this.words[0] & num;\n }, BN.prototype.bincn = function(bit) {\n assert(typeof bit == \"number\");\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return this._expand(s + 1), this.words[s] |= q, this;\n for (var carry = q, i = s;carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry, carry = w >>> 26, w &= 67108863, this.words[i] = w;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.isZero = function() {\n return this.length === 1 && this.words[0] === 0;\n }, BN.prototype.cmpn = function(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative)\n return -1;\n if (this.negative === 0 && negative)\n return 1;\n this.strip();\n var res;\n if (this.length > 1)\n res = 1;\n else {\n negative && (num = -num), assert(num <= 67108863, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num \? 0 : w < num \? -1 : 1;\n }\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.cmp = function(num) {\n if (this.negative !== 0 && num.negative === 0)\n return -1;\n if (this.negative === 0 && num.negative !== 0)\n return 1;\n var res = this.ucmp(num);\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.ucmp = function(num) {\n if (this.length > num.length)\n return 1;\n if (this.length < num.length)\n return -1;\n for (var res = 0, i = this.length - 1;i >= 0; i--) {\n var a = this.words[i] | 0, b = num.words[i] | 0;\n if (a !== b) {\n a < b \? res = -1 : a > b && (res = 1);\n break;\n }\n }\n return res;\n }, BN.prototype.gtn = function(num) {\n return this.cmpn(num) === 1;\n }, BN.prototype.gt = function(num) {\n return this.cmp(num) === 1;\n }, BN.prototype.gten = function(num) {\n return this.cmpn(num) >= 0;\n }, BN.prototype.gte = function(num) {\n return this.cmp(num) >= 0;\n }, BN.prototype.ltn = function(num) {\n return this.cmpn(num) === -1;\n }, BN.prototype.lt = function(num) {\n return this.cmp(num) === -1;\n }, BN.prototype.lten = function(num) {\n return this.cmpn(num) <= 0;\n }, BN.prototype.lte = function(num) {\n return this.cmp(num) <= 0;\n }, BN.prototype.eqn = function(num) {\n return this.cmpn(num) === 0;\n }, BN.prototype.eq = function(num) {\n return this.cmp(num) === 0;\n }, BN.red = function(num) {\n return new Red(num);\n }, BN.prototype.toRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), assert(this.negative === 0, \"red works only with positives\"), ctx.convertTo(this)._forceRed(ctx);\n }, BN.prototype.fromRed = function() {\n return assert(this.red, \"fromRed works only with numbers in reduction context\"), this.red.convertFrom(this);\n }, BN.prototype._forceRed = function(ctx) {\n return this.red = ctx, this;\n }, BN.prototype.forceRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), this._forceRed(ctx);\n }, BN.prototype.redAdd = function(num) {\n return assert(this.red, \"redAdd works only with red numbers\"), this.red.add(this, num);\n }, BN.prototype.redIAdd = function(num) {\n return assert(this.red, \"redIAdd works only with red numbers\"), this.red.iadd(this, num);\n }, BN.prototype.redSub = function(num) {\n return assert(this.red, \"redSub works only with red numbers\"), this.red.sub(this, num);\n }, BN.prototype.redISub = function(num) {\n return assert(this.red, \"redISub works only with red numbers\"), this.red.isub(this, num);\n }, BN.prototype.redShl = function(num) {\n return assert(this.red, \"redShl works only with red numbers\"), this.red.shl(this, num);\n }, BN.prototype.redMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.mul(this, num);\n }, BN.prototype.redIMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.imul(this, num);\n }, BN.prototype.redSqr = function() {\n return assert(this.red, \"redSqr works only with red numbers\"), this.red._verify1(this), this.red.sqr(this);\n }, BN.prototype.redISqr = function() {\n return assert(this.red, \"redISqr works only with red numbers\"), this.red._verify1(this), this.red.isqr(this);\n }, BN.prototype.redSqrt = function() {\n return assert(this.red, \"redSqrt works only with red numbers\"), this.red._verify1(this), this.red.sqrt(this);\n }, BN.prototype.redInvm = function() {\n return assert(this.red, \"redInvm works only with red numbers\"), this.red._verify1(this), this.red.invm(this);\n }, BN.prototype.redNeg = function() {\n return assert(this.red, \"redNeg works only with red numbers\"), this.red._verify1(this), this.red.neg(this);\n }, BN.prototype.redPow = function(num) {\n return assert(this.red && !num.red, \"redPow(normalNum)\"), this.red._verify1(this), this.red.pow(this, num);\n };\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n function MPrime(name, p) {\n this.name = name, this.p = new BN(p, 16), this.n = this.p.bitLength(), this.k = new BN(1).iushln(this.n).isub(this.p), this.tmp = this._tmp();\n }\n MPrime.prototype = {}, MPrime.prototype._tmp = function() {\n var tmp = new BN(null);\n return tmp.words = new @Array(Math.ceil(this.n / 13)), tmp;\n }, MPrime.prototype.ireduce = function(num) {\n var r = num, rlen;\n do\n this.split(r, this.tmp), r = this.imulK(r), r = r.iadd(this.tmp), rlen = r.bitLength();\n while (rlen > this.n);\n var cmp = rlen < this.n \? -1 : r.ucmp(this.p);\n return cmp === 0 \? (r.words[0] = 0, r.length = 1) : cmp > 0 \? r.isub(this.p) : r.strip !== void 0 \? r.strip() : r._strip(), r;\n }, MPrime.prototype.split = function(input, out) {\n input.iushrn(this.n, 0, out);\n }, MPrime.prototype.imulK = function(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.@call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime), K256.prototype.split = function(input, output) {\n for (var mask = 4194303, outLen = Math.min(input.length, 9), i = 0;i < outLen; i++)\n output.words[i] = input.words[i];\n if (output.length = outLen, input.length <= 9) {\n input.words[0] = 0, input.length = 1;\n return;\n }\n var prev = input.words[9];\n for (output.words[output.length++] = prev & mask, i = 10;i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22, prev = next;\n }\n prev >>>= 22, input.words[i - 10] = prev, prev === 0 && input.length > 10 \? input.length -= 10 : input.length -= 9;\n }, K256.prototype.imulK = function(num) {\n num.words[num.length] = 0, num.words[num.length + 1] = 0, num.length += 2;\n for (var lo = 0, i = 0;i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 977, num.words[i] = lo & 67108863, lo = w * 64 + (lo / 67108864 | 0);\n }\n return num.words[num.length - 1] === 0 && (num.length--, num.words[num.length - 1] === 0 && num.length--), num;\n };\n function P224() {\n MPrime.@call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.@call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n MPrime.@call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime), P25519.prototype.imulK = function(num) {\n for (var carry = 0, i = 0;i < num.length; i++) {\n var hi = (num.words[i] | 0) * 19 + carry, lo = hi & 67108863;\n hi >>>= 26, num.words[i] = lo, carry = hi;\n }\n return carry !== 0 && (num.words[num.length++] = carry), num;\n }, BN._prime = function(name) {\n if (primes[name])\n return primes[name];\n var prime2;\n if (name === \"k256\")\n prime2 = new K256;\n else if (name === \"p224\")\n prime2 = new P224;\n else if (name === \"p192\")\n prime2 = new P192;\n else if (name === \"p25519\")\n prime2 = new P25519;\n else\n throw new Error(\"Unknown prime \" + name);\n return primes[name] = prime2, prime2;\n };\n function Red(m) {\n if (typeof m == \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p, this.prime = prime;\n } else\n assert(m.gtn(1), \"modulus must be greater than 1\"), this.m = m, this.prime = null;\n }\n Red.prototype = {}, Red.prototype._verify1 = function(a) {\n assert(a.negative === 0, \"red works only with positives\"), assert(a.red, \"red works only with red numbers\");\n }, Red.prototype._verify2 = function(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\"), assert(a.red && a.red === b.red, \"red works only with red numbers\");\n }, Red.prototype.imod = function(a) {\n return this.prime \? this.prime.ireduce(a)._forceRed(this) : a.umod(this.m)._forceRed(this);\n }, Red.prototype.neg = function(a) {\n return a.isZero() \? a.clone() : this.m.sub(a)._forceRed(this);\n }, Red.prototype.add = function(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res._forceRed(this);\n }, Red.prototype.iadd = function(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res;\n }, Red.prototype.sub = function(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res._forceRed(this);\n }, Red.prototype.isub = function(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res;\n }, Red.prototype.shl = function(a, num) {\n return this._verify1(a), this.imod(a.ushln(num));\n }, Red.prototype.imul = function(a, b) {\n return this._verify2(a, b), this.imod(a.imul(b));\n }, Red.prototype.mul = function(a, b) {\n return this._verify2(a, b), this.imod(a.mul(b));\n }, Red.prototype.isqr = function(a) {\n return this.imul(a, a.clone());\n }, Red.prototype.sqr = function(a) {\n return this.mul(a, a);\n }, Red.prototype.sqrt = function(a) {\n if (a.isZero())\n return a.clone();\n var mod3 = this.m.andln(3);\n if (assert(mod3 % 2 === 1), mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n for (var q = this.m.subn(1), s = 0;!q.isZero() && q.andln(1) === 0; )\n s++, q.iushrn(1);\n assert(!q.isZero());\n var one = new BN(1).toRed(this), nOne = one.redNeg(), lpow = this.m.subn(1).iushrn(1), z = this.m.bitLength();\n for (z = new BN(2 * z * z).toRed(this);this.pow(z, lpow).cmp(nOne) !== 0; )\n z.redIAdd(nOne);\n for (var c = this.pow(z, q), r = this.pow(a, q.addn(1).iushrn(1)), t = this.pow(a, q), m = s;t.cmp(one) !== 0; ) {\n for (var tmp = t, i = 0;tmp.cmp(one) !== 0; i++)\n tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b), c = b.redSqr(), t = t.redMul(c), m = i;\n }\n return r;\n }, Red.prototype.invm = function(a) {\n var inv = a._invmp(this.m);\n return inv.negative !== 0 \? (inv.negative = 0, this.imod(inv).redNeg()) : this.imod(inv);\n }, Red.prototype.pow = function(a, num) {\n if (num.isZero())\n return new BN(1).toRed(this);\n if (num.cmpn(1) === 0)\n return a.clone();\n var windowSize = 4, wnd = new @Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this), wnd[1] = a;\n for (var i = 2;i < wnd.length; i++)\n wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0], current = 0, currentLen = 0, start = num.bitLength() % 26;\n for (start === 0 && (start = 26), i = num.length - 1;i >= 0; i--) {\n for (var word = num.words[i], j = start - 1;j >= 0; j--) {\n var bit = word >> j & 1;\n if (res !== wnd[0] && (res = this.sqr(res)), bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1, current |= bit, currentLen++, !(currentLen !== windowSize && (i !== 0 || j !== 0)) && (res = this.mul(res, wnd[current]), currentLen = 0, current = 0);\n }\n start = 26;\n }\n return res;\n }, Red.prototype.convertTo = function(num) {\n var r = num.umod(this.m);\n return r === num \? r.clone() : r;\n }, Red.prototype.convertFrom = function(num) {\n var res = num.clone();\n return res.red = null, res;\n }, BN.mont = function(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.@call(this, m), this.shift = this.m.bitLength(), this.shift % 26 !== 0 && (this.shift += 26 - this.shift % 26), this.r = new BN(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red), Mont.prototype.convertTo = function(num) {\n return this.imod(num.ushln(this.shift));\n }, Mont.prototype.convertFrom = function(num) {\n var r = this.imod(num.mul(this.rinv));\n return r.red = null, r;\n }, Mont.prototype.imul = function(a, b) {\n if (a.isZero() || b.isZero())\n return a.words[0] = 0, a.length = 1, a;\n var t = a.imul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.mul = function(a, b) {\n if (a.isZero() || b.isZero())\n return new BN(0)._forceRed(this);\n var t = a.mul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.invm = function(a) {\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n })(typeof module > \"u\" || module, exports);\n }\n}), require_bn2 = require_bn, require_brorand = __commonJS({\n \"node_modules/brorand/index.js\"(exports, module) {\n var r;\n module.exports = function(len) {\n return r || (r = new Rand(null)), r.generate(len);\n };\n function Rand(rand) {\n this.rand = rand;\n }\n Rand.prototype = {}, module.exports.Rand = Rand, Rand.prototype.generate = function(len) {\n return this._rand(len);\n }, Rand.prototype._rand = function(n) {\n var out = new Buffer(n);\n return crypto.getRandomValues(out), out;\n };\n }\n}), require_mr = __commonJS({\n \"node_modules/miller-rabin/lib/mr.js\"(exports, module) {\n var bn = require_bn2(), brorand = require_brorand();\n function MillerRabin(rand) {\n this.rand = rand || new brorand.Rand;\n }\n module.exports = MillerRabin, MillerRabin.create = function(rand) {\n return new MillerRabin(rand);\n }, MillerRabin.prototype = {}, MillerRabin.prototype._randbelow = function(n) {\n var len = n.bitLength(), min_bytes = Math.ceil(len / 8);\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n return a;\n }, MillerRabin.prototype._randrange = function(start, stop) {\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n }, MillerRabin.prototype.test = function(n, k, cb) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red), prime = !0;k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n cb && cb(a);\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return !1;\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return !1;\n }\n }\n return prime;\n }, MillerRabin.prototype.getDivisor = function(n, k) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red);k > 0; k--) {\n var a = this._randrange(new bn(2), n1), g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return x = x.redSqr(), x.fromRed().subn(1).gcd(n);\n }\n }\n return !1;\n };\n }\n}), require_generatePrime = __commonJS({\n \"node_modules/diffie-hellman/lib/generatePrime.js\"(exports, module) {\n var randomBytes = require_browser();\n module.exports = findPrime, findPrime.simpleSieve = simpleSieve, findPrime.fermatTest = fermatTest;\n var BN = require_bn(), TWENTYFOUR = new BN(24), MillerRabin = require_mr(), millerRabin = new MillerRabin, ONE = new BN(1), TWO = new BN(2), FIVE = new BN(5), SIXTEEN = new BN(16), EIGHT = new BN(8), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), ELEVEN = new BN(11), FOUR = new BN(4), TWELVE = new BN(12), primes = null;\n function _getPrimes() {\n if (primes !== null)\n return primes;\n var limit = 1048576, res = [];\n res[0] = 2;\n for (var i = 1, k = 3;k < limit; k += 2) {\n for (var sqrt = Math.ceil(Math.sqrt(k)), j = 0;j < i && res[j] <= sqrt && k % res[j] !== 0; j++)\n ;\n i !== j && res[j] <= sqrt || (res[i++] = k);\n }\n return primes = res, res;\n }\n function simpleSieve(p) {\n for (var primes2 = _getPrimes(), i = 0;i < primes2.length; i++)\n if (p.modn(primes2[i]) === 0)\n return p.cmpn(primes2[i]) === 0;\n return !0;\n }\n function fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n }\n function findPrime(bits, gen) {\n if (bits < 16)\n return gen === 2 || gen === 5 \? new BN([140, 123]) : new BN([140, 39]);\n gen = new BN(gen);\n for (var num, n2;; ) {\n for (num = new BN(randomBytes(Math.ceil(bits / 8)));num.bitLength() > bits; )\n num.ishrn(1);\n if (num.isEven() && num.iadd(ONE), num.testn(1) || num.iadd(TWO), gen.cmp(TWO)) {\n if (!gen.cmp(FIVE))\n for (;num.mod(TEN).cmp(THREE); )\n num.iadd(FOUR);\n } else\n for (;num.mod(TWENTYFOUR).cmp(ELEVEN); )\n num.iadd(FOUR);\n if (n2 = num.shrn(1), simpleSieve(n2) && simpleSieve(num) && fermatTest(n2) && fermatTest(num) && millerRabin.test(n2) && millerRabin.test(num))\n return num;\n }\n }\n }\n}), require_primes = __commonJS({\n \"node_modules/diffie-hellman/lib/primes.json\"(exports, module) {\n module.exports = {\n modp1: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"\n },\n modp2: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"\n },\n modp5: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"\n },\n modp14: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"\n },\n modp15: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"\n },\n modp16: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"\n },\n modp17: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"\n },\n modp18: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"\n }\n };\n }\n}), require_dh = __commonJS({\n \"node_modules/diffie-hellman/lib/dh.js\"(exports, module) {\n var BN = require_bn(), MillerRabin = require_mr(), millerRabin = new MillerRabin, TWENTYFOUR = new BN(24), ELEVEN = new BN(11), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), primes = require_generatePrime(), randomBytes = require_browser();\n module.exports = DH;\n function setPublicKey(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this._pub = new BN(pub), this;\n }\n function setPrivateKey(priv, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc)), this._priv = new BN(priv), this;\n }\n var primeCache = {};\n function checkPrime(prime, generator) {\n var gen = generator.toString(\"hex\"), hex = [gen, prime.toString(16)].join(\"_\");\n if (hex in primeCache)\n return primeCache[hex];\n var error = 0;\n if (prime.isEven() || !primes.simpleSieve || !primes.fermatTest(prime) || !millerRabin.test(prime))\n return error += 1, gen === \"02\" || gen === \"05\" \? error += 8 : error += 4, primeCache[hex] = error, error;\n millerRabin.test(prime.shrn(1)) || (error += 2);\n var rem;\n switch (gen) {\n case \"02\":\n prime.mod(TWENTYFOUR).cmp(ELEVEN) && (error += 8);\n break;\n case \"05\":\n rem = prime.mod(TEN), rem.cmp(THREE) && rem.cmp(SEVEN) && (error += 8);\n break;\n default:\n error += 4;\n }\n return primeCache[hex] = error, error;\n }\n function DH(prime, generator, malleable) {\n this.setGenerator(generator), this.__prime = new BN(prime), this._prime = BN.mont(this.__prime), this._primeLen = prime.length, this._pub = void 0, this._priv = void 0, this._primeCode = void 0, malleable \? (this.setPublicKey = setPublicKey, this.setPrivateKey = setPrivateKey) : this._primeCode = 8;\n }\n DH.prototype = {}, Object.defineProperty(DH.prototype, \"verifyError\", {\n enumerable: !0,\n get: function() {\n return typeof this._primeCode != \"number\" && (this._primeCode = checkPrime(this.__prime, this.__gen)), this._primeCode;\n }\n }), DH.prototype.generateKeys = function() {\n return this._priv || (this._priv = new BN(randomBytes(this._primeLen))), this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(), this.getPublicKey();\n }, DH.prototype.computeSecret = function(other) {\n other = new BN(other), other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed(), out = new Buffer(secret.toArray()), prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0), out = Buffer.concat([front, out]);\n }\n return out;\n }, DH.prototype.getPublicKey = function(enc) {\n return formatReturnValue(this._pub, enc);\n }, DH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this._priv, enc);\n }, DH.prototype.getPrime = function(enc) {\n return formatReturnValue(this.__prime, enc);\n }, DH.prototype.getGenerator = function(enc) {\n return formatReturnValue(this._gen, enc);\n }, DH.prototype.setGenerator = function(gen, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(gen) || (gen = new Buffer(gen, enc)), this.__gen = gen, this._gen = new BN(gen), this;\n };\n function formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_browser7 = __commonJS({\n \"node_modules/diffie-hellman/browser.js\"(exports) {\n var generatePrime = require_generatePrime(), primes = require_primes(), DH = require_dh();\n function getDiffieHellman(mod) {\n var prime = new Buffer(primes[mod].prime, \"hex\"), gen = new Buffer(primes[mod].gen, \"hex\");\n return new DH(prime, gen);\n }\n var ENCODINGS = {\n binary: !0,\n hex: !0,\n base64: !0\n };\n function createDiffieHellman(prime, enc, generator, genc) {\n return Buffer.isBuffer(enc) || ENCODINGS[enc] === void 0 \? createDiffieHellman(prime, \"binary\", enc, generator) : (enc = enc || \"binary\", genc = genc || \"binary\", generator = generator || new Buffer([2]), Buffer.isBuffer(generator) || (generator = new Buffer(generator, genc)), typeof prime == \"number\" \? new DH(generatePrime(prime, generator), generator, !0) : (Buffer.isBuffer(prime) || (prime = new Buffer(prime, enc)), new DH(prime, generator, !0)));\n }\n exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman, exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman;\n }\n}), require_bn3 = require_bn, require_browserify_rsa = __commonJS({\n \"node_modules/browserify-rsa/index.js\"(exports, module) {\n var BN = require_bn3(), randomBytes = require_browser();\n function blind(priv) {\n var r = getr(priv), blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();\n return { blinder, unblinder: r.invm(priv.modulus) };\n }\n function getr(priv) {\n var len = priv.modulus.byteLength(), r;\n do\n r = new BN(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2));\n return r;\n }\n function crt(msg, priv) {\n var blinds = blind(priv), len = priv.modulus.byteLength(), blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus), c1 = blinded.toRed(BN.mont(priv.prime1)), c2 = blinded.toRed(BN.mont(priv.prime2)), qinv = priv.coefficient, p = priv.prime1, q = priv.prime2, m1 = c1.redPow(priv.exponent1).fromRed(), m2 = c2.redPow(priv.exponent2).fromRed(), h = m1.isub(m2).imul(qinv).umod(p).imul(q);\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, \"be\", len);\n }\n crt.getr = getr, module.exports = crt;\n }\n}), require_package = __commonJS({\n \"node_modules/elliptic/package.json\"(exports, module) {\n module.exports = {\n name: \"elliptic\",\n version: \"6.5.4\",\n description: \"EC cryptography\",\n main: \"lib/elliptic.js\",\n files: [\"lib\"],\n scripts: {\n lint: \"eslint lib test\",\n \"lint:fix\": \"npm run lint -- --fix\",\n unit: \"istanbul test _mocha --reporter=spec test/index.js\",\n test: \"npm run lint && npm run unit\",\n version: \"grunt dist && git add dist/\"\n },\n repository: {\n type: \"git\",\n url: \"git@github.com:indutny/elliptic\"\n },\n keywords: [\"EC\", \"Elliptic\", \"curve\", \"Cryptography\"],\n author: \"Fedor Indutny <fedor@indutny.com>\",\n license: \"MIT\",\n bugs: {\n url: \"https://github.com/indutny/elliptic/issues\"\n },\n homepage: \"https://github.com/indutny/elliptic\",\n devDependencies: {\n brfs: \"^2.0.2\",\n coveralls: \"^3.1.0\",\n eslint: \"^7.6.0\",\n grunt: \"^1.2.1\",\n \"grunt-browserify\": \"^5.3.0\",\n \"grunt-cli\": \"^1.3.2\",\n \"grunt-contrib-connect\": \"^3.0.0\",\n \"grunt-contrib-copy\": \"^1.0.0\",\n \"grunt-contrib-uglify\": \"^5.0.0\",\n \"grunt-mocha-istanbul\": \"^5.0.2\",\n \"grunt-saucelabs\": \"^9.0.1\",\n istanbul: \"^0.4.5\",\n mocha: \"^8.0.1\"\n },\n dependencies: {\n \"bn.js\": \"^4.11.9\",\n brorand: \"^1.1.0\",\n \"hash.js\": \"^1.0.0\",\n \"hmac-drbg\": \"^1.0.1\",\n inherits: \"^2.0.4\",\n \"minimalistic-assert\": \"^1.0.1\",\n \"minimalistic-crypto-utils\": \"^1.0.1\"\n }\n };\n }\n}), require_bn4 = require_bn, require_utils2 = __commonJS({\n \"node_modules/minimalistic-crypto-utils/lib/utils.js\"(exports) {\n var utils = exports;\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg != \"string\") {\n for (var i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg);\n for (var i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i), hi = c >> 8, lo = c & 255;\n hi \? res.push(hi, lo) : res.push(lo);\n }\n return res;\n }\n utils.toArray = toArray;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n utils.zero2 = zero2;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n utils.toHex = toHex, utils.encode = function(arr, enc) {\n return enc === \"hex\" \? toHex(arr) : arr;\n };\n }\n}), require_utils3 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/utils.js\"(exports) {\n var utils = exports, BN = require_bn4(), minAssert = require_minimalistic_assert(), minUtils = require_utils2();\n utils.assert = minAssert, utils.toArray = minUtils.toArray, utils.zero2 = minUtils.zero2, utils.toHex = minUtils.toHex, utils.encode = minUtils.encode;\n function getNAF(num, w, bits) {\n var naf = new @Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n for (var ws = 1 << w + 1, k = num.clone(), i = 0;i < naf.length; i++) {\n var z, mod = k.andln(ws - 1);\n k.isOdd() \? (mod > (ws >> 1) - 1 \? z = (ws >> 1) - mod : z = mod, k.isubn(z)) : z = 0, naf[i] = z, k.iushrn(1);\n }\n return naf;\n }\n utils.getNAF = getNAF;\n function getJSF(k1, k2) {\n var jsf = [[], []];\n k1 = k1.clone(), k2 = k2.clone();\n for (var d1 = 0, d2 = 0, m8;k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0; ) {\n var m14 = k1.andln(3) + d1 & 3, m24 = k2.andln(3) + d2 & 3;\n m14 === 3 && (m14 = -1), m24 === 3 && (m24 = -1);\n var u1;\n (m14 & 1) === 0 \? u1 = 0 : (m8 = k1.andln(7) + d1 & 7, (m8 === 3 || m8 === 5) && m24 === 2 \? u1 = -m14 : u1 = m14), jsf[0].push(u1);\n var u2;\n (m24 & 1) === 0 \? u2 = 0 : (m8 = k2.andln(7) + d2 & 7, (m8 === 3 || m8 === 5) && m14 === 2 \? u2 = -m24 : u2 = m24), jsf[1].push(u2), 2 * d1 === u1 + 1 && (d1 = 1 - d1), 2 * d2 === u2 + 1 && (d2 = 1 - d2), k1.iushrn(1), k2.iushrn(1);\n }\n return jsf;\n }\n utils.getJSF = getJSF;\n function cachedProperty(obj, name, computer) {\n var key2 = \"_\" + name;\n obj.prototype[name] = function() {\n return this[key2] !== void 0 \? this[key2] : this[key2] = computer.@call(this);\n };\n }\n utils.cachedProperty = cachedProperty;\n function parseBytes(bytes) {\n if (bytes instanceof KeyObject)\n bytes = bytes.export();\n else if (bytes instanceof CryptoKey)\n bytes = KeyObject.from(bytes).export();\n return typeof bytes == \"string\" \? utils.toArray(bytes, \"hex\") : bytes;\n }\n utils.parseBytes = parseBytes;\n function intFromLE(bytes) {\n return new BN(bytes, \"hex\", \"le\");\n }\n utils.intFromLE = intFromLE;\n }\n}), require_base = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/base.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), getNAF = utils.getNAF, getJSF = utils.getJSF, assert = utils.assert;\n function BaseCurve(type, conf) {\n this.type = type, this.p = new BN(conf.p, 16), this.red = conf.prime \? BN.red(conf.prime) : BN.mont(this.p), this.zero = new BN(0).toRed(this.red), this.one = new BN(1).toRed(this.red), this.two = new BN(2).toRed(this.red), this.n = conf.n && new BN(conf.n, 16), this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed), this._wnafT1 = new @Array(4), this._wnafT2 = new @Array(4), this._wnafT3 = new @Array(4), this._wnafT4 = new @Array(4), this._bitLength = this.n \? this.n.bitLength() : 0;\n var adjustCount = this.n && this.p.div(this.n);\n !adjustCount || adjustCount.cmpn(100) > 0 \? this.redN = null : (this._maxwellTrick = !0, this.redN = this.n.toRed(this.red));\n }\n module.exports = BaseCurve, BaseCurve.prototype = {}, BaseCurve.prototype.point = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype.validate = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype._fixedNafMul = function(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles(), naf = getNAF(k, 1, this._bitLength), I = (1 << doubles.step + 1) - (doubles.step % 2 === 0 \? 2 : 1);\n I /= 3;\n var repr = [], j, nafW;\n for (j = 0;j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1;l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n for (var a = this.jpoint(null, null, null), b = this.jpoint(null, null, null), i = I;i > 0; i--) {\n for (j = 0;j < repr.length; j++)\n nafW = repr[j], nafW === i \? b = b.mixedAdd(doubles.points[j]) : nafW === -i && (b = b.mixedAdd(doubles.points[j].neg()));\n a = a.add(b);\n }\n return a.toP();\n }, BaseCurve.prototype._wnafMul = function(p, k) {\n var w = 4, nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n for (var wnd = nafPoints.points, naf = getNAF(k, w, this._bitLength), acc = this.jpoint(null, null, null), i = naf.length - 1;i >= 0; i--) {\n for (var l = 0;i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0 && l++, acc = acc.dblp(l), i < 0)\n break;\n var z = naf[i];\n assert(z !== 0), p.type === \"affine\" \? z > 0 \? acc = acc.mixedAdd(wnd[z - 1 >> 1]) : acc = acc.mixedAdd(wnd[-z - 1 >> 1].neg()) : z > 0 \? acc = acc.add(wnd[z - 1 >> 1]) : acc = acc.add(wnd[-z - 1 >> 1].neg());\n }\n return p.type === \"affine\" \? acc.toP() : acc;\n }, BaseCurve.prototype._wnafMulAdd = function(defW, points, coeffs, len, jacobianResult) {\n var wndWidth = this._wnafT1, wnd = this._wnafT2, naf = this._wnafT3, max = 0, i, j, p;\n for (i = 0;i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd, wnd[i] = nafPoints.points;\n }\n for (i = len - 1;i >= 1; i -= 2) {\n var a = i - 1, b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength), naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength), max = Math.max(naf[a].length, max), max = Math.max(naf[b].length, max);\n continue;\n }\n var comb = [points[a], null, null, points[b]];\n points[a].y.cmp(points[b].y) === 0 \? (comb[1] = points[a].add(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg())) : points[a].y.cmp(points[b].y.redNeg()) === 0 \? (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].add(points[b].neg())) : (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg()));\n var index = [-3, -1, -5, -7, 0, 7, 5, 1, 3], jsf = getJSF(coeffs[a], coeffs[b]);\n for (max = Math.max(jsf[0].length, max), naf[a] = new @Array(max), naf[b] = new @Array(max), j = 0;j < max; j++) {\n var ja = jsf[0][j] | 0, jb = jsf[1][j] | 0;\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)], naf[b][j] = 0, wnd[a] = comb;\n }\n }\n var acc = this.jpoint(null, null, null), tmp = this._wnafT4;\n for (i = max;i >= 0; i--) {\n for (var k = 0;i >= 0; ) {\n var zero = !0;\n for (j = 0;j < len; j++)\n tmp[j] = naf[j][i] | 0, tmp[j] !== 0 && (zero = !1);\n if (!zero)\n break;\n k++, i--;\n }\n if (i >= 0 && k++, acc = acc.dblp(k), i < 0)\n break;\n for (j = 0;j < len; j++) {\n var z = tmp[j];\n z !== 0 && (z > 0 \? p = wnd[j][z - 1 >> 1] : z < 0 && (p = wnd[j][-z - 1 >> 1].neg()), p.type === \"affine\" \? acc = acc.mixedAdd(p) : acc = acc.add(p));\n }\n }\n for (i = 0;i < len; i++)\n wnd[i] = null;\n return jacobianResult \? acc : acc.toP();\n };\n function BasePoint(curve, type) {\n this.curve = curve, this.type = type, this.precomputed = null;\n }\n BasePoint.prototype = {}, BaseCurve.BasePoint = BasePoint, BasePoint.prototype.eq = function() {\n throw new Error(\"Not implemented\");\n }, BasePoint.prototype.validate = function() {\n return this.curve.validate(this);\n }, BaseCurve.prototype.decodePoint = function(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n var len = this.p.byteLength();\n if ((bytes[0] === 4 || bytes[0] === 6 || bytes[0] === 7) && bytes.length - 1 === 2 * len) {\n bytes[0] === 6 \? assert(bytes[bytes.length - 1] % 2 === 0) : bytes[0] === 7 && assert(bytes[bytes.length - 1] % 2 === 1);\n var res = this.point(bytes.slice(1, 1 + len), bytes.slice(1 + len, 1 + 2 * len));\n return res;\n } else if ((bytes[0] === 2 || bytes[0] === 3) && bytes.length - 1 === len)\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 3);\n throw new Error(\"Unknown point format\");\n }, BasePoint.prototype.encodeCompressed = function(enc) {\n return this.encode(enc, !0);\n }, BasePoint.prototype._encode = function(compact) {\n var len = this.curve.p.byteLength(), x = this.getX().toArray(\"be\", len);\n return compact \? [this.getY().isEven() \? 2 : 3].concat(x) : [4].concat(x, this.getY().toArray(\"be\", len));\n }, BasePoint.prototype.encode = function(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n }, BasePoint.prototype.precompute = function(power) {\n if (this.precomputed)\n return this;\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n return precomputed.naf = this._getNAFPoints(8), precomputed.doubles = this._getDoubles(4, power), precomputed.beta = this._getBeta(), this.precomputed = precomputed, this;\n }, BasePoint.prototype._hasDoubles = function(k) {\n if (!this.precomputed)\n return !1;\n var doubles = this.precomputed.doubles;\n return doubles \? doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step) : !1;\n }, BasePoint.prototype._getDoubles = function(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n for (var doubles = [this], acc = this, i = 0;i < power; i += step) {\n for (var j = 0;j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step,\n points: doubles\n };\n }, BasePoint.prototype._getNAFPoints = function(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n for (var res = [this], max = (1 << wnd) - 1, dbl = max === 1 \? null : this.dbl(), i = 1;i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd,\n points: res\n };\n }, BasePoint.prototype._getBeta = function() {\n return null;\n }, BasePoint.prototype.dblp = function(k) {\n for (var r = this, i = 0;i < k; i++)\n r = r.dbl();\n return r;\n };\n }\n}), require_short = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/short.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function ShortCurve(conf) {\n Base.@call(this, \"short\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.tinv = this.two.redInvm(), this.zeroA = this.a.fromRed().cmpn(0) === 0, this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0, this.endo = this._getEndomorphism(conf), this._endoWnafT1 = new @Array(4), this._endoWnafT2 = new @Array(4);\n }\n inherits(ShortCurve, Base), module.exports = ShortCurve, ShortCurve.prototype._getEndomorphism = function(conf) {\n if (!(!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)) {\n var beta, lambda;\n if (conf.beta)\n beta = new BN(conf.beta, 16).toRed(this.red);\n else {\n var betas = this._getEndoRoots(this.p);\n beta = betas[0].cmp(betas[1]) < 0 \? betas[0] : betas[1], beta = beta.toRed(this.red);\n }\n if (conf.lambda)\n lambda = new BN(conf.lambda, 16);\n else {\n var lambdas = this._getEndoRoots(this.n);\n this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0 \? lambda = lambdas[0] : (lambda = lambdas[1], assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0));\n }\n var basis;\n return conf.basis \? basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n }) : basis = this._getEndoBasis(lambda), {\n beta,\n lambda,\n basis\n };\n }\n }, ShortCurve.prototype._getEndoRoots = function(num) {\n var red = num === this.p \? this.red : BN.mont(num), tinv = new BN(2).toRed(red).redInvm(), ntinv = tinv.redNeg(), s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv), l1 = ntinv.redAdd(s).fromRed(), l2 = ntinv.redSub(s).fromRed();\n return [l1, l2];\n }, ShortCurve.prototype._getEndoBasis = function(lambda) {\n for (var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)), u = lambda, v = this.n.clone(), x1 = new BN(1), y1 = new BN(0), x2 = new BN(0), y2 = new BN(1), a0, b0, a1, b1, a2, b2, prevR, i = 0, r, x;u.cmpn(0) !== 0; ) {\n var q = v.div(u);\n r = v.sub(q.mul(u)), x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n if (!a1 && r.cmp(aprxSqrt) < 0)\n a0 = prevR.neg(), b0 = x1, a1 = r.neg(), b1 = x;\n else if (a1 && ++i === 2)\n break;\n prevR = r, v = u, u = r, x2 = x1, x1 = x, y2 = y1, y1 = y;\n }\n a2 = r.neg(), b2 = x;\n var len1 = a1.sqr().add(b1.sqr()), len2 = a2.sqr().add(b2.sqr());\n return len2.cmp(len1) >= 0 && (a2 = a0, b2 = b0), a1.negative && (a1 = a1.neg(), b1 = b1.neg()), a2.negative && (a2 = a2.neg(), b2 = b2.neg()), [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n }, ShortCurve.prototype._endoSplit = function(k) {\n var basis = this.endo.basis, v1 = basis[0], v2 = basis[1], c1 = v2.b.mul(k).divRound(this.n), c2 = v1.b.neg().mul(k).divRound(this.n), p1 = c1.mul(v1.a), p2 = c2.mul(v2.a), q1 = c1.mul(v1.b), q2 = c2.mul(v2.b), k1 = k.sub(p1).sub(p2), k2 = q1.add(q2).neg();\n return { k1, k2 };\n }, ShortCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, ShortCurve.prototype.validate = function(point) {\n if (point.inf)\n return !0;\n var { x, y } = point, ax = this.a.redMul(x), rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n }, ShortCurve.prototype._endoWnafMulAdd = function(points, coeffs, jacobianResult) {\n for (var npoints = this._endoWnafT1, ncoeffs = this._endoWnafT2, i = 0;i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]), p = points[i], beta = p._getBeta();\n split.k1.negative && (split.k1.ineg(), p = p.neg(!0)), split.k2.negative && (split.k2.ineg(), beta = beta.neg(!0)), npoints[i * 2] = p, npoints[i * 2 + 1] = beta, ncoeffs[i * 2] = split.k1, ncoeffs[i * 2 + 1] = split.k2;\n }\n for (var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult), j = 0;j < i * 2; j++)\n npoints[j] = null, ncoeffs[j] = null;\n return res;\n };\n function Point(curve, x, y, isRed) {\n Base.BasePoint.@call(this, curve, \"affine\"), x === null && y === null \? (this.x = null, this.y = null, this.inf = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), isRed && (this.x.forceRed(this.curve.red), this.y.forceRed(this.curve.red)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.inf = !1);\n }\n inherits(Point, Base.BasePoint), ShortCurve.prototype.point = function(x, y, isRed) {\n return new Point(this, x, y, isRed);\n }, ShortCurve.prototype.pointFromJSON = function(obj, red) {\n return Point.fromJSON(this, obj, red);\n }, Point.prototype._getBeta = function() {\n if (this.curve.endo) {\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve, endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta, beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n }\n }, Point.prototype.toJSON = function() {\n return this.precomputed \? [\n this.x,\n this.y,\n this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n }\n ] : [this.x, this.y];\n }, Point.fromJSON = function(curve, obj, red) {\n typeof obj == \"string\" && (obj = JSON.parse(obj));\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n function obj2point(obj2) {\n return curve.point(obj2[0], obj2[1], red);\n }\n var pre = obj[2];\n return res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [res].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [res].concat(pre.naf.points.map(obj2point))\n }\n }, res;\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.inf;\n }, Point.prototype.add = function(p) {\n if (this.inf)\n return p;\n if (p.inf)\n return this;\n if (this.eq(p))\n return this.dbl();\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n var c = this.y.redSub(p.y);\n c.cmpn(0) !== 0 && (c = c.redMul(this.x.redSub(p.x).redInvm()));\n var nx = c.redSqr().redISub(this.x).redISub(p.x), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.dbl = function() {\n if (this.inf)\n return this;\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n var a = this.curve.a, x2 = this.x.redSqr(), dyinv = ys1.redInvm(), c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv), nx = c.redSqr().redISub(this.x.redAdd(this.x)), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.getX = function() {\n return this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.y.fromRed();\n }, Point.prototype.mul = function(k) {\n return k = new BN(k, 16), this.isInfinity() \? this : this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve.endo \? this.curve._endoWnafMulAdd([this], [k]) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs) : this.curve._wnafMulAdd(1, points, coeffs, 2);\n }, Point.prototype.jmulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs, !0) : this.curve._wnafMulAdd(1, points, coeffs, 2, !0);\n }, Point.prototype.eq = function(p) {\n return this === p || this.inf === p.inf && (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n }, Point.prototype.neg = function(_precompute) {\n if (this.inf)\n return this;\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed, negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n }, Point.prototype.toJ = function() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n };\n function JPoint(curve, x, y, z) {\n Base.BasePoint.@call(this, curve, \"jacobian\"), x === null && y === null && z === null \? (this.x = this.curve.one, this.y = this.curve.one, this.z = new BN(0)) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = new BN(z, 16)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.zOne = this.z === this.curve.one;\n }\n inherits(JPoint, Base.BasePoint), ShortCurve.prototype.jpoint = function(x, y, z) {\n return new JPoint(this, x, y, z);\n }, JPoint.prototype.toP = function() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n var zinv = this.z.redInvm(), zinv2 = zinv.redSqr(), ax = this.x.redMul(zinv2), ay = this.y.redMul(zinv2).redMul(zinv);\n return this.curve.point(ax, ay);\n }, JPoint.prototype.neg = function() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n }, JPoint.prototype.add = function(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n var pz2 = p.z.redSqr(), z2 = this.z.redSqr(), u1 = this.x.redMul(pz2), u2 = p.x.redMul(z2), s1 = this.y.redMul(pz2.redMul(p.z)), s2 = p.y.redMul(z2.redMul(this.z)), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(p.z).redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mixedAdd = function(p) {\n if (this.isInfinity())\n return p.toJ();\n if (p.isInfinity())\n return this;\n var z2 = this.z.redSqr(), u1 = this.x, u2 = p.x.redMul(z2), s1 = this.y, s2 = p.y.redMul(z2).redMul(this.z), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.dblp = function(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0;i < pow; i++)\n r = r.dbl();\n return r;\n }\n var a = this.curve.a, tinv = this.curve.tinv, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jyd = jy.redAdd(jy);\n for (i = 0;i < pow; i++) {\n var jx2 = jx.redSqr(), jyd2 = jyd.redSqr(), jyd4 = jyd2.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), t1 = jx.redMul(jyd2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n i + 1 < pow && (jz4 = jz4.redMul(jyd4)), jx = nx, jz = nz, jyd = dny;\n }\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n }, JPoint.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.zeroA \? this._zeroDbl() : this.curve.threeA \? this._threeDbl() : this._dbl();\n }, JPoint.prototype._zeroDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx), t = m.redSqr().redISub(s).redISub(s), yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), nx = t, ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = b.redSqr(), d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n var e = a.redAdd(a).redIAdd(a), f = e.redSqr(), c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8), c8 = c8.redIAdd(c8), nx = f.redISub(d).redISub(d), ny = e.redMul(d.redISub(nx)).redISub(c8), nz = this.y.redMul(this.z), nz = nz.redIAdd(nz);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._threeDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a), t = m.redSqr().redISub(s).redISub(s);\n nx = t;\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var delta = this.z.redSqr(), gamma = this.y.redSqr(), beta = this.x.redMul(gamma), alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8), nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._dbl = function() {\n var a = this.curve.a, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jx2 = jx.redSqr(), jy2 = jy.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8), nz = jy.redAdd(jy).redMul(jz);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.trpl = function() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n var xx = this.x.redSqr(), yy = this.y.redSqr(), zz = this.z.redSqr(), yyyy = yy.redSqr(), m = xx.redAdd(xx).redIAdd(xx), mm = m.redSqr(), e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e), e = e.redAdd(e).redIAdd(e), e = e.redISub(mm);\n var ee = e.redSqr(), t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t), t = t.redIAdd(t), t = t.redIAdd(t);\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t), yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4), yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx), nx = nx.redIAdd(nx);\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny), ny = ny.redIAdd(ny), ny = ny.redIAdd(ny);\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mul = function(k, kbase) {\n return k = new BN(k, kbase), this.curve._wnafMul(this, k);\n }, JPoint.prototype.eq = function(p) {\n if (p.type === \"affine\")\n return this.eq(p.toJ());\n if (this === p)\n return !0;\n var z2 = this.z.redSqr(), pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return !1;\n var z3 = z2.redMul(this.z), pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n }, JPoint.prototype.eqXToP = function(x) {\n var zs = this.z.redSqr(), rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(zs);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, JPoint.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC JPoint Infinity>\" : \"<EC JPoint x: \" + this.x.toString(16, 2) + \" y: \" + this.y.toString(16, 2) + \" z: \" + this.z.toString(16, 2) + \">\";\n }, JPoint.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n };\n }\n}), require_mont = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/mont.js\"(exports, module) {\n var BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), utils = require_utils3();\n function MontCurve(conf) {\n Base.@call(this, \"mont\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.i4 = new BN(4).toRed(this.red).redInvm(), this.two = new BN(2).toRed(this.red), this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n }\n inherits(MontCurve, Base), module.exports = MontCurve, MontCurve.prototype.validate = function(point) {\n var x = point.normalize().x, x2 = x.redSqr(), rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x), y = rhs.redSqrt();\n return y.redSqr().cmp(rhs) === 0;\n };\n function Point(curve, x, z) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && z === null \? (this.x = this.curve.one, this.z = this.curve.zero) : (this.x = new BN(x, 16), this.z = new BN(z, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)));\n }\n inherits(Point, Base.BasePoint), MontCurve.prototype.decodePoint = function(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n }, MontCurve.prototype.point = function(x, z) {\n return new Point(this, x, z);\n }, MontCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, Point.prototype.precompute = function() {\n }, Point.prototype._encode = function() {\n return this.getX().toArray(\"be\", this.curve.p.byteLength());\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n }, Point.prototype.dbl = function() {\n var a = this.x.redAdd(this.z), aa = a.redSqr(), b = this.x.redSub(this.z), bb = b.redSqr(), c = aa.redSub(bb), nx = aa.redMul(bb), nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n }, Point.prototype.add = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.diffAdd = function(p, diff) {\n var a = this.x.redAdd(this.z), b = this.x.redSub(this.z), c = p.x.redAdd(p.z), d = p.x.redSub(p.z), da = d.redMul(a), cb = c.redMul(b), nx = diff.z.redMul(da.redAdd(cb).redSqr()), nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n }, Point.prototype.mul = function(k) {\n for (var t = k.clone(), a = this, b = this.curve.point(null, null), c = this, bits = [];t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n for (var i = bits.length - 1;i >= 0; i--)\n bits[i] === 0 \? (a = a.diffAdd(b, c), b = b.dbl()) : (b = a.diffAdd(b, c), a = a.dbl());\n return b;\n }, Point.prototype.mulAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.jumlAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.eq = function(other) {\n return this.getX().cmp(other.getX()) === 0;\n }, Point.prototype.normalize = function() {\n return this.x = this.x.redMul(this.z.redInvm()), this.z = this.curve.one, this;\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n };\n }\n}), require_edwards = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/edwards.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function EdwardsCurve(conf) {\n this.twisted = (conf.a | 0) !== 1, this.mOneA = this.twisted && (conf.a | 0) === -1, this.extended = this.mOneA, Base.@call(this, \"edwards\", conf), this.a = new BN(conf.a, 16).umod(this.red.m), this.a = this.a.toRed(this.red), this.c = new BN(conf.c, 16).toRed(this.red), this.c2 = this.c.redSqr(), this.d = new BN(conf.d, 16).toRed(this.red), this.dd = this.d.redAdd(this.d), assert(!this.twisted || this.c.fromRed().cmpn(1) === 0), this.oneC = (conf.c | 0) === 1;\n }\n inherits(EdwardsCurve, Base), module.exports = EdwardsCurve, EdwardsCurve.prototype._mulA = function(num) {\n return this.mOneA \? num.redNeg() : this.a.redMul(num);\n }, EdwardsCurve.prototype._mulC = function(num) {\n return this.oneC \? num : this.c.redMul(num);\n }, EdwardsCurve.prototype.jpoint = function(x, y, z, t) {\n return this.point(x, y, z, t);\n }, EdwardsCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var x2 = x.redSqr(), rhs = this.c2.redSub(this.a.redMul(x2)), lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)), y2 = rhs.redMul(lhs.redInvm()), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.pointFromY = function(y, odd) {\n y = new BN(y, 16), y.red || (y = y.toRed(this.red));\n var y2 = y.redSqr(), lhs = y2.redSub(this.c2), rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a), x2 = lhs.redMul(rhs.redInvm());\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error(\"invalid point\");\n return this.point(this.zero, y);\n }\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n return x.fromRed().isOdd() !== odd && (x = x.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.validate = function(point) {\n if (point.isInfinity())\n return !0;\n point.normalize();\n var x2 = point.x.redSqr(), y2 = point.y.redSqr(), lhs = x2.redMul(this.a).redAdd(y2), rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n return lhs.cmp(rhs) === 0;\n };\n function Point(curve, x, y, z, t) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && y === null && z === null \? (this.x = this.curve.zero, this.y = this.curve.one, this.z = this.curve.one, this.t = this.curve.zero, this.zOne = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = z \? new BN(z, 16) : this.curve.one, this.t = t && new BN(t, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.t && !this.t.red && (this.t = this.t.toRed(this.curve.red)), this.zOne = this.z === this.curve.one, this.curve.extended && !this.t && (this.t = this.x.redMul(this.y), this.zOne || (this.t = this.t.redMul(this.z.redInvm()))));\n }\n inherits(Point, Base.BasePoint), EdwardsCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, EdwardsCurve.prototype.point = function(x, y, z, t) {\n return new Point(this, x, y, z, t);\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.x.cmpn(0) === 0 && (this.y.cmp(this.z) === 0 || this.zOne && this.y.cmp(this.curve.c) === 0);\n }, Point.prototype._extDbl = function() {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = this.z.redSqr();\n c = c.redIAdd(c);\n var d = this.curve._mulA(a), e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b), g = d.redAdd(b), f = g.redSub(c), h = d.redSub(b), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projDbl = function() {\n var b = this.x.redAdd(this.y).redSqr(), c = this.x.redSqr(), d = this.y.redSqr(), nx, ny, nz, e, h, j;\n if (this.curve.twisted) {\n e = this.curve._mulA(c);\n var f = e.redAdd(d);\n this.zOne \? (nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)), ny = f.redMul(e.redSub(d)), nz = f.redSqr().redSub(f).redSub(f)) : (h = this.z.redSqr(), j = f.redSub(h).redISub(h), nx = b.redSub(c).redISub(d).redMul(j), ny = f.redMul(e.redSub(d)), nz = f.redMul(j));\n } else\n e = c.redAdd(d), h = this.curve._mulC(this.z).redSqr(), j = e.redSub(h).redSub(h), nx = this.curve._mulC(b.redISub(e)).redMul(j), ny = this.curve._mulC(e).redMul(c.redISub(d)), nz = e.redMul(j);\n return this.curve.point(nx, ny, nz);\n }, Point.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.extended \? this._extDbl() : this._projDbl();\n }, Point.prototype._extAdd = function(p) {\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)), b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)), c = this.t.redMul(this.curve.dd).redMul(p.t), d = this.z.redMul(p.z.redAdd(p.z)), e = b.redSub(a), f = d.redSub(c), g = d.redAdd(c), h = b.redAdd(a), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projAdd = function(p) {\n var a = this.z.redMul(p.z), b = a.redSqr(), c = this.x.redMul(p.x), d = this.y.redMul(p.y), e = this.curve.d.redMul(c).redMul(d), f = b.redSub(e), g = b.redAdd(e), tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d), nx = a.redMul(f).redMul(tmp), ny, nz;\n return this.curve.twisted \? (ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))), nz = f.redMul(g)) : (ny = a.redMul(g).redMul(d.redSub(c)), nz = this.curve._mulC(f).redMul(g)), this.curve.point(nx, ny, nz);\n }, Point.prototype.add = function(p) {\n return this.isInfinity() \? p : p.isInfinity() \? this : this.curve.extended \? this._extAdd(p) : this._projAdd(p);\n }, Point.prototype.mul = function(k) {\n return this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !1);\n }, Point.prototype.jmulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !0);\n }, Point.prototype.normalize = function() {\n if (this.zOne)\n return this;\n var zi = this.z.redInvm();\n return this.x = this.x.redMul(zi), this.y = this.y.redMul(zi), this.t && (this.t = this.t.redMul(zi)), this.z = this.curve.one, this.zOne = !0, this;\n }, Point.prototype.neg = function() {\n return this.curve.point(this.x.redNeg(), this.y, this.z, this.t && this.t.redNeg());\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.normalize(), this.y.fromRed();\n }, Point.prototype.eq = function(other) {\n return this === other || this.getX().cmp(other.getX()) === 0 && this.getY().cmp(other.getY()) === 0;\n }, Point.prototype.eqXToP = function(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(this.z);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, Point.prototype.toP = Point.prototype.normalize, Point.prototype.mixedAdd = Point.prototype.add;\n }\n}), require_curve = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/index.js\"(exports) {\n var curve = exports;\n curve.base = require_base(), curve.short = require_short(), curve.mont = require_mont(), curve.edwards = require_edwards();\n }\n}), require_utils4 = __commonJS({\n \"node_modules/hash.js/lib/hash/utils.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser();\n exports.inherits = inherits;\n function isSurrogatePair(msg, i) {\n return (msg.charCodeAt(i) & 64512) !== 55296 || i < 0 || i + 1 >= msg.length \? !1 : (msg.charCodeAt(i + 1) & 64512) === 56320;\n }\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg == \"string\")\n if (enc) {\n if (enc === \"hex\")\n for (msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg), i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var p = 0, i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n c < 128 \? res[p++] = c : c < 2048 \? (res[p++] = c >> 6 | 192, res[p++] = c & 63 | 128) : isSurrogatePair(msg, i) \? (c = 65536 + ((c & 1023) << 10) + (msg.charCodeAt(++i) & 1023), res[p++] = c >> 18 | 240, res[p++] = c >> 12 & 63 | 128, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128) : (res[p++] = c >> 12 | 224, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128);\n }\n else\n for (i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n exports.toArray = toArray;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n exports.toHex = toHex;\n function htonl(w) {\n var res = w >>> 24 | w >>> 8 & 65280 | w << 8 & 16711680 | (w & 255) << 24;\n return res >>> 0;\n }\n exports.htonl = htonl;\n function toHex32(msg, endian) {\n for (var res = \"\", i = 0;i < msg.length; i++) {\n var w = msg[i];\n endian === \"little\" && (w = htonl(w)), res += zero8(w.toString(16));\n }\n return res;\n }\n exports.toHex32 = toHex32;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n exports.zero2 = zero2;\n function zero8(word) {\n return word.length === 7 \? \"0\" + word : word.length === 6 \? \"00\" + word : word.length === 5 \? \"000\" + word : word.length === 4 \? \"0000\" + word : word.length === 3 \? \"00000\" + word : word.length === 2 \? \"000000\" + word : word.length === 1 \? \"0000000\" + word : word;\n }\n exports.zero8 = zero8;\n function join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n for (var res = new @Array(len / 4), i = 0, k = start;i < res.length; i++, k += 4) {\n var w;\n endian === \"big\" \? w = msg[k] << 24 | msg[k + 1] << 16 | msg[k + 2] << 8 | msg[k + 3] : w = msg[k + 3] << 24 | msg[k + 2] << 16 | msg[k + 1] << 8 | msg[k], res[i] = w >>> 0;\n }\n return res;\n }\n exports.join32 = join32;\n function split32(msg, endian) {\n for (var res = new @Array(msg.length * 4), i = 0, k = 0;i < msg.length; i++, k += 4) {\n var m = msg[i];\n endian === \"big\" \? (res[k] = m >>> 24, res[k + 1] = m >>> 16 & 255, res[k + 2] = m >>> 8 & 255, res[k + 3] = m & 255) : (res[k + 3] = m >>> 24, res[k + 2] = m >>> 16 & 255, res[k + 1] = m >>> 8 & 255, res[k] = m & 255);\n }\n return res;\n }\n exports.split32 = split32;\n function rotr32(w, b) {\n return w >>> b | w << 32 - b;\n }\n exports.rotr32 = rotr32;\n function rotl32(w, b) {\n return w << b | w >>> 32 - b;\n }\n exports.rotl32 = rotl32;\n function sum32(a, b) {\n return a + b >>> 0;\n }\n exports.sum32 = sum32;\n function sum32_3(a, b, c) {\n return a + b + c >>> 0;\n }\n exports.sum32_3 = sum32_3;\n function sum32_4(a, b, c, d) {\n return a + b + c + d >>> 0;\n }\n exports.sum32_4 = sum32_4;\n function sum32_5(a, b, c, d, e) {\n return a + b + c + d + e >>> 0;\n }\n exports.sum32_5 = sum32_5;\n function sum64(buf, pos, ah, al) {\n var bh = buf[pos], bl = buf[pos + 1], lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0, buf[pos + 1] = lo;\n }\n exports.sum64 = sum64;\n function sum64_hi(ah, al, bh, bl) {\n var lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n return hi >>> 0;\n }\n exports.sum64_hi = sum64_hi;\n function sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n }\n exports.sum64_lo = sum64_lo;\n function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0;\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n }\n exports.sum64_4_hi = sum64_4_hi;\n function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n }\n exports.sum64_4_lo = sum64_4_lo;\n function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0, lo = lo + el >>> 0, carry += lo < el \? 1 : 0;\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n }\n exports.sum64_5_hi = sum64_5_hi;\n function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n return lo >>> 0;\n }\n exports.sum64_5_lo = sum64_5_lo;\n function rotr64_hi(ah, al, num) {\n var r = al << 32 - num | ah >>> num;\n return r >>> 0;\n }\n exports.rotr64_hi = rotr64_hi;\n function rotr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.rotr64_lo = rotr64_lo;\n function shr64_hi(ah, al, num) {\n return ah >>> num;\n }\n exports.shr64_hi = shr64_hi;\n function shr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.shr64_lo = shr64_lo;\n }\n}), require_common = __commonJS({\n \"node_modules/hash.js/lib/hash/common.js\"(exports) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function BlockHash() {\n this.pending = null, this.pendingTotal = 0, this.blockSize = this.constructor.blockSize, this.outSize = this.constructor.outSize, this.hmacStrength = this.constructor.hmacStrength, this.padLength = this.constructor.padLength / 8, this.endian = \"big\", this._delta8 = this.blockSize / 8, this._delta32 = this.blockSize / 32;\n }\n BlockHash.prototype = {}, exports.BlockHash = BlockHash, BlockHash.prototype.update = function(msg, enc) {\n if (msg = utils.toArray(msg, enc), this.pending \? this.pending = this.pending.concat(msg) : this.pending = msg, this.pendingTotal += msg.length, this.pending.length >= this._delta8) {\n msg = this.pending;\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length), this.pending.length === 0 && (this.pending = null), msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0;i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n return this;\n }, BlockHash.prototype.digest = function(enc) {\n return this.update(this._pad()), assert(this.pending === null), this._digest(enc);\n }, BlockHash.prototype._pad = function() {\n var len = this.pendingTotal, bytes = this._delta8, k = bytes - (len + this.padLength) % bytes, res = new @Array(k + this.padLength);\n res[0] = 128;\n for (var i = 1;i < k; i++)\n res[i] = 0;\n if (len <<= 3, this.endian === \"big\") {\n for (var t = 8;t < this.padLength; t++)\n res[i++] = 0;\n res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = len >>> 24 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 8 & 255, res[i++] = len & 255;\n } else\n for (res[i++] = len & 255, res[i++] = len >>> 8 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 24 & 255, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, t = 8;t < this.padLength; t++)\n res[i++] = 0;\n return res;\n };\n }\n}), require_common2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/common.js\"(exports) {\n var utils = require_utils4(), rotr32 = utils.rotr32;\n function ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n }\n exports.ft_1 = ft_1;\n function ch32(x, y, z) {\n return x & y ^ ~x & z;\n }\n exports.ch32 = ch32;\n function maj32(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n exports.maj32 = maj32;\n function p32(x, y, z) {\n return x ^ y ^ z;\n }\n exports.p32 = p32;\n function s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n }\n exports.s0_256 = s0_256;\n function s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n }\n exports.s1_256 = s1_256;\n function g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ x >>> 3;\n }\n exports.g0_256 = g0_256;\n function g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ x >>> 10;\n }\n exports.g1_256 = g1_256;\n }\n}), require__ = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/1.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_5 = utils.sum32_5, ft_1 = shaCommon.ft_1, BlockHash = common.BlockHash, sha1_K = [1518500249, 1859775393, 2400959708, 3395469782];\n function SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.W = new @Array(80);\n }\n utils.inherits(SHA1, BlockHash), module.exports = SHA1, SHA1.blockSize = 512, SHA1.outSize = 160, SHA1.hmacStrength = 80, SHA1.padLength = 64, SHA1.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4];\n for (i = 0;i < W.length; i++) {\n var s = ~~(i / 20), t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d, d = c, c = rotl32(b, 30), b = a, a = t;\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e);\n }, SHA1.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/256.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), assert = require_minimalistic_assert(), sum32 = utils.sum32, sum32_4 = utils.sum32_4, sum32_5 = utils.sum32_5, ch32 = shaCommon.ch32, maj32 = shaCommon.maj32, s0_256 = shaCommon.s0_256, s1_256 = shaCommon.s1_256, g0_256 = shaCommon.g0_256, g1_256 = shaCommon.g1_256, BlockHash = common.BlockHash, sha256_K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ];\n function SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256;\n BlockHash.@call(this), this.h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.k = sha256_K, this.W = new @Array(64);\n }\n utils.inherits(SHA256, BlockHash), module.exports = SHA256, SHA256.blockSize = 512, SHA256.outSize = 256, SHA256.hmacStrength = 192, SHA256.padLength = 64, SHA256.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4], f = this.h[5], g = this.h[6], h = this.h[7];\n for (assert(this.k.length === W.length), i = 0;i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]), T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g, g = f, f = e, e = sum32(d, T1), d = c, c = b, b = a, a = sum32(T1, T2);\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e), this.h[5] = sum32(this.h[5], f), this.h[6] = sum32(this.h[6], g), this.h[7] = sum32(this.h[7], h);\n }, SHA256.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/224.js\"(exports, module) {\n var utils = require_utils4(), SHA256 = require__2();\n function SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224;\n SHA256.@call(this), this.h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n }\n utils.inherits(SHA224, SHA256), module.exports = SHA224, SHA224.blockSize = 512, SHA224.outSize = 224, SHA224.hmacStrength = 192, SHA224.padLength = 64, SHA224.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 7), \"big\") : utils.split32(this.h.slice(0, 7), \"big\");\n };\n }\n}), require__4 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/512.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), assert = require_minimalistic_assert(), rotr64_hi = utils.rotr64_hi, rotr64_lo = utils.rotr64_lo, shr64_hi = utils.shr64_hi, shr64_lo = utils.shr64_lo, sum64 = utils.sum64, sum64_hi = utils.sum64_hi, sum64_lo = utils.sum64_lo, sum64_4_hi = utils.sum64_4_hi, sum64_4_lo = utils.sum64_4_lo, sum64_5_hi = utils.sum64_5_hi, sum64_5_lo = utils.sum64_5_lo, BlockHash = common.BlockHash, sha512_K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ];\n function SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512;\n BlockHash.@call(this), this.h = [\n 1779033703,\n 4089235720,\n 3144134277,\n 2227873595,\n 1013904242,\n 4271175723,\n 2773480762,\n 1595750129,\n 1359893119,\n 2917565137,\n 2600822924,\n 725511199,\n 528734635,\n 4215389547,\n 1541459225,\n 327033209\n ], this.k = sha512_K, this.W = new @Array(160);\n }\n utils.inherits(SHA512, BlockHash), module.exports = SHA512, SHA512.blockSize = 1024, SHA512.outSize = 512, SHA512.hmacStrength = 192, SHA512.padLength = 128, SHA512.prototype._prepareBlock = function(msg, start) {\n for (var W = this.W, i = 0;i < 32; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]), c0_lo = g1_512_lo(W[i - 4], W[i - 3]), c1_hi = W[i - 14], c1_lo = W[i - 13], c2_hi = g0_512_hi(W[i - 30], W[i - 29]), c2_lo = g0_512_lo(W[i - 30], W[i - 29]), c3_hi = W[i - 32], c3_lo = W[i - 31];\n W[i] = sum64_4_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo), W[i + 1] = sum64_4_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);\n }\n }, SHA512.prototype._update = function(msg, start) {\n this._prepareBlock(msg, start);\n var W = this.W, ah = this.h[0], al = this.h[1], bh = this.h[2], bl = this.h[3], ch = this.h[4], cl = this.h[5], dh = this.h[6], dl = this.h[7], eh = this.h[8], el = this.h[9], fh = this.h[10], fl = this.h[11], gh = this.h[12], gl = this.h[13], hh = this.h[14], hl = this.h[15];\n assert(this.k.length === W.length);\n for (var i = 0;i < W.length; i += 2) {\n var c0_hi = hh, c0_lo = hl, c1_hi = s1_512_hi(eh, el), c1_lo = s1_512_lo(eh, el), c2_hi = ch64_hi(eh, el, fh, fl, gh, gl), c2_lo = ch64_lo(eh, el, fh, fl, gh, gl), c3_hi = this.k[i], c3_lo = this.k[i + 1], c4_hi = W[i], c4_lo = W[i + 1], T1_hi = sum64_5_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo), T1_lo = sum64_5_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);\n c0_hi = s0_512_hi(ah, al), c0_lo = s0_512_lo(ah, al), c1_hi = maj64_hi(ah, al, bh, bl, ch, cl), c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo), T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, eh = sum64_hi(dh, dl, T1_hi, T1_lo), el = sum64_lo(dl, dl, T1_hi, T1_lo), dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo), al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n sum64(this.h, 0, ah, al), sum64(this.h, 2, bh, bl), sum64(this.h, 4, ch, cl), sum64(this.h, 6, dh, dl), sum64(this.h, 8, eh, el), sum64(this.h, 10, fh, fl), sum64(this.h, 12, gh, gl), sum64(this.h, 14, hh, hl);\n }, SHA512.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n function ch64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ ~xh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ ~xl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ xh & zh ^ yh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ xl & zl ^ yl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28), c1_hi = rotr64_hi(xl, xh, 2), c2_hi = rotr64_hi(xl, xh, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28), c1_lo = rotr64_lo(xl, xh, 2), c2_lo = rotr64_lo(xl, xh, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14), c1_hi = rotr64_hi(xh, xl, 18), c2_hi = rotr64_hi(xl, xh, 9), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14), c1_lo = rotr64_lo(xh, xl, 18), c2_lo = rotr64_lo(xl, xh, 9), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1), c1_hi = rotr64_hi(xh, xl, 8), c2_hi = shr64_hi(xh, xl, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1), c1_lo = rotr64_lo(xh, xl, 8), c2_lo = shr64_lo(xh, xl, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19), c1_hi = rotr64_hi(xl, xh, 29), c2_hi = shr64_hi(xh, xl, 6), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19), c1_lo = rotr64_lo(xl, xh, 29), c2_lo = shr64_lo(xh, xl, 6), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n }\n}), require__5 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/384.js\"(exports, module) {\n var utils = require_utils4(), SHA512 = require__4();\n function SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384;\n SHA512.@call(this), this.h = [\n 3418070365,\n 3238371032,\n 1654270250,\n 914150663,\n 2438529370,\n 812702999,\n 355462360,\n 4144912697,\n 1731405415,\n 4290775857,\n 2394180231,\n 1750603025,\n 3675008525,\n 1694076839,\n 1203062813,\n 3204075428\n ];\n }\n utils.inherits(SHA384, SHA512), module.exports = SHA384, SHA384.blockSize = 1024, SHA384.outSize = 384, SHA384.hmacStrength = 192, SHA384.padLength = 128, SHA384.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 12), \"big\") : utils.split32(this.h.slice(0, 12), \"big\");\n };\n }\n}), require_sha3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha.js\"(exports) {\n exports.sha1 = require__(), exports.sha224 = require__3(), exports.sha256 = require__2(), exports.sha384 = require__5(), exports.sha512 = require__4();\n }\n}), require_ripemd = __commonJS({\n \"node_modules/hash.js/lib/hash/ripemd.js\"(exports) {\n var utils = require_utils4(), common = require_common(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_3 = utils.sum32_3, sum32_4 = utils.sum32_4, BlockHash = common.BlockHash;\n function RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.endian = \"little\";\n }\n utils.inherits(RIPEMD160, BlockHash), exports.ripemd160 = RIPEMD160, RIPEMD160.blockSize = 512, RIPEMD160.outSize = 160, RIPEMD160.hmacStrength = 192, RIPEMD160.padLength = 64, RIPEMD160.prototype._update = function(msg, start) {\n for (var A = this.h[0], B = this.h[1], C = this.h[2], D = this.h[3], E = this.h[4], Ah = A, Bh = B, Ch = C, Dh = D, Eh = E, j = 0;j < 80; j++) {\n var T = sum32(rotl32(sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), s[j]), E);\n A = E, E = D, D = rotl32(C, 10), C = B, B = T, T = sum32(rotl32(sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), sh[j]), Eh), Ah = Eh, Eh = Dh, Dh = rotl32(Ch, 10), Ch = Bh, Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh), this.h[1] = sum32_3(this.h[2], D, Eh), this.h[2] = sum32_3(this.h[3], E, Ah), this.h[3] = sum32_3(this.h[4], A, Bh), this.h[4] = sum32_3(this.h[0], B, Ch), this.h[0] = T;\n }, RIPEMD160.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"little\") : utils.split32(this.h, \"little\");\n };\n function f(j, x, y, z) {\n return j <= 15 \? x ^ y ^ z : j <= 31 \? x & y | ~x & z : j <= 47 \? (x | ~y) ^ z : j <= 63 \? x & z | y & ~z : x ^ (y | ~z);\n }\n function K(j) {\n return j <= 15 \? 0 : j <= 31 \? 1518500249 : j <= 47 \? 1859775393 : j <= 63 \? 2400959708 : 2840853838;\n }\n function Kh(j) {\n return j <= 15 \? 1352829926 : j <= 31 \? 1548603684 : j <= 47 \? 1836072691 : j <= 63 \? 2053994217 : 0;\n }\n var r = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], rh = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], s = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sh = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ];\n }\n}), require_hmac = __commonJS({\n \"node_modules/hash.js/lib/hash/hmac.js\"(exports, module) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function Hmac(hash, key2, enc) {\n if (key2 = exportIfKeyObject(key2), !(this instanceof Hmac))\n return new Hmac(hash, key2, enc);\n this.Hash = hash, this.blockSize = hash.blockSize / 8, this.outSize = hash.outSize / 8, this.inner = null, this.outer = null, this._init(utils.toArray(key2, enc));\n }\n Hmac.prototype = {}, module.exports = Hmac, Hmac.prototype._init = function(key2) {\n key2.length > this.blockSize && (key2 = new this.Hash().update(key2).digest()), assert(key2.length <= this.blockSize);\n for (var i = key2.length;i < this.blockSize; i++)\n key2.push(0);\n for (i = 0;i < key2.length; i++)\n key2[i] ^= 54;\n for (this.inner = new this.Hash().update(key2), i = 0;i < key2.length; i++)\n key2[i] ^= 106;\n this.outer = new this.Hash().update(key2);\n }, Hmac.prototype.update = function(msg, enc) {\n return this.inner.update(msg, enc), this;\n }, Hmac.prototype.digest = function(enc) {\n return this.outer.update(this.inner.digest()), this.outer.digest(enc);\n };\n }\n}), require_hash2 = __commonJS({\n \"node_modules/hash.js/lib/hash.js\"(exports) {\n var hash = exports;\n hash.utils = require_utils4(), hash.common = require_common(), hash.sha = require_sha3(), hash.ripemd = require_ripemd(), hash.hmac = require_hmac(), hash.sha1 = hash.sha.sha1, hash.sha256 = hash.sha.sha256, hash.sha224 = hash.sha.sha224, hash.sha384 = hash.sha.sha384, hash.sha512 = hash.sha.sha512, hash.ripemd160 = hash.ripemd.ripemd160;\n }\n}), require_secp256k1 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\"(exports, module) {\n module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n \"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\n \"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"\n ],\n [\n \"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\n \"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"\n ],\n [\n \"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\n \"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"\n ],\n [\n \"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\n \"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"\n ],\n [\n \"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\n \"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"\n ],\n [\n \"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\n \"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"\n ],\n [\n \"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\n \"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"\n ],\n [\n \"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\n \"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"\n ],\n [\n \"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\n \"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"\n ],\n [\n \"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\n \"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"\n ],\n [\n \"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\n \"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"\n ],\n [\n \"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\n \"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"\n ],\n [\n \"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\n \"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"\n ],\n [\n \"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\n \"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"\n ],\n [\n \"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\n \"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"\n ],\n [\n \"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\n \"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"\n ],\n [\n \"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\n \"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"\n ],\n [\n \"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\n \"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"\n ],\n [\n \"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\n \"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"\n ],\n [\n \"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\n \"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"\n ],\n [\n \"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\n \"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"\n ],\n [\n \"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\n \"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"\n ],\n [\n \"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\n \"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"\n ],\n [\n \"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\n \"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"\n ],\n [\n \"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\n \"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"\n ],\n [\n \"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\n \"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"\n ],\n [\n \"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\n \"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"\n ],\n [\n \"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\n \"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"\n ],\n [\n \"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\n \"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"\n ],\n [\n \"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\n \"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"\n ],\n [\n \"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\n \"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"\n ],\n [\n \"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\n \"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"\n ],\n [\n \"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\n \"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"\n ],\n [\n \"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\n \"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"\n ],\n [\n \"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\n \"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"\n ],\n [\n \"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\n \"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"\n ],\n [\n \"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\n \"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"\n ],\n [\n \"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\n \"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"\n ],\n [\n \"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\n \"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"\n ],\n [\n \"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\n \"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"\n ],\n [\n \"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\n \"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"\n ],\n [\n \"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\n \"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"\n ],\n [\n \"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\n \"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"\n ],\n [\n \"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\n \"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"\n ],\n [\n \"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\n \"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"\n ],\n [\n \"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\n \"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"\n ],\n [\n \"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\n \"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"\n ],\n [\n \"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\n \"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"\n ],\n [\n \"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\n \"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"\n ],\n [\n \"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\n \"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"\n ],\n [\n \"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\n \"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"\n ],\n [\n \"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\n \"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"\n ],\n [\n \"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\n \"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"\n ],\n [\n \"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\n \"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"\n ],\n [\n \"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\n \"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"\n ],\n [\n \"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\n \"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"\n ],\n [\n \"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\n \"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"\n ],\n [\n \"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\n \"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"\n ],\n [\n \"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\n \"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"\n ],\n [\n \"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\n \"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"\n ],\n [\n \"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\n \"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"\n ],\n [\n \"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\n \"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"\n ],\n [\n \"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\n \"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"\n ],\n [\n \"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\n \"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"\n ],\n [\n \"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\n \"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n \"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\n \"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"\n ],\n [\n \"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\n \"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"\n ],\n [\n \"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\n \"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"\n ],\n [\n \"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\n \"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"\n ],\n [\n \"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\n \"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"\n ],\n [\n \"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\n \"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"\n ],\n [\n \"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\n \"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"\n ],\n [\n \"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\n \"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"\n ],\n [\n \"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\n \"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"\n ],\n [\n \"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\n \"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"\n ],\n [\n \"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\n \"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"\n ],\n [\n \"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\n \"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"\n ],\n [\n \"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\n \"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"\n ],\n [\n \"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\n \"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"\n ],\n [\n \"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\n \"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"\n ],\n [\n \"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\n \"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"\n ],\n [\n \"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\n \"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"\n ],\n [\n \"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\n \"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"\n ],\n [\n \"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\n \"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"\n ],\n [\n \"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\n \"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"\n ],\n [\n \"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\n \"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"\n ],\n [\n \"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\n \"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"\n ],\n [\n \"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\n \"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"\n ],\n [\n \"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\n \"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"\n ],\n [\n \"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\n \"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"\n ],\n [\n \"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\n \"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"\n ],\n [\n \"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\n \"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"\n ],\n [\n \"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\n \"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"\n ],\n [\n \"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\n \"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"\n ],\n [\n \"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\n \"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"\n ],\n [\n \"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\n \"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"\n ],\n [\n \"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\n \"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"\n ],\n [\n \"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\n \"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"\n ],\n [\n \"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\n \"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"\n ],\n [\n \"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\n \"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"\n ],\n [\n \"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\n \"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"\n ],\n [\n \"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\n \"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"\n ],\n [\n \"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\n \"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"\n ],\n [\n \"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\n \"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"\n ],\n [\n \"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\n \"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"\n ],\n [\n \"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\n \"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"\n ],\n [\n \"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\n \"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"\n ],\n [\n \"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\n \"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"\n ],\n [\n \"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\n \"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"\n ],\n [\n \"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\n \"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"\n ],\n [\n \"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\n \"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"\n ],\n [\n \"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\n \"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"\n ],\n [\n \"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\n \"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"\n ],\n [\n \"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\n \"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"\n ],\n [\n \"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\n \"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"\n ],\n [\n \"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\n \"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"\n ],\n [\n \"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\n \"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"\n ],\n [\n \"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\n \"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"\n ],\n [\n \"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\n \"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"\n ],\n [\n \"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\n \"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"\n ],\n [\n \"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\n \"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"\n ],\n [\n \"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\n \"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"\n ],\n [\n \"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\n \"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"\n ],\n [\n \"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\n \"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"\n ],\n [\n \"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\n \"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"\n ],\n [\n \"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\n \"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"\n ],\n [\n \"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\n \"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"\n ],\n [\n \"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\n \"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"\n ],\n [\n \"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\n \"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"\n ],\n [\n \"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\n \"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"\n ],\n [\n \"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\n \"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"\n ],\n [\n \"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\n \"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"\n ],\n [\n \"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\n \"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"\n ],\n [\n \"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\n \"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"\n ],\n [\n \"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\n \"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"\n ],\n [\n \"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\n \"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"\n ],\n [\n \"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\n \"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"\n ],\n [\n \"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\n \"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"\n ],\n [\n \"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\n \"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"\n ],\n [\n \"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\n \"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"\n ],\n [\n \"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\n \"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"\n ],\n [\n \"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\n \"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"\n ],\n [\n \"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\n \"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"\n ],\n [\n \"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\n \"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"\n ],\n [\n \"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\n \"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"\n ],\n [\n \"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\n \"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"\n ],\n [\n \"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\n \"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"\n ],\n [\n \"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\n \"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"\n ],\n [\n \"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\n \"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"\n ],\n [\n \"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\n \"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"\n ],\n [\n \"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\n \"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"\n ],\n [\n \"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\n \"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"\n ],\n [\n \"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\n \"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"\n ],\n [\n \"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\n \"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"\n ],\n [\n \"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\n \"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"\n ],\n [\n \"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\n \"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"\n ],\n [\n \"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\n \"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"\n ],\n [\n \"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\n \"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"\n ],\n [\n \"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\n \"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"\n ],\n [\n \"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\n \"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"\n ],\n [\n \"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\n \"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"\n ],\n [\n \"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\n \"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"\n ],\n [\n \"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\n \"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"\n ],\n [\n \"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\n \"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"\n ],\n [\n \"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\n \"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"\n ],\n [\n \"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\n \"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"\n ],\n [\n \"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\n \"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"\n ],\n [\n \"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\n \"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"\n ],\n [\n \"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\n \"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"\n ],\n [\n \"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\n \"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"\n ],\n [\n \"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\n \"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"\n ],\n [\n \"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\n \"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"\n ],\n [\n \"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\n \"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"\n ],\n [\n \"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\n \"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"\n ],\n [\n \"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\n \"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"\n ],\n [\n \"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\n \"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"\n ],\n [\n \"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\n \"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"\n ],\n [\n \"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\n \"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"\n ],\n [\n \"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\n \"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"\n ],\n [\n \"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\n \"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"\n ],\n [\n \"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\n \"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"\n ],\n [\n \"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\n \"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"\n ],\n [\n \"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\n \"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"\n ],\n [\n \"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\n \"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"\n ],\n [\n \"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\n \"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"\n ],\n [\n \"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\n \"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"\n ],\n [\n \"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\n \"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"\n ],\n [\n \"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\n \"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"\n ],\n [\n \"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\n \"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"\n ],\n [\n \"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\n \"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"\n ],\n [\n \"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\n \"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"\n ],\n [\n \"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\n \"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"\n ]\n ]\n }\n };\n }\n}), require_curves = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curves.js\"(exports) {\n var curves = exports, hash = require_hash2(), curve = require_curve(), utils = require_utils3(), assert = utils.assert;\n function PresetCurve(options) {\n options.type === \"short\" \? this.curve = new curve.short(options) : options.type === \"edwards\" \? this.curve = new curve.edwards(options) : this.curve = new curve.mont(options), this.g = this.curve.g, this.n = this.curve.n, this.hash = options.hash, assert(this.g.validate(), \"Invalid curve\"), assert(this.g.mul(this.n).isInfinity(), \"Invalid curve, G*N != O\");\n }\n PresetCurve.prototype = {}, curves.PresetCurve = PresetCurve;\n function defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n var curve2 = new PresetCurve(options);\n return Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n value: curve2\n }), curve2;\n }\n });\n }\n defineCurve(\"p192\", {\n type: \"short\",\n prime: \"p192\",\n p: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",\n b: \"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",\n n: \"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\n \"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"\n ]\n }), defineCurve(\"p224\", {\n type: \"short\",\n prime: \"p224\",\n p: \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",\n b: \"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",\n n: \"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\n \"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"\n ]\n }), defineCurve(\"p256\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",\n a: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",\n b: \"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",\n n: \"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\n \"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"\n ]\n }), defineCurve(\"p384\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",\n a: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",\n b: \"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",\n n: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",\n hash: hash.sha384,\n gRed: !1,\n g: [\n \"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\n \"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"\n ]\n }), defineCurve(\"p521\", {\n type: \"short\",\n prime: null,\n p: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",\n a: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",\n b: \"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",\n n: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",\n hash: hash.sha512,\n gRed: !1,\n g: [\n \"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\n \"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"\n ]\n }), defineCurve(\"curve25519\", {\n type: \"mont\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"76d06\",\n b: \"1\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\"9\"]\n }), defineCurve(\"ed25519\", {\n type: \"edwards\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"-1\",\n c: \"1\",\n d: \"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\n \"6666666666666666666666666666666666666666666666666666666666666658\"\n ]\n });\n var pre;\n try {\n pre = require_secp256k1();\n } catch {\n pre = void 0;\n }\n defineCurve(\"secp256k1\", {\n type: \"short\",\n prime: \"k256\",\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",\n a: \"0\",\n b: \"7\",\n n: \"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",\n h: \"1\",\n hash: hash.sha256,\n beta: \"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",\n lambda: \"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",\n basis: [\n {\n a: \"3086d221a7d46bcde86c90e49284eb15\",\n b: \"-e4437ed6010e88286f547fa90abfe4c3\"\n },\n {\n a: \"114ca50f7a8e2f3f657c1108d9d44cfd8\",\n b: \"3086d221a7d46bcde86c90e49284eb15\"\n }\n ],\n gRed: !1,\n g: [\n \"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n \"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",\n pre\n ]\n });\n }\n}), require_hmac_drbg = __commonJS({\n \"node_modules/hmac-drbg/lib/hmac-drbg.js\"(exports, module) {\n var hash = require_hash2(), utils = require_utils2(), assert = require_minimalistic_assert();\n function HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash, this.predResist = !!options.predResist, this.outLen = this.hash.outSize, this.minEntropy = options.minEntropy || this.hash.hmacStrength, this._reseed = null, this.reseedInterval = null, this.K = null, this.V = null;\n var entropy = utils.toArray(options.entropy, options.entropyEnc || \"hex\"), nonce = utils.toArray(options.nonce, options.nonceEnc || \"hex\"), pers = utils.toArray(options.pers, options.persEnc || \"hex\");\n assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._init(entropy, nonce, pers);\n }\n HmacDRBG.prototype = {}, module.exports = HmacDRBG, HmacDRBG.prototype._init = function(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n this.K = new @Array(this.outLen / 8), this.V = new @Array(this.outLen / 8);\n for (var i = 0;i < this.V.length; i++)\n this.K[i] = 0, this.V[i] = 1;\n this._update(seed), this._reseed = 1, this.reseedInterval = 281474976710656;\n }, HmacDRBG.prototype._hmac = function() {\n return new hash.hmac(this.hash, this.K);\n }, HmacDRBG.prototype._update = function(seed) {\n var kmac = this._hmac().update(this.V).update([0]);\n seed && (kmac = kmac.update(seed)), this.K = kmac.digest(), this.V = this._hmac().update(this.V).digest(), seed && (this.K = this._hmac().update(this.V).update([1]).update(seed).digest(), this.V = this._hmac().update(this.V).digest());\n }, HmacDRBG.prototype.reseed = function(entropy, entropyEnc, add, addEnc) {\n typeof entropyEnc != \"string\" && (addEnc = add, add = entropyEnc, entropyEnc = null), entropy = utils.toArray(entropy, entropyEnc), add = utils.toArray(add, addEnc), assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._update(entropy.concat(add || [])), this._reseed = 1;\n }, HmacDRBG.prototype.generate = function(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error(\"Reseed is required\");\n typeof enc != \"string\" && (addEnc = add, add = enc, enc = null), add && (add = utils.toArray(add, addEnc || \"hex\"), this._update(add));\n for (var temp = [];temp.length < len; )\n this.V = this._hmac().update(this.V).digest(), temp = temp.concat(this.V);\n var res = temp.slice(0, len);\n return this._update(add), this._reseed++, utils.encode(res, enc);\n };\n }\n}), require_key = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/key.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function KeyPair(ec, options) {\n this.ec = ec, this.priv = null, this.pub = null, options.priv && this._importPrivate(options.priv, options.privEnc), options.pub && this._importPublic(options.pub, options.pubEnc);\n }\n KeyPair.prototype = {}, module.exports = KeyPair, KeyPair.fromPublic = function(ec, pub, enc) {\n return pub instanceof KeyPair \? pub : new KeyPair(ec, {\n pub,\n pubEnc: enc\n });\n }, KeyPair.fromPrivate = function(ec, priv, enc) {\n return priv instanceof KeyPair \? priv : new KeyPair(ec, {\n priv,\n privEnc: enc\n });\n }, KeyPair.prototype.validate = function() {\n var pub = this.getPublic();\n return pub.isInfinity() \? { result: !1, reason: \"Invalid public key\" } : pub.validate() \? pub.mul(this.ec.curve.n).isInfinity() \? { result: !0, reason: null } : { result: !1, reason: \"Public key * N != O\" } : { result: !1, reason: \"Public key is not a point\" };\n }, KeyPair.prototype.getPublic = function(compact, enc) {\n return typeof compact == \"string\" && (enc = compact, compact = null), this.pub || (this.pub = this.ec.g.mul(this.priv)), enc \? this.pub.encode(enc, compact) : this.pub;\n }, KeyPair.prototype.getPrivate = function(enc) {\n return enc === \"hex\" \? this.priv.toString(16, 2) : this.priv;\n }, KeyPair.prototype._importPrivate = function(key2, enc) {\n this.priv = new BN(key2, enc || 16), this.priv = this.priv.umod(this.ec.curve.n);\n }, KeyPair.prototype._importPublic = function(key2, enc) {\n if (key2.x || key2.y) {\n this.ec.curve.type === \"mont\" \? assert(key2.x, \"Need x coordinate\") : (this.ec.curve.type === \"short\" || this.ec.curve.type === \"edwards\") && assert(key2.x && key2.y, \"Need both x and y coordinate\"), this.pub = this.ec.curve.point(key2.x, key2.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key2, enc);\n }, KeyPair.prototype.derive = function(pub) {\n return pub.validate() || assert(pub.validate(), \"public point not validated\"), pub.mul(this.priv).getX();\n }, KeyPair.prototype.sign = function(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n }, KeyPair.prototype.verify = function(msg, signature) {\n return this.ec.verify(msg, signature, this);\n }, KeyPair.prototype.inspect = function() {\n return \"<Key priv: \" + (this.priv && this.priv.toString(16, 2)) + \" pub: \" + (this.pub && this.pub.inspect()) + \" >\";\n };\n }\n}), require_signature = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n this._importDER(options, enc) || (assert(options.r && options.s, \"Signature without r or s\"), this.r = new BN(options.r, 16), this.s = new BN(options.s, 16), options.recoveryParam === void 0 \? this.recoveryParam = null : this.recoveryParam = options.recoveryParam);\n }\n Signature.prototype = {}, module.exports = Signature;\n function Position() {\n this.place = 0;\n }\n function getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 128))\n return initial;\n var octetLen = initial & 15;\n if (octetLen === 0 || octetLen > 4)\n return !1;\n for (var val = 0, i = 0, off = p.place;i < octetLen; i++, off++)\n val <<= 8, val |= buf[off], val >>>= 0;\n return val <= 127 \? !1 : (p.place = off, val);\n }\n function rmPadding(buf) {\n for (var i = 0, len = buf.length - 1;!buf[i] && !(buf[i + 1] & 128) && i < len; )\n i++;\n return i === 0 \? buf : buf.slice(i);\n }\n Signature.prototype._importDER = function(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position;\n if (data[p.place++] !== 48)\n return !1;\n var len = getLength(data, p);\n if (len === !1 || len + p.place !== data.length || data[p.place++] !== 2)\n return !1;\n var rlen = getLength(data, p);\n if (rlen === !1)\n return !1;\n var r = data.slice(p.place, rlen + p.place);\n if (p.place += rlen, data[p.place++] !== 2)\n return !1;\n var slen = getLength(data, p);\n if (slen === !1 || data.length !== slen + p.place)\n return !1;\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0)\n if (r[1] & 128)\n r = r.slice(1);\n else\n return !1;\n if (s[0] === 0)\n if (s[1] & 128)\n s = s.slice(1);\n else\n return !1;\n return this.r = new BN(r), this.s = new BN(s), this.recoveryParam = null, !0;\n };\n function constructLength(arr, len) {\n if (len < 128) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n for (arr.push(octets | 128);--octets; )\n arr.push(len >>> (octets << 3) & 255);\n arr.push(len);\n }\n Signature.prototype.toDER = function(enc) {\n var r = this.r.toArray(), s = this.s.toArray();\n for (r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s)), r = rmPadding(r), s = rmPadding(s);!s[0] && !(s[1] & 128); )\n s = s.slice(1);\n var arr = [2];\n constructLength(arr, r.length), arr = arr.concat(r), arr.push(2), constructLength(arr, s.length);\n var backHalf = arr.concat(s), res = [48];\n return constructLength(res, backHalf.length), res = res.concat(backHalf), utils.encode(res, enc);\n };\n }\n}), require_ec = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/index.js\"(exports, module) {\n var BN = require_bn4(), HmacDRBG = require_hmac_drbg(), utils = require_utils3(), curves = require_curves(), rand = require_brorand(), assert = utils.assert, KeyPair = require_key(), Signature = require_signature();\n function EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n typeof options == \"string\" && (assert(Object.prototype.hasOwnProperty.@call(curves, options), \"Unknown curve \" + options), options = curves[options]), options instanceof curves.PresetCurve && (options = { curve: options }), this.curve = options.curve.curve, this.n = this.curve.n, this.nh = this.n.ushrn(1), this.g = this.curve.g, this.g = options.curve.g, this.g.precompute(options.curve.n.bitLength() + 1), this.hash = options.hash || options.curve.hash;\n }\n EC.prototype = {}, module.exports = EC, EC.prototype.keyPair = function(options) {\n return new KeyPair(this, options);\n }, EC.prototype.keyFromPrivate = function(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n }, EC.prototype.keyFromPublic = function(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n }, EC.prototype.genKeyPair = function(options) {\n options || (options = {});\n for (var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\",\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || \"utf8\",\n nonce: this.n.toArray()\n }), bytes = this.n.byteLength(), ns2 = this.n.sub(new BN(2));; ) {\n var priv = new BN(drbg.generate(bytes));\n if (!(priv.cmp(ns2) > 0))\n return priv.iaddn(1), this.keyFromPrivate(priv);\n }\n }, EC.prototype._truncateToN = function(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n return delta > 0 && (msg = msg.ushrn(delta)), !truncOnly && msg.cmp(this.n) >= 0 \? msg.sub(this.n) : msg;\n }, EC.prototype.sign = function(msg, key2, enc, options) {\n typeof enc == \"object\" && (options = enc, enc = null), options || (options = {}), key2 = this.keyFromPrivate(key2, enc), msg = this._truncateToN(new BN(msg, 16));\n for (var bytes = this.n.byteLength(), bkey = key2.getPrivate().toArray(\"be\", bytes), nonce = msg.toArray(\"be\", bytes), drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\"\n }), ns1 = this.n.sub(new BN(1)), iter = 0;; iter++) {\n var k = options.k \? options.k(iter) : new BN(drbg.generate(this.n.byteLength()));\n if (k = this._truncateToN(k, !0), !(k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)) {\n var kp = this.g.mul(k);\n if (!kp.isInfinity()) {\n var kpX = kp.getX(), r = kpX.umod(this.n);\n if (r.cmpn(0) !== 0) {\n var s = k.invm(this.n).mul(r.mul(key2.getPrivate()).iadd(msg));\n if (s = s.umod(this.n), s.cmpn(0) !== 0) {\n var recoveryParam = (kp.getY().isOdd() \? 1 : 0) | (kpX.cmp(r) !== 0 \? 2 : 0);\n return options.canonical && s.cmp(this.nh) > 0 && (s = this.n.sub(s), recoveryParam ^= 1), new Signature({ r, s, recoveryParam });\n }\n }\n }\n }\n }\n }, EC.prototype.verify = function(msg, signature, key2, enc) {\n msg = this._truncateToN(new BN(msg, 16)), key2 = this.keyFromPublic(key2, enc), signature = new Signature(signature, \"hex\");\n var { r, s } = signature;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0 || s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return !1;\n var sinv = s.invm(this.n), u1 = sinv.mul(msg).umod(this.n), u2 = sinv.mul(r).umod(this.n), p;\n return this.curve._maxwellTrick \? (p = this.g.jmulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.eqXToP(r)) : (p = this.g.mulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.getX().umod(this.n).cmp(r) === 0);\n }, EC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, \"The recovery param is more than two bits\"), signature = new Signature(signature, enc);\n var n = this.n, e = new BN(msg), r = signature.r, s = signature.s, isYOdd = j & 1, isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error(\"Unable to find sencond key candinate\");\n isSecondKey \? r = this.curve.pointFromX(r.add(this.curve.n), isYOdd) : r = this.curve.pointFromX(r, isYOdd);\n var rInv = signature.r.invm(n), s1 = n.sub(e).mul(rInv).umod(n), s2 = s.mul(rInv).umod(n);\n return this.g.mulAdd(s1, r, s2);\n }, EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n if (signature = new Signature(signature, enc), signature.recoveryParam !== null)\n return signature.recoveryParam;\n for (var i = 0;i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch {\n continue;\n }\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error(\"Unable to find valid recovery factor\");\n };\n }\n}), require_key2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/key.js\"(exports, module) {\n var utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, cachedProperty = utils.cachedProperty;\n function KeyPair(eddsa, params) {\n this.eddsa = eddsa, this._secret = parseBytes(params.secret), eddsa.isPoint(params.pub) \? this._pub = params.pub : this._pubBytes = parseBytes(params.pub);\n }\n KeyPair.prototype = {}, KeyPair.fromPublic = function(eddsa, pub) {\n return pub instanceof KeyPair \? pub : new KeyPair(eddsa, { pub });\n }, KeyPair.fromSecret = function(eddsa, secret) {\n return secret instanceof KeyPair \? secret : new KeyPair(eddsa, { secret });\n }, KeyPair.prototype.secret = function() {\n return this._secret;\n }, cachedProperty(KeyPair, \"pubBytes\", function() {\n return this.eddsa.encodePoint(this.pub());\n }), cachedProperty(KeyPair, \"pub\", function() {\n return this._pubBytes \? this.eddsa.decodePoint(this._pubBytes) : this.eddsa.g.mul(this.priv());\n }), cachedProperty(KeyPair, \"privBytes\", function() {\n var eddsa = this.eddsa, hash = this.hash(), lastIx = eddsa.encodingLength - 1, a = hash.slice(0, eddsa.encodingLength);\n return a[0] &= 248, a[lastIx] &= 127, a[lastIx] |= 64, a;\n }), cachedProperty(KeyPair, \"priv\", function() {\n return this.eddsa.decodeInt(this.privBytes());\n }), cachedProperty(KeyPair, \"hash\", function() {\n return this.eddsa.hash().update(this.secret()).digest();\n }), cachedProperty(KeyPair, \"messagePrefix\", function() {\n return this.hash().slice(this.eddsa.encodingLength);\n }), KeyPair.prototype.sign = function(message) {\n return assert(this._secret, \"KeyPair can only verify\"), this.eddsa.sign(message, this);\n }, KeyPair.prototype.verify = function(message, sig) {\n return this.eddsa.verify(message, sig, this);\n }, KeyPair.prototype.getSecret = function(enc) {\n return assert(this._secret, \"KeyPair is public only\"), utils.encode(this.secret(), enc);\n }, KeyPair.prototype.getPublic = function(enc) {\n return utils.encode(this.pubBytes(), enc);\n }, module.exports = KeyPair;\n }\n}), require_signature2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert, cachedProperty = utils.cachedProperty, parseBytes = utils.parseBytes;\n function Signature(eddsa, sig) {\n this.eddsa = eddsa, typeof sig != \"object\" && (sig = parseBytes(sig)), @Array.isArray(sig) && (sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n }), assert(sig.R && sig.S, \"Signature without R or S\"), eddsa.isPoint(sig.R) && (this._R = sig.R), sig.S instanceof BN && (this._S = sig.S), this._Rencoded = @Array.isArray(sig.R) \? sig.R : sig.Rencoded, this._Sencoded = @Array.isArray(sig.S) \? sig.S : sig.Sencoded;\n }\n Signature.prototype = {}, cachedProperty(Signature, \"S\", function() {\n return this.eddsa.decodeInt(this.Sencoded());\n }), cachedProperty(Signature, \"R\", function() {\n return this.eddsa.decodePoint(this.Rencoded());\n }), cachedProperty(Signature, \"Rencoded\", function() {\n return this.eddsa.encodePoint(this.R());\n }), cachedProperty(Signature, \"Sencoded\", function() {\n return this.eddsa.encodeInt(this.S());\n }), Signature.prototype.toBytes = function() {\n return this.Rencoded().concat(this.Sencoded());\n }, Signature.prototype.toHex = function() {\n return utils.encode(this.toBytes(), \"hex\").toUpperCase();\n }, module.exports = Signature;\n }\n}), require_eddsa = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/index.js\"(exports, module) {\n var hash = require_hash2(), curves = require_curves(), utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, KeyPair = require_key2(), Signature = require_signature2();\n function EDDSA(curve) {\n if (assert(curve === \"ed25519\", \"only tested with ed25519 so far\"), !(this instanceof EDDSA))\n return new EDDSA(curve);\n curve = curves[curve].curve, this.curve = curve, this.g = curve.g, this.g.precompute(curve.n.bitLength() + 1), this.pointClass = curve.point().constructor, this.encodingLength = Math.ceil(curve.n.bitLength() / 8), this.hash = hash.sha512;\n }\n EDDSA.prototype = {}, module.exports = EDDSA, EDDSA.prototype.sign = function(message, secret) {\n message = parseBytes(message);\n var key2 = this.keyFromSecret(secret), r = this.hashInt(key2.messagePrefix(), message), R = this.g.mul(r), Rencoded = this.encodePoint(R), s_ = this.hashInt(Rencoded, key2.pubBytes(), message).mul(key2.priv()), S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R, S, Rencoded });\n }, EDDSA.prototype.verify = function(message, sig, pub) {\n message = parseBytes(message), sig = this.makeSignature(sig);\n var key2 = this.keyFromPublic(pub), h = this.hashInt(sig.Rencoded(), key2.pubBytes(), message), SG = this.g.mul(sig.S()), RplusAh = sig.R().add(key2.pub().mul(h));\n return RplusAh.eq(SG);\n }, EDDSA.prototype.hashInt = function() {\n for (var hash2 = this.hash(), i = 0;i < arguments.length; i++)\n hash2.update(arguments[i]);\n return utils.intFromLE(hash2.digest()).umod(this.curve.n);\n }, EDDSA.prototype.keyFromPublic = function(pub) {\n return KeyPair.fromPublic(this, pub);\n }, EDDSA.prototype.keyFromSecret = function(secret) {\n return KeyPair.fromSecret(this, secret);\n }, EDDSA.prototype.makeSignature = function(sig) {\n return sig instanceof Signature \? sig : new Signature(this, sig);\n }, EDDSA.prototype.encodePoint = function(point) {\n var enc = point.getY().toArray(\"le\", this.encodingLength);\n return enc[this.encodingLength - 1] |= point.getX().isOdd() \? 128 : 0, enc;\n }, EDDSA.prototype.decodePoint = function(bytes) {\n bytes = utils.parseBytes(bytes);\n var lastIx = bytes.length - 1, normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & -129), xIsOdd = (bytes[lastIx] & 128) !== 0, y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n }, EDDSA.prototype.encodeInt = function(num) {\n return num.toArray(\"le\", this.encodingLength);\n }, EDDSA.prototype.decodeInt = function(bytes) {\n return utils.intFromLE(bytes);\n }, EDDSA.prototype.isPoint = function(val) {\n return val instanceof this.pointClass;\n };\n }\n}), require_elliptic = __commonJS({\n \"node_modules/elliptic/lib/elliptic.js\"(exports) {\n var elliptic = exports;\n elliptic.version = require_package().version, elliptic.utils = require_utils3(), elliptic.rand = require_brorand(), elliptic.curve = require_curve(), elliptic.curves = require_curves(), elliptic.ec = require_ec(), elliptic.eddsa = require_eddsa();\n }\n}), require_bn5 = require_bn, require_safer = __commonJS({\n \"node_modules/safer-buffer/safer.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = Buffer, safer = {}, key2;\n for (key2 in buffer)\n !buffer.hasOwnProperty(key2) || key2 === \"SlowBuffer\" || key2 === \"Buffer\" || (safer[key2] = buffer[key2]);\n var Safer = safer.Buffer = {};\n for (key2 in Buffer2)\n !Buffer2.hasOwnProperty(key2) || key2 === \"allocUnsafe\" || key2 === \"allocUnsafeSlow\" || (Safer[key2] = Buffer2[key2]);\n if (safer.Buffer.prototype = Buffer2.prototype, (!Safer.from || Safer.from === @Uint8Array.from) && (Safer.from = function(value, encodingOrOffset, length) {\n if (typeof value == \"number\")\n @throwTypeError('The \"value\" argument must not be of type number. Received type ' + typeof value);\n if (value && typeof value.length > \"u\")\n @throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n return Buffer2(value, encodingOrOffset, length);\n }), Safer.alloc || (Safer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError('The \"size\" argument must be of type number. Received type ' + typeof size);\n if (size < 0 || size >= 2 * (1 << 30))\n @throwRangeError('The value \"' + size + '\" is invalid for option \"size\"');\n var buf = Buffer2(size);\n return !fill || fill.length === 0 \? buf.fill(0) : typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill), buf;\n }), !safer.kStringMaxLength)\n try {\n safer.kStringMaxLength = MAX_STRING_LENGTH;\n } catch {\n }\n safer.constants || (safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }, safer.kStringMaxLength && (safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength)), module.exports = safer;\n }\n}), require_reporter = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/reporter.js\"(exports) {\n var inherits = require_inherits_browser();\n function Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n }\n Reporter.prototype = {}, exports.Reporter = Reporter, Reporter.prototype.isError = function(obj) {\n return obj instanceof ReporterError;\n }, Reporter.prototype.save = function() {\n let state = this._reporterState;\n return { obj: state.obj, pathLen: state.path.length };\n }, Reporter.prototype.restore = function(data) {\n let state = this._reporterState;\n state.obj = data.obj, state.path = state.path.slice(0, data.pathLen);\n }, Reporter.prototype.enterKey = function(key2) {\n return this._reporterState.path.push(key2);\n }, Reporter.prototype.exitKey = function(index) {\n let state = this._reporterState;\n state.path = state.path.slice(0, index - 1);\n }, Reporter.prototype.leaveKey = function(index, key2, value) {\n let state = this._reporterState;\n this.exitKey(index), state.obj !== null && (state.obj[key2] = value);\n }, Reporter.prototype.path = function() {\n return this._reporterState.path.join(\"/\");\n }, Reporter.prototype.enterObject = function() {\n let state = this._reporterState, prev = state.obj;\n return state.obj = {}, prev;\n }, Reporter.prototype.leaveObject = function(prev) {\n let state = this._reporterState, now = state.obj;\n return state.obj = prev, now;\n }, Reporter.prototype.error = function(msg) {\n let err, state = this._reporterState, inherited = msg instanceof ReporterError;\n if (inherited \? err = msg : err = new ReporterError(state.path.map(function(elem) {\n return \"[\" + JSON.stringify(elem) + \"]\";\n }).join(\"\"), msg.message || msg, msg.stack), !state.options.partial)\n throw err;\n return inherited || state.errors.push(err), err;\n }, Reporter.prototype.wrapResult = function(result) {\n let state = this._reporterState;\n return state.options.partial \? {\n result: this.isError(result) \? null : result,\n errors: state.errors\n } : result;\n };\n function ReporterError(path, msg) {\n this.path = path, this.rethrow(msg);\n }\n inherits(ReporterError, Error), ReporterError.prototype.rethrow = function(msg) {\n if (this.message = msg + \" at: \" + (this.path || \"(shallow)\"), Error.captureStackTrace && Error.captureStackTrace(this, ReporterError), !this.stack)\n try {\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n return this;\n };\n }\n}), require_buffer = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/buffer.js\"(exports) {\n var inherits = require_inherits_browser(), Reporter = require_reporter().Reporter, Buffer2 = require_safer().Buffer;\n function DecoderBuffer(base, options) {\n if (Reporter.@call(this, options), !Buffer2.isBuffer(base)) {\n this.error(\"Input not Buffer\");\n return;\n }\n this.base = base, this.offset = 0, this.length = base.length;\n }\n inherits(DecoderBuffer, Reporter), exports.DecoderBuffer = DecoderBuffer, DecoderBuffer.isDecoderBuffer = function(data) {\n return data instanceof DecoderBuffer \? !0 : typeof data == \"object\" && Buffer2.isBuffer(data.base) && data.constructor.name === \"DecoderBuffer\" && typeof data.offset == \"number\" && typeof data.length == \"number\" && typeof data.save == \"function\" && typeof data.restore == \"function\" && typeof data.isEmpty == \"function\" && typeof data.readUInt8 == \"function\" && typeof data.skip == \"function\" && typeof data.raw == \"function\";\n }, DecoderBuffer.prototype.save = function() {\n return {\n offset: this.offset,\n reporter: Reporter.prototype.save.@call(this)\n };\n }, DecoderBuffer.prototype.restore = function(save) {\n let res = new DecoderBuffer(this.base);\n return res.offset = save.offset, res.length = this.offset, this.offset = save.offset, Reporter.prototype.restore.@call(this, save.reporter), res;\n }, DecoderBuffer.prototype.isEmpty = function() {\n return this.offset === this.length;\n }, DecoderBuffer.prototype.readUInt8 = function(fail) {\n return this.offset + 1 <= this.length \? this.base.readUInt8(this.offset++, !0) : this.error(fail || \"DecoderBuffer overrun\");\n }, DecoderBuffer.prototype.skip = function(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || \"DecoderBuffer overrun\");\n let res = new DecoderBuffer(this.base);\n return res._reporterState = this._reporterState, res.offset = this.offset, res.length = this.offset + bytes, this.offset += bytes, res;\n }, DecoderBuffer.prototype.raw = function(save) {\n return this.base.slice(save \? save.offset : this.offset, this.length);\n };\n function EncoderBuffer(value, reporter) {\n if (@Array.isArray(value))\n this.length = 0, this.value = value.map(function(item) {\n return EncoderBuffer.isEncoderBuffer(item) || (item = new EncoderBuffer(item, reporter)), this.length += item.length, item;\n }, this);\n else if (typeof value == \"number\") {\n if (!(0 <= value && value <= 255))\n return reporter.error(\"non-byte EncoderBuffer value\");\n this.value = value, this.length = 1;\n } else if (typeof value == \"string\")\n this.value = value, this.length = Buffer2.byteLength(value);\n else if (Buffer2.isBuffer(value))\n this.value = value, this.length = value.length;\n else\n return reporter.error(\"Unsupported type: \" + typeof value);\n }\n EncoderBuffer.prototype = {}, exports.EncoderBuffer = EncoderBuffer, EncoderBuffer.isEncoderBuffer = function(data) {\n return data instanceof EncoderBuffer \? !0 : typeof data == \"object\" && data.constructor.name === \"EncoderBuffer\" && typeof data.length == \"number\" && typeof data.join == \"function\";\n }, EncoderBuffer.prototype.join = function(out, offset) {\n return out || (out = Buffer2.alloc(this.length)), offset || (offset = 0), this.length === 0 || (@Array.isArray(this.value) \? this.value.forEach(function(item) {\n item.join(out, offset), offset += item.length;\n }) : (typeof this.value == \"number\" \? out[offset] = this.value : typeof this.value == \"string\" \? out.write(this.value, offset) : Buffer2.isBuffer(this.value) && this.value.copy(out, offset), offset += this.length)), out;\n };\n }\n}), require_node = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/node.js\"(exports, module) {\n var Reporter = require_reporter().Reporter, EncoderBuffer = require_buffer().EncoderBuffer, DecoderBuffer = require_buffer().DecoderBuffer, assert = require_minimalistic_assert(), tags = [\n \"seq\",\n \"seqof\",\n \"set\",\n \"setof\",\n \"objid\",\n \"bool\",\n \"gentime\",\n \"utctime\",\n \"null_\",\n \"enum\",\n \"int\",\n \"objDesc\",\n \"bitstr\",\n \"bmpstr\",\n \"charstr\",\n \"genstr\",\n \"graphstr\",\n \"ia5str\",\n \"iso646str\",\n \"numstr\",\n \"octstr\",\n \"printstr\",\n \"t61str\",\n \"unistr\",\n \"utf8str\",\n \"videostr\"\n ], methods = [\"key\", \"obj\", \"use\", \"optional\", \"explicit\", \"implicit\", \"def\", \"choice\", \"any\", \"contains\"].concat(tags), overrided = [\n \"_peekTag\",\n \"_decodeTag\",\n \"_use\",\n \"_decodeStr\",\n \"_decodeObjid\",\n \"_decodeTime\",\n \"_decodeNull\",\n \"_decodeInt\",\n \"_decodeBool\",\n \"_decodeList\",\n \"_encodeComposite\",\n \"_encodeStr\",\n \"_encodeObjid\",\n \"_encodeTime\",\n \"_encodeNull\",\n \"_encodeInt\",\n \"_encodeBool\"\n ];\n function Node(enc, parent, name) {\n let state = {};\n this._baseState = state, state.name = name, state.enc = enc, state.parent = parent || null, state.children = null, state.tag = null, state.args = null, state.reverseArgs = null, state.choice = null, state.optional = !1, state.any = !1, state.obj = !1, state.use = null, state.useDecoder = null, state.key = null, state.default = null, state.explicit = null, state.implicit = null, state.contains = null, state.parent || (state.children = [], this._wrap());\n }\n Node.prototype = {}, module.exports = Node;\n var stateProps = [\n \"enc\",\n \"parent\",\n \"children\",\n \"tag\",\n \"args\",\n \"reverseArgs\",\n \"choice\",\n \"optional\",\n \"any\",\n \"obj\",\n \"use\",\n \"alteredUse\",\n \"key\",\n \"default\",\n \"explicit\",\n \"implicit\",\n \"contains\"\n ];\n Node.prototype.clone = function() {\n let state = this._baseState, cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n let res = new this.constructor(cstate.parent);\n return res._baseState = cstate, res;\n }, Node.prototype._wrap = function() {\n let state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function() {\n let clone = new this.constructor(this);\n return state.children.push(clone), clone[method].@apply(clone, arguments);\n };\n }, this);\n }, Node.prototype._init = function(body) {\n let state = this._baseState;\n assert(state.parent === null), body.@call(this), state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this), assert.equal(state.children.length, 1, \"Root node can have only one child\");\n }, Node.prototype._useArgs = function(args) {\n let state = this._baseState, children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this), children.length !== 0 && (assert(state.children === null), state.children = children, children.forEach(function(child) {\n child._baseState.parent = this;\n }, this)), args.length !== 0 && (assert(state.args === null), state.args = args, state.reverseArgs = args.map(function(arg) {\n if (typeof arg != \"object\" || arg.constructor !== Object)\n return arg;\n let res = {};\n return Object.keys(arg).forEach(function(key2) {\n key2 == (key2 | 0) && (key2 |= 0);\n let value = arg[key2];\n res[value] = key2;\n }), res;\n }));\n }, overrided.forEach(function(method) {\n Node.prototype[method] = function() {\n let state = this._baseState;\n throw new Error(method + \" not implemented for encoding: \" + state.enc);\n };\n }), tags.forEach(function(tag) {\n Node.prototype[tag] = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return assert(state.tag === null), state.tag = tag, this._useArgs(args), this;\n };\n }), Node.prototype.use = function(item) {\n assert(item);\n let state = this._baseState;\n return assert(state.use === null), state.use = item, this;\n }, Node.prototype.optional = function() {\n let state = this._baseState;\n return state.optional = !0, this;\n }, Node.prototype.def = function(val) {\n let state = this._baseState;\n return assert(state.default === null), state.default = val, state.optional = !0, this;\n }, Node.prototype.explicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.explicit = num, this;\n }, Node.prototype.implicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.implicit = num, this;\n }, Node.prototype.obj = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return state.obj = !0, args.length !== 0 && this._useArgs(args), this;\n }, Node.prototype.key = function(newKey) {\n let state = this._baseState;\n return assert(state.key === null), state.key = newKey, this;\n }, Node.prototype.any = function() {\n let state = this._baseState;\n return state.any = !0, this;\n }, Node.prototype.choice = function(obj) {\n let state = this._baseState;\n return assert(state.choice === null), state.choice = obj, this._useArgs(Object.keys(obj).map(function(key2) {\n return obj[key2];\n })), this;\n }, Node.prototype.contains = function(item) {\n let state = this._baseState;\n return assert(state.use === null), state.contains = item, this;\n }, Node.prototype._decode = function(input, options) {\n let state = this._baseState;\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n let result = state.default, present = !0, prevKey = null;\n if (state.key !== null && (prevKey = input.enterKey(state.key)), state.optional) {\n let tag = null;\n if (state.explicit !== null \? tag = state.explicit : state.implicit !== null \? tag = state.implicit : state.tag !== null && (tag = state.tag), tag === null && !state.any) {\n let save = input.save();\n try {\n state.choice === null \? this._decodeGeneric(state.tag, input, options) : this._decodeChoice(input, options), present = !0;\n } catch {\n present = !1;\n }\n input.restore(save);\n } else if (present = this._peekTag(input, tag, state.any), input.isError(present))\n return present;\n }\n let prevObj;\n if (state.obj && present && (prevObj = input.enterObject()), present) {\n if (state.explicit !== null) {\n let explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n let start = input.offset;\n if (state.use === null && state.choice === null) {\n let save;\n state.any && (save = input.save());\n let body = this._decodeTag(input, state.implicit !== null \? state.implicit : state.tag, state.any);\n if (input.isError(body))\n return body;\n state.any \? result = input.raw(save) : input = body;\n }\n if (options && options.track && state.tag !== null && options.track(input.path(), start, input.length, \"tagged\"), options && options.track && state.tag !== null && options.track(input.path(), input.offset, input.length, \"content\"), state.any || (state.choice === null \? result = this._decodeGeneric(state.tag, input, options) : result = this._decodeChoice(input, options)), input.isError(result))\n return result;\n if (!state.any && state.choice === null && state.children !== null && state.children.forEach(function(child) {\n child._decode(input, options);\n }), state.contains && (state.tag === \"octstr\" || state.tag === \"bitstr\")) {\n let data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)._decode(data, options);\n }\n }\n return state.obj && present && (result = input.leaveObject(prevObj)), state.key !== null && (result !== null || present === !0) \? input.leaveKey(prevKey, state.key, result) : prevKey !== null && input.exitKey(prevKey), result;\n }, Node.prototype._decodeGeneric = function(tag, input, options) {\n let state = this._baseState;\n return tag === \"seq\" || tag === \"set\" \? null : tag === \"seqof\" || tag === \"setof\" \? this._decodeList(input, tag, state.args[0], options) : /str$/.test(tag) \? this._decodeStr(input, tag, options) : tag === \"objid\" && state.args \? this._decodeObjid(input, state.args[0], state.args[1], options) : tag === \"objid\" \? this._decodeObjid(input, null, null, options) : tag === \"gentime\" || tag === \"utctime\" \? this._decodeTime(input, tag, options) : tag === \"null_\" \? this._decodeNull(input, options) : tag === \"bool\" \? this._decodeBool(input, options) : tag === \"objDesc\" \? this._decodeStr(input, tag, options) : tag === \"int\" || tag === \"enum\" \? this._decodeInt(input, state.args && state.args[0], options) : state.use !== null \? this._getUse(state.use, input._reporterState.obj)._decode(input, options) : input.error(\"unknown tag: \" + tag);\n }, Node.prototype._getUse = function(entity, obj) {\n let state = this._baseState;\n return state.useDecoder = this._use(entity, obj), assert(state.useDecoder._baseState.parent === null), state.useDecoder = state.useDecoder._baseState.children[0], state.implicit !== state.useDecoder._baseState.implicit && (state.useDecoder = state.useDecoder.clone(), state.useDecoder._baseState.implicit = state.implicit), state.useDecoder;\n }, Node.prototype._decodeChoice = function(input, options) {\n let state = this._baseState, result = null, match = !1;\n return Object.keys(state.choice).some(function(key2) {\n let save = input.save(), node = state.choice[key2];\n try {\n let value = node._decode(input, options);\n if (input.isError(value))\n return !1;\n result = { type: key2, value }, match = !0;\n } catch {\n return input.restore(save), !1;\n }\n return !0;\n }, this), match \? result : input.error(\"Choice not matched\");\n }, Node.prototype._createEncoderBuffer = function(data) {\n return new EncoderBuffer(data, this.reporter);\n }, Node.prototype._encode = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.default !== null && state.default === data)\n return;\n let result = this._encodeValue(data, reporter, parent);\n if (result !== void 0 && !this._skipDefault(result, reporter, parent))\n return result;\n }, Node.prototype._encodeValue = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter);\n let result = null;\n if (this.reporter = reporter, state.optional && data === void 0)\n if (state.default !== null)\n data = state.default;\n else\n return;\n let content = null, primitive = !1;\n if (state.any)\n result = this._createEncoderBuffer(data);\n else if (state.choice)\n result = this._encodeChoice(data, reporter);\n else if (state.contains)\n content = this._getUse(state.contains, parent)._encode(data, reporter), primitive = !0;\n else if (state.children)\n content = state.children.map(function(child) {\n if (child._baseState.tag === \"null_\")\n return child._encode(null, reporter, data);\n if (child._baseState.key === null)\n return reporter.error(\"Child should have a key\");\n let prevKey = reporter.enterKey(child._baseState.key);\n if (typeof data != \"object\")\n return reporter.error(\"Child expected, but input is not object\");\n let res = child._encode(data[child._baseState.key], reporter, data);\n return reporter.leaveKey(prevKey), res;\n }, this).filter(function(child) {\n return child;\n }), content = this._createEncoderBuffer(content);\n else if (state.tag === \"seqof\" || state.tag === \"setof\") {\n if (!(state.args && state.args.length === 1))\n return reporter.error(\"Too many args for : \" + state.tag);\n if (!@Array.isArray(data))\n return reporter.error(\"seqof/setof, but data is not Array\");\n let child = this.clone();\n child._baseState.implicit = null, content = this._createEncoderBuffer(data.map(function(item) {\n let state2 = this._baseState;\n return this._getUse(state2.args[0], data)._encode(item, reporter);\n }, child));\n } else\n state.use !== null \? result = this._getUse(state.use, parent)._encode(data, reporter) : (content = this._encodePrimitive(state.tag, data), primitive = !0);\n if (!state.any && state.choice === null) {\n let tag = state.implicit !== null \? state.implicit : state.tag, cls = state.implicit === null \? \"universal\" : \"context\";\n tag === null \? state.use === null && reporter.error(\"Tag could be omitted only for .use()\") : state.use === null && (result = this._encodeComposite(tag, primitive, cls, content));\n }\n return state.explicit !== null && (result = this._encodeComposite(state.explicit, !1, \"context\", result)), result;\n }, Node.prototype._encodeChoice = function(data, reporter) {\n let state = this._baseState, node = state.choice[data.type];\n return node || assert(!1, data.type + \" not found in \" + JSON.stringify(Object.keys(state.choice))), node._encode(data.value, reporter);\n }, Node.prototype._encodePrimitive = function(tag, data) {\n let state = this._baseState;\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n if (tag === \"objid\" && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n if (tag === \"objid\")\n return this._encodeObjid(data, null, null);\n if (tag === \"gentime\" || tag === \"utctime\")\n return this._encodeTime(data, tag);\n if (tag === \"null_\")\n return this._encodeNull();\n if (tag === \"int\" || tag === \"enum\")\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n if (tag === \"bool\")\n return this._encodeBool(data);\n if (tag === \"objDesc\")\n return this._encodeStr(data, tag);\n throw new Error(\"Unsupported tag: \" + tag);\n }, Node.prototype._isNumstr = function(str) {\n return /^[0-9 ]*$/.test(str);\n }, Node.prototype._isPrintstr = function(str) {\n return /^[A-Za-z0-9 '()+,-./:=\?]*$/.test(str);\n };\n }\n}), require_der = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/der.js\"(exports) {\n function reverse(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }\n exports.tagClass = {\n 0: \"universal\",\n 1: \"application\",\n 2: \"context\",\n 3: \"private\"\n }, exports.tagClassByName = reverse(exports.tagClass), exports.tag = {\n 0: \"end\",\n 1: \"bool\",\n 2: \"int\",\n 3: \"bitstr\",\n 4: \"octstr\",\n 5: \"null_\",\n 6: \"objid\",\n 7: \"objDesc\",\n 8: \"external\",\n 9: \"real\",\n 10: \"enum\",\n 11: \"embed\",\n 12: \"utf8str\",\n 13: \"relativeOid\",\n 16: \"seq\",\n 17: \"set\",\n 18: \"numstr\",\n 19: \"printstr\",\n 20: \"t61str\",\n 21: \"videostr\",\n 22: \"ia5str\",\n 23: \"utctime\",\n 24: \"gentime\",\n 25: \"graphstr\",\n 26: \"iso646str\",\n 27: \"genstr\",\n 28: \"unistr\",\n 29: \"charstr\",\n 30: \"bmpstr\"\n }, exports.tagByName = reverse(exports.tag);\n }\n}), require_der2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, Node = require_node(), der = require_der();\n function DEREncoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DEREncoder.prototype = {}, module.exports = DEREncoder, DEREncoder.prototype.encode = function(data, reporter) {\n return this.tree._encode(data, reporter).join();\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._encodeComposite = function(tag, primitive, cls, content) {\n let encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n if (content.length < 128) {\n let header2 = Buffer2.alloc(2);\n return header2[0] = encodedTag, header2[1] = content.length, this._createEncoderBuffer([header2, content]);\n }\n let lenOctets = 1;\n for (let i = content.length;i >= 256; i >>= 8)\n lenOctets++;\n let header = Buffer2.alloc(2 + lenOctets);\n header[0] = encodedTag, header[1] = 128 | lenOctets;\n for (let i = 1 + lenOctets, j = content.length;j > 0; i--, j >>= 8)\n header[i] = j & 255;\n return this._createEncoderBuffer([header, content]);\n }, DERNode.prototype._encodeStr = function(str, tag) {\n if (tag === \"bitstr\")\n return this._createEncoderBuffer([str.unused | 0, str.data]);\n if (tag === \"bmpstr\") {\n let buf = Buffer2.alloc(str.length * 2);\n for (let i = 0;i < str.length; i++)\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n return this._createEncoderBuffer(buf);\n } else\n return tag === \"numstr\" \? this._isNumstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: numstr supports only digits and space\") : tag === \"printstr\" \? this._isPrintstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\") : /str$/.test(tag) \? this._createEncoderBuffer(str) : tag === \"objDesc\" \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: \" + tag + \" unsupported\");\n }, DERNode.prototype._encodeObjid = function(id, values, relative) {\n if (typeof id == \"string\") {\n if (!values)\n return this.reporter.error(\"string objid given, but no values map found\");\n if (!values.hasOwnProperty(id))\n return this.reporter.error(\"objid not found in values map\");\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n } else if (@Array.isArray(id)) {\n id = id.slice();\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n }\n if (!@Array.isArray(id))\n return this.reporter.error(\"objid() should be either array or string, got: \" + JSON.stringify(id));\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error(\"Second objid identifier OOB\");\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n let size = 0;\n for (let i = 0;i < id.length; i++) {\n let ident = id[i];\n for (size++;ident >= 128; ident >>= 7)\n size++;\n }\n let objid = Buffer2.alloc(size), offset = objid.length - 1;\n for (let i = id.length - 1;i >= 0; i--) {\n let ident = id[i];\n for (objid[offset--] = ident & 127;(ident >>= 7) > 0; )\n objid[offset--] = 128 | ident & 127;\n }\n return this._createEncoderBuffer(objid);\n };\n function two(num) {\n return num < 10 \? \"0\" + num : num;\n }\n DERNode.prototype._encodeTime = function(time, tag) {\n let str, date = new Date(time);\n return tag === \"gentime\" \? str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : tag === \"utctime\" \? str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : this.reporter.error(\"Encoding \" + tag + \" time is not supported yet\"), this._encodeStr(str, \"octstr\");\n }, DERNode.prototype._encodeNull = function() {\n return this._createEncoderBuffer(\"\");\n }, DERNode.prototype._encodeInt = function(num, values) {\n if (typeof num == \"string\") {\n if (!values)\n return this.reporter.error(\"String int or enum given, but no values map\");\n if (!values.hasOwnProperty(num))\n return this.reporter.error(\"Values map doesn't contain: \" + JSON.stringify(num));\n num = values[num];\n }\n if (typeof num != \"number\" && !Buffer2.isBuffer(num)) {\n let numArray = num.toArray();\n !num.sign && numArray[0] & 128 && numArray.unshift(0), num = Buffer2.from(numArray);\n }\n if (Buffer2.isBuffer(num)) {\n let size2 = num.length;\n num.length === 0 && size2++;\n let out2 = Buffer2.alloc(size2);\n return num.copy(out2), num.length === 0 && (out2[0] = 0), this._createEncoderBuffer(out2);\n }\n if (num < 128)\n return this._createEncoderBuffer(num);\n if (num < 256)\n return this._createEncoderBuffer([0, num]);\n let size = 1;\n for (let i = num;i >= 256; i >>= 8)\n size++;\n let out = new @Array(size);\n for (let i = out.length - 1;i >= 0; i--)\n out[i] = num & 255, num >>= 8;\n return out[0] & 128 && out.unshift(0), this._createEncoderBuffer(Buffer2.from(out));\n }, DERNode.prototype._encodeBool = function(value) {\n return this._createEncoderBuffer(value \? 255 : 0);\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getEncoder(\"der\").tree;\n }, DERNode.prototype._skipDefault = function(dataBuffer, reporter, parent) {\n let state = this._baseState, i;\n if (state.default === null)\n return !1;\n let data = dataBuffer.join();\n if (state.defaultBuffer === void 0 && (state.defaultBuffer = this._encodeValue(state.default, reporter, parent).join()), data.length !== state.defaultBuffer.length)\n return !1;\n for (i = 0;i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return !1;\n return !0;\n };\n function encodeTag(tag, primitive, cls, reporter) {\n let res;\n if (tag === \"seqof\" \? tag = \"seq\" : tag === \"setof\" && (tag = \"set\"), der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag == \"number\" && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error(\"Unknown tag: \" + tag);\n return res >= 31 \? reporter.error(\"Multi-octet tag encoding unsupported\") : (primitive || (res |= 32), res |= der.tagClassByName[cls || \"universal\"] << 6, res);\n }\n }\n}), require_pem = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), DEREncoder = require_der2();\n function PEMEncoder(entity) {\n DEREncoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMEncoder, DEREncoder), module.exports = PEMEncoder, PEMEncoder.prototype.encode = function(data, options) {\n let p = DEREncoder.prototype.encode.@call(this, data).toString(\"base64\"), out = [\"-----BEGIN \" + options.label + \"-----\"];\n for (let i = 0;i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n return out.push(\"-----END \" + options.label + \"-----\"), out.join(`\n`);\n };\n }\n}), require_encoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/index.js\"(exports) {\n var encoders = exports;\n encoders.der = require_der2(), encoders.pem = require_pem();\n }\n}), require_der3 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), bignum = require_bn5(), DecoderBuffer = require_buffer().DecoderBuffer, Node = require_node(), der = require_der();\n function DERDecoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DERDecoder.prototype = {}, module.exports = DERDecoder, DERDecoder.prototype.decode = function(data, options) {\n return DecoderBuffer.isDecoderBuffer(data) || (data = new DecoderBuffer(data, options)), this.tree._decode(data, options);\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._peekTag = function(buffer, tag, any) {\n if (buffer.isEmpty())\n return !1;\n let state = buffer.save(), decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n return buffer.isError(decodedTag) \? decodedTag : (buffer.restore(state), decodedTag.tag === tag || decodedTag.tagStr === tag || decodedTag.tagStr + \"of\" === tag || any);\n }, DERNode.prototype._decodeTag = function(buffer, tag, any) {\n let decodedTag = derDecodeTag(buffer, 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n let len = derDecodeLen(buffer, decodedTag.primitive, 'Failed to get length of \"' + tag + '\"');\n if (buffer.isError(len))\n return len;\n if (!any && decodedTag.tag !== tag && decodedTag.tagStr !== tag && decodedTag.tagStr + \"of\" !== tag)\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n let state = buffer.save(), res = this._skipUntilEnd(buffer, 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n return buffer.isError(res) \? res : (len = buffer.offset - state.offset, buffer.restore(state), buffer.skip(len, 'Failed to match body of: \"' + tag + '\"'));\n }, DERNode.prototype._skipUntilEnd = function(buffer, fail) {\n for (;; ) {\n let tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n let len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n let res;\n if (tag.primitive || len !== null \? res = buffer.skip(len) : res = this._skipUntilEnd(buffer, fail), buffer.isError(res))\n return res;\n if (tag.tagStr === \"end\")\n break;\n }\n }, DERNode.prototype._decodeList = function(buffer, tag, decoder, options) {\n let result = [];\n for (;!buffer.isEmpty(); ) {\n let possibleEnd = this._peekTag(buffer, \"end\");\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n let res = decoder.decode(buffer, \"der\", options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n }, DERNode.prototype._decodeStr = function(buffer, tag) {\n if (tag === \"bitstr\") {\n let unused = buffer.readUInt8();\n return buffer.isError(unused) \? unused : { unused, data: buffer.raw() };\n } else if (tag === \"bmpstr\") {\n let raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error(\"Decoding of string type: bmpstr length mismatch\");\n let str = \"\";\n for (let i = 0;i < raw.length / 2; i++)\n str += @String.fromCharCode(raw.readUInt16BE(i * 2));\n return str;\n } else if (tag === \"numstr\") {\n let numstr = buffer.raw().toString(\"ascii\");\n return this._isNumstr(numstr) \? numstr : buffer.error(\"Decoding of string type: numstr unsupported characters\");\n } else {\n if (tag === \"octstr\")\n return buffer.raw();\n if (tag === \"objDesc\")\n return buffer.raw();\n if (tag === \"printstr\") {\n let printstr = buffer.raw().toString(\"ascii\");\n return this._isPrintstr(printstr) \? printstr : buffer.error(\"Decoding of string type: printstr unsupported characters\");\n } else\n return /str$/.test(tag) \? buffer.raw().toString() : buffer.error(\"Decoding of string type: \" + tag + \" unsupported\");\n }\n }, DERNode.prototype._decodeObjid = function(buffer, values, relative) {\n let result, identifiers = [], ident = 0, subident = 0;\n for (;!buffer.isEmpty(); )\n subident = buffer.readUInt8(), ident <<= 7, ident |= subident & 127, (subident & 128) === 0 && (identifiers.push(ident), ident = 0);\n subident & 128 && identifiers.push(ident);\n let first = identifiers[0] / 40 | 0, second = identifiers[0] % 40;\n if (relative \? result = identifiers : result = [first, second].concat(identifiers.slice(1)), values) {\n let tmp = values[result.join(\" \")];\n tmp === void 0 && (tmp = values[result.join(\".\")]), tmp !== void 0 && (result = tmp);\n }\n return result;\n }, DERNode.prototype._decodeTime = function(buffer, tag) {\n let str = buffer.raw().toString(), year, mon, day, hour, min, sec;\n if (tag === \"gentime\")\n year = str.slice(0, 4) | 0, mon = str.slice(4, 6) | 0, day = str.slice(6, 8) | 0, hour = str.slice(8, 10) | 0, min = str.slice(10, 12) | 0, sec = str.slice(12, 14) | 0;\n else if (tag === \"utctime\")\n year = str.slice(0, 2) | 0, mon = str.slice(2, 4) | 0, day = str.slice(4, 6) | 0, hour = str.slice(6, 8) | 0, min = str.slice(8, 10) | 0, sec = str.slice(10, 12) | 0, year < 70 \? year = 2000 + year : year = 1900 + year;\n else\n return buffer.error(\"Decoding \" + tag + \" time is not supported yet\");\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n }, DERNode.prototype._decodeNull = function() {\n return null;\n }, DERNode.prototype._decodeBool = function(buffer) {\n let res = buffer.readUInt8();\n return buffer.isError(res) \? res : res !== 0;\n }, DERNode.prototype._decodeInt = function(buffer, values) {\n let raw = buffer.raw(), res = new bignum(raw);\n return values && (res = values[res.toString(10)] || res), res;\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getDecoder(\"der\").tree;\n };\n function derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n let cls = der.tagClass[tag >> 6], primitive = (tag & 32) === 0;\n if ((tag & 31) === 31) {\n let oct = tag;\n for (tag = 0;(oct & 128) === 128; ) {\n if (oct = buf.readUInt8(fail), buf.isError(oct))\n return oct;\n tag <<= 7, tag |= oct & 127;\n }\n } else\n tag &= 31;\n let tagStr = der.tag[tag];\n return {\n cls,\n primitive,\n tag,\n tagStr\n };\n }\n function derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n if (!primitive && len === 128)\n return null;\n if ((len & 128) === 0)\n return len;\n let num = len & 127;\n if (num > 4)\n return buf.error(\"length octect is too long\");\n len = 0;\n for (let i = 0;i < num; i++) {\n len <<= 8;\n let j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n return len;\n }\n }\n}), require_pem2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, DERDecoder = require_der3();\n function PEMDecoder(entity) {\n DERDecoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMDecoder, DERDecoder), module.exports = PEMDecoder, PEMDecoder.prototype.decode = function(data, options) {\n let lines = data.toString().split(/[\\r\\n]+/g), label = options.label.toUpperCase(), re = /^-----(BEGIN|END) ([^-]+)-----$/, start = -1, end = -1;\n for (let i = 0;i < lines.length; i++) {\n let match = lines[i].match(re);\n if (match !== null && match[2] === label)\n if (start === -1) {\n if (match[1] !== \"BEGIN\")\n break;\n start = i;\n } else {\n if (match[1] !== \"END\")\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error(\"PEM section not found for: \" + label);\n let base64 = lines.slice(start + 1, end).join(\"\");\n base64.replace(/[^a-z0-9+/=]+/gi, \"\");\n let input = Buffer2.from(base64, \"base64\");\n return DERDecoder.prototype.decode.@call(this, input, options);\n };\n }\n}), require_decoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/index.js\"(exports) {\n var decoders = exports;\n decoders.der = require_der3(), decoders.pem = require_pem2();\n }\n}), require_api = __commonJS({\n \"node_modules/asn1.js/lib/asn1/api.js\"(exports) {\n var encoders = require_encoders(), decoders = require_decoders(), inherits = require_inherits_browser(), api = exports;\n api.define = function(name, body) {\n return new Entity(name, body);\n };\n function Entity(name, body) {\n this.name = name, this.body = body, this.decoders = {}, this.encoders = {};\n }\n Entity.prototype = {}, Entity.prototype._createNamed = function(Base) {\n let name = this.name;\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n return inherits(Generated, Base), Generated.prototype._initNamed = function(entity, name2) {\n Base.@call(this, entity, name2);\n }, new Generated(this);\n }, Entity.prototype._getDecoder = function(enc) {\n return enc = enc || \"der\", this.decoders.hasOwnProperty(enc) || (this.decoders[enc] = this._createNamed(decoders[enc])), this.decoders[enc];\n }, Entity.prototype.decode = function(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n }, Entity.prototype._getEncoder = function(enc) {\n return enc = enc || \"der\", this.encoders.hasOwnProperty(enc) || (this.encoders[enc] = this._createNamed(encoders[enc])), this.encoders[enc];\n }, Entity.prototype.encode = function(data, enc, reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n };\n }\n}), require_base2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/index.js\"(exports) {\n var base = exports;\n base.Reporter = require_reporter().Reporter, base.DecoderBuffer = require_buffer().DecoderBuffer, base.EncoderBuffer = require_buffer().EncoderBuffer, base.Node = require_node();\n }\n}), require_constants = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/index.js\"(exports) {\n var constants = exports;\n constants._reverse = function(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }, constants.der = require_der();\n }\n}), require_asn1 = __commonJS({\n \"node_modules/asn1.js/lib/asn1.js\"(exports) {\n var asn1 = exports;\n asn1.bignum = require_bn5(), asn1.define = require_api().define, asn1.base = require_base2(), asn1.constants = require_constants(), asn1.decoders = require_decoders(), asn1.encoders = require_encoders();\n }\n}), require_certificate = __commonJS({\n \"node_modules/parse-asn1/certificate.js\"(exports, module) {\n var asn = require_asn1(), Time = asn.define(\"Time\", function() {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n });\n }), AttributeTypeValue = asn.define(\"AttributeTypeValue\", function() {\n this.seq().obj(this.key(\"type\").objid(), this.key(\"value\").any());\n }), AlgorithmIdentifier = asn.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"parameters\").optional(), this.key(\"curve\").objid().optional());\n }), SubjectPublicKeyInfo = asn.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n }), RelativeDistinguishedName = asn.define(\"RelativeDistinguishedName\", function() {\n this.setof(AttributeTypeValue);\n }), RDNSequence = asn.define(\"RDNSequence\", function() {\n this.seqof(RelativeDistinguishedName);\n }), Name = asn.define(\"Name\", function() {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n });\n }), Validity = asn.define(\"Validity\", function() {\n this.seq().obj(this.key(\"notBefore\").use(Time), this.key(\"notAfter\").use(Time));\n }), Extension = asn.define(\"Extension\", function() {\n this.seq().obj(this.key(\"extnID\").objid(), this.key(\"critical\").bool().def(!1), this.key(\"extnValue\").octstr());\n }), TBSCertificate = asn.define(\"TBSCertificate\", function() {\n this.seq().obj(this.key(\"version\").explicit(0).int().optional(), this.key(\"serialNumber\").int(), this.key(\"signature\").use(AlgorithmIdentifier), this.key(\"issuer\").use(Name), this.key(\"validity\").use(Validity), this.key(\"subject\").use(Name), this.key(\"subjectPublicKeyInfo\").use(SubjectPublicKeyInfo), this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(), this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(), this.key(\"extensions\").explicit(3).seqof(Extension).optional());\n }), X509Certificate = asn.define(\"X509Certificate\", function() {\n this.seq().obj(this.key(\"tbsCertificate\").use(TBSCertificate), this.key(\"signatureAlgorithm\").use(AlgorithmIdentifier), this.key(\"signatureValue\").bitstr());\n });\n module.exports = X509Certificate;\n }\n}), require_asn12 = __commonJS({\n \"node_modules/parse-asn1/asn1.js\"(exports) {\n var asn1 = require_asn1();\n exports.certificate = require_certificate();\n var RSAPrivateKey = asn1.define(\"RSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"modulus\").int(), this.key(\"publicExponent\").int(), this.key(\"privateExponent\").int(), this.key(\"prime1\").int(), this.key(\"prime2\").int(), this.key(\"exponent1\").int(), this.key(\"exponent2\").int(), this.key(\"coefficient\").int());\n });\n exports.RSAPrivateKey = RSAPrivateKey;\n var RSAPublicKey = asn1.define(\"RSAPublicKey\", function() {\n this.seq().obj(this.key(\"modulus\").int(), this.key(\"publicExponent\").int());\n });\n exports.RSAPublicKey = RSAPublicKey;\n var PublicKey = asn1.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n });\n exports.PublicKey = PublicKey;\n var AlgorithmIdentifier = asn1.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"none\").null_().optional(), this.key(\"curve\").objid().optional(), this.key(\"params\").seq().obj(this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int()).optional());\n }), PrivateKeyInfo = asn1.define(\"PrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.PrivateKey = PrivateKeyInfo;\n var EncryptedPrivateKeyInfo = asn1.define(\"EncryptedPrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(), this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(), this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(), this.key(\"iters\").int())), this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(), this.key(\"iv\").octstr()))), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo;\n var DSAPrivateKey = asn1.define(\"DSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int(), this.key(\"pub_key\").int(), this.key(\"priv_key\").int());\n });\n exports.DSAPrivateKey = DSAPrivateKey, exports.DSAparam = asn1.define(\"DSAparam\", function() {\n this.int();\n });\n var ECPrivateKey = asn1.define(\"ECPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"privateKey\").octstr(), this.key(\"parameters\").optional().explicit(0).use(ECParameters), this.key(\"publicKey\").optional().explicit(1).bitstr());\n });\n exports.ECPrivateKey = ECPrivateKey;\n var ECParameters = asn1.define(\"ECParameters\", function() {\n this.choice({\n namedCurve: this.objid()\n });\n });\n exports.signature = asn1.define(\"signature\", function() {\n this.seq().obj(this.key(\"r\").int(), this.key(\"s\").int());\n });\n }\n}), require_aesid = __commonJS({\n \"node_modules/parse-asn1/aesid.json\"(exports, module) {\n module.exports = {\n \"2.16.840.1.101.3.4.1.1\": \"aes-128-ecb\",\n \"2.16.840.1.101.3.4.1.2\": \"aes-128-cbc\",\n \"2.16.840.1.101.3.4.1.3\": \"aes-128-ofb\",\n \"2.16.840.1.101.3.4.1.4\": \"aes-128-cfb\",\n \"2.16.840.1.101.3.4.1.21\": \"aes-192-ecb\",\n \"2.16.840.1.101.3.4.1.22\": \"aes-192-cbc\",\n \"2.16.840.1.101.3.4.1.23\": \"aes-192-ofb\",\n \"2.16.840.1.101.3.4.1.24\": \"aes-192-cfb\",\n \"2.16.840.1.101.3.4.1.41\": \"aes-256-ecb\",\n \"2.16.840.1.101.3.4.1.42\": \"aes-256-cbc\",\n \"2.16.840.1.101.3.4.1.43\": \"aes-256-ofb\",\n \"2.16.840.1.101.3.4.1.44\": \"aes-256-cfb\"\n };\n }\n}), require_fixProc = __commonJS({\n \"node_modules/parse-asn1/fixProc.js\"(exports, module) {\n var findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((\?:128)|(\?:192)|(\?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m, startRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----/m, fullRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m, evp = require_evp_bytestokey(), ciphers = require_browser5(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(okey, password) {\n var key2 = okey.toString(), match = key2.match(findProc), decrypted;\n if (match) {\n var suite = \"aes\" + match[1], iv = Buffer2.from(match[2], \"hex\"), cipherText = Buffer2.from(match[3].replace(/[\\r\\n]/g, \"\"), \"base64\"), cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key, out = [], cipher = ciphers.createDecipheriv(suite, cipherKey, iv);\n out.push(cipher.update(cipherText)), out.push(cipher.final()), decrypted = Buffer2.concat(out);\n } else {\n var match2 = key2.match(fullRegex);\n decrypted = Buffer2.from(match2[2].replace(/[\\r\\n]/g, \"\"), \"base64\");\n }\n var tag = key2.match(startRegex)[1];\n return {\n tag,\n data: decrypted\n };\n };\n }\n}), require_parse_asn1 = __commonJS({\n \"node_modules/parse-asn1/index.js\"(exports, module) {\n var asn1 = require_asn12(), aesid = require_aesid(), fixProc = require_fixProc(), ciphers = require_browser5(), compat = require_browser4(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = parseKeys;\n function parseKeys(buffer) {\n var password;\n if (buffer instanceof KeyObject)\n buffer = buffer.export();\n else if (buffer instanceof CryptoKey)\n buffer = KeyObject.from(buffer).export();\n else if (typeof buffer == \"object\" && !Buffer2.isBuffer(buffer)) {\n if (password = buffer.passphrase, buffer = buffer.key, buffer instanceof KeyObject) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = buffer.export(options);\n } else if (buffer instanceof CryptoKey) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = KeyObject.from(buffer).export(options);\n }\n }\n typeof buffer == \"string\" && (buffer = Buffer2.from(buffer));\n var stripped = fixProc(buffer, password), type = stripped.tag, data = stripped.data, subtype, ndata;\n switch (type) {\n case \"CERTIFICATE\":\n ndata = asn1.certificate.decode(data, \"der\").tbsCertificate.subjectPublicKeyInfo;\n case \"PUBLIC KEY\":\n switch (ndata || (ndata = asn1.PublicKey.decode(data, \"der\")), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, \"der\");\n case \"1.2.840.10045.2.1\":\n return ndata.subjectPrivateKey = ndata.subjectPublicKey, {\n type: \"ec\",\n data: ndata\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, \"der\"), {\n type: \"dsa\",\n data: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"ENCRYPTED PRIVATE KEY\":\n data = asn1.EncryptedPrivateKey.decode(data, \"der\"), data = decrypt(data, password);\n case \"PRIVATE KEY\":\n switch (ndata = asn1.PrivateKey.decode(data, \"der\"), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, \"der\");\n case \"1.2.840.10045.2.1\":\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, \"der\").privateKey\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, \"der\"), {\n type: \"dsa\",\n params: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"RSA PUBLIC KEY\":\n return asn1.RSAPublicKey.decode(data, \"der\");\n case \"RSA PRIVATE KEY\":\n return asn1.RSAPrivateKey.decode(data, \"der\");\n case \"DSA PRIVATE KEY\":\n return {\n type: \"dsa\",\n params: asn1.DSAPrivateKey.decode(data, \"der\")\n };\n case \"EC PRIVATE KEY\":\n return data = asn1.ECPrivateKey.decode(data, \"der\"), {\n curve: data.parameters.value,\n privateKey: data.privateKey\n };\n default:\n throw new Error(\"unknown key type \" + type);\n }\n }\n parseKeys.signature = asn1.signature;\n function decrypt(data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt, iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10), algo = aesid[data.algorithm.decrypt.cipher.algo.join(\".\")], iv = data.algorithm.decrypt.cipher.iv, cipherText = data.subjectPrivateKey, keylen = parseInt(algo.split(\"-\")[1], 10) / 8, key2 = compat.pbkdf2Sync(password, salt, iters, keylen, \"sha1\"), cipher = ciphers.createDecipheriv(algo, key2, iv), out = [];\n return out.push(cipher.update(cipherText)), out.push(cipher.final()), Buffer2.concat(out);\n }\n }\n}), require_curves2 = __commonJS({\n \"node_modules/browserify-sign/browser/curves.json\"(exports, module) {\n module.exports = {\n \"1.3.132.0.10\": \"secp256k1\",\n \"1.3.132.0.33\": \"p224\",\n \"1.2.840.10045.3.1.1\": \"p192\",\n \"1.2.840.10045.3.1.7\": \"p256\",\n \"1.3.132.0.34\": \"p384\",\n \"1.3.132.0.35\": \"p521\"\n };\n }\n}), require_sign = __commonJS({\n \"node_modules/browserify-sign/browser/sign.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHmac = require_browser3(), crt = require_browserify_rsa(), EC = require_elliptic().ec, BN = require_bn3(), parseKeys = require_parse_asn1(), curves = require_curves2();\n function sign(hash, key2, hashType, signType, tag) {\n var priv = parseKeys(getKeyFrom(key2, \"private\"));\n if (priv.curve) {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n return ecSign(hash, priv);\n } else if (priv.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong private key type\");\n return dsaSign(hash, priv, hashType);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = priv.modulus.byteLength(), pad = [0, 1];hash.length + pad.length + 1 < len; )\n pad.push(255);\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n var out = crt(pad, priv);\n return out;\n }\n function ecSign(hash, priv) {\n var curveId = curves[priv.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + priv.curve.join(\".\"));\n var curve = new EC(curveId), key2 = curve.keyFromPrivate(priv.privateKey), out = key2.sign(hash);\n return Buffer2.from(out.toDER());\n }\n function dsaSign(hash, priv, algo) {\n for (var x = priv.params.priv_key, p = priv.params.p, q = priv.params.q, g = priv.params.g, r = new BN(0), k, H = bits2int(hash, q).mod(q), s = !1, kv = getKey(x, q, hash, algo);s === !1; )\n k = makeKey(q, kv, algo), r = makeR(g, k, p, q), s = k.invm(q).imul(H.add(x.mul(r))).mod(q), s.cmpn(0) === 0 && (s = !1, r = new BN(0));\n return toDER(r, s);\n }\n function toDER(r, s) {\n r = r.toArray(), s = s.toArray(), r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s));\n var total = r.length + s.length + 4, res = [48, total, 2, r.length];\n return res = res.concat(r, [2, s.length], s), Buffer2.from(res);\n }\n function getKey(x, q, hash, algo) {\n if (x = Buffer2.from(x.toArray()), x.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - x.length);\n x = Buffer2.concat([zeros, x]);\n }\n var hlen = hash.length, hbits = bits2octets(hash, q), v = Buffer2.alloc(hlen);\n v.fill(1);\n var k = Buffer2.alloc(hlen);\n return k = createHmac(algo, k).update(v).update(Buffer2.from([0])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), k = createHmac(algo, k).update(v).update(Buffer2.from([1])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), { k, v };\n }\n function bits2int(obits, q) {\n var bits = new BN(obits), shift = (obits.length << 3) - q.bitLength();\n return shift > 0 && bits.ishrn(shift), bits;\n }\n function bits2octets(bits, q) {\n bits = bits2int(bits, q), bits = bits.mod(q);\n var out = Buffer2.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - out.length);\n out = Buffer2.concat([zeros, out]);\n }\n return out;\n }\n function makeKey(q, kv, algo) {\n var t, k;\n do {\n for (t = Buffer2.alloc(0);t.length * 8 < q.bitLength(); )\n kv.v = createHmac(algo, kv.k).update(kv.v).digest(), t = Buffer2.concat([t, kv.v]);\n k = bits2int(t, q), kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer2.from([0])).digest(), kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n return k;\n }\n function makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n }\n module.exports = sign, module.exports.getKey = getKey, module.exports.makeKey = makeKey;\n }\n}), require_verify = __commonJS({\n \"node_modules/browserify-sign/browser/verify.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, BN = require_bn3(), EC = require_elliptic().ec, parseKeys = require_parse_asn1(), curves = require_curves2();\n function verify(sig, hash, key2, signType, tag) {\n var pub = parseKeys(getKeyFrom(key2, \"public\"));\n if (pub.type === \"ec\") {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n return ecVerify(sig, hash, pub);\n } else if (pub.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong public key type\");\n return dsaVerify(sig, hash, pub);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = pub.modulus.byteLength(), pad = [1], padNum = 0;hash.length + pad.length + 2 < len; )\n pad.push(255), padNum++;\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n pad = Buffer2.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red), sig = sig.redPow(new BN(pub.publicExponent)), sig = Buffer2.from(sig.fromRed().toArray());\n var out = padNum < 8 \? 1 : 0;\n for (len = Math.min(sig.length, pad.length), sig.length !== pad.length && (out = 1), i = -1;++i < len; )\n out |= sig[i] ^ pad[i];\n return out === 0;\n }\n function ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + pub.data.algorithm.curve.join(\".\"));\n var curve = new EC(curveId), pubkey = pub.data.subjectPrivateKey.data;\n return curve.verify(hash, sig, pubkey);\n }\n function dsaVerify(sig, hash, pub) {\n var p = pub.data.p, q = pub.data.q, g = pub.data.g, y = pub.data.pub_key, unpacked = parseKeys.signature.decode(sig, \"der\"), s = unpacked.s, r = unpacked.r;\n checkValue(s, q), checkValue(r, q);\n var montp = BN.mont(p), w = s.invm(q), v = g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q);\n return v.cmp(r) === 0;\n }\n function checkValue(b, q) {\n if (b.cmpn(0) <= 0)\n throw new Error(\"invalid sig\");\n if (b.cmp(q) >= q)\n throw new Error(\"invalid sig\");\n }\n module.exports = verify;\n }\n}), require_browser8 = __commonJS({\n \"node_modules/browserify-sign/browser/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHash = require_browser2(), inherits = require_inherits_browser(), sign = require_sign(), verify = require_verify(), algorithms = require_algorithms();\n Object.keys(algorithms).forEach(function(key2) {\n algorithms[key2].id = Buffer2.from(algorithms[key2].id, \"hex\"), algorithms[key2.toLowerCase()] = algorithms[key2];\n });\n function Sign(algorithm) {\n if (typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n StreamModule.Writable.@call(this);\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hashType = data.hash, this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Sign, StreamModule.Writable), Sign.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Sign.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Sign.prototype.sign = function(key2, enc) {\n this.end();\n var hash = this._hash.digest(), sig = sign(hash, key2, this._hashType, this._signType, this._tag);\n return enc \? sig.toString(enc) : sig;\n };\n function Verify(algorithm) {\n if (StreamModule.Writable.@call(this), typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Verify, StreamModule.Writable), Verify.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Verify.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Verify.prototype.verify = function(key2, sig, enc) {\n typeof sig == \"string\" && (sig = Buffer2.from(sig, enc)), this.end();\n var hash = this._hash.digest();\n return verify(sig, hash, key2, this._signType, this._tag);\n };\n function createSign(algorithm) {\n return new Sign(algorithm);\n }\n function createVerify(algorithm) {\n return new Verify(algorithm);\n }\n module.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign,\n createVerify\n };\n }\n}), require_bn6 = require_bn, require_browser9 = __commonJS({\n \"node_modules/create-ecdh/browser.js\"(exports, module) {\n var elliptic = require_elliptic(), BN = require_bn6();\n module.exports = function(curve) {\n return new ECDH(curve);\n };\n var aliases = {\n secp256k1: {\n name: \"secp256k1\",\n byteLength: 32\n },\n secp224r1: {\n name: \"p224\",\n byteLength: 28\n },\n prime256v1: {\n name: \"p256\",\n byteLength: 32\n },\n prime192v1: {\n name: \"p192\",\n byteLength: 24\n },\n ed25519: {\n name: \"ed25519\",\n byteLength: 32\n },\n secp384r1: {\n name: \"p384\",\n byteLength: 48\n },\n secp521r1: {\n name: \"p521\",\n byteLength: 66\n }\n };\n aliases.p224 = aliases.secp224r1, aliases.p256 = aliases.secp256r1 = aliases.prime256v1, aliases.p192 = aliases.secp192r1 = aliases.prime192v1, aliases.p384 = aliases.secp384r1, aliases.p521 = aliases.secp521r1;\n function ECDH(curve) {\n this.curveType = aliases[curve], this.curveType || (this.curveType = {\n name: curve\n }), this.curve = new elliptic.ec(this.curveType.name), this.keys = void 0;\n }\n ECDH.prototype = {}, ECDH.prototype.generateKeys = function(enc, format) {\n return this.keys = this.curve.genKeyPair(), this.getPublicKey(enc, format);\n }, ECDH.prototype.computeSecret = function(other, inenc, enc) {\n inenc = inenc || \"utf8\", Buffer.isBuffer(other) || (other = new Buffer(other, inenc));\n var otherPub = this.curve.keyFromPublic(other).getPublic(), out = otherPub.mul(this.keys.getPrivate()).getX();\n return formatReturnValue(out, enc, this.curveType.byteLength);\n }, ECDH.prototype.getPublicKey = function(enc, format) {\n var key2 = this.keys.getPublic(format === \"compressed\", !0);\n return format === \"hybrid\" && (key2[key2.length - 1] % 2 \? key2[0] = 7 : key2[0] = 6), formatReturnValue(key2, enc);\n }, ECDH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this.keys.getPrivate(), enc);\n }, ECDH.prototype.setPublicKey = function(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this.keys._importPublic(pub), this;\n }, ECDH.prototype.setPrivateKey = function(priv, enc) {\n enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc));\n var _priv = new BN(priv);\n return _priv = _priv.toString(16), this.keys = this.curve.genKeyPair(), this.keys._importPrivate(_priv), this;\n };\n function formatReturnValue(bn, enc, len) {\n @Array.isArray(bn) || (bn = bn.toArray());\n var buf = new Buffer(bn);\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length);\n zeros.fill(0), buf = Buffer.concat([zeros, buf]);\n }\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_mgf = __commonJS({\n \"node_modules/public-encrypt/mgf.js\"(exports, module) {\n var createHash = require_browser2(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(seed, len) {\n for (var t = Buffer2.alloc(0), i = 0, c;t.length < len; )\n c = i2ops(i++), t = Buffer2.concat([t, createHash(\"sha1\").update(seed).update(c).digest()]);\n return t.slice(0, len);\n };\n function i2ops(c) {\n var out = Buffer2.allocUnsafe(4);\n return out.writeUInt32BE(c, 0), out;\n }\n }\n}), require_xor = __commonJS({\n \"node_modules/public-encrypt/xor.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var len = a.length, i = -1;++i < len; )\n a[i] ^= b[i];\n return a;\n };\n }\n}), require_bn7 = require_bn, { CryptoHasher } = globalThis.Bun, require_withPublic = __commonJS({\n \"node_modules/public-encrypt/withPublic.js\"(exports, module) {\n var BN = require_bn7(), Buffer2 = require_safe_buffer().Buffer;\n function withPublic(paddedMsg, key2) {\n return Buffer2.from(paddedMsg.toRed(BN.mont(key2.modulus)).redPow(new BN(key2.publicExponent)).fromRed().toArray());\n }\n module.exports = withPublic;\n }\n}), require_publicEncrypt = __commonJS({\n \"node_modules/public-encrypt/publicEncrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), randomBytes = require_browser(), createHash = require_browser2(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), withPublic = require_withPublic(), crt = require_browserify_rsa(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(publicKey, msg, reverse) {\n var padding;\n publicKey.padding \? padding = publicKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(publicKey), paddedMsg;\n if (padding === 4)\n paddedMsg = oaep(key2, msg);\n else if (padding === 1)\n paddedMsg = pkcs1(key2, msg, reverse);\n else if (padding === 3) {\n if (paddedMsg = new BN(msg), paddedMsg.cmp(key2.modulus) >= 0)\n throw new Error(\"data too long for modulus\");\n } else\n throw new Error(\"unknown padding\");\n return reverse \? crt(paddedMsg, key2) : withPublic(paddedMsg, key2);\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), mLen = msg.length, iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length, hLen2 = 2 * hLen;\n if (mLen > k - hLen2 - 2)\n throw new Error(\"message too long\");\n var ps = Buffer2.alloc(k - mLen - hLen2 - 2), dblen = k - hLen - 1, seed = randomBytes(hLen), maskedDb = xor(Buffer2.concat([iHash, ps, Buffer2.alloc(1, 1), msg], dblen), mgf(seed, dblen)), maskedSeed = xor(seed, mgf(maskedDb, hLen));\n return new BN(Buffer2.concat([Buffer2.alloc(1), maskedSeed, maskedDb], k));\n }\n function pkcs1(key2, msg, reverse) {\n var mLen = msg.length, k = key2.modulus.byteLength();\n if (mLen > k - 11)\n throw new Error(\"message too long\");\n var ps;\n return reverse \? ps = Buffer2.alloc(k - mLen - 3, 255) : ps = nonZero(k - mLen - 3), new BN(Buffer2.concat([Buffer2.from([0, reverse \? 1 : 2]), ps, Buffer2.alloc(1), msg], k));\n }\n function nonZero(len) {\n for (var out = Buffer2.allocUnsafe(len), i = 0, cache = randomBytes(len * 2), cur = 0, num;i < len; )\n cur === cache.length && (cache = randomBytes(len * 2), cur = 0), num = cache[cur++], num && (out[i++] = num);\n return out;\n }\n }\n}), require_privateDecrypt = __commonJS({\n \"node_modules/public-encrypt/privateDecrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), crt = require_browserify_rsa(), createHash = require_browser2(), withPublic = require_withPublic(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(privateKey, enc, reverse) {\n var padding;\n privateKey.padding \? padding = privateKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(privateKey), k = key2.modulus.byteLength();\n if (enc.length > k || new BN(enc).cmp(key2.modulus) >= 0)\n throw new Error(\"decryption error\");\n var msg;\n reverse \? msg = withPublic(new BN(enc), key2) : msg = crt(enc, key2);\n var zBuffer = Buffer2.alloc(k - msg.length);\n if (msg = Buffer2.concat([zBuffer, msg], k), padding === 4)\n return oaep(key2, msg);\n if (padding === 1)\n return pkcs1(key2, msg, reverse);\n if (padding === 3)\n return msg;\n throw new Error(\"unknown padding\");\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length;\n if (msg[0] !== 0)\n throw new Error(\"decryption error\");\n var maskedSeed = msg.slice(1, hLen + 1), maskedDb = msg.slice(hLen + 1), seed = xor(maskedSeed, mgf(maskedDb, hLen)), db = xor(maskedDb, mgf(seed, k - hLen - 1));\n if (compare(iHash, db.slice(0, hLen)))\n throw new Error(\"decryption error\");\n for (var i = hLen;db[i] === 0; )\n i++;\n if (db[i++] !== 1)\n throw new Error(\"decryption error\");\n return db.slice(i);\n }\n function pkcs1(key2, msg, reverse) {\n for (var p1 = msg.slice(0, 2), i = 2, status = 0;msg[i++] !== 0; )\n if (i >= msg.length) {\n status++;\n break;\n }\n var ps = msg.slice(2, i - 1);\n if ((p1.toString(\"hex\") !== \"0002\" && !reverse || p1.toString(\"hex\") !== \"0001\" && reverse) && status++, ps.length < 8 && status++, status)\n throw new Error(\"decryption error\");\n return msg.slice(i);\n }\n function compare(a, b) {\n a = Buffer2.from(a), b = Buffer2.from(b);\n var dif = 0, len = a.length;\n a.length !== b.length && (dif++, len = Math.min(a.length, b.length));\n for (var i = -1;++i < len; )\n dif += a[i] ^ b[i];\n return dif;\n }\n }\n}), require_browser10 = __commonJS({\n \"node_modules/public-encrypt/browser.js\"(exports) {\n var publicEncrypt = require_publicEncrypt();\n exports.publicEncrypt = function(key2, buf, options) {\n return publicEncrypt(getKeyFrom(key2, \"public\"), buf, options);\n };\n var privateDecrypt = require_privateDecrypt();\n exports.privateDecrypt = function(key2, buf, options) {\n return privateDecrypt(getKeyFrom(key2, \"private\"), buf, options);\n }, exports.privateEncrypt = function(key2, buf) {\n return publicEncrypt(getKeyFrom(key2, \"private\"), buf, !0);\n }, exports.publicDecrypt = function(key2, buf) {\n return privateDecrypt(getKeyFrom(key2, \"public\"), buf, !0);\n };\n }\n}), require_browser11 = __commonJS({\n \"node_modules/randomfill/browser.js\"(exports) {\n var safeBuffer = require_safe_buffer(), randombytes = require_browser(), Buffer2 = safeBuffer.Buffer, kBufferMaxLength = safeBuffer.kMaxLength, kMaxUint32 = Math.pow(2, 32) - 1;\n function assertOffset(offset, length) {\n if (typeof offset != \"number\" || offset !== offset)\n @throwTypeError(\"offset must be a number\");\n if (offset > kMaxUint32 || offset < 0)\n @throwTypeError(\"offset must be a uint32\");\n if (offset > kBufferMaxLength || offset > length)\n @throwRangeError(\"offset out of range\");\n }\n function assertSize(size, offset, length) {\n if (typeof size != \"number\" || size !== size)\n @throwTypeError(\"size must be a number\");\n if (size > kMaxUint32 || size < 0)\n @throwTypeError(\"size must be a uint32\");\n if (size + offset > length || size > kBufferMaxLength)\n @throwRangeError(\"buffer too small\");\n }\n exports.randomFill = randomFill, exports.randomFillSync = randomFillSync;\n function randomFill(buf, offset, size, cb) {\n if (!Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n if (typeof offset == \"function\")\n cb = offset, offset = 0, size = buf.length;\n else if (typeof size == \"function\")\n cb = size, size = buf.length - offset;\n else if (typeof cb != \"function\")\n @throwTypeError('\"cb\" argument must be a function');\n return assertOffset(offset, buf.length), assertSize(size, offset, buf.length), actualFill(buf, offset, size, cb);\n }\n function actualFill(buf, offset, size, cb) {\n if (cb) {\n randombytes(size, function(err, bytes2) {\n if (err)\n return cb(err);\n bytes2.copy(buf, offset), cb(null, buf);\n });\n return;\n }\n var bytes = randombytes(size);\n return bytes.copy(buf, offset), buf;\n }\n function randomFillSync(buf, offset, size) {\n if (typeof offset > \"u\" && (offset = 0), !Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n return assertOffset(offset, buf.length), size === void 0 && (size = buf.length - offset), assertSize(size, offset, buf.length), actualFill(buf, offset, size);\n }\n }\n}), require_crypto_browserify2 = __commonJS({\n \"node_modules/crypto-browserify/index.js\"(exports) {\n exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require_browser(), exports.createHash = require_browser2(), exports.Hash = exports.createHash.Hash, exports.createHmac = exports.Hmac = require_browser3();\n var algos = require_algos(), algoKeys = Object.keys(algos), hashes = [\"sha1\", \"sha224\", \"sha256\", \"sha384\", \"sha512\", \"md5\", \"rmd160\"].concat(algoKeys);\n exports.getHashes = function() {\n return hashes;\n };\n var p = require_browser4();\n exports.pbkdf2 = p.pbkdf2, exports.pbkdf2Sync = p.pbkdf2Sync;\n var aes = require_browser6();\n exports.Cipher = aes.Cipher, exports.createCipher = aes.createCipher, exports.Cipheriv = aes.Cipheriv, exports.createCipheriv = aes.createCipheriv, exports.Decipher = aes.Decipher, exports.createDecipher = aes.createDecipher, exports.Decipheriv = aes.Decipheriv, exports.createDecipheriv = aes.createDecipheriv, exports.getCiphers = aes.getCiphers, exports.listCiphers = aes.listCiphers;\n var dh = require_browser7();\n exports.DiffieHellmanGroup = dh.DiffieHellmanGroup, exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup, exports.getDiffieHellman = dh.getDiffieHellman, exports.createDiffieHellman = dh.createDiffieHellman, exports.DiffieHellman = dh.DiffieHellman;\n var sign = require_browser8();\n exports.createSign = sign.createSign, exports.Sign = sign.Sign, exports.createVerify = sign.createVerify, exports.Verify = sign.Verify, exports.createECDH = require_browser9();\n var publicEncrypt = require_browser10();\n exports.publicEncrypt = publicEncrypt.publicEncrypt, exports.privateEncrypt = publicEncrypt.privateEncrypt, exports.publicDecrypt = publicEncrypt.publicDecrypt, exports.privateDecrypt = publicEncrypt.privateDecrypt, exports.getRandomValues = (values) => crypto.getRandomValues(values);\n var rf = require_browser11();\n exports.randomFill = rf.randomFill, exports.randomFillSync = rf.randomFillSync, exports.createCredentials = function() {\n throw new Error([\n \"sorry, createCredentials is not implemented yet\",\n \"we accept pull requests\",\n \"https://github.com/crypto-browserify/crypto-browserify\"\n ].join(`\n`));\n }, exports.constants = @processBindingConstants.crypto;\n }\n}), crypto_exports = require_crypto_browserify2(), DEFAULT_ENCODING = \"buffer\", getRandomValues = (array) => crypto.getRandomValues(array), randomUUID = () => crypto.randomUUID(), randomInt = (...args) => crypto.randomInt(...args), timingSafeEqual = \"timingSafeEqual\" in crypto \? (a, b) => {\n let { byteLength: byteLengthA } = a, { byteLength: byteLengthB } = b;\n if (typeof byteLengthA != \"number\" || typeof byteLengthB != \"number\")\n @throwTypeError(\"Input must be an array buffer view\");\n if (byteLengthA !== byteLengthB)\n @throwRangeError(\"Input buffers must have the same length\");\n return crypto.timingSafeEqual(a, b);\n} : void 0, scryptSync = \"scryptSync\" in crypto \? (password, salt, keylen, options) => {\n let res = crypto.scryptSync(password, salt, keylen, options);\n return DEFAULT_ENCODING !== \"buffer\" \? new Buffer(res).toString(DEFAULT_ENCODING) : new Buffer(res);\n} : void 0, scrypt = \"scryptSync\" in crypto \? function(password, salt, keylen, options, callback) {\n if (typeof options == \"function\" && (callback = options, options = void 0), typeof callback != \"function\") {\n var err = @makeTypeError(\"callback must be a function\");\n throw err.code = \"ERR_INVALID_CALLBACK\", err;\n }\n try {\n let result = crypto.scryptSync(password, salt, keylen, options);\n process.nextTick(callback, null, DEFAULT_ENCODING !== \"buffer\" \? new Buffer(result).toString(DEFAULT_ENCODING) : new Buffer(result));\n } catch (err2) {\n throw err2;\n }\n} : void 0;\ntimingSafeEqual && (Object.defineProperty(timingSafeEqual, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scrypt, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scryptSync, \"name\", {\n value: \"::bunternal::\"\n}));\nvar harcoded_curves = [\n \"p192\",\n \"p224\",\n \"p256\",\n \"p384\",\n \"p521\",\n \"curve25519\",\n \"ed25519\",\n \"secp256k1\",\n \"secp224r1\",\n \"prime256v1\",\n \"prime192v1\",\n \"ed25519\",\n \"secp384r1\",\n \"secp521r1\"\n], {\n symmetricKeySize,\n asymmetricKeyDetails,\n asymmetricKeyType,\n equals,\n exports,\n createSecretKey,\n createPublicKey,\n createPrivateKey,\n generateKeySync,\n generateKeyPairSync\n} = @lazy(\"internal/crypto\"), kCryptoKey = Symbol.for(\"::bunKeyObjectCryptoKey::\");\n\nclass KeyObject {\n [kCryptoKey];\n constructor(key2) {\n if (typeof key2 !== \"object\")\n @throwTypeError('The \"key\" argument must be an instance of CryptoKey.');\n this[kCryptoKey] = key2;\n }\n toString() {\n return \"[object KeyObject]\";\n }\n static from(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2[kCryptoKey];\n return new KeyObject(key2);\n }\n get asymmetricKeyDetails() {\n return asymmetricKeyDetails(this[kCryptoKey]);\n }\n get symmetricKeySize() {\n return symmetricKeySize(this[kCryptoKey]);\n }\n get asymmetricKeyType() {\n return asymmetricKeyType(this[kCryptoKey]);\n }\n [\"export\"](options) {\n switch (arguments.length) {\n case 0:\n switch (this.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\"\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\"\n };\n break;\n }\n break;\n case 1:\n if (typeof options === \"object\" && !options.format)\n switch (this.type) {\n case \"secret\":\n options.format = \"buffer\";\n break;\n default:\n options.format = \"pem\";\n break;\n }\n }\n return exports(this[kCryptoKey], options);\n }\n equals(otherKey) {\n if (!(otherKey instanceof KeyObject))\n @throwTypeError(\"otherKey must be a KeyObject\");\n return equals(this[kCryptoKey], otherKey[kCryptoKey]);\n }\n get type() {\n return this[kCryptoKey].type;\n }\n}\ncrypto_exports.generateKeySync = function(algorithm, options) {\n return KeyObject.from(generateKeySync(algorithm, options\?.length));\n};\ncrypto_exports.generateKey = function(algorithm, options, callback) {\n try {\n const key2 = KeyObject.from(generateKeySync(algorithm, options\?.length));\n typeof callback === \"function\" && callback(null, KeyObject.from(key2));\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.generateKeyPairSync = _generateKeyPairSync;\ncrypto_exports.generateKeyPair = function(algorithm, options, callback) {\n try {\n const result = _generateKeyPairSync(algorithm, options);\n typeof callback === \"function\" && callback(null, result.publicKey, result.privateKey);\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.createSecretKey = function(key2, encoding) {\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type !== \"secret\") {\n const error = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected secret`);\n throw error.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error;\n }\n return KeyObject.from(key2);\n }\n const buffer = getArrayBufferOrView(key2, encoding || \"utf8\");\n return KeyObject.from(createSecretKey(buffer));\n};\ncrypto_exports.createPrivateKey = _createPrivateKey;\ncrypto_exports.createPublicKey = _createPublicKey;\ncrypto_exports.KeyObject = KeyObject;\nvar _createSign = crypto_exports.createSign;\ncrypto_exports.sign = function(algorithm, data, key2, encoding, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n};\nvar _createVerify = crypto_exports.createVerify;\ncrypto_exports.verify = function(algorithm, data, key2, signature, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createVerify(algorithm).update(data).verify(key2, signature);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createVerify(algorithm).update(data).verify(key2, signature);\n};\nvar webcrypto = crypto;\n__export(crypto_exports, {\n DEFAULT_ENCODING: () => DEFAULT_ENCODING,\n getRandomValues: () => getRandomValues,\n randomUUID: () => randomUUID,\n randomInt: () => randomInt,\n getCurves: () => getCurves,\n scrypt: () => scrypt,\n scryptSync: () => scryptSync,\n timingSafeEqual: () => timingSafeEqual,\n webcrypto: () => webcrypto,\n subtle: () => webcrypto.subtle\n});\n$ = crypto_exports;\n/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nreturn $})\n"); +static constexpr ASCIILiteral NodeCryptoCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/crypto.ts\nvar exportIfKeyObject = function(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n return key2;\n}, getKeyFrom = function(key2, type) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n else if (!Buffer.isBuffer(key2) && typeof key2 === \"object\") {\n if ((typeof key2.format === \"string\" || typeof key2.passphrase === \"string\") && typeof key2.key !== \"undefined\")\n key2 = type === \"public\" \? _createPublicKey(key2).export() : _createPrivateKey(key2).export();\n } else if (typeof key2 === \"string\" && type === \"public\")\n key2.indexOf(\"PRIVATE KEY-----\") !== -1 && (key2 = _createPublicKey(key2).export());\n return key2;\n}, getArrayBufferOrView = function(buffer, name, encoding) {\n if (buffer instanceof KeyObject) {\n if (buffer.type !== \"secret\") {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key.type}, expected secret`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n buffer = buffer.export();\n }\n if (isAnyArrayBuffer(buffer))\n return buffer;\n if (typeof buffer === \"string\") {\n if (encoding === \"buffer\")\n encoding = \"utf8\";\n return Buffer.from(buffer, encoding);\n }\n if (!isArrayBufferView(buffer)) {\n var error = @makeTypeError(`ERR_INVALID_ARG_TYPE: The \"${name}\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received ` + buffer);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n return buffer;\n}, getCurves = function() {\n return harcoded_curves;\n}, _generateKeyPairSync = function(algorithm, options) {\n const result = generateKeyPairSync(algorithm, options);\n if (result) {\n const publicKeyEncoding = options\?.publicKeyEncoding, privateKeyEncoding = options\?.privateKeyEncoding;\n result.publicKey = publicKeyEncoding \? KeyObject.from(result.publicKey).export(publicKeyEncoding) : KeyObject.from(result.publicKey), result.privateKey = privateKeyEncoding \? KeyObject.from(result.privateKey).export(privateKeyEncoding) : KeyObject.from(result.privateKey);\n }\n return result;\n}, _createPrivateKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + actual_key);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPrivateKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, _createPublicKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type === \"private\")\n return KeyObject.from(createPublicKey({ key: key2[kCryptoKey] || key2, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n if (key2.passphrase) {\n let actual_key2 = key2.key;\n if (typeof actual_key2 === \"string\")\n actual_key2 = Buffer.from(actual_key2, key2.encoding || \"utf8\");\n return KeyObject.from(createPublicKey({\n key: createPrivateKey({ key: actual_key2, format: key2.format, passphrase: key2.passphrase }),\n format: \"\"\n }));\n }\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n if (actual_key.type === \"private\")\n return KeyObject.from(createPublicKey({ key: actual_key[kCryptoKey] || actual_key, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${actual_key.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPublicKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, $, __defProp = Object.defineProperty, __getOwnPropNames = Object.getOwnPropertyNames, StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), BufferModule = @requireNativeModule(\"buffer\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, MAX_STRING_LENGTH = 536870888, Buffer = globalThis.Buffer, EMPTY_BUFFER = Buffer.alloc(0), { isAnyArrayBuffer, isArrayBufferView } = @requireNativeModule(\"util/types\"), crypto = globalThis.crypto, globalCrypto = crypto, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, require_safe_buffer = __commonJS({\n \"node_modules/safe-buffer/index.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src)\n dst[key2] = src[key2];\n }\n Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow \? module.exports = buffer : (copyProps(buffer, exports), exports.Buffer = SafeBuffer);\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer2(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer2.prototype), copyProps(Buffer2, SafeBuffer), SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg == \"number\")\n @throwTypeError(\"Argument must not be a number\");\n return Buffer2(arg, encodingOrOffset, length);\n }, SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n var buf = Buffer2(size);\n return fill !== void 0 \? typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill) : buf.fill(0), buf;\n }, SafeBuffer.allocUnsafe = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return Buffer2(size);\n }, SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return buffer.SlowBuffer(size);\n };\n }\n}), require_browser = __commonJS({\n \"node_modules/randombytes/browser.js\"(exports, module) {\n var MAX_BYTES = 65536, MAX_UINT32 = 4294967295;\n function oldBrowser() {\n throw new Error(`Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11`);\n }\n var Buffer2 = require_safe_buffer().Buffer, crypto2 = globalCrypto;\n crypto2 && crypto2.getRandomValues \? module.exports = randomBytes : module.exports = oldBrowser;\n function randomBytes(size, cb) {\n if (size > MAX_UINT32)\n @throwRangeError(\"requested too many random bytes\");\n var bytes = Buffer2.allocUnsafe(size);\n if (size > 0)\n if (size > MAX_BYTES)\n for (var generated = 0;generated < size; generated += MAX_BYTES)\n crypto2.getRandomValues(bytes.slice(generated, generated + MAX_BYTES));\n else\n crypto2.getRandomValues(bytes);\n return typeof cb == \"function\" \? process.nextTick(function() {\n cb(null, bytes);\n }) : bytes;\n }\n }\n}), require_inherits_browser = __commonJS({\n \"node_modules/inherits/inherits_browser.js\"(exports, module) {\n module.exports = function(ctor, superCtor) {\n superCtor && (ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }));\n };\n }\n}), require_hash_base = __commonJS({\n \"node_modules/hash-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function throwIfNotStringOrBuffer(val, prefix) {\n if (!Buffer2.isBuffer(val) && typeof val != \"string\")\n @throwTypeError(prefix + \" must be a string or a buffer\");\n }\n function HashBase(blockSize) {\n StreamModule.Transform.@call(this), this._block = Buffer2.allocUnsafe(blockSize), this._blockSize = blockSize, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1;\n }\n inherits(HashBase, StreamModule.Transform), HashBase.prototype._transform = function(chunk, encoding, callback) {\n var error = null;\n try {\n this.update(chunk, encoding);\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype._flush = function(callback) {\n var error = null;\n try {\n this.push(this.digest());\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype.update = function(data, encoding) {\n if (throwIfNotStringOrBuffer(data, \"Data\"), this._finalized)\n throw new Error(\"Digest already called\");\n Buffer2.isBuffer(data) || (data = Buffer2.from(data, encoding));\n for (var block = this._block, offset = 0;this._blockOffset + data.length - offset >= this._blockSize; ) {\n for (var i = this._blockOffset;i < this._blockSize; )\n block[i++] = data[offset++];\n this._update(), this._blockOffset = 0;\n }\n for (;offset < data.length; )\n block[this._blockOffset++] = data[offset++];\n for (var j = 0, carry = data.length * 8;carry > 0; ++j)\n this._length[j] += carry, carry = this._length[j] / 4294967296 | 0, carry > 0 && (this._length[j] -= 4294967296 * carry);\n return this;\n }, HashBase.prototype._update = function() {\n throw new Error(\"_update is not implemented\");\n }, HashBase.prototype.digest = function(encoding) {\n if (this._finalized)\n throw new Error(\"Digest already called\");\n this._finalized = !0;\n var digest = this._digest();\n encoding !== void 0 && (digest = digest.toString(encoding)), this._block.fill(0), this._blockOffset = 0;\n for (var i = 0;i < 4; ++i)\n this._length[i] = 0;\n return digest;\n }, HashBase.prototype._digest = function() {\n throw new Error(\"_digest is not implemented\");\n }, module.exports = HashBase;\n }\n}), require_md5 = __commonJS({\n \"node_modules/md5.js/index.js\"(exports, module) {\n var inherits = require_inherits_browser(), HashBase = require_hash_base(), Buffer2 = require_safe_buffer().Buffer, ARRAY16 = new @Array(16);\n function MD5() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878;\n }\n inherits(MD5, HashBase), MD5.prototype._update = function() {\n for (var M = ARRAY16, i = 0;i < 16; ++i)\n M[i] = this._block.readInt32LE(i * 4);\n var a = this._a, b = this._b, c = this._c, d = this._d;\n a = fnF(a, b, c, d, M[0], 3614090360, 7), d = fnF(d, a, b, c, M[1], 3905402710, 12), c = fnF(c, d, a, b, M[2], 606105819, 17), b = fnF(b, c, d, a, M[3], 3250441966, 22), a = fnF(a, b, c, d, M[4], 4118548399, 7), d = fnF(d, a, b, c, M[5], 1200080426, 12), c = fnF(c, d, a, b, M[6], 2821735955, 17), b = fnF(b, c, d, a, M[7], 4249261313, 22), a = fnF(a, b, c, d, M[8], 1770035416, 7), d = fnF(d, a, b, c, M[9], 2336552879, 12), c = fnF(c, d, a, b, M[10], 4294925233, 17), b = fnF(b, c, d, a, M[11], 2304563134, 22), a = fnF(a, b, c, d, M[12], 1804603682, 7), d = fnF(d, a, b, c, M[13], 4254626195, 12), c = fnF(c, d, a, b, M[14], 2792965006, 17), b = fnF(b, c, d, a, M[15], 1236535329, 22), a = fnG(a, b, c, d, M[1], 4129170786, 5), d = fnG(d, a, b, c, M[6], 3225465664, 9), c = fnG(c, d, a, b, M[11], 643717713, 14), b = fnG(b, c, d, a, M[0], 3921069994, 20), a = fnG(a, b, c, d, M[5], 3593408605, 5), d = fnG(d, a, b, c, M[10], 38016083, 9), c = fnG(c, d, a, b, M[15], 3634488961, 14), b = fnG(b, c, d, a, M[4], 3889429448, 20), a = fnG(a, b, c, d, M[9], 568446438, 5), d = fnG(d, a, b, c, M[14], 3275163606, 9), c = fnG(c, d, a, b, M[3], 4107603335, 14), b = fnG(b, c, d, a, M[8], 1163531501, 20), a = fnG(a, b, c, d, M[13], 2850285829, 5), d = fnG(d, a, b, c, M[2], 4243563512, 9), c = fnG(c, d, a, b, M[7], 1735328473, 14), b = fnG(b, c, d, a, M[12], 2368359562, 20), a = fnH(a, b, c, d, M[5], 4294588738, 4), d = fnH(d, a, b, c, M[8], 2272392833, 11), c = fnH(c, d, a, b, M[11], 1839030562, 16), b = fnH(b, c, d, a, M[14], 4259657740, 23), a = fnH(a, b, c, d, M[1], 2763975236, 4), d = fnH(d, a, b, c, M[4], 1272893353, 11), c = fnH(c, d, a, b, M[7], 4139469664, 16), b = fnH(b, c, d, a, M[10], 3200236656, 23), a = fnH(a, b, c, d, M[13], 681279174, 4), d = fnH(d, a, b, c, M[0], 3936430074, 11), c = fnH(c, d, a, b, M[3], 3572445317, 16), b = fnH(b, c, d, a, M[6], 76029189, 23), a = fnH(a, b, c, d, M[9], 3654602809, 4), d = fnH(d, a, b, c, M[12], 3873151461, 11), c = fnH(c, d, a, b, M[15], 530742520, 16), b = fnH(b, c, d, a, M[2], 3299628645, 23), a = fnI(a, b, c, d, M[0], 4096336452, 6), d = fnI(d, a, b, c, M[7], 1126891415, 10), c = fnI(c, d, a, b, M[14], 2878612391, 15), b = fnI(b, c, d, a, M[5], 4237533241, 21), a = fnI(a, b, c, d, M[12], 1700485571, 6), d = fnI(d, a, b, c, M[3], 2399980690, 10), c = fnI(c, d, a, b, M[10], 4293915773, 15), b = fnI(b, c, d, a, M[1], 2240044497, 21), a = fnI(a, b, c, d, M[8], 1873313359, 6), d = fnI(d, a, b, c, M[15], 4264355552, 10), c = fnI(c, d, a, b, M[6], 2734768916, 15), b = fnI(b, c, d, a, M[13], 1309151649, 21), a = fnI(a, b, c, d, M[4], 4149444226, 6), d = fnI(d, a, b, c, M[11], 3174756917, 10), c = fnI(c, d, a, b, M[2], 718787259, 15), b = fnI(b, c, d, a, M[9], 3951481745, 21), this._a = this._a + a | 0, this._b = this._b + b | 0, this._c = this._c + c | 0, this._d = this._d + d | 0;\n }, MD5.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.allocUnsafe(16);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fnF(a, b, c, d, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + b | 0;\n }\n function fnG(a, b, c, d, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + b | 0;\n }\n function fnH(a, b, c, d, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + b | 0;\n }\n function fnI(a, b, c, d, m, k, s) {\n return rotl(a + (c ^ (b | ~d)) + m + k | 0, s) + b | 0;\n }\n module.exports = MD5;\n }\n}), require_ripemd160 = __commonJS({\n \"node_modules/ripemd160/index.js\"(exports, module) {\n var Buffer2 = Buffer, inherits = require_inherits_browser(), HashBase = require_hash_base(), ARRAY16 = new @Array(16), zl = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], zr = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], sl = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sr = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ], hl = [0, 1518500249, 1859775393, 2400959708, 2840853838], hr = [1352829926, 1548603684, 1836072691, 2053994217, 0];\n function RIPEMD160() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520;\n }\n inherits(RIPEMD160, HashBase), RIPEMD160.prototype._update = function() {\n for (var words = ARRAY16, j = 0;j < 16; ++j)\n words[j] = this._block.readInt32LE(j * 4);\n for (var al = this._a | 0, bl = this._b | 0, cl = this._c | 0, dl = this._d | 0, el = this._e | 0, ar = this._a | 0, br = this._b | 0, cr = this._c | 0, dr = this._d | 0, er = this._e | 0, i = 0;i < 80; i += 1) {\n var tl, tr;\n i < 16 \? (tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i]), tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])) : i < 32 \? (tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i]), tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])) : i < 48 \? (tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i]), tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])) : i < 64 \? (tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i]), tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])) : (tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i]), tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])), al = el, el = dl, dl = rotl(cl, 10), cl = bl, bl = tl, ar = er, er = dr, dr = rotl(cr, 10), cr = br, br = tr;\n }\n var t = this._b + cl + dr | 0;\n this._b = this._c + dl + er | 0, this._c = this._d + el + ar | 0, this._d = this._e + al + br | 0, this._e = this._a + bl + cr | 0, this._a = t;\n }, RIPEMD160.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.alloc \? Buffer2.alloc(20) : new Buffer2(20);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer.writeInt32LE(this._e, 16), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fn1(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + e | 0;\n }\n function fn2(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + e | 0;\n }\n function fn3(a, b, c, d, e, m, k, s) {\n return rotl(a + ((b | ~c) ^ d) + m + k | 0, s) + e | 0;\n }\n function fn4(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + e | 0;\n }\n function fn5(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ (c | ~d)) + m + k | 0, s) + e | 0;\n }\n module.exports = RIPEMD160;\n }\n}), require_hash = __commonJS({\n \"node_modules/sha.js/hash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function Hash(blockSize, finalSize) {\n this._block = Buffer2.alloc(blockSize), this._finalSize = finalSize, this._blockSize = blockSize, this._len = 0;\n }\n Hash.prototype = {}, Hash.prototype.update = function(data, enc) {\n typeof data == \"string\" && (enc = enc || \"utf8\", data = Buffer2.from(data, enc));\n for (var block = this._block, blockSize = this._blockSize, length = data.length, accum = this._len, offset = 0;offset < length; ) {\n for (var assigned = accum % blockSize, remainder = Math.min(length - offset, blockSize - assigned), i = 0;i < remainder; i++)\n block[assigned + i] = data[offset + i];\n accum += remainder, offset += remainder, accum % blockSize === 0 && this._update(block);\n }\n return this._len += length, this;\n }, Hash.prototype.digest = function(enc) {\n var rem = this._len % this._blockSize;\n this._block[rem] = 128, this._block.fill(0, rem + 1), rem >= this._finalSize && (this._update(this._block), this._block.fill(0));\n var bits = this._len * 8;\n if (bits <= 4294967295)\n this._block.writeUInt32BE(bits, this._blockSize - 4);\n else {\n var lowBits = (bits & 4294967295) >>> 0, highBits = (bits - lowBits) / 4294967296;\n this._block.writeUInt32BE(highBits, this._blockSize - 8), this._block.writeUInt32BE(lowBits, this._blockSize - 4);\n }\n this._update(this._block);\n var hash = this._hash();\n return enc \? hash.toString(enc) : hash;\n }, Hash.prototype._update = function() {\n throw new Error(\"_update must be implemented by subclass\");\n }, module.exports = Hash;\n }\n}), require_sha = __commonJS({\n \"node_modules/sha.js/sha.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha, Hash), Sha.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16];\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha;\n }\n}), require_sha1 = __commonJS({\n \"node_modules/sha.js/sha1.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha1() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha1, Hash), Sha1.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl1(num) {\n return num << 1 | num >>> 31;\n }\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha1.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = rotl1(W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16]);\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha1.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha1;\n }\n}), require_sha256 = __commonJS({\n \"node_modules/sha.js/sha256.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ], W = new @Array(64);\n function Sha256() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha256, Hash), Sha256.prototype.init = function() {\n return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this;\n };\n function ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10);\n }\n function sigma1(x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7);\n }\n function gamma0(x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3;\n }\n function gamma1(x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10;\n }\n Sha256.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, f = this._f | 0, g = this._g | 0, h = this._h | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 64; ++i)\n W2[i] = gamma1(W2[i - 2]) + W2[i - 7] + gamma0(W2[i - 15]) + W2[i - 16] | 0;\n for (var j = 0;j < 64; ++j) {\n var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W2[j] | 0, T2 = sigma0(a) + maj(a, b, c) | 0;\n h = g, g = f, f = e, e = d + T1 | 0, d = c, c = b, b = a, a = T1 + T2 | 0;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0, this._f = f + this._f | 0, this._g = g + this._g | 0, this._h = h + this._h | 0;\n }, Sha256.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(32);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H.writeInt32BE(this._h, 28), H;\n }, module.exports = Sha256;\n }\n}), require_sha224 = __commonJS({\n \"node_modules/sha.js/sha224.js\"(exports, module) {\n var inherits = require_inherits_browser(), Sha256 = require_sha256(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(64);\n function Sha224() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha224, Sha256), Sha224.prototype.init = function() {\n return this._a = 3238371032, this._b = 914150663, this._c = 812702999, this._d = 4144912697, this._e = 4290775857, this._f = 1750603025, this._g = 1694076839, this._h = 3204075428, this;\n }, Sha224.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(28);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H;\n }, module.exports = Sha224;\n }\n}), require_sha512 = __commonJS({\n \"node_modules/sha.js/sha512.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ], W = new @Array(160);\n function Sha512() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha512, Hash), Sha512.prototype.init = function() {\n return this._ah = 1779033703, this._bh = 3144134277, this._ch = 1013904242, this._dh = 2773480762, this._eh = 1359893119, this._fh = 2600822924, this._gh = 528734635, this._hh = 1541459225, this._al = 4089235720, this._bl = 2227873595, this._cl = 4271175723, this._dl = 1595750129, this._el = 2917565137, this._fl = 725511199, this._gl = 4215389547, this._hl = 327033209, this;\n };\n function Ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25);\n }\n function sigma1(x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23);\n }\n function Gamma0(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7;\n }\n function Gamma0l(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25);\n }\n function Gamma1(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6;\n }\n function Gamma1l(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26);\n }\n function getCarry(a, b) {\n return a >>> 0 < b >>> 0 \? 1 : 0;\n }\n Sha512.prototype._update = function(M) {\n for (var W2 = this._w, ah = this._ah | 0, bh = this._bh | 0, ch = this._ch | 0, dh = this._dh | 0, eh = this._eh | 0, fh = this._fh | 0, gh = this._gh | 0, hh = this._hh | 0, al = this._al | 0, bl = this._bl | 0, cl = this._cl | 0, dl = this._dl | 0, el = this._el | 0, fl = this._fl | 0, gl = this._gl | 0, hl = this._hl | 0, i = 0;i < 32; i += 2)\n W2[i] = M.readInt32BE(i * 4), W2[i + 1] = M.readInt32BE(i * 4 + 4);\n for (;i < 160; i += 2) {\n var xh = W2[i - 30], xl = W2[i - 30 + 1], gamma0 = Gamma0(xh, xl), gamma0l = Gamma0l(xl, xh);\n xh = W2[i - 4], xl = W2[i - 4 + 1];\n var gamma1 = Gamma1(xh, xl), gamma1l = Gamma1l(xl, xh), Wi7h = W2[i - 14], Wi7l = W2[i - 14 + 1], Wi16h = W2[i - 32], Wi16l = W2[i - 32 + 1], Wil = gamma0l + Wi7l | 0, Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0;\n Wil = Wil + gamma1l | 0, Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0, Wil = Wil + Wi16l | 0, Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0, W2[i] = Wih, W2[i + 1] = Wil;\n }\n for (var j = 0;j < 160; j += 2) {\n Wih = W2[j], Wil = W2[j + 1];\n var majh = maj(ah, bh, ch), majl = maj(al, bl, cl), sigma0h = sigma0(ah, al), sigma0l = sigma0(al, ah), sigma1h = sigma1(eh, el), sigma1l = sigma1(el, eh), Kih = K[j], Kil = K[j + 1], chh = Ch(eh, fh, gh), chl = Ch(el, fl, gl), t1l = hl + sigma1l | 0, t1h = hh + sigma1h + getCarry(t1l, hl) | 0;\n t1l = t1l + chl | 0, t1h = t1h + chh + getCarry(t1l, chl) | 0, t1l = t1l + Kil | 0, t1h = t1h + Kih + getCarry(t1l, Kil) | 0, t1l = t1l + Wil | 0, t1h = t1h + Wih + getCarry(t1l, Wil) | 0;\n var t2l = sigma0l + majl | 0, t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0;\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, el = dl + t1l | 0, eh = dh + t1h + getCarry(el, dl) | 0, dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, al = t1l + t2l | 0, ah = t1h + t2h + getCarry(al, t1l) | 0;\n }\n this._al = this._al + al | 0, this._bl = this._bl + bl | 0, this._cl = this._cl + cl | 0, this._dl = this._dl + dl | 0, this._el = this._el + el | 0, this._fl = this._fl + fl | 0, this._gl = this._gl + gl | 0, this._hl = this._hl + hl | 0, this._ah = this._ah + ah + getCarry(this._al, al) | 0, this._bh = this._bh + bh + getCarry(this._bl, bl) | 0, this._ch = this._ch + ch + getCarry(this._cl, cl) | 0, this._dh = this._dh + dh + getCarry(this._dl, dl) | 0, this._eh = this._eh + eh + getCarry(this._el, el) | 0, this._fh = this._fh + fh + getCarry(this._fl, fl) | 0, this._gh = this._gh + gh + getCarry(this._gl, gl) | 0, this._hh = this._hh + hh + getCarry(this._hl, hl) | 0;\n }, Sha512.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(64);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), writeInt64BE(this._gh, this._gl, 48), writeInt64BE(this._hh, this._hl, 56), H;\n }, module.exports = Sha512;\n }\n}), require_sha384 = __commonJS({\n \"node_modules/sha.js/sha384.js\"(exports, module) {\n var inherits = require_inherits_browser(), SHA512 = require_sha512(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(160);\n function Sha384() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha384, SHA512), Sha384.prototype.init = function() {\n return this._ah = 3418070365, this._bh = 1654270250, this._ch = 2438529370, this._dh = 355462360, this._eh = 1731405415, this._fh = 2394180231, this._gh = 3675008525, this._hh = 1203062813, this._al = 3238371032, this._bl = 914150663, this._cl = 812702999, this._dl = 4144912697, this._el = 4290775857, this._fl = 1750603025, this._gl = 1694076839, this._hl = 3204075428, this;\n }, Sha384.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(48);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), H;\n }, module.exports = Sha384;\n }\n}), require_sha2 = __commonJS({\n \"node_modules/sha.js/index.js\"(exports, module) {\n var exports = module.exports = function(algorithm) {\n algorithm = algorithm.toLowerCase();\n var Algorithm = exports[algorithm];\n if (!Algorithm)\n throw new Error(algorithm + \" is not supported (we accept pull requests)\");\n return new Algorithm;\n };\n exports.sha = require_sha(), exports.sha1 = require_sha1(), exports.sha224 = require_sha224(), exports.sha256 = require_sha256(), exports.sha384 = require_sha384(), exports.sha512 = require_sha512();\n }\n}), require_cipher_base = __commonJS({\n \"node_modules/cipher-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function CipherBase(hashMode) {\n StreamModule.Transform.@call(this), this.hashMode = typeof hashMode == \"string\", this.hashMode \? this[hashMode] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null, this._finalized = !1;\n }\n inherits(CipherBase, StreamModule.Transform), CipherBase.prototype.update = function(data, inputEnc, outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n typeof data == \"string\" && (data = Buffer2.from(data, inputEnc));\n var outData = this._update(data);\n return this.hashMode \? this : (outputEnc && (outData = this._toString(outData, outputEnc)), outData);\n }, CipherBase.prototype.setAutoPadding = function() {\n }, CipherBase.prototype.getAuthTag = function() {\n throw new Error(\"trying to get auth tag in unsupported state\");\n }, CipherBase.prototype.setAuthTag = function() {\n throw new Error(\"trying to set auth tag in unsupported state\");\n }, CipherBase.prototype.setAAD = function() {\n throw new Error(\"trying to set aad in unsupported state\");\n }, CipherBase.prototype._transform = function(data, _, next) {\n var err;\n try {\n this.hashMode \? this._update(data) : this.push(this._update(data));\n } catch (e) {\n err = e;\n } finally {\n next(err);\n }\n }, CipherBase.prototype._flush = function(done) {\n var err;\n try {\n this.push(this.__final());\n } catch (e) {\n err = e;\n }\n done(err);\n }, CipherBase.prototype._finalOrDigest = function(outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n if (this._finalized) {\n if (!this._encoding)\n return Buffer2.alloc(0);\n return \"\";\n }\n this._finalized = !0;\n var outData = this.__final() || Buffer2.alloc(0);\n return outputEnc && (outData = this._toString(outData, outputEnc, !0)), outData;\n }, CipherBase.prototype._toString = function(value, enc, fin) {\n if (this._decoder || (this._decoder = new StringDecoder(enc), this._encoding = enc), this._encoding !== enc)\n throw new Error(\"can't switch encodings\");\n var out = this._decoder.write(value);\n return fin && (out += this._decoder.end()), out;\n }, module.exports = CipherBase;\n }\n}), require_browser2 = __commonJS({\n \"node_modules/create-hash/browser.js\"(exports, module) {\n const LazyHash = function Hash(algorithm, options) {\n this._options = options, this._hasher = new CryptoHasher(algorithm, options), this._finalized = !1;\n };\n LazyHash.prototype = Object.create(StreamModule.Transform.prototype), LazyHash.prototype.update = function update(data, encoding) {\n return this._checkFinalized(), this._hasher.update(data, encoding), this;\n }, LazyHash.prototype.digest = function update(data, encoding) {\n return this._checkFinalized(), this._finalized = !0, this._hasher.digest(data, encoding);\n }, LazyHash.prototype._checkFinalized = function _checkFinalized() {\n if (this._finalized) {\n var err = new Error(\"Digest already called\");\n throw err.code = \"ERR_CRYPTO_HASH_FINALIZED\", err;\n }\n }, LazyHash.prototype.copy = function copy() {\n const copy = Object.create(LazyHash.prototype);\n return copy._options = this._options, copy._hasher = this._hasher.copy(), copy._finalized = this._finalized, copy;\n };\n const lazyHashFullInitProto = {\n __proto__: StreamModule.Transform.prototype,\n ...LazyHash.prototype,\n _transform(data, encoding, callback) {\n this.update(data, encoding), callback && callback();\n },\n _flush(callback) {\n this.push(this.digest()), callback();\n }\n }, triggerMethods = [\n \"_events\",\n \"_eventsCount\",\n \"_final\",\n \"_maxListeners\",\n \"_maxListeners\",\n \"_read\",\n \"_undestroy\",\n \"_writableState\",\n \"_write\",\n \"_writev\",\n \"addListener\",\n \"asIndexedPairs\",\n \"closed\",\n \"compose\",\n \"constructor\",\n \"cork\",\n \"destroy\",\n \"destroyed\",\n \"drop\",\n \"emit\",\n \"end\",\n \"errored\",\n \"eventNames\",\n \"every\",\n \"filter\",\n \"find\",\n \"flatMap\",\n \"forEach\",\n \"getMaxListeners\",\n \"hasOwnProperty\",\n \"isPaused\",\n \"isPrototypeOf\",\n \"iterator\",\n \"listenerCount\",\n \"listeners\",\n \"map\",\n \"off\",\n \"on\",\n \"once\",\n \"pause\",\n \"pipe\",\n \"prependListener\",\n \"prependOnceListener\",\n \"propertyIsEnumerable\",\n \"push\",\n \"rawListeners\",\n \"read\",\n \"readable\",\n \"readableAborted\",\n \"readableBuffer\",\n \"readableDidRead\",\n \"readableEncoding\",\n \"readableEnded\",\n \"readableFlowing\",\n \"readableHighWaterMark\",\n \"readableLength\",\n \"readableObjectMode\",\n \"reduce\",\n \"removeAllListeners\",\n \"removeListener\",\n \"resume\",\n \"setDefaultEncoding\",\n \"setEncoding\",\n \"setMaxListeners\",\n \"some\",\n \"take\",\n \"toArray\",\n \"toLocaleString\",\n \"toString\",\n \"uncork\",\n \"unpipe\",\n \"unshift\",\n \"valueOf\",\n \"wrap\",\n \"writable\",\n \"writableBuffer\",\n \"writableCorked\",\n \"writableEnded\",\n \"writableFinished\",\n \"writableHighWaterMark\",\n \"writableLength\",\n \"writableNeedDrain\",\n \"writableObjectMode\",\n \"write\"\n ];\n for (let method of triggerMethods)\n Object.defineProperty(LazyHash.prototype, method, {\n get() {\n return Object.setPrototypeOf(this, lazyHashFullInitProto), StreamModule.Transform.@call(this, this._options), this[method];\n },\n enumerable: !1,\n configurable: !0\n });\n module.exports = function createHash(algorithm) {\n return new LazyHash(algorithm);\n }, module.exports.createHash = module.exports, module.exports.Hash = LazyHash;\n }\n}), require_legacy = __commonJS({\n \"node_modules/create-hmac/legacy.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, Base = require_cipher_base(), ZEROS = Buffer2.alloc(128), blocksize = 64;\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2)), this._alg = alg, this._key = key2, key2.length > blocksize \? key2 = alg(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = [ipad];\n }\n Hmac.prototype = {}, inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.push(data);\n }, Hmac.prototype._final = function() {\n var h = this._alg(Buffer2.concat(this._hash));\n return this._alg(Buffer2.concat([this._opad, h]));\n }, module.exports = Hmac;\n }\n}), require_md52 = __commonJS({\n \"node_modules/create-hash/md5.js\"(exports, module) {\n var MD5 = require_md5();\n module.exports = function(buffer) {\n return new MD5().update(buffer).digest();\n };\n }\n}), require_browser3 = __commonJS({\n \"node_modules/create-hmac/browser.js\"(exports, module) {\n var inherits = require_inherits_browser(), Legacy = require_legacy(), Base = require_cipher_base(), Buffer2 = require_safe_buffer().Buffer, md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), ZEROS = Buffer2.alloc(128);\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2));\n var blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n if (this._alg = alg, this._key = key2, key2.length > blocksize) {\n var hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg);\n key2 = hash.update(key2).digest();\n } else\n key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg), this._hash.update(ipad);\n }\n inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.update(data);\n }, Hmac.prototype._final = function() {\n var h = this._hash.digest(), hash = this._alg === \"rmd160\" \? new RIPEMD160 : sha(this._alg);\n return hash.update(this._opad).update(h).digest();\n }, module.exports = function(alg, key2) {\n return key2 = exportIfKeyObject(key2), alg = alg.toLowerCase(), alg === \"rmd160\" || alg === \"ripemd160\" \? new Hmac(\"rmd160\", key2) : alg === \"md5\" \? new Legacy(md5, key2) : new Hmac(alg, key2);\n };\n }\n}), require_algorithms = __commonJS({\n \"node_modules/browserify-sign/browser/algorithms.json\"(exports, module) {\n module.exports = {\n sha224WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n \"RSA-SHA224\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n sha256WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n \"RSA-SHA256\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n sha384WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n \"RSA-SHA384\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n sha512WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA512\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA1\": {\n sign: \"rsa\",\n hash: \"sha1\",\n id: \"3021300906052b0e03021a05000414\"\n },\n \"ecdsa-with-SHA1\": {\n sign: \"ecdsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha1: {\n sign: \"ecdsa/rsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha256: {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"\"\n },\n sha224: {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"\"\n },\n sha384: {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"\"\n },\n sha512: {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-SHA1\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n DSA: {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-WITH-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-WITH-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-WITH-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-WITH-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-RIPEMD160\": {\n sign: \"dsa\",\n hash: \"rmd160\",\n id: \"\"\n },\n ripemd160WithRSA: {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n \"RSA-RIPEMD160\": {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n md5WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n },\n \"RSA-MD5\": {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n }\n };\n }\n}), require_algos = __commonJS({\n \"node_modules/browserify-sign/algos.js\"(exports, module) {\n module.exports = require_algorithms();\n }\n}), require_precondition = __commonJS({\n \"node_modules/pbkdf2/lib/precondition.js\"(exports, module) {\n var MAX_ALLOC = Math.pow(2, 30) - 1;\n module.exports = function(iterations, keylen) {\n if (typeof iterations != \"number\")\n @throwTypeError(\"Iterations not a number\");\n if (iterations < 0)\n @throwTypeError(\"Bad iterations\");\n if (typeof keylen != \"number\")\n @throwTypeError(\"Key length not a number\");\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen)\n @throwTypeError(\"Bad key length\");\n };\n }\n}), require_default_encoding = __commonJS({\n \"node_modules/pbkdf2/lib/default-encoding.js\"(exports, module) {\n var defaultEncoding;\n global.process && global.process.browser \? defaultEncoding = \"utf-8\" : global.process && global.process.version \? (pVersionMajor = parseInt(process.version.split(\".\")[0].slice(1), 10), defaultEncoding = pVersionMajor >= 6 \? \"utf-8\" : \"binary\") : defaultEncoding = \"utf-8\";\n var pVersionMajor;\n module.exports = defaultEncoding;\n }\n}), require_to_buffer = __commonJS({\n \"node_modules/pbkdf2/lib/to-buffer.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(thing, encoding, name) {\n if (Buffer2.isBuffer(thing))\n return thing;\n if (typeof thing == \"string\")\n return Buffer2.from(thing, encoding);\n if (@ArrayBuffer.isView(thing))\n return Buffer2.from(thing.buffer);\n @throwTypeError(name + \" must be a string, a Buffer, a typed array or a DataView\");\n };\n }\n}), require_sync_browser = __commonJS({\n \"node_modules/pbkdf2/lib/sync-browser.js\"(exports, module) {\n var md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), toBuffer = require_to_buffer(), ZEROS = Buffer2.alloc(128), sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n };\n function Hmac(alg, key2, saltLen) {\n key2 = exportIfKeyObject(key2);\n var hash = getDigest(alg), blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n key2.length > blocksize \? key2 = hash(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = Buffer2.allocUnsafe(blocksize + sizes[alg]), opad = Buffer2.allocUnsafe(blocksize + sizes[alg]), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n var ipad1 = Buffer2.allocUnsafe(blocksize + saltLen + 4);\n ipad.copy(ipad1, 0, 0, blocksize), this.ipad1 = ipad1, this.ipad2 = ipad, this.opad = opad, this.alg = alg, this.blocksize = blocksize, this.hash = hash, this.size = sizes[alg];\n }\n Hmac.prototype = {}, Hmac.prototype.run = function(data, ipad) {\n data.copy(ipad, this.blocksize);\n var h = this.hash(ipad);\n return h.copy(this.opad, this.blocksize), this.hash(this.opad);\n };\n function getDigest(alg) {\n function shaFunc(data) {\n return sha(alg).update(data).digest();\n }\n function rmd160Func(data) {\n return new RIPEMD160().update(data).digest();\n }\n return alg === \"rmd160\" || alg === \"ripemd160\" \? rmd160Func : alg === \"md5\" \? md5 : shaFunc;\n }\n function pbkdf2(password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), digest = digest || \"sha1\";\n var hmac = new Hmac(digest, password, salt.length), DK = Buffer2.allocUnsafe(keylen), block1 = Buffer2.allocUnsafe(salt.length + 4);\n salt.copy(block1, 0, 0, salt.length);\n for (var destPos = 0, hLen = sizes[digest], l = Math.ceil(keylen / hLen), i = 1;i <= l; i++) {\n block1.writeUInt32BE(i, salt.length);\n for (var T = hmac.run(block1, hmac.ipad1), U = T, j = 1;j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2);\n for (var k = 0;k < hLen; k++)\n T[k] ^= U[k];\n }\n T.copy(DK, destPos), destPos += hLen;\n }\n return DK;\n }\n module.exports = pbkdf2;\n }\n}), require_async = __commonJS({\n \"node_modules/pbkdf2/lib/async.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), sync = require_sync_browser(), toBuffer = require_to_buffer(), ZERO_BUF, subtle = globalCrypto.subtle, toBrowser = {\n sha: \"SHA-1\",\n \"sha-1\": \"SHA-1\",\n sha1: \"SHA-1\",\n sha256: \"SHA-256\",\n \"sha-256\": \"SHA-256\",\n sha384: \"SHA-384\",\n \"sha-384\": \"SHA-384\",\n \"sha-512\": \"SHA-512\",\n sha512: \"SHA-512\"\n }, checks = [];\n function checkNative(algo) {\n if (global.process && !global.process.browser || !subtle || !subtle.importKey || !subtle.deriveBits)\n return @Promise.resolve(!1);\n if (checks[algo] !== void 0)\n return checks[algo];\n ZERO_BUF = ZERO_BUF || Buffer2.alloc(8);\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo).then(function() {\n return !0;\n }).catch(function() {\n return !1;\n });\n return checks[algo] = prom, prom;\n }\n var nextTick;\n function getNextTick() {\n return nextTick || (global.process && global.process.nextTick \? nextTick = global.process.nextTick : global.queueMicrotask \? nextTick = global.queueMicrotask : global.setImmediate \? nextTick = global.setImmediate : nextTick = global.setTimeout, nextTick);\n }\n function browserPbkdf2(password, salt, iterations, length, algo) {\n return subtle.importKey(\"raw\", password, { name: \"PBKDF2\" }, !1, [\"deriveBits\"]).then(function(key2) {\n return subtle.deriveBits({\n name: \"PBKDF2\",\n salt,\n iterations,\n hash: {\n name: algo\n }\n }, key2, length << 3);\n }).then(function(res) {\n return Buffer2.from(res);\n });\n }\n function resolvePromise(promise, callback) {\n promise.then(function(out) {\n getNextTick()(function() {\n callback(null, out);\n });\n }, function(e) {\n getNextTick()(function() {\n callback(e);\n });\n });\n }\n module.exports = function(password, salt, iterations, keylen, digest, callback) {\n typeof digest == \"function\" && (callback = digest, digest = void 0), digest = digest || \"sha1\";\n var algo = toBrowser[digest.toLowerCase()];\n if (!algo || typeof global.Promise != \"function\") {\n getNextTick()(function() {\n var out;\n try {\n out = sync(password, salt, iterations, keylen, digest);\n } catch (e) {\n return callback(e);\n }\n callback(null, out);\n });\n return;\n }\n if (checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), typeof callback != \"function\")\n throw new Error(\"No callback provided to pbkdf2\");\n resolvePromise(checkNative(algo).then(function(resp) {\n return resp \? browserPbkdf2(password, salt, iterations, keylen, algo) : sync(password, salt, iterations, keylen, digest);\n }), callback);\n };\n }\n}), require_browser4 = __commonJS({\n \"node_modules/pbkdf2/browser.js\"(exports) {\n exports.pbkdf2 = require_async(), exports.pbkdf2Sync = require_sync_browser();\n }\n}), require_utils = __commonJS({\n \"node_modules/des.js/lib/des/utils.js\"(exports) {\n exports.readUInt32BE = function(bytes, off) {\n var res = bytes[0 + off] << 24 | bytes[1 + off] << 16 | bytes[2 + off] << 8 | bytes[3 + off];\n return res >>> 0;\n }, exports.writeUInt32BE = function(bytes, value, off) {\n bytes[0 + off] = value >>> 24, bytes[1 + off] = value >>> 16 & 255, bytes[2 + off] = value >>> 8 & 255, bytes[3 + off] = value & 255;\n }, exports.ip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 6;i >= 0; i -= 2) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >>> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >>> j + i & 1;\n }\n for (var i = 6;i >= 0; i -= 2) {\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inR >>> j + i & 1;\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inL >>> j + i & 1;\n }\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.rip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 0;i < 4; i++)\n for (var j = 24;j >= 0; j -= 8)\n outL <<= 1, outL |= inR >>> j + i & 1, outL <<= 1, outL |= inL >>> j + i & 1;\n for (var i = 4;i < 8; i++)\n for (var j = 24;j >= 0; j -= 8)\n outR <<= 1, outR |= inR >>> j + i & 1, outR <<= 1, outR |= inL >>> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.pc1 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 7;i >= 5; i--) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var i = 1;i <= 3; i++) {\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.r28shl = function(num, shift) {\n return num << shift & 268435455 | num >>> 28 - shift;\n };\n var pc2table = [\n 14,\n 11,\n 17,\n 4,\n 27,\n 23,\n 25,\n 0,\n 13,\n 22,\n 7,\n 18,\n 5,\n 9,\n 16,\n 24,\n 2,\n 20,\n 12,\n 21,\n 1,\n 8,\n 15,\n 26,\n 15,\n 4,\n 25,\n 19,\n 9,\n 1,\n 26,\n 16,\n 5,\n 11,\n 23,\n 8,\n 12,\n 7,\n 17,\n 0,\n 22,\n 3,\n 10,\n 14,\n 6,\n 20,\n 27,\n 24\n ];\n exports.pc2 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, len = pc2table.length >>> 1, i = 0;i < len; i++)\n outL <<= 1, outL |= inL >>> pc2table[i] & 1;\n for (var i = len;i < pc2table.length; i++)\n outR <<= 1, outR |= inR >>> pc2table[i] & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.expand = function(r, out, off) {\n var outL = 0, outR = 0;\n outL = (r & 1) << 5 | r >>> 27;\n for (var i = 23;i >= 15; i -= 4)\n outL <<= 6, outL |= r >>> i & 63;\n for (var i = 11;i >= 3; i -= 4)\n outR |= r >>> i & 63, outR <<= 6;\n outR |= (r & 31) << 1 | r >>> 31, out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n };\n var sTable = [\n 14,\n 0,\n 4,\n 15,\n 13,\n 7,\n 1,\n 4,\n 2,\n 14,\n 15,\n 2,\n 11,\n 13,\n 8,\n 1,\n 3,\n 10,\n 10,\n 6,\n 6,\n 12,\n 12,\n 11,\n 5,\n 9,\n 9,\n 5,\n 0,\n 3,\n 7,\n 8,\n 4,\n 15,\n 1,\n 12,\n 14,\n 8,\n 8,\n 2,\n 13,\n 4,\n 6,\n 9,\n 2,\n 1,\n 11,\n 7,\n 15,\n 5,\n 12,\n 11,\n 9,\n 3,\n 7,\n 14,\n 3,\n 10,\n 10,\n 0,\n 5,\n 6,\n 0,\n 13,\n 15,\n 3,\n 1,\n 13,\n 8,\n 4,\n 14,\n 7,\n 6,\n 15,\n 11,\n 2,\n 3,\n 8,\n 4,\n 14,\n 9,\n 12,\n 7,\n 0,\n 2,\n 1,\n 13,\n 10,\n 12,\n 6,\n 0,\n 9,\n 5,\n 11,\n 10,\n 5,\n 0,\n 13,\n 14,\n 8,\n 7,\n 10,\n 11,\n 1,\n 10,\n 3,\n 4,\n 15,\n 13,\n 4,\n 1,\n 2,\n 5,\n 11,\n 8,\n 6,\n 12,\n 7,\n 6,\n 12,\n 9,\n 0,\n 3,\n 5,\n 2,\n 14,\n 15,\n 9,\n 10,\n 13,\n 0,\n 7,\n 9,\n 0,\n 14,\n 9,\n 6,\n 3,\n 3,\n 4,\n 15,\n 6,\n 5,\n 10,\n 1,\n 2,\n 13,\n 8,\n 12,\n 5,\n 7,\n 14,\n 11,\n 12,\n 4,\n 11,\n 2,\n 15,\n 8,\n 1,\n 13,\n 1,\n 6,\n 10,\n 4,\n 13,\n 9,\n 0,\n 8,\n 6,\n 15,\n 9,\n 3,\n 8,\n 0,\n 7,\n 11,\n 4,\n 1,\n 15,\n 2,\n 14,\n 12,\n 3,\n 5,\n 11,\n 10,\n 5,\n 14,\n 2,\n 7,\n 12,\n 7,\n 13,\n 13,\n 8,\n 14,\n 11,\n 3,\n 5,\n 0,\n 6,\n 6,\n 15,\n 9,\n 0,\n 10,\n 3,\n 1,\n 4,\n 2,\n 7,\n 8,\n 2,\n 5,\n 12,\n 11,\n 1,\n 12,\n 10,\n 4,\n 14,\n 15,\n 9,\n 10,\n 3,\n 6,\n 15,\n 9,\n 0,\n 0,\n 6,\n 12,\n 10,\n 11,\n 1,\n 7,\n 13,\n 13,\n 8,\n 15,\n 9,\n 1,\n 4,\n 3,\n 5,\n 14,\n 11,\n 5,\n 12,\n 2,\n 7,\n 8,\n 2,\n 4,\n 14,\n 2,\n 14,\n 12,\n 11,\n 4,\n 2,\n 1,\n 12,\n 7,\n 4,\n 10,\n 7,\n 11,\n 13,\n 6,\n 1,\n 8,\n 5,\n 5,\n 0,\n 3,\n 15,\n 15,\n 10,\n 13,\n 3,\n 0,\n 9,\n 14,\n 8,\n 9,\n 6,\n 4,\n 11,\n 2,\n 8,\n 1,\n 12,\n 11,\n 7,\n 10,\n 1,\n 13,\n 14,\n 7,\n 2,\n 8,\n 13,\n 15,\n 6,\n 9,\n 15,\n 12,\n 0,\n 5,\n 9,\n 6,\n 10,\n 3,\n 4,\n 0,\n 5,\n 14,\n 3,\n 12,\n 10,\n 1,\n 15,\n 10,\n 4,\n 15,\n 2,\n 9,\n 7,\n 2,\n 12,\n 6,\n 9,\n 8,\n 5,\n 0,\n 6,\n 13,\n 1,\n 3,\n 13,\n 4,\n 14,\n 14,\n 0,\n 7,\n 11,\n 5,\n 3,\n 11,\n 8,\n 9,\n 4,\n 14,\n 3,\n 15,\n 2,\n 5,\n 12,\n 2,\n 9,\n 8,\n 5,\n 12,\n 15,\n 3,\n 10,\n 7,\n 11,\n 0,\n 14,\n 4,\n 1,\n 10,\n 7,\n 1,\n 6,\n 13,\n 0,\n 11,\n 8,\n 6,\n 13,\n 4,\n 13,\n 11,\n 0,\n 2,\n 11,\n 14,\n 7,\n 15,\n 4,\n 0,\n 9,\n 8,\n 1,\n 13,\n 10,\n 3,\n 14,\n 12,\n 3,\n 9,\n 5,\n 7,\n 12,\n 5,\n 2,\n 10,\n 15,\n 6,\n 8,\n 1,\n 6,\n 1,\n 6,\n 4,\n 11,\n 11,\n 13,\n 13,\n 8,\n 12,\n 1,\n 3,\n 4,\n 7,\n 10,\n 14,\n 7,\n 10,\n 9,\n 15,\n 5,\n 6,\n 0,\n 8,\n 15,\n 0,\n 14,\n 5,\n 2,\n 9,\n 3,\n 2,\n 12,\n 13,\n 1,\n 2,\n 15,\n 8,\n 13,\n 4,\n 8,\n 6,\n 10,\n 15,\n 3,\n 11,\n 7,\n 1,\n 4,\n 10,\n 12,\n 9,\n 5,\n 3,\n 6,\n 14,\n 11,\n 5,\n 0,\n 0,\n 14,\n 12,\n 9,\n 7,\n 2,\n 7,\n 2,\n 11,\n 1,\n 4,\n 14,\n 1,\n 7,\n 9,\n 4,\n 12,\n 10,\n 14,\n 8,\n 2,\n 13,\n 0,\n 15,\n 6,\n 12,\n 10,\n 9,\n 13,\n 0,\n 15,\n 3,\n 3,\n 5,\n 5,\n 6,\n 8,\n 11\n ];\n exports.substitute = function(inL, inR) {\n for (var out = 0, i = 0;i < 4; i++) {\n var b = inL >>> 18 - i * 6 & 63, sb = sTable[i * 64 + b];\n out <<= 4, out |= sb;\n }\n for (var i = 0;i < 4; i++) {\n var b = inR >>> 18 - i * 6 & 63, sb = sTable[256 + i * 64 + b];\n out <<= 4, out |= sb;\n }\n return out >>> 0;\n };\n var permuteTable = [\n 16,\n 25,\n 12,\n 11,\n 3,\n 20,\n 4,\n 15,\n 31,\n 17,\n 9,\n 6,\n 27,\n 14,\n 1,\n 22,\n 30,\n 24,\n 8,\n 18,\n 0,\n 5,\n 29,\n 23,\n 13,\n 19,\n 2,\n 26,\n 10,\n 21,\n 28,\n 7\n ];\n exports.permute = function(num) {\n for (var out = 0, i = 0;i < permuteTable.length; i++)\n out <<= 1, out |= num >>> permuteTable[i] & 1;\n return out >>> 0;\n }, exports.padSplit = function(num, size, group) {\n for (var str = num.toString(2);str.length < size; )\n str = \"0\" + str;\n for (var out = [], i = 0;i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(\" \");\n };\n }\n}), require_minimalistic_assert = __commonJS({\n \"node_modules/minimalistic-assert/index.js\"(exports, module) {\n module.exports = assert;\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n assert.equal = function(l, r, msg) {\n if (l != r)\n throw new Error(msg || \"Assertion failed: \" + l + \" != \" + r);\n };\n }\n}), require_cipher = __commonJS({\n \"node_modules/des.js/lib/des/cipher.js\"(exports, module) {\n var assert = require_minimalistic_assert();\n function Cipher(options) {\n this.options = options, this.type = this.options.type, this.blockSize = 8, this._init(), this.buffer = new @Array(this.blockSize), this.bufferOff = 0;\n }\n Cipher.prototype = {}, module.exports = Cipher, Cipher.prototype._init = function() {\n }, Cipher.prototype.update = function(data) {\n return data.length === 0 \? [] : this.type === \"decrypt\" \? this._updateDecrypt(data) : this._updateEncrypt(data);\n }, Cipher.prototype._buffer = function(data, off) {\n for (var min = Math.min(this.buffer.length - this.bufferOff, data.length - off), i = 0;i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n return this.bufferOff += min, min;\n }, Cipher.prototype._flushBuffer = function(out, off) {\n return this._update(this.buffer, 0, out, off), this.bufferOff = 0, this.blockSize;\n }, Cipher.prototype._updateEncrypt = function(data) {\n var inputOff = 0, outputOff = 0, count = (this.bufferOff + data.length) / this.blockSize | 0, out = new @Array(count * this.blockSize);\n this.bufferOff !== 0 && (inputOff += this._buffer(data, inputOff), this.bufferOff === this.buffer.length && (outputOff += this._flushBuffer(out, outputOff)));\n for (var max = data.length - (data.length - inputOff) % this.blockSize;inputOff < max; inputOff += this.blockSize)\n this._update(data, inputOff, out, outputOff), outputOff += this.blockSize;\n for (;inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n return out;\n }, Cipher.prototype._updateDecrypt = function(data) {\n for (var inputOff = 0, outputOff = 0, count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1, out = new @Array(count * this.blockSize);count > 0; count--)\n inputOff += this._buffer(data, inputOff), outputOff += this._flushBuffer(out, outputOff);\n return inputOff += this._buffer(data, inputOff), out;\n }, Cipher.prototype.final = function(buffer) {\n var first;\n buffer && (first = this.update(buffer));\n var last;\n return this.type === \"encrypt\" \? last = this._finalEncrypt() : last = this._finalDecrypt(), first \? first.concat(last) : last;\n }, Cipher.prototype._pad = function(buffer, off) {\n if (off === 0)\n return !1;\n for (;off < buffer.length; )\n buffer[off++] = 0;\n return !0;\n }, Cipher.prototype._finalEncrypt = function() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n var out = new @Array(this.blockSize);\n return this._update(this.buffer, 0, out, 0), out;\n }, Cipher.prototype._unpad = function(buffer) {\n return buffer;\n }, Cipher.prototype._finalDecrypt = function() {\n assert.equal(this.bufferOff, this.blockSize, \"Not enough data to decrypt\");\n var out = new @Array(this.blockSize);\n return this._flushBuffer(out, 0), this._unpad(out);\n };\n }\n}), require_des = __commonJS({\n \"node_modules/des.js/lib/des/des.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), utils = require_utils(), Cipher = require_cipher();\n function DESState() {\n this.tmp = new @Array(2), this.keys = null;\n }\n function DES(options) {\n Cipher.@call(this, options);\n var state = new DESState;\n this._desState = state, this.deriveKeys(state, options.key);\n }\n inherits(DES, Cipher), module.exports = DES, DES.create = function(options) {\n return new DES(options);\n };\n var shiftTable = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];\n DES.prototype.deriveKeys = function(state, key2) {\n state.keys = new @Array(32), assert.equal(key2.length, this.blockSize, \"Invalid key length\");\n var kL = utils.readUInt32BE(key2, 0), kR = utils.readUInt32BE(key2, 4);\n utils.pc1(kL, kR, state.tmp, 0), kL = state.tmp[0], kR = state.tmp[1];\n for (var i = 0;i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift), kR = utils.r28shl(kR, shift), utils.pc2(kL, kR, state.keys, i);\n }\n }, DES.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._desState, l = utils.readUInt32BE(inp, inOff), r = utils.readUInt32BE(inp, inOff + 4);\n utils.ip(l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], this.type === \"encrypt\" \? this._encrypt(state, l, r, state.tmp, 0) : this._decrypt(state, l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], utils.writeUInt32BE(out, l, outOff), utils.writeUInt32BE(out, r, outOff + 4);\n }, DES.prototype._pad = function(buffer, off) {\n for (var value = buffer.length - off, i = off;i < buffer.length; i++)\n buffer[i] = value;\n return !0;\n }, DES.prototype._unpad = function(buffer) {\n for (var pad = buffer[buffer.length - 1], i = buffer.length - pad;i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n return buffer.slice(0, buffer.length - pad);\n }, DES.prototype._encrypt = function(state, lStart, rStart, out, off) {\n for (var l = lStart, r = rStart, i = 0;i < state.keys.length; i += 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(r, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = r;\n r = (l ^ f) >>> 0, l = t;\n }\n utils.rip(r, l, out, off);\n }, DES.prototype._decrypt = function(state, lStart, rStart, out, off) {\n for (var l = rStart, r = lStart, i = state.keys.length - 2;i >= 0; i -= 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(l, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = l;\n l = (r ^ f) >>> 0, r = t;\n }\n utils.rip(l, r, out, off);\n };\n }\n}), require_cbc = __commonJS({\n \"node_modules/des.js/lib/des/cbc.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), proto = {};\n function CBCState(iv) {\n assert.equal(iv.length, 8, \"Invalid IV length\"), this.iv = new @Array(8);\n for (var i = 0;i < this.iv.length; i++)\n this.iv[i] = iv[i];\n }\n function instantiate(Base) {\n function CBC(options) {\n Base.@call(this, options), this._cbcInit();\n }\n inherits(CBC, Base);\n for (var keys = Object.keys(proto), i = 0;i < keys.length; i++) {\n var key2 = keys[i];\n CBC.prototype[key2] = proto[key2];\n }\n return CBC.create = function(options) {\n return new CBC(options);\n }, CBC;\n }\n exports.instantiate = instantiate, proto._cbcInit = function() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n }, proto._update = function(inp, inOff, out, outOff) {\n var state = this._cbcState, superProto = this.constructor.super_.prototype, iv = state.iv;\n if (this.type === \"encrypt\") {\n for (var i = 0;i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n superProto._update.@call(this, iv, 0, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.@call(this, inp, inOff, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n };\n }\n}), require_ede = __commonJS({\n \"node_modules/des.js/lib/des/ede.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), Cipher = require_cipher(), DES = require_des();\n function EDEState(type, key2) {\n assert.equal(key2.length, 24, \"Invalid key length\");\n var k1 = key2.slice(0, 8), k2 = key2.slice(8, 16), k3 = key2.slice(16, 24);\n type === \"encrypt\" \? this.ciphers = [\n DES.create({ type: \"encrypt\", key: k1 }),\n DES.create({ type: \"decrypt\", key: k2 }),\n DES.create({ type: \"encrypt\", key: k3 })\n ] : this.ciphers = [\n DES.create({ type: \"decrypt\", key: k3 }),\n DES.create({ type: \"encrypt\", key: k2 }),\n DES.create({ type: \"decrypt\", key: k1 })\n ];\n }\n function EDE(options) {\n Cipher.@call(this, options);\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n }\n inherits(EDE, Cipher), module.exports = EDE, EDE.create = function(options) {\n return new EDE(options);\n }, EDE.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._edeState;\n state.ciphers[0]._update(inp, inOff, out, outOff), state.ciphers[1]._update(out, outOff, out, outOff), state.ciphers[2]._update(out, outOff, out, outOff);\n }, EDE.prototype._pad = DES.prototype._pad, EDE.prototype._unpad = DES.prototype._unpad;\n }\n}), require_des2 = __commonJS({\n \"node_modules/des.js/lib/des.js\"(exports) {\n exports.utils = require_utils(), exports.Cipher = require_cipher(), exports.DES = require_des(), exports.CBC = require_cbc(), exports.EDE = require_ede();\n }\n}), require_browserify_des = __commonJS({\n \"node_modules/browserify-des/index.js\"(exports, module) {\n var CipherBase = require_cipher_base(), des = require_des2(), inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, modes = {\n \"des-ede3-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede3\": des.EDE,\n \"des-ede-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede\": des.EDE,\n \"des-cbc\": des.CBC.instantiate(des.DES),\n \"des-ecb\": des.DES\n };\n modes.des = modes[\"des-cbc\"], modes.des3 = modes[\"des-ede3-cbc\"], module.exports = DES, inherits(DES, CipherBase);\n function DES(opts) {\n CipherBase.@call(this);\n var modeName = opts.mode.toLowerCase(), mode = modes[modeName], type;\n opts.decrypt \? type = \"decrypt\" : type = \"encrypt\";\n var key2 = opts.key;\n Buffer2.isBuffer(key2) || (key2 = Buffer2.from(key2)), (modeName === \"des-ede\" || modeName === \"des-ede-cbc\") && (key2 = Buffer2.concat([key2, key2.slice(0, 8)]));\n var iv = opts.iv;\n Buffer2.isBuffer(iv) || (iv = Buffer2.from(iv)), this._des = mode.create({\n key: key2,\n iv,\n type\n });\n }\n DES.prototype._update = function(data) {\n return Buffer2.from(this._des.update(data));\n }, DES.prototype._final = function() {\n return Buffer2.from(this._des.final());\n };\n }\n}), require_ecb = __commonJS({\n \"node_modules/browserify-aes/modes/ecb.js\"(exports) {\n exports.encrypt = function(self2, block) {\n return self2._cipher.encryptBlock(block);\n }, exports.decrypt = function(self2, block) {\n return self2._cipher.decryptBlock(block);\n };\n }\n}), require_buffer_xor = __commonJS({\n \"node_modules/buffer-xor/index.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var length = Math.min(a.length, b.length), buffer = new Buffer(length), i = 0;i < length; ++i)\n buffer[i] = a[i] ^ b[i];\n return buffer;\n };\n }\n}), require_cbc2 = __commonJS({\n \"node_modules/browserify-aes/modes/cbc.js\"(exports) {\n var xor = require_buffer_xor();\n exports.encrypt = function(self2, block) {\n var data = xor(block, self2._prev);\n return self2._prev = self2._cipher.encryptBlock(data), self2._prev;\n }, exports.decrypt = function(self2, block) {\n var pad = self2._prev;\n self2._prev = block;\n var out = self2._cipher.decryptBlock(block);\n return xor(out, pad);\n };\n }\n}), require_cfb = __commonJS({\n \"node_modules/browserify-aes/modes/cfb.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer, xor = require_buffer_xor();\n function encryptStart(self2, data, decrypt) {\n var len = data.length, out = xor(data, self2._cache);\n return self2._cache = self2._cache.slice(len), self2._prev = Buffer2.concat([self2._prev, decrypt \? data : out]), out;\n }\n exports.encrypt = function(self2, data, decrypt) {\n for (var out = Buffer2.allocUnsafe(0), len;data.length; )\n if (self2._cache.length === 0 && (self2._cache = self2._cipher.encryptBlock(self2._prev), self2._prev = Buffer2.allocUnsafe(0)), self2._cache.length <= data.length)\n len = self2._cache.length, out = Buffer2.concat([out, encryptStart(self2, data.slice(0, len), decrypt)]), data = data.slice(len);\n else {\n out = Buffer2.concat([out, encryptStart(self2, data, decrypt)]);\n break;\n }\n return out;\n };\n }\n}), require_cfb8 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb8.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n var pad = self2._cipher.encryptBlock(self2._prev), out = pad[0] ^ byteParam;\n return self2._prev = Buffer2.concat([self2._prev.slice(1), Buffer2.from([decrypt \? byteParam : out])]), out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_cfb1 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb1.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n for (var pad, i = -1, len = 8, out = 0, bit, value;++i < len; )\n pad = self2._cipher.encryptBlock(self2._prev), bit = byteParam & 1 << 7 - i \? 128 : 0, value = pad[0] ^ bit, out += (value & 128) >> i % 8, self2._prev = shiftIn(self2._prev, decrypt \? bit : value);\n return out;\n }\n function shiftIn(buffer, value) {\n var len = buffer.length, i = -1, out = Buffer2.allocUnsafe(buffer.length);\n for (buffer = Buffer2.concat([buffer, Buffer2.from([value])]);++i < len; )\n out[i] = buffer[i] << 1 | buffer[i + 1] >> 7;\n return out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_ofb = __commonJS({\n \"node_modules/browserify-aes/modes/ofb.js\"(exports) {\n var xor = require_buffer_xor();\n function getBlock(self2) {\n return self2._prev = self2._cipher.encryptBlock(self2._prev), self2._prev;\n }\n exports.encrypt = function(self2, chunk) {\n for (;self2._cache.length < chunk.length; )\n self2._cache = Buffer.concat([self2._cache, getBlock(self2)]);\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_incr32 = __commonJS({\n \"node_modules/browserify-aes/incr32.js\"(exports, module) {\n function incr32(iv) {\n for (var len = iv.length, item;len--; )\n if (item = iv.readUInt8(len), item === 255)\n iv.writeUInt8(0, len);\n else {\n item++, iv.writeUInt8(item, len);\n break;\n }\n }\n module.exports = incr32;\n }\n}), require_ctr = __commonJS({\n \"node_modules/browserify-aes/modes/ctr.js\"(exports) {\n var xor = require_buffer_xor(), Buffer2 = require_safe_buffer().Buffer, incr32 = require_incr32();\n function getBlock(self2) {\n var out = self2._cipher.encryptBlockRaw(self2._prev);\n return incr32(self2._prev), out;\n }\n var blockSize = 16;\n exports.encrypt = function(self2, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize), start = self2._cache.length;\n self2._cache = Buffer2.concat([self2._cache, Buffer2.allocUnsafe(chunkNum * blockSize)]);\n for (var i = 0;i < chunkNum; i++) {\n var out = getBlock(self2), offset = start + i * blockSize;\n self2._cache.writeUInt32BE(out[0], offset + 0), self2._cache.writeUInt32BE(out[1], offset + 4), self2._cache.writeUInt32BE(out[2], offset + 8), self2._cache.writeUInt32BE(out[3], offset + 12);\n }\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_list = __commonJS({\n \"node_modules/browserify-aes/modes/list.json\"(exports, module) {\n module.exports = {\n \"aes-128-ecb\": {\n cipher: \"AES\",\n key: 128,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-192-ecb\": {\n cipher: \"AES\",\n key: 192,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-256-ecb\": {\n cipher: \"AES\",\n key: 256,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-128-cbc\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-192-cbc\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-256-cbc\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes128: {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes192: {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes256: {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-128-cfb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-192-cfb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-256-cfb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-128-cfb8\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-192-cfb8\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-256-cfb8\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-128-cfb1\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-192-cfb1\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-256-cfb1\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-128-ofb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-192-ofb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-256-ofb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-128-ctr\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-192-ctr\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-256-ctr\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-128-gcm\": {\n cipher: \"AES\",\n key: 128,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-192-gcm\": {\n cipher: \"AES\",\n key: 192,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-256-gcm\": {\n cipher: \"AES\",\n key: 256,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n }\n };\n }\n}), require_modes = __commonJS({\n \"node_modules/browserify-aes/modes/index.js\"(exports, module) {\n var modeModules = {\n ECB: require_ecb(),\n CBC: require_cbc2(),\n CFB: require_cfb(),\n CFB8: require_cfb8(),\n CFB1: require_cfb1(),\n OFB: require_ofb(),\n CTR: require_ctr(),\n GCM: require_ctr()\n }, modes = require_list();\n for (key2 in modes)\n modes[key2].module = modeModules[modes[key2].mode];\n var key2;\n module.exports = modes;\n }\n}), require_aes = __commonJS({\n \"node_modules/browserify-aes/aes.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function asUInt32Array(buf) {\n if (buf instanceof KeyObject)\n buf = buf.export();\n else if (buf instanceof CryptoKey)\n buf = KeyObject.from(buf).export();\n Buffer2.isBuffer(buf) || (buf = Buffer2.from(buf));\n for (var len = buf.length / 4 | 0, out = new @Array(len), i = 0;i < len; i++)\n out[i] = buf.readUInt32BE(i * 4);\n return out;\n }\n function scrubVec(v) {\n for (var i = 0;i < v.length; v++)\n v[i] = 0;\n }\n function cryptBlock(M, keySchedule, SUB_MIX, SBOX, nRounds) {\n for (var SUB_MIX0 = SUB_MIX[0], SUB_MIX1 = SUB_MIX[1], SUB_MIX2 = SUB_MIX[2], SUB_MIX3 = SUB_MIX[3], s0 = M[0] ^ keySchedule[0], s1 = M[1] ^ keySchedule[1], s2 = M[2] ^ keySchedule[2], s3 = M[3] ^ keySchedule[3], t0, t1, t2, t3, ksRow = 4, round = 1;round < nRounds; round++)\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[s1 >>> 16 & 255] ^ SUB_MIX2[s2 >>> 8 & 255] ^ SUB_MIX3[s3 & 255] ^ keySchedule[ksRow++], t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[s2 >>> 16 & 255] ^ SUB_MIX2[s3 >>> 8 & 255] ^ SUB_MIX3[s0 & 255] ^ keySchedule[ksRow++], t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[s3 >>> 16 & 255] ^ SUB_MIX2[s0 >>> 8 & 255] ^ SUB_MIX3[s1 & 255] ^ keySchedule[ksRow++], t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[s0 >>> 16 & 255] ^ SUB_MIX2[s1 >>> 8 & 255] ^ SUB_MIX3[s2 & 255] ^ keySchedule[ksRow++], s0 = t0, s1 = t1, s2 = t2, s3 = t3;\n return t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 255] << 16 | SBOX[s2 >>> 8 & 255] << 8 | SBOX[s3 & 255]) ^ keySchedule[ksRow++], t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 255] << 16 | SBOX[s3 >>> 8 & 255] << 8 | SBOX[s0 & 255]) ^ keySchedule[ksRow++], t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 255] << 16 | SBOX[s0 >>> 8 & 255] << 8 | SBOX[s1 & 255]) ^ keySchedule[ksRow++], t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 255] << 16 | SBOX[s1 >>> 8 & 255] << 8 | SBOX[s2 & 255]) ^ keySchedule[ksRow++], t0 = t0 >>> 0, t1 = t1 >>> 0, t2 = t2 >>> 0, t3 = t3 >>> 0, [t0, t1, t2, t3];\n }\n var RCON = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], G = function() {\n for (var d = new @Array(256), j = 0;j < 256; j++)\n j < 128 \? d[j] = j << 1 : d[j] = j << 1 ^ 283;\n for (var SBOX = [], INV_SBOX = [], SUB_MIX = [[], [], [], []], INV_SUB_MIX = [[], [], [], []], x = 0, xi = 0, i = 0;i < 256; ++i) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 255 ^ 99, SBOX[x] = sx, INV_SBOX[sx] = x;\n var x2 = d[x], x4 = d[x2], x8 = d[x4], t = d[sx] * 257 ^ sx * 16843008;\n SUB_MIX[0][x] = t << 24 | t >>> 8, SUB_MIX[1][x] = t << 16 | t >>> 16, SUB_MIX[2][x] = t << 8 | t >>> 24, SUB_MIX[3][x] = t, t = x8 * 16843009 ^ x4 * 65537 ^ x2 * 257 ^ x * 16843008, INV_SUB_MIX[0][sx] = t << 24 | t >>> 8, INV_SUB_MIX[1][sx] = t << 16 | t >>> 16, INV_SUB_MIX[2][sx] = t << 8 | t >>> 24, INV_SUB_MIX[3][sx] = t, x === 0 \? x = xi = 1 : (x = x2 ^ d[d[d[x8 ^ x2]]], xi ^= d[d[xi]]);\n }\n return {\n SBOX,\n INV_SBOX,\n SUB_MIX,\n INV_SUB_MIX\n };\n }();\n function AES(key2) {\n this._key = asUInt32Array(key2), this._reset();\n }\n AES.prototype = {}, AES.blockSize = 16, AES.keySize = 32, AES.prototype.blockSize = AES.blockSize, AES.prototype.keySize = AES.keySize, AES.prototype._reset = function() {\n for (var keyWords = this._key, keySize = keyWords.length, nRounds = keySize + 6, ksRows = (nRounds + 1) * 4, keySchedule = [], k = 0;k < keySize; k++)\n keySchedule[k] = keyWords[k];\n for (k = keySize;k < ksRows; k++) {\n var t = keySchedule[k - 1];\n k % keySize === 0 \? (t = t << 8 | t >>> 24, t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255], t ^= RCON[k / keySize | 0] << 24) : keySize > 6 && k % keySize === 4 && (t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255]), keySchedule[k] = keySchedule[k - keySize] ^ t;\n }\n for (var invKeySchedule = [], ik = 0;ik < ksRows; ik++) {\n var ksR = ksRows - ik, tt = keySchedule[ksR - (ik % 4 \? 0 : 4)];\n ik < 4 || ksR <= 4 \? invKeySchedule[ik] = tt : invKeySchedule[ik] = G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[tt >>> 16 & 255]] ^ G.INV_SUB_MIX[2][G.SBOX[tt >>> 8 & 255]] ^ G.INV_SUB_MIX[3][G.SBOX[tt & 255]];\n }\n this._nRounds = nRounds, this._keySchedule = keySchedule, this._invKeySchedule = invKeySchedule;\n }, AES.prototype.encryptBlockRaw = function(M) {\n return M = asUInt32Array(M), cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds);\n }, AES.prototype.encryptBlock = function(M) {\n var out = this.encryptBlockRaw(M), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[1], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[3], 12), buf;\n }, AES.prototype.decryptBlock = function(M) {\n M = asUInt32Array(M);\n var m1 = M[1];\n M[1] = M[3], M[3] = m1;\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[3], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[1], 12), buf;\n }, AES.prototype.scrub = function() {\n scrubVec(this._keySchedule), scrubVec(this._invKeySchedule), scrubVec(this._key);\n }, module.exports.AES = AES;\n }\n}), require_ghash = __commonJS({\n \"node_modules/browserify-aes/ghash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, ZEROES = Buffer2.alloc(16, 0);\n function toArray(buf) {\n return [buf.readUInt32BE(0), buf.readUInt32BE(4), buf.readUInt32BE(8), buf.readUInt32BE(12)];\n }\n function fromArray(out) {\n var buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0] >>> 0, 0), buf.writeUInt32BE(out[1] >>> 0, 4), buf.writeUInt32BE(out[2] >>> 0, 8), buf.writeUInt32BE(out[3] >>> 0, 12), buf;\n }\n function GHASH(key2) {\n this.h = key2, this.state = Buffer2.alloc(16, 0), this.cache = Buffer2.allocUnsafe(0);\n }\n GHASH.prototype = {}, GHASH.prototype.ghash = function(block) {\n for (var i = -1;++i < block.length; )\n this.state[i] ^= block[i];\n this._multiply();\n }, GHASH.prototype._multiply = function() {\n for (var Vi = toArray(this.h), Zi = [0, 0, 0, 0], j, xi, lsbVi, i = -1;++i < 128; ) {\n for (xi = (this.state[~~(i / 8)] & 1 << 7 - i % 8) !== 0, xi && (Zi[0] ^= Vi[0], Zi[1] ^= Vi[1], Zi[2] ^= Vi[2], Zi[3] ^= Vi[3]), lsbVi = (Vi[3] & 1) !== 0, j = 3;j > 0; j--)\n Vi[j] = Vi[j] >>> 1 | (Vi[j - 1] & 1) << 31;\n Vi[0] = Vi[0] >>> 1, lsbVi && (Vi[0] = Vi[0] ^ 225 << 24);\n }\n this.state = fromArray(Zi);\n }, GHASH.prototype.update = function(buf) {\n this.cache = Buffer2.concat([this.cache, buf]);\n for (var chunk;this.cache.length >= 16; )\n chunk = this.cache.slice(0, 16), this.cache = this.cache.slice(16), this.ghash(chunk);\n }, GHASH.prototype.final = function(abl, bl) {\n return this.cache.length && this.ghash(Buffer2.concat([this.cache, ZEROES], 16)), this.ghash(fromArray([0, abl, 0, bl])), this.state;\n }, module.exports = GHASH;\n }\n}), require_authCipher = __commonJS({\n \"node_modules/browserify-aes/authCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser(), GHASH = require_ghash(), xor = require_buffer_xor(), incr32 = require_incr32();\n function xorTest(a, b) {\n var out = 0;\n a.length !== b.length && out++;\n for (var len = Math.min(a.length, b.length), i = 0;i < len; ++i)\n out += a[i] ^ b[i];\n return out;\n }\n function calcIv(self2, iv, ck) {\n if (iv.length === 12)\n return self2._finID = Buffer2.concat([iv, Buffer2.from([0, 0, 0, 1])]), Buffer2.concat([iv, Buffer2.from([0, 0, 0, 2])]);\n var ghash = new GHASH(ck), len = iv.length, toPad = len % 16;\n ghash.update(iv), toPad && (toPad = 16 - toPad, ghash.update(Buffer2.alloc(toPad, 0))), ghash.update(Buffer2.alloc(8, 0));\n var ivBits = len * 8, tail = Buffer2.alloc(8);\n tail.writeUIntBE(ivBits, 0, 8), ghash.update(tail), self2._finID = ghash.state;\n var out = Buffer2.from(self2._finID);\n return incr32(out), out;\n }\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this);\n var h = Buffer2.alloc(4, 0);\n this._cipher = new aes.AES(key2);\n var ck = this._cipher.encryptBlock(h);\n this._ghash = new GHASH(ck), iv = calcIv(this, iv, ck), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._alen = 0, this._len = 0, this._mode = mode, this._authTag = null, this._called = !1;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - this._alen % 16;\n rump < 16 && (rump = Buffer2.alloc(rump, 0), this._ghash.update(rump));\n }\n this._called = !0;\n var out = this._mode.encrypt(this, chunk);\n return this._decrypt \? this._ghash.update(chunk) : this._ghash.update(out), this._len += chunk.length, out;\n }, StreamCipher.prototype._final = function() {\n if (this._decrypt && !this._authTag)\n throw new Error(\"Unsupported state or unable to authenticate data\");\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID));\n if (this._decrypt && xorTest(tag, this._authTag))\n throw new Error(\"Unsupported state or unable to authenticate data\");\n this._authTag = tag, this._cipher.scrub();\n }, StreamCipher.prototype.getAuthTag = function() {\n if (this._decrypt || !Buffer2.isBuffer(this._authTag))\n throw new Error(\"Attempting to get auth tag in unsupported state\");\n return this._authTag;\n }, StreamCipher.prototype.setAuthTag = function(tag) {\n if (!this._decrypt)\n throw new Error(\"Attempting to set auth tag in unsupported state\");\n this._authTag = tag;\n }, StreamCipher.prototype.setAAD = function(buf) {\n if (this._called)\n throw new Error(\"Attempting to set AAD in unsupported state\");\n this._ghash.update(buf), this._alen += buf.length;\n }, module.exports = StreamCipher;\n }\n}), require_streamCipher = __commonJS({\n \"node_modules/browserify-aes/streamCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser();\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this), this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._mode = mode;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt);\n }, StreamCipher.prototype._final = function() {\n this._cipher.scrub();\n }, module.exports = StreamCipher;\n }\n}), require_evp_bytestokey = __commonJS({\n \"node_modules/evp_bytestokey/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, MD5 = require_md5();\n function EVP_BytesToKey(password, salt, keyBits, ivLen) {\n if (Buffer2.isBuffer(password) || (password = Buffer2.from(password, \"binary\")), salt && (Buffer2.isBuffer(salt) || (salt = Buffer2.from(salt, \"binary\")), salt.length !== 8))\n @throwRangeError(\"salt should be Buffer with 8 byte length\");\n for (var keyLen = keyBits / 8, key2 = Buffer2.alloc(keyLen), iv = Buffer2.alloc(ivLen || 0), tmp = Buffer2.alloc(0);keyLen > 0 || ivLen > 0; ) {\n var hash = new MD5;\n hash.update(tmp), hash.update(password), salt && hash.update(salt), tmp = hash.digest();\n var used = 0;\n if (keyLen > 0) {\n var keyStart = key2.length - keyLen;\n used = Math.min(keyLen, tmp.length), tmp.copy(key2, keyStart, 0, used), keyLen -= used;\n }\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen, length = Math.min(ivLen, tmp.length - used);\n tmp.copy(iv, ivStart, used, used + length), ivLen -= length;\n }\n }\n return tmp.fill(0), { key: key2, iv };\n }\n module.exports = EVP_BytesToKey;\n }\n}), require_encrypter = __commonJS({\n \"node_modules/browserify-aes/encrypter.js\"(exports) {\n var MODES = require_modes(), AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Cipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Cipher, Transform), Cipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(); )\n thing = this._mode.encrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n };\n var PADDING = Buffer2.alloc(16, 16);\n Cipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return chunk = this._mode.encrypt(this, chunk), this._cipher.scrub(), chunk;\n if (!chunk.equals(PADDING))\n throw this._cipher.scrub(), new Error(\"data not multiple of block length\");\n }, Cipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function() {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16);\n return this.cache = this.cache.slice(16), out;\n }\n return null;\n }, Splitter.prototype.flush = function() {\n for (var len = 16 - this.cache.length, padBuff = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n padBuff.writeUInt8(len, i);\n return Buffer2.concat([this.cache, padBuff]);\n };\n function createCipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), password\?.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv) : new Cipher(config.module, password, iv);\n }\n function createCipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n exports.createCipheriv = createCipheriv, exports.createCipher = createCipher;\n }\n}), require_decrypter = __commonJS({\n \"node_modules/browserify-aes/decrypter.js\"(exports) {\n var AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, MODES = require_modes(), StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Decipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._last = void 0, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Decipher, Transform), Decipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(this._autopadding); )\n thing = this._mode.decrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n }, Decipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return unpad(this._mode.decrypt(this, chunk));\n if (chunk)\n throw new Error(\"data not multiple of block length\");\n }, Decipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function(autoPadding) {\n var out;\n if (autoPadding) {\n if (this.cache.length > 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n } else if (this.cache.length >= 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n return null;\n }, Splitter.prototype.flush = function() {\n if (this.cache.length)\n return this.cache;\n };\n function unpad(last) {\n var padded = last[15];\n if (padded < 1 || padded > 16)\n throw new Error(\"unable to decrypt data\");\n for (var i = -1;++i < padded; )\n if (last[i + (16 - padded)] !== padded)\n throw new Error(\"unable to decrypt data\");\n if (padded !== 16)\n return last.slice(0, 16 - padded);\n }\n function createDecipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (password.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv, !0) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv, !0) : new Decipher(config.module, password, iv);\n }\n function createDecipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n exports.createDecipher = createDecipher, exports.createDecipheriv = createDecipheriv;\n }\n}), require_browser5 = __commonJS({\n \"node_modules/browserify-aes/browser.js\"(exports) {\n var ciphers = require_encrypter(), deciphers = require_decrypter(), modes = require_list();\n function getCiphers() {\n return Object.keys(modes);\n }\n exports.createCipher = exports.Cipher = ciphers.createCipher, exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv, exports.createDecipher = exports.Decipher = deciphers.createDecipher, exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_modes2 = __commonJS({\n \"node_modules/browserify-des/modes.js\"(exports) {\n exports[\"des-ecb\"] = {\n key: 8,\n iv: 0\n }, exports[\"des-cbc\"] = exports.des = {\n key: 8,\n iv: 8\n }, exports[\"des-ede3-cbc\"] = exports.des3 = {\n key: 24,\n iv: 8\n }, exports[\"des-ede3\"] = {\n key: 24,\n iv: 0\n }, exports[\"des-ede-cbc\"] = {\n key: 16,\n iv: 8\n }, exports[\"des-ede\"] = {\n key: 16,\n iv: 0\n };\n }\n}), require_browser6 = __commonJS({\n \"node_modules/browserify-cipher/browser.js\"(exports) {\n var DES = require_browserify_des(), aes = require_browser5(), aesModes = require_modes(), desModes = require_modes2(), ebtk = require_evp_bytestokey();\n function createCipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n function createDecipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n function createCipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createCipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite });\n @throwTypeError(\"invalid suite type\");\n }\n function createDecipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createDecipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite, decrypt: !0 });\n @throwTypeError(\"invalid suite type\");\n }\n function getCiphers() {\n return Object.keys(desModes).concat(aes.getCiphers());\n }\n exports.createCipher = exports.Cipher = createCipher, exports.createCipheriv = exports.Cipheriv = createCipheriv, exports.createDecipher = exports.Decipher = createDecipher, exports.createDecipheriv = exports.Decipheriv = createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_bn = __commonJS({\n \"node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js\"(exports, module) {\n (function(module2, exports2) {\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype, ctor.prototype = new TempCtor, ctor.prototype.constructor = ctor;\n }\n function BN(number, base, endian) {\n if (BN.isBN(number))\n return number;\n this.negative = 0, this.words = null, this.length = 0, this.red = null, number !== null && ((base === \"le\" || base === \"be\") && (endian = base, base = 10), this._init(number || 0, base || 10, endian || \"be\"));\n }\n BN.prototype = {}, typeof module2 == \"object\" \? module2.exports = BN : exports2.BN = BN, BN.BN = BN, BN.wordSize = 26;\n var Buffer2 = Buffer;\n BN.isBN = function(num) {\n return num instanceof BN \? !0 : num !== null && typeof num == \"object\" && num.constructor.wordSize === BN.wordSize && @Array.isArray(num.words);\n }, BN.max = function(left, right) {\n return left.cmp(right) > 0 \? left : right;\n }, BN.min = function(left, right) {\n return left.cmp(right) < 0 \? left : right;\n }, BN.prototype._init = function(number, base, endian) {\n if (typeof number == \"number\")\n return this._initNumber(number, base, endian);\n if (typeof number == \"object\")\n return this._initArray(number, base, endian);\n base === \"hex\" && (base = 16), assert(base === (base | 0) && base >= 2 && base <= 36), number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n number[0] === \"-\" && (start++, this.negative = 1), start < number.length && (base === 16 \? this._parseHex(number, start, endian) : (this._parseBase(number, base, start), endian === \"le\" && this._initArray(this.toArray(), base, endian)));\n }, BN.prototype._initNumber = function(number, base, endian) {\n number < 0 && (this.negative = 1, number = -number), number < 67108864 \? (this.words = [number & 67108863], this.length = 1) : number < 4503599627370496 \? (this.words = [number & 67108863, number / 67108864 & 67108863], this.length = 2) : (assert(number < 9007199254740992), this.words = [number & 67108863, number / 67108864 & 67108863, 1], this.length = 3), endian === \"le\" && this._initArray(this.toArray(), base, endian);\n }, BN.prototype._initArray = function(number, base, endian) {\n if (assert(typeof number.length == \"number\"), number.length <= 0)\n return this.words = [0], this.length = 1, this;\n this.length = Math.ceil(number.length / 3), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var j, w, off = 0;\n if (endian === \"be\")\n for (i = number.length - 1, j = 0;i >= 0; i -= 3)\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n else if (endian === \"le\")\n for (i = 0, j = 0;i < number.length; i += 3)\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n return this.strip();\n };\n function parseHex4Bits(string, index) {\n var c = string.charCodeAt(index);\n return c >= 65 && c <= 70 \? c - 55 : c >= 97 && c <= 102 \? c - 87 : c - 48 & 15;\n }\n function parseHexByte(string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n return index - 1 >= lowerBound && (r |= parseHex4Bits(string, index - 1) << 4), r;\n }\n BN.prototype._parseHex = function(number, start, endian) {\n this.length = Math.ceil((number.length - start) / 6), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var off = 0, j = 0, w;\n if (endian === \"be\")\n for (i = number.length - 1;i >= start; i -= 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 \? start + 1 : start;i < number.length; i += 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n }\n this.strip();\n };\n function parseBase(str, start, end, mul) {\n for (var r = 0, len = Math.min(str.length, end), i = start;i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n r *= mul, c >= 49 \? r += c - 49 + 10 : c >= 17 \? r += c - 17 + 10 : r += c;\n }\n return r;\n }\n BN.prototype._parseBase = function(number, base, start) {\n this.words = [0], this.length = 1;\n for (var limbLen = 0, limbPow = 1;limbPow <= 67108863; limbPow *= base)\n limbLen++;\n limbLen--, limbPow = limbPow / base | 0;\n for (var total = number.length - start, mod = total % limbLen, end = Math.min(total, total - mod) + start, word = 0, i = start;i < end; i += limbLen)\n word = parseBase(number, i, i + limbLen, base), this.imuln(limbPow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n if (mod !== 0) {\n var pow = 1;\n for (word = parseBase(number, i, number.length, base), i = 0;i < mod; i++)\n pow *= base;\n this.imuln(pow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n }\n this.strip();\n }, BN.prototype.copy = function(dest) {\n dest.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n dest.words[i] = this.words[i];\n dest.length = this.length, dest.negative = this.negative, dest.red = this.red;\n }, BN.prototype.clone = function() {\n var r = new BN(null);\n return this.copy(r), r;\n }, BN.prototype._expand = function(size) {\n for (;this.length < size; )\n this.words[this.length++] = 0;\n return this;\n }, BN.prototype.strip = function() {\n for (;this.length > 1 && this.words[this.length - 1] === 0; )\n this.length--;\n return this._normSign();\n }, BN.prototype._normSign = function() {\n return this.length === 1 && this.words[0] === 0 && (this.negative = 0), this;\n }, BN.prototype.inspect = function() {\n return (this.red \? \"<BN-R: \" : \"<BN: \") + this.toString(16) + \">\";\n };\n var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ], groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ], groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 1e7,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function(base, padding) {\n base = base || 10, padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n for (var off = 0, carry = 0, i = 0;i < this.length; i++) {\n var w = this.words[i], word = ((w << off | carry) & 16777215).toString(16);\n carry = w >>> 24 - off & 16777215, carry !== 0 || i !== this.length - 1 \? out = zeros[6 - word.length] + word + out : out = word + out, off += 2, off >= 26 && (off -= 26, i--);\n }\n for (carry !== 0 && (out = carry.toString(16) + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n var groupSize = groupSizes[base], groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n for (c.negative = 0;!c.isZero(); ) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase), c.isZero() \? out = r + out : out = zeros[groupSize - r.length] + r + out;\n }\n for (this.isZero() && (out = \"0\" + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n assert(!1, \"Base should be between 2 and 36\");\n }, BN.prototype.toNumber = function() {\n var ret = this.words[0];\n return this.length === 2 \? ret += this.words[1] * 67108864 : this.length === 3 && this.words[2] === 1 \? ret += 4503599627370496 + this.words[1] * 67108864 : this.length > 2 && assert(!1, \"Number can only safely store up to 53 bits\"), this.negative !== 0 \? -ret : ret;\n }, BN.prototype.toJSON = function() {\n return this.toString(16);\n }, BN.prototype.toBuffer = function(endian, length) {\n return assert(typeof Buffer2 < \"u\"), this.toArrayLike(Buffer2, endian, length);\n }, BN.prototype.toArray = function(endian, length) {\n return this.toArrayLike(@Array, endian, length);\n }, BN.prototype.toArrayLike = function(ArrayType, endian, length) {\n var byteLength = this.byteLength(), reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\"), assert(reqLength > 0, \"Requested array length <= 0\"), this.strip();\n var littleEndian = endian === \"le\", res = new ArrayType(reqLength), b, i, q = this.clone();\n if (littleEndian) {\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[i] = b;\n for (;i < reqLength; i++)\n res[i] = 0;\n } else {\n for (i = 0;i < reqLength - byteLength; i++)\n res[i] = 0;\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[reqLength - i - 1] = b;\n }\n return res;\n }, Math.clz32 \? BN.prototype._countBits = function(w) {\n return 32 - Math.clz32(w);\n } : BN.prototype._countBits = function(w) {\n var t = w, r = 0;\n return t >= 4096 && (r += 13, t >>>= 13), t >= 64 && (r += 7, t >>>= 7), t >= 8 && (r += 4, t >>>= 4), t >= 2 && (r += 2, t >>>= 2), r + t;\n }, BN.prototype._zeroBits = function(w) {\n if (w === 0)\n return 26;\n var t = w, r = 0;\n return (t & 8191) === 0 && (r += 13, t >>>= 13), (t & 127) === 0 && (r += 7, t >>>= 7), (t & 15) === 0 && (r += 4, t >>>= 4), (t & 3) === 0 && (r += 2, t >>>= 2), (t & 1) === 0 && r++, r;\n }, BN.prototype.bitLength = function() {\n var w = this.words[this.length - 1], hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n for (var w = new @Array(num.bitLength()), bit = 0;bit < w.length; bit++) {\n var off = bit / 26 | 0, wbit = bit % 26;\n w[bit] = (num.words[off] & 1 << wbit) >>> wbit;\n }\n return w;\n }\n BN.prototype.zeroBits = function() {\n if (this.isZero())\n return 0;\n for (var r = 0, i = 0;i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n if (r += b, b !== 26)\n break;\n }\n return r;\n }, BN.prototype.byteLength = function() {\n return Math.ceil(this.bitLength() / 8);\n }, BN.prototype.toTwos = function(width) {\n return this.negative !== 0 \? this.abs().inotn(width).iaddn(1) : this.clone();\n }, BN.prototype.fromTwos = function(width) {\n return this.testn(width - 1) \? this.notn(width).iaddn(1).ineg() : this.clone();\n }, BN.prototype.isNeg = function() {\n return this.negative !== 0;\n }, BN.prototype.neg = function() {\n return this.clone().ineg();\n }, BN.prototype.ineg = function() {\n return this.isZero() || (this.negative ^= 1), this;\n }, BN.prototype.iuor = function(num) {\n for (;this.length < num.length; )\n this.words[this.length++] = 0;\n for (var i = 0;i < num.length; i++)\n this.words[i] = this.words[i] | num.words[i];\n return this.strip();\n }, BN.prototype.ior = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuor(num);\n }, BN.prototype.or = function(num) {\n return this.length > num.length \? this.clone().ior(num) : num.clone().ior(this);\n }, BN.prototype.uor = function(num) {\n return this.length > num.length \? this.clone().iuor(num) : num.clone().iuor(this);\n }, BN.prototype.iuand = function(num) {\n var b;\n this.length > num.length \? b = num : b = this;\n for (var i = 0;i < b.length; i++)\n this.words[i] = this.words[i] & num.words[i];\n return this.length = b.length, this.strip();\n }, BN.prototype.iand = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuand(num);\n }, BN.prototype.and = function(num) {\n return this.length > num.length \? this.clone().iand(num) : num.clone().iand(this);\n }, BN.prototype.uand = function(num) {\n return this.length > num.length \? this.clone().iuand(num) : num.clone().iuand(this);\n }, BN.prototype.iuxor = function(num) {\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var i = 0;i < b.length; i++)\n this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = a.length, this.strip();\n }, BN.prototype.ixor = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuxor(num);\n }, BN.prototype.xor = function(num) {\n return this.length > num.length \? this.clone().ixor(num) : num.clone().ixor(this);\n }, BN.prototype.uxor = function(num) {\n return this.length > num.length \? this.clone().iuxor(num) : num.clone().iuxor(this);\n }, BN.prototype.inotn = function(width) {\n assert(typeof width == \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0, bitsLeft = width % 26;\n this._expand(bytesNeeded), bitsLeft > 0 && bytesNeeded--;\n for (var i = 0;i < bytesNeeded; i++)\n this.words[i] = ~this.words[i] & 67108863;\n return bitsLeft > 0 && (this.words[i] = ~this.words[i] & 67108863 >> 26 - bitsLeft), this.strip();\n }, BN.prototype.notn = function(width) {\n return this.clone().inotn(width);\n }, BN.prototype.setn = function(bit, val) {\n assert(typeof bit == \"number\" && bit >= 0);\n var off = bit / 26 | 0, wbit = bit % 26;\n return this._expand(off + 1), val \? this.words[off] = this.words[off] | 1 << wbit : this.words[off] = this.words[off] & ~(1 << wbit), this.strip();\n }, BN.prototype.iadd = function(num) {\n var r;\n if (this.negative !== 0 && num.negative === 0)\n return this.negative = 0, r = this.isub(num), this.negative ^= 1, this._normSign();\n if (this.negative === 0 && num.negative !== 0)\n return num.negative = 0, r = this.isub(num), num.negative = 1, r._normSign();\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n if (this.length = a.length, carry !== 0)\n this.words[this.length] = carry, this.length++;\n else if (a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this;\n }, BN.prototype.add = function(num) {\n var res;\n return num.negative !== 0 && this.negative === 0 \? (num.negative = 0, res = this.sub(num), num.negative ^= 1, res) : num.negative === 0 && this.negative !== 0 \? (this.negative = 0, res = num.sub(this), this.negative = 1, res) : this.length > num.length \? this.clone().iadd(num) : num.clone().iadd(this);\n }, BN.prototype.isub = function(num) {\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n return num.negative = 1, r._normSign();\n } else if (this.negative !== 0)\n return this.negative = 0, this.iadd(num), this.negative = 1, this._normSign();\n var cmp = this.cmp(num);\n if (cmp === 0)\n return this.negative = 0, this.length = 1, this.words[0] = 0, this;\n var a, b;\n cmp > 0 \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n if (carry === 0 && i < a.length && a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = Math.max(this.length, i), a !== this && (this.negative = 1), this.strip();\n }, BN.prototype.sub = function(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative;\n var len = self2.length + num.length | 0;\n out.length = len, len = len - 1 | 0;\n var a = self2.words[0] | 0, b = num.words[0] | 0, r = a * b, lo = r & 67108863, carry = r / 67108864 | 0;\n out.words[0] = lo;\n for (var k = 1;k < len; k++) {\n for (var ncarry = carry >>> 26, rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j | 0;\n a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b + rword, ncarry += r / 67108864 | 0, rword = r & 67108863;\n }\n out.words[k] = rword | 0, carry = ncarry | 0;\n }\n return carry !== 0 \? out.words[k] = carry | 0 : out.length--, out.strip();\n }\n var comb10MulTo = function(self2, num, out) {\n var a = self2.words, b = num.words, o = out.words, c = 0, lo, mid, hi, a0 = a[0] | 0, al0 = a0 & 8191, ah0 = a0 >>> 13, a1 = a[1] | 0, al1 = a1 & 8191, ah1 = a1 >>> 13, a2 = a[2] | 0, al2 = a2 & 8191, ah2 = a2 >>> 13, a3 = a[3] | 0, al3 = a3 & 8191, ah3 = a3 >>> 13, a4 = a[4] | 0, al4 = a4 & 8191, ah4 = a4 >>> 13, a5 = a[5] | 0, al5 = a5 & 8191, ah5 = a5 >>> 13, a6 = a[6] | 0, al6 = a6 & 8191, ah6 = a6 >>> 13, a7 = a[7] | 0, al7 = a7 & 8191, ah7 = a7 >>> 13, a8 = a[8] | 0, al8 = a8 & 8191, ah8 = a8 >>> 13, a9 = a[9] | 0, al9 = a9 & 8191, ah9 = a9 >>> 13, b0 = b[0] | 0, bl0 = b0 & 8191, bh0 = b0 >>> 13, b1 = b[1] | 0, bl1 = b1 & 8191, bh1 = b1 >>> 13, b2 = b[2] | 0, bl2 = b2 & 8191, bh2 = b2 >>> 13, b3 = b[3] | 0, bl3 = b3 & 8191, bh3 = b3 >>> 13, b4 = b[4] | 0, bl4 = b4 & 8191, bh4 = b4 >>> 13, b5 = b[5] | 0, bl5 = b5 & 8191, bh5 = b5 >>> 13, b6 = b[6] | 0, bl6 = b6 & 8191, bh6 = b6 >>> 13, b7 = b[7] | 0, bl7 = b7 & 8191, bh7 = b7 >>> 13, b8 = b[8] | 0, bl8 = b8 & 8191, bh8 = b8 >>> 13, b9 = b[9] | 0, bl9 = b9 & 8191, bh9 = b9 >>> 13;\n out.negative = self2.negative ^ num.negative, out.length = 19, lo = Math.imul(al0, bl0), mid = Math.imul(al0, bh0), mid = mid + Math.imul(ah0, bl0) | 0, hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0, w0 &= 67108863, lo = Math.imul(al1, bl0), mid = Math.imul(al1, bh0), mid = mid + Math.imul(ah1, bl0) | 0, hi = Math.imul(ah1, bh0), lo = lo + Math.imul(al0, bl1) | 0, mid = mid + Math.imul(al0, bh1) | 0, mid = mid + Math.imul(ah0, bl1) | 0, hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0, w1 &= 67108863, lo = Math.imul(al2, bl0), mid = Math.imul(al2, bh0), mid = mid + Math.imul(ah2, bl0) | 0, hi = Math.imul(ah2, bh0), lo = lo + Math.imul(al1, bl1) | 0, mid = mid + Math.imul(al1, bh1) | 0, mid = mid + Math.imul(ah1, bl1) | 0, hi = hi + Math.imul(ah1, bh1) | 0, lo = lo + Math.imul(al0, bl2) | 0, mid = mid + Math.imul(al0, bh2) | 0, mid = mid + Math.imul(ah0, bl2) | 0, hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0, w2 &= 67108863, lo = Math.imul(al3, bl0), mid = Math.imul(al3, bh0), mid = mid + Math.imul(ah3, bl0) | 0, hi = Math.imul(ah3, bh0), lo = lo + Math.imul(al2, bl1) | 0, mid = mid + Math.imul(al2, bh1) | 0, mid = mid + Math.imul(ah2, bl1) | 0, hi = hi + Math.imul(ah2, bh1) | 0, lo = lo + Math.imul(al1, bl2) | 0, mid = mid + Math.imul(al1, bh2) | 0, mid = mid + Math.imul(ah1, bl2) | 0, hi = hi + Math.imul(ah1, bh2) | 0, lo = lo + Math.imul(al0, bl3) | 0, mid = mid + Math.imul(al0, bh3) | 0, mid = mid + Math.imul(ah0, bl3) | 0, hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0, w3 &= 67108863, lo = Math.imul(al4, bl0), mid = Math.imul(al4, bh0), mid = mid + Math.imul(ah4, bl0) | 0, hi = Math.imul(ah4, bh0), lo = lo + Math.imul(al3, bl1) | 0, mid = mid + Math.imul(al3, bh1) | 0, mid = mid + Math.imul(ah3, bl1) | 0, hi = hi + Math.imul(ah3, bh1) | 0, lo = lo + Math.imul(al2, bl2) | 0, mid = mid + Math.imul(al2, bh2) | 0, mid = mid + Math.imul(ah2, bl2) | 0, hi = hi + Math.imul(ah2, bh2) | 0, lo = lo + Math.imul(al1, bl3) | 0, mid = mid + Math.imul(al1, bh3) | 0, mid = mid + Math.imul(ah1, bl3) | 0, hi = hi + Math.imul(ah1, bh3) | 0, lo = lo + Math.imul(al0, bl4) | 0, mid = mid + Math.imul(al0, bh4) | 0, mid = mid + Math.imul(ah0, bl4) | 0, hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0, w4 &= 67108863, lo = Math.imul(al5, bl0), mid = Math.imul(al5, bh0), mid = mid + Math.imul(ah5, bl0) | 0, hi = Math.imul(ah5, bh0), lo = lo + Math.imul(al4, bl1) | 0, mid = mid + Math.imul(al4, bh1) | 0, mid = mid + Math.imul(ah4, bl1) | 0, hi = hi + Math.imul(ah4, bh1) | 0, lo = lo + Math.imul(al3, bl2) | 0, mid = mid + Math.imul(al3, bh2) | 0, mid = mid + Math.imul(ah3, bl2) | 0, hi = hi + Math.imul(ah3, bh2) | 0, lo = lo + Math.imul(al2, bl3) | 0, mid = mid + Math.imul(al2, bh3) | 0, mid = mid + Math.imul(ah2, bl3) | 0, hi = hi + Math.imul(ah2, bh3) | 0, lo = lo + Math.imul(al1, bl4) | 0, mid = mid + Math.imul(al1, bh4) | 0, mid = mid + Math.imul(ah1, bl4) | 0, hi = hi + Math.imul(ah1, bh4) | 0, lo = lo + Math.imul(al0, bl5) | 0, mid = mid + Math.imul(al0, bh5) | 0, mid = mid + Math.imul(ah0, bl5) | 0, hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0, w5 &= 67108863, lo = Math.imul(al6, bl0), mid = Math.imul(al6, bh0), mid = mid + Math.imul(ah6, bl0) | 0, hi = Math.imul(ah6, bh0), lo = lo + Math.imul(al5, bl1) | 0, mid = mid + Math.imul(al5, bh1) | 0, mid = mid + Math.imul(ah5, bl1) | 0, hi = hi + Math.imul(ah5, bh1) | 0, lo = lo + Math.imul(al4, bl2) | 0, mid = mid + Math.imul(al4, bh2) | 0, mid = mid + Math.imul(ah4, bl2) | 0, hi = hi + Math.imul(ah4, bh2) | 0, lo = lo + Math.imul(al3, bl3) | 0, mid = mid + Math.imul(al3, bh3) | 0, mid = mid + Math.imul(ah3, bl3) | 0, hi = hi + Math.imul(ah3, bh3) | 0, lo = lo + Math.imul(al2, bl4) | 0, mid = mid + Math.imul(al2, bh4) | 0, mid = mid + Math.imul(ah2, bl4) | 0, hi = hi + Math.imul(ah2, bh4) | 0, lo = lo + Math.imul(al1, bl5) | 0, mid = mid + Math.imul(al1, bh5) | 0, mid = mid + Math.imul(ah1, bl5) | 0, hi = hi + Math.imul(ah1, bh5) | 0, lo = lo + Math.imul(al0, bl6) | 0, mid = mid + Math.imul(al0, bh6) | 0, mid = mid + Math.imul(ah0, bl6) | 0, hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0, w6 &= 67108863, lo = Math.imul(al7, bl0), mid = Math.imul(al7, bh0), mid = mid + Math.imul(ah7, bl0) | 0, hi = Math.imul(ah7, bh0), lo = lo + Math.imul(al6, bl1) | 0, mid = mid + Math.imul(al6, bh1) | 0, mid = mid + Math.imul(ah6, bl1) | 0, hi = hi + Math.imul(ah6, bh1) | 0, lo = lo + Math.imul(al5, bl2) | 0, mid = mid + Math.imul(al5, bh2) | 0, mid = mid + Math.imul(ah5, bl2) | 0, hi = hi + Math.imul(ah5, bh2) | 0, lo = lo + Math.imul(al4, bl3) | 0, mid = mid + Math.imul(al4, bh3) | 0, mid = mid + Math.imul(ah4, bl3) | 0, hi = hi + Math.imul(ah4, bh3) | 0, lo = lo + Math.imul(al3, bl4) | 0, mid = mid + Math.imul(al3, bh4) | 0, mid = mid + Math.imul(ah3, bl4) | 0, hi = hi + Math.imul(ah3, bh4) | 0, lo = lo + Math.imul(al2, bl5) | 0, mid = mid + Math.imul(al2, bh5) | 0, mid = mid + Math.imul(ah2, bl5) | 0, hi = hi + Math.imul(ah2, bh5) | 0, lo = lo + Math.imul(al1, bl6) | 0, mid = mid + Math.imul(al1, bh6) | 0, mid = mid + Math.imul(ah1, bl6) | 0, hi = hi + Math.imul(ah1, bh6) | 0, lo = lo + Math.imul(al0, bl7) | 0, mid = mid + Math.imul(al0, bh7) | 0, mid = mid + Math.imul(ah0, bl7) | 0, hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0, w7 &= 67108863, lo = Math.imul(al8, bl0), mid = Math.imul(al8, bh0), mid = mid + Math.imul(ah8, bl0) | 0, hi = Math.imul(ah8, bh0), lo = lo + Math.imul(al7, bl1) | 0, mid = mid + Math.imul(al7, bh1) | 0, mid = mid + Math.imul(ah7, bl1) | 0, hi = hi + Math.imul(ah7, bh1) | 0, lo = lo + Math.imul(al6, bl2) | 0, mid = mid + Math.imul(al6, bh2) | 0, mid = mid + Math.imul(ah6, bl2) | 0, hi = hi + Math.imul(ah6, bh2) | 0, lo = lo + Math.imul(al5, bl3) | 0, mid = mid + Math.imul(al5, bh3) | 0, mid = mid + Math.imul(ah5, bl3) | 0, hi = hi + Math.imul(ah5, bh3) | 0, lo = lo + Math.imul(al4, bl4) | 0, mid = mid + Math.imul(al4, bh4) | 0, mid = mid + Math.imul(ah4, bl4) | 0, hi = hi + Math.imul(ah4, bh4) | 0, lo = lo + Math.imul(al3, bl5) | 0, mid = mid + Math.imul(al3, bh5) | 0, mid = mid + Math.imul(ah3, bl5) | 0, hi = hi + Math.imul(ah3, bh5) | 0, lo = lo + Math.imul(al2, bl6) | 0, mid = mid + Math.imul(al2, bh6) | 0, mid = mid + Math.imul(ah2, bl6) | 0, hi = hi + Math.imul(ah2, bh6) | 0, lo = lo + Math.imul(al1, bl7) | 0, mid = mid + Math.imul(al1, bh7) | 0, mid = mid + Math.imul(ah1, bl7) | 0, hi = hi + Math.imul(ah1, bh7) | 0, lo = lo + Math.imul(al0, bl8) | 0, mid = mid + Math.imul(al0, bh8) | 0, mid = mid + Math.imul(ah0, bl8) | 0, hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0, w8 &= 67108863, lo = Math.imul(al9, bl0), mid = Math.imul(al9, bh0), mid = mid + Math.imul(ah9, bl0) | 0, hi = Math.imul(ah9, bh0), lo = lo + Math.imul(al8, bl1) | 0, mid = mid + Math.imul(al8, bh1) | 0, mid = mid + Math.imul(ah8, bl1) | 0, hi = hi + Math.imul(ah8, bh1) | 0, lo = lo + Math.imul(al7, bl2) | 0, mid = mid + Math.imul(al7, bh2) | 0, mid = mid + Math.imul(ah7, bl2) | 0, hi = hi + Math.imul(ah7, bh2) | 0, lo = lo + Math.imul(al6, bl3) | 0, mid = mid + Math.imul(al6, bh3) | 0, mid = mid + Math.imul(ah6, bl3) | 0, hi = hi + Math.imul(ah6, bh3) | 0, lo = lo + Math.imul(al5, bl4) | 0, mid = mid + Math.imul(al5, bh4) | 0, mid = mid + Math.imul(ah5, bl4) | 0, hi = hi + Math.imul(ah5, bh4) | 0, lo = lo + Math.imul(al4, bl5) | 0, mid = mid + Math.imul(al4, bh5) | 0, mid = mid + Math.imul(ah4, bl5) | 0, hi = hi + Math.imul(ah4, bh5) | 0, lo = lo + Math.imul(al3, bl6) | 0, mid = mid + Math.imul(al3, bh6) | 0, mid = mid + Math.imul(ah3, bl6) | 0, hi = hi + Math.imul(ah3, bh6) | 0, lo = lo + Math.imul(al2, bl7) | 0, mid = mid + Math.imul(al2, bh7) | 0, mid = mid + Math.imul(ah2, bl7) | 0, hi = hi + Math.imul(ah2, bh7) | 0, lo = lo + Math.imul(al1, bl8) | 0, mid = mid + Math.imul(al1, bh8) | 0, mid = mid + Math.imul(ah1, bl8) | 0, hi = hi + Math.imul(ah1, bh8) | 0, lo = lo + Math.imul(al0, bl9) | 0, mid = mid + Math.imul(al0, bh9) | 0, mid = mid + Math.imul(ah0, bl9) | 0, hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0, w9 &= 67108863, lo = Math.imul(al9, bl1), mid = Math.imul(al9, bh1), mid = mid + Math.imul(ah9, bl1) | 0, hi = Math.imul(ah9, bh1), lo = lo + Math.imul(al8, bl2) | 0, mid = mid + Math.imul(al8, bh2) | 0, mid = mid + Math.imul(ah8, bl2) | 0, hi = hi + Math.imul(ah8, bh2) | 0, lo = lo + Math.imul(al7, bl3) | 0, mid = mid + Math.imul(al7, bh3) | 0, mid = mid + Math.imul(ah7, bl3) | 0, hi = hi + Math.imul(ah7, bh3) | 0, lo = lo + Math.imul(al6, bl4) | 0, mid = mid + Math.imul(al6, bh4) | 0, mid = mid + Math.imul(ah6, bl4) | 0, hi = hi + Math.imul(ah6, bh4) | 0, lo = lo + Math.imul(al5, bl5) | 0, mid = mid + Math.imul(al5, bh5) | 0, mid = mid + Math.imul(ah5, bl5) | 0, hi = hi + Math.imul(ah5, bh5) | 0, lo = lo + Math.imul(al4, bl6) | 0, mid = mid + Math.imul(al4, bh6) | 0, mid = mid + Math.imul(ah4, bl6) | 0, hi = hi + Math.imul(ah4, bh6) | 0, lo = lo + Math.imul(al3, bl7) | 0, mid = mid + Math.imul(al3, bh7) | 0, mid = mid + Math.imul(ah3, bl7) | 0, hi = hi + Math.imul(ah3, bh7) | 0, lo = lo + Math.imul(al2, bl8) | 0, mid = mid + Math.imul(al2, bh8) | 0, mid = mid + Math.imul(ah2, bl8) | 0, hi = hi + Math.imul(ah2, bh8) | 0, lo = lo + Math.imul(al1, bl9) | 0, mid = mid + Math.imul(al1, bh9) | 0, mid = mid + Math.imul(ah1, bl9) | 0, hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0, w10 &= 67108863, lo = Math.imul(al9, bl2), mid = Math.imul(al9, bh2), mid = mid + Math.imul(ah9, bl2) | 0, hi = Math.imul(ah9, bh2), lo = lo + Math.imul(al8, bl3) | 0, mid = mid + Math.imul(al8, bh3) | 0, mid = mid + Math.imul(ah8, bl3) | 0, hi = hi + Math.imul(ah8, bh3) | 0, lo = lo + Math.imul(al7, bl4) | 0, mid = mid + Math.imul(al7, bh4) | 0, mid = mid + Math.imul(ah7, bl4) | 0, hi = hi + Math.imul(ah7, bh4) | 0, lo = lo + Math.imul(al6, bl5) | 0, mid = mid + Math.imul(al6, bh5) | 0, mid = mid + Math.imul(ah6, bl5) | 0, hi = hi + Math.imul(ah6, bh5) | 0, lo = lo + Math.imul(al5, bl6) | 0, mid = mid + Math.imul(al5, bh6) | 0, mid = mid + Math.imul(ah5, bl6) | 0, hi = hi + Math.imul(ah5, bh6) | 0, lo = lo + Math.imul(al4, bl7) | 0, mid = mid + Math.imul(al4, bh7) | 0, mid = mid + Math.imul(ah4, bl7) | 0, hi = hi + Math.imul(ah4, bh7) | 0, lo = lo + Math.imul(al3, bl8) | 0, mid = mid + Math.imul(al3, bh8) | 0, mid = mid + Math.imul(ah3, bl8) | 0, hi = hi + Math.imul(ah3, bh8) | 0, lo = lo + Math.imul(al2, bl9) | 0, mid = mid + Math.imul(al2, bh9) | 0, mid = mid + Math.imul(ah2, bl9) | 0, hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0, w11 &= 67108863, lo = Math.imul(al9, bl3), mid = Math.imul(al9, bh3), mid = mid + Math.imul(ah9, bl3) | 0, hi = Math.imul(ah9, bh3), lo = lo + Math.imul(al8, bl4) | 0, mid = mid + Math.imul(al8, bh4) | 0, mid = mid + Math.imul(ah8, bl4) | 0, hi = hi + Math.imul(ah8, bh4) | 0, lo = lo + Math.imul(al7, bl5) | 0, mid = mid + Math.imul(al7, bh5) | 0, mid = mid + Math.imul(ah7, bl5) | 0, hi = hi + Math.imul(ah7, bh5) | 0, lo = lo + Math.imul(al6, bl6) | 0, mid = mid + Math.imul(al6, bh6) | 0, mid = mid + Math.imul(ah6, bl6) | 0, hi = hi + Math.imul(ah6, bh6) | 0, lo = lo + Math.imul(al5, bl7) | 0, mid = mid + Math.imul(al5, bh7) | 0, mid = mid + Math.imul(ah5, bl7) | 0, hi = hi + Math.imul(ah5, bh7) | 0, lo = lo + Math.imul(al4, bl8) | 0, mid = mid + Math.imul(al4, bh8) | 0, mid = mid + Math.imul(ah4, bl8) | 0, hi = hi + Math.imul(ah4, bh8) | 0, lo = lo + Math.imul(al3, bl9) | 0, mid = mid + Math.imul(al3, bh9) | 0, mid = mid + Math.imul(ah3, bl9) | 0, hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0, w12 &= 67108863, lo = Math.imul(al9, bl4), mid = Math.imul(al9, bh4), mid = mid + Math.imul(ah9, bl4) | 0, hi = Math.imul(ah9, bh4), lo = lo + Math.imul(al8, bl5) | 0, mid = mid + Math.imul(al8, bh5) | 0, mid = mid + Math.imul(ah8, bl5) | 0, hi = hi + Math.imul(ah8, bh5) | 0, lo = lo + Math.imul(al7, bl6) | 0, mid = mid + Math.imul(al7, bh6) | 0, mid = mid + Math.imul(ah7, bl6) | 0, hi = hi + Math.imul(ah7, bh6) | 0, lo = lo + Math.imul(al6, bl7) | 0, mid = mid + Math.imul(al6, bh7) | 0, mid = mid + Math.imul(ah6, bl7) | 0, hi = hi + Math.imul(ah6, bh7) | 0, lo = lo + Math.imul(al5, bl8) | 0, mid = mid + Math.imul(al5, bh8) | 0, mid = mid + Math.imul(ah5, bl8) | 0, hi = hi + Math.imul(ah5, bh8) | 0, lo = lo + Math.imul(al4, bl9) | 0, mid = mid + Math.imul(al4, bh9) | 0, mid = mid + Math.imul(ah4, bl9) | 0, hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0, w13 &= 67108863, lo = Math.imul(al9, bl5), mid = Math.imul(al9, bh5), mid = mid + Math.imul(ah9, bl5) | 0, hi = Math.imul(ah9, bh5), lo = lo + Math.imul(al8, bl6) | 0, mid = mid + Math.imul(al8, bh6) | 0, mid = mid + Math.imul(ah8, bl6) | 0, hi = hi + Math.imul(ah8, bh6) | 0, lo = lo + Math.imul(al7, bl7) | 0, mid = mid + Math.imul(al7, bh7) | 0, mid = mid + Math.imul(ah7, bl7) | 0, hi = hi + Math.imul(ah7, bh7) | 0, lo = lo + Math.imul(al6, bl8) | 0, mid = mid + Math.imul(al6, bh8) | 0, mid = mid + Math.imul(ah6, bl8) | 0, hi = hi + Math.imul(ah6, bh8) | 0, lo = lo + Math.imul(al5, bl9) | 0, mid = mid + Math.imul(al5, bh9) | 0, mid = mid + Math.imul(ah5, bl9) | 0, hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0, w14 &= 67108863, lo = Math.imul(al9, bl6), mid = Math.imul(al9, bh6), mid = mid + Math.imul(ah9, bl6) | 0, hi = Math.imul(ah9, bh6), lo = lo + Math.imul(al8, bl7) | 0, mid = mid + Math.imul(al8, bh7) | 0, mid = mid + Math.imul(ah8, bl7) | 0, hi = hi + Math.imul(ah8, bh7) | 0, lo = lo + Math.imul(al7, bl8) | 0, mid = mid + Math.imul(al7, bh8) | 0, mid = mid + Math.imul(ah7, bl8) | 0, hi = hi + Math.imul(ah7, bh8) | 0, lo = lo + Math.imul(al6, bl9) | 0, mid = mid + Math.imul(al6, bh9) | 0, mid = mid + Math.imul(ah6, bl9) | 0, hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0, w15 &= 67108863, lo = Math.imul(al9, bl7), mid = Math.imul(al9, bh7), mid = mid + Math.imul(ah9, bl7) | 0, hi = Math.imul(ah9, bh7), lo = lo + Math.imul(al8, bl8) | 0, mid = mid + Math.imul(al8, bh8) | 0, mid = mid + Math.imul(ah8, bl8) | 0, hi = hi + Math.imul(ah8, bh8) | 0, lo = lo + Math.imul(al7, bl9) | 0, mid = mid + Math.imul(al7, bh9) | 0, mid = mid + Math.imul(ah7, bl9) | 0, hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0, w16 &= 67108863, lo = Math.imul(al9, bl8), mid = Math.imul(al9, bh8), mid = mid + Math.imul(ah9, bl8) | 0, hi = Math.imul(ah9, bh8), lo = lo + Math.imul(al8, bl9) | 0, mid = mid + Math.imul(al8, bh9) | 0, mid = mid + Math.imul(ah8, bl9) | 0, hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0, w17 &= 67108863, lo = Math.imul(al9, bl9), mid = Math.imul(al9, bh9), mid = mid + Math.imul(ah9, bl9) | 0, hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n return c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0, w18 &= 67108863, o[0] = w0, o[1] = w1, o[2] = w2, o[3] = w3, o[4] = w4, o[5] = w5, o[6] = w6, o[7] = w7, o[8] = w8, o[9] = w9, o[10] = w10, o[11] = w11, o[12] = w12, o[13] = w13, o[14] = w14, o[15] = w15, o[16] = w16, o[17] = w17, o[18] = w18, c !== 0 && (o[19] = c, out.length++), out;\n };\n Math.imul || (comb10MulTo = smallMulTo);\n function bigMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative, out.length = self2.length + num.length;\n for (var carry = 0, hncarry = 0, k = 0;k < out.length - 1; k++) {\n var ncarry = hncarry;\n hncarry = 0;\n for (var rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j, a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b, lo = r & 67108863;\n ncarry = ncarry + (r / 67108864 | 0) | 0, lo = lo + rword | 0, rword = lo & 67108863, ncarry = ncarry + (lo >>> 26) | 0, hncarry += ncarry >>> 26, ncarry &= 67108863;\n }\n out.words[k] = rword, carry = ncarry, ncarry = hncarry;\n }\n return carry !== 0 \? out.words[k] = carry : out.length--, out.strip();\n }\n function jumboMulTo(self2, num, out) {\n var fftm = new FFTM;\n return fftm.mulp(self2, num, out);\n }\n BN.prototype.mulTo = function(num, out) {\n var res, len = this.length + num.length;\n return this.length === 10 && num.length === 10 \? res = comb10MulTo(this, num, out) : len < 63 \? res = smallMulTo(this, num, out) : len < 1024 \? res = bigMulTo(this, num, out) : res = jumboMulTo(this, num, out), res;\n };\n function FFTM(x, y) {\n this.x = x, this.y = y;\n }\n FFTM.prototype = {}, FFTM.prototype.makeRBT = function(N) {\n for (var t = new @Array(N), l = BN.prototype._countBits(N) - 1, i = 0;i < N; i++)\n t[i] = this.revBin(i, l, N);\n return t;\n }, FFTM.prototype.revBin = function(x, l, N) {\n if (x === 0 || x === N - 1)\n return x;\n for (var rb = 0, i = 0;i < l; i++)\n rb |= (x & 1) << l - i - 1, x >>= 1;\n return rb;\n }, FFTM.prototype.permute = function(rbt, rws, iws, rtws, itws, N) {\n for (var i = 0;i < N; i++)\n rtws[i] = rws[rbt[i]], itws[i] = iws[rbt[i]];\n }, FFTM.prototype.transform = function(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for (var s = 1;s < N; s <<= 1)\n for (var l = s << 1, rtwdf = Math.cos(2 * Math.PI / l), itwdf = Math.sin(2 * Math.PI / l), p = 0;p < N; p += l)\n for (var rtwdf_ = rtwdf, itwdf_ = itwdf, j = 0;j < s; j++) {\n var re = rtws[p + j], ie = itws[p + j], ro = rtws[p + j + s], io = itws[p + j + s], rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro, ro = rx, rtws[p + j] = re + ro, itws[p + j] = ie + io, rtws[p + j + s] = re - ro, itws[p + j + s] = ie - io, j !== l && (rx = rtwdf * rtwdf_ - itwdf * itwdf_, itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_, rtwdf_ = rx);\n }\n }, FFTM.prototype.guessLen13b = function(n, m) {\n var N = Math.max(m, n) | 1, odd = N & 1, i = 0;\n for (N = N / 2 | 0;N; N = N >>> 1)\n i++;\n return 1 << i + 1 + odd;\n }, FFTM.prototype.conjugate = function(rws, iws, N) {\n if (!(N <= 1))\n for (var i = 0;i < N / 2; i++) {\n var t = rws[i];\n rws[i] = rws[N - i - 1], rws[N - i - 1] = t, t = iws[i], iws[i] = -iws[N - i - 1], iws[N - i - 1] = -t;\n }\n }, FFTM.prototype.normalize13b = function(ws, N) {\n for (var carry = 0, i = 0;i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 8192 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 67108863, w < 67108864 \? carry = 0 : carry = w / 67108864 | 0;\n }\n return ws;\n }, FFTM.prototype.convert13b = function(ws, len, rws, N) {\n for (var carry = 0, i = 0;i < len; i++)\n carry = carry + (ws[i] | 0), rws[2 * i] = carry & 8191, carry = carry >>> 13, rws[2 * i + 1] = carry & 8191, carry = carry >>> 13;\n for (i = 2 * len;i < N; ++i)\n rws[i] = 0;\n assert(carry === 0), assert((carry & -8192) === 0);\n }, FFTM.prototype.stub = function(N) {\n for (var ph = new @Array(N), i = 0;i < N; i++)\n ph[i] = 0;\n return ph;\n }, FFTM.prototype.mulp = function(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length), rbt = this.makeRBT(N), _ = this.stub(N), rws = new @Array(N), rwst = new @Array(N), iwst = new @Array(N), nrws = new @Array(N), nrwst = new @Array(N), niwst = new @Array(N), rmws = out.words;\n rmws.length = N, this.convert13b(x.words, x.length, rws, N), this.convert13b(y.words, y.length, nrws, N), this.transform(rws, _, rwst, iwst, N, rbt), this.transform(nrws, _, nrwst, niwst, N, rbt);\n for (var i = 0;i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i], rwst[i] = rx;\n }\n return this.conjugate(rwst, iwst, N), this.transform(rwst, iwst, rmws, _, N, rbt), this.conjugate(rmws, _, N), this.normalize13b(rmws, N), out.negative = x.negative ^ y.negative, out.length = x.length + y.length, out.strip();\n }, BN.prototype.mul = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), this.mulTo(num, out);\n }, BN.prototype.mulf = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), jumboMulTo(this, num, out);\n }, BN.prototype.imul = function(num) {\n return this.clone().mulTo(num, this);\n }, BN.prototype.imuln = function(num) {\n assert(typeof num == \"number\"), assert(num < 67108864);\n for (var carry = 0, i = 0;i < this.length; i++) {\n var w = (this.words[i] | 0) * num, lo = (w & 67108863) + (carry & 67108863);\n carry >>= 26, carry += w / 67108864 | 0, carry += lo >>> 26, this.words[i] = lo & 67108863;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.muln = function(num) {\n return this.clone().imuln(num);\n }, BN.prototype.sqr = function() {\n return this.mul(this);\n }, BN.prototype.isqr = function() {\n return this.imul(this.clone());\n }, BN.prototype.pow = function(num) {\n var w = toBitArray(num);\n if (w.length === 0)\n return new BN(1);\n for (var res = this, i = 0;i < w.length && w[i] === 0; i++, res = res.sqr())\n ;\n if (++i < w.length)\n for (var q = res.sqr();i < w.length; i++, q = q.sqr())\n w[i] !== 0 && (res = res.mul(q));\n return res;\n }, BN.prototype.iushln = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26, carryMask = 67108863 >>> 26 - r << 26 - r, i;\n if (r !== 0) {\n var carry = 0;\n for (i = 0;i < this.length; i++) {\n var newCarry = this.words[i] & carryMask, c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry, carry = newCarry >>> 26 - r;\n }\n carry && (this.words[i] = carry, this.length++);\n }\n if (s !== 0) {\n for (i = this.length - 1;i >= 0; i--)\n this.words[i + s] = this.words[i];\n for (i = 0;i < s; i++)\n this.words[i] = 0;\n this.length += s;\n }\n return this.strip();\n }, BN.prototype.ishln = function(bits) {\n return assert(this.negative === 0), this.iushln(bits);\n }, BN.prototype.iushrn = function(bits, hint, extended) {\n assert(typeof bits == \"number\" && bits >= 0);\n var h;\n hint \? h = (hint - hint % 26) / 26 : h = 0;\n var r = bits % 26, s = Math.min((bits - r) / 26, this.length), mask = 67108863 ^ 67108863 >>> r << r, maskedWords = extended;\n if (h -= s, h = Math.max(0, h), maskedWords) {\n for (var i = 0;i < s; i++)\n maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s !== 0)\n if (this.length > s)\n for (this.length -= s, i = 0;i < this.length; i++)\n this.words[i] = this.words[i + s];\n else\n this.words[0] = 0, this.length = 1;\n var carry = 0;\n for (i = this.length - 1;i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r, carry = word & mask;\n }\n return maskedWords && carry !== 0 && (maskedWords.words[maskedWords.length++] = carry), this.length === 0 && (this.words[0] = 0, this.length = 1), this.strip();\n }, BN.prototype.ishrn = function(bits, hint, extended) {\n return assert(this.negative === 0), this.iushrn(bits, hint, extended);\n }, BN.prototype.shln = function(bits) {\n return this.clone().ishln(bits);\n }, BN.prototype.ushln = function(bits) {\n return this.clone().iushln(bits);\n }, BN.prototype.shrn = function(bits) {\n return this.clone().ishrn(bits);\n }, BN.prototype.ushrn = function(bits) {\n return this.clone().iushrn(bits);\n }, BN.prototype.testn = function(bit) {\n assert(typeof bit == \"number\" && bit >= 0);\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return !1;\n var w = this.words[s];\n return !!(w & q);\n }, BN.prototype.imaskn = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26;\n if (assert(this.negative === 0, \"imaskn works only with positive numbers\"), this.length <= s)\n return this;\n if (r !== 0 && s++, this.length = Math.min(s, this.length), r !== 0) {\n var mask = 67108863 ^ 67108863 >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this.strip();\n }, BN.prototype.maskn = function(bits) {\n return this.clone().imaskn(bits);\n }, BN.prototype.iaddn = function(num) {\n return assert(typeof num == \"number\"), assert(num < 67108864), num < 0 \? this.isubn(-num) : this.negative !== 0 \? this.length === 1 && (this.words[0] | 0) < num \? (this.words[0] = num - (this.words[0] | 0), this.negative = 0, this) : (this.negative = 0, this.isubn(num), this.negative = 1, this) : this._iaddn(num);\n }, BN.prototype._iaddn = function(num) {\n this.words[0] += num;\n for (var i = 0;i < this.length && this.words[i] >= 67108864; i++)\n this.words[i] -= 67108864, i === this.length - 1 \? this.words[i + 1] = 1 : this.words[i + 1]++;\n return this.length = Math.max(this.length, i + 1), this;\n }, BN.prototype.isubn = function(num) {\n if (assert(typeof num == \"number\"), assert(num < 67108864), num < 0)\n return this.iaddn(-num);\n if (this.negative !== 0)\n return this.negative = 0, this.iaddn(num), this.negative = 1, this;\n if (this.words[0] -= num, this.length === 1 && this.words[0] < 0)\n this.words[0] = -this.words[0], this.negative = 1;\n else\n for (var i = 0;i < this.length && this.words[i] < 0; i++)\n this.words[i] += 67108864, this.words[i + 1] -= 1;\n return this.strip();\n }, BN.prototype.addn = function(num) {\n return this.clone().iaddn(num);\n }, BN.prototype.subn = function(num) {\n return this.clone().isubn(num);\n }, BN.prototype.iabs = function() {\n return this.negative = 0, this;\n }, BN.prototype.abs = function() {\n return this.clone().iabs();\n }, BN.prototype._ishlnsubmul = function(num, mul, shift) {\n var len = num.length + shift, i;\n this._expand(len);\n var w, carry = 0;\n for (i = 0;i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 67108863, carry = (w >> 26) - (right / 67108864 | 0), this.words[i + shift] = w & 67108863;\n }\n for (;i < this.length - shift; i++)\n w = (this.words[i + shift] | 0) + carry, carry = w >> 26, this.words[i + shift] = w & 67108863;\n if (carry === 0)\n return this.strip();\n for (assert(carry === -1), carry = 0, i = 0;i < this.length; i++)\n w = -(this.words[i] | 0) + carry, carry = w >> 26, this.words[i] = w & 67108863;\n return this.negative = 1, this.strip();\n }, BN.prototype._wordDiv = function(num, mode) {\n var shift = this.length - num.length, a = this.clone(), b = num, bhi = b.words[b.length - 1] | 0, bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits, shift !== 0 && (b = b.ushln(shift), a.iushln(shift), bhi = b.words[b.length - 1] | 0);\n var m = a.length - b.length, q;\n if (mode !== \"mod\") {\n q = new BN(null), q.length = m + 1, q.words = new @Array(q.length);\n for (var i = 0;i < q.length; i++)\n q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n diff.negative === 0 && (a = diff, q && (q.words[m] = 1));\n for (var j = m - 1;j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 67108864 + (a.words[b.length + j - 1] | 0);\n for (qj = Math.min(qj / bhi | 0, 67108863), a._ishlnsubmul(b, qj, j);a.negative !== 0; )\n qj--, a.negative = 0, a._ishlnsubmul(b, 1, j), a.isZero() || (a.negative ^= 1);\n q && (q.words[j] = qj);\n }\n return q && q.strip(), a.strip(), mode !== \"div\" && shift !== 0 && a.iushrn(shift), {\n div: q || null,\n mod: a\n };\n }, BN.prototype.divmod = function(num, mode, positive) {\n if (assert(!num.isZero()), this.isZero())\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n return this.negative !== 0 && num.negative === 0 \? (res = this.neg().divmod(num, mode), mode !== \"mod\" && (div = res.div.neg()), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.iadd(num)), {\n div,\n mod\n }) : this.negative === 0 && num.negative !== 0 \? (res = this.divmod(num.neg(), mode), mode !== \"mod\" && (div = res.div.neg()), {\n div,\n mod: res.mod\n }) : (this.negative & num.negative) !== 0 \? (res = this.neg().divmod(num.neg(), mode), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.isub(num)), {\n div: res.div,\n mod\n }) : num.length > this.length || this.cmp(num) < 0 \? {\n div: new BN(0),\n mod: this\n } : num.length === 1 \? mode === \"div\" \? {\n div: this.divn(num.words[0]),\n mod: null\n } : mode === \"mod\" \? {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n } : {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n } : this._wordDiv(num, mode);\n }, BN.prototype.div = function(num) {\n return this.divmod(num, \"div\", !1).div;\n }, BN.prototype.mod = function(num) {\n return this.divmod(num, \"mod\", !1).mod;\n }, BN.prototype.umod = function(num) {\n return this.divmod(num, \"mod\", !0).mod;\n }, BN.prototype.divRound = function(num) {\n var dm = this.divmod(num);\n if (dm.mod.isZero())\n return dm.div;\n var mod = dm.div.negative !== 0 \? dm.mod.isub(num) : dm.mod, half = num.ushrn(1), r2 = num.andln(1), cmp = mod.cmp(half);\n return cmp < 0 || r2 === 1 && cmp === 0 \? dm.div : dm.div.negative !== 0 \? dm.div.isubn(1) : dm.div.iaddn(1);\n }, BN.prototype.modn = function(num) {\n assert(num <= 67108863);\n for (var p = (1 << 26) % num, acc = 0, i = this.length - 1;i >= 0; i--)\n acc = (p * acc + (this.words[i] | 0)) % num;\n return acc;\n }, BN.prototype.idivn = function(num) {\n assert(num <= 67108863);\n for (var carry = 0, i = this.length - 1;i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 67108864;\n this.words[i] = w / num | 0, carry = w % num;\n }\n return this.strip();\n }, BN.prototype.divn = function(num) {\n return this.clone().idivn(num);\n }, BN.prototype.egcd = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var x = this, y = p.clone();\n x.negative !== 0 \? x = x.umod(p) : x = x.clone();\n for (var A = new BN(1), B = new BN(0), C = new BN(0), D = new BN(1), g = 0;x.isEven() && y.isEven(); )\n x.iushrn(1), y.iushrn(1), ++g;\n for (var yp = y.clone(), xp = x.clone();!x.isZero(); ) {\n for (var i = 0, im = 1;(x.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (x.iushrn(i);i-- > 0; )\n (A.isOdd() || B.isOdd()) && (A.iadd(yp), B.isub(xp)), A.iushrn(1), B.iushrn(1);\n for (var j = 0, jm = 1;(y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (y.iushrn(j);j-- > 0; )\n (C.isOdd() || D.isOdd()) && (C.iadd(yp), D.isub(xp)), C.iushrn(1), D.iushrn(1);\n x.cmp(y) >= 0 \? (x.isub(y), A.isub(C), B.isub(D)) : (y.isub(x), C.isub(A), D.isub(B));\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n }, BN.prototype._invmp = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var a = this, b = p.clone();\n a.negative !== 0 \? a = a.umod(p) : a = a.clone();\n for (var x1 = new BN(1), x2 = new BN(0), delta = b.clone();a.cmpn(1) > 0 && b.cmpn(1) > 0; ) {\n for (var i = 0, im = 1;(a.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (a.iushrn(i);i-- > 0; )\n x1.isOdd() && x1.iadd(delta), x1.iushrn(1);\n for (var j = 0, jm = 1;(b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (b.iushrn(j);j-- > 0; )\n x2.isOdd() && x2.iadd(delta), x2.iushrn(1);\n a.cmp(b) >= 0 \? (a.isub(b), x1.isub(x2)) : (b.isub(a), x2.isub(x1));\n }\n var res;\n return a.cmpn(1) === 0 \? res = x1 : res = x2, res.cmpn(0) < 0 && res.iadd(p), res;\n }, BN.prototype.gcd = function(num) {\n if (this.isZero())\n return num.abs();\n if (num.isZero())\n return this.abs();\n var a = this.clone(), b = num.clone();\n a.negative = 0, b.negative = 0;\n for (var shift = 0;a.isEven() && b.isEven(); shift++)\n a.iushrn(1), b.iushrn(1);\n do {\n for (;a.isEven(); )\n a.iushrn(1);\n for (;b.isEven(); )\n b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n var t = a;\n a = b, b = t;\n } else if (r === 0 || b.cmpn(1) === 0)\n break;\n a.isub(b);\n } while (!0);\n return b.iushln(shift);\n }, BN.prototype.invm = function(num) {\n return this.egcd(num).a.umod(num);\n }, BN.prototype.isEven = function() {\n return (this.words[0] & 1) === 0;\n }, BN.prototype.isOdd = function() {\n return (this.words[0] & 1) === 1;\n }, BN.prototype.andln = function(num) {\n return this.words[0] & num;\n }, BN.prototype.bincn = function(bit) {\n assert(typeof bit == \"number\");\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return this._expand(s + 1), this.words[s] |= q, this;\n for (var carry = q, i = s;carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry, carry = w >>> 26, w &= 67108863, this.words[i] = w;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.isZero = function() {\n return this.length === 1 && this.words[0] === 0;\n }, BN.prototype.cmpn = function(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative)\n return -1;\n if (this.negative === 0 && negative)\n return 1;\n this.strip();\n var res;\n if (this.length > 1)\n res = 1;\n else {\n negative && (num = -num), assert(num <= 67108863, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num \? 0 : w < num \? -1 : 1;\n }\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.cmp = function(num) {\n if (this.negative !== 0 && num.negative === 0)\n return -1;\n if (this.negative === 0 && num.negative !== 0)\n return 1;\n var res = this.ucmp(num);\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.ucmp = function(num) {\n if (this.length > num.length)\n return 1;\n if (this.length < num.length)\n return -1;\n for (var res = 0, i = this.length - 1;i >= 0; i--) {\n var a = this.words[i] | 0, b = num.words[i] | 0;\n if (a !== b) {\n a < b \? res = -1 : a > b && (res = 1);\n break;\n }\n }\n return res;\n }, BN.prototype.gtn = function(num) {\n return this.cmpn(num) === 1;\n }, BN.prototype.gt = function(num) {\n return this.cmp(num) === 1;\n }, BN.prototype.gten = function(num) {\n return this.cmpn(num) >= 0;\n }, BN.prototype.gte = function(num) {\n return this.cmp(num) >= 0;\n }, BN.prototype.ltn = function(num) {\n return this.cmpn(num) === -1;\n }, BN.prototype.lt = function(num) {\n return this.cmp(num) === -1;\n }, BN.prototype.lten = function(num) {\n return this.cmpn(num) <= 0;\n }, BN.prototype.lte = function(num) {\n return this.cmp(num) <= 0;\n }, BN.prototype.eqn = function(num) {\n return this.cmpn(num) === 0;\n }, BN.prototype.eq = function(num) {\n return this.cmp(num) === 0;\n }, BN.red = function(num) {\n return new Red(num);\n }, BN.prototype.toRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), assert(this.negative === 0, \"red works only with positives\"), ctx.convertTo(this)._forceRed(ctx);\n }, BN.prototype.fromRed = function() {\n return assert(this.red, \"fromRed works only with numbers in reduction context\"), this.red.convertFrom(this);\n }, BN.prototype._forceRed = function(ctx) {\n return this.red = ctx, this;\n }, BN.prototype.forceRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), this._forceRed(ctx);\n }, BN.prototype.redAdd = function(num) {\n return assert(this.red, \"redAdd works only with red numbers\"), this.red.add(this, num);\n }, BN.prototype.redIAdd = function(num) {\n return assert(this.red, \"redIAdd works only with red numbers\"), this.red.iadd(this, num);\n }, BN.prototype.redSub = function(num) {\n return assert(this.red, \"redSub works only with red numbers\"), this.red.sub(this, num);\n }, BN.prototype.redISub = function(num) {\n return assert(this.red, \"redISub works only with red numbers\"), this.red.isub(this, num);\n }, BN.prototype.redShl = function(num) {\n return assert(this.red, \"redShl works only with red numbers\"), this.red.shl(this, num);\n }, BN.prototype.redMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.mul(this, num);\n }, BN.prototype.redIMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.imul(this, num);\n }, BN.prototype.redSqr = function() {\n return assert(this.red, \"redSqr works only with red numbers\"), this.red._verify1(this), this.red.sqr(this);\n }, BN.prototype.redISqr = function() {\n return assert(this.red, \"redISqr works only with red numbers\"), this.red._verify1(this), this.red.isqr(this);\n }, BN.prototype.redSqrt = function() {\n return assert(this.red, \"redSqrt works only with red numbers\"), this.red._verify1(this), this.red.sqrt(this);\n }, BN.prototype.redInvm = function() {\n return assert(this.red, \"redInvm works only with red numbers\"), this.red._verify1(this), this.red.invm(this);\n }, BN.prototype.redNeg = function() {\n return assert(this.red, \"redNeg works only with red numbers\"), this.red._verify1(this), this.red.neg(this);\n }, BN.prototype.redPow = function(num) {\n return assert(this.red && !num.red, \"redPow(normalNum)\"), this.red._verify1(this), this.red.pow(this, num);\n };\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n function MPrime(name, p) {\n this.name = name, this.p = new BN(p, 16), this.n = this.p.bitLength(), this.k = new BN(1).iushln(this.n).isub(this.p), this.tmp = this._tmp();\n }\n MPrime.prototype = {}, MPrime.prototype._tmp = function() {\n var tmp = new BN(null);\n return tmp.words = new @Array(Math.ceil(this.n / 13)), tmp;\n }, MPrime.prototype.ireduce = function(num) {\n var r = num, rlen;\n do\n this.split(r, this.tmp), r = this.imulK(r), r = r.iadd(this.tmp), rlen = r.bitLength();\n while (rlen > this.n);\n var cmp = rlen < this.n \? -1 : r.ucmp(this.p);\n return cmp === 0 \? (r.words[0] = 0, r.length = 1) : cmp > 0 \? r.isub(this.p) : r.strip !== void 0 \? r.strip() : r._strip(), r;\n }, MPrime.prototype.split = function(input, out) {\n input.iushrn(this.n, 0, out);\n }, MPrime.prototype.imulK = function(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.@call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime), K256.prototype.split = function(input, output) {\n for (var mask = 4194303, outLen = Math.min(input.length, 9), i = 0;i < outLen; i++)\n output.words[i] = input.words[i];\n if (output.length = outLen, input.length <= 9) {\n input.words[0] = 0, input.length = 1;\n return;\n }\n var prev = input.words[9];\n for (output.words[output.length++] = prev & mask, i = 10;i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22, prev = next;\n }\n prev >>>= 22, input.words[i - 10] = prev, prev === 0 && input.length > 10 \? input.length -= 10 : input.length -= 9;\n }, K256.prototype.imulK = function(num) {\n num.words[num.length] = 0, num.words[num.length + 1] = 0, num.length += 2;\n for (var lo = 0, i = 0;i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 977, num.words[i] = lo & 67108863, lo = w * 64 + (lo / 67108864 | 0);\n }\n return num.words[num.length - 1] === 0 && (num.length--, num.words[num.length - 1] === 0 && num.length--), num;\n };\n function P224() {\n MPrime.@call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.@call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n MPrime.@call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime), P25519.prototype.imulK = function(num) {\n for (var carry = 0, i = 0;i < num.length; i++) {\n var hi = (num.words[i] | 0) * 19 + carry, lo = hi & 67108863;\n hi >>>= 26, num.words[i] = lo, carry = hi;\n }\n return carry !== 0 && (num.words[num.length++] = carry), num;\n }, BN._prime = function(name) {\n if (primes[name])\n return primes[name];\n var prime2;\n if (name === \"k256\")\n prime2 = new K256;\n else if (name === \"p224\")\n prime2 = new P224;\n else if (name === \"p192\")\n prime2 = new P192;\n else if (name === \"p25519\")\n prime2 = new P25519;\n else\n throw new Error(\"Unknown prime \" + name);\n return primes[name] = prime2, prime2;\n };\n function Red(m) {\n if (typeof m == \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p, this.prime = prime;\n } else\n assert(m.gtn(1), \"modulus must be greater than 1\"), this.m = m, this.prime = null;\n }\n Red.prototype = {}, Red.prototype._verify1 = function(a) {\n assert(a.negative === 0, \"red works only with positives\"), assert(a.red, \"red works only with red numbers\");\n }, Red.prototype._verify2 = function(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\"), assert(a.red && a.red === b.red, \"red works only with red numbers\");\n }, Red.prototype.imod = function(a) {\n return this.prime \? this.prime.ireduce(a)._forceRed(this) : a.umod(this.m)._forceRed(this);\n }, Red.prototype.neg = function(a) {\n return a.isZero() \? a.clone() : this.m.sub(a)._forceRed(this);\n }, Red.prototype.add = function(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res._forceRed(this);\n }, Red.prototype.iadd = function(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res;\n }, Red.prototype.sub = function(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res._forceRed(this);\n }, Red.prototype.isub = function(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res;\n }, Red.prototype.shl = function(a, num) {\n return this._verify1(a), this.imod(a.ushln(num));\n }, Red.prototype.imul = function(a, b) {\n return this._verify2(a, b), this.imod(a.imul(b));\n }, Red.prototype.mul = function(a, b) {\n return this._verify2(a, b), this.imod(a.mul(b));\n }, Red.prototype.isqr = function(a) {\n return this.imul(a, a.clone());\n }, Red.prototype.sqr = function(a) {\n return this.mul(a, a);\n }, Red.prototype.sqrt = function(a) {\n if (a.isZero())\n return a.clone();\n var mod3 = this.m.andln(3);\n if (assert(mod3 % 2 === 1), mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n for (var q = this.m.subn(1), s = 0;!q.isZero() && q.andln(1) === 0; )\n s++, q.iushrn(1);\n assert(!q.isZero());\n var one = new BN(1).toRed(this), nOne = one.redNeg(), lpow = this.m.subn(1).iushrn(1), z = this.m.bitLength();\n for (z = new BN(2 * z * z).toRed(this);this.pow(z, lpow).cmp(nOne) !== 0; )\n z.redIAdd(nOne);\n for (var c = this.pow(z, q), r = this.pow(a, q.addn(1).iushrn(1)), t = this.pow(a, q), m = s;t.cmp(one) !== 0; ) {\n for (var tmp = t, i = 0;tmp.cmp(one) !== 0; i++)\n tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b), c = b.redSqr(), t = t.redMul(c), m = i;\n }\n return r;\n }, Red.prototype.invm = function(a) {\n var inv = a._invmp(this.m);\n return inv.negative !== 0 \? (inv.negative = 0, this.imod(inv).redNeg()) : this.imod(inv);\n }, Red.prototype.pow = function(a, num) {\n if (num.isZero())\n return new BN(1).toRed(this);\n if (num.cmpn(1) === 0)\n return a.clone();\n var windowSize = 4, wnd = new @Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this), wnd[1] = a;\n for (var i = 2;i < wnd.length; i++)\n wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0], current = 0, currentLen = 0, start = num.bitLength() % 26;\n for (start === 0 && (start = 26), i = num.length - 1;i >= 0; i--) {\n for (var word = num.words[i], j = start - 1;j >= 0; j--) {\n var bit = word >> j & 1;\n if (res !== wnd[0] && (res = this.sqr(res)), bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1, current |= bit, currentLen++, !(currentLen !== windowSize && (i !== 0 || j !== 0)) && (res = this.mul(res, wnd[current]), currentLen = 0, current = 0);\n }\n start = 26;\n }\n return res;\n }, Red.prototype.convertTo = function(num) {\n var r = num.umod(this.m);\n return r === num \? r.clone() : r;\n }, Red.prototype.convertFrom = function(num) {\n var res = num.clone();\n return res.red = null, res;\n }, BN.mont = function(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.@call(this, m), this.shift = this.m.bitLength(), this.shift % 26 !== 0 && (this.shift += 26 - this.shift % 26), this.r = new BN(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red), Mont.prototype.convertTo = function(num) {\n return this.imod(num.ushln(this.shift));\n }, Mont.prototype.convertFrom = function(num) {\n var r = this.imod(num.mul(this.rinv));\n return r.red = null, r;\n }, Mont.prototype.imul = function(a, b) {\n if (a.isZero() || b.isZero())\n return a.words[0] = 0, a.length = 1, a;\n var t = a.imul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.mul = function(a, b) {\n if (a.isZero() || b.isZero())\n return new BN(0)._forceRed(this);\n var t = a.mul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.invm = function(a) {\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n })(typeof module > \"u\" || module, exports);\n }\n}), require_bn2 = require_bn, require_brorand = __commonJS({\n \"node_modules/brorand/index.js\"(exports, module) {\n var r;\n module.exports = function(len) {\n return r || (r = new Rand(null)), r.generate(len);\n };\n function Rand(rand) {\n this.rand = rand;\n }\n Rand.prototype = {}, module.exports.Rand = Rand, Rand.prototype.generate = function(len) {\n return this._rand(len);\n }, Rand.prototype._rand = function(n) {\n var out = new Buffer(n);\n return crypto.getRandomValues(out), out;\n };\n }\n}), require_mr = __commonJS({\n \"node_modules/miller-rabin/lib/mr.js\"(exports, module) {\n var bn = require_bn2(), brorand = require_brorand();\n function MillerRabin(rand) {\n this.rand = rand || new brorand.Rand;\n }\n module.exports = MillerRabin, MillerRabin.create = function(rand) {\n return new MillerRabin(rand);\n }, MillerRabin.prototype = {}, MillerRabin.prototype._randbelow = function(n) {\n var len = n.bitLength(), min_bytes = Math.ceil(len / 8);\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n return a;\n }, MillerRabin.prototype._randrange = function(start, stop) {\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n }, MillerRabin.prototype.test = function(n, k, cb) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red), prime = !0;k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n cb && cb(a);\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return !1;\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return !1;\n }\n }\n return prime;\n }, MillerRabin.prototype.getDivisor = function(n, k) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red);k > 0; k--) {\n var a = this._randrange(new bn(2), n1), g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return x = x.redSqr(), x.fromRed().subn(1).gcd(n);\n }\n }\n return !1;\n };\n }\n}), require_generatePrime = __commonJS({\n \"node_modules/diffie-hellman/lib/generatePrime.js\"(exports, module) {\n var randomBytes = require_browser();\n module.exports = findPrime, findPrime.simpleSieve = simpleSieve, findPrime.fermatTest = fermatTest;\n var BN = require_bn(), TWENTYFOUR = new BN(24), MillerRabin = require_mr(), millerRabin = new MillerRabin, ONE = new BN(1), TWO = new BN(2), FIVE = new BN(5), SIXTEEN = new BN(16), EIGHT = new BN(8), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), ELEVEN = new BN(11), FOUR = new BN(4), TWELVE = new BN(12), primes = null;\n function _getPrimes() {\n if (primes !== null)\n return primes;\n var limit = 1048576, res = [];\n res[0] = 2;\n for (var i = 1, k = 3;k < limit; k += 2) {\n for (var sqrt = Math.ceil(Math.sqrt(k)), j = 0;j < i && res[j] <= sqrt && k % res[j] !== 0; j++)\n ;\n i !== j && res[j] <= sqrt || (res[i++] = k);\n }\n return primes = res, res;\n }\n function simpleSieve(p) {\n for (var primes2 = _getPrimes(), i = 0;i < primes2.length; i++)\n if (p.modn(primes2[i]) === 0)\n return p.cmpn(primes2[i]) === 0;\n return !0;\n }\n function fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n }\n function findPrime(bits, gen) {\n if (bits < 16)\n return gen === 2 || gen === 5 \? new BN([140, 123]) : new BN([140, 39]);\n gen = new BN(gen);\n for (var num, n2;; ) {\n for (num = new BN(randomBytes(Math.ceil(bits / 8)));num.bitLength() > bits; )\n num.ishrn(1);\n if (num.isEven() && num.iadd(ONE), num.testn(1) || num.iadd(TWO), gen.cmp(TWO)) {\n if (!gen.cmp(FIVE))\n for (;num.mod(TEN).cmp(THREE); )\n num.iadd(FOUR);\n } else\n for (;num.mod(TWENTYFOUR).cmp(ELEVEN); )\n num.iadd(FOUR);\n if (n2 = num.shrn(1), simpleSieve(n2) && simpleSieve(num) && fermatTest(n2) && fermatTest(num) && millerRabin.test(n2) && millerRabin.test(num))\n return num;\n }\n }\n }\n}), require_primes = __commonJS({\n \"node_modules/diffie-hellman/lib/primes.json\"(exports, module) {\n module.exports = {\n modp1: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"\n },\n modp2: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"\n },\n modp5: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"\n },\n modp14: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"\n },\n modp15: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"\n },\n modp16: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"\n },\n modp17: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"\n },\n modp18: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"\n }\n };\n }\n}), require_dh = __commonJS({\n \"node_modules/diffie-hellman/lib/dh.js\"(exports, module) {\n var BN = require_bn(), MillerRabin = require_mr(), millerRabin = new MillerRabin, TWENTYFOUR = new BN(24), ELEVEN = new BN(11), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), primes = require_generatePrime(), randomBytes = require_browser();\n module.exports = DH;\n function setPublicKey(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this._pub = new BN(pub), this;\n }\n function setPrivateKey(priv, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc)), this._priv = new BN(priv), this;\n }\n var primeCache = {};\n function checkPrime(prime, generator) {\n var gen = generator.toString(\"hex\"), hex = [gen, prime.toString(16)].join(\"_\");\n if (hex in primeCache)\n return primeCache[hex];\n var error = 0;\n if (prime.isEven() || !primes.simpleSieve || !primes.fermatTest(prime) || !millerRabin.test(prime))\n return error += 1, gen === \"02\" || gen === \"05\" \? error += 8 : error += 4, primeCache[hex] = error, error;\n millerRabin.test(prime.shrn(1)) || (error += 2);\n var rem;\n switch (gen) {\n case \"02\":\n prime.mod(TWENTYFOUR).cmp(ELEVEN) && (error += 8);\n break;\n case \"05\":\n rem = prime.mod(TEN), rem.cmp(THREE) && rem.cmp(SEVEN) && (error += 8);\n break;\n default:\n error += 4;\n }\n return primeCache[hex] = error, error;\n }\n function DH(prime, generator, malleable) {\n this.setGenerator(generator), this.__prime = new BN(prime), this._prime = BN.mont(this.__prime), this._primeLen = prime.length, this._pub = void 0, this._priv = void 0, this._primeCode = void 0, malleable \? (this.setPublicKey = setPublicKey, this.setPrivateKey = setPrivateKey) : this._primeCode = 8;\n }\n DH.prototype = {}, Object.defineProperty(DH.prototype, \"verifyError\", {\n enumerable: !0,\n get: function() {\n return typeof this._primeCode != \"number\" && (this._primeCode = checkPrime(this.__prime, this.__gen)), this._primeCode;\n }\n }), DH.prototype.generateKeys = function() {\n return this._priv || (this._priv = new BN(randomBytes(this._primeLen))), this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(), this.getPublicKey();\n }, DH.prototype.computeSecret = function(other) {\n other = new BN(other), other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed(), out = new Buffer(secret.toArray()), prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0), out = Buffer.concat([front, out]);\n }\n return out;\n }, DH.prototype.getPublicKey = function(enc) {\n return formatReturnValue(this._pub, enc);\n }, DH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this._priv, enc);\n }, DH.prototype.getPrime = function(enc) {\n return formatReturnValue(this.__prime, enc);\n }, DH.prototype.getGenerator = function(enc) {\n return formatReturnValue(this._gen, enc);\n }, DH.prototype.setGenerator = function(gen, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(gen) || (gen = new Buffer(gen, enc)), this.__gen = gen, this._gen = new BN(gen), this;\n };\n function formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_browser7 = __commonJS({\n \"node_modules/diffie-hellman/browser.js\"(exports) {\n var generatePrime = require_generatePrime(), primes = require_primes(), DH = require_dh();\n function getDiffieHellman(mod) {\n var prime = new Buffer(primes[mod].prime, \"hex\"), gen = new Buffer(primes[mod].gen, \"hex\");\n return new DH(prime, gen);\n }\n var ENCODINGS = {\n binary: !0,\n hex: !0,\n base64: !0\n };\n function createDiffieHellman(prime, enc, generator, genc) {\n return Buffer.isBuffer(enc) || ENCODINGS[enc] === void 0 \? createDiffieHellman(prime, \"binary\", enc, generator) : (enc = enc || \"binary\", genc = genc || \"binary\", generator = generator || new Buffer([2]), Buffer.isBuffer(generator) || (generator = new Buffer(generator, genc)), typeof prime == \"number\" \? new DH(generatePrime(prime, generator), generator, !0) : (Buffer.isBuffer(prime) || (prime = new Buffer(prime, enc)), new DH(prime, generator, !0)));\n }\n exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman, exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman;\n }\n}), require_bn3 = require_bn, require_browserify_rsa = __commonJS({\n \"node_modules/browserify-rsa/index.js\"(exports, module) {\n var BN = require_bn3(), randomBytes = require_browser();\n function blind(priv) {\n var r = getr(priv), blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();\n return { blinder, unblinder: r.invm(priv.modulus) };\n }\n function getr(priv) {\n var len = priv.modulus.byteLength(), r;\n do\n r = new BN(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2));\n return r;\n }\n function crt(msg, priv) {\n var blinds = blind(priv), len = priv.modulus.byteLength(), blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus), c1 = blinded.toRed(BN.mont(priv.prime1)), c2 = blinded.toRed(BN.mont(priv.prime2)), qinv = priv.coefficient, p = priv.prime1, q = priv.prime2, m1 = c1.redPow(priv.exponent1).fromRed(), m2 = c2.redPow(priv.exponent2).fromRed(), h = m1.isub(m2).imul(qinv).umod(p).imul(q);\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, \"be\", len);\n }\n crt.getr = getr, module.exports = crt;\n }\n}), require_package = __commonJS({\n \"node_modules/elliptic/package.json\"(exports, module) {\n module.exports = {\n name: \"elliptic\",\n version: \"6.5.4\",\n description: \"EC cryptography\",\n main: \"lib/elliptic.js\",\n files: [\"lib\"],\n scripts: {\n lint: \"eslint lib test\",\n \"lint:fix\": \"npm run lint -- --fix\",\n unit: \"istanbul test _mocha --reporter=spec test/index.js\",\n test: \"npm run lint && npm run unit\",\n version: \"grunt dist && git add dist/\"\n },\n repository: {\n type: \"git\",\n url: \"git@github.com:indutny/elliptic\"\n },\n keywords: [\"EC\", \"Elliptic\", \"curve\", \"Cryptography\"],\n author: \"Fedor Indutny <fedor@indutny.com>\",\n license: \"MIT\",\n bugs: {\n url: \"https://github.com/indutny/elliptic/issues\"\n },\n homepage: \"https://github.com/indutny/elliptic\",\n devDependencies: {\n brfs: \"^2.0.2\",\n coveralls: \"^3.1.0\",\n eslint: \"^7.6.0\",\n grunt: \"^1.2.1\",\n \"grunt-browserify\": \"^5.3.0\",\n \"grunt-cli\": \"^1.3.2\",\n \"grunt-contrib-connect\": \"^3.0.0\",\n \"grunt-contrib-copy\": \"^1.0.0\",\n \"grunt-contrib-uglify\": \"^5.0.0\",\n \"grunt-mocha-istanbul\": \"^5.0.2\",\n \"grunt-saucelabs\": \"^9.0.1\",\n istanbul: \"^0.4.5\",\n mocha: \"^8.0.1\"\n },\n dependencies: {\n \"bn.js\": \"^4.11.9\",\n brorand: \"^1.1.0\",\n \"hash.js\": \"^1.0.0\",\n \"hmac-drbg\": \"^1.0.1\",\n inherits: \"^2.0.4\",\n \"minimalistic-assert\": \"^1.0.1\",\n \"minimalistic-crypto-utils\": \"^1.0.1\"\n }\n };\n }\n}), require_bn4 = require_bn, require_utils2 = __commonJS({\n \"node_modules/minimalistic-crypto-utils/lib/utils.js\"(exports) {\n var utils = exports;\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg != \"string\") {\n for (var i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg);\n for (var i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i), hi = c >> 8, lo = c & 255;\n hi \? res.push(hi, lo) : res.push(lo);\n }\n return res;\n }\n utils.toArray = toArray;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n utils.zero2 = zero2;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n utils.toHex = toHex, utils.encode = function(arr, enc) {\n return enc === \"hex\" \? toHex(arr) : arr;\n };\n }\n}), require_utils3 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/utils.js\"(exports) {\n var utils = exports, BN = require_bn4(), minAssert = require_minimalistic_assert(), minUtils = require_utils2();\n utils.assert = minAssert, utils.toArray = minUtils.toArray, utils.zero2 = minUtils.zero2, utils.toHex = minUtils.toHex, utils.encode = minUtils.encode;\n function getNAF(num, w, bits) {\n var naf = new @Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n for (var ws = 1 << w + 1, k = num.clone(), i = 0;i < naf.length; i++) {\n var z, mod = k.andln(ws - 1);\n k.isOdd() \? (mod > (ws >> 1) - 1 \? z = (ws >> 1) - mod : z = mod, k.isubn(z)) : z = 0, naf[i] = z, k.iushrn(1);\n }\n return naf;\n }\n utils.getNAF = getNAF;\n function getJSF(k1, k2) {\n var jsf = [[], []];\n k1 = k1.clone(), k2 = k2.clone();\n for (var d1 = 0, d2 = 0, m8;k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0; ) {\n var m14 = k1.andln(3) + d1 & 3, m24 = k2.andln(3) + d2 & 3;\n m14 === 3 && (m14 = -1), m24 === 3 && (m24 = -1);\n var u1;\n (m14 & 1) === 0 \? u1 = 0 : (m8 = k1.andln(7) + d1 & 7, (m8 === 3 || m8 === 5) && m24 === 2 \? u1 = -m14 : u1 = m14), jsf[0].push(u1);\n var u2;\n (m24 & 1) === 0 \? u2 = 0 : (m8 = k2.andln(7) + d2 & 7, (m8 === 3 || m8 === 5) && m14 === 2 \? u2 = -m24 : u2 = m24), jsf[1].push(u2), 2 * d1 === u1 + 1 && (d1 = 1 - d1), 2 * d2 === u2 + 1 && (d2 = 1 - d2), k1.iushrn(1), k2.iushrn(1);\n }\n return jsf;\n }\n utils.getJSF = getJSF;\n function cachedProperty(obj, name, computer) {\n var key2 = \"_\" + name;\n obj.prototype[name] = function() {\n return this[key2] !== void 0 \? this[key2] : this[key2] = computer.@call(this);\n };\n }\n utils.cachedProperty = cachedProperty;\n function parseBytes(bytes) {\n if (bytes instanceof KeyObject)\n bytes = bytes.export();\n else if (bytes instanceof CryptoKey)\n bytes = KeyObject.from(bytes).export();\n return typeof bytes == \"string\" \? utils.toArray(bytes, \"hex\") : bytes;\n }\n utils.parseBytes = parseBytes;\n function intFromLE(bytes) {\n return new BN(bytes, \"hex\", \"le\");\n }\n utils.intFromLE = intFromLE;\n }\n}), require_base = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/base.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), getNAF = utils.getNAF, getJSF = utils.getJSF, assert = utils.assert;\n function BaseCurve(type, conf) {\n this.type = type, this.p = new BN(conf.p, 16), this.red = conf.prime \? BN.red(conf.prime) : BN.mont(this.p), this.zero = new BN(0).toRed(this.red), this.one = new BN(1).toRed(this.red), this.two = new BN(2).toRed(this.red), this.n = conf.n && new BN(conf.n, 16), this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed), this._wnafT1 = new @Array(4), this._wnafT2 = new @Array(4), this._wnafT3 = new @Array(4), this._wnafT4 = new @Array(4), this._bitLength = this.n \? this.n.bitLength() : 0;\n var adjustCount = this.n && this.p.div(this.n);\n !adjustCount || adjustCount.cmpn(100) > 0 \? this.redN = null : (this._maxwellTrick = !0, this.redN = this.n.toRed(this.red));\n }\n module.exports = BaseCurve, BaseCurve.prototype = {}, BaseCurve.prototype.point = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype.validate = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype._fixedNafMul = function(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles(), naf = getNAF(k, 1, this._bitLength), I = (1 << doubles.step + 1) - (doubles.step % 2 === 0 \? 2 : 1);\n I /= 3;\n var repr = [], j, nafW;\n for (j = 0;j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1;l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n for (var a = this.jpoint(null, null, null), b = this.jpoint(null, null, null), i = I;i > 0; i--) {\n for (j = 0;j < repr.length; j++)\n nafW = repr[j], nafW === i \? b = b.mixedAdd(doubles.points[j]) : nafW === -i && (b = b.mixedAdd(doubles.points[j].neg()));\n a = a.add(b);\n }\n return a.toP();\n }, BaseCurve.prototype._wnafMul = function(p, k) {\n var w = 4, nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n for (var wnd = nafPoints.points, naf = getNAF(k, w, this._bitLength), acc = this.jpoint(null, null, null), i = naf.length - 1;i >= 0; i--) {\n for (var l = 0;i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0 && l++, acc = acc.dblp(l), i < 0)\n break;\n var z = naf[i];\n assert(z !== 0), p.type === \"affine\" \? z > 0 \? acc = acc.mixedAdd(wnd[z - 1 >> 1]) : acc = acc.mixedAdd(wnd[-z - 1 >> 1].neg()) : z > 0 \? acc = acc.add(wnd[z - 1 >> 1]) : acc = acc.add(wnd[-z - 1 >> 1].neg());\n }\n return p.type === \"affine\" \? acc.toP() : acc;\n }, BaseCurve.prototype._wnafMulAdd = function(defW, points, coeffs, len, jacobianResult) {\n var wndWidth = this._wnafT1, wnd = this._wnafT2, naf = this._wnafT3, max = 0, i, j, p;\n for (i = 0;i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd, wnd[i] = nafPoints.points;\n }\n for (i = len - 1;i >= 1; i -= 2) {\n var a = i - 1, b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength), naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength), max = Math.max(naf[a].length, max), max = Math.max(naf[b].length, max);\n continue;\n }\n var comb = [points[a], null, null, points[b]];\n points[a].y.cmp(points[b].y) === 0 \? (comb[1] = points[a].add(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg())) : points[a].y.cmp(points[b].y.redNeg()) === 0 \? (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].add(points[b].neg())) : (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg()));\n var index = [-3, -1, -5, -7, 0, 7, 5, 1, 3], jsf = getJSF(coeffs[a], coeffs[b]);\n for (max = Math.max(jsf[0].length, max), naf[a] = new @Array(max), naf[b] = new @Array(max), j = 0;j < max; j++) {\n var ja = jsf[0][j] | 0, jb = jsf[1][j] | 0;\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)], naf[b][j] = 0, wnd[a] = comb;\n }\n }\n var acc = this.jpoint(null, null, null), tmp = this._wnafT4;\n for (i = max;i >= 0; i--) {\n for (var k = 0;i >= 0; ) {\n var zero = !0;\n for (j = 0;j < len; j++)\n tmp[j] = naf[j][i] | 0, tmp[j] !== 0 && (zero = !1);\n if (!zero)\n break;\n k++, i--;\n }\n if (i >= 0 && k++, acc = acc.dblp(k), i < 0)\n break;\n for (j = 0;j < len; j++) {\n var z = tmp[j];\n z !== 0 && (z > 0 \? p = wnd[j][z - 1 >> 1] : z < 0 && (p = wnd[j][-z - 1 >> 1].neg()), p.type === \"affine\" \? acc = acc.mixedAdd(p) : acc = acc.add(p));\n }\n }\n for (i = 0;i < len; i++)\n wnd[i] = null;\n return jacobianResult \? acc : acc.toP();\n };\n function BasePoint(curve, type) {\n this.curve = curve, this.type = type, this.precomputed = null;\n }\n BasePoint.prototype = {}, BaseCurve.BasePoint = BasePoint, BasePoint.prototype.eq = function() {\n throw new Error(\"Not implemented\");\n }, BasePoint.prototype.validate = function() {\n return this.curve.validate(this);\n }, BaseCurve.prototype.decodePoint = function(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n var len = this.p.byteLength();\n if ((bytes[0] === 4 || bytes[0] === 6 || bytes[0] === 7) && bytes.length - 1 === 2 * len) {\n bytes[0] === 6 \? assert(bytes[bytes.length - 1] % 2 === 0) : bytes[0] === 7 && assert(bytes[bytes.length - 1] % 2 === 1);\n var res = this.point(bytes.slice(1, 1 + len), bytes.slice(1 + len, 1 + 2 * len));\n return res;\n } else if ((bytes[0] === 2 || bytes[0] === 3) && bytes.length - 1 === len)\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 3);\n throw new Error(\"Unknown point format\");\n }, BasePoint.prototype.encodeCompressed = function(enc) {\n return this.encode(enc, !0);\n }, BasePoint.prototype._encode = function(compact) {\n var len = this.curve.p.byteLength(), x = this.getX().toArray(\"be\", len);\n return compact \? [this.getY().isEven() \? 2 : 3].concat(x) : [4].concat(x, this.getY().toArray(\"be\", len));\n }, BasePoint.prototype.encode = function(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n }, BasePoint.prototype.precompute = function(power) {\n if (this.precomputed)\n return this;\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n return precomputed.naf = this._getNAFPoints(8), precomputed.doubles = this._getDoubles(4, power), precomputed.beta = this._getBeta(), this.precomputed = precomputed, this;\n }, BasePoint.prototype._hasDoubles = function(k) {\n if (!this.precomputed)\n return !1;\n var doubles = this.precomputed.doubles;\n return doubles \? doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step) : !1;\n }, BasePoint.prototype._getDoubles = function(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n for (var doubles = [this], acc = this, i = 0;i < power; i += step) {\n for (var j = 0;j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step,\n points: doubles\n };\n }, BasePoint.prototype._getNAFPoints = function(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n for (var res = [this], max = (1 << wnd) - 1, dbl = max === 1 \? null : this.dbl(), i = 1;i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd,\n points: res\n };\n }, BasePoint.prototype._getBeta = function() {\n return null;\n }, BasePoint.prototype.dblp = function(k) {\n for (var r = this, i = 0;i < k; i++)\n r = r.dbl();\n return r;\n };\n }\n}), require_short = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/short.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function ShortCurve(conf) {\n Base.@call(this, \"short\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.tinv = this.two.redInvm(), this.zeroA = this.a.fromRed().cmpn(0) === 0, this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0, this.endo = this._getEndomorphism(conf), this._endoWnafT1 = new @Array(4), this._endoWnafT2 = new @Array(4);\n }\n inherits(ShortCurve, Base), module.exports = ShortCurve, ShortCurve.prototype._getEndomorphism = function(conf) {\n if (!(!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)) {\n var beta, lambda;\n if (conf.beta)\n beta = new BN(conf.beta, 16).toRed(this.red);\n else {\n var betas = this._getEndoRoots(this.p);\n beta = betas[0].cmp(betas[1]) < 0 \? betas[0] : betas[1], beta = beta.toRed(this.red);\n }\n if (conf.lambda)\n lambda = new BN(conf.lambda, 16);\n else {\n var lambdas = this._getEndoRoots(this.n);\n this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0 \? lambda = lambdas[0] : (lambda = lambdas[1], assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0));\n }\n var basis;\n return conf.basis \? basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n }) : basis = this._getEndoBasis(lambda), {\n beta,\n lambda,\n basis\n };\n }\n }, ShortCurve.prototype._getEndoRoots = function(num) {\n var red = num === this.p \? this.red : BN.mont(num), tinv = new BN(2).toRed(red).redInvm(), ntinv = tinv.redNeg(), s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv), l1 = ntinv.redAdd(s).fromRed(), l2 = ntinv.redSub(s).fromRed();\n return [l1, l2];\n }, ShortCurve.prototype._getEndoBasis = function(lambda) {\n for (var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)), u = lambda, v = this.n.clone(), x1 = new BN(1), y1 = new BN(0), x2 = new BN(0), y2 = new BN(1), a0, b0, a1, b1, a2, b2, prevR, i = 0, r, x;u.cmpn(0) !== 0; ) {\n var q = v.div(u);\n r = v.sub(q.mul(u)), x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n if (!a1 && r.cmp(aprxSqrt) < 0)\n a0 = prevR.neg(), b0 = x1, a1 = r.neg(), b1 = x;\n else if (a1 && ++i === 2)\n break;\n prevR = r, v = u, u = r, x2 = x1, x1 = x, y2 = y1, y1 = y;\n }\n a2 = r.neg(), b2 = x;\n var len1 = a1.sqr().add(b1.sqr()), len2 = a2.sqr().add(b2.sqr());\n return len2.cmp(len1) >= 0 && (a2 = a0, b2 = b0), a1.negative && (a1 = a1.neg(), b1 = b1.neg()), a2.negative && (a2 = a2.neg(), b2 = b2.neg()), [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n }, ShortCurve.prototype._endoSplit = function(k) {\n var basis = this.endo.basis, v1 = basis[0], v2 = basis[1], c1 = v2.b.mul(k).divRound(this.n), c2 = v1.b.neg().mul(k).divRound(this.n), p1 = c1.mul(v1.a), p2 = c2.mul(v2.a), q1 = c1.mul(v1.b), q2 = c2.mul(v2.b), k1 = k.sub(p1).sub(p2), k2 = q1.add(q2).neg();\n return { k1, k2 };\n }, ShortCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, ShortCurve.prototype.validate = function(point) {\n if (point.inf)\n return !0;\n var { x, y } = point, ax = this.a.redMul(x), rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n }, ShortCurve.prototype._endoWnafMulAdd = function(points, coeffs, jacobianResult) {\n for (var npoints = this._endoWnafT1, ncoeffs = this._endoWnafT2, i = 0;i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]), p = points[i], beta = p._getBeta();\n split.k1.negative && (split.k1.ineg(), p = p.neg(!0)), split.k2.negative && (split.k2.ineg(), beta = beta.neg(!0)), npoints[i * 2] = p, npoints[i * 2 + 1] = beta, ncoeffs[i * 2] = split.k1, ncoeffs[i * 2 + 1] = split.k2;\n }\n for (var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult), j = 0;j < i * 2; j++)\n npoints[j] = null, ncoeffs[j] = null;\n return res;\n };\n function Point(curve, x, y, isRed) {\n Base.BasePoint.@call(this, curve, \"affine\"), x === null && y === null \? (this.x = null, this.y = null, this.inf = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), isRed && (this.x.forceRed(this.curve.red), this.y.forceRed(this.curve.red)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.inf = !1);\n }\n inherits(Point, Base.BasePoint), ShortCurve.prototype.point = function(x, y, isRed) {\n return new Point(this, x, y, isRed);\n }, ShortCurve.prototype.pointFromJSON = function(obj, red) {\n return Point.fromJSON(this, obj, red);\n }, Point.prototype._getBeta = function() {\n if (this.curve.endo) {\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve, endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta, beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n }\n }, Point.prototype.toJSON = function() {\n return this.precomputed \? [\n this.x,\n this.y,\n this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n }\n ] : [this.x, this.y];\n }, Point.fromJSON = function(curve, obj, red) {\n typeof obj == \"string\" && (obj = JSON.parse(obj));\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n function obj2point(obj2) {\n return curve.point(obj2[0], obj2[1], red);\n }\n var pre = obj[2];\n return res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [res].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [res].concat(pre.naf.points.map(obj2point))\n }\n }, res;\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.inf;\n }, Point.prototype.add = function(p) {\n if (this.inf)\n return p;\n if (p.inf)\n return this;\n if (this.eq(p))\n return this.dbl();\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n var c = this.y.redSub(p.y);\n c.cmpn(0) !== 0 && (c = c.redMul(this.x.redSub(p.x).redInvm()));\n var nx = c.redSqr().redISub(this.x).redISub(p.x), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.dbl = function() {\n if (this.inf)\n return this;\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n var a = this.curve.a, x2 = this.x.redSqr(), dyinv = ys1.redInvm(), c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv), nx = c.redSqr().redISub(this.x.redAdd(this.x)), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.getX = function() {\n return this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.y.fromRed();\n }, Point.prototype.mul = function(k) {\n return k = new BN(k, 16), this.isInfinity() \? this : this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve.endo \? this.curve._endoWnafMulAdd([this], [k]) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs) : this.curve._wnafMulAdd(1, points, coeffs, 2);\n }, Point.prototype.jmulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs, !0) : this.curve._wnafMulAdd(1, points, coeffs, 2, !0);\n }, Point.prototype.eq = function(p) {\n return this === p || this.inf === p.inf && (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n }, Point.prototype.neg = function(_precompute) {\n if (this.inf)\n return this;\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed, negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n }, Point.prototype.toJ = function() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n };\n function JPoint(curve, x, y, z) {\n Base.BasePoint.@call(this, curve, \"jacobian\"), x === null && y === null && z === null \? (this.x = this.curve.one, this.y = this.curve.one, this.z = new BN(0)) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = new BN(z, 16)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.zOne = this.z === this.curve.one;\n }\n inherits(JPoint, Base.BasePoint), ShortCurve.prototype.jpoint = function(x, y, z) {\n return new JPoint(this, x, y, z);\n }, JPoint.prototype.toP = function() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n var zinv = this.z.redInvm(), zinv2 = zinv.redSqr(), ax = this.x.redMul(zinv2), ay = this.y.redMul(zinv2).redMul(zinv);\n return this.curve.point(ax, ay);\n }, JPoint.prototype.neg = function() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n }, JPoint.prototype.add = function(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n var pz2 = p.z.redSqr(), z2 = this.z.redSqr(), u1 = this.x.redMul(pz2), u2 = p.x.redMul(z2), s1 = this.y.redMul(pz2.redMul(p.z)), s2 = p.y.redMul(z2.redMul(this.z)), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(p.z).redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mixedAdd = function(p) {\n if (this.isInfinity())\n return p.toJ();\n if (p.isInfinity())\n return this;\n var z2 = this.z.redSqr(), u1 = this.x, u2 = p.x.redMul(z2), s1 = this.y, s2 = p.y.redMul(z2).redMul(this.z), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.dblp = function(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0;i < pow; i++)\n r = r.dbl();\n return r;\n }\n var a = this.curve.a, tinv = this.curve.tinv, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jyd = jy.redAdd(jy);\n for (i = 0;i < pow; i++) {\n var jx2 = jx.redSqr(), jyd2 = jyd.redSqr(), jyd4 = jyd2.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), t1 = jx.redMul(jyd2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n i + 1 < pow && (jz4 = jz4.redMul(jyd4)), jx = nx, jz = nz, jyd = dny;\n }\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n }, JPoint.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.zeroA \? this._zeroDbl() : this.curve.threeA \? this._threeDbl() : this._dbl();\n }, JPoint.prototype._zeroDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx), t = m.redSqr().redISub(s).redISub(s), yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), nx = t, ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = b.redSqr(), d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n var e = a.redAdd(a).redIAdd(a), f = e.redSqr(), c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8), c8 = c8.redIAdd(c8), nx = f.redISub(d).redISub(d), ny = e.redMul(d.redISub(nx)).redISub(c8), nz = this.y.redMul(this.z), nz = nz.redIAdd(nz);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._threeDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a), t = m.redSqr().redISub(s).redISub(s);\n nx = t;\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var delta = this.z.redSqr(), gamma = this.y.redSqr(), beta = this.x.redMul(gamma), alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8), nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._dbl = function() {\n var a = this.curve.a, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jx2 = jx.redSqr(), jy2 = jy.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8), nz = jy.redAdd(jy).redMul(jz);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.trpl = function() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n var xx = this.x.redSqr(), yy = this.y.redSqr(), zz = this.z.redSqr(), yyyy = yy.redSqr(), m = xx.redAdd(xx).redIAdd(xx), mm = m.redSqr(), e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e), e = e.redAdd(e).redIAdd(e), e = e.redISub(mm);\n var ee = e.redSqr(), t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t), t = t.redIAdd(t), t = t.redIAdd(t);\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t), yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4), yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx), nx = nx.redIAdd(nx);\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny), ny = ny.redIAdd(ny), ny = ny.redIAdd(ny);\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mul = function(k, kbase) {\n return k = new BN(k, kbase), this.curve._wnafMul(this, k);\n }, JPoint.prototype.eq = function(p) {\n if (p.type === \"affine\")\n return this.eq(p.toJ());\n if (this === p)\n return !0;\n var z2 = this.z.redSqr(), pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return !1;\n var z3 = z2.redMul(this.z), pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n }, JPoint.prototype.eqXToP = function(x) {\n var zs = this.z.redSqr(), rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(zs);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, JPoint.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC JPoint Infinity>\" : \"<EC JPoint x: \" + this.x.toString(16, 2) + \" y: \" + this.y.toString(16, 2) + \" z: \" + this.z.toString(16, 2) + \">\";\n }, JPoint.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n };\n }\n}), require_mont = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/mont.js\"(exports, module) {\n var BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), utils = require_utils3();\n function MontCurve(conf) {\n Base.@call(this, \"mont\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.i4 = new BN(4).toRed(this.red).redInvm(), this.two = new BN(2).toRed(this.red), this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n }\n inherits(MontCurve, Base), module.exports = MontCurve, MontCurve.prototype.validate = function(point) {\n var x = point.normalize().x, x2 = x.redSqr(), rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x), y = rhs.redSqrt();\n return y.redSqr().cmp(rhs) === 0;\n };\n function Point(curve, x, z) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && z === null \? (this.x = this.curve.one, this.z = this.curve.zero) : (this.x = new BN(x, 16), this.z = new BN(z, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)));\n }\n inherits(Point, Base.BasePoint), MontCurve.prototype.decodePoint = function(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n }, MontCurve.prototype.point = function(x, z) {\n return new Point(this, x, z);\n }, MontCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, Point.prototype.precompute = function() {\n }, Point.prototype._encode = function() {\n return this.getX().toArray(\"be\", this.curve.p.byteLength());\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n }, Point.prototype.dbl = function() {\n var a = this.x.redAdd(this.z), aa = a.redSqr(), b = this.x.redSub(this.z), bb = b.redSqr(), c = aa.redSub(bb), nx = aa.redMul(bb), nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n }, Point.prototype.add = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.diffAdd = function(p, diff) {\n var a = this.x.redAdd(this.z), b = this.x.redSub(this.z), c = p.x.redAdd(p.z), d = p.x.redSub(p.z), da = d.redMul(a), cb = c.redMul(b), nx = diff.z.redMul(da.redAdd(cb).redSqr()), nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n }, Point.prototype.mul = function(k) {\n for (var t = k.clone(), a = this, b = this.curve.point(null, null), c = this, bits = [];t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n for (var i = bits.length - 1;i >= 0; i--)\n bits[i] === 0 \? (a = a.diffAdd(b, c), b = b.dbl()) : (b = a.diffAdd(b, c), a = a.dbl());\n return b;\n }, Point.prototype.mulAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.jumlAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.eq = function(other) {\n return this.getX().cmp(other.getX()) === 0;\n }, Point.prototype.normalize = function() {\n return this.x = this.x.redMul(this.z.redInvm()), this.z = this.curve.one, this;\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n };\n }\n}), require_edwards = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/edwards.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function EdwardsCurve(conf) {\n this.twisted = (conf.a | 0) !== 1, this.mOneA = this.twisted && (conf.a | 0) === -1, this.extended = this.mOneA, Base.@call(this, \"edwards\", conf), this.a = new BN(conf.a, 16).umod(this.red.m), this.a = this.a.toRed(this.red), this.c = new BN(conf.c, 16).toRed(this.red), this.c2 = this.c.redSqr(), this.d = new BN(conf.d, 16).toRed(this.red), this.dd = this.d.redAdd(this.d), assert(!this.twisted || this.c.fromRed().cmpn(1) === 0), this.oneC = (conf.c | 0) === 1;\n }\n inherits(EdwardsCurve, Base), module.exports = EdwardsCurve, EdwardsCurve.prototype._mulA = function(num) {\n return this.mOneA \? num.redNeg() : this.a.redMul(num);\n }, EdwardsCurve.prototype._mulC = function(num) {\n return this.oneC \? num : this.c.redMul(num);\n }, EdwardsCurve.prototype.jpoint = function(x, y, z, t) {\n return this.point(x, y, z, t);\n }, EdwardsCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var x2 = x.redSqr(), rhs = this.c2.redSub(this.a.redMul(x2)), lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)), y2 = rhs.redMul(lhs.redInvm()), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.pointFromY = function(y, odd) {\n y = new BN(y, 16), y.red || (y = y.toRed(this.red));\n var y2 = y.redSqr(), lhs = y2.redSub(this.c2), rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a), x2 = lhs.redMul(rhs.redInvm());\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error(\"invalid point\");\n return this.point(this.zero, y);\n }\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n return x.fromRed().isOdd() !== odd && (x = x.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.validate = function(point) {\n if (point.isInfinity())\n return !0;\n point.normalize();\n var x2 = point.x.redSqr(), y2 = point.y.redSqr(), lhs = x2.redMul(this.a).redAdd(y2), rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n return lhs.cmp(rhs) === 0;\n };\n function Point(curve, x, y, z, t) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && y === null && z === null \? (this.x = this.curve.zero, this.y = this.curve.one, this.z = this.curve.one, this.t = this.curve.zero, this.zOne = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = z \? new BN(z, 16) : this.curve.one, this.t = t && new BN(t, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.t && !this.t.red && (this.t = this.t.toRed(this.curve.red)), this.zOne = this.z === this.curve.one, this.curve.extended && !this.t && (this.t = this.x.redMul(this.y), this.zOne || (this.t = this.t.redMul(this.z.redInvm()))));\n }\n inherits(Point, Base.BasePoint), EdwardsCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, EdwardsCurve.prototype.point = function(x, y, z, t) {\n return new Point(this, x, y, z, t);\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.x.cmpn(0) === 0 && (this.y.cmp(this.z) === 0 || this.zOne && this.y.cmp(this.curve.c) === 0);\n }, Point.prototype._extDbl = function() {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = this.z.redSqr();\n c = c.redIAdd(c);\n var d = this.curve._mulA(a), e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b), g = d.redAdd(b), f = g.redSub(c), h = d.redSub(b), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projDbl = function() {\n var b = this.x.redAdd(this.y).redSqr(), c = this.x.redSqr(), d = this.y.redSqr(), nx, ny, nz, e, h, j;\n if (this.curve.twisted) {\n e = this.curve._mulA(c);\n var f = e.redAdd(d);\n this.zOne \? (nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)), ny = f.redMul(e.redSub(d)), nz = f.redSqr().redSub(f).redSub(f)) : (h = this.z.redSqr(), j = f.redSub(h).redISub(h), nx = b.redSub(c).redISub(d).redMul(j), ny = f.redMul(e.redSub(d)), nz = f.redMul(j));\n } else\n e = c.redAdd(d), h = this.curve._mulC(this.z).redSqr(), j = e.redSub(h).redSub(h), nx = this.curve._mulC(b.redISub(e)).redMul(j), ny = this.curve._mulC(e).redMul(c.redISub(d)), nz = e.redMul(j);\n return this.curve.point(nx, ny, nz);\n }, Point.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.extended \? this._extDbl() : this._projDbl();\n }, Point.prototype._extAdd = function(p) {\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)), b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)), c = this.t.redMul(this.curve.dd).redMul(p.t), d = this.z.redMul(p.z.redAdd(p.z)), e = b.redSub(a), f = d.redSub(c), g = d.redAdd(c), h = b.redAdd(a), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projAdd = function(p) {\n var a = this.z.redMul(p.z), b = a.redSqr(), c = this.x.redMul(p.x), d = this.y.redMul(p.y), e = this.curve.d.redMul(c).redMul(d), f = b.redSub(e), g = b.redAdd(e), tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d), nx = a.redMul(f).redMul(tmp), ny, nz;\n return this.curve.twisted \? (ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))), nz = f.redMul(g)) : (ny = a.redMul(g).redMul(d.redSub(c)), nz = this.curve._mulC(f).redMul(g)), this.curve.point(nx, ny, nz);\n }, Point.prototype.add = function(p) {\n return this.isInfinity() \? p : p.isInfinity() \? this : this.curve.extended \? this._extAdd(p) : this._projAdd(p);\n }, Point.prototype.mul = function(k) {\n return this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !1);\n }, Point.prototype.jmulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !0);\n }, Point.prototype.normalize = function() {\n if (this.zOne)\n return this;\n var zi = this.z.redInvm();\n return this.x = this.x.redMul(zi), this.y = this.y.redMul(zi), this.t && (this.t = this.t.redMul(zi)), this.z = this.curve.one, this.zOne = !0, this;\n }, Point.prototype.neg = function() {\n return this.curve.point(this.x.redNeg(), this.y, this.z, this.t && this.t.redNeg());\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.normalize(), this.y.fromRed();\n }, Point.prototype.eq = function(other) {\n return this === other || this.getX().cmp(other.getX()) === 0 && this.getY().cmp(other.getY()) === 0;\n }, Point.prototype.eqXToP = function(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(this.z);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, Point.prototype.toP = Point.prototype.normalize, Point.prototype.mixedAdd = Point.prototype.add;\n }\n}), require_curve = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/index.js\"(exports) {\n var curve = exports;\n curve.base = require_base(), curve.short = require_short(), curve.mont = require_mont(), curve.edwards = require_edwards();\n }\n}), require_utils4 = __commonJS({\n \"node_modules/hash.js/lib/hash/utils.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser();\n exports.inherits = inherits;\n function isSurrogatePair(msg, i) {\n return (msg.charCodeAt(i) & 64512) !== 55296 || i < 0 || i + 1 >= msg.length \? !1 : (msg.charCodeAt(i + 1) & 64512) === 56320;\n }\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg == \"string\")\n if (enc) {\n if (enc === \"hex\")\n for (msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg), i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var p = 0, i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n c < 128 \? res[p++] = c : c < 2048 \? (res[p++] = c >> 6 | 192, res[p++] = c & 63 | 128) : isSurrogatePair(msg, i) \? (c = 65536 + ((c & 1023) << 10) + (msg.charCodeAt(++i) & 1023), res[p++] = c >> 18 | 240, res[p++] = c >> 12 & 63 | 128, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128) : (res[p++] = c >> 12 | 224, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128);\n }\n else\n for (i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n exports.toArray = toArray;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n exports.toHex = toHex;\n function htonl(w) {\n var res = w >>> 24 | w >>> 8 & 65280 | w << 8 & 16711680 | (w & 255) << 24;\n return res >>> 0;\n }\n exports.htonl = htonl;\n function toHex32(msg, endian) {\n for (var res = \"\", i = 0;i < msg.length; i++) {\n var w = msg[i];\n endian === \"little\" && (w = htonl(w)), res += zero8(w.toString(16));\n }\n return res;\n }\n exports.toHex32 = toHex32;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n exports.zero2 = zero2;\n function zero8(word) {\n return word.length === 7 \? \"0\" + word : word.length === 6 \? \"00\" + word : word.length === 5 \? \"000\" + word : word.length === 4 \? \"0000\" + word : word.length === 3 \? \"00000\" + word : word.length === 2 \? \"000000\" + word : word.length === 1 \? \"0000000\" + word : word;\n }\n exports.zero8 = zero8;\n function join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n for (var res = new @Array(len / 4), i = 0, k = start;i < res.length; i++, k += 4) {\n var w;\n endian === \"big\" \? w = msg[k] << 24 | msg[k + 1] << 16 | msg[k + 2] << 8 | msg[k + 3] : w = msg[k + 3] << 24 | msg[k + 2] << 16 | msg[k + 1] << 8 | msg[k], res[i] = w >>> 0;\n }\n return res;\n }\n exports.join32 = join32;\n function split32(msg, endian) {\n for (var res = new @Array(msg.length * 4), i = 0, k = 0;i < msg.length; i++, k += 4) {\n var m = msg[i];\n endian === \"big\" \? (res[k] = m >>> 24, res[k + 1] = m >>> 16 & 255, res[k + 2] = m >>> 8 & 255, res[k + 3] = m & 255) : (res[k + 3] = m >>> 24, res[k + 2] = m >>> 16 & 255, res[k + 1] = m >>> 8 & 255, res[k] = m & 255);\n }\n return res;\n }\n exports.split32 = split32;\n function rotr32(w, b) {\n return w >>> b | w << 32 - b;\n }\n exports.rotr32 = rotr32;\n function rotl32(w, b) {\n return w << b | w >>> 32 - b;\n }\n exports.rotl32 = rotl32;\n function sum32(a, b) {\n return a + b >>> 0;\n }\n exports.sum32 = sum32;\n function sum32_3(a, b, c) {\n return a + b + c >>> 0;\n }\n exports.sum32_3 = sum32_3;\n function sum32_4(a, b, c, d) {\n return a + b + c + d >>> 0;\n }\n exports.sum32_4 = sum32_4;\n function sum32_5(a, b, c, d, e) {\n return a + b + c + d + e >>> 0;\n }\n exports.sum32_5 = sum32_5;\n function sum64(buf, pos, ah, al) {\n var bh = buf[pos], bl = buf[pos + 1], lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0, buf[pos + 1] = lo;\n }\n exports.sum64 = sum64;\n function sum64_hi(ah, al, bh, bl) {\n var lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n return hi >>> 0;\n }\n exports.sum64_hi = sum64_hi;\n function sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n }\n exports.sum64_lo = sum64_lo;\n function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0;\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n }\n exports.sum64_4_hi = sum64_4_hi;\n function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n }\n exports.sum64_4_lo = sum64_4_lo;\n function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0, lo = lo + el >>> 0, carry += lo < el \? 1 : 0;\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n }\n exports.sum64_5_hi = sum64_5_hi;\n function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n return lo >>> 0;\n }\n exports.sum64_5_lo = sum64_5_lo;\n function rotr64_hi(ah, al, num) {\n var r = al << 32 - num | ah >>> num;\n return r >>> 0;\n }\n exports.rotr64_hi = rotr64_hi;\n function rotr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.rotr64_lo = rotr64_lo;\n function shr64_hi(ah, al, num) {\n return ah >>> num;\n }\n exports.shr64_hi = shr64_hi;\n function shr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.shr64_lo = shr64_lo;\n }\n}), require_common = __commonJS({\n \"node_modules/hash.js/lib/hash/common.js\"(exports) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function BlockHash() {\n this.pending = null, this.pendingTotal = 0, this.blockSize = this.constructor.blockSize, this.outSize = this.constructor.outSize, this.hmacStrength = this.constructor.hmacStrength, this.padLength = this.constructor.padLength / 8, this.endian = \"big\", this._delta8 = this.blockSize / 8, this._delta32 = this.blockSize / 32;\n }\n BlockHash.prototype = {}, exports.BlockHash = BlockHash, BlockHash.prototype.update = function(msg, enc) {\n if (msg = utils.toArray(msg, enc), this.pending \? this.pending = this.pending.concat(msg) : this.pending = msg, this.pendingTotal += msg.length, this.pending.length >= this._delta8) {\n msg = this.pending;\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length), this.pending.length === 0 && (this.pending = null), msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0;i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n return this;\n }, BlockHash.prototype.digest = function(enc) {\n return this.update(this._pad()), assert(this.pending === null), this._digest(enc);\n }, BlockHash.prototype._pad = function() {\n var len = this.pendingTotal, bytes = this._delta8, k = bytes - (len + this.padLength) % bytes, res = new @Array(k + this.padLength);\n res[0] = 128;\n for (var i = 1;i < k; i++)\n res[i] = 0;\n if (len <<= 3, this.endian === \"big\") {\n for (var t = 8;t < this.padLength; t++)\n res[i++] = 0;\n res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = len >>> 24 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 8 & 255, res[i++] = len & 255;\n } else\n for (res[i++] = len & 255, res[i++] = len >>> 8 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 24 & 255, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, t = 8;t < this.padLength; t++)\n res[i++] = 0;\n return res;\n };\n }\n}), require_common2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/common.js\"(exports) {\n var utils = require_utils4(), rotr32 = utils.rotr32;\n function ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n }\n exports.ft_1 = ft_1;\n function ch32(x, y, z) {\n return x & y ^ ~x & z;\n }\n exports.ch32 = ch32;\n function maj32(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n exports.maj32 = maj32;\n function p32(x, y, z) {\n return x ^ y ^ z;\n }\n exports.p32 = p32;\n function s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n }\n exports.s0_256 = s0_256;\n function s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n }\n exports.s1_256 = s1_256;\n function g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ x >>> 3;\n }\n exports.g0_256 = g0_256;\n function g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ x >>> 10;\n }\n exports.g1_256 = g1_256;\n }\n}), require__ = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/1.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_5 = utils.sum32_5, ft_1 = shaCommon.ft_1, BlockHash = common.BlockHash, sha1_K = [1518500249, 1859775393, 2400959708, 3395469782];\n function SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.W = new @Array(80);\n }\n utils.inherits(SHA1, BlockHash), module.exports = SHA1, SHA1.blockSize = 512, SHA1.outSize = 160, SHA1.hmacStrength = 80, SHA1.padLength = 64, SHA1.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4];\n for (i = 0;i < W.length; i++) {\n var s = ~~(i / 20), t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d, d = c, c = rotl32(b, 30), b = a, a = t;\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e);\n }, SHA1.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/256.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), assert = require_minimalistic_assert(), sum32 = utils.sum32, sum32_4 = utils.sum32_4, sum32_5 = utils.sum32_5, ch32 = shaCommon.ch32, maj32 = shaCommon.maj32, s0_256 = shaCommon.s0_256, s1_256 = shaCommon.s1_256, g0_256 = shaCommon.g0_256, g1_256 = shaCommon.g1_256, BlockHash = common.BlockHash, sha256_K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ];\n function SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256;\n BlockHash.@call(this), this.h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.k = sha256_K, this.W = new @Array(64);\n }\n utils.inherits(SHA256, BlockHash), module.exports = SHA256, SHA256.blockSize = 512, SHA256.outSize = 256, SHA256.hmacStrength = 192, SHA256.padLength = 64, SHA256.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4], f = this.h[5], g = this.h[6], h = this.h[7];\n for (assert(this.k.length === W.length), i = 0;i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]), T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g, g = f, f = e, e = sum32(d, T1), d = c, c = b, b = a, a = sum32(T1, T2);\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e), this.h[5] = sum32(this.h[5], f), this.h[6] = sum32(this.h[6], g), this.h[7] = sum32(this.h[7], h);\n }, SHA256.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/224.js\"(exports, module) {\n var utils = require_utils4(), SHA256 = require__2();\n function SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224;\n SHA256.@call(this), this.h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n }\n utils.inherits(SHA224, SHA256), module.exports = SHA224, SHA224.blockSize = 512, SHA224.outSize = 224, SHA224.hmacStrength = 192, SHA224.padLength = 64, SHA224.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 7), \"big\") : utils.split32(this.h.slice(0, 7), \"big\");\n };\n }\n}), require__4 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/512.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), assert = require_minimalistic_assert(), rotr64_hi = utils.rotr64_hi, rotr64_lo = utils.rotr64_lo, shr64_hi = utils.shr64_hi, shr64_lo = utils.shr64_lo, sum64 = utils.sum64, sum64_hi = utils.sum64_hi, sum64_lo = utils.sum64_lo, sum64_4_hi = utils.sum64_4_hi, sum64_4_lo = utils.sum64_4_lo, sum64_5_hi = utils.sum64_5_hi, sum64_5_lo = utils.sum64_5_lo, BlockHash = common.BlockHash, sha512_K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ];\n function SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512;\n BlockHash.@call(this), this.h = [\n 1779033703,\n 4089235720,\n 3144134277,\n 2227873595,\n 1013904242,\n 4271175723,\n 2773480762,\n 1595750129,\n 1359893119,\n 2917565137,\n 2600822924,\n 725511199,\n 528734635,\n 4215389547,\n 1541459225,\n 327033209\n ], this.k = sha512_K, this.W = new @Array(160);\n }\n utils.inherits(SHA512, BlockHash), module.exports = SHA512, SHA512.blockSize = 1024, SHA512.outSize = 512, SHA512.hmacStrength = 192, SHA512.padLength = 128, SHA512.prototype._prepareBlock = function(msg, start) {\n for (var W = this.W, i = 0;i < 32; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]), c0_lo = g1_512_lo(W[i - 4], W[i - 3]), c1_hi = W[i - 14], c1_lo = W[i - 13], c2_hi = g0_512_hi(W[i - 30], W[i - 29]), c2_lo = g0_512_lo(W[i - 30], W[i - 29]), c3_hi = W[i - 32], c3_lo = W[i - 31];\n W[i] = sum64_4_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo), W[i + 1] = sum64_4_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);\n }\n }, SHA512.prototype._update = function(msg, start) {\n this._prepareBlock(msg, start);\n var W = this.W, ah = this.h[0], al = this.h[1], bh = this.h[2], bl = this.h[3], ch = this.h[4], cl = this.h[5], dh = this.h[6], dl = this.h[7], eh = this.h[8], el = this.h[9], fh = this.h[10], fl = this.h[11], gh = this.h[12], gl = this.h[13], hh = this.h[14], hl = this.h[15];\n assert(this.k.length === W.length);\n for (var i = 0;i < W.length; i += 2) {\n var c0_hi = hh, c0_lo = hl, c1_hi = s1_512_hi(eh, el), c1_lo = s1_512_lo(eh, el), c2_hi = ch64_hi(eh, el, fh, fl, gh, gl), c2_lo = ch64_lo(eh, el, fh, fl, gh, gl), c3_hi = this.k[i], c3_lo = this.k[i + 1], c4_hi = W[i], c4_lo = W[i + 1], T1_hi = sum64_5_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo), T1_lo = sum64_5_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);\n c0_hi = s0_512_hi(ah, al), c0_lo = s0_512_lo(ah, al), c1_hi = maj64_hi(ah, al, bh, bl, ch, cl), c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo), T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, eh = sum64_hi(dh, dl, T1_hi, T1_lo), el = sum64_lo(dl, dl, T1_hi, T1_lo), dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo), al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n sum64(this.h, 0, ah, al), sum64(this.h, 2, bh, bl), sum64(this.h, 4, ch, cl), sum64(this.h, 6, dh, dl), sum64(this.h, 8, eh, el), sum64(this.h, 10, fh, fl), sum64(this.h, 12, gh, gl), sum64(this.h, 14, hh, hl);\n }, SHA512.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n function ch64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ ~xh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ ~xl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ xh & zh ^ yh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ xl & zl ^ yl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28), c1_hi = rotr64_hi(xl, xh, 2), c2_hi = rotr64_hi(xl, xh, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28), c1_lo = rotr64_lo(xl, xh, 2), c2_lo = rotr64_lo(xl, xh, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14), c1_hi = rotr64_hi(xh, xl, 18), c2_hi = rotr64_hi(xl, xh, 9), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14), c1_lo = rotr64_lo(xh, xl, 18), c2_lo = rotr64_lo(xl, xh, 9), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1), c1_hi = rotr64_hi(xh, xl, 8), c2_hi = shr64_hi(xh, xl, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1), c1_lo = rotr64_lo(xh, xl, 8), c2_lo = shr64_lo(xh, xl, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19), c1_hi = rotr64_hi(xl, xh, 29), c2_hi = shr64_hi(xh, xl, 6), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19), c1_lo = rotr64_lo(xl, xh, 29), c2_lo = shr64_lo(xh, xl, 6), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n }\n}), require__5 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/384.js\"(exports, module) {\n var utils = require_utils4(), SHA512 = require__4();\n function SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384;\n SHA512.@call(this), this.h = [\n 3418070365,\n 3238371032,\n 1654270250,\n 914150663,\n 2438529370,\n 812702999,\n 355462360,\n 4144912697,\n 1731405415,\n 4290775857,\n 2394180231,\n 1750603025,\n 3675008525,\n 1694076839,\n 1203062813,\n 3204075428\n ];\n }\n utils.inherits(SHA384, SHA512), module.exports = SHA384, SHA384.blockSize = 1024, SHA384.outSize = 384, SHA384.hmacStrength = 192, SHA384.padLength = 128, SHA384.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 12), \"big\") : utils.split32(this.h.slice(0, 12), \"big\");\n };\n }\n}), require_sha3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha.js\"(exports) {\n exports.sha1 = require__(), exports.sha224 = require__3(), exports.sha256 = require__2(), exports.sha384 = require__5(), exports.sha512 = require__4();\n }\n}), require_ripemd = __commonJS({\n \"node_modules/hash.js/lib/hash/ripemd.js\"(exports) {\n var utils = require_utils4(), common = require_common(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_3 = utils.sum32_3, sum32_4 = utils.sum32_4, BlockHash = common.BlockHash;\n function RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.endian = \"little\";\n }\n utils.inherits(RIPEMD160, BlockHash), exports.ripemd160 = RIPEMD160, RIPEMD160.blockSize = 512, RIPEMD160.outSize = 160, RIPEMD160.hmacStrength = 192, RIPEMD160.padLength = 64, RIPEMD160.prototype._update = function(msg, start) {\n for (var A = this.h[0], B = this.h[1], C = this.h[2], D = this.h[3], E = this.h[4], Ah = A, Bh = B, Ch = C, Dh = D, Eh = E, j = 0;j < 80; j++) {\n var T = sum32(rotl32(sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), s[j]), E);\n A = E, E = D, D = rotl32(C, 10), C = B, B = T, T = sum32(rotl32(sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), sh[j]), Eh), Ah = Eh, Eh = Dh, Dh = rotl32(Ch, 10), Ch = Bh, Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh), this.h[1] = sum32_3(this.h[2], D, Eh), this.h[2] = sum32_3(this.h[3], E, Ah), this.h[3] = sum32_3(this.h[4], A, Bh), this.h[4] = sum32_3(this.h[0], B, Ch), this.h[0] = T;\n }, RIPEMD160.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"little\") : utils.split32(this.h, \"little\");\n };\n function f(j, x, y, z) {\n return j <= 15 \? x ^ y ^ z : j <= 31 \? x & y | ~x & z : j <= 47 \? (x | ~y) ^ z : j <= 63 \? x & z | y & ~z : x ^ (y | ~z);\n }\n function K(j) {\n return j <= 15 \? 0 : j <= 31 \? 1518500249 : j <= 47 \? 1859775393 : j <= 63 \? 2400959708 : 2840853838;\n }\n function Kh(j) {\n return j <= 15 \? 1352829926 : j <= 31 \? 1548603684 : j <= 47 \? 1836072691 : j <= 63 \? 2053994217 : 0;\n }\n var r = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], rh = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], s = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sh = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ];\n }\n}), require_hmac = __commonJS({\n \"node_modules/hash.js/lib/hash/hmac.js\"(exports, module) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function Hmac(hash, key2, enc) {\n if (key2 = exportIfKeyObject(key2), !(this instanceof Hmac))\n return new Hmac(hash, key2, enc);\n this.Hash = hash, this.blockSize = hash.blockSize / 8, this.outSize = hash.outSize / 8, this.inner = null, this.outer = null, this._init(utils.toArray(key2, enc));\n }\n Hmac.prototype = {}, module.exports = Hmac, Hmac.prototype._init = function(key2) {\n key2.length > this.blockSize && (key2 = new this.Hash().update(key2).digest()), assert(key2.length <= this.blockSize);\n for (var i = key2.length;i < this.blockSize; i++)\n key2.push(0);\n for (i = 0;i < key2.length; i++)\n key2[i] ^= 54;\n for (this.inner = new this.Hash().update(key2), i = 0;i < key2.length; i++)\n key2[i] ^= 106;\n this.outer = new this.Hash().update(key2);\n }, Hmac.prototype.update = function(msg, enc) {\n return this.inner.update(msg, enc), this;\n }, Hmac.prototype.digest = function(enc) {\n return this.outer.update(this.inner.digest()), this.outer.digest(enc);\n };\n }\n}), require_hash2 = __commonJS({\n \"node_modules/hash.js/lib/hash.js\"(exports) {\n var hash = exports;\n hash.utils = require_utils4(), hash.common = require_common(), hash.sha = require_sha3(), hash.ripemd = require_ripemd(), hash.hmac = require_hmac(), hash.sha1 = hash.sha.sha1, hash.sha256 = hash.sha.sha256, hash.sha224 = hash.sha.sha224, hash.sha384 = hash.sha.sha384, hash.sha512 = hash.sha.sha512, hash.ripemd160 = hash.ripemd.ripemd160;\n }\n}), require_secp256k1 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\"(exports, module) {\n module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n \"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\n \"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"\n ],\n [\n \"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\n \"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"\n ],\n [\n \"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\n \"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"\n ],\n [\n \"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\n \"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"\n ],\n [\n \"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\n \"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"\n ],\n [\n \"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\n \"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"\n ],\n [\n \"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\n \"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"\n ],\n [\n \"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\n \"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"\n ],\n [\n \"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\n \"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"\n ],\n [\n \"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\n \"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"\n ],\n [\n \"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\n \"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"\n ],\n [\n \"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\n \"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"\n ],\n [\n \"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\n \"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"\n ],\n [\n \"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\n \"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"\n ],\n [\n \"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\n \"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"\n ],\n [\n \"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\n \"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"\n ],\n [\n \"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\n \"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"\n ],\n [\n \"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\n \"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"\n ],\n [\n \"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\n \"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"\n ],\n [\n \"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\n \"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"\n ],\n [\n \"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\n \"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"\n ],\n [\n \"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\n \"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"\n ],\n [\n \"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\n \"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"\n ],\n [\n \"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\n \"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"\n ],\n [\n \"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\n \"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"\n ],\n [\n \"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\n \"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"\n ],\n [\n \"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\n \"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"\n ],\n [\n \"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\n \"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"\n ],\n [\n \"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\n \"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"\n ],\n [\n \"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\n \"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"\n ],\n [\n \"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\n \"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"\n ],\n [\n \"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\n \"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"\n ],\n [\n \"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\n \"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"\n ],\n [\n \"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\n \"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"\n ],\n [\n \"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\n \"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"\n ],\n [\n \"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\n \"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"\n ],\n [\n \"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\n \"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"\n ],\n [\n \"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\n \"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"\n ],\n [\n \"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\n \"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"\n ],\n [\n \"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\n \"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"\n ],\n [\n \"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\n \"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"\n ],\n [\n \"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\n \"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"\n ],\n [\n \"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\n \"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"\n ],\n [\n \"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\n \"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"\n ],\n [\n \"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\n \"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"\n ],\n [\n \"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\n \"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"\n ],\n [\n \"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\n \"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"\n ],\n [\n \"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\n \"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"\n ],\n [\n \"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\n \"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"\n ],\n [\n \"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\n \"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"\n ],\n [\n \"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\n \"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"\n ],\n [\n \"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\n \"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"\n ],\n [\n \"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\n \"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"\n ],\n [\n \"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\n \"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"\n ],\n [\n \"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\n \"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"\n ],\n [\n \"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\n \"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"\n ],\n [\n \"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\n \"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"\n ],\n [\n \"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\n \"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"\n ],\n [\n \"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\n \"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"\n ],\n [\n \"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\n \"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"\n ],\n [\n \"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\n \"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"\n ],\n [\n \"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\n \"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"\n ],\n [\n \"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\n \"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"\n ],\n [\n \"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\n \"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"\n ],\n [\n \"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\n \"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n \"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\n \"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"\n ],\n [\n \"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\n \"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"\n ],\n [\n \"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\n \"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"\n ],\n [\n \"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\n \"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"\n ],\n [\n \"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\n \"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"\n ],\n [\n \"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\n \"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"\n ],\n [\n \"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\n \"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"\n ],\n [\n \"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\n \"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"\n ],\n [\n \"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\n \"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"\n ],\n [\n \"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\n \"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"\n ],\n [\n \"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\n \"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"\n ],\n [\n \"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\n \"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"\n ],\n [\n \"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\n \"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"\n ],\n [\n \"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\n \"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"\n ],\n [\n \"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\n \"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"\n ],\n [\n \"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\n \"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"\n ],\n [\n \"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\n \"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"\n ],\n [\n \"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\n \"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"\n ],\n [\n \"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\n \"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"\n ],\n [\n \"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\n \"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"\n ],\n [\n \"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\n \"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"\n ],\n [\n \"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\n \"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"\n ],\n [\n \"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\n \"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"\n ],\n [\n \"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\n \"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"\n ],\n [\n \"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\n \"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"\n ],\n [\n \"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\n \"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"\n ],\n [\n \"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\n \"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"\n ],\n [\n \"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\n \"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"\n ],\n [\n \"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\n \"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"\n ],\n [\n \"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\n \"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"\n ],\n [\n \"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\n \"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"\n ],\n [\n \"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\n \"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"\n ],\n [\n \"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\n \"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"\n ],\n [\n \"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\n \"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"\n ],\n [\n \"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\n \"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"\n ],\n [\n \"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\n \"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"\n ],\n [\n \"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\n \"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"\n ],\n [\n \"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\n \"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"\n ],\n [\n \"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\n \"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"\n ],\n [\n \"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\n \"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"\n ],\n [\n \"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\n \"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"\n ],\n [\n \"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\n \"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"\n ],\n [\n \"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\n \"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"\n ],\n [\n \"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\n \"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"\n ],\n [\n \"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\n \"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"\n ],\n [\n \"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\n \"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"\n ],\n [\n \"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\n \"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"\n ],\n [\n \"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\n \"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"\n ],\n [\n \"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\n \"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"\n ],\n [\n \"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\n \"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"\n ],\n [\n \"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\n \"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"\n ],\n [\n \"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\n \"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"\n ],\n [\n \"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\n \"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"\n ],\n [\n \"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\n \"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"\n ],\n [\n \"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\n \"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"\n ],\n [\n \"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\n \"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"\n ],\n [\n \"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\n \"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"\n ],\n [\n \"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\n \"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"\n ],\n [\n \"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\n \"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"\n ],\n [\n \"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\n \"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"\n ],\n [\n \"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\n \"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"\n ],\n [\n \"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\n \"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"\n ],\n [\n \"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\n \"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"\n ],\n [\n \"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\n \"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"\n ],\n [\n \"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\n \"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"\n ],\n [\n \"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\n \"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"\n ],\n [\n \"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\n \"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"\n ],\n [\n \"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\n \"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"\n ],\n [\n \"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\n \"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"\n ],\n [\n \"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\n \"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"\n ],\n [\n \"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\n \"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"\n ],\n [\n \"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\n \"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"\n ],\n [\n \"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\n \"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"\n ],\n [\n \"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\n \"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"\n ],\n [\n \"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\n \"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"\n ],\n [\n \"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\n \"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"\n ],\n [\n \"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\n \"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"\n ],\n [\n \"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\n \"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"\n ],\n [\n \"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\n \"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"\n ],\n [\n \"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\n \"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"\n ],\n [\n \"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\n \"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"\n ],\n [\n \"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\n \"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"\n ],\n [\n \"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\n \"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"\n ],\n [\n \"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\n \"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"\n ],\n [\n \"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\n \"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"\n ],\n [\n \"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\n \"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"\n ],\n [\n \"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\n \"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"\n ],\n [\n \"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\n \"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"\n ],\n [\n \"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\n \"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"\n ],\n [\n \"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\n \"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"\n ],\n [\n \"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\n \"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"\n ],\n [\n \"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\n \"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"\n ],\n [\n \"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\n \"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"\n ],\n [\n \"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\n \"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"\n ],\n [\n \"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\n \"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"\n ],\n [\n \"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\n \"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"\n ],\n [\n \"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\n \"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"\n ],\n [\n \"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\n \"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"\n ],\n [\n \"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\n \"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"\n ],\n [\n \"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\n \"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"\n ],\n [\n \"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\n \"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"\n ],\n [\n \"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\n \"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"\n ],\n [\n \"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\n \"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"\n ],\n [\n \"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\n \"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"\n ],\n [\n \"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\n \"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"\n ],\n [\n \"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\n \"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"\n ],\n [\n \"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\n \"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"\n ],\n [\n \"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\n \"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"\n ],\n [\n \"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\n \"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"\n ],\n [\n \"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\n \"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"\n ],\n [\n \"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\n \"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"\n ],\n [\n \"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\n \"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"\n ],\n [\n \"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\n \"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"\n ],\n [\n \"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\n \"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"\n ],\n [\n \"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\n \"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"\n ],\n [\n \"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\n \"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"\n ],\n [\n \"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\n \"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"\n ],\n [\n \"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\n \"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"\n ],\n [\n \"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\n \"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"\n ],\n [\n \"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\n \"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"\n ],\n [\n \"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\n \"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"\n ],\n [\n \"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\n \"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"\n ],\n [\n \"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\n \"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"\n ],\n [\n \"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\n \"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"\n ],\n [\n \"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\n \"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"\n ],\n [\n \"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\n \"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"\n ],\n [\n \"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\n \"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"\n ]\n ]\n }\n };\n }\n}), require_curves = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curves.js\"(exports) {\n var curves = exports, hash = require_hash2(), curve = require_curve(), utils = require_utils3(), assert = utils.assert;\n function PresetCurve(options) {\n options.type === \"short\" \? this.curve = new curve.short(options) : options.type === \"edwards\" \? this.curve = new curve.edwards(options) : this.curve = new curve.mont(options), this.g = this.curve.g, this.n = this.curve.n, this.hash = options.hash, assert(this.g.validate(), \"Invalid curve\"), assert(this.g.mul(this.n).isInfinity(), \"Invalid curve, G*N != O\");\n }\n PresetCurve.prototype = {}, curves.PresetCurve = PresetCurve;\n function defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n var curve2 = new PresetCurve(options);\n return Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n value: curve2\n }), curve2;\n }\n });\n }\n defineCurve(\"p192\", {\n type: \"short\",\n prime: \"p192\",\n p: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",\n b: \"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",\n n: \"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\n \"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"\n ]\n }), defineCurve(\"p224\", {\n type: \"short\",\n prime: \"p224\",\n p: \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",\n b: \"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",\n n: \"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\n \"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"\n ]\n }), defineCurve(\"p256\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",\n a: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",\n b: \"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",\n n: \"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\n \"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"\n ]\n }), defineCurve(\"p384\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",\n a: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",\n b: \"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",\n n: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",\n hash: hash.sha384,\n gRed: !1,\n g: [\n \"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\n \"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"\n ]\n }), defineCurve(\"p521\", {\n type: \"short\",\n prime: null,\n p: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",\n a: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",\n b: \"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",\n n: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",\n hash: hash.sha512,\n gRed: !1,\n g: [\n \"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\n \"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"\n ]\n }), defineCurve(\"curve25519\", {\n type: \"mont\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"76d06\",\n b: \"1\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\"9\"]\n }), defineCurve(\"ed25519\", {\n type: \"edwards\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"-1\",\n c: \"1\",\n d: \"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\n \"6666666666666666666666666666666666666666666666666666666666666658\"\n ]\n });\n var pre;\n try {\n pre = require_secp256k1();\n } catch {\n pre = void 0;\n }\n defineCurve(\"secp256k1\", {\n type: \"short\",\n prime: \"k256\",\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",\n a: \"0\",\n b: \"7\",\n n: \"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",\n h: \"1\",\n hash: hash.sha256,\n beta: \"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",\n lambda: \"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",\n basis: [\n {\n a: \"3086d221a7d46bcde86c90e49284eb15\",\n b: \"-e4437ed6010e88286f547fa90abfe4c3\"\n },\n {\n a: \"114ca50f7a8e2f3f657c1108d9d44cfd8\",\n b: \"3086d221a7d46bcde86c90e49284eb15\"\n }\n ],\n gRed: !1,\n g: [\n \"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n \"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",\n pre\n ]\n });\n }\n}), require_hmac_drbg = __commonJS({\n \"node_modules/hmac-drbg/lib/hmac-drbg.js\"(exports, module) {\n var hash = require_hash2(), utils = require_utils2(), assert = require_minimalistic_assert();\n function HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash, this.predResist = !!options.predResist, this.outLen = this.hash.outSize, this.minEntropy = options.minEntropy || this.hash.hmacStrength, this._reseed = null, this.reseedInterval = null, this.K = null, this.V = null;\n var entropy = utils.toArray(options.entropy, options.entropyEnc || \"hex\"), nonce = utils.toArray(options.nonce, options.nonceEnc || \"hex\"), pers = utils.toArray(options.pers, options.persEnc || \"hex\");\n assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._init(entropy, nonce, pers);\n }\n HmacDRBG.prototype = {}, module.exports = HmacDRBG, HmacDRBG.prototype._init = function(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n this.K = new @Array(this.outLen / 8), this.V = new @Array(this.outLen / 8);\n for (var i = 0;i < this.V.length; i++)\n this.K[i] = 0, this.V[i] = 1;\n this._update(seed), this._reseed = 1, this.reseedInterval = 281474976710656;\n }, HmacDRBG.prototype._hmac = function() {\n return new hash.hmac(this.hash, this.K);\n }, HmacDRBG.prototype._update = function(seed) {\n var kmac = this._hmac().update(this.V).update([0]);\n seed && (kmac = kmac.update(seed)), this.K = kmac.digest(), this.V = this._hmac().update(this.V).digest(), seed && (this.K = this._hmac().update(this.V).update([1]).update(seed).digest(), this.V = this._hmac().update(this.V).digest());\n }, HmacDRBG.prototype.reseed = function(entropy, entropyEnc, add, addEnc) {\n typeof entropyEnc != \"string\" && (addEnc = add, add = entropyEnc, entropyEnc = null), entropy = utils.toArray(entropy, entropyEnc), add = utils.toArray(add, addEnc), assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._update(entropy.concat(add || [])), this._reseed = 1;\n }, HmacDRBG.prototype.generate = function(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error(\"Reseed is required\");\n typeof enc != \"string\" && (addEnc = add, add = enc, enc = null), add && (add = utils.toArray(add, addEnc || \"hex\"), this._update(add));\n for (var temp = [];temp.length < len; )\n this.V = this._hmac().update(this.V).digest(), temp = temp.concat(this.V);\n var res = temp.slice(0, len);\n return this._update(add), this._reseed++, utils.encode(res, enc);\n };\n }\n}), require_key = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/key.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function KeyPair(ec, options) {\n this.ec = ec, this.priv = null, this.pub = null, options.priv && this._importPrivate(options.priv, options.privEnc), options.pub && this._importPublic(options.pub, options.pubEnc);\n }\n KeyPair.prototype = {}, module.exports = KeyPair, KeyPair.fromPublic = function(ec, pub, enc) {\n return pub instanceof KeyPair \? pub : new KeyPair(ec, {\n pub,\n pubEnc: enc\n });\n }, KeyPair.fromPrivate = function(ec, priv, enc) {\n return priv instanceof KeyPair \? priv : new KeyPair(ec, {\n priv,\n privEnc: enc\n });\n }, KeyPair.prototype.validate = function() {\n var pub = this.getPublic();\n return pub.isInfinity() \? { result: !1, reason: \"Invalid public key\" } : pub.validate() \? pub.mul(this.ec.curve.n).isInfinity() \? { result: !0, reason: null } : { result: !1, reason: \"Public key * N != O\" } : { result: !1, reason: \"Public key is not a point\" };\n }, KeyPair.prototype.getPublic = function(compact, enc) {\n return typeof compact == \"string\" && (enc = compact, compact = null), this.pub || (this.pub = this.ec.g.mul(this.priv)), enc \? this.pub.encode(enc, compact) : this.pub;\n }, KeyPair.prototype.getPrivate = function(enc) {\n return enc === \"hex\" \? this.priv.toString(16, 2) : this.priv;\n }, KeyPair.prototype._importPrivate = function(key2, enc) {\n this.priv = new BN(key2, enc || 16), this.priv = this.priv.umod(this.ec.curve.n);\n }, KeyPair.prototype._importPublic = function(key2, enc) {\n if (key2.x || key2.y) {\n this.ec.curve.type === \"mont\" \? assert(key2.x, \"Need x coordinate\") : (this.ec.curve.type === \"short\" || this.ec.curve.type === \"edwards\") && assert(key2.x && key2.y, \"Need both x and y coordinate\"), this.pub = this.ec.curve.point(key2.x, key2.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key2, enc);\n }, KeyPair.prototype.derive = function(pub) {\n return pub.validate() || assert(pub.validate(), \"public point not validated\"), pub.mul(this.priv).getX();\n }, KeyPair.prototype.sign = function(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n }, KeyPair.prototype.verify = function(msg, signature) {\n return this.ec.verify(msg, signature, this);\n }, KeyPair.prototype.inspect = function() {\n return \"<Key priv: \" + (this.priv && this.priv.toString(16, 2)) + \" pub: \" + (this.pub && this.pub.inspect()) + \" >\";\n };\n }\n}), require_signature = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n this._importDER(options, enc) || (assert(options.r && options.s, \"Signature without r or s\"), this.r = new BN(options.r, 16), this.s = new BN(options.s, 16), options.recoveryParam === void 0 \? this.recoveryParam = null : this.recoveryParam = options.recoveryParam);\n }\n Signature.prototype = {}, module.exports = Signature;\n function Position() {\n this.place = 0;\n }\n function getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 128))\n return initial;\n var octetLen = initial & 15;\n if (octetLen === 0 || octetLen > 4)\n return !1;\n for (var val = 0, i = 0, off = p.place;i < octetLen; i++, off++)\n val <<= 8, val |= buf[off], val >>>= 0;\n return val <= 127 \? !1 : (p.place = off, val);\n }\n function rmPadding(buf) {\n for (var i = 0, len = buf.length - 1;!buf[i] && !(buf[i + 1] & 128) && i < len; )\n i++;\n return i === 0 \? buf : buf.slice(i);\n }\n Signature.prototype._importDER = function(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position;\n if (data[p.place++] !== 48)\n return !1;\n var len = getLength(data, p);\n if (len === !1 || len + p.place !== data.length || data[p.place++] !== 2)\n return !1;\n var rlen = getLength(data, p);\n if (rlen === !1)\n return !1;\n var r = data.slice(p.place, rlen + p.place);\n if (p.place += rlen, data[p.place++] !== 2)\n return !1;\n var slen = getLength(data, p);\n if (slen === !1 || data.length !== slen + p.place)\n return !1;\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0)\n if (r[1] & 128)\n r = r.slice(1);\n else\n return !1;\n if (s[0] === 0)\n if (s[1] & 128)\n s = s.slice(1);\n else\n return !1;\n return this.r = new BN(r), this.s = new BN(s), this.recoveryParam = null, !0;\n };\n function constructLength(arr, len) {\n if (len < 128) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n for (arr.push(octets | 128);--octets; )\n arr.push(len >>> (octets << 3) & 255);\n arr.push(len);\n }\n Signature.prototype.toDER = function(enc) {\n var r = this.r.toArray(), s = this.s.toArray();\n for (r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s)), r = rmPadding(r), s = rmPadding(s);!s[0] && !(s[1] & 128); )\n s = s.slice(1);\n var arr = [2];\n constructLength(arr, r.length), arr = arr.concat(r), arr.push(2), constructLength(arr, s.length);\n var backHalf = arr.concat(s), res = [48];\n return constructLength(res, backHalf.length), res = res.concat(backHalf), utils.encode(res, enc);\n };\n }\n}), require_ec = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/index.js\"(exports, module) {\n var BN = require_bn4(), HmacDRBG = require_hmac_drbg(), utils = require_utils3(), curves = require_curves(), rand = require_brorand(), assert = utils.assert, KeyPair = require_key(), Signature = require_signature();\n function EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n typeof options == \"string\" && (assert(Object.prototype.hasOwnProperty.@call(curves, options), \"Unknown curve \" + options), options = curves[options]), options instanceof curves.PresetCurve && (options = { curve: options }), this.curve = options.curve.curve, this.n = this.curve.n, this.nh = this.n.ushrn(1), this.g = this.curve.g, this.g = options.curve.g, this.g.precompute(options.curve.n.bitLength() + 1), this.hash = options.hash || options.curve.hash;\n }\n EC.prototype = {}, module.exports = EC, EC.prototype.keyPair = function(options) {\n return new KeyPair(this, options);\n }, EC.prototype.keyFromPrivate = function(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n }, EC.prototype.keyFromPublic = function(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n }, EC.prototype.genKeyPair = function(options) {\n options || (options = {});\n for (var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\",\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || \"utf8\",\n nonce: this.n.toArray()\n }), bytes = this.n.byteLength(), ns2 = this.n.sub(new BN(2));; ) {\n var priv = new BN(drbg.generate(bytes));\n if (!(priv.cmp(ns2) > 0))\n return priv.iaddn(1), this.keyFromPrivate(priv);\n }\n }, EC.prototype._truncateToN = function(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n return delta > 0 && (msg = msg.ushrn(delta)), !truncOnly && msg.cmp(this.n) >= 0 \? msg.sub(this.n) : msg;\n }, EC.prototype.sign = function(msg, key2, enc, options) {\n typeof enc == \"object\" && (options = enc, enc = null), options || (options = {}), key2 = this.keyFromPrivate(key2, enc), msg = this._truncateToN(new BN(msg, 16));\n for (var bytes = this.n.byteLength(), bkey = key2.getPrivate().toArray(\"be\", bytes), nonce = msg.toArray(\"be\", bytes), drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\"\n }), ns1 = this.n.sub(new BN(1)), iter = 0;; iter++) {\n var k = options.k \? options.k(iter) : new BN(drbg.generate(this.n.byteLength()));\n if (k = this._truncateToN(k, !0), !(k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)) {\n var kp = this.g.mul(k);\n if (!kp.isInfinity()) {\n var kpX = kp.getX(), r = kpX.umod(this.n);\n if (r.cmpn(0) !== 0) {\n var s = k.invm(this.n).mul(r.mul(key2.getPrivate()).iadd(msg));\n if (s = s.umod(this.n), s.cmpn(0) !== 0) {\n var recoveryParam = (kp.getY().isOdd() \? 1 : 0) | (kpX.cmp(r) !== 0 \? 2 : 0);\n return options.canonical && s.cmp(this.nh) > 0 && (s = this.n.sub(s), recoveryParam ^= 1), new Signature({ r, s, recoveryParam });\n }\n }\n }\n }\n }\n }, EC.prototype.verify = function(msg, signature, key2, enc) {\n msg = this._truncateToN(new BN(msg, 16)), key2 = this.keyFromPublic(key2, enc), signature = new Signature(signature, \"hex\");\n var { r, s } = signature;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0 || s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return !1;\n var sinv = s.invm(this.n), u1 = sinv.mul(msg).umod(this.n), u2 = sinv.mul(r).umod(this.n), p;\n return this.curve._maxwellTrick \? (p = this.g.jmulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.eqXToP(r)) : (p = this.g.mulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.getX().umod(this.n).cmp(r) === 0);\n }, EC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, \"The recovery param is more than two bits\"), signature = new Signature(signature, enc);\n var n = this.n, e = new BN(msg), r = signature.r, s = signature.s, isYOdd = j & 1, isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error(\"Unable to find sencond key candinate\");\n isSecondKey \? r = this.curve.pointFromX(r.add(this.curve.n), isYOdd) : r = this.curve.pointFromX(r, isYOdd);\n var rInv = signature.r.invm(n), s1 = n.sub(e).mul(rInv).umod(n), s2 = s.mul(rInv).umod(n);\n return this.g.mulAdd(s1, r, s2);\n }, EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n if (signature = new Signature(signature, enc), signature.recoveryParam !== null)\n return signature.recoveryParam;\n for (var i = 0;i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch {\n continue;\n }\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error(\"Unable to find valid recovery factor\");\n };\n }\n}), require_key2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/key.js\"(exports, module) {\n var utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, cachedProperty = utils.cachedProperty;\n function KeyPair(eddsa, params) {\n this.eddsa = eddsa, this._secret = parseBytes(params.secret), eddsa.isPoint(params.pub) \? this._pub = params.pub : this._pubBytes = parseBytes(params.pub);\n }\n KeyPair.prototype = {}, KeyPair.fromPublic = function(eddsa, pub) {\n return pub instanceof KeyPair \? pub : new KeyPair(eddsa, { pub });\n }, KeyPair.fromSecret = function(eddsa, secret) {\n return secret instanceof KeyPair \? secret : new KeyPair(eddsa, { secret });\n }, KeyPair.prototype.secret = function() {\n return this._secret;\n }, cachedProperty(KeyPair, \"pubBytes\", function() {\n return this.eddsa.encodePoint(this.pub());\n }), cachedProperty(KeyPair, \"pub\", function() {\n return this._pubBytes \? this.eddsa.decodePoint(this._pubBytes) : this.eddsa.g.mul(this.priv());\n }), cachedProperty(KeyPair, \"privBytes\", function() {\n var eddsa = this.eddsa, hash = this.hash(), lastIx = eddsa.encodingLength - 1, a = hash.slice(0, eddsa.encodingLength);\n return a[0] &= 248, a[lastIx] &= 127, a[lastIx] |= 64, a;\n }), cachedProperty(KeyPair, \"priv\", function() {\n return this.eddsa.decodeInt(this.privBytes());\n }), cachedProperty(KeyPair, \"hash\", function() {\n return this.eddsa.hash().update(this.secret()).digest();\n }), cachedProperty(KeyPair, \"messagePrefix\", function() {\n return this.hash().slice(this.eddsa.encodingLength);\n }), KeyPair.prototype.sign = function(message) {\n return assert(this._secret, \"KeyPair can only verify\"), this.eddsa.sign(message, this);\n }, KeyPair.prototype.verify = function(message, sig) {\n return this.eddsa.verify(message, sig, this);\n }, KeyPair.prototype.getSecret = function(enc) {\n return assert(this._secret, \"KeyPair is public only\"), utils.encode(this.secret(), enc);\n }, KeyPair.prototype.getPublic = function(enc) {\n return utils.encode(this.pubBytes(), enc);\n }, module.exports = KeyPair;\n }\n}), require_signature2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert, cachedProperty = utils.cachedProperty, parseBytes = utils.parseBytes;\n function Signature(eddsa, sig) {\n this.eddsa = eddsa, typeof sig != \"object\" && (sig = parseBytes(sig)), @Array.isArray(sig) && (sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n }), assert(sig.R && sig.S, \"Signature without R or S\"), eddsa.isPoint(sig.R) && (this._R = sig.R), sig.S instanceof BN && (this._S = sig.S), this._Rencoded = @Array.isArray(sig.R) \? sig.R : sig.Rencoded, this._Sencoded = @Array.isArray(sig.S) \? sig.S : sig.Sencoded;\n }\n Signature.prototype = {}, cachedProperty(Signature, \"S\", function() {\n return this.eddsa.decodeInt(this.Sencoded());\n }), cachedProperty(Signature, \"R\", function() {\n return this.eddsa.decodePoint(this.Rencoded());\n }), cachedProperty(Signature, \"Rencoded\", function() {\n return this.eddsa.encodePoint(this.R());\n }), cachedProperty(Signature, \"Sencoded\", function() {\n return this.eddsa.encodeInt(this.S());\n }), Signature.prototype.toBytes = function() {\n return this.Rencoded().concat(this.Sencoded());\n }, Signature.prototype.toHex = function() {\n return utils.encode(this.toBytes(), \"hex\").toUpperCase();\n }, module.exports = Signature;\n }\n}), require_eddsa = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/index.js\"(exports, module) {\n var hash = require_hash2(), curves = require_curves(), utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, KeyPair = require_key2(), Signature = require_signature2();\n function EDDSA(curve) {\n if (assert(curve === \"ed25519\", \"only tested with ed25519 so far\"), !(this instanceof EDDSA))\n return new EDDSA(curve);\n curve = curves[curve].curve, this.curve = curve, this.g = curve.g, this.g.precompute(curve.n.bitLength() + 1), this.pointClass = curve.point().constructor, this.encodingLength = Math.ceil(curve.n.bitLength() / 8), this.hash = hash.sha512;\n }\n EDDSA.prototype = {}, module.exports = EDDSA, EDDSA.prototype.sign = function(message, secret) {\n message = parseBytes(message);\n var key2 = this.keyFromSecret(secret), r = this.hashInt(key2.messagePrefix(), message), R = this.g.mul(r), Rencoded = this.encodePoint(R), s_ = this.hashInt(Rencoded, key2.pubBytes(), message).mul(key2.priv()), S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R, S, Rencoded });\n }, EDDSA.prototype.verify = function(message, sig, pub) {\n message = parseBytes(message), sig = this.makeSignature(sig);\n var key2 = this.keyFromPublic(pub), h = this.hashInt(sig.Rencoded(), key2.pubBytes(), message), SG = this.g.mul(sig.S()), RplusAh = sig.R().add(key2.pub().mul(h));\n return RplusAh.eq(SG);\n }, EDDSA.prototype.hashInt = function() {\n for (var hash2 = this.hash(), i = 0;i < arguments.length; i++)\n hash2.update(arguments[i]);\n return utils.intFromLE(hash2.digest()).umod(this.curve.n);\n }, EDDSA.prototype.keyFromPublic = function(pub) {\n return KeyPair.fromPublic(this, pub);\n }, EDDSA.prototype.keyFromSecret = function(secret) {\n return KeyPair.fromSecret(this, secret);\n }, EDDSA.prototype.makeSignature = function(sig) {\n return sig instanceof Signature \? sig : new Signature(this, sig);\n }, EDDSA.prototype.encodePoint = function(point) {\n var enc = point.getY().toArray(\"le\", this.encodingLength);\n return enc[this.encodingLength - 1] |= point.getX().isOdd() \? 128 : 0, enc;\n }, EDDSA.prototype.decodePoint = function(bytes) {\n bytes = utils.parseBytes(bytes);\n var lastIx = bytes.length - 1, normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & -129), xIsOdd = (bytes[lastIx] & 128) !== 0, y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n }, EDDSA.prototype.encodeInt = function(num) {\n return num.toArray(\"le\", this.encodingLength);\n }, EDDSA.prototype.decodeInt = function(bytes) {\n return utils.intFromLE(bytes);\n }, EDDSA.prototype.isPoint = function(val) {\n return val instanceof this.pointClass;\n };\n }\n}), require_elliptic = __commonJS({\n \"node_modules/elliptic/lib/elliptic.js\"(exports) {\n var elliptic = exports;\n elliptic.version = require_package().version, elliptic.utils = require_utils3(), elliptic.rand = require_brorand(), elliptic.curve = require_curve(), elliptic.curves = require_curves(), elliptic.ec = require_ec(), elliptic.eddsa = require_eddsa();\n }\n}), require_bn5 = require_bn, require_safer = __commonJS({\n \"node_modules/safer-buffer/safer.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = Buffer, safer = {}, key2;\n for (key2 in buffer)\n !buffer.hasOwnProperty(key2) || key2 === \"SlowBuffer\" || key2 === \"Buffer\" || (safer[key2] = buffer[key2]);\n var Safer = safer.Buffer = {};\n for (key2 in Buffer2)\n !Buffer2.hasOwnProperty(key2) || key2 === \"allocUnsafe\" || key2 === \"allocUnsafeSlow\" || (Safer[key2] = Buffer2[key2]);\n if (safer.Buffer.prototype = Buffer2.prototype, (!Safer.from || Safer.from === @Uint8Array.from) && (Safer.from = function(value, encodingOrOffset, length) {\n if (typeof value == \"number\")\n @throwTypeError('The \"value\" argument must not be of type number. Received type ' + typeof value);\n if (value && typeof value.length > \"u\")\n @throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n return Buffer2(value, encodingOrOffset, length);\n }), Safer.alloc || (Safer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError('The \"size\" argument must be of type number. Received type ' + typeof size);\n if (size < 0 || size >= 2 * (1 << 30))\n @throwRangeError('The value \"' + size + '\" is invalid for option \"size\"');\n var buf = Buffer2(size);\n return !fill || fill.length === 0 \? buf.fill(0) : typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill), buf;\n }), !safer.kStringMaxLength)\n try {\n safer.kStringMaxLength = MAX_STRING_LENGTH;\n } catch {\n }\n safer.constants || (safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }, safer.kStringMaxLength && (safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength)), module.exports = safer;\n }\n}), require_reporter = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/reporter.js\"(exports) {\n var inherits = require_inherits_browser();\n function Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n }\n Reporter.prototype = {}, exports.Reporter = Reporter, Reporter.prototype.isError = function(obj) {\n return obj instanceof ReporterError;\n }, Reporter.prototype.save = function() {\n let state = this._reporterState;\n return { obj: state.obj, pathLen: state.path.length };\n }, Reporter.prototype.restore = function(data) {\n let state = this._reporterState;\n state.obj = data.obj, state.path = state.path.slice(0, data.pathLen);\n }, Reporter.prototype.enterKey = function(key2) {\n return this._reporterState.path.push(key2);\n }, Reporter.prototype.exitKey = function(index) {\n let state = this._reporterState;\n state.path = state.path.slice(0, index - 1);\n }, Reporter.prototype.leaveKey = function(index, key2, value) {\n let state = this._reporterState;\n this.exitKey(index), state.obj !== null && (state.obj[key2] = value);\n }, Reporter.prototype.path = function() {\n return this._reporterState.path.join(\"/\");\n }, Reporter.prototype.enterObject = function() {\n let state = this._reporterState, prev = state.obj;\n return state.obj = {}, prev;\n }, Reporter.prototype.leaveObject = function(prev) {\n let state = this._reporterState, now = state.obj;\n return state.obj = prev, now;\n }, Reporter.prototype.error = function(msg) {\n let err, state = this._reporterState, inherited = msg instanceof ReporterError;\n if (inherited \? err = msg : err = new ReporterError(state.path.map(function(elem) {\n return \"[\" + JSON.stringify(elem) + \"]\";\n }).join(\"\"), msg.message || msg, msg.stack), !state.options.partial)\n throw err;\n return inherited || state.errors.push(err), err;\n }, Reporter.prototype.wrapResult = function(result) {\n let state = this._reporterState;\n return state.options.partial \? {\n result: this.isError(result) \? null : result,\n errors: state.errors\n } : result;\n };\n function ReporterError(path, msg) {\n this.path = path, this.rethrow(msg);\n }\n inherits(ReporterError, Error), ReporterError.prototype.rethrow = function(msg) {\n if (this.message = msg + \" at: \" + (this.path || \"(shallow)\"), Error.captureStackTrace && Error.captureStackTrace(this, ReporterError), !this.stack)\n try {\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n return this;\n };\n }\n}), require_buffer = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/buffer.js\"(exports) {\n var inherits = require_inherits_browser(), Reporter = require_reporter().Reporter, Buffer2 = require_safer().Buffer;\n function DecoderBuffer(base, options) {\n if (Reporter.@call(this, options), !Buffer2.isBuffer(base)) {\n this.error(\"Input not Buffer\");\n return;\n }\n this.base = base, this.offset = 0, this.length = base.length;\n }\n inherits(DecoderBuffer, Reporter), exports.DecoderBuffer = DecoderBuffer, DecoderBuffer.isDecoderBuffer = function(data) {\n return data instanceof DecoderBuffer \? !0 : typeof data == \"object\" && Buffer2.isBuffer(data.base) && data.constructor.name === \"DecoderBuffer\" && typeof data.offset == \"number\" && typeof data.length == \"number\" && typeof data.save == \"function\" && typeof data.restore == \"function\" && typeof data.isEmpty == \"function\" && typeof data.readUInt8 == \"function\" && typeof data.skip == \"function\" && typeof data.raw == \"function\";\n }, DecoderBuffer.prototype.save = function() {\n return {\n offset: this.offset,\n reporter: Reporter.prototype.save.@call(this)\n };\n }, DecoderBuffer.prototype.restore = function(save) {\n let res = new DecoderBuffer(this.base);\n return res.offset = save.offset, res.length = this.offset, this.offset = save.offset, Reporter.prototype.restore.@call(this, save.reporter), res;\n }, DecoderBuffer.prototype.isEmpty = function() {\n return this.offset === this.length;\n }, DecoderBuffer.prototype.readUInt8 = function(fail) {\n return this.offset + 1 <= this.length \? this.base.readUInt8(this.offset++, !0) : this.error(fail || \"DecoderBuffer overrun\");\n }, DecoderBuffer.prototype.skip = function(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || \"DecoderBuffer overrun\");\n let res = new DecoderBuffer(this.base);\n return res._reporterState = this._reporterState, res.offset = this.offset, res.length = this.offset + bytes, this.offset += bytes, res;\n }, DecoderBuffer.prototype.raw = function(save) {\n return this.base.slice(save \? save.offset : this.offset, this.length);\n };\n function EncoderBuffer(value, reporter) {\n if (@Array.isArray(value))\n this.length = 0, this.value = value.map(function(item) {\n return EncoderBuffer.isEncoderBuffer(item) || (item = new EncoderBuffer(item, reporter)), this.length += item.length, item;\n }, this);\n else if (typeof value == \"number\") {\n if (!(0 <= value && value <= 255))\n return reporter.error(\"non-byte EncoderBuffer value\");\n this.value = value, this.length = 1;\n } else if (typeof value == \"string\")\n this.value = value, this.length = Buffer2.byteLength(value);\n else if (Buffer2.isBuffer(value))\n this.value = value, this.length = value.length;\n else\n return reporter.error(\"Unsupported type: \" + typeof value);\n }\n EncoderBuffer.prototype = {}, exports.EncoderBuffer = EncoderBuffer, EncoderBuffer.isEncoderBuffer = function(data) {\n return data instanceof EncoderBuffer \? !0 : typeof data == \"object\" && data.constructor.name === \"EncoderBuffer\" && typeof data.length == \"number\" && typeof data.join == \"function\";\n }, EncoderBuffer.prototype.join = function(out, offset) {\n return out || (out = Buffer2.alloc(this.length)), offset || (offset = 0), this.length === 0 || (@Array.isArray(this.value) \? this.value.forEach(function(item) {\n item.join(out, offset), offset += item.length;\n }) : (typeof this.value == \"number\" \? out[offset] = this.value : typeof this.value == \"string\" \? out.write(this.value, offset) : Buffer2.isBuffer(this.value) && this.value.copy(out, offset), offset += this.length)), out;\n };\n }\n}), require_node = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/node.js\"(exports, module) {\n var Reporter = require_reporter().Reporter, EncoderBuffer = require_buffer().EncoderBuffer, DecoderBuffer = require_buffer().DecoderBuffer, assert = require_minimalistic_assert(), tags = [\n \"seq\",\n \"seqof\",\n \"set\",\n \"setof\",\n \"objid\",\n \"bool\",\n \"gentime\",\n \"utctime\",\n \"null_\",\n \"enum\",\n \"int\",\n \"objDesc\",\n \"bitstr\",\n \"bmpstr\",\n \"charstr\",\n \"genstr\",\n \"graphstr\",\n \"ia5str\",\n \"iso646str\",\n \"numstr\",\n \"octstr\",\n \"printstr\",\n \"t61str\",\n \"unistr\",\n \"utf8str\",\n \"videostr\"\n ], methods = [\"key\", \"obj\", \"use\", \"optional\", \"explicit\", \"implicit\", \"def\", \"choice\", \"any\", \"contains\"].concat(tags), overrided = [\n \"_peekTag\",\n \"_decodeTag\",\n \"_use\",\n \"_decodeStr\",\n \"_decodeObjid\",\n \"_decodeTime\",\n \"_decodeNull\",\n \"_decodeInt\",\n \"_decodeBool\",\n \"_decodeList\",\n \"_encodeComposite\",\n \"_encodeStr\",\n \"_encodeObjid\",\n \"_encodeTime\",\n \"_encodeNull\",\n \"_encodeInt\",\n \"_encodeBool\"\n ];\n function Node(enc, parent, name) {\n let state = {};\n this._baseState = state, state.name = name, state.enc = enc, state.parent = parent || null, state.children = null, state.tag = null, state.args = null, state.reverseArgs = null, state.choice = null, state.optional = !1, state.any = !1, state.obj = !1, state.use = null, state.useDecoder = null, state.key = null, state.default = null, state.explicit = null, state.implicit = null, state.contains = null, state.parent || (state.children = [], this._wrap());\n }\n Node.prototype = {}, module.exports = Node;\n var stateProps = [\n \"enc\",\n \"parent\",\n \"children\",\n \"tag\",\n \"args\",\n \"reverseArgs\",\n \"choice\",\n \"optional\",\n \"any\",\n \"obj\",\n \"use\",\n \"alteredUse\",\n \"key\",\n \"default\",\n \"explicit\",\n \"implicit\",\n \"contains\"\n ];\n Node.prototype.clone = function() {\n let state = this._baseState, cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n let res = new this.constructor(cstate.parent);\n return res._baseState = cstate, res;\n }, Node.prototype._wrap = function() {\n let state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function() {\n let clone = new this.constructor(this);\n return state.children.push(clone), clone[method].@apply(clone, arguments);\n };\n }, this);\n }, Node.prototype._init = function(body) {\n let state = this._baseState;\n assert(state.parent === null), body.@call(this), state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this), assert.equal(state.children.length, 1, \"Root node can have only one child\");\n }, Node.prototype._useArgs = function(args) {\n let state = this._baseState, children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this), children.length !== 0 && (assert(state.children === null), state.children = children, children.forEach(function(child) {\n child._baseState.parent = this;\n }, this)), args.length !== 0 && (assert(state.args === null), state.args = args, state.reverseArgs = args.map(function(arg) {\n if (typeof arg != \"object\" || arg.constructor !== Object)\n return arg;\n let res = {};\n return Object.keys(arg).forEach(function(key2) {\n key2 == (key2 | 0) && (key2 |= 0);\n let value = arg[key2];\n res[value] = key2;\n }), res;\n }));\n }, overrided.forEach(function(method) {\n Node.prototype[method] = function() {\n let state = this._baseState;\n throw new Error(method + \" not implemented for encoding: \" + state.enc);\n };\n }), tags.forEach(function(tag) {\n Node.prototype[tag] = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return assert(state.tag === null), state.tag = tag, this._useArgs(args), this;\n };\n }), Node.prototype.use = function(item) {\n assert(item);\n let state = this._baseState;\n return assert(state.use === null), state.use = item, this;\n }, Node.prototype.optional = function() {\n let state = this._baseState;\n return state.optional = !0, this;\n }, Node.prototype.def = function(val) {\n let state = this._baseState;\n return assert(state.default === null), state.default = val, state.optional = !0, this;\n }, Node.prototype.explicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.explicit = num, this;\n }, Node.prototype.implicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.implicit = num, this;\n }, Node.prototype.obj = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return state.obj = !0, args.length !== 0 && this._useArgs(args), this;\n }, Node.prototype.key = function(newKey) {\n let state = this._baseState;\n return assert(state.key === null), state.key = newKey, this;\n }, Node.prototype.any = function() {\n let state = this._baseState;\n return state.any = !0, this;\n }, Node.prototype.choice = function(obj) {\n let state = this._baseState;\n return assert(state.choice === null), state.choice = obj, this._useArgs(Object.keys(obj).map(function(key2) {\n return obj[key2];\n })), this;\n }, Node.prototype.contains = function(item) {\n let state = this._baseState;\n return assert(state.use === null), state.contains = item, this;\n }, Node.prototype._decode = function(input, options) {\n let state = this._baseState;\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n let result = state.default, present = !0, prevKey = null;\n if (state.key !== null && (prevKey = input.enterKey(state.key)), state.optional) {\n let tag = null;\n if (state.explicit !== null \? tag = state.explicit : state.implicit !== null \? tag = state.implicit : state.tag !== null && (tag = state.tag), tag === null && !state.any) {\n let save = input.save();\n try {\n state.choice === null \? this._decodeGeneric(state.tag, input, options) : this._decodeChoice(input, options), present = !0;\n } catch {\n present = !1;\n }\n input.restore(save);\n } else if (present = this._peekTag(input, tag, state.any), input.isError(present))\n return present;\n }\n let prevObj;\n if (state.obj && present && (prevObj = input.enterObject()), present) {\n if (state.explicit !== null) {\n let explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n let start = input.offset;\n if (state.use === null && state.choice === null) {\n let save;\n state.any && (save = input.save());\n let body = this._decodeTag(input, state.implicit !== null \? state.implicit : state.tag, state.any);\n if (input.isError(body))\n return body;\n state.any \? result = input.raw(save) : input = body;\n }\n if (options && options.track && state.tag !== null && options.track(input.path(), start, input.length, \"tagged\"), options && options.track && state.tag !== null && options.track(input.path(), input.offset, input.length, \"content\"), state.any || (state.choice === null \? result = this._decodeGeneric(state.tag, input, options) : result = this._decodeChoice(input, options)), input.isError(result))\n return result;\n if (!state.any && state.choice === null && state.children !== null && state.children.forEach(function(child) {\n child._decode(input, options);\n }), state.contains && (state.tag === \"octstr\" || state.tag === \"bitstr\")) {\n let data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)._decode(data, options);\n }\n }\n return state.obj && present && (result = input.leaveObject(prevObj)), state.key !== null && (result !== null || present === !0) \? input.leaveKey(prevKey, state.key, result) : prevKey !== null && input.exitKey(prevKey), result;\n }, Node.prototype._decodeGeneric = function(tag, input, options) {\n let state = this._baseState;\n return tag === \"seq\" || tag === \"set\" \? null : tag === \"seqof\" || tag === \"setof\" \? this._decodeList(input, tag, state.args[0], options) : /str$/.test(tag) \? this._decodeStr(input, tag, options) : tag === \"objid\" && state.args \? this._decodeObjid(input, state.args[0], state.args[1], options) : tag === \"objid\" \? this._decodeObjid(input, null, null, options) : tag === \"gentime\" || tag === \"utctime\" \? this._decodeTime(input, tag, options) : tag === \"null_\" \? this._decodeNull(input, options) : tag === \"bool\" \? this._decodeBool(input, options) : tag === \"objDesc\" \? this._decodeStr(input, tag, options) : tag === \"int\" || tag === \"enum\" \? this._decodeInt(input, state.args && state.args[0], options) : state.use !== null \? this._getUse(state.use, input._reporterState.obj)._decode(input, options) : input.error(\"unknown tag: \" + tag);\n }, Node.prototype._getUse = function(entity, obj) {\n let state = this._baseState;\n return state.useDecoder = this._use(entity, obj), assert(state.useDecoder._baseState.parent === null), state.useDecoder = state.useDecoder._baseState.children[0], state.implicit !== state.useDecoder._baseState.implicit && (state.useDecoder = state.useDecoder.clone(), state.useDecoder._baseState.implicit = state.implicit), state.useDecoder;\n }, Node.prototype._decodeChoice = function(input, options) {\n let state = this._baseState, result = null, match = !1;\n return Object.keys(state.choice).some(function(key2) {\n let save = input.save(), node = state.choice[key2];\n try {\n let value = node._decode(input, options);\n if (input.isError(value))\n return !1;\n result = { type: key2, value }, match = !0;\n } catch {\n return input.restore(save), !1;\n }\n return !0;\n }, this), match \? result : input.error(\"Choice not matched\");\n }, Node.prototype._createEncoderBuffer = function(data) {\n return new EncoderBuffer(data, this.reporter);\n }, Node.prototype._encode = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.default !== null && state.default === data)\n return;\n let result = this._encodeValue(data, reporter, parent);\n if (result !== void 0 && !this._skipDefault(result, reporter, parent))\n return result;\n }, Node.prototype._encodeValue = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter);\n let result = null;\n if (this.reporter = reporter, state.optional && data === void 0)\n if (state.default !== null)\n data = state.default;\n else\n return;\n let content = null, primitive = !1;\n if (state.any)\n result = this._createEncoderBuffer(data);\n else if (state.choice)\n result = this._encodeChoice(data, reporter);\n else if (state.contains)\n content = this._getUse(state.contains, parent)._encode(data, reporter), primitive = !0;\n else if (state.children)\n content = state.children.map(function(child) {\n if (child._baseState.tag === \"null_\")\n return child._encode(null, reporter, data);\n if (child._baseState.key === null)\n return reporter.error(\"Child should have a key\");\n let prevKey = reporter.enterKey(child._baseState.key);\n if (typeof data != \"object\")\n return reporter.error(\"Child expected, but input is not object\");\n let res = child._encode(data[child._baseState.key], reporter, data);\n return reporter.leaveKey(prevKey), res;\n }, this).filter(function(child) {\n return child;\n }), content = this._createEncoderBuffer(content);\n else if (state.tag === \"seqof\" || state.tag === \"setof\") {\n if (!(state.args && state.args.length === 1))\n return reporter.error(\"Too many args for : \" + state.tag);\n if (!@Array.isArray(data))\n return reporter.error(\"seqof/setof, but data is not Array\");\n let child = this.clone();\n child._baseState.implicit = null, content = this._createEncoderBuffer(data.map(function(item) {\n let state2 = this._baseState;\n return this._getUse(state2.args[0], data)._encode(item, reporter);\n }, child));\n } else\n state.use !== null \? result = this._getUse(state.use, parent)._encode(data, reporter) : (content = this._encodePrimitive(state.tag, data), primitive = !0);\n if (!state.any && state.choice === null) {\n let tag = state.implicit !== null \? state.implicit : state.tag, cls = state.implicit === null \? \"universal\" : \"context\";\n tag === null \? state.use === null && reporter.error(\"Tag could be omitted only for .use()\") : state.use === null && (result = this._encodeComposite(tag, primitive, cls, content));\n }\n return state.explicit !== null && (result = this._encodeComposite(state.explicit, !1, \"context\", result)), result;\n }, Node.prototype._encodeChoice = function(data, reporter) {\n let state = this._baseState, node = state.choice[data.type];\n return node || assert(!1, data.type + \" not found in \" + JSON.stringify(Object.keys(state.choice))), node._encode(data.value, reporter);\n }, Node.prototype._encodePrimitive = function(tag, data) {\n let state = this._baseState;\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n if (tag === \"objid\" && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n if (tag === \"objid\")\n return this._encodeObjid(data, null, null);\n if (tag === \"gentime\" || tag === \"utctime\")\n return this._encodeTime(data, tag);\n if (tag === \"null_\")\n return this._encodeNull();\n if (tag === \"int\" || tag === \"enum\")\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n if (tag === \"bool\")\n return this._encodeBool(data);\n if (tag === \"objDesc\")\n return this._encodeStr(data, tag);\n throw new Error(\"Unsupported tag: \" + tag);\n }, Node.prototype._isNumstr = function(str) {\n return /^[0-9 ]*$/.test(str);\n }, Node.prototype._isPrintstr = function(str) {\n return /^[A-Za-z0-9 '()+,-./:=\?]*$/.test(str);\n };\n }\n}), require_der = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/der.js\"(exports) {\n function reverse(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }\n exports.tagClass = {\n 0: \"universal\",\n 1: \"application\",\n 2: \"context\",\n 3: \"private\"\n }, exports.tagClassByName = reverse(exports.tagClass), exports.tag = {\n 0: \"end\",\n 1: \"bool\",\n 2: \"int\",\n 3: \"bitstr\",\n 4: \"octstr\",\n 5: \"null_\",\n 6: \"objid\",\n 7: \"objDesc\",\n 8: \"external\",\n 9: \"real\",\n 10: \"enum\",\n 11: \"embed\",\n 12: \"utf8str\",\n 13: \"relativeOid\",\n 16: \"seq\",\n 17: \"set\",\n 18: \"numstr\",\n 19: \"printstr\",\n 20: \"t61str\",\n 21: \"videostr\",\n 22: \"ia5str\",\n 23: \"utctime\",\n 24: \"gentime\",\n 25: \"graphstr\",\n 26: \"iso646str\",\n 27: \"genstr\",\n 28: \"unistr\",\n 29: \"charstr\",\n 30: \"bmpstr\"\n }, exports.tagByName = reverse(exports.tag);\n }\n}), require_der2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, Node = require_node(), der = require_der();\n function DEREncoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DEREncoder.prototype = {}, module.exports = DEREncoder, DEREncoder.prototype.encode = function(data, reporter) {\n return this.tree._encode(data, reporter).join();\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._encodeComposite = function(tag, primitive, cls, content) {\n let encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n if (content.length < 128) {\n let header2 = Buffer2.alloc(2);\n return header2[0] = encodedTag, header2[1] = content.length, this._createEncoderBuffer([header2, content]);\n }\n let lenOctets = 1;\n for (let i = content.length;i >= 256; i >>= 8)\n lenOctets++;\n let header = Buffer2.alloc(2 + lenOctets);\n header[0] = encodedTag, header[1] = 128 | lenOctets;\n for (let i = 1 + lenOctets, j = content.length;j > 0; i--, j >>= 8)\n header[i] = j & 255;\n return this._createEncoderBuffer([header, content]);\n }, DERNode.prototype._encodeStr = function(str, tag) {\n if (tag === \"bitstr\")\n return this._createEncoderBuffer([str.unused | 0, str.data]);\n if (tag === \"bmpstr\") {\n let buf = Buffer2.alloc(str.length * 2);\n for (let i = 0;i < str.length; i++)\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n return this._createEncoderBuffer(buf);\n } else\n return tag === \"numstr\" \? this._isNumstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: numstr supports only digits and space\") : tag === \"printstr\" \? this._isPrintstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\") : /str$/.test(tag) \? this._createEncoderBuffer(str) : tag === \"objDesc\" \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: \" + tag + \" unsupported\");\n }, DERNode.prototype._encodeObjid = function(id, values, relative) {\n if (typeof id == \"string\") {\n if (!values)\n return this.reporter.error(\"string objid given, but no values map found\");\n if (!values.hasOwnProperty(id))\n return this.reporter.error(\"objid not found in values map\");\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n } else if (@Array.isArray(id)) {\n id = id.slice();\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n }\n if (!@Array.isArray(id))\n return this.reporter.error(\"objid() should be either array or string, got: \" + JSON.stringify(id));\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error(\"Second objid identifier OOB\");\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n let size = 0;\n for (let i = 0;i < id.length; i++) {\n let ident = id[i];\n for (size++;ident >= 128; ident >>= 7)\n size++;\n }\n let objid = Buffer2.alloc(size), offset = objid.length - 1;\n for (let i = id.length - 1;i >= 0; i--) {\n let ident = id[i];\n for (objid[offset--] = ident & 127;(ident >>= 7) > 0; )\n objid[offset--] = 128 | ident & 127;\n }\n return this._createEncoderBuffer(objid);\n };\n function two(num) {\n return num < 10 \? \"0\" + num : num;\n }\n DERNode.prototype._encodeTime = function(time, tag) {\n let str, date = new Date(time);\n return tag === \"gentime\" \? str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : tag === \"utctime\" \? str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : this.reporter.error(\"Encoding \" + tag + \" time is not supported yet\"), this._encodeStr(str, \"octstr\");\n }, DERNode.prototype._encodeNull = function() {\n return this._createEncoderBuffer(\"\");\n }, DERNode.prototype._encodeInt = function(num, values) {\n if (typeof num == \"string\") {\n if (!values)\n return this.reporter.error(\"String int or enum given, but no values map\");\n if (!values.hasOwnProperty(num))\n return this.reporter.error(\"Values map doesn't contain: \" + JSON.stringify(num));\n num = values[num];\n }\n if (typeof num != \"number\" && !Buffer2.isBuffer(num)) {\n let numArray = num.toArray();\n !num.sign && numArray[0] & 128 && numArray.unshift(0), num = Buffer2.from(numArray);\n }\n if (Buffer2.isBuffer(num)) {\n let size2 = num.length;\n num.length === 0 && size2++;\n let out2 = Buffer2.alloc(size2);\n return num.copy(out2), num.length === 0 && (out2[0] = 0), this._createEncoderBuffer(out2);\n }\n if (num < 128)\n return this._createEncoderBuffer(num);\n if (num < 256)\n return this._createEncoderBuffer([0, num]);\n let size = 1;\n for (let i = num;i >= 256; i >>= 8)\n size++;\n let out = new @Array(size);\n for (let i = out.length - 1;i >= 0; i--)\n out[i] = num & 255, num >>= 8;\n return out[0] & 128 && out.unshift(0), this._createEncoderBuffer(Buffer2.from(out));\n }, DERNode.prototype._encodeBool = function(value) {\n return this._createEncoderBuffer(value \? 255 : 0);\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getEncoder(\"der\").tree;\n }, DERNode.prototype._skipDefault = function(dataBuffer, reporter, parent) {\n let state = this._baseState, i;\n if (state.default === null)\n return !1;\n let data = dataBuffer.join();\n if (state.defaultBuffer === void 0 && (state.defaultBuffer = this._encodeValue(state.default, reporter, parent).join()), data.length !== state.defaultBuffer.length)\n return !1;\n for (i = 0;i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return !1;\n return !0;\n };\n function encodeTag(tag, primitive, cls, reporter) {\n let res;\n if (tag === \"seqof\" \? tag = \"seq\" : tag === \"setof\" && (tag = \"set\"), der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag == \"number\" && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error(\"Unknown tag: \" + tag);\n return res >= 31 \? reporter.error(\"Multi-octet tag encoding unsupported\") : (primitive || (res |= 32), res |= der.tagClassByName[cls || \"universal\"] << 6, res);\n }\n }\n}), require_pem = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), DEREncoder = require_der2();\n function PEMEncoder(entity) {\n DEREncoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMEncoder, DEREncoder), module.exports = PEMEncoder, PEMEncoder.prototype.encode = function(data, options) {\n let p = DEREncoder.prototype.encode.@call(this, data).toString(\"base64\"), out = [\"-----BEGIN \" + options.label + \"-----\"];\n for (let i = 0;i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n return out.push(\"-----END \" + options.label + \"-----\"), out.join(`\n`);\n };\n }\n}), require_encoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/index.js\"(exports) {\n var encoders = exports;\n encoders.der = require_der2(), encoders.pem = require_pem();\n }\n}), require_der3 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), bignum = require_bn5(), DecoderBuffer = require_buffer().DecoderBuffer, Node = require_node(), der = require_der();\n function DERDecoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DERDecoder.prototype = {}, module.exports = DERDecoder, DERDecoder.prototype.decode = function(data, options) {\n return DecoderBuffer.isDecoderBuffer(data) || (data = new DecoderBuffer(data, options)), this.tree._decode(data, options);\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._peekTag = function(buffer, tag, any) {\n if (buffer.isEmpty())\n return !1;\n let state = buffer.save(), decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n return buffer.isError(decodedTag) \? decodedTag : (buffer.restore(state), decodedTag.tag === tag || decodedTag.tagStr === tag || decodedTag.tagStr + \"of\" === tag || any);\n }, DERNode.prototype._decodeTag = function(buffer, tag, any) {\n let decodedTag = derDecodeTag(buffer, 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n let len = derDecodeLen(buffer, decodedTag.primitive, 'Failed to get length of \"' + tag + '\"');\n if (buffer.isError(len))\n return len;\n if (!any && decodedTag.tag !== tag && decodedTag.tagStr !== tag && decodedTag.tagStr + \"of\" !== tag)\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n let state = buffer.save(), res = this._skipUntilEnd(buffer, 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n return buffer.isError(res) \? res : (len = buffer.offset - state.offset, buffer.restore(state), buffer.skip(len, 'Failed to match body of: \"' + tag + '\"'));\n }, DERNode.prototype._skipUntilEnd = function(buffer, fail) {\n for (;; ) {\n let tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n let len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n let res;\n if (tag.primitive || len !== null \? res = buffer.skip(len) : res = this._skipUntilEnd(buffer, fail), buffer.isError(res))\n return res;\n if (tag.tagStr === \"end\")\n break;\n }\n }, DERNode.prototype._decodeList = function(buffer, tag, decoder, options) {\n let result = [];\n for (;!buffer.isEmpty(); ) {\n let possibleEnd = this._peekTag(buffer, \"end\");\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n let res = decoder.decode(buffer, \"der\", options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n }, DERNode.prototype._decodeStr = function(buffer, tag) {\n if (tag === \"bitstr\") {\n let unused = buffer.readUInt8();\n return buffer.isError(unused) \? unused : { unused, data: buffer.raw() };\n } else if (tag === \"bmpstr\") {\n let raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error(\"Decoding of string type: bmpstr length mismatch\");\n let str = \"\";\n for (let i = 0;i < raw.length / 2; i++)\n str += @String.fromCharCode(raw.readUInt16BE(i * 2));\n return str;\n } else if (tag === \"numstr\") {\n let numstr = buffer.raw().toString(\"ascii\");\n return this._isNumstr(numstr) \? numstr : buffer.error(\"Decoding of string type: numstr unsupported characters\");\n } else {\n if (tag === \"octstr\")\n return buffer.raw();\n if (tag === \"objDesc\")\n return buffer.raw();\n if (tag === \"printstr\") {\n let printstr = buffer.raw().toString(\"ascii\");\n return this._isPrintstr(printstr) \? printstr : buffer.error(\"Decoding of string type: printstr unsupported characters\");\n } else\n return /str$/.test(tag) \? buffer.raw().toString() : buffer.error(\"Decoding of string type: \" + tag + \" unsupported\");\n }\n }, DERNode.prototype._decodeObjid = function(buffer, values, relative) {\n let result, identifiers = [], ident = 0, subident = 0;\n for (;!buffer.isEmpty(); )\n subident = buffer.readUInt8(), ident <<= 7, ident |= subident & 127, (subident & 128) === 0 && (identifiers.push(ident), ident = 0);\n subident & 128 && identifiers.push(ident);\n let first = identifiers[0] / 40 | 0, second = identifiers[0] % 40;\n if (relative \? result = identifiers : result = [first, second].concat(identifiers.slice(1)), values) {\n let tmp = values[result.join(\" \")];\n tmp === void 0 && (tmp = values[result.join(\".\")]), tmp !== void 0 && (result = tmp);\n }\n return result;\n }, DERNode.prototype._decodeTime = function(buffer, tag) {\n let str = buffer.raw().toString(), year, mon, day, hour, min, sec;\n if (tag === \"gentime\")\n year = str.slice(0, 4) | 0, mon = str.slice(4, 6) | 0, day = str.slice(6, 8) | 0, hour = str.slice(8, 10) | 0, min = str.slice(10, 12) | 0, sec = str.slice(12, 14) | 0;\n else if (tag === \"utctime\")\n year = str.slice(0, 2) | 0, mon = str.slice(2, 4) | 0, day = str.slice(4, 6) | 0, hour = str.slice(6, 8) | 0, min = str.slice(8, 10) | 0, sec = str.slice(10, 12) | 0, year < 70 \? year = 2000 + year : year = 1900 + year;\n else\n return buffer.error(\"Decoding \" + tag + \" time is not supported yet\");\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n }, DERNode.prototype._decodeNull = function() {\n return null;\n }, DERNode.prototype._decodeBool = function(buffer) {\n let res = buffer.readUInt8();\n return buffer.isError(res) \? res : res !== 0;\n }, DERNode.prototype._decodeInt = function(buffer, values) {\n let raw = buffer.raw(), res = new bignum(raw);\n return values && (res = values[res.toString(10)] || res), res;\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getDecoder(\"der\").tree;\n };\n function derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n let cls = der.tagClass[tag >> 6], primitive = (tag & 32) === 0;\n if ((tag & 31) === 31) {\n let oct = tag;\n for (tag = 0;(oct & 128) === 128; ) {\n if (oct = buf.readUInt8(fail), buf.isError(oct))\n return oct;\n tag <<= 7, tag |= oct & 127;\n }\n } else\n tag &= 31;\n let tagStr = der.tag[tag];\n return {\n cls,\n primitive,\n tag,\n tagStr\n };\n }\n function derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n if (!primitive && len === 128)\n return null;\n if ((len & 128) === 0)\n return len;\n let num = len & 127;\n if (num > 4)\n return buf.error(\"length octect is too long\");\n len = 0;\n for (let i = 0;i < num; i++) {\n len <<= 8;\n let j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n return len;\n }\n }\n}), require_pem2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, DERDecoder = require_der3();\n function PEMDecoder(entity) {\n DERDecoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMDecoder, DERDecoder), module.exports = PEMDecoder, PEMDecoder.prototype.decode = function(data, options) {\n let lines = data.toString().split(/[\\r\\n]+/g), label = options.label.toUpperCase(), re = /^-----(BEGIN|END) ([^-]+)-----$/, start = -1, end = -1;\n for (let i = 0;i < lines.length; i++) {\n let match = lines[i].match(re);\n if (match !== null && match[2] === label)\n if (start === -1) {\n if (match[1] !== \"BEGIN\")\n break;\n start = i;\n } else {\n if (match[1] !== \"END\")\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error(\"PEM section not found for: \" + label);\n let base64 = lines.slice(start + 1, end).join(\"\");\n base64.replace(/[^a-z0-9+/=]+/gi, \"\");\n let input = Buffer2.from(base64, \"base64\");\n return DERDecoder.prototype.decode.@call(this, input, options);\n };\n }\n}), require_decoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/index.js\"(exports) {\n var decoders = exports;\n decoders.der = require_der3(), decoders.pem = require_pem2();\n }\n}), require_api = __commonJS({\n \"node_modules/asn1.js/lib/asn1/api.js\"(exports) {\n var encoders = require_encoders(), decoders = require_decoders(), inherits = require_inherits_browser(), api = exports;\n api.define = function(name, body) {\n return new Entity(name, body);\n };\n function Entity(name, body) {\n this.name = name, this.body = body, this.decoders = {}, this.encoders = {};\n }\n Entity.prototype = {}, Entity.prototype._createNamed = function(Base) {\n let name = this.name;\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n return inherits(Generated, Base), Generated.prototype._initNamed = function(entity, name2) {\n Base.@call(this, entity, name2);\n }, new Generated(this);\n }, Entity.prototype._getDecoder = function(enc) {\n return enc = enc || \"der\", this.decoders.hasOwnProperty(enc) || (this.decoders[enc] = this._createNamed(decoders[enc])), this.decoders[enc];\n }, Entity.prototype.decode = function(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n }, Entity.prototype._getEncoder = function(enc) {\n return enc = enc || \"der\", this.encoders.hasOwnProperty(enc) || (this.encoders[enc] = this._createNamed(encoders[enc])), this.encoders[enc];\n }, Entity.prototype.encode = function(data, enc, reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n };\n }\n}), require_base2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/index.js\"(exports) {\n var base = exports;\n base.Reporter = require_reporter().Reporter, base.DecoderBuffer = require_buffer().DecoderBuffer, base.EncoderBuffer = require_buffer().EncoderBuffer, base.Node = require_node();\n }\n}), require_constants = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/index.js\"(exports) {\n var constants = exports;\n constants._reverse = function(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }, constants.der = require_der();\n }\n}), require_asn1 = __commonJS({\n \"node_modules/asn1.js/lib/asn1.js\"(exports) {\n var asn1 = exports;\n asn1.bignum = require_bn5(), asn1.define = require_api().define, asn1.base = require_base2(), asn1.constants = require_constants(), asn1.decoders = require_decoders(), asn1.encoders = require_encoders();\n }\n}), require_certificate = __commonJS({\n \"node_modules/parse-asn1/certificate.js\"(exports, module) {\n var asn = require_asn1(), Time = asn.define(\"Time\", function() {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n });\n }), AttributeTypeValue = asn.define(\"AttributeTypeValue\", function() {\n this.seq().obj(this.key(\"type\").objid(), this.key(\"value\").any());\n }), AlgorithmIdentifier = asn.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"parameters\").optional(), this.key(\"curve\").objid().optional());\n }), SubjectPublicKeyInfo = asn.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n }), RelativeDistinguishedName = asn.define(\"RelativeDistinguishedName\", function() {\n this.setof(AttributeTypeValue);\n }), RDNSequence = asn.define(\"RDNSequence\", function() {\n this.seqof(RelativeDistinguishedName);\n }), Name = asn.define(\"Name\", function() {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n });\n }), Validity = asn.define(\"Validity\", function() {\n this.seq().obj(this.key(\"notBefore\").use(Time), this.key(\"notAfter\").use(Time));\n }), Extension = asn.define(\"Extension\", function() {\n this.seq().obj(this.key(\"extnID\").objid(), this.key(\"critical\").bool().def(!1), this.key(\"extnValue\").octstr());\n }), TBSCertificate = asn.define(\"TBSCertificate\", function() {\n this.seq().obj(this.key(\"version\").explicit(0).int().optional(), this.key(\"serialNumber\").int(), this.key(\"signature\").use(AlgorithmIdentifier), this.key(\"issuer\").use(Name), this.key(\"validity\").use(Validity), this.key(\"subject\").use(Name), this.key(\"subjectPublicKeyInfo\").use(SubjectPublicKeyInfo), this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(), this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(), this.key(\"extensions\").explicit(3).seqof(Extension).optional());\n }), X509Certificate = asn.define(\"X509Certificate\", function() {\n this.seq().obj(this.key(\"tbsCertificate\").use(TBSCertificate), this.key(\"signatureAlgorithm\").use(AlgorithmIdentifier), this.key(\"signatureValue\").bitstr());\n });\n module.exports = X509Certificate;\n }\n}), require_asn12 = __commonJS({\n \"node_modules/parse-asn1/asn1.js\"(exports) {\n var asn1 = require_asn1();\n exports.certificate = require_certificate();\n var RSAPrivateKey = asn1.define(\"RSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"modulus\").int(), this.key(\"publicExponent\").int(), this.key(\"privateExponent\").int(), this.key(\"prime1\").int(), this.key(\"prime2\").int(), this.key(\"exponent1\").int(), this.key(\"exponent2\").int(), this.key(\"coefficient\").int());\n });\n exports.RSAPrivateKey = RSAPrivateKey;\n var RSAPublicKey = asn1.define(\"RSAPublicKey\", function() {\n this.seq().obj(this.key(\"modulus\").int(), this.key(\"publicExponent\").int());\n });\n exports.RSAPublicKey = RSAPublicKey;\n var PublicKey = asn1.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n });\n exports.PublicKey = PublicKey;\n var AlgorithmIdentifier = asn1.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"none\").null_().optional(), this.key(\"curve\").objid().optional(), this.key(\"params\").seq().obj(this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int()).optional());\n }), PrivateKeyInfo = asn1.define(\"PrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.PrivateKey = PrivateKeyInfo;\n var EncryptedPrivateKeyInfo = asn1.define(\"EncryptedPrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(), this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(), this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(), this.key(\"iters\").int())), this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(), this.key(\"iv\").octstr()))), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo;\n var DSAPrivateKey = asn1.define(\"DSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int(), this.key(\"pub_key\").int(), this.key(\"priv_key\").int());\n });\n exports.DSAPrivateKey = DSAPrivateKey, exports.DSAparam = asn1.define(\"DSAparam\", function() {\n this.int();\n });\n var ECPrivateKey = asn1.define(\"ECPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"privateKey\").octstr(), this.key(\"parameters\").optional().explicit(0).use(ECParameters), this.key(\"publicKey\").optional().explicit(1).bitstr());\n });\n exports.ECPrivateKey = ECPrivateKey;\n var ECParameters = asn1.define(\"ECParameters\", function() {\n this.choice({\n namedCurve: this.objid()\n });\n });\n exports.signature = asn1.define(\"signature\", function() {\n this.seq().obj(this.key(\"r\").int(), this.key(\"s\").int());\n });\n }\n}), require_aesid = __commonJS({\n \"node_modules/parse-asn1/aesid.json\"(exports, module) {\n module.exports = {\n \"2.16.840.1.101.3.4.1.1\": \"aes-128-ecb\",\n \"2.16.840.1.101.3.4.1.2\": \"aes-128-cbc\",\n \"2.16.840.1.101.3.4.1.3\": \"aes-128-ofb\",\n \"2.16.840.1.101.3.4.1.4\": \"aes-128-cfb\",\n \"2.16.840.1.101.3.4.1.21\": \"aes-192-ecb\",\n \"2.16.840.1.101.3.4.1.22\": \"aes-192-cbc\",\n \"2.16.840.1.101.3.4.1.23\": \"aes-192-ofb\",\n \"2.16.840.1.101.3.4.1.24\": \"aes-192-cfb\",\n \"2.16.840.1.101.3.4.1.41\": \"aes-256-ecb\",\n \"2.16.840.1.101.3.4.1.42\": \"aes-256-cbc\",\n \"2.16.840.1.101.3.4.1.43\": \"aes-256-ofb\",\n \"2.16.840.1.101.3.4.1.44\": \"aes-256-cfb\"\n };\n }\n}), require_fixProc = __commonJS({\n \"node_modules/parse-asn1/fixProc.js\"(exports, module) {\n var findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((\?:128)|(\?:192)|(\?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m, startRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----/m, fullRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m, evp = require_evp_bytestokey(), ciphers = require_browser5(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(okey, password) {\n var key2 = okey.toString(), match = key2.match(findProc), decrypted;\n if (match) {\n var suite = \"aes\" + match[1], iv = Buffer2.from(match[2], \"hex\"), cipherText = Buffer2.from(match[3].replace(/[\\r\\n]/g, \"\"), \"base64\"), cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key, out = [], cipher = ciphers.createDecipheriv(suite, cipherKey, iv);\n out.push(cipher.update(cipherText)), out.push(cipher.final()), decrypted = Buffer2.concat(out);\n } else {\n var match2 = key2.match(fullRegex);\n decrypted = Buffer2.from(match2[2].replace(/[\\r\\n]/g, \"\"), \"base64\");\n }\n var tag = key2.match(startRegex)[1];\n return {\n tag,\n data: decrypted\n };\n };\n }\n}), require_parse_asn1 = __commonJS({\n \"node_modules/parse-asn1/index.js\"(exports, module) {\n var asn1 = require_asn12(), aesid = require_aesid(), fixProc = require_fixProc(), ciphers = require_browser5(), compat = require_browser4(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = parseKeys;\n function parseKeys(buffer) {\n var password;\n if (buffer instanceof KeyObject)\n buffer = buffer.export();\n else if (buffer instanceof CryptoKey)\n buffer = KeyObject.from(buffer).export();\n else if (typeof buffer == \"object\" && !Buffer2.isBuffer(buffer)) {\n if (password = buffer.passphrase, buffer = buffer.key, buffer instanceof KeyObject) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = buffer.export(options);\n } else if (buffer instanceof CryptoKey) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = KeyObject.from(buffer).export(options);\n }\n }\n typeof buffer == \"string\" && (buffer = Buffer2.from(buffer));\n var stripped = fixProc(buffer, password), type = stripped.tag, data = stripped.data, subtype, ndata;\n switch (type) {\n case \"CERTIFICATE\":\n ndata = asn1.certificate.decode(data, \"der\").tbsCertificate.subjectPublicKeyInfo;\n case \"PUBLIC KEY\":\n switch (ndata || (ndata = asn1.PublicKey.decode(data, \"der\")), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, \"der\");\n case \"1.2.840.10045.2.1\":\n return ndata.subjectPrivateKey = ndata.subjectPublicKey, {\n type: \"ec\",\n data: ndata\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, \"der\"), {\n type: \"dsa\",\n data: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"ENCRYPTED PRIVATE KEY\":\n data = asn1.EncryptedPrivateKey.decode(data, \"der\"), data = decrypt(data, password);\n case \"PRIVATE KEY\":\n switch (ndata = asn1.PrivateKey.decode(data, \"der\"), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, \"der\");\n case \"1.2.840.10045.2.1\":\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, \"der\").privateKey\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, \"der\"), {\n type: \"dsa\",\n params: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"RSA PUBLIC KEY\":\n return asn1.RSAPublicKey.decode(data, \"der\");\n case \"RSA PRIVATE KEY\":\n return asn1.RSAPrivateKey.decode(data, \"der\");\n case \"DSA PRIVATE KEY\":\n return {\n type: \"dsa\",\n params: asn1.DSAPrivateKey.decode(data, \"der\")\n };\n case \"EC PRIVATE KEY\":\n return data = asn1.ECPrivateKey.decode(data, \"der\"), {\n curve: data.parameters.value,\n privateKey: data.privateKey\n };\n default:\n throw new Error(\"unknown key type \" + type);\n }\n }\n parseKeys.signature = asn1.signature;\n function decrypt(data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt, iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10), algo = aesid[data.algorithm.decrypt.cipher.algo.join(\".\")], iv = data.algorithm.decrypt.cipher.iv, cipherText = data.subjectPrivateKey, keylen = parseInt(algo.split(\"-\")[1], 10) / 8, key2 = compat.pbkdf2Sync(password, salt, iters, keylen, \"sha1\"), cipher = ciphers.createDecipheriv(algo, key2, iv), out = [];\n return out.push(cipher.update(cipherText)), out.push(cipher.final()), Buffer2.concat(out);\n }\n }\n}), require_curves2 = __commonJS({\n \"node_modules/browserify-sign/browser/curves.json\"(exports, module) {\n module.exports = {\n \"1.3.132.0.10\": \"secp256k1\",\n \"1.3.132.0.33\": \"p224\",\n \"1.2.840.10045.3.1.1\": \"p192\",\n \"1.2.840.10045.3.1.7\": \"p256\",\n \"1.3.132.0.34\": \"p384\",\n \"1.3.132.0.35\": \"p521\"\n };\n }\n}), require_sign = __commonJS({\n \"node_modules/browserify-sign/browser/sign.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHmac = require_browser3(), crt = require_browserify_rsa(), EC = require_elliptic().ec, BN = require_bn3(), parseKeys = require_parse_asn1(), curves = require_curves2();\n function sign(hash, key2, hashType, signType, tag) {\n var priv = parseKeys(getKeyFrom(key2, \"private\"));\n if (priv.curve) {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n return ecSign(hash, priv);\n } else if (priv.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong private key type\");\n return dsaSign(hash, priv, hashType);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = priv.modulus.byteLength(), pad = [0, 1];hash.length + pad.length + 1 < len; )\n pad.push(255);\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n var out = crt(pad, priv);\n return out;\n }\n function ecSign(hash, priv) {\n var curveId = curves[priv.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + priv.curve.join(\".\"));\n var curve = new EC(curveId), key2 = curve.keyFromPrivate(priv.privateKey), out = key2.sign(hash);\n return Buffer2.from(out.toDER());\n }\n function dsaSign(hash, priv, algo) {\n for (var x = priv.params.priv_key, p = priv.params.p, q = priv.params.q, g = priv.params.g, r = new BN(0), k, H = bits2int(hash, q).mod(q), s = !1, kv = getKey(x, q, hash, algo);s === !1; )\n k = makeKey(q, kv, algo), r = makeR(g, k, p, q), s = k.invm(q).imul(H.add(x.mul(r))).mod(q), s.cmpn(0) === 0 && (s = !1, r = new BN(0));\n return toDER(r, s);\n }\n function toDER(r, s) {\n r = r.toArray(), s = s.toArray(), r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s));\n var total = r.length + s.length + 4, res = [48, total, 2, r.length];\n return res = res.concat(r, [2, s.length], s), Buffer2.from(res);\n }\n function getKey(x, q, hash, algo) {\n if (x = Buffer2.from(x.toArray()), x.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - x.length);\n x = Buffer2.concat([zeros, x]);\n }\n var hlen = hash.length, hbits = bits2octets(hash, q), v = Buffer2.alloc(hlen);\n v.fill(1);\n var k = Buffer2.alloc(hlen);\n return k = createHmac(algo, k).update(v).update(Buffer2.from([0])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), k = createHmac(algo, k).update(v).update(Buffer2.from([1])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), { k, v };\n }\n function bits2int(obits, q) {\n var bits = new BN(obits), shift = (obits.length << 3) - q.bitLength();\n return shift > 0 && bits.ishrn(shift), bits;\n }\n function bits2octets(bits, q) {\n bits = bits2int(bits, q), bits = bits.mod(q);\n var out = Buffer2.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - out.length);\n out = Buffer2.concat([zeros, out]);\n }\n return out;\n }\n function makeKey(q, kv, algo) {\n var t, k;\n do {\n for (t = Buffer2.alloc(0);t.length * 8 < q.bitLength(); )\n kv.v = createHmac(algo, kv.k).update(kv.v).digest(), t = Buffer2.concat([t, kv.v]);\n k = bits2int(t, q), kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer2.from([0])).digest(), kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n return k;\n }\n function makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n }\n module.exports = sign, module.exports.getKey = getKey, module.exports.makeKey = makeKey;\n }\n}), require_verify = __commonJS({\n \"node_modules/browserify-sign/browser/verify.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, BN = require_bn3(), EC = require_elliptic().ec, parseKeys = require_parse_asn1(), curves = require_curves2();\n function verify(sig, hash, key2, signType, tag) {\n var pub = parseKeys(getKeyFrom(key2, \"public\"));\n if (pub.type === \"ec\") {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n return ecVerify(sig, hash, pub);\n } else if (pub.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong public key type\");\n return dsaVerify(sig, hash, pub);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = pub.modulus.byteLength(), pad = [1], padNum = 0;hash.length + pad.length + 2 < len; )\n pad.push(255), padNum++;\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n pad = Buffer2.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red), sig = sig.redPow(new BN(pub.publicExponent)), sig = Buffer2.from(sig.fromRed().toArray());\n var out = padNum < 8 \? 1 : 0;\n for (len = Math.min(sig.length, pad.length), sig.length !== pad.length && (out = 1), i = -1;++i < len; )\n out |= sig[i] ^ pad[i];\n return out === 0;\n }\n function ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + pub.data.algorithm.curve.join(\".\"));\n var curve = new EC(curveId), pubkey = pub.data.subjectPrivateKey.data;\n return curve.verify(hash, sig, pubkey);\n }\n function dsaVerify(sig, hash, pub) {\n var p = pub.data.p, q = pub.data.q, g = pub.data.g, y = pub.data.pub_key, unpacked = parseKeys.signature.decode(sig, \"der\"), s = unpacked.s, r = unpacked.r;\n checkValue(s, q), checkValue(r, q);\n var montp = BN.mont(p), w = s.invm(q), v = g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q);\n return v.cmp(r) === 0;\n }\n function checkValue(b, q) {\n if (b.cmpn(0) <= 0)\n throw new Error(\"invalid sig\");\n if (b.cmp(q) >= q)\n throw new Error(\"invalid sig\");\n }\n module.exports = verify;\n }\n}), require_browser8 = __commonJS({\n \"node_modules/browserify-sign/browser/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHash = require_browser2(), inherits = require_inherits_browser(), sign = require_sign(), verify = require_verify(), algorithms = require_algorithms();\n Object.keys(algorithms).forEach(function(key2) {\n algorithms[key2].id = Buffer2.from(algorithms[key2].id, \"hex\"), algorithms[key2.toLowerCase()] = algorithms[key2];\n });\n function Sign(algorithm) {\n if (typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n StreamModule.Writable.@call(this);\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hashType = data.hash, this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Sign, StreamModule.Writable), Sign.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Sign.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Sign.prototype.sign = function(key2, enc) {\n this.end();\n var hash = this._hash.digest(), sig = sign(hash, key2, this._hashType, this._signType, this._tag);\n return enc \? sig.toString(enc) : sig;\n };\n function Verify(algorithm) {\n if (StreamModule.Writable.@call(this), typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Verify, StreamModule.Writable), Verify.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Verify.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Verify.prototype.verify = function(key2, sig, enc) {\n typeof sig == \"string\" && (sig = Buffer2.from(sig, enc)), this.end();\n var hash = this._hash.digest();\n return verify(sig, hash, key2, this._signType, this._tag);\n };\n function createSign(algorithm) {\n return new Sign(algorithm);\n }\n function createVerify(algorithm) {\n return new Verify(algorithm);\n }\n module.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign,\n createVerify\n };\n }\n}), require_bn6 = require_bn, require_browser9 = __commonJS({\n \"node_modules/create-ecdh/browser.js\"(exports, module) {\n var elliptic = require_elliptic(), BN = require_bn6();\n module.exports = function(curve) {\n return new ECDH(curve);\n };\n var aliases = {\n secp256k1: {\n name: \"secp256k1\",\n byteLength: 32\n },\n secp224r1: {\n name: \"p224\",\n byteLength: 28\n },\n prime256v1: {\n name: \"p256\",\n byteLength: 32\n },\n prime192v1: {\n name: \"p192\",\n byteLength: 24\n },\n ed25519: {\n name: \"ed25519\",\n byteLength: 32\n },\n secp384r1: {\n name: \"p384\",\n byteLength: 48\n },\n secp521r1: {\n name: \"p521\",\n byteLength: 66\n }\n };\n aliases.p224 = aliases.secp224r1, aliases.p256 = aliases.secp256r1 = aliases.prime256v1, aliases.p192 = aliases.secp192r1 = aliases.prime192v1, aliases.p384 = aliases.secp384r1, aliases.p521 = aliases.secp521r1;\n function ECDH(curve) {\n this.curveType = aliases[curve], this.curveType || (this.curveType = {\n name: curve\n }), this.curve = new elliptic.ec(this.curveType.name), this.keys = void 0;\n }\n ECDH.prototype = {}, ECDH.prototype.generateKeys = function(enc, format) {\n return this.keys = this.curve.genKeyPair(), this.getPublicKey(enc, format);\n }, ECDH.prototype.computeSecret = function(other, inenc, enc) {\n inenc = inenc || \"utf8\", Buffer.isBuffer(other) || (other = new Buffer(other, inenc));\n var otherPub = this.curve.keyFromPublic(other).getPublic(), out = otherPub.mul(this.keys.getPrivate()).getX();\n return formatReturnValue(out, enc, this.curveType.byteLength);\n }, ECDH.prototype.getPublicKey = function(enc, format) {\n var key2 = this.keys.getPublic(format === \"compressed\", !0);\n return format === \"hybrid\" && (key2[key2.length - 1] % 2 \? key2[0] = 7 : key2[0] = 6), formatReturnValue(key2, enc);\n }, ECDH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this.keys.getPrivate(), enc);\n }, ECDH.prototype.setPublicKey = function(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this.keys._importPublic(pub), this;\n }, ECDH.prototype.setPrivateKey = function(priv, enc) {\n enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc));\n var _priv = new BN(priv);\n return _priv = _priv.toString(16), this.keys = this.curve.genKeyPair(), this.keys._importPrivate(_priv), this;\n };\n function formatReturnValue(bn, enc, len) {\n @Array.isArray(bn) || (bn = bn.toArray());\n var buf = new Buffer(bn);\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length);\n zeros.fill(0), buf = Buffer.concat([zeros, buf]);\n }\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_mgf = __commonJS({\n \"node_modules/public-encrypt/mgf.js\"(exports, module) {\n var createHash = require_browser2(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(seed, len) {\n for (var t = Buffer2.alloc(0), i = 0, c;t.length < len; )\n c = i2ops(i++), t = Buffer2.concat([t, createHash(\"sha1\").update(seed).update(c).digest()]);\n return t.slice(0, len);\n };\n function i2ops(c) {\n var out = Buffer2.allocUnsafe(4);\n return out.writeUInt32BE(c, 0), out;\n }\n }\n}), require_xor = __commonJS({\n \"node_modules/public-encrypt/xor.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var len = a.length, i = -1;++i < len; )\n a[i] ^= b[i];\n return a;\n };\n }\n}), require_bn7 = require_bn, { CryptoHasher } = globalThis.Bun, require_withPublic = __commonJS({\n \"node_modules/public-encrypt/withPublic.js\"(exports, module) {\n var BN = require_bn7(), Buffer2 = require_safe_buffer().Buffer;\n function withPublic(paddedMsg, key2) {\n return Buffer2.from(paddedMsg.toRed(BN.mont(key2.modulus)).redPow(new BN(key2.publicExponent)).fromRed().toArray());\n }\n module.exports = withPublic;\n }\n}), require_publicEncrypt = __commonJS({\n \"node_modules/public-encrypt/publicEncrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), randomBytes = require_browser(), createHash = require_browser2(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), withPublic = require_withPublic(), crt = require_browserify_rsa(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(publicKey, msg, reverse) {\n var padding;\n publicKey.padding \? padding = publicKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(publicKey), paddedMsg;\n if (padding === 4)\n paddedMsg = oaep(key2, msg);\n else if (padding === 1)\n paddedMsg = pkcs1(key2, msg, reverse);\n else if (padding === 3) {\n if (paddedMsg = new BN(msg), paddedMsg.cmp(key2.modulus) >= 0)\n throw new Error(\"data too long for modulus\");\n } else\n throw new Error(\"unknown padding\");\n return reverse \? crt(paddedMsg, key2) : withPublic(paddedMsg, key2);\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), mLen = msg.length, iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length, hLen2 = 2 * hLen;\n if (mLen > k - hLen2 - 2)\n throw new Error(\"message too long\");\n var ps = Buffer2.alloc(k - mLen - hLen2 - 2), dblen = k - hLen - 1, seed = randomBytes(hLen), maskedDb = xor(Buffer2.concat([iHash, ps, Buffer2.alloc(1, 1), msg], dblen), mgf(seed, dblen)), maskedSeed = xor(seed, mgf(maskedDb, hLen));\n return new BN(Buffer2.concat([Buffer2.alloc(1), maskedSeed, maskedDb], k));\n }\n function pkcs1(key2, msg, reverse) {\n var mLen = msg.length, k = key2.modulus.byteLength();\n if (mLen > k - 11)\n throw new Error(\"message too long\");\n var ps;\n return reverse \? ps = Buffer2.alloc(k - mLen - 3, 255) : ps = nonZero(k - mLen - 3), new BN(Buffer2.concat([Buffer2.from([0, reverse \? 1 : 2]), ps, Buffer2.alloc(1), msg], k));\n }\n function nonZero(len) {\n for (var out = Buffer2.allocUnsafe(len), i = 0, cache = randomBytes(len * 2), cur = 0, num;i < len; )\n cur === cache.length && (cache = randomBytes(len * 2), cur = 0), num = cache[cur++], num && (out[i++] = num);\n return out;\n }\n }\n}), require_privateDecrypt = __commonJS({\n \"node_modules/public-encrypt/privateDecrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), crt = require_browserify_rsa(), createHash = require_browser2(), withPublic = require_withPublic(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(privateKey, enc, reverse) {\n var padding;\n privateKey.padding \? padding = privateKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(privateKey), k = key2.modulus.byteLength();\n if (enc.length > k || new BN(enc).cmp(key2.modulus) >= 0)\n throw new Error(\"decryption error\");\n var msg;\n reverse \? msg = withPublic(new BN(enc), key2) : msg = crt(enc, key2);\n var zBuffer = Buffer2.alloc(k - msg.length);\n if (msg = Buffer2.concat([zBuffer, msg], k), padding === 4)\n return oaep(key2, msg);\n if (padding === 1)\n return pkcs1(key2, msg, reverse);\n if (padding === 3)\n return msg;\n throw new Error(\"unknown padding\");\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length;\n if (msg[0] !== 0)\n throw new Error(\"decryption error\");\n var maskedSeed = msg.slice(1, hLen + 1), maskedDb = msg.slice(hLen + 1), seed = xor(maskedSeed, mgf(maskedDb, hLen)), db = xor(maskedDb, mgf(seed, k - hLen - 1));\n if (compare(iHash, db.slice(0, hLen)))\n throw new Error(\"decryption error\");\n for (var i = hLen;db[i] === 0; )\n i++;\n if (db[i++] !== 1)\n throw new Error(\"decryption error\");\n return db.slice(i);\n }\n function pkcs1(key2, msg, reverse) {\n for (var p1 = msg.slice(0, 2), i = 2, status = 0;msg[i++] !== 0; )\n if (i >= msg.length) {\n status++;\n break;\n }\n var ps = msg.slice(2, i - 1);\n if ((p1.toString(\"hex\") !== \"0002\" && !reverse || p1.toString(\"hex\") !== \"0001\" && reverse) && status++, ps.length < 8 && status++, status)\n throw new Error(\"decryption error\");\n return msg.slice(i);\n }\n function compare(a, b) {\n a = Buffer2.from(a), b = Buffer2.from(b);\n var dif = 0, len = a.length;\n a.length !== b.length && (dif++, len = Math.min(a.length, b.length));\n for (var i = -1;++i < len; )\n dif += a[i] ^ b[i];\n return dif;\n }\n }\n}), require_browser10 = __commonJS({\n \"node_modules/public-encrypt/browser.js\"(exports) {\n var publicEncrypt = require_publicEncrypt();\n exports.publicEncrypt = function(key2, buf, options) {\n return publicEncrypt(getKeyFrom(key2, \"public\"), buf, options);\n };\n var privateDecrypt = require_privateDecrypt();\n exports.privateDecrypt = function(key2, buf, options) {\n return privateDecrypt(getKeyFrom(key2, \"private\"), buf, options);\n }, exports.privateEncrypt = function(key2, buf) {\n return publicEncrypt(getKeyFrom(key2, \"private\"), buf, !0);\n }, exports.publicDecrypt = function(key2, buf) {\n return privateDecrypt(getKeyFrom(key2, \"public\"), buf, !0);\n };\n }\n}), require_browser11 = __commonJS({\n \"node_modules/randomfill/browser.js\"(exports) {\n var safeBuffer = require_safe_buffer(), randombytes = require_browser(), Buffer2 = safeBuffer.Buffer, kBufferMaxLength = safeBuffer.kMaxLength, kMaxUint32 = Math.pow(2, 32) - 1;\n function assertOffset(offset, length) {\n if (typeof offset != \"number\" || offset !== offset)\n @throwTypeError(\"offset must be a number\");\n if (offset > kMaxUint32 || offset < 0)\n @throwTypeError(\"offset must be a uint32\");\n if (offset > kBufferMaxLength || offset > length)\n @throwRangeError(\"offset out of range\");\n }\n function assertSize(size, offset, length) {\n if (typeof size != \"number\" || size !== size)\n @throwTypeError(\"size must be a number\");\n if (size > kMaxUint32 || size < 0)\n @throwTypeError(\"size must be a uint32\");\n if (size + offset > length || size > kBufferMaxLength)\n @throwRangeError(\"buffer too small\");\n }\n exports.randomFill = randomFill, exports.randomFillSync = randomFillSync;\n function randomFill(buf, offset, size, cb) {\n if (!Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n if (typeof offset == \"function\")\n cb = offset, offset = 0, size = buf.length;\n else if (typeof size == \"function\")\n cb = size, size = buf.length - offset;\n else if (typeof cb != \"function\")\n @throwTypeError('\"cb\" argument must be a function');\n return assertOffset(offset, buf.length), assertSize(size, offset, buf.length), actualFill(buf, offset, size, cb);\n }\n function actualFill(buf, offset, size, cb) {\n if (cb) {\n randombytes(size, function(err, bytes2) {\n if (err)\n return cb(err);\n bytes2.copy(buf, offset), cb(null, buf);\n });\n return;\n }\n var bytes = randombytes(size);\n return bytes.copy(buf, offset), buf;\n }\n function randomFillSync(buf, offset, size) {\n if (typeof offset > \"u\" && (offset = 0), !Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n return assertOffset(offset, buf.length), size === void 0 && (size = buf.length - offset), assertSize(size, offset, buf.length), actualFill(buf, offset, size);\n }\n }\n}), require_crypto_browserify2 = __commonJS({\n \"node_modules/crypto-browserify/index.js\"(exports) {\n exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require_browser(), exports.createHash = require_browser2(), exports.Hash = exports.createHash.Hash, exports.createHmac = exports.Hmac = require_browser3();\n var algos = require_algos(), algoKeys = Object.keys(algos), hashes = [\"sha1\", \"sha224\", \"sha256\", \"sha384\", \"sha512\", \"md5\", \"rmd160\"].concat(algoKeys);\n exports.getHashes = function() {\n return hashes;\n };\n var p = require_browser4();\n exports.pbkdf2 = p.pbkdf2, exports.pbkdf2Sync = p.pbkdf2Sync;\n var aes = require_browser6();\n exports.Cipher = aes.Cipher, exports.createCipher = aes.createCipher, exports.Cipheriv = aes.Cipheriv, exports.createCipheriv = aes.createCipheriv, exports.Decipher = aes.Decipher, exports.createDecipher = aes.createDecipher, exports.Decipheriv = aes.Decipheriv, exports.createDecipheriv = aes.createDecipheriv, exports.getCiphers = aes.getCiphers, exports.listCiphers = aes.listCiphers;\n var dh = require_browser7();\n exports.DiffieHellmanGroup = dh.DiffieHellmanGroup, exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup, exports.getDiffieHellman = dh.getDiffieHellman, exports.createDiffieHellman = dh.createDiffieHellman, exports.DiffieHellman = dh.DiffieHellman;\n var sign = require_browser8();\n exports.createSign = sign.createSign, exports.Sign = sign.Sign, exports.createVerify = sign.createVerify, exports.Verify = sign.Verify, exports.createECDH = require_browser9();\n var publicEncrypt = require_browser10();\n exports.publicEncrypt = publicEncrypt.publicEncrypt, exports.privateEncrypt = publicEncrypt.privateEncrypt, exports.publicDecrypt = publicEncrypt.publicDecrypt, exports.privateDecrypt = publicEncrypt.privateDecrypt, exports.getRandomValues = (values) => crypto.getRandomValues(values);\n var rf = require_browser11();\n exports.randomFill = rf.randomFill, exports.randomFillSync = rf.randomFillSync, exports.createCredentials = function() {\n throw new Error([\n \"sorry, createCredentials is not implemented yet\",\n \"we accept pull requests\",\n \"https://github.com/crypto-browserify/crypto-browserify\"\n ].join(`\n`));\n }, exports.constants = @processBindingConstants.crypto;\n }\n}), crypto_exports = require_crypto_browserify2(), DEFAULT_ENCODING = \"buffer\", getRandomValues = (array) => crypto.getRandomValues(array), randomUUID = () => crypto.randomUUID(), randomInt = (...args) => crypto.randomInt(...args), timingSafeEqual = \"timingSafeEqual\" in crypto \? (a, b) => {\n let { byteLength: byteLengthA } = a, { byteLength: byteLengthB } = b;\n if (typeof byteLengthA != \"number\" || typeof byteLengthB != \"number\")\n @throwTypeError(\"Input must be an array buffer view\");\n if (byteLengthA !== byteLengthB)\n @throwRangeError(\"Input buffers must have the same length\");\n return crypto.timingSafeEqual(a, b);\n} : void 0, scryptSync = \"scryptSync\" in crypto \? (password, salt, keylen, options) => {\n let res = crypto.scryptSync(password, salt, keylen, options);\n return DEFAULT_ENCODING !== \"buffer\" \? new Buffer(res).toString(DEFAULT_ENCODING) : new Buffer(res);\n} : void 0, scrypt = \"scryptSync\" in crypto \? function(password, salt, keylen, options, callback) {\n if (typeof options == \"function\" && (callback = options, options = void 0), typeof callback != \"function\") {\n var err = @makeTypeError(\"callback must be a function\");\n throw err.code = \"ERR_INVALID_CALLBACK\", err;\n }\n try {\n let result = crypto.scryptSync(password, salt, keylen, options);\n process.nextTick(callback, null, DEFAULT_ENCODING !== \"buffer\" \? new Buffer(result).toString(DEFAULT_ENCODING) : new Buffer(result));\n } catch (err2) {\n throw err2;\n }\n} : void 0;\ntimingSafeEqual && (Object.defineProperty(timingSafeEqual, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scrypt, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scryptSync, \"name\", {\n value: \"::bunternal::\"\n}));\nvar harcoded_curves = [\n \"p192\",\n \"p224\",\n \"p256\",\n \"p384\",\n \"p521\",\n \"curve25519\",\n \"ed25519\",\n \"secp256k1\",\n \"secp224r1\",\n \"prime256v1\",\n \"prime192v1\",\n \"ed25519\",\n \"secp384r1\",\n \"secp521r1\"\n], {\n symmetricKeySize,\n asymmetricKeyDetails,\n asymmetricKeyType,\n equals,\n exports,\n createSecretKey,\n createPublicKey,\n createPrivateKey,\n generateKeySync,\n generateKeyPairSync\n} = @lazy(\"internal/crypto\"), kCryptoKey = Symbol.for(\"::bunKeyObjectCryptoKey::\");\n\nclass KeyObject {\n [kCryptoKey];\n constructor(key2) {\n if (typeof key2 !== \"object\")\n @throwTypeError('The \"key\" argument must be an instance of CryptoKey.');\n this[kCryptoKey] = key2;\n }\n toString() {\n return \"[object KeyObject]\";\n }\n static from(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2[kCryptoKey];\n return new KeyObject(key2);\n }\n get asymmetricKeyDetails() {\n return asymmetricKeyDetails(this[kCryptoKey]);\n }\n get symmetricKeySize() {\n return symmetricKeySize(this[kCryptoKey]);\n }\n get asymmetricKeyType() {\n return asymmetricKeyType(this[kCryptoKey]);\n }\n [\"export\"](options) {\n switch (arguments.length) {\n case 0:\n switch (this.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\"\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\"\n };\n break;\n }\n break;\n case 1:\n if (typeof options === \"object\" && !options.format)\n switch (this.type) {\n case \"secret\":\n options.format = \"buffer\";\n break;\n default:\n options.format = \"pem\";\n break;\n }\n }\n return exports(this[kCryptoKey], options);\n }\n equals(otherKey) {\n if (!(otherKey instanceof KeyObject))\n @throwTypeError(\"otherKey must be a KeyObject\");\n return equals(this[kCryptoKey], otherKey[kCryptoKey]);\n }\n get type() {\n return this[kCryptoKey].type;\n }\n}\ncrypto_exports.generateKeySync = function(algorithm, options) {\n return KeyObject.from(generateKeySync(algorithm, options\?.length));\n};\ncrypto_exports.generateKey = function(algorithm, options, callback) {\n try {\n const key2 = KeyObject.from(generateKeySync(algorithm, options\?.length));\n typeof callback === \"function\" && callback(null, KeyObject.from(key2));\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.generateKeyPairSync = _generateKeyPairSync;\ncrypto_exports.generateKeyPair = function(algorithm, options, callback) {\n try {\n const result = _generateKeyPairSync(algorithm, options);\n typeof callback === \"function\" && callback(null, result.publicKey, result.privateKey);\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.createSecretKey = function(key2, encoding) {\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type !== \"secret\") {\n const error = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected secret`);\n throw error.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error;\n }\n return KeyObject.from(key2);\n }\n const buffer = getArrayBufferOrView(key2, encoding || \"utf8\");\n return KeyObject.from(createSecretKey(buffer));\n};\ncrypto_exports.createPrivateKey = _createPrivateKey;\ncrypto_exports.createPublicKey = _createPublicKey;\ncrypto_exports.KeyObject = KeyObject;\nvar _createSign = crypto_exports.createSign;\ncrypto_exports.sign = function(algorithm, data, key2, encoding, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n};\nvar _createVerify = crypto_exports.createVerify;\ncrypto_exports.verify = function(algorithm, data, key2, signature, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createVerify(algorithm).update(data).verify(key2, signature);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createVerify(algorithm).update(data).verify(key2, signature);\n};\nvar webcrypto = crypto;\n__export(crypto_exports, {\n DEFAULT_ENCODING: () => DEFAULT_ENCODING,\n getRandomValues: () => getRandomValues,\n randomUUID: () => randomUUID,\n randomInt: () => randomInt,\n getCurves: () => getCurves,\n scrypt: () => scrypt,\n scryptSync: () => scryptSync,\n timingSafeEqual: () => timingSafeEqual,\n webcrypto: () => webcrypto,\n subtle: () => webcrypto.subtle\n});\n$ = crypto_exports;\n/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDgramCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/dgram.ts\nvar createSocket = function() {\n throwNotImplemented(\"node:dgram createSocket\", 1630);\n}, Socket = function() {\n throwNotImplemented(\"node:dgram Socket\", 1630);\n}, _createSocketHandle = function() {\n throwNotImplemented(\"node:dgram _createSocketHandle\", 1630);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n createSocket,\n Socket,\n _createSocketHandle\n};\nhideFromStack(createSocket, Socket, _createSocketHandle);\nreturn $})\n"); +static constexpr ASCIILiteral NodeDgramCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/dgram.ts\nvar createSocket = function() {\n throwNotImplemented(\"node:dgram createSocket\", 1630);\n}, Socket = function() {\n throwNotImplemented(\"node:dgram Socket\", 1630);\n}, _createSocketHandle = function() {\n throwNotImplemented(\"node:dgram _createSocketHandle\", 1630);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n createSocket,\n Socket,\n _createSocketHandle\n};\nhideFromStack(createSocket, Socket, _createSocketHandle);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDiagnosticsChannelCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/diagnostics_channel.ts\nvar markActive = function(channel) {\n ObjectSetPrototypeOf(channel, ActiveChannel.prototype), channel._subscribers = [], channel._stores = new SafeMap;\n}, maybeMarkInactive = function(channel) {\n if (!channel._subscribers.length && !channel._stores.size)\n ObjectSetPrototypeOf(channel, Channel.prototype), channel._subscribers = @undefined, channel._stores = @undefined;\n}, defaultTransform = function(data) {\n return data;\n}, wrapStoreRun = function(store, data, next, transform = defaultTransform) {\n return () => {\n let context;\n try {\n context = transform(data);\n } catch (err) {\n return process.nextTick(() => reportError(err)), next();\n }\n return store.run(context, next);\n };\n}, channel = function(name) {\n const channel2 = channels.get(name);\n if (channel2)\n return channel2;\n if (typeof name !== \"string\" && typeof name !== \"symbol\")\n throw new ERR_INVALID_ARG_TYPE(\"channel\", [\"string\", \"symbol\"], name);\n return new Channel(name);\n}, subscribe = function(name, subscription) {\n return channel(name).subscribe(subscription);\n}, unsubscribe = function(name, subscription) {\n return channel(name).unsubscribe(subscription);\n}, hasSubscribers = function(name) {\n const channel2 = channels.get(name);\n if (!channel2)\n return !1;\n return channel2.hasSubscribers;\n}, assertChannel = function(value, name) {\n if (!(value instanceof Channel))\n throw new ERR_INVALID_ARG_TYPE(name, [\"Channel\"], value);\n}, tracingChannel = function(nameOrChannels) {\n return new TracingChannel(nameOrChannels);\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, $, SafeMap = Map, SafeFinalizationRegistry = FinalizationRegistry, ArrayPrototypeAt = (array, index) => array[index], ArrayPrototypeIndexOf = (array, value) => array.indexOf(value), ArrayPrototypePush = (array, value) => array.push(value), ArrayPrototypeSplice = (array, start, deleteCount) => array.splice(start, deleteCount), ObjectGetPrototypeOf = Object.getPrototypeOf, ObjectSetPrototypeOf = Object.setPrototypeOf, SymbolHasInstance = Symbol.hasInstance, ReflectApply = @getByIdDirect(Reflect, \"apply\"), PromiseResolve = @Promise.resolve, PromiseReject = @Promise.reject, PromisePrototypeThen = (promise, onFulfilled, onRejected) => promise.then(onFulfilled, onRejected);\n\nclass WeakReference extends WeakRef {\n constructor() {\n super(...arguments);\n }\n #refs = 0;\n get() {\n return this.deref();\n }\n incRef() {\n return ++this.#refs;\n }\n decRef() {\n return --this.#refs;\n }\n}\n\nclass WeakRefMap extends SafeMap {\n constructor() {\n super(...arguments);\n }\n #finalizers = new SafeFinalizationRegistry((key) => {\n this.delete(key);\n });\n set(key, value) {\n return this.#finalizers.register(value, key), super.set(key, new WeakReference(value));\n }\n get(key) {\n return super.get(key)\?.get();\n }\n incRef(key) {\n return super.get(key)\?.incRef();\n }\n decRef(key) {\n return super.get(key)\?.decRef();\n }\n}\n\nclass ActiveChannel {\n subscribe(subscription) {\n validateFunction(subscription, \"subscription\"), ArrayPrototypePush(this._subscribers, subscription), channels.incRef(this.name);\n }\n unsubscribe(subscription) {\n const index = ArrayPrototypeIndexOf(this._subscribers, subscription);\n if (index === -1)\n return !1;\n return ArrayPrototypeSplice(this._subscribers, index, 1), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n bindStore(store, transform) {\n if (!this._stores.has(store))\n channels.incRef(this.name);\n this._stores.set(store, transform);\n }\n unbindStore(store) {\n if (!this._stores.has(store))\n return !1;\n return this._stores.delete(store), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n get hasSubscribers() {\n return !0;\n }\n publish(data) {\n for (let i = 0;i < (this._subscribers\?.length || 0); i++)\n try {\n const onMessage = this._subscribers[i];\n onMessage(data, this.name);\n } catch (err) {\n process.nextTick(() => reportError(err));\n }\n }\n runStores(data, fn, thisArg, ...args) {\n let run = () => {\n return this.publish(data), ReflectApply(fn, thisArg, args);\n };\n for (let entry of this._stores.entries()) {\n const store = entry[0], transform = entry[1];\n run = wrapStoreRun(store, data, run, transform);\n }\n return run();\n }\n}\n\nclass Channel {\n constructor(name) {\n this._subscribers = @undefined, this._stores = @undefined, this.name = name, channels.set(name, this);\n }\n static [SymbolHasInstance](instance) {\n const prototype = ObjectGetPrototypeOf(instance);\n return prototype === Channel.prototype || prototype === ActiveChannel.prototype;\n }\n subscribe(subscription) {\n markActive(this), this.subscribe(subscription);\n }\n unsubscribe() {\n return !1;\n }\n bindStore(store, transform) {\n markActive(this), this.bindStore(store, transform);\n }\n unbindStore() {\n return !1;\n }\n get hasSubscribers() {\n return !1;\n }\n publish() {\n }\n runStores(data, fn, thisArg, ...args) {\n return ReflectApply(fn, thisArg, args);\n }\n}\nvar channels = new WeakRefMap, traceEvents = [\"start\", \"end\", \"asyncStart\", \"asyncEnd\", \"error\"];\n\nclass TracingChannel {\n constructor(nameOrChannels) {\n if (typeof nameOrChannels === \"string\")\n this.start = channel(`tracing:${nameOrChannels}:start`), this.end = channel(`tracing:${nameOrChannels}:end`), this.asyncStart = channel(`tracing:${nameOrChannels}:asyncStart`), this.asyncEnd = channel(`tracing:${nameOrChannels}:asyncEnd`), this.error = channel(`tracing:${nameOrChannels}:error`);\n else if (typeof nameOrChannels === \"object\") {\n const { start, end, asyncStart, asyncEnd, error } = nameOrChannels;\n assertChannel(start, \"nameOrChannels.start\"), assertChannel(end, \"nameOrChannels.end\"), assertChannel(asyncStart, \"nameOrChannels.asyncStart\"), assertChannel(asyncEnd, \"nameOrChannels.asyncEnd\"), assertChannel(error, \"nameOrChannels.error\"), this.start = start, this.end = end, this.asyncStart = asyncStart, this.asyncEnd = asyncEnd, this.error = error;\n } else\n throw new ERR_INVALID_ARG_TYPE(\"nameOrChannels\", [\"string\", \"object\", \"Channel\"], nameOrChannels);\n }\n subscribe(handlers) {\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n this[name]\?.subscribe(handlers[name]);\n }\n }\n unsubscribe(handlers) {\n let done = !0;\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n if (!this[name]\?.unsubscribe(handlers[name]))\n done = !1;\n }\n return done;\n }\n traceSync(fn, context = {}, thisArg, ...args) {\n const { start, end, error } = this;\n return start.runStores(context, () => {\n try {\n const result = ReflectApply(fn, thisArg, args);\n return context.result = result, result;\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n tracePromise(fn, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function reject(err) {\n return context.error = err, error.publish(context), asyncStart.publish(context), asyncEnd.publish(context), PromiseReject(err);\n }\n function resolve(result) {\n return context.result = result, asyncStart.publish(context), asyncEnd.publish(context), result;\n }\n return start.runStores(context, () => {\n try {\n let promise = ReflectApply(fn, thisArg, args);\n if (!(promise instanceof @Promise))\n promise = PromiseResolve(promise);\n return PromisePrototypeThen(promise, resolve, reject);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n traceCallback(fn, position = -1, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function wrappedCallback(err, res) {\n if (err)\n context.error = err, error.publish(context);\n else\n context.result = res;\n asyncStart.runStores(context, () => {\n try {\n if (callback)\n return ReflectApply(callback, this, arguments);\n } finally {\n asyncEnd.publish(context);\n }\n });\n }\n const callback = ArrayPrototypeAt(args, position);\n if (typeof callback !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"callback\", [\"function\"], callback);\n return ArrayPrototypeSplice(args, position, 1, wrappedCallback), start.runStores(context, () => {\n try {\n return ReflectApply(fn, thisArg, args);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n}\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n$ = {\n channel,\n hasSubscribers,\n subscribe,\n tracingChannel,\n unsubscribe,\n Channel\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeDiagnosticsChannelCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/diagnostics_channel.ts\nvar markActive = function(channel) {\n ObjectSetPrototypeOf(channel, ActiveChannel.prototype), channel._subscribers = [], channel._stores = new SafeMap;\n}, maybeMarkInactive = function(channel) {\n if (!channel._subscribers.length && !channel._stores.size)\n ObjectSetPrototypeOf(channel, Channel.prototype), channel._subscribers = @undefined, channel._stores = @undefined;\n}, defaultTransform = function(data) {\n return data;\n}, wrapStoreRun = function(store, data, next, transform = defaultTransform) {\n return () => {\n let context;\n try {\n context = transform(data);\n } catch (err) {\n return process.nextTick(() => reportError(err)), next();\n }\n return store.run(context, next);\n };\n}, channel = function(name) {\n const channel2 = channels.get(name);\n if (channel2)\n return channel2;\n if (typeof name !== \"string\" && typeof name !== \"symbol\")\n throw new ERR_INVALID_ARG_TYPE(\"channel\", [\"string\", \"symbol\"], name);\n return new Channel(name);\n}, subscribe = function(name, subscription) {\n return channel(name).subscribe(subscription);\n}, unsubscribe = function(name, subscription) {\n return channel(name).unsubscribe(subscription);\n}, hasSubscribers = function(name) {\n const channel2 = channels.get(name);\n if (!channel2)\n return !1;\n return channel2.hasSubscribers;\n}, assertChannel = function(value, name) {\n if (!(value instanceof Channel))\n throw new ERR_INVALID_ARG_TYPE(name, [\"Channel\"], value);\n}, tracingChannel = function(nameOrChannels) {\n return new TracingChannel(nameOrChannels);\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, $, SafeMap = Map, SafeFinalizationRegistry = FinalizationRegistry, ArrayPrototypeAt = (array, index) => array[index], ArrayPrototypeIndexOf = (array, value) => array.indexOf(value), ArrayPrototypePush = (array, value) => array.push(value), ArrayPrototypeSplice = (array, start, deleteCount) => array.splice(start, deleteCount), ObjectGetPrototypeOf = Object.getPrototypeOf, ObjectSetPrototypeOf = Object.setPrototypeOf, SymbolHasInstance = Symbol.hasInstance, ReflectApply = @getByIdDirect(Reflect, \"apply\"), PromiseResolve = @Promise.resolve, PromiseReject = @Promise.reject, PromisePrototypeThen = (promise, onFulfilled, onRejected) => promise.then(onFulfilled, onRejected);\n\nclass WeakReference extends WeakRef {\n constructor() {\n super(...arguments);\n }\n #refs = 0;\n get() {\n return this.deref();\n }\n incRef() {\n return ++this.#refs;\n }\n decRef() {\n return --this.#refs;\n }\n}\n\nclass WeakRefMap extends SafeMap {\n constructor() {\n super(...arguments);\n }\n #finalizers = new SafeFinalizationRegistry((key) => {\n this.delete(key);\n });\n set(key, value) {\n return this.#finalizers.register(value, key), super.set(key, new WeakReference(value));\n }\n get(key) {\n return super.get(key)\?.get();\n }\n incRef(key) {\n return super.get(key)\?.incRef();\n }\n decRef(key) {\n return super.get(key)\?.decRef();\n }\n}\n\nclass ActiveChannel {\n subscribe(subscription) {\n validateFunction(subscription, \"subscription\"), ArrayPrototypePush(this._subscribers, subscription), channels.incRef(this.name);\n }\n unsubscribe(subscription) {\n const index = ArrayPrototypeIndexOf(this._subscribers, subscription);\n if (index === -1)\n return !1;\n return ArrayPrototypeSplice(this._subscribers, index, 1), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n bindStore(store, transform) {\n if (!this._stores.has(store))\n channels.incRef(this.name);\n this._stores.set(store, transform);\n }\n unbindStore(store) {\n if (!this._stores.has(store))\n return !1;\n return this._stores.delete(store), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n get hasSubscribers() {\n return !0;\n }\n publish(data) {\n for (let i = 0;i < (this._subscribers\?.length || 0); i++)\n try {\n const onMessage = this._subscribers[i];\n onMessage(data, this.name);\n } catch (err) {\n process.nextTick(() => reportError(err));\n }\n }\n runStores(data, fn, thisArg, ...args) {\n let run = () => {\n return this.publish(data), ReflectApply(fn, thisArg, args);\n };\n for (let entry of this._stores.entries()) {\n const store = entry[0], transform = entry[1];\n run = wrapStoreRun(store, data, run, transform);\n }\n return run();\n }\n}\n\nclass Channel {\n constructor(name) {\n this._subscribers = @undefined, this._stores = @undefined, this.name = name, channels.set(name, this);\n }\n static [SymbolHasInstance](instance) {\n const prototype = ObjectGetPrototypeOf(instance);\n return prototype === Channel.prototype || prototype === ActiveChannel.prototype;\n }\n subscribe(subscription) {\n markActive(this), this.subscribe(subscription);\n }\n unsubscribe() {\n return !1;\n }\n bindStore(store, transform) {\n markActive(this), this.bindStore(store, transform);\n }\n unbindStore() {\n return !1;\n }\n get hasSubscribers() {\n return !1;\n }\n publish() {\n }\n runStores(data, fn, thisArg, ...args) {\n return ReflectApply(fn, thisArg, args);\n }\n}\nvar channels = new WeakRefMap, traceEvents = [\"start\", \"end\", \"asyncStart\", \"asyncEnd\", \"error\"];\n\nclass TracingChannel {\n constructor(nameOrChannels) {\n if (typeof nameOrChannels === \"string\")\n this.start = channel(`tracing:${nameOrChannels}:start`), this.end = channel(`tracing:${nameOrChannels}:end`), this.asyncStart = channel(`tracing:${nameOrChannels}:asyncStart`), this.asyncEnd = channel(`tracing:${nameOrChannels}:asyncEnd`), this.error = channel(`tracing:${nameOrChannels}:error`);\n else if (typeof nameOrChannels === \"object\") {\n const { start, end, asyncStart, asyncEnd, error } = nameOrChannels;\n assertChannel(start, \"nameOrChannels.start\"), assertChannel(end, \"nameOrChannels.end\"), assertChannel(asyncStart, \"nameOrChannels.asyncStart\"), assertChannel(asyncEnd, \"nameOrChannels.asyncEnd\"), assertChannel(error, \"nameOrChannels.error\"), this.start = start, this.end = end, this.asyncStart = asyncStart, this.asyncEnd = asyncEnd, this.error = error;\n } else\n throw new ERR_INVALID_ARG_TYPE(\"nameOrChannels\", [\"string\", \"object\", \"Channel\"], nameOrChannels);\n }\n subscribe(handlers) {\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n this[name]\?.subscribe(handlers[name]);\n }\n }\n unsubscribe(handlers) {\n let done = !0;\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n if (!this[name]\?.unsubscribe(handlers[name]))\n done = !1;\n }\n return done;\n }\n traceSync(fn, context = {}, thisArg, ...args) {\n const { start, end, error } = this;\n return start.runStores(context, () => {\n try {\n const result = ReflectApply(fn, thisArg, args);\n return context.result = result, result;\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n tracePromise(fn, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function reject(err) {\n return context.error = err, error.publish(context), asyncStart.publish(context), asyncEnd.publish(context), PromiseReject(err);\n }\n function resolve(result) {\n return context.result = result, asyncStart.publish(context), asyncEnd.publish(context), result;\n }\n return start.runStores(context, () => {\n try {\n let promise = ReflectApply(fn, thisArg, args);\n if (!(promise instanceof @Promise))\n promise = PromiseResolve(promise);\n return PromisePrototypeThen(promise, resolve, reject);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n traceCallback(fn, position = -1, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function wrappedCallback(err, res) {\n if (err)\n context.error = err, error.publish(context);\n else\n context.result = res;\n asyncStart.runStores(context, () => {\n try {\n if (callback)\n return ReflectApply(callback, this, arguments);\n } finally {\n asyncEnd.publish(context);\n }\n });\n }\n const callback = ArrayPrototypeAt(args, position);\n if (typeof callback !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"callback\", [\"function\"], callback);\n return ArrayPrototypeSplice(args, position, 1, wrappedCallback), start.runStores(context, () => {\n try {\n return ReflectApply(fn, thisArg, args);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n}\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n$ = {\n channel,\n hasSubscribers,\n subscribe,\n tracingChannel,\n unsubscribe,\n Channel\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDNSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/dns.ts\nvar getServers = function() {\n return dns.getServers();\n}, lookup = function(domain, options, callback) {\n if (typeof options == \"function\")\n callback = options;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n if (typeof options == \"number\")\n options = { family: options };\n if (domain !== domain || typeof domain !== \"number\" && !domain) {\n console.warn(`DeprecationWarning: The provided hostname \"${@String(domain)}\" is not a valid hostname, and is supported in the dns module solely for compatibility.`), callback(null, null, 4);\n return;\n }\n dns.lookup(domain, options).then((res) => {\n if (res.sort((a, b) => a.family - b.family), options\?.all)\n callback(null, res.map(mapLookupAll));\n else {\n const [{ address, family }] = res;\n callback(null, address, family);\n }\n }, (error) => {\n callback(error);\n });\n}, resolveSrv = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveTxt = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveSoa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNaptr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveMx = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCaa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNs = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolvePtr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCname = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, lookupService = function(address, port, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookupService(address, port, callback).then((results) => {\n callback(null, ...results);\n }, (error) => {\n callback(error);\n });\n}, reverse = function(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolve = function(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(({ address }) => address));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n}, Resolver = function(options) {\n return new InternalResolver(options);\n}, setDefaultResultOrder = function() {\n}, setServers = function() {\n}, $, dns = Bun.dns, InternalResolver = class Resolver2 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype, rrtype = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(mapResolveX));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n }\n resolve4(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 4 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(mapResolveX));\n }, (error) => {\n callback(error);\n });\n }\n resolve6(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 6 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(({ address }) => address));\n }, (error) => {\n callback(error);\n });\n }\n resolveAny(hostname, callback) {\n callback(null, []);\n }\n resolveCname(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveMx(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNaptr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNs(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolvePtr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSrv(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveCaa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveTxt(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSoa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n reverse(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n setServers(servers) {\n }\n};\nResolver.prototype = {};\nObject.setPrototypeOf(Resolver.prototype, InternalResolver.prototype);\nObject.setPrototypeOf(Resolver, InternalResolver);\nvar {\n resolve,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNaptr,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n reverse,\n resolveTxt\n} = InternalResolver.prototype, promisifyLookup = (res) => {\n res.sort((a, b) => a.family - b.family);\n const [{ address, family }] = res;\n return { address, family };\n}, mapLookupAll = (res) => {\n const { address, family } = res;\n return { address, family };\n}, promisifyLookupAll = (res) => {\n return res.sort((a, b) => a.family - b.family), res.map(mapLookupAll);\n}, mapResolveX = (a) => a.address, promisifyResolveX = (res) => {\n return res\?.map(mapResolveX);\n}, promises = {\n lookup(domain, options) {\n if (options\?.all)\n return dns.lookup(domain, options).then(promisifyLookupAll);\n return dns.lookup(domain, options).then(promisifyLookup);\n },\n lookupService(address, port) {\n return dns.lookupService(address, port);\n },\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n },\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n },\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n },\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n },\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n },\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n },\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n },\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n },\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n },\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n },\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n },\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n },\n reverse(ip) {\n return dns.reverse(ip);\n },\n Resolver: class Resolver3 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n }\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n }\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n }\n resolveAny(hostname) {\n return @Promise.resolve([]);\n }\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n }\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n }\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n }\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n }\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n }\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n }\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n }\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n }\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n }\n reverse(ip) {\n return dns.reverse(ip);\n }\n setServers(servers) {\n }\n }\n};\nfor (let key of [\"resolveAny\"])\n promises[key] = () => @Promise.resolve(@undefined);\n$ = {\n ADDRCONFIG: 0,\n ALL: 1,\n V4MAPPED: 2,\n NODATA: \"DNS_ENODATA\",\n FORMERR: \"DNS_EFORMERR\",\n SERVFAIL: \"DNS_ESERVFAIL\",\n NOTFOUND: \"DNS_ENOTFOUND\",\n NOTIMP: \"DNS_ENOTIMP\",\n REFUSED: \"DNS_EREFUSED\",\n BADQUERY: \"DNS_EBADQUERY\",\n BADNAME: \"DNS_EBADNAME\",\n BADFAMILY: \"DNS_EBADFAMILY\",\n BADRESP: \"DNS_EBADRESP\",\n CONNREFUSED: \"DNS_ECONNREFUSED\",\n TIMEOUT: \"DNS_ETIMEOUT\",\n EOF: \"DNS_EEOF\",\n FILE: \"DNS_EFILE\",\n NOMEM: \"DNS_ENOMEM\",\n DESTRUCTION: \"DNS_EDESTRUCTION\",\n BADSTR: \"DNS_EBADSTR\",\n BADFLAGS: \"DNS_EBADFLAGS\",\n NONAME: \"DNS_ENONAME\",\n BADHINTS: \"DNS_EBADHINTS\",\n NOTINITIALIZED: \"DNS_ENOTINITIALIZED\",\n LOADIPHLPAPI: \"DNS_ELOADIPHLPAPI\",\n ADDRGETNETWORKPARAMS: \"DNS_EADDRGETNETWORKPARAMS\",\n CANCELLED: \"DNS_ECANCELLED\",\n lookup,\n lookupService,\n Resolver,\n setServers,\n setDefaultResultOrder,\n resolve,\n reverse,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n resolveTxt,\n resolveNaptr,\n promises,\n getServers\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeDNSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/dns.ts\nvar getServers = function() {\n return dns.getServers();\n}, lookup = function(domain, options, callback) {\n if (typeof options == \"function\")\n callback = options;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n if (typeof options == \"number\")\n options = { family: options };\n if (domain !== domain || typeof domain !== \"number\" && !domain) {\n console.warn(`DeprecationWarning: The provided hostname \"${@String(domain)}\" is not a valid hostname, and is supported in the dns module solely for compatibility.`), callback(null, null, 4);\n return;\n }\n dns.lookup(domain, options).then((res) => {\n if (res.sort((a, b) => a.family - b.family), options\?.all)\n callback(null, res.map(mapLookupAll));\n else {\n const [{ address, family }] = res;\n callback(null, address, family);\n }\n }, (error) => {\n callback(error);\n });\n}, resolveSrv = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveTxt = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveSoa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNaptr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveMx = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCaa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNs = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolvePtr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCname = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, lookupService = function(address, port, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookupService(address, port, callback).then((results) => {\n callback(null, ...results);\n }, (error) => {\n callback(error);\n });\n}, reverse = function(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolve = function(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(({ address }) => address));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n}, Resolver = function(options) {\n return new InternalResolver(options);\n}, setDefaultResultOrder = function() {\n}, setServers = function() {\n}, $, dns = Bun.dns, InternalResolver = class Resolver2 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype, rrtype = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(mapResolveX));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n }\n resolve4(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 4 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(mapResolveX));\n }, (error) => {\n callback(error);\n });\n }\n resolve6(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 6 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(({ address }) => address));\n }, (error) => {\n callback(error);\n });\n }\n resolveAny(hostname, callback) {\n callback(null, []);\n }\n resolveCname(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveMx(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNaptr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNs(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolvePtr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSrv(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveCaa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveTxt(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSoa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n reverse(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n setServers(servers) {\n }\n};\nResolver.prototype = {};\nObject.setPrototypeOf(Resolver.prototype, InternalResolver.prototype);\nObject.setPrototypeOf(Resolver, InternalResolver);\nvar {\n resolve,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNaptr,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n reverse,\n resolveTxt\n} = InternalResolver.prototype, promisifyLookup = (res) => {\n res.sort((a, b) => a.family - b.family);\n const [{ address, family }] = res;\n return { address, family };\n}, mapLookupAll = (res) => {\n const { address, family } = res;\n return { address, family };\n}, promisifyLookupAll = (res) => {\n return res.sort((a, b) => a.family - b.family), res.map(mapLookupAll);\n}, mapResolveX = (a) => a.address, promisifyResolveX = (res) => {\n return res\?.map(mapResolveX);\n}, promises = {\n lookup(domain, options) {\n if (options\?.all)\n return dns.lookup(domain, options).then(promisifyLookupAll);\n return dns.lookup(domain, options).then(promisifyLookup);\n },\n lookupService(address, port) {\n return dns.lookupService(address, port);\n },\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n },\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n },\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n },\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n },\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n },\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n },\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n },\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n },\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n },\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n },\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n },\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n },\n reverse(ip) {\n return dns.reverse(ip);\n },\n Resolver: class Resolver3 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n }\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n }\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n }\n resolveAny(hostname) {\n return @Promise.resolve([]);\n }\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n }\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n }\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n }\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n }\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n }\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n }\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n }\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n }\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n }\n reverse(ip) {\n return dns.reverse(ip);\n }\n setServers(servers) {\n }\n }\n};\nfor (let key of [\"resolveAny\"])\n promises[key] = () => @Promise.resolve(@undefined);\n$ = {\n ADDRCONFIG: 0,\n ALL: 1,\n V4MAPPED: 2,\n NODATA: \"DNS_ENODATA\",\n FORMERR: \"DNS_EFORMERR\",\n SERVFAIL: \"DNS_ESERVFAIL\",\n NOTFOUND: \"DNS_ENOTFOUND\",\n NOTIMP: \"DNS_ENOTIMP\",\n REFUSED: \"DNS_EREFUSED\",\n BADQUERY: \"DNS_EBADQUERY\",\n BADNAME: \"DNS_EBADNAME\",\n BADFAMILY: \"DNS_EBADFAMILY\",\n BADRESP: \"DNS_EBADRESP\",\n CONNREFUSED: \"DNS_ECONNREFUSED\",\n TIMEOUT: \"DNS_ETIMEOUT\",\n EOF: \"DNS_EEOF\",\n FILE: \"DNS_EFILE\",\n NOMEM: \"DNS_ENOMEM\",\n DESTRUCTION: \"DNS_EDESTRUCTION\",\n BADSTR: \"DNS_EBADSTR\",\n BADFLAGS: \"DNS_EBADFLAGS\",\n NONAME: \"DNS_ENONAME\",\n BADHINTS: \"DNS_EBADHINTS\",\n NOTINITIALIZED: \"DNS_ENOTINITIALIZED\",\n LOADIPHLPAPI: \"DNS_ELOADIPHLPAPI\",\n ADDRGETNETWORKPARAMS: \"DNS_EADDRGETNETWORKPARAMS\",\n CANCELLED: \"DNS_ECANCELLED\",\n lookup,\n lookupService,\n Resolver,\n setServers,\n setDefaultResultOrder,\n resolve,\n reverse,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n resolveTxt,\n resolveNaptr,\n promises,\n getServers\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDNSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/dns.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 17) || @createInternalModuleById(17)).promises})\n"); +static constexpr ASCIILiteral NodeDNSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/dns.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 17) || @createInternalModuleById(17)).promises})\n"); // // -static constexpr ASCIILiteral NodeDomainCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/domain.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), domain = {};\ndomain.createDomain = domain.create = function() {\n var d = new EventEmitter;\n function emitError(e) {\n d.emit(\"error\", e);\n }\n return d.add = function(emitter) {\n emitter.on(\"error\", emitError);\n }, d.remove = function(emitter) {\n emitter.removeListener(\"error\", emitError);\n }, d.bind = function(fn) {\n return function() {\n var args = @Array.prototype.slice.@call(arguments);\n try {\n fn.@apply(null, args);\n } catch (err) {\n emitError(err);\n }\n };\n }, d.intercept = function(fn) {\n return function(err) {\n if (err)\n emitError(err);\n else {\n var args = @Array.prototype.slice.@call(arguments, 1);\n try {\n fn.@apply(null, args);\n } catch (err2) {\n emitError(err2);\n }\n }\n };\n }, d.run = function(fn) {\n try {\n fn();\n } catch (err) {\n emitError(err);\n }\n return this;\n }, d.dispose = function() {\n return this.removeAllListeners(), this;\n }, d.enter = d.exit = function() {\n return this;\n }, d;\n};\nreturn domain})\n"); +static constexpr ASCIILiteral NodeDomainCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/domain.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), domain = {};\ndomain.createDomain = domain.create = function() {\n var d = new EventEmitter;\n function emitError(e) {\n d.emit(\"error\", e);\n }\n return d.add = function(emitter) {\n emitter.on(\"error\", emitError);\n }, d.remove = function(emitter) {\n emitter.removeListener(\"error\", emitError);\n }, d.bind = function(fn) {\n return function() {\n var args = @Array.prototype.slice.@call(arguments);\n try {\n fn.@apply(null, args);\n } catch (err) {\n emitError(err);\n }\n };\n }, d.intercept = function(fn) {\n return function(err) {\n if (err)\n emitError(err);\n else {\n var args = @Array.prototype.slice.@call(arguments, 1);\n try {\n fn.@apply(null, args);\n } catch (err2) {\n emitError(err2);\n }\n }\n };\n }, d.run = function(fn) {\n try {\n fn();\n } catch (err) {\n emitError(err);\n }\n return this;\n }, d.dispose = function() {\n return this.removeAllListeners(), this;\n }, d.enter = d.exit = function() {\n return this;\n }, d;\n};\nreturn domain})\n"); // // -static constexpr ASCIILiteral NodeEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/events.ts\nvar emitError = function(emitter, args) {\n var { _events: events } = emitter;\n if (args[0] \?\?= new Error(\"Unhandled error.\"), !events)\n throw args[0];\n var errorMonitor = events[kErrorMonitor];\n if (errorMonitor)\n for (var handler of ArrayPrototypeSlice.@call(errorMonitor))\n handler.@apply(emitter, args);\n var handlers = events.error;\n if (!handlers)\n throw args[0];\n for (var handler of ArrayPrototypeSlice.@call(handlers))\n handler.@apply(emitter, args);\n return !0;\n}, addCatch = function(emitter, promise, type, args) {\n promise.then(@undefined, function(err) {\n process.nextTick(emitUnhandledRejectionOrErr, emitter, err, type, args);\n });\n}, emitUnhandledRejectionOrErr = function(emitter, err, type, args) {\n if (typeof emitter[kRejection] === \"function\")\n emitter[kRejection](err, type, ...args);\n else\n try {\n emitter[kCapture] = !1, emitter.emit(\"error\", err);\n } finally {\n emitter[kCapture] = !0;\n }\n}, overflowWarning = function(emitter, type, handlers) {\n handlers.warned = !0;\n const warn = new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${@String(type)} listeners ` + `added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);\n warn.name = \"MaxListenersExceededWarning\", warn.emitter = emitter, warn.type = type, warn.count = handlers.length, process.emitWarning(warn);\n}, onceWrapper = function(type, listener, ...args) {\n this.removeListener(type, listener), listener.@apply(this, args);\n}, once = function(emitter, type, options) {\n var signal = options\?.signal;\n if (validateAbortSignal(signal, \"options.signal\"), signal\?.aborted)\n throw new AbortError(@undefined, { cause: signal\?.reason });\n return new @Promise((resolve, reject) => {\n const errorListener = (err) => {\n if (emitter.removeListener(type, resolver), signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n reject(err);\n }, resolver = (...args) => {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(\"error\", errorListener);\n if (signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n resolve(args);\n };\n if (eventTargetAgnosticAddListener(emitter, type, resolver, { once: !0 }), type !== \"error\" && typeof emitter.once === \"function\")\n emitter.once(\"error\", errorListener);\n function abortListener() {\n eventTargetAgnosticRemoveListener(emitter, type, resolver), eventTargetAgnosticRemoveListener(emitter, \"error\", errorListener), reject(new AbortError(@undefined, { cause: signal\?.reason }));\n }\n if (signal != null)\n eventTargetAgnosticAddListener(signal, \"abort\", abortListener, { once: !0 });\n });\n}, on = function(emitter, type, options) {\n var { signal, close, highWatermark = Number.MAX_SAFE_INTEGER, lowWatermark = 1 } = options || {};\n throwNotImplemented(\"events.on\", 2679);\n}, getEventListeners = function(emitter, type) {\n if (emitter instanceof EventTarget)\n throwNotImplemented(\"getEventListeners with an EventTarget\", 2678);\n return emitter.listeners(type);\n}, setMaxListeners = function(n, ...eventTargets) {\n validateNumber(n, \"setMaxListeners\", 0);\n var length;\n if (eventTargets && (length = eventTargets.length))\n for (let i = 0;i < length; i++)\n eventTargets[i].setMaxListeners(n);\n else\n defaultMaxListeners = n;\n}, listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n}, eventTargetAgnosticRemoveListener = function(emitter, name, listener, flags) {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(name, listener);\n else\n emitter.removeEventListener(name, listener, flags);\n}, eventTargetAgnosticAddListener = function(emitter, name, listener, flags) {\n if (typeof emitter.on === \"function\")\n if (flags.once)\n emitter.once(name, listener);\n else\n emitter.on(name, listener);\n else\n emitter.addEventListener(name, listener, flags);\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_OUT_OF_RANGE = function(name, range, value) {\n const err = new RangeError(`The \"${name}\" argument is out of range. It must be ${range}. Received ${value}`);\n return err.code = \"ERR_OUT_OF_RANGE\", err;\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateNumber = function(value, name, min = @undefined, max) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (min != null && value < min || max != null && value > max || (min != null || max != null) && Number.isNaN(value))\n throw new ERR_OUT_OF_RANGE(name, `${min != null \? `>= ${min}` : \"\"}${min != null && max != null \? \" && \" : \"\"}${max != null \? `<= ${max}` : \"\"}`, value);\n}, checkListener = function(listener) {\n if (typeof listener !== \"function\")\n @throwTypeError(\"The listener must be a function\");\n}, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), SymbolFor = Symbol.for, kCapture = Symbol(\"kCapture\"), kErrorMonitor = SymbolFor(\"events.errorMonitor\"), kMaxEventTargetListeners = Symbol(\"events.maxEventTargetListeners\"), kMaxEventTargetListenersWarned = Symbol(\"events.maxEventTargetListenersWarned\"), kWatermarkData = SymbolFor(\"nodejs.watermarkData\"), kRejection = SymbolFor(\"nodejs.rejection\"), captureRejectionSymbol = SymbolFor(\"nodejs.rejection\"), ArrayPrototypeSlice = @Array.prototype.slice, defaultMaxListeners = 10, EventEmitter = function EventEmitter2(opts) {\n if (this._events === @undefined || this._events === this.__proto__._events)\n this._events = { __proto__: null }, this._eventsCount = 0;\n if (this._maxListeners \?\?= @undefined, this[kCapture] = opts\?.captureRejections \? Boolean(opts\?.captureRejections) : EventEmitterPrototype[kCapture])\n this.emit = emitWithRejectionCapture;\n}, EventEmitterPrototype = EventEmitter.prototype = {};\nEventEmitterPrototype._events = @undefined;\nEventEmitterPrototype._eventsCount = 0;\nEventEmitterPrototype._maxListeners = @undefined;\nEventEmitterPrototype.setMaxListeners = function setMaxListeners2(n) {\n return validateNumber(n, \"setMaxListeners\", 0), this._maxListeners = n, this;\n};\nEventEmitterPrototype.constructor = EventEmitter;\nEventEmitterPrototype.getMaxListeners = function getMaxListeners() {\n return this._maxListeners \?\? defaultMaxListeners;\n};\nvar emitWithoutRejectionCapture = function emit(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n switch (args.length) {\n case 0:\n handler.@call(this);\n break;\n case 1:\n handler.@call(this, args[0]);\n break;\n case 2:\n handler.@call(this, args[0], args[1]);\n break;\n case 3:\n handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n handler.@apply(this, args);\n break;\n }\n }\n return !0;\n}, emitWithRejectionCapture = function emit2(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n let result;\n switch (args.length) {\n case 0:\n result = handler.@call(this);\n break;\n case 1:\n result = handler.@call(this, args[0]);\n break;\n case 2:\n result = handler.@call(this, args[0], args[1]);\n break;\n case 3:\n result = handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n result = handler.@apply(this, args);\n break;\n }\n if (result !== @undefined && @isPromise(result))\n addCatch(this, result, type, args);\n }\n return !0;\n};\nEventEmitterPrototype.emit = emitWithoutRejectionCapture;\nEventEmitterPrototype.addListener = function addListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.push(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.on = EventEmitterPrototype.addListener;\nEventEmitterPrototype.prependListener = function prependListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.unshift(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.once = function once2(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.addListener(type, bound), this;\n};\nEventEmitterPrototype.prependOnceListener = function prependOnceListener(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.prependListener(type, bound), this;\n};\nEventEmitterPrototype.removeListener = function removeListener(type, fn) {\n checkListener(fn);\n var { _events: events } = this;\n if (!events)\n return this;\n var handlers = events[type];\n if (!handlers)\n return this;\n var length = handlers.length;\n let position = -1;\n for (let i = length - 1;i >= 0; i--)\n if (handlers[i] === fn || handlers[i].listener === fn) {\n position = i;\n break;\n }\n if (position < 0)\n return this;\n if (position === 0)\n handlers.shift();\n else\n handlers.splice(position, 1);\n if (handlers.length === 0)\n delete events[type], this._eventsCount--;\n return this;\n};\nEventEmitterPrototype.off = EventEmitterPrototype.removeListener;\nEventEmitterPrototype.removeAllListeners = function removeAllListeners(type) {\n var { _events: events } = this;\n if (type && events) {\n if (events[type])\n delete events[type], this._eventsCount--;\n } else\n this._events = { __proto__: null };\n return this;\n};\nEventEmitterPrototype.listeners = function listeners(type) {\n var { _events: events } = this;\n if (!events)\n return [];\n var handlers = events[type];\n if (!handlers)\n return [];\n return handlers.map((x) => x.listener \?\? x);\n};\nEventEmitterPrototype.rawListeners = function rawListeners(type) {\n var { _events } = this;\n if (!_events)\n return [];\n var handlers = _events[type];\n if (!handlers)\n return [];\n return handlers.slice();\n};\nEventEmitterPrototype.listenerCount = function listenerCount2(type) {\n var { _events: events } = this;\n if (!events)\n return 0;\n return events[type]\?.length \?\? 0;\n};\nEventEmitterPrototype.eventNames = function eventNames() {\n return this._eventsCount > 0 \? Reflect.ownKeys(this._events) : [];\n};\nEventEmitterPrototype[kCapture] = !1;\n\nclass AbortError extends Error {\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n}\nvar AsyncResource = null;\n\nclass EventEmitterAsyncResource extends EventEmitter {\n triggerAsyncId;\n asyncResource;\n constructor(options) {\n if (!AsyncResource)\n AsyncResource = (@getInternalField(@internalModuleRegistry, 10) || @createInternalModuleById(10)).AsyncResource;\n var { captureRejections = !1, triggerAsyncId, name = new.target.name, requireManualDestroy } = options || {};\n super({ captureRejections });\n this.triggerAsyncId = triggerAsyncId \?\? 0, this.asyncResource = new AsyncResource(name, { triggerAsyncId, requireManualDestroy });\n }\n emit(...args) {\n this.asyncResource.runInAsyncScope(() => super.emit(...args));\n }\n emitDestroy() {\n this.asyncResource.emitDestroy();\n }\n}\nObject.defineProperties(EventEmitter, {\n captureRejections: {\n get() {\n return EventEmitterPrototype[kCapture];\n },\n set(value) {\n validateBoolean(value, \"EventEmitter.captureRejections\"), EventEmitterPrototype[kCapture] = value;\n },\n enumerable: !0\n },\n defaultMaxListeners: {\n enumerable: !0,\n get: () => {\n return defaultMaxListeners;\n },\n set: (arg) => {\n validateNumber(arg, \"defaultMaxListeners\", 0), defaultMaxListeners = arg;\n }\n },\n kMaxEventTargetListeners: {\n value: kMaxEventTargetListeners,\n enumerable: !1,\n configurable: !1,\n writable: !1\n },\n kMaxEventTargetListenersWarned: {\n value: kMaxEventTargetListenersWarned,\n enumerable: !1,\n configurable: !1,\n writable: !1\n }\n});\nObject.assign(EventEmitter, {\n once,\n on,\n getEventListeners,\n setMaxListeners,\n EventEmitter,\n usingDomains: !1,\n captureRejectionSymbol,\n EventEmitterAsyncResource,\n errorMonitor: kErrorMonitor,\n setMaxListeners,\n init: EventEmitter,\n listenerCount\n});\nreturn EventEmitter})\n"); +static constexpr ASCIILiteral NodeEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/events.ts\nvar emitError = function(emitter, args) {\n var { _events: events } = emitter;\n if (args[0] \?\?= new Error(\"Unhandled error.\"), !events)\n throw args[0];\n var errorMonitor = events[kErrorMonitor];\n if (errorMonitor)\n for (var handler of ArrayPrototypeSlice.@call(errorMonitor))\n handler.@apply(emitter, args);\n var handlers = events.error;\n if (!handlers)\n throw args[0];\n for (var handler of ArrayPrototypeSlice.@call(handlers))\n handler.@apply(emitter, args);\n return !0;\n}, addCatch = function(emitter, promise, type, args) {\n promise.then(@undefined, function(err) {\n process.nextTick(emitUnhandledRejectionOrErr, emitter, err, type, args);\n });\n}, emitUnhandledRejectionOrErr = function(emitter, err, type, args) {\n if (typeof emitter[kRejection] === \"function\")\n emitter[kRejection](err, type, ...args);\n else\n try {\n emitter[kCapture] = !1, emitter.emit(\"error\", err);\n } finally {\n emitter[kCapture] = !0;\n }\n}, overflowWarning = function(emitter, type, handlers) {\n handlers.warned = !0;\n const warn = new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${@String(type)} listeners ` + `added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);\n warn.name = \"MaxListenersExceededWarning\", warn.emitter = emitter, warn.type = type, warn.count = handlers.length, process.emitWarning(warn);\n}, onceWrapper = function(type, listener, ...args) {\n this.removeListener(type, listener), listener.@apply(this, args);\n}, once = function(emitter, type, options) {\n var signal = options\?.signal;\n if (validateAbortSignal(signal, \"options.signal\"), signal\?.aborted)\n throw new AbortError(@undefined, { cause: signal\?.reason });\n return new @Promise((resolve, reject) => {\n const errorListener = (err) => {\n if (emitter.removeListener(type, resolver), signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n reject(err);\n }, resolver = (...args) => {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(\"error\", errorListener);\n if (signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n resolve(args);\n };\n if (eventTargetAgnosticAddListener(emitter, type, resolver, { once: !0 }), type !== \"error\" && typeof emitter.once === \"function\")\n emitter.once(\"error\", errorListener);\n function abortListener() {\n eventTargetAgnosticRemoveListener(emitter, type, resolver), eventTargetAgnosticRemoveListener(emitter, \"error\", errorListener), reject(new AbortError(@undefined, { cause: signal\?.reason }));\n }\n if (signal != null)\n eventTargetAgnosticAddListener(signal, \"abort\", abortListener, { once: !0 });\n });\n}, on = function(emitter, type, options) {\n var { signal, close, highWatermark = Number.MAX_SAFE_INTEGER, lowWatermark = 1 } = options || {};\n throwNotImplemented(\"events.on\", 2679);\n}, getEventListeners = function(emitter, type) {\n if (emitter instanceof EventTarget)\n throwNotImplemented(\"getEventListeners with an EventTarget\", 2678);\n return emitter.listeners(type);\n}, setMaxListeners = function(n, ...eventTargets) {\n validateNumber(n, \"setMaxListeners\", 0);\n var length;\n if (eventTargets && (length = eventTargets.length))\n for (let i = 0;i < length; i++)\n eventTargets[i].setMaxListeners(n);\n else\n defaultMaxListeners = n;\n}, listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n}, eventTargetAgnosticRemoveListener = function(emitter, name, listener, flags) {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(name, listener);\n else\n emitter.removeEventListener(name, listener, flags);\n}, eventTargetAgnosticAddListener = function(emitter, name, listener, flags) {\n if (typeof emitter.on === \"function\")\n if (flags.once)\n emitter.once(name, listener);\n else\n emitter.on(name, listener);\n else\n emitter.addEventListener(name, listener, flags);\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_OUT_OF_RANGE = function(name, range, value) {\n const err = new RangeError(`The \"${name}\" argument is out of range. It must be ${range}. Received ${value}`);\n return err.code = \"ERR_OUT_OF_RANGE\", err;\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateNumber = function(value, name, min = @undefined, max) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (min != null && value < min || max != null && value > max || (min != null || max != null) && Number.isNaN(value))\n throw new ERR_OUT_OF_RANGE(name, `${min != null \? `>= ${min}` : \"\"}${min != null && max != null \? \" && \" : \"\"}${max != null \? `<= ${max}` : \"\"}`, value);\n}, checkListener = function(listener) {\n if (typeof listener !== \"function\")\n @throwTypeError(\"The listener must be a function\");\n}, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), SymbolFor = Symbol.for, kCapture = Symbol(\"kCapture\"), kErrorMonitor = SymbolFor(\"events.errorMonitor\"), kMaxEventTargetListeners = Symbol(\"events.maxEventTargetListeners\"), kMaxEventTargetListenersWarned = Symbol(\"events.maxEventTargetListenersWarned\"), kWatermarkData = SymbolFor(\"nodejs.watermarkData\"), kRejection = SymbolFor(\"nodejs.rejection\"), captureRejectionSymbol = SymbolFor(\"nodejs.rejection\"), ArrayPrototypeSlice = @Array.prototype.slice, defaultMaxListeners = 10, EventEmitter = function EventEmitter2(opts) {\n if (this._events === @undefined || this._events === this.__proto__._events)\n this._events = { __proto__: null }, this._eventsCount = 0;\n if (this._maxListeners \?\?= @undefined, this[kCapture] = opts\?.captureRejections \? Boolean(opts\?.captureRejections) : EventEmitterPrototype[kCapture])\n this.emit = emitWithRejectionCapture;\n}, EventEmitterPrototype = EventEmitter.prototype = {};\nEventEmitterPrototype._events = @undefined;\nEventEmitterPrototype._eventsCount = 0;\nEventEmitterPrototype._maxListeners = @undefined;\nEventEmitterPrototype.setMaxListeners = function setMaxListeners2(n) {\n return validateNumber(n, \"setMaxListeners\", 0), this._maxListeners = n, this;\n};\nEventEmitterPrototype.constructor = EventEmitter;\nEventEmitterPrototype.getMaxListeners = function getMaxListeners() {\n return this._maxListeners \?\? defaultMaxListeners;\n};\nvar emitWithoutRejectionCapture = function emit(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n switch (args.length) {\n case 0:\n handler.@call(this);\n break;\n case 1:\n handler.@call(this, args[0]);\n break;\n case 2:\n handler.@call(this, args[0], args[1]);\n break;\n case 3:\n handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n handler.@apply(this, args);\n break;\n }\n }\n return !0;\n}, emitWithRejectionCapture = function emit2(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n let result;\n switch (args.length) {\n case 0:\n result = handler.@call(this);\n break;\n case 1:\n result = handler.@call(this, args[0]);\n break;\n case 2:\n result = handler.@call(this, args[0], args[1]);\n break;\n case 3:\n result = handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n result = handler.@apply(this, args);\n break;\n }\n if (result !== @undefined && @isPromise(result))\n addCatch(this, result, type, args);\n }\n return !0;\n};\nEventEmitterPrototype.emit = emitWithoutRejectionCapture;\nEventEmitterPrototype.addListener = function addListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.push(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.on = EventEmitterPrototype.addListener;\nEventEmitterPrototype.prependListener = function prependListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.unshift(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.once = function once2(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.addListener(type, bound), this;\n};\nEventEmitterPrototype.prependOnceListener = function prependOnceListener(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.prependListener(type, bound), this;\n};\nEventEmitterPrototype.removeListener = function removeListener(type, fn) {\n checkListener(fn);\n var { _events: events } = this;\n if (!events)\n return this;\n var handlers = events[type];\n if (!handlers)\n return this;\n var length = handlers.length;\n let position = -1;\n for (let i = length - 1;i >= 0; i--)\n if (handlers[i] === fn || handlers[i].listener === fn) {\n position = i;\n break;\n }\n if (position < 0)\n return this;\n if (position === 0)\n handlers.shift();\n else\n handlers.splice(position, 1);\n if (handlers.length === 0)\n delete events[type], this._eventsCount--;\n return this;\n};\nEventEmitterPrototype.off = EventEmitterPrototype.removeListener;\nEventEmitterPrototype.removeAllListeners = function removeAllListeners(type) {\n var { _events: events } = this;\n if (type && events) {\n if (events[type])\n delete events[type], this._eventsCount--;\n } else\n this._events = { __proto__: null };\n return this;\n};\nEventEmitterPrototype.listeners = function listeners(type) {\n var { _events: events } = this;\n if (!events)\n return [];\n var handlers = events[type];\n if (!handlers)\n return [];\n return handlers.map((x) => x.listener \?\? x);\n};\nEventEmitterPrototype.rawListeners = function rawListeners(type) {\n var { _events } = this;\n if (!_events)\n return [];\n var handlers = _events[type];\n if (!handlers)\n return [];\n return handlers.slice();\n};\nEventEmitterPrototype.listenerCount = function listenerCount2(type) {\n var { _events: events } = this;\n if (!events)\n return 0;\n return events[type]\?.length \?\? 0;\n};\nEventEmitterPrototype.eventNames = function eventNames() {\n return this._eventsCount > 0 \? Reflect.ownKeys(this._events) : [];\n};\nEventEmitterPrototype[kCapture] = !1;\n\nclass AbortError extends Error {\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n}\nvar AsyncResource = null;\n\nclass EventEmitterAsyncResource extends EventEmitter {\n triggerAsyncId;\n asyncResource;\n constructor(options) {\n if (!AsyncResource)\n AsyncResource = (@getInternalField(@internalModuleRegistry, 10) || @createInternalModuleById(10)).AsyncResource;\n var { captureRejections = !1, triggerAsyncId, name = new.target.name, requireManualDestroy } = options || {};\n super({ captureRejections });\n this.triggerAsyncId = triggerAsyncId \?\? 0, this.asyncResource = new AsyncResource(name, { triggerAsyncId, requireManualDestroy });\n }\n emit(...args) {\n this.asyncResource.runInAsyncScope(() => super.emit(...args));\n }\n emitDestroy() {\n this.asyncResource.emitDestroy();\n }\n}\nObject.defineProperties(EventEmitter, {\n captureRejections: {\n get() {\n return EventEmitterPrototype[kCapture];\n },\n set(value) {\n validateBoolean(value, \"EventEmitter.captureRejections\"), EventEmitterPrototype[kCapture] = value;\n },\n enumerable: !0\n },\n defaultMaxListeners: {\n enumerable: !0,\n get: () => {\n return defaultMaxListeners;\n },\n set: (arg) => {\n validateNumber(arg, \"defaultMaxListeners\", 0), defaultMaxListeners = arg;\n }\n },\n kMaxEventTargetListeners: {\n value: kMaxEventTargetListeners,\n enumerable: !1,\n configurable: !1,\n writable: !1\n },\n kMaxEventTargetListenersWarned: {\n value: kMaxEventTargetListenersWarned,\n enumerable: !1,\n configurable: !1,\n writable: !1\n }\n});\nObject.assign(EventEmitter, {\n once,\n on,\n getEventListeners,\n setMaxListeners,\n EventEmitter,\n usingDomains: !1,\n captureRejectionSymbol,\n EventEmitterAsyncResource,\n errorMonitor: kErrorMonitor,\n setMaxListeners,\n init: EventEmitter,\n listenerCount\n});\nreturn EventEmitter})\n"); // // -static constexpr ASCIILiteral NodeFSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/fs.ts\nvar getValidatedPath = function(p) {\n if (p instanceof URL)\n return Bun.fileURLToPath(p);\n if (typeof p !== \"string\")\n @throwTypeError(\"Path must be a string or URL.\");\n return (_pathModule \?\?= @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).resolve(p);\n}, watchFile = function(filename, options, listener) {\n if (filename = getValidatedPath(filename), typeof options === \"function\")\n listener = options, options = {};\n if (typeof listener !== \"function\")\n @throwTypeError(\"listener must be a function\");\n var stat = statWatchers.get(filename);\n if (!stat)\n stat = new StatWatcher(filename, options), statWatchers.set(filename, stat);\n return stat.addListener(\"change\", listener), stat;\n}, unwatchFile = function(filename, listener) {\n filename = getValidatedPath(filename);\n var stat = statWatchers.get(filename);\n if (!stat)\n return;\n if (listener) {\n if (stat.removeListener(\"change\", listener), stat.listenerCount(\"change\") !== 0)\n return;\n } else\n stat.removeAllListeners(\"change\");\n stat.stop(), statWatchers.delete(filename);\n}, callbackify = function(fsFunction, args) {\n const callback = args[args.length - 1];\n try {\n var result = fsFunction.@apply(fs, args.slice(0, args.length - 1));\n result.then((...args2) => callback(null, ...args2), (err) => callback(err));\n } catch (e) {\n if (typeof callback === \"function\")\n callback(e);\n else\n throw e;\n }\n}, createReadStream = function(path, options) {\n return new ReadStream(path, options);\n}, WriteStream_handleWrite = function(er, bytes) {\n if (er)\n return WriteStream_errorOrDestroy.@call(this, er);\n this.bytesWritten += bytes;\n}, WriteStream_internalClose = function(err, cb) {\n this[_writeStreamPathFastPathSymbol] = !1;\n var fd = this.fd;\n this[_fs].close(fd, (er) => {\n this.fd = null, cb(err || er);\n });\n}, WriteStream_errorOrDestroy = function(err) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n}, createWriteStream = function(path, options) {\n return new WriteStream(path, options);\n}, cpSync = function(src, dest, options) {\n if (!options)\n return fs.cpSync(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cpSync)\n lazy_cpSync = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cpSync(src, dest, options);\n }\n return fs.cpSync(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n}, cp = function(src, dest, options, callback) {\n if (typeof options === \"function\")\n callback = options, options = @undefined;\n promises.cp(src, dest, options).then(() => callback(), callback);\n}, _toUnixTimestamp = function(time, name = \"time\") {\n if (typeof time === \"string\" && +time == time)\n return +time;\n if (NumberIsFinite(time)) {\n if (time < 0)\n return DateNow() / 1000;\n return time;\n }\n if (isDate(time))\n return DatePrototypeGetTime(time) / 1000;\n @throwTypeError(`Expected ${name} to be a number or Date`);\n}, $, ReadStream, WriteStream, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), promises = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), Stream = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { isArrayBufferView } = @requireNativeModule(\"util/types\"), _writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), _fs = Symbol.for(\"#fs\"), constants = @processBindingConstants.fs, fs = Bun.fs();\n\nclass FSWatcher extends EventEmitter {\n #watcher;\n #listener;\n constructor(path, options, listener) {\n super();\n if (typeof options === \"function\")\n listener = options, options = {};\n else if (typeof options === \"string\")\n options = { encoding: options };\n if (typeof listener !== \"function\")\n listener = () => {\n };\n this.#listener = listener;\n try {\n this.#watcher = fs.watch(path, options || {}, this.#onEvent.bind(this));\n } catch (e) {\n if (!e.message\?.startsWith(\"FileNotFound\"))\n throw e;\n const notFound = new Error(`ENOENT: no such file or directory, watch '${path}'`);\n throw notFound.code = \"ENOENT\", notFound.errno = -2, notFound.path = path, notFound.syscall = \"watch\", notFound.filename = path, notFound;\n }\n }\n #onEvent(eventType, filenameOrError) {\n if (eventType === \"error\" || eventType === \"close\")\n this.emit(eventType, filenameOrError);\n else\n this.emit(\"change\", eventType, filenameOrError), this.#listener(eventType, filenameOrError);\n }\n close() {\n this.#watcher\?.close(), this.#watcher = null;\n }\n ref() {\n this.#watcher\?.ref();\n }\n unref() {\n this.#watcher\?.unref();\n }\n start() {\n }\n}\n\nclass StatWatcher extends EventEmitter {\n constructor(path, options) {\n super();\n this._handle = fs.watchFile(path, options, this.#onChange.bind(this));\n }\n #onChange(curr, prev) {\n this.emit(\"change\", curr, prev);\n }\n start() {\n }\n stop() {\n this._handle\?.close(), this._handle = null;\n }\n ref() {\n this._handle\?.ref();\n }\n unref() {\n this._handle\?.unref();\n }\n}\nvar access = function access2(...args) {\n callbackify(fs.access, args);\n}, appendFile = function appendFile2(...args) {\n callbackify(fs.appendFile, args);\n}, close = function close2(...args) {\n callbackify(fs.close, args);\n}, rm = function rm2(...args) {\n callbackify(fs.rm, args);\n}, rmdir = function rmdir2(...args) {\n callbackify(fs.rmdir, args);\n}, copyFile = function copyFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n fs.copyFile(...args).then((result) => callback(null, result), callback);\n}, exists = function exists2(path, callback) {\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n try {\n fs.exists.@apply(fs, [path]).then((existed) => callback(existed), (_) => callback(!1));\n } catch (e) {\n callback(!1);\n }\n}, chown = function chown2(...args) {\n callbackify(fs.chown, args);\n}, chmod = function chmod2(...args) {\n callbackify(fs.chmod, args);\n}, fchmod = function fchmod2(...args) {\n callbackify(fs.fchmod, args);\n}, fchown = function fchown2(...args) {\n callbackify(fs.fchown, args);\n}, fstat = function fstat2(...args) {\n callbackify(fs.fstat, args);\n}, fsync = function fsync2(...args) {\n callbackify(fs.fsync, args);\n}, ftruncate = function ftruncate2(...args) {\n callbackify(fs.ftruncate, args);\n}, futimes = function futimes2(...args) {\n callbackify(fs.futimes, args);\n}, lchmod = function lchmod2(...args) {\n callbackify(fs.lchmod, args);\n}, lchown = function lchown2(...args) {\n callbackify(fs.lchown, args);\n}, link = function link2(...args) {\n callbackify(fs.link, args);\n}, mkdir = function mkdir2(...args) {\n callbackify(fs.mkdir, args);\n}, mkdtemp = function mkdtemp2(...args) {\n callbackify(fs.mkdtemp, args);\n}, open = function open2(...args) {\n callbackify(fs.open, args);\n}, read = function read2(fd, buffer, offsetOrOptions, length, position, callback) {\n let offset = offsetOrOptions, params = null;\n if (arguments.length <= 4) {\n if (arguments.length === 4)\n callback = length, params = offsetOrOptions;\n else if (arguments.length === 3) {\n if (!isArrayBufferView(buffer))\n params = buffer, { buffer = @Buffer.alloc(16384) } = params \?\? {};\n callback = offsetOrOptions;\n } else\n callback = buffer, buffer = @Buffer.alloc(16384);\n ({ offset = 0, length = buffer\?.byteLength - offset, position = null } = params \?\? {});\n }\n queueMicrotask(() => {\n try {\n var bytesRead = fs.readSync(fd, buffer, offset, length, position);\n } catch (e) {\n callback(e);\n }\n callback(null, bytesRead, buffer);\n });\n}, write = function write2(...args) {\n callbackify(fs.write, args);\n}, readdir = function readdir2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readdir(...args).then((result) => callback(null, result), callback);\n}, readFile = function readFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readFile(...args).then((result) => callback(null, result), callback);\n}, writeFile = function writeFile2(...args) {\n callbackify(fs.writeFile, args);\n}, readlink = function readlink2(...args) {\n callbackify(fs.readlink, args);\n}, realpath = function realpath2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.realpath(...args).then((result) => callback(null, result), callback);\n}, rename = function rename2(...args) {\n callbackify(fs.rename, args);\n}, lstat = function lstat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.lstat(...args).then((result) => callback(null, result), callback);\n}, stat = function stat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.stat(...args).then((result) => callback(null, result), callback);\n}, symlink = function symlink2(...args) {\n callbackify(fs.symlink, args);\n}, truncate = function truncate2(...args) {\n callbackify(fs.truncate, args);\n}, unlink = function unlink2(...args) {\n callbackify(fs.unlink, args);\n}, utimes = function utimes2(...args) {\n callbackify(fs.utimes, args);\n}, lutimes = function lutimes2(...args) {\n callbackify(fs.lutimes, args);\n}, accessSync = fs.accessSync.bind(fs), appendFileSync = fs.appendFileSync.bind(fs), closeSync = fs.closeSync.bind(fs), copyFileSync = fs.copyFileSync.bind(fs), existsSync = fs.existsSync.bind(fs), chownSync = fs.chownSync.bind(fs), chmodSync = fs.chmodSync.bind(fs), fchmodSync = fs.fchmodSync.bind(fs), fchownSync = fs.fchownSync.bind(fs), fstatSync = fs.fstatSync.bind(fs), fsyncSync = fs.fsyncSync.bind(fs), ftruncateSync = fs.ftruncateSync.bind(fs), futimesSync = fs.futimesSync.bind(fs), lchmodSync = fs.lchmodSync.bind(fs), lchownSync = fs.lchownSync.bind(fs), linkSync = fs.linkSync.bind(fs), lstatSync = fs.lstatSync.bind(fs), mkdirSync = fs.mkdirSync.bind(fs), mkdtempSync = fs.mkdtempSync.bind(fs), openSync = fs.openSync.bind(fs), readSync = fs.readSync.bind(fs), writeSync = fs.writeSync.bind(fs), readdirSync = fs.readdirSync.bind(fs), readFileSync = fs.readFileSync.bind(fs), writeFileSync = fs.writeFileSync.bind(fs), readlinkSync = fs.readlinkSync.bind(fs), realpathSync = fs.realpathSync.bind(fs), renameSync = fs.renameSync.bind(fs), statSync = fs.statSync.bind(fs), symlinkSync = fs.symlinkSync.bind(fs), truncateSync = fs.truncateSync.bind(fs), unlinkSync = fs.unlinkSync.bind(fs), utimesSync = fs.utimesSync.bind(fs), lutimesSync = fs.lutimesSync.bind(fs), rmSync = fs.rmSync.bind(fs), rmdirSync = fs.rmdirSync.bind(fs), writev = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.writevSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, writevSync = fs.writevSync.bind(fs), readv = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.readvSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, readvSync = fs.readvSync.bind(fs), Dirent = fs.Dirent, Stats = fs.Stats, watch = function watch2(path, options, listener) {\n return new FSWatcher(path, options, listener);\n}, statWatchers = new Map, _pathModule, readStreamPathFastPathSymbol = Symbol.for(\"Bun.Node.readStreamPathFastPath\"), readStreamSymbol = Symbol.for(\"Bun.NodeReadStream\"), readStreamPathOrFdSymbol = Symbol.for(\"Bun.NodeReadStreamPathOrFd\"), writeStreamSymbol = Symbol.for(\"Bun.NodeWriteStream\"), writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), writeStreamPathFastPathCallSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPathCall\"), kIoDone = Symbol.for(\"kIoDone\"), defaultReadStreamOptions = {\n file: @undefined,\n fd: null,\n flags: \"r\",\n encoding: @undefined,\n mode: 438,\n autoClose: !0,\n emitClose: !0,\n start: 0,\n end: @Infinity,\n highWaterMark: 65536,\n fs: {\n read,\n open: (path, flags, mode, cb) => {\n var fd;\n try {\n fd = openSync(path, flags, mode);\n } catch (e) {\n cb(e);\n return;\n }\n cb(null, fd);\n },\n openSync,\n close\n },\n autoDestroy: !0\n}, ReadStreamClass;\nReadStream = function(InternalReadStream) {\n ReadStreamClass = InternalReadStream, Object.defineProperty(ReadStreamClass.prototype, Symbol.toStringTag, {\n value: \"ReadStream\",\n enumerable: !1\n });\n function ReadStream3(path, options) {\n return new InternalReadStream(path, options);\n }\n return ReadStream3.prototype = InternalReadStream.prototype, Object.defineProperty(ReadStream3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalReadStream;\n }\n });\n}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2, Stream.Readable) {\n constructor(pathOrFd, options = defaultReadStreamOptions) {\n if (typeof options !== \"object\" || !options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n flags = defaultReadStreamOptions.flags,\n encoding = defaultReadStreamOptions.encoding,\n mode = defaultReadStreamOptions.mode,\n autoClose = defaultReadStreamOptions.autoClose,\n emitClose = defaultReadStreamOptions.emitClose,\n start = defaultReadStreamOptions.start,\n end = defaultReadStreamOptions.end,\n autoDestroy = defaultReadStreamOptions.autoClose,\n fs: fs2 = defaultReadStreamOptions.fs,\n highWaterMark = defaultReadStreamOptions.highWaterMark,\n fd = defaultReadStreamOptions.fd\n } = options;\n if (pathOrFd\?.constructor\?.name === \"URL\")\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n var tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n @throwTypeError(\"Expected options.fd to be a number\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = fd, tempThis.autoClose = !1;\n } else if (typeof pathOrFd === \"string\") {\n if (pathOrFd.startsWith(\"file://\"))\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n if (pathOrFd.length === 0)\n @throwTypeError(\"Expected path to be a non-empty string\");\n tempThis.path = tempThis.file = tempThis[readStreamPathOrFdSymbol] = pathOrFd;\n } else if (typeof pathOrFd === \"number\") {\n if (pathOrFd |= 0, pathOrFd < 0)\n @throwTypeError(\"Expected fd to be a positive integer\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = pathOrFd, tempThis.autoClose = !1;\n } else\n @throwTypeError(\"Expected a path or file descriptor\");\n if (tempThis.fd === @undefined)\n tempThis.fd = fs2.openSync(pathOrFd, flags, mode);\n var fileRef = Bun.file(tempThis.fd), stream = fileRef.stream(), native = @direct(stream);\n if (!native)\n throw new Error(\"no native readable stream\");\n var { stream: ptr } = native;\n super(ptr, {\n ...options,\n encoding,\n autoDestroy,\n autoClose,\n emitClose,\n highWaterMark\n });\n if (Object.assign(this, tempThis), this.#fileRef = fileRef, this.end = end, this._read = this.#internalRead, this.start = start, this.flags = flags, this.mode = mode, this.emitClose = emitClose, this[readStreamPathFastPathSymbol] = start === 0 && end === @Infinity && autoClose && fs2 === defaultReadStreamOptions.fs && (encoding === \"buffer\" || encoding === \"binary\" || encoding == null || encoding === \"utf-8\" || encoding === \"utf8\"), this._readableState.autoClose = autoDestroy = autoClose, this._readableState.highWaterMark = highWaterMark, start !== @undefined)\n this.pos = start;\n }\n #fileRef;\n #fs;\n file;\n path;\n fd = null;\n flags;\n mode;\n start;\n end;\n pos;\n bytesRead = 0;\n #fileSize = -1;\n _read;\n [readStreamSymbol] = !0;\n [readStreamPathOrFdSymbol];\n [readStreamPathFastPathSymbol];\n _construct(callback) {\n if (super._construct)\n super._construct(callback);\n else\n callback();\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n }\n _destroy(err, cb) {\n super._destroy(err, cb);\n try {\n var fd = this.fd;\n if (this[readStreamPathFastPathSymbol] = !1, !fd)\n cb(err);\n else\n this.#fs.close(fd, (er) => {\n cb(er || err);\n }), this.fd = null;\n } catch (e) {\n throw e;\n }\n }\n close(cb) {\n if (typeof cb === \"function\")\n Stream.eos(this, cb);\n this.destroy();\n }\n push(chunk) {\n var bytesRead = chunk\?.length \?\? 0;\n if (bytesRead > 0) {\n this.bytesRead += bytesRead;\n var currPos = this.pos;\n if (currPos !== @undefined) {\n if (this.bytesRead < currPos)\n return !0;\n if (currPos === this.start) {\n var n = this.bytesRead - currPos;\n chunk = chunk.slice(-n);\n var [_, ...rest] = arguments;\n if (this.pos = this.bytesRead, this.end !== @undefined && this.bytesRead > this.end)\n chunk = chunk.slice(0, this.end - this.start + 1);\n return super.push(chunk, ...rest);\n }\n var end = this.end;\n if (end !== @undefined && this.bytesRead > end) {\n chunk = chunk.slice(0, end - currPos + 1);\n var [_, ...rest] = arguments;\n return this.pos = this.bytesRead, super.push(chunk, ...rest);\n }\n this.pos = this.bytesRead;\n }\n }\n return super.push(...arguments);\n }\n #internalRead(n) {\n var { pos, end, bytesRead, fd, encoding } = this;\n if (n = pos !== @undefined \? Math.min(end - pos + 1, n) : Math.min(end - bytesRead + 1, n), n <= 0) {\n this.push(null);\n return;\n }\n if (this.#fileSize === -1 && bytesRead === 0 && pos === @undefined) {\n var stat3 = fstatSync(fd);\n if (this.#fileSize = stat3.size, this.#fileSize > 0 && n > this.#fileSize)\n n = this.#fileSize + 1;\n }\n this[kIoDone] = !1;\n var res = super._read(n);\n if (@isPromise(res)) {\n var then = res\?.then;\n if (then && @isCallable(then))\n res.then(() => {\n if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone);\n }, (er) => {\n this[kIoDone] = !0, this.#errorOrDestroy(er);\n });\n } else if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone), this.#errorOrDestroy(new Error(\"ERR_STREAM_PREMATURE_CLOSE\"));\n }\n #errorOrDestroy(err, sync = null) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n }\n pause() {\n return this[readStreamPathFastPathSymbol] = !1, super.pause();\n }\n resume() {\n return this[readStreamPathFastPathSymbol] = !1, super.resume();\n }\n unshift(...args) {\n return this[readStreamPathFastPathSymbol] = !1, super.unshift(...args);\n }\n pipe(dest, pipeOpts) {\n if (this[readStreamPathFastPathSymbol] && (pipeOpts\?.end \?\? !0) && this._readableState\?.pipes\?.length === 0) {\n if ((writeStreamPathFastPathSymbol in dest) && dest[writeStreamPathFastPathSymbol]) {\n if (dest[writeStreamPathFastPathCallSymbol](this, pipeOpts))\n return this;\n }\n }\n return this[readStreamPathFastPathSymbol] = !1, super.pipe(dest, pipeOpts);\n }\n});\nvar defaultWriteStreamOptions = {\n fd: null,\n start: @undefined,\n pos: @undefined,\n encoding: @undefined,\n flags: \"w\",\n mode: 438,\n fs: {\n write,\n close,\n open,\n openSync\n }\n}, WriteStreamClass = WriteStream = function WriteStream2(path, options = defaultWriteStreamOptions) {\n if (!(this instanceof WriteStream2))\n return new WriteStream2(path, options);\n if (!options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n fs: fs2 = defaultWriteStreamOptions.fs,\n start = defaultWriteStreamOptions.start,\n flags = defaultWriteStreamOptions.flags,\n mode = defaultWriteStreamOptions.mode,\n autoClose = !0,\n emitClose = !1,\n autoDestroy = autoClose,\n encoding = defaultWriteStreamOptions.encoding,\n fd = defaultWriteStreamOptions.fd,\n pos = defaultWriteStreamOptions.pos\n } = options, tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n throw new Error(\"Expected options.fd to be a number\");\n tempThis.fd = fd, tempThis[_writeStreamPathFastPathSymbol] = !1;\n } else if (typeof path === \"string\") {\n if (path.length === 0)\n @throwTypeError(\"Expected a non-empty path\");\n if (path.startsWith(\"file:\"))\n path = Bun.fileURLToPath(path);\n tempThis.path = path, tempThis.fd = null, tempThis[_writeStreamPathFastPathSymbol] = autoClose && (start === @undefined || start === 0) && fs2.write === defaultWriteStreamOptions.fs.write && fs2.close === defaultWriteStreamOptions.fs.close;\n }\n if (tempThis.fd == null)\n tempThis.fd = fs2.openSync(path, flags, mode);\n if (NativeWritable.@call(this, tempThis.fd, {\n ...options,\n decodeStrings: !1,\n autoDestroy,\n emitClose,\n fd: tempThis\n }), Object.assign(this, tempThis), typeof fs2\?.write !== \"function\")\n @throwTypeError(\"Expected fs.write to be a function\");\n if (typeof fs2\?.close !== \"function\")\n @throwTypeError(\"Expected fs.close to be a function\");\n if (typeof fs2\?.open !== \"function\")\n @throwTypeError(\"Expected fs.open to be a function\");\n if (typeof path === \"object\" && path) {\n if (path instanceof URL)\n path = Bun.fileURLToPath(path);\n }\n if (typeof path !== \"string\" && typeof fd !== \"number\")\n @throwTypeError(\"Expected a path or file descriptor\");\n if (this.start = start, this[_fs] = fs2, this.flags = flags, this.mode = mode, this.bytesWritten = 0, this[writeStreamSymbol] = !0, this[kIoDone] = !1, this.start !== @undefined)\n this.pos = this.start;\n if (encoding !== defaultWriteStreamOptions.encoding) {\n if (this.setDefaultEncoding(encoding), encoding !== \"buffer\" && encoding !== \"utf8\" && encoding !== \"utf-8\" && encoding !== \"binary\")\n this[_writeStreamPathFastPathSymbol] = !1;\n }\n return this;\n}, NativeWritable = Stream.NativeWritable, WriteStreamPrototype = WriteStream.prototype = Object.create(NativeWritable.prototype);\nObject.defineProperties(WriteStreamPrototype, {\n autoClose: {\n get() {\n return this._writableState.autoDestroy;\n },\n set(val) {\n this._writableState.autoDestroy = val;\n }\n },\n pending: {\n get() {\n return this.fd === null;\n }\n }\n});\nWriteStreamPrototype.destroySoon = WriteStreamPrototype.end;\nWriteStreamPrototype.open = function open3() {\n};\nWriteStreamPrototype[writeStreamPathFastPathCallSymbol] = function WriteStreamPathFastPathCallSymbol(readStream, pipeOpts) {\n if (!this[_writeStreamPathFastPathSymbol])\n return !1;\n if (this.fd !== null)\n return this[_writeStreamPathFastPathSymbol] = !1, !1;\n return this[kIoDone] = !1, readStream[kIoDone] = !1, Bun.write(this[_writeStreamPathFastPathSymbol], readStream[readStreamPathOrFdSymbol]).then((bytesWritten) => {\n readStream[kIoDone] = this[kIoDone] = !0, this.bytesWritten += bytesWritten, readStream.bytesRead += bytesWritten, this.end(), readStream.close();\n }, (err) => {\n readStream[kIoDone] = this[kIoDone] = !0, WriteStream_errorOrDestroy.@call(this, err), readStream.emit(\"error\", err);\n });\n};\nWriteStreamPrototype.isBunFastPathEnabled = function isBunFastPathEnabled() {\n return this[_writeStreamPathFastPathSymbol];\n};\nWriteStreamPrototype.disableBunFastPath = function disableBunFastPath() {\n this[_writeStreamPathFastPathSymbol] = !1;\n};\nWriteStreamPrototype._construct = function _construct(callback) {\n if (typeof this.fd === \"number\") {\n callback();\n return;\n }\n callback(), this.emit(\"open\", this.fd), this.emit(\"ready\");\n};\nWriteStreamPrototype._destroy = function _destroy(err, cb) {\n if (this.fd === null)\n return cb(err);\n if (this[kIoDone]) {\n this.once(kIoDone, () => WriteStream_internalClose.@call(this, err, cb));\n return;\n }\n WriteStream_internalClose.@call(this, err, cb);\n};\nWriteStreamPrototype.close = function close3(cb) {\n if (cb) {\n if (this.closed) {\n process.nextTick(cb);\n return;\n }\n this.on(\"close\", cb);\n }\n if (!this.autoClose)\n this.on(\"finish\", this.destroy);\n this.end();\n};\nWriteStreamPrototype.write = function write3(chunk, encoding, cb) {\n if (encoding \?\?= this._writableState\?.defaultEncoding, this[_writeStreamPathFastPathSymbol] = !1, typeof chunk === \"string\")\n chunk = @Buffer.from(chunk, encoding);\n var native = this.pos === @undefined;\n const callback = native \? (err, bytes) => {\n if (this[kIoDone] = !1, WriteStream_handleWrite.@call(this, err, bytes), this.emit(kIoDone), cb)\n !err \? cb() : cb(err);\n } : () => {\n };\n if (this[kIoDone] = !0, this._write)\n return this._write(chunk, encoding, callback);\n else\n return NativeWritable.prototype.write.@call(this, chunk, encoding, callback, native);\n};\nWriteStreamPrototype._write = @undefined;\nWriteStreamPrototype._writev = @undefined;\nWriteStreamPrototype.end = function end(chunk, encoding, cb) {\n var native = this.pos === @undefined;\n return NativeWritable.prototype.end.@call(this, chunk, encoding, cb, native);\n};\nWriteStreamPrototype._destroy = function _destroy2(err, cb) {\n this.close(err, cb);\n};\nObject.defineProperties(fs, {\n createReadStream: {\n value: createReadStream\n },\n createWriteStream: {\n value: createWriteStream\n },\n ReadStream: {\n value: ReadStream\n },\n WriteStream: {\n value: WriteStream\n }\n});\nrealpath.native = realpath;\nrealpathSync.native = realpathSync;\nvar lazy_cpSync = null;\n$ = {\n Dirent,\n FSWatcher,\n ReadStream,\n Stats,\n WriteStream,\n _toUnixTimestamp,\n access,\n accessSync,\n appendFile,\n appendFileSync,\n chmod,\n chmodSync,\n chown,\n chownSync,\n close,\n closeSync,\n constants,\n copyFile,\n copyFileSync,\n cp,\n cpSync,\n createReadStream,\n createWriteStream,\n exists,\n existsSync,\n fchmod,\n fchmodSync,\n fchown,\n fchownSync,\n fstat,\n fstatSync,\n fsync,\n fsyncSync,\n ftruncate,\n ftruncateSync,\n futimes,\n futimesSync,\n lchmod,\n lchmodSync,\n lchown,\n lchownSync,\n link,\n linkSync,\n lstat,\n lstatSync,\n lutimes,\n lutimesSync,\n mkdir,\n mkdirSync,\n mkdtemp,\n mkdtempSync,\n open,\n openSync,\n promises,\n read,\n readFile,\n readFileSync,\n readSync,\n readdir,\n readdirSync,\n readlink,\n readlinkSync,\n readv,\n readvSync,\n realpath,\n realpathSync,\n rename,\n renameSync,\n rm,\n rmSync,\n rmdir,\n rmdirSync,\n stat,\n statSync,\n symlink,\n symlinkSync,\n truncate,\n truncateSync,\n unlink,\n unlinkSync,\n unwatchFile,\n utimes,\n utimesSync,\n watch,\n watchFile,\n write,\n writeFile,\n writeFileSync,\n writeSync,\n writev,\n writevSync,\n [Symbol.for(\"::bunternal::\")]: {\n ReadStreamClass,\n WriteStreamClass\n }\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeFSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/fs.ts\nvar getValidatedPath = function(p) {\n if (p instanceof URL)\n return Bun.fileURLToPath(p);\n if (typeof p !== \"string\")\n @throwTypeError(\"Path must be a string or URL.\");\n return (_pathModule \?\?= @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).resolve(p);\n}, watchFile = function(filename, options, listener) {\n if (filename = getValidatedPath(filename), typeof options === \"function\")\n listener = options, options = {};\n if (typeof listener !== \"function\")\n @throwTypeError(\"listener must be a function\");\n var stat = statWatchers.get(filename);\n if (!stat)\n stat = new StatWatcher(filename, options), statWatchers.set(filename, stat);\n return stat.addListener(\"change\", listener), stat;\n}, unwatchFile = function(filename, listener) {\n filename = getValidatedPath(filename);\n var stat = statWatchers.get(filename);\n if (!stat)\n return;\n if (listener) {\n if (stat.removeListener(\"change\", listener), stat.listenerCount(\"change\") !== 0)\n return;\n } else\n stat.removeAllListeners(\"change\");\n stat.stop(), statWatchers.delete(filename);\n}, callbackify = function(fsFunction, args) {\n const callback = args[args.length - 1];\n try {\n var result = fsFunction.@apply(fs, args.slice(0, args.length - 1));\n result.then((...args2) => callback(null, ...args2), (err) => callback(err));\n } catch (e) {\n if (typeof callback === \"function\")\n callback(e);\n else\n throw e;\n }\n}, createReadStream = function(path, options) {\n return new ReadStream(path, options);\n}, WriteStream_handleWrite = function(er, bytes) {\n if (er)\n return WriteStream_errorOrDestroy.@call(this, er);\n this.bytesWritten += bytes;\n}, WriteStream_internalClose = function(err, cb) {\n this[_writeStreamPathFastPathSymbol] = !1;\n var fd = this.fd;\n this[_fs].close(fd, (er) => {\n this.fd = null, cb(err || er);\n });\n}, WriteStream_errorOrDestroy = function(err) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n}, createWriteStream = function(path, options) {\n return new WriteStream(path, options);\n}, cpSync = function(src, dest, options) {\n if (!options)\n return fs.cpSync(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cpSync)\n lazy_cpSync = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cpSync(src, dest, options);\n }\n return fs.cpSync(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n}, cp = function(src, dest, options, callback) {\n if (typeof options === \"function\")\n callback = options, options = @undefined;\n promises.cp(src, dest, options).then(() => callback(), callback);\n}, _toUnixTimestamp = function(time, name = \"time\") {\n if (typeof time === \"string\" && +time == time)\n return +time;\n if (NumberIsFinite(time)) {\n if (time < 0)\n return DateNow() / 1000;\n return time;\n }\n if (isDate(time))\n return DatePrototypeGetTime(time) / 1000;\n @throwTypeError(`Expected ${name} to be a number or Date`);\n}, $, ReadStream, WriteStream, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), promises = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), Stream = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { isArrayBufferView } = @requireNativeModule(\"util/types\"), _writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), _fs = Symbol.for(\"#fs\"), constants = @processBindingConstants.fs, fs = Bun.fs();\n\nclass FSWatcher extends EventEmitter {\n #watcher;\n #listener;\n constructor(path, options, listener) {\n super();\n if (typeof options === \"function\")\n listener = options, options = {};\n else if (typeof options === \"string\")\n options = { encoding: options };\n if (typeof listener !== \"function\")\n listener = () => {\n };\n this.#listener = listener;\n try {\n this.#watcher = fs.watch(path, options || {}, this.#onEvent.bind(this));\n } catch (e) {\n if (!e.message\?.startsWith(\"FileNotFound\"))\n throw e;\n const notFound = new Error(`ENOENT: no such file or directory, watch '${path}'`);\n throw notFound.code = \"ENOENT\", notFound.errno = -2, notFound.path = path, notFound.syscall = \"watch\", notFound.filename = path, notFound;\n }\n }\n #onEvent(eventType, filenameOrError) {\n if (eventType === \"error\" || eventType === \"close\")\n this.emit(eventType, filenameOrError);\n else\n this.emit(\"change\", eventType, filenameOrError), this.#listener(eventType, filenameOrError);\n }\n close() {\n this.#watcher\?.close(), this.#watcher = null;\n }\n ref() {\n this.#watcher\?.ref();\n }\n unref() {\n this.#watcher\?.unref();\n }\n start() {\n }\n}\n\nclass StatWatcher extends EventEmitter {\n constructor(path, options) {\n super();\n this._handle = fs.watchFile(path, options, this.#onChange.bind(this));\n }\n #onChange(curr, prev) {\n this.emit(\"change\", curr, prev);\n }\n start() {\n }\n stop() {\n this._handle\?.close(), this._handle = null;\n }\n ref() {\n this._handle\?.ref();\n }\n unref() {\n this._handle\?.unref();\n }\n}\nvar access = function access2(...args) {\n callbackify(fs.access, args);\n}, appendFile = function appendFile2(...args) {\n callbackify(fs.appendFile, args);\n}, close = function close2(...args) {\n callbackify(fs.close, args);\n}, rm = function rm2(...args) {\n callbackify(fs.rm, args);\n}, rmdir = function rmdir2(...args) {\n callbackify(fs.rmdir, args);\n}, copyFile = function copyFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n fs.copyFile(...args).then((result) => callback(null, result), callback);\n}, exists = function exists2(path, callback) {\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n try {\n fs.exists.@apply(fs, [path]).then((existed) => callback(existed), (_) => callback(!1));\n } catch (e) {\n callback(!1);\n }\n}, chown = function chown2(...args) {\n callbackify(fs.chown, args);\n}, chmod = function chmod2(...args) {\n callbackify(fs.chmod, args);\n}, fchmod = function fchmod2(...args) {\n callbackify(fs.fchmod, args);\n}, fchown = function fchown2(...args) {\n callbackify(fs.fchown, args);\n}, fstat = function fstat2(...args) {\n callbackify(fs.fstat, args);\n}, fsync = function fsync2(...args) {\n callbackify(fs.fsync, args);\n}, ftruncate = function ftruncate2(...args) {\n callbackify(fs.ftruncate, args);\n}, futimes = function futimes2(...args) {\n callbackify(fs.futimes, args);\n}, lchmod = function lchmod2(...args) {\n callbackify(fs.lchmod, args);\n}, lchown = function lchown2(...args) {\n callbackify(fs.lchown, args);\n}, link = function link2(...args) {\n callbackify(fs.link, args);\n}, mkdir = function mkdir2(...args) {\n callbackify(fs.mkdir, args);\n}, mkdtemp = function mkdtemp2(...args) {\n callbackify(fs.mkdtemp, args);\n}, open = function open2(...args) {\n callbackify(fs.open, args);\n}, read = function read2(fd, buffer, offsetOrOptions, length, position, callback) {\n let offset = offsetOrOptions, params = null;\n if (arguments.length <= 4) {\n if (arguments.length === 4)\n callback = length, params = offsetOrOptions;\n else if (arguments.length === 3) {\n if (!isArrayBufferView(buffer))\n params = buffer, { buffer = @Buffer.alloc(16384) } = params \?\? {};\n callback = offsetOrOptions;\n } else\n callback = buffer, buffer = @Buffer.alloc(16384);\n ({ offset = 0, length = buffer\?.byteLength - offset, position = null } = params \?\? {});\n }\n queueMicrotask(() => {\n try {\n var bytesRead = fs.readSync(fd, buffer, offset, length, position);\n } catch (e) {\n callback(e);\n }\n callback(null, bytesRead, buffer);\n });\n}, write = function write2(...args) {\n callbackify(fs.write, args);\n}, readdir = function readdir2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readdir(...args).then((result) => callback(null, result), callback);\n}, readFile = function readFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readFile(...args).then((result) => callback(null, result), callback);\n}, writeFile = function writeFile2(...args) {\n callbackify(fs.writeFile, args);\n}, readlink = function readlink2(...args) {\n callbackify(fs.readlink, args);\n}, realpath = function realpath2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.realpath(...args).then((result) => callback(null, result), callback);\n}, rename = function rename2(...args) {\n callbackify(fs.rename, args);\n}, lstat = function lstat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.lstat(...args).then((result) => callback(null, result), callback);\n}, stat = function stat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.stat(...args).then((result) => callback(null, result), callback);\n}, symlink = function symlink2(...args) {\n callbackify(fs.symlink, args);\n}, truncate = function truncate2(...args) {\n callbackify(fs.truncate, args);\n}, unlink = function unlink2(...args) {\n callbackify(fs.unlink, args);\n}, utimes = function utimes2(...args) {\n callbackify(fs.utimes, args);\n}, lutimes = function lutimes2(...args) {\n callbackify(fs.lutimes, args);\n}, accessSync = fs.accessSync.bind(fs), appendFileSync = fs.appendFileSync.bind(fs), closeSync = fs.closeSync.bind(fs), copyFileSync = fs.copyFileSync.bind(fs), existsSync = fs.existsSync.bind(fs), chownSync = fs.chownSync.bind(fs), chmodSync = fs.chmodSync.bind(fs), fchmodSync = fs.fchmodSync.bind(fs), fchownSync = fs.fchownSync.bind(fs), fstatSync = fs.fstatSync.bind(fs), fsyncSync = fs.fsyncSync.bind(fs), ftruncateSync = fs.ftruncateSync.bind(fs), futimesSync = fs.futimesSync.bind(fs), lchmodSync = fs.lchmodSync.bind(fs), lchownSync = fs.lchownSync.bind(fs), linkSync = fs.linkSync.bind(fs), lstatSync = fs.lstatSync.bind(fs), mkdirSync = fs.mkdirSync.bind(fs), mkdtempSync = fs.mkdtempSync.bind(fs), openSync = fs.openSync.bind(fs), readSync = fs.readSync.bind(fs), writeSync = fs.writeSync.bind(fs), readdirSync = fs.readdirSync.bind(fs), readFileSync = fs.readFileSync.bind(fs), writeFileSync = fs.writeFileSync.bind(fs), readlinkSync = fs.readlinkSync.bind(fs), realpathSync = fs.realpathSync.bind(fs), renameSync = fs.renameSync.bind(fs), statSync = fs.statSync.bind(fs), symlinkSync = fs.symlinkSync.bind(fs), truncateSync = fs.truncateSync.bind(fs), unlinkSync = fs.unlinkSync.bind(fs), utimesSync = fs.utimesSync.bind(fs), lutimesSync = fs.lutimesSync.bind(fs), rmSync = fs.rmSync.bind(fs), rmdirSync = fs.rmdirSync.bind(fs), writev = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.writevSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, writevSync = fs.writevSync.bind(fs), readv = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.readvSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, readvSync = fs.readvSync.bind(fs), Dirent = fs.Dirent, Stats = fs.Stats, watch = function watch2(path, options, listener) {\n return new FSWatcher(path, options, listener);\n}, statWatchers = new Map, _pathModule, readStreamPathFastPathSymbol = Symbol.for(\"Bun.Node.readStreamPathFastPath\"), readStreamSymbol = Symbol.for(\"Bun.NodeReadStream\"), readStreamPathOrFdSymbol = Symbol.for(\"Bun.NodeReadStreamPathOrFd\"), writeStreamSymbol = Symbol.for(\"Bun.NodeWriteStream\"), writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), writeStreamPathFastPathCallSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPathCall\"), kIoDone = Symbol.for(\"kIoDone\"), defaultReadStreamOptions = {\n file: @undefined,\n fd: null,\n flags: \"r\",\n encoding: @undefined,\n mode: 438,\n autoClose: !0,\n emitClose: !0,\n start: 0,\n end: @Infinity,\n highWaterMark: 65536,\n fs: {\n read,\n open: (path, flags, mode, cb) => {\n var fd;\n try {\n fd = openSync(path, flags, mode);\n } catch (e) {\n cb(e);\n return;\n }\n cb(null, fd);\n },\n openSync,\n close\n },\n autoDestroy: !0\n}, ReadStreamClass;\nReadStream = function(InternalReadStream) {\n ReadStreamClass = InternalReadStream, Object.defineProperty(ReadStreamClass.prototype, Symbol.toStringTag, {\n value: \"ReadStream\",\n enumerable: !1\n });\n function ReadStream3(path, options) {\n return new InternalReadStream(path, options);\n }\n return ReadStream3.prototype = InternalReadStream.prototype, Object.defineProperty(ReadStream3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalReadStream;\n }\n });\n}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2, Stream.Readable) {\n constructor(pathOrFd, options = defaultReadStreamOptions) {\n if (typeof options !== \"object\" || !options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n flags = defaultReadStreamOptions.flags,\n encoding = defaultReadStreamOptions.encoding,\n mode = defaultReadStreamOptions.mode,\n autoClose = defaultReadStreamOptions.autoClose,\n emitClose = defaultReadStreamOptions.emitClose,\n start = defaultReadStreamOptions.start,\n end = defaultReadStreamOptions.end,\n autoDestroy = defaultReadStreamOptions.autoClose,\n fs: fs2 = defaultReadStreamOptions.fs,\n highWaterMark = defaultReadStreamOptions.highWaterMark,\n fd = defaultReadStreamOptions.fd\n } = options;\n if (pathOrFd\?.constructor\?.name === \"URL\")\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n var tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n @throwTypeError(\"Expected options.fd to be a number\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = fd, tempThis.autoClose = !1;\n } else if (typeof pathOrFd === \"string\") {\n if (pathOrFd.startsWith(\"file://\"))\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n if (pathOrFd.length === 0)\n @throwTypeError(\"Expected path to be a non-empty string\");\n tempThis.path = tempThis.file = tempThis[readStreamPathOrFdSymbol] = pathOrFd;\n } else if (typeof pathOrFd === \"number\") {\n if (pathOrFd |= 0, pathOrFd < 0)\n @throwTypeError(\"Expected fd to be a positive integer\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = pathOrFd, tempThis.autoClose = !1;\n } else\n @throwTypeError(\"Expected a path or file descriptor\");\n if (tempThis.fd === @undefined)\n tempThis.fd = fs2.openSync(pathOrFd, flags, mode);\n var fileRef = Bun.file(tempThis.fd), stream = fileRef.stream(), native = @direct(stream);\n if (!native)\n throw new Error(\"no native readable stream\");\n var { stream: ptr } = native;\n super(ptr, {\n ...options,\n encoding,\n autoDestroy,\n autoClose,\n emitClose,\n highWaterMark\n });\n if (Object.assign(this, tempThis), this.#fileRef = fileRef, this.end = end, this._read = this.#internalRead, this.start = start, this.flags = flags, this.mode = mode, this.emitClose = emitClose, this[readStreamPathFastPathSymbol] = start === 0 && end === @Infinity && autoClose && fs2 === defaultReadStreamOptions.fs && (encoding === \"buffer\" || encoding === \"binary\" || encoding == null || encoding === \"utf-8\" || encoding === \"utf8\"), this._readableState.autoClose = autoDestroy = autoClose, this._readableState.highWaterMark = highWaterMark, start !== @undefined)\n this.pos = start;\n }\n #fileRef;\n #fs;\n file;\n path;\n fd = null;\n flags;\n mode;\n start;\n end;\n pos;\n bytesRead = 0;\n #fileSize = -1;\n _read;\n [readStreamSymbol] = !0;\n [readStreamPathOrFdSymbol];\n [readStreamPathFastPathSymbol];\n _construct(callback) {\n if (super._construct)\n super._construct(callback);\n else\n callback();\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n }\n _destroy(err, cb) {\n super._destroy(err, cb);\n try {\n var fd = this.fd;\n if (this[readStreamPathFastPathSymbol] = !1, !fd)\n cb(err);\n else\n this.#fs.close(fd, (er) => {\n cb(er || err);\n }), this.fd = null;\n } catch (e) {\n throw e;\n }\n }\n close(cb) {\n if (typeof cb === \"function\")\n Stream.eos(this, cb);\n this.destroy();\n }\n push(chunk) {\n var bytesRead = chunk\?.length \?\? 0;\n if (bytesRead > 0) {\n this.bytesRead += bytesRead;\n var currPos = this.pos;\n if (currPos !== @undefined) {\n if (this.bytesRead < currPos)\n return !0;\n if (currPos === this.start) {\n var n = this.bytesRead - currPos;\n chunk = chunk.slice(-n);\n var [_, ...rest] = arguments;\n if (this.pos = this.bytesRead, this.end !== @undefined && this.bytesRead > this.end)\n chunk = chunk.slice(0, this.end - this.start + 1);\n return super.push(chunk, ...rest);\n }\n var end = this.end;\n if (end !== @undefined && this.bytesRead > end) {\n chunk = chunk.slice(0, end - currPos + 1);\n var [_, ...rest] = arguments;\n return this.pos = this.bytesRead, super.push(chunk, ...rest);\n }\n this.pos = this.bytesRead;\n }\n }\n return super.push(...arguments);\n }\n #internalRead(n) {\n var { pos, end, bytesRead, fd, encoding } = this;\n if (n = pos !== @undefined \? Math.min(end - pos + 1, n) : Math.min(end - bytesRead + 1, n), n <= 0) {\n this.push(null);\n return;\n }\n if (this.#fileSize === -1 && bytesRead === 0 && pos === @undefined) {\n var stat3 = fstatSync(fd);\n if (this.#fileSize = stat3.size, this.#fileSize > 0 && n > this.#fileSize)\n n = this.#fileSize + 1;\n }\n this[kIoDone] = !1;\n var res = super._read(n);\n if (@isPromise(res)) {\n var then = res\?.then;\n if (then && @isCallable(then))\n res.then(() => {\n if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone);\n }, (er) => {\n this[kIoDone] = !0, this.#errorOrDestroy(er);\n });\n } else if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone), this.#errorOrDestroy(new Error(\"ERR_STREAM_PREMATURE_CLOSE\"));\n }\n #errorOrDestroy(err, sync = null) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n }\n pause() {\n return this[readStreamPathFastPathSymbol] = !1, super.pause();\n }\n resume() {\n return this[readStreamPathFastPathSymbol] = !1, super.resume();\n }\n unshift(...args) {\n return this[readStreamPathFastPathSymbol] = !1, super.unshift(...args);\n }\n pipe(dest, pipeOpts) {\n if (this[readStreamPathFastPathSymbol] && (pipeOpts\?.end \?\? !0) && this._readableState\?.pipes\?.length === 0) {\n if ((writeStreamPathFastPathSymbol in dest) && dest[writeStreamPathFastPathSymbol]) {\n if (dest[writeStreamPathFastPathCallSymbol](this, pipeOpts))\n return this;\n }\n }\n return this[readStreamPathFastPathSymbol] = !1, super.pipe(dest, pipeOpts);\n }\n});\nvar defaultWriteStreamOptions = {\n fd: null,\n start: @undefined,\n pos: @undefined,\n encoding: @undefined,\n flags: \"w\",\n mode: 438,\n fs: {\n write,\n close,\n open,\n openSync\n }\n}, WriteStreamClass = WriteStream = function WriteStream2(path, options = defaultWriteStreamOptions) {\n if (!(this instanceof WriteStream2))\n return new WriteStream2(path, options);\n if (!options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n fs: fs2 = defaultWriteStreamOptions.fs,\n start = defaultWriteStreamOptions.start,\n flags = defaultWriteStreamOptions.flags,\n mode = defaultWriteStreamOptions.mode,\n autoClose = !0,\n emitClose = !1,\n autoDestroy = autoClose,\n encoding = defaultWriteStreamOptions.encoding,\n fd = defaultWriteStreamOptions.fd,\n pos = defaultWriteStreamOptions.pos\n } = options, tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n throw new Error(\"Expected options.fd to be a number\");\n tempThis.fd = fd, tempThis[_writeStreamPathFastPathSymbol] = !1;\n } else if (typeof path === \"string\") {\n if (path.length === 0)\n @throwTypeError(\"Expected a non-empty path\");\n if (path.startsWith(\"file:\"))\n path = Bun.fileURLToPath(path);\n tempThis.path = path, tempThis.fd = null, tempThis[_writeStreamPathFastPathSymbol] = autoClose && (start === @undefined || start === 0) && fs2.write === defaultWriteStreamOptions.fs.write && fs2.close === defaultWriteStreamOptions.fs.close;\n }\n if (tempThis.fd == null)\n tempThis.fd = fs2.openSync(path, flags, mode);\n if (NativeWritable.@call(this, tempThis.fd, {\n ...options,\n decodeStrings: !1,\n autoDestroy,\n emitClose,\n fd: tempThis\n }), Object.assign(this, tempThis), typeof fs2\?.write !== \"function\")\n @throwTypeError(\"Expected fs.write to be a function\");\n if (typeof fs2\?.close !== \"function\")\n @throwTypeError(\"Expected fs.close to be a function\");\n if (typeof fs2\?.open !== \"function\")\n @throwTypeError(\"Expected fs.open to be a function\");\n if (typeof path === \"object\" && path) {\n if (path instanceof URL)\n path = Bun.fileURLToPath(path);\n }\n if (typeof path !== \"string\" && typeof fd !== \"number\")\n @throwTypeError(\"Expected a path or file descriptor\");\n if (this.start = start, this[_fs] = fs2, this.flags = flags, this.mode = mode, this.bytesWritten = 0, this[writeStreamSymbol] = !0, this[kIoDone] = !1, this.start !== @undefined)\n this.pos = this.start;\n if (encoding !== defaultWriteStreamOptions.encoding) {\n if (this.setDefaultEncoding(encoding), encoding !== \"buffer\" && encoding !== \"utf8\" && encoding !== \"utf-8\" && encoding !== \"binary\")\n this[_writeStreamPathFastPathSymbol] = !1;\n }\n return this;\n}, NativeWritable = Stream.NativeWritable, WriteStreamPrototype = WriteStream.prototype = Object.create(NativeWritable.prototype);\nObject.defineProperties(WriteStreamPrototype, {\n autoClose: {\n get() {\n return this._writableState.autoDestroy;\n },\n set(val) {\n this._writableState.autoDestroy = val;\n }\n },\n pending: {\n get() {\n return this.fd === null;\n }\n }\n});\nWriteStreamPrototype.destroySoon = WriteStreamPrototype.end;\nWriteStreamPrototype.open = function open3() {\n};\nWriteStreamPrototype[writeStreamPathFastPathCallSymbol] = function WriteStreamPathFastPathCallSymbol(readStream, pipeOpts) {\n if (!this[_writeStreamPathFastPathSymbol])\n return !1;\n if (this.fd !== null)\n return this[_writeStreamPathFastPathSymbol] = !1, !1;\n return this[kIoDone] = !1, readStream[kIoDone] = !1, Bun.write(this[_writeStreamPathFastPathSymbol], readStream[readStreamPathOrFdSymbol]).then((bytesWritten) => {\n readStream[kIoDone] = this[kIoDone] = !0, this.bytesWritten += bytesWritten, readStream.bytesRead += bytesWritten, this.end(), readStream.close();\n }, (err) => {\n readStream[kIoDone] = this[kIoDone] = !0, WriteStream_errorOrDestroy.@call(this, err), readStream.emit(\"error\", err);\n });\n};\nWriteStreamPrototype.isBunFastPathEnabled = function isBunFastPathEnabled() {\n return this[_writeStreamPathFastPathSymbol];\n};\nWriteStreamPrototype.disableBunFastPath = function disableBunFastPath() {\n this[_writeStreamPathFastPathSymbol] = !1;\n};\nWriteStreamPrototype._construct = function _construct(callback) {\n if (typeof this.fd === \"number\") {\n callback();\n return;\n }\n callback(), this.emit(\"open\", this.fd), this.emit(\"ready\");\n};\nWriteStreamPrototype._destroy = function _destroy(err, cb) {\n if (this.fd === null)\n return cb(err);\n if (this[kIoDone]) {\n this.once(kIoDone, () => WriteStream_internalClose.@call(this, err, cb));\n return;\n }\n WriteStream_internalClose.@call(this, err, cb);\n};\nWriteStreamPrototype.close = function close3(cb) {\n if (cb) {\n if (this.closed) {\n process.nextTick(cb);\n return;\n }\n this.on(\"close\", cb);\n }\n if (!this.autoClose)\n this.on(\"finish\", this.destroy);\n this.end();\n};\nWriteStreamPrototype.write = function write3(chunk, encoding, cb) {\n if (encoding \?\?= this._writableState\?.defaultEncoding, this[_writeStreamPathFastPathSymbol] = !1, typeof chunk === \"string\")\n chunk = @Buffer.from(chunk, encoding);\n var native = this.pos === @undefined;\n const callback = native \? (err, bytes) => {\n if (this[kIoDone] = !1, WriteStream_handleWrite.@call(this, err, bytes), this.emit(kIoDone), cb)\n !err \? cb() : cb(err);\n } : () => {\n };\n if (this[kIoDone] = !0, this._write)\n return this._write(chunk, encoding, callback);\n else\n return NativeWritable.prototype.write.@call(this, chunk, encoding, callback, native);\n};\nWriteStreamPrototype._write = @undefined;\nWriteStreamPrototype._writev = @undefined;\nWriteStreamPrototype.end = function end(chunk, encoding, cb) {\n var native = this.pos === @undefined;\n return NativeWritable.prototype.end.@call(this, chunk, encoding, cb, native);\n};\nWriteStreamPrototype._destroy = function _destroy2(err, cb) {\n this.close(err, cb);\n};\nObject.defineProperties(fs, {\n createReadStream: {\n value: createReadStream\n },\n createWriteStream: {\n value: createWriteStream\n },\n ReadStream: {\n value: ReadStream\n },\n WriteStream: {\n value: WriteStream\n }\n});\nrealpath.native = realpath;\nrealpathSync.native = realpathSync;\nvar lazy_cpSync = null;\n$ = {\n Dirent,\n FSWatcher,\n ReadStream,\n Stats,\n WriteStream,\n _toUnixTimestamp,\n access,\n accessSync,\n appendFile,\n appendFileSync,\n chmod,\n chmodSync,\n chown,\n chownSync,\n close,\n closeSync,\n constants,\n copyFile,\n copyFileSync,\n cp,\n cpSync,\n createReadStream,\n createWriteStream,\n exists,\n existsSync,\n fchmod,\n fchmodSync,\n fchown,\n fchownSync,\n fstat,\n fstatSync,\n fsync,\n fsyncSync,\n ftruncate,\n ftruncateSync,\n futimes,\n futimesSync,\n lchmod,\n lchmodSync,\n lchown,\n lchownSync,\n link,\n linkSync,\n lstat,\n lstatSync,\n lutimes,\n lutimesSync,\n mkdir,\n mkdirSync,\n mkdtemp,\n mkdtempSync,\n open,\n openSync,\n promises,\n read,\n readFile,\n readFileSync,\n readSync,\n readdir,\n readdirSync,\n readlink,\n readlinkSync,\n readv,\n readvSync,\n realpath,\n realpathSync,\n rename,\n renameSync,\n rm,\n rmSync,\n rmdir,\n rmdirSync,\n stat,\n statSync,\n symlink,\n symlinkSync,\n truncate,\n truncateSync,\n unlink,\n unlinkSync,\n unwatchFile,\n utimes,\n utimesSync,\n watch,\n watchFile,\n write,\n writeFile,\n writeFileSync,\n writeSync,\n writev,\n writevSync,\n [Symbol.for(\"::bunternal::\")]: {\n ReadStreamClass,\n WriteStreamClass\n }\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeFSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/fs.promises.ts\nvar watch = function(filename, options = {}) {\n if (filename instanceof URL)\n @throwTypeError(\"Watch URLs are not supported yet\");\n else if (@Buffer.isBuffer(filename))\n filename = filename.toString();\n else if (typeof filename !== \"string\")\n @throwTypeError(\"Expected path to be a string or Buffer\");\n let nextEventResolve = null;\n if (typeof options === \"string\")\n options = { encoding: options };\n const queue = @createFIFO(), watcher = fs.watch(filename, options || {}, (eventType, filename2) => {\n if (queue.push({ eventType, filename: filename2 }), nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n });\n return {\n [Symbol.asyncIterator]() {\n let closed = !1;\n return {\n async next() {\n while (!closed) {\n let event;\n while (event = queue.shift()) {\n if (event.eventType === \"close\")\n return closed = !0, { value: @undefined, done: !0 };\n if (event.eventType === \"error\")\n throw closed = !0, event.filename;\n return { value: event, done: !1 };\n }\n const { promise, resolve } = @Promise.withResolvers();\n nextEventResolve = resolve, await promise;\n }\n return { value: @undefined, done: !0 };\n },\n return() {\n if (!closed) {\n if (watcher.close(), closed = !0, nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n }\n return { value: @undefined, done: !0 };\n }\n };\n }\n };\n}, cp = function(src, dest, options) {\n if (!options)\n return fs.cp(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cp)\n lazy_cp = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cp(src, dest, options);\n }\n return fs.cp(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n};\nasync function opendir(dir) {\n const entries = await fs.readdir(dir, { withFileTypes: !0 });\n return new Dir(entries);\n}\nvar $, constants = @processBindingConstants.fs, fs = Bun.fs();\nvar lazy_cp = null;\n\nclass Dir {\n #entries;\n constructor(e) {\n this.#entries = e;\n }\n readSync() {\n return this.#entries.shift() \?\? null;\n }\n read(c) {\n if (c)\n process.nextTick(c, null, this.readSync());\n return @Promise.resolve(this.readSync());\n }\n closeSync() {\n }\n close(c) {\n if (c)\n process.nextTick(c);\n return @Promise.resolve();\n }\n *[Symbol.asyncIterator]() {\n var next;\n while (next = this.readSync())\n yield next;\n }\n}\n$ = {\n access: fs.access.bind(fs),\n appendFile: fs.appendFile.bind(fs),\n close: fs.close.bind(fs),\n copyFile: fs.copyFile.bind(fs),\n cp,\n exists: fs.exists.bind(fs),\n chown: fs.chown.bind(fs),\n chmod: fs.chmod.bind(fs),\n fchmod: fs.fchmod.bind(fs),\n fchown: fs.fchown.bind(fs),\n fstat: fs.fstat.bind(fs),\n fsync: fs.fsync.bind(fs),\n ftruncate: fs.ftruncate.bind(fs),\n futimes: fs.futimes.bind(fs),\n lchmod: fs.lchmod.bind(fs),\n lchown: fs.lchown.bind(fs),\n link: fs.link.bind(fs),\n lstat: fs.lstat.bind(fs),\n mkdir: fs.mkdir.bind(fs),\n mkdtemp: fs.mkdtemp.bind(fs),\n open: fs.open.bind(fs),\n read: fs.read.bind(fs),\n write: fs.write.bind(fs),\n readdir: fs.readdir.bind(fs),\n readFile: fs.readFile.bind(fs),\n writeFile: fs.writeFile.bind(fs),\n readlink: fs.readlink.bind(fs),\n realpath: fs.realpath.bind(fs),\n rename: fs.rename.bind(fs),\n stat: fs.stat.bind(fs),\n symlink: fs.symlink.bind(fs),\n truncate: fs.truncate.bind(fs),\n unlink: fs.unlink.bind(fs),\n utimes: fs.utimes.bind(fs),\n lutimes: fs.lutimes.bind(fs),\n rm: fs.rm.bind(fs),\n rmdir: fs.rmdir.bind(fs),\n writev: async (fd, buffers, position) => {\n var bytesWritten = await fs.writev(fd, buffers, position);\n return {\n bytesWritten,\n buffers\n };\n },\n readv: async (fd, buffers, position) => {\n var bytesRead = await fs.readv(fd, buffers, position);\n return {\n bytesRead,\n buffers\n };\n },\n constants,\n watch,\n opendir\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeFSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/fs.promises.ts\nvar watch = function(filename, options = {}) {\n if (filename instanceof URL)\n @throwTypeError(\"Watch URLs are not supported yet\");\n else if (@Buffer.isBuffer(filename))\n filename = filename.toString();\n else if (typeof filename !== \"string\")\n @throwTypeError(\"Expected path to be a string or Buffer\");\n let nextEventResolve = null;\n if (typeof options === \"string\")\n options = { encoding: options };\n const queue = @createFIFO(), watcher = fs.watch(filename, options || {}, (eventType, filename2) => {\n if (queue.push({ eventType, filename: filename2 }), nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n });\n return {\n [Symbol.asyncIterator]() {\n let closed = !1;\n return {\n async next() {\n while (!closed) {\n let event;\n while (event = queue.shift()) {\n if (event.eventType === \"close\")\n return closed = !0, { value: @undefined, done: !0 };\n if (event.eventType === \"error\")\n throw closed = !0, event.filename;\n return { value: event, done: !1 };\n }\n const { promise, resolve } = @Promise.withResolvers();\n nextEventResolve = resolve, await promise;\n }\n return { value: @undefined, done: !0 };\n },\n return() {\n if (!closed) {\n if (watcher.close(), closed = !0, nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n }\n return { value: @undefined, done: !0 };\n }\n };\n }\n };\n}, cp = function(src, dest, options) {\n if (!options)\n return fs.cp(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cp)\n lazy_cp = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cp(src, dest, options);\n }\n return fs.cp(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n};\nasync function opendir(dir) {\n const entries = await fs.readdir(dir, { withFileTypes: !0 });\n return new Dir(entries);\n}\nvar $, constants = @processBindingConstants.fs, fs = Bun.fs();\nvar lazy_cp = null;\n\nclass Dir {\n #entries;\n constructor(e) {\n this.#entries = e;\n }\n readSync() {\n return this.#entries.shift() \?\? null;\n }\n read(c) {\n if (c)\n process.nextTick(c, null, this.readSync());\n return @Promise.resolve(this.readSync());\n }\n closeSync() {\n }\n close(c) {\n if (c)\n process.nextTick(c);\n return @Promise.resolve();\n }\n *[Symbol.asyncIterator]() {\n var next;\n while (next = this.readSync())\n yield next;\n }\n}\n$ = {\n access: fs.access.bind(fs),\n appendFile: fs.appendFile.bind(fs),\n close: fs.close.bind(fs),\n copyFile: fs.copyFile.bind(fs),\n cp,\n exists: fs.exists.bind(fs),\n chown: fs.chown.bind(fs),\n chmod: fs.chmod.bind(fs),\n fchmod: fs.fchmod.bind(fs),\n fchown: fs.fchown.bind(fs),\n fstat: fs.fstat.bind(fs),\n fsync: fs.fsync.bind(fs),\n ftruncate: fs.ftruncate.bind(fs),\n futimes: fs.futimes.bind(fs),\n lchmod: fs.lchmod.bind(fs),\n lchown: fs.lchown.bind(fs),\n link: fs.link.bind(fs),\n lstat: fs.lstat.bind(fs),\n mkdir: fs.mkdir.bind(fs),\n mkdtemp: fs.mkdtemp.bind(fs),\n open: fs.open.bind(fs),\n read: fs.read.bind(fs),\n write: fs.write.bind(fs),\n readdir: fs.readdir.bind(fs),\n readFile: fs.readFile.bind(fs),\n writeFile: fs.writeFile.bind(fs),\n readlink: fs.readlink.bind(fs),\n realpath: fs.realpath.bind(fs),\n rename: fs.rename.bind(fs),\n stat: fs.stat.bind(fs),\n symlink: fs.symlink.bind(fs),\n truncate: fs.truncate.bind(fs),\n unlink: fs.unlink.bind(fs),\n utimes: fs.utimes.bind(fs),\n lutimes: fs.lutimes.bind(fs),\n rm: fs.rm.bind(fs),\n rmdir: fs.rmdir.bind(fs),\n writev: async (fd, buffers, position) => {\n var bytesWritten = await fs.writev(fd, buffers, position);\n return {\n bytesWritten,\n buffers\n };\n },\n readv: async (fd, buffers, position) => {\n var bytesRead = await fs.readv(fd, buffers, position);\n return {\n bytesRead,\n buffers\n };\n },\n constants,\n watch,\n opendir\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeHttpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/http.ts\nvar checkInvalidHeaderChar = function(val) {\n return RegExpPrototypeExec.@call(headerCharRegex, val) !== null;\n};\nvar isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, validateMsecs = function(numberlike, field) {\n if (typeof numberlike !== \"number\" || numberlike < 0)\n throw new ERR_INVALID_ARG_TYPE(field, \"number\", numberlike);\n return numberlike;\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, createServer = function(options, callback) {\n return new Server(options, callback);\n}, emitListeningNextTick = function(self, onListen, err, hostname, port) {\n if (typeof onListen === \"function\")\n try {\n onListen(err, hostname, port);\n } catch (err2) {\n self.emit(\"error\", err2);\n }\n if (self.listening = !err, err)\n self.emit(\"error\", err);\n else\n self.emit(\"listening\", hostname, port);\n}, assignHeaders = function(object, req) {\n var headers = req.headers.toJSON();\n const rawHeaders = @newArrayWithSize(req.headers.count * 2);\n var i = 0;\n for (let key in headers)\n rawHeaders[i++] = key, rawHeaders[i++] = headers[key];\n object.headers = headers, object.rawHeaders = rawHeaders;\n}, destroyBodyStreamNT = function(bodyStream) {\n bodyStream.destroy();\n}, getDefaultHTTPSAgent = function() {\n return _defaultHTTPSAgent \?\?= new Agent({ defaultPort: 443, protocol: \"https:\" });\n};\nvar urlToHttpOptions = function(url) {\n var { protocol, hostname, hash, search, pathname, href, port, username, password } = url;\n return {\n protocol,\n hostname: typeof hostname === \"string\" && StringPrototypeStartsWith.@call(hostname, \"[\") \? StringPrototypeSlice.@call(hostname, 1, -1) : hostname,\n hash,\n search,\n pathname,\n path: `${pathname || \"\"}${search || \"\"}`,\n href,\n port: port \? Number(port) : protocol === \"https:\" \? 443 : protocol === \"http:\" \? 80 : @undefined,\n auth: username || password \? `${decodeURIComponent(username)}:${decodeURIComponent(password)}` : @undefined\n };\n}, validateHost = function(host, name) {\n if (host !== null && host !== @undefined && typeof host !== \"string\")\n throw new Error(\"Invalid arg type in options\");\n return host;\n}, checkIsHttpToken = function(val) {\n return RegExpPrototypeExec.@call(tokenRegExp, val) !== null;\n};\nvar _writeHead = function(statusCode, reason, obj, response) {\n if (statusCode |= 0, statusCode < 100 || statusCode > 999)\n throw new Error(\"status code must be between 100 and 999\");\n if (typeof reason === \"string\")\n response.statusMessage = reason;\n else {\n if (!response.statusMessage)\n response.statusMessage = STATUS_CODES[statusCode] || \"unknown\";\n obj = reason;\n }\n response.statusCode = statusCode;\n {\n let k;\n if (@Array.isArray(obj)) {\n if (obj.length % 2 !== 0)\n throw new Error(\"raw headers must have an even number of elements\");\n for (let n = 0;n < obj.length; n += 2)\n if (k = obj[n + 0], k)\n response.setHeader(k, obj[n + 1]);\n } else if (obj) {\n const keys = Object.keys(obj);\n for (let i = 0;i < keys.length; i++)\n if (k = keys[i], k)\n response.setHeader(k, obj[k]);\n }\n }\n if (statusCode === 204 || statusCode === 304 || statusCode >= 100 && statusCode <= 199)\n response._hasBody = !1;\n}, request = function(url, options, cb) {\n return new ClientRequest(url, options, cb);\n}, get = function(url, options, cb) {\n const req = request(url, options, cb);\n return req.end(), req;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { isTypedArray } = @requireNativeModule(\"util/types\"), { Duplex, Readable, Writable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { getHeader, setHeader } = @lazy(\"http\"), headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/, validateHeaderName = (name, label) => {\n if (typeof name !== \"string\" || !name || !checkIsHttpToken(name))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN\");\n}, validateHeaderValue = (name, value) => {\n if (value === @undefined)\n throw new Error(\"ERR_HTTP_INVALID_HEADER_VALUE\");\n if (checkInvalidHeaderChar(value))\n throw new Error(\"ERR_INVALID_CHAR\");\n}, { URL } = globalThis, globalReportError = globalThis.reportError, setTimeout = globalThis.setTimeout, fetch = Bun.fetch;\nvar kEmptyObject = Object.freeze(Object.create(null)), kOutHeaders = Symbol.for(\"kOutHeaders\"), kEndCalled = Symbol.for(\"kEndCalled\"), kAbortController = Symbol.for(\"kAbortController\"), kClearTimeout = Symbol(\"kClearTimeout\"), kCorked = Symbol.for(\"kCorked\"), searchParamsSymbol = Symbol.for(\"query\"), StringPrototypeSlice = @String.prototype.slice, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeToUpperCase = @String.prototype.toUpperCase, ArrayIsArray = @Array.isArray, RegExpPrototypeExec = @RegExp.prototype.exec, ObjectAssign = Object.assign, INVALID_PATH_REGEX = /[^\\u0021-\\u00ff]/;\nvar _defaultHTTPSAgent, kInternalRequest = Symbol(\"kInternalRequest\"), kInternalSocketData = Symbol.for(\"::bunternal::\"), kEmptyBuffer = @Buffer.alloc(0);\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\nvar FakeSocket = class Socket extends Duplex {\n [kInternalSocketData];\n bytesRead = 0;\n bytesWritten = 0;\n connecting = !1;\n timeout = 0;\n isServer = !1;\n #address;\n address() {\n var internalData;\n return this.#address \?\?= (internalData = this[kInternalSocketData])\?.[0]\?.requestIP(internalData[2]) \?\? {};\n }\n get bufferSize() {\n return this.writableLength;\n }\n connect(port, host, connectListener) {\n return this;\n }\n _destroy(err, callback) {\n }\n _final(callback) {\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return 80;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n }\n get remoteAddress() {\n return this.address()\?.address;\n }\n set remoteAddress(val) {\n this.address().address = val;\n }\n get remotePort() {\n return this.address()\?.port;\n }\n set remotePort(val) {\n this.address().port = val;\n }\n get remoteFamily() {\n return this.address()\?.family;\n }\n set remoteFamily(val) {\n this.address().family = val;\n }\n resetAndDestroy() {\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n return this;\n }\n unref() {\n }\n _write(chunk, encoding, callback) {\n }\n};\n\nclass Agent extends EventEmitter {\n defaultPort = 80;\n protocol = \"http:\";\n options;\n requests;\n sockets;\n freeSockets;\n keepAliveMsecs;\n keepAlive;\n maxSockets;\n maxFreeSockets;\n scheduling;\n maxTotalSockets;\n totalSocketCount;\n #fakeSocket;\n static get globalAgent() {\n return globalAgent;\n }\n static get defaultMaxSockets() {\n return @Infinity;\n }\n constructor(options = kEmptyObject) {\n super();\n if (this.options = options = { ...options, path: null }, options.noDelay === @undefined)\n options.noDelay = !0;\n this.requests = kEmptyObject, this.sockets = kEmptyObject, this.freeSockets = kEmptyObject, this.keepAliveMsecs = options.keepAliveMsecs || 1000, this.keepAlive = options.keepAlive || !1, this.maxSockets = options.maxSockets || Agent.defaultMaxSockets, this.maxFreeSockets = options.maxFreeSockets || 256, this.scheduling = options.scheduling || \"lifo\", this.maxTotalSockets = options.maxTotalSockets, this.totalSocketCount = 0, this.defaultPort = options.defaultPort || 80, this.protocol = options.protocol || \"http:\";\n }\n createConnection() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n getName(options = kEmptyObject) {\n let name = `http:${options.host || \"localhost\"}:`;\n if (options.port)\n name += options.port;\n if (name += \":\", options.localAddress)\n name += options.localAddress;\n if (options.family === 4 || options.family === 6)\n name += `:${options.family}`;\n if (options.socketPath)\n name += `:${options.socketPath}`;\n return name;\n }\n addRequest() {\n }\n createSocket(req, options, cb) {\n cb(null, this.#fakeSocket \?\?= new FakeSocket);\n }\n removeSocket() {\n }\n keepSocketAlive() {\n return !0;\n }\n reuseSocket() {\n }\n destroy() {\n }\n}\n\nclass Server extends EventEmitter {\n #server;\n #options;\n #tls;\n #is_tls = !1;\n listening = !1;\n serverName;\n constructor(options, callback) {\n super();\n if (typeof options === \"function\")\n callback = options, options = {};\n else if (options == null || typeof options === \"object\") {\n options = { ...options }, this.#tls = null;\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n let serverName = options.servername;\n if (serverName && typeof serverName !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n if (this.#is_tls)\n this.#tls = {\n serverName,\n key,\n cert,\n ca,\n passphrase,\n secureOptions\n };\n else\n this.#tls = null;\n } else\n throw new Error(\"bun-http-polyfill: invalid arguments\");\n if (this.#options = options, callback)\n this.on(\"request\", callback);\n }\n closeAllConnections() {\n const server = this.#server;\n if (!server)\n return;\n this.#server = @undefined, server.stop(!0), this.emit(\"close\");\n }\n closeIdleConnections() {\n }\n close(optionalCallback) {\n const server = this.#server;\n if (!server) {\n if (typeof optionalCallback === \"function\")\n process.nextTick(optionalCallback, new Error(\"Server is not running\"));\n return;\n }\n if (this.#server = @undefined, typeof optionalCallback === \"function\")\n this.once(\"close\", optionalCallback);\n server.stop(), this.emit(\"close\");\n }\n address() {\n if (!this.#server)\n return null;\n return this.#server.address;\n }\n listen(port, host, backlog, onListen) {\n const server = this;\n let socketPath;\n if (typeof port == \"string\" && !Number.isSafeInteger(Number(port)))\n socketPath = port;\n if (typeof host === \"function\")\n onListen = host, host = @undefined;\n if (typeof port === \"function\")\n onListen = port;\n else if (typeof port === \"object\") {\n if (port\?.signal\?.addEventListener(\"abort\", () => {\n this.close();\n }), host = port\?.host, port = port\?.port, typeof port\?.callback === \"function\")\n onListen = port\?.callback;\n }\n if (typeof backlog === \"function\")\n onListen = backlog;\n const ResponseClass = this.#options.ServerResponse || ServerResponse, RequestClass = this.#options.IncomingMessage || IncomingMessage;\n try {\n const tls = this.#tls;\n if (tls)\n this.serverName = tls.serverName || host || \"localhost\";\n this.#server = Bun.serve({\n tls,\n port,\n hostname: host,\n unix: socketPath,\n websocket: {\n open(ws) {\n ws.data.open(ws);\n },\n message(ws, message) {\n ws.data.message(ws, message);\n },\n close(ws, code, reason) {\n ws.data.close(ws, code, reason);\n },\n drain(ws) {\n ws.data.drain(ws);\n }\n },\n fetch(req, _server) {\n var pendingResponse, pendingError, rejectFunction, resolveFunction, reject = (err) => {\n if (pendingError)\n return;\n if (pendingError = err, rejectFunction)\n rejectFunction(err);\n }, reply = function(resp) {\n if (pendingResponse)\n return;\n if (pendingResponse = resp, resolveFunction)\n resolveFunction(resp);\n };\n const http_req = new RequestClass(req), http_res = new ResponseClass({ reply, req: http_req });\n if (http_req.socket[kInternalSocketData] = [_server, http_res, req], http_req.once(\"error\", (err) => reject(err)), http_res.once(\"error\", (err) => reject(err)), req.headers.get(\"upgrade\"))\n server.emit(\"upgrade\", http_req, http_req.socket, kEmptyBuffer);\n else\n server.emit(\"request\", http_req, http_res);\n if (pendingError)\n throw pendingError;\n if (pendingResponse)\n return pendingResponse;\n return new @Promise((resolve, reject2) => {\n resolveFunction = resolve, rejectFunction = reject2;\n });\n }\n }), setTimeout(emitListeningNextTick, 1, this, onListen, null, this.#server.hostname, this.#server.port);\n } catch (err) {\n server.emit(\"error\", err);\n }\n return this;\n }\n setTimeout(msecs, callback) {\n }\n}\nclass IncomingMessage extends Readable {\n method;\n complete;\n constructor(req, defaultIncomingOpts) {\n const method = req.method;\n super();\n const url = new URL(req.url);\n var { type = \"request\", [kInternalRequest]: nodeReq } = defaultIncomingOpts || {};\n this.#noBody = type === \"request\" \? method === \"GET\" || method === \"HEAD\" || method === \"TRACE\" || method === \"CONNECT\" || method === \"OPTIONS\" || (parseInt(req.headers.get(\"Content-Length\") || \"\") || 0) === 0 : !1, this.#req = req, this.method = method, this.#type = type, this.complete = !!this.#noBody, this.#bodyStream = @undefined;\n const socket = new FakeSocket;\n if (url.protocol === \"https:\")\n socket.encrypted = !0;\n this.#fakeSocket = socket, this.url = url.pathname + url.search, this.req = nodeReq, assignHeaders(this, req);\n }\n headers;\n rawHeaders;\n _consuming = !1;\n _dumped = !1;\n #bodyStream;\n #fakeSocket;\n #noBody = !1;\n #aborted = !1;\n #req;\n url;\n #type;\n _construct(callback) {\n if (this.#type === \"response\" || this.#noBody) {\n callback();\n return;\n }\n const contentLength = this.#req.headers.get(\"content-length\");\n if ((contentLength \? parseInt(contentLength, 10) : 0) === 0) {\n this.#noBody = !0, callback();\n return;\n }\n callback();\n }\n async#consumeStream(reader) {\n while (!0) {\n var { done, value } = await reader.readMany();\n if (this.#aborted)\n return;\n if (done) {\n this.push(null), process.nextTick(destroyBodyStreamNT, this);\n break;\n }\n for (var v of value)\n this.push(v);\n }\n }\n _read(size) {\n if (this.#noBody)\n this.push(null), this.complete = !0;\n else if (this.#bodyStream == null) {\n const reader = this.#req.body\?.getReader();\n if (!reader) {\n this.push(null);\n return;\n }\n this.#bodyStream = reader, this.#consumeStream(reader);\n }\n }\n get aborted() {\n return this.#aborted;\n }\n #abort() {\n if (this.#aborted)\n return;\n this.#aborted = !0;\n var bodyStream = this.#bodyStream;\n if (!bodyStream)\n return;\n bodyStream.cancel(), this.complete = !0, this.#bodyStream = @undefined, this.push(null);\n }\n get connection() {\n return this.#fakeSocket;\n }\n get statusCode() {\n return this.#req.status;\n }\n get statusMessage() {\n return STATUS_CODES[this.#req.status];\n }\n get httpVersion() {\n return \"1.1\";\n }\n get rawTrailers() {\n return [];\n }\n get httpVersionMajor() {\n return 1;\n }\n get httpVersionMinor() {\n return 1;\n }\n get trailers() {\n return kEmptyObject;\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n}\n\nclass OutgoingMessage extends Writable {\n constructor() {\n super(...arguments);\n }\n #headers;\n headersSent = !1;\n sendDate = !0;\n req;\n timeout;\n #finished = !1;\n [kEndCalled] = !1;\n #fakeSocket;\n #timeoutTimer;\n [kAbortController] = null;\n _implicitHeader() {\n }\n get headers() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n get connection() {\n return this.socket;\n }\n get finished() {\n return this.#finished;\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return headers.set(name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.removeAllListeners(\"timeout\"), this.#timeoutTimer = @undefined;\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar OriginalWriteHeadFn, OriginalImplicitHeadFn;\n\nclass ServerResponse extends Writable {\n constructor(c) {\n super();\n if (!c)\n c = {};\n var req = c.req || {}, reply = c.reply;\n if (this.req = req, this._reply = reply, this.sendDate = !0, this.statusCode = 200, this.headersSent = !1, this.statusMessage = @undefined, this.#controller = @undefined, this.#firstWrite = @undefined, this._writableState.decodeStrings = !1, this.#deferred = @undefined, req.method === \"HEAD\")\n this._hasBody = !1;\n }\n req;\n _reply;\n sendDate;\n statusCode;\n #headers;\n headersSent = !1;\n statusMessage;\n #controller;\n #firstWrite;\n _sent100 = !1;\n _defaultKeepAlive = !1;\n _removedConnection = !1;\n _removedContLen = !1;\n _hasBody = !0;\n #deferred = @undefined;\n #finished = !1;\n _implicitHeader() {\n this.writeHead(this.statusCode);\n }\n _write(chunk, encoding, callback) {\n if (!this.#firstWrite && !this.headersSent) {\n this.#firstWrite = chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n controller.write(chunk), callback();\n });\n }\n _writev(chunks, callback) {\n if (chunks.length === 1 && !this.headersSent && !this.#firstWrite) {\n this.#firstWrite = chunks[0].chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n for (let chunk of chunks)\n controller.write(chunk.chunk);\n callback();\n });\n }\n #ensureReadableStreamController(run) {\n var thisController = this.#controller;\n if (thisController)\n return run(thisController);\n this.headersSent = !0;\n var firstWrite = this.#firstWrite;\n this.#firstWrite = @undefined, this._reply(new Response(new @ReadableStream({\n type: \"direct\",\n pull: (controller) => {\n if (this.#controller = controller, firstWrite)\n controller.write(firstWrite);\n if (firstWrite = @undefined, run(controller), !this.#finished)\n return new @Promise((resolve) => {\n this.#deferred = resolve;\n });\n }\n }), {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n }));\n }\n #drainHeadersIfObservable() {\n if (this._implicitHeader === OriginalImplicitHeadFn && this.writeHead === OriginalWriteHeadFn)\n return;\n this._implicitHeader();\n }\n _final(callback) {\n if (!this.headersSent) {\n var data = this.#firstWrite || \"\";\n this.#firstWrite = @undefined, this.#finished = !0, this.#drainHeadersIfObservable(), this._reply(new Response(data, {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n })), callback && callback();\n return;\n }\n this.#finished = !0, this.#ensureReadableStreamController((controller) => {\n controller.end(), callback();\n var deferred = this.#deferred;\n if (deferred)\n this.#deferred = @undefined, deferred();\n });\n }\n writeProcessing() {\n throw new Error(\"not implemented\");\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n assignSocket(socket) {\n throw new Error(\"not implemented\");\n }\n detachSocket(socket) {\n throw new Error(\"not implemented\");\n }\n writeContinue(callback) {\n throw new Error(\"not implemented\");\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n var headers = this.#headers;\n if (!headers)\n return kEmptyObject;\n return headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return setHeader(headers, name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n writeHead(statusCode, statusMessage, headers) {\n return _writeHead(statusCode, statusMessage, headers, this), this;\n }\n}\nOriginalWriteHeadFn = ServerResponse.prototype.writeHead;\nOriginalImplicitHeadFn = ServerResponse.prototype._implicitHeader;\n\nclass ClientRequest extends OutgoingMessage {\n #timeout;\n #res = null;\n #upgradeOrConnect = !1;\n #parser = null;\n #maxHeadersCount = null;\n #reusedSocket = !1;\n #host;\n #protocol;\n #method;\n #port;\n #useDefaultPort;\n #joinDuplicateHeaders;\n #maxHeaderSize;\n #agent = globalAgent;\n #path;\n #socketPath;\n #bodyChunks = null;\n #fetchRequest;\n #signal = null;\n [kAbortController] = null;\n #timeoutTimer = @undefined;\n #options;\n #finished;\n get path() {\n return this.#path;\n }\n get port() {\n return this.#port;\n }\n get method() {\n return this.#method;\n }\n get host() {\n return this.#host;\n }\n get protocol() {\n return this.#protocol;\n }\n _write(chunk, encoding, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = [chunk], callback();\n return;\n }\n this.#bodyChunks.push(chunk), callback();\n }\n _writev(chunks, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = chunks, callback();\n return;\n }\n this.#bodyChunks.push(...chunks), callback();\n }\n _final(callback) {\n if (this.#finished = !0, this[kAbortController] = new AbortController, this[kAbortController].signal.addEventListener(\"abort\", () => {\n this[kClearTimeout]();\n }), this.#signal\?.aborted)\n this[kAbortController].abort();\n var method = this.#method, body = this.#bodyChunks\?.length === 1 \? this.#bodyChunks[0] : @Buffer.concat(this.#bodyChunks || []);\n let url, proxy;\n if (this.#path.startsWith(\"http://\") || this.#path.startsWith(\"https://\"))\n url = this.#path, proxy = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}`;\n else\n url = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}${this.#path}`;\n try {\n this.#fetchRequest = fetch(url, {\n method,\n headers: this.getHeaders(),\n body: body && method !== \"GET\" && method !== \"HEAD\" && method !== \"OPTIONS\" \? body : @undefined,\n redirect: \"manual\",\n verbose: !1,\n signal: this[kAbortController].signal,\n proxy,\n timeout: !1,\n decompress: !1\n }).then((response) => {\n var res = this.#res = new IncomingMessage(response, {\n type: \"response\",\n [kInternalRequest]: this\n });\n this.emit(\"response\", res);\n }).catch((err) => {\n this.emit(\"error\", err);\n }).finally(() => {\n this.#fetchRequest = null, this[kClearTimeout]();\n });\n } catch (err) {\n this.emit(\"error\", err);\n } finally {\n callback();\n }\n }\n get aborted() {\n return this.#signal\?.aborted || !!this[kAbortController]\?.signal.aborted;\n }\n abort() {\n if (this.aborted)\n return;\n this[kAbortController].abort();\n }\n constructor(input, options, cb) {\n super();\n if (typeof input === \"string\") {\n const urlStr = input;\n try {\n var urlObject = new URL(urlStr);\n } catch (e) {\n @throwTypeError(`Invalid URL: ${urlStr}`);\n }\n input = urlToHttpOptions(urlObject);\n } else if (input && typeof input === \"object\" && input instanceof URL)\n input = urlToHttpOptions(input);\n else\n cb = options, options = input, input = null;\n if (typeof options === \"function\")\n cb = options, options = input || kEmptyObject;\n else\n options = ObjectAssign(input || {}, options);\n var defaultAgent = options._defaultAgent || Agent.globalAgent;\n let protocol = options.protocol;\n if (!protocol)\n if (options.port === 443)\n protocol = \"https:\";\n else\n protocol = defaultAgent.protocol || \"http:\";\n switch (this.#protocol = protocol, this.#agent\?.protocol) {\n case @undefined:\n break;\n case \"http:\":\n if (protocol === \"https:\") {\n defaultAgent = this.#agent = getDefaultHTTPSAgent();\n break;\n }\n case \"https:\":\n if (protocol === \"https\") {\n defaultAgent = this.#agent = Agent.globalAgent;\n break;\n }\n default:\n break;\n }\n if (options.path) {\n const path = @String(options.path);\n if (RegExpPrototypeExec.@call(INVALID_PATH_REGEX, path) !== null)\n throw new Error(\"Path contains unescaped characters\");\n }\n if (protocol !== \"http:\" && protocol !== \"https:\" && protocol) {\n const expectedProtocol = defaultAgent\?.protocol \?\? \"http:\";\n throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`);\n }\n const defaultPort = protocol === \"https:\" \? 443 : 80;\n this.#port = options.port || options.defaultPort || this.#agent\?.defaultPort || defaultPort, this.#useDefaultPort = this.#port === defaultPort;\n const host = this.#host = options.host = validateHost(options.hostname, \"hostname\") || validateHost(options.host, \"host\") || \"localhost\";\n this.#socketPath = options.socketPath;\n const signal = options.signal;\n if (signal)\n signal.addEventListener(\"abort\", () => {\n this[kAbortController]\?.abort();\n }), this.#signal = signal;\n let method = options.method;\n const methodIsString = typeof method === \"string\";\n if (method !== null && method !== @undefined && !methodIsString)\n throw new Error(\"ERR_INVALID_ARG_TYPE: options.method\");\n if (methodIsString && method) {\n if (!checkIsHttpToken(method))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN: Method\");\n method = this.#method = StringPrototypeToUpperCase.@call(method);\n } else\n method = this.#method = \"GET\";\n const _maxHeaderSize = options.maxHeaderSize;\n this.#maxHeaderSize = _maxHeaderSize;\n var _joinDuplicateHeaders = options.joinDuplicateHeaders;\n if (this.#joinDuplicateHeaders = _joinDuplicateHeaders, this.#path = options.path || \"/\", cb)\n this.once(\"response\", cb);\n this.#finished = !1, this.#res = null, this.#upgradeOrConnect = !1, this.#parser = null, this.#maxHeadersCount = null, this.#reusedSocket = !1, this.#host = host, this.#protocol = protocol;\n var timeout = options.timeout;\n if (timeout !== @undefined && timeout !== 0)\n this.setTimeout(timeout, @undefined);\n if (!ArrayIsArray(headers)) {\n var headers = options.headers;\n if (headers)\n for (let key in headers)\n this.setHeader(key, headers[key]);\n var auth = options.auth;\n if (auth && !this.getHeader(\"Authorization\"))\n this.setHeader(\"Authorization\", \"Basic \" + @Buffer.from(auth).toString(\"base64\"));\n }\n var { signal: _signal, ...optsWithoutSignal } = options;\n this.#options = optsWithoutSignal;\n }\n setSocketKeepAlive(enable = !0, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.#timeoutTimer = @undefined, this.removeAllListeners(\"timeout\");\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/, METHODS = [\n \"ACL\",\n \"BIND\",\n \"CHECKOUT\",\n \"CONNECT\",\n \"COPY\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"LINK\",\n \"LOCK\",\n \"M-SEARCH\",\n \"MERGE\",\n \"MKACTIVITY\",\n \"MKCALENDAR\",\n \"MKCOL\",\n \"MOVE\",\n \"NOTIFY\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PROPFIND\",\n \"PROPPATCH\",\n \"PURGE\",\n \"PUT\",\n \"REBIND\",\n \"REPORT\",\n \"SEARCH\",\n \"SOURCE\",\n \"SUBSCRIBE\",\n \"TRACE\",\n \"UNBIND\",\n \"UNLINK\",\n \"UNLOCK\",\n \"UNSUBSCRIBE\"\n], STATUS_CODES = {\n 100: \"Continue\",\n 101: \"Switching Protocols\",\n 102: \"Processing\",\n 103: \"Early Hints\",\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 203: \"Non-Authoritative Information\",\n 204: \"No Content\",\n 205: \"Reset Content\",\n 206: \"Partial Content\",\n 207: \"Multi-Status\",\n 208: \"Already Reported\",\n 226: \"IM Used\",\n 300: \"Multiple Choices\",\n 301: \"Moved Permanently\",\n 302: \"Found\",\n 303: \"See Other\",\n 304: \"Not Modified\",\n 305: \"Use Proxy\",\n 307: \"Temporary Redirect\",\n 308: \"Permanent Redirect\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 402: \"Payment Required\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 406: \"Not Acceptable\",\n 407: \"Proxy Authentication Required\",\n 408: \"Request Timeout\",\n 409: \"Conflict\",\n 410: \"Gone\",\n 411: \"Length Required\",\n 412: \"Precondition Failed\",\n 413: \"Payload Too Large\",\n 414: \"URI Too Long\",\n 415: \"Unsupported Media Type\",\n 416: \"Range Not Satisfiable\",\n 417: \"Expectation Failed\",\n 418: \"I'm a Teapot\",\n 421: \"Misdirected Request\",\n 422: \"Unprocessable Entity\",\n 423: \"Locked\",\n 424: \"Failed Dependency\",\n 425: \"Too Early\",\n 426: \"Upgrade Required\",\n 428: \"Precondition Required\",\n 429: \"Too Many Requests\",\n 431: \"Request Header Fields Too Large\",\n 451: \"Unavailable For Legal Reasons\",\n 500: \"Internal Server Error\",\n 501: \"Not Implemented\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n 504: \"Gateway Timeout\",\n 505: \"HTTP Version Not Supported\",\n 506: \"Variant Also Negotiates\",\n 507: \"Insufficient Storage\",\n 508: \"Loop Detected\",\n 509: \"Bandwidth Limit Exceeded\",\n 510: \"Not Extended\",\n 511: \"Network Authentication Required\"\n}, globalAgent = new Agent;\n$ = {\n Agent,\n Server,\n METHODS,\n STATUS_CODES,\n createServer,\n ServerResponse,\n IncomingMessage,\n request,\n get,\n maxHeaderSize: 16384,\n validateHeaderName,\n validateHeaderValue,\n setMaxIdleHTTPParsers(max) {\n },\n globalAgent,\n ClientRequest,\n OutgoingMessage\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeHttpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/http.ts\nvar checkInvalidHeaderChar = function(val) {\n return RegExpPrototypeExec.@call(headerCharRegex, val) !== null;\n};\nvar isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, validateMsecs = function(numberlike, field) {\n if (typeof numberlike !== \"number\" || numberlike < 0)\n throw new ERR_INVALID_ARG_TYPE(field, \"number\", numberlike);\n return numberlike;\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, createServer = function(options, callback) {\n return new Server(options, callback);\n}, emitListeningNextTick = function(self, onListen, err, hostname, port) {\n if (typeof onListen === \"function\")\n try {\n onListen(err, hostname, port);\n } catch (err2) {\n self.emit(\"error\", err2);\n }\n if (self.listening = !err, err)\n self.emit(\"error\", err);\n else\n self.emit(\"listening\", hostname, port);\n}, assignHeaders = function(object, req) {\n var headers = req.headers.toJSON();\n const rawHeaders = @newArrayWithSize(req.headers.count * 2);\n var i = 0;\n for (let key in headers)\n rawHeaders[i++] = key, rawHeaders[i++] = headers[key];\n object.headers = headers, object.rawHeaders = rawHeaders;\n}, destroyBodyStreamNT = function(bodyStream) {\n bodyStream.destroy();\n}, getDefaultHTTPSAgent = function() {\n return _defaultHTTPSAgent \?\?= new Agent({ defaultPort: 443, protocol: \"https:\" });\n};\nvar urlToHttpOptions = function(url) {\n var { protocol, hostname, hash, search, pathname, href, port, username, password } = url;\n return {\n protocol,\n hostname: typeof hostname === \"string\" && StringPrototypeStartsWith.@call(hostname, \"[\") \? StringPrototypeSlice.@call(hostname, 1, -1) : hostname,\n hash,\n search,\n pathname,\n path: `${pathname || \"\"}${search || \"\"}`,\n href,\n port: port \? Number(port) : protocol === \"https:\" \? 443 : protocol === \"http:\" \? 80 : @undefined,\n auth: username || password \? `${decodeURIComponent(username)}:${decodeURIComponent(password)}` : @undefined\n };\n}, validateHost = function(host, name) {\n if (host !== null && host !== @undefined && typeof host !== \"string\")\n throw new Error(\"Invalid arg type in options\");\n return host;\n}, checkIsHttpToken = function(val) {\n return RegExpPrototypeExec.@call(tokenRegExp, val) !== null;\n};\nvar _writeHead = function(statusCode, reason, obj, response) {\n if (statusCode |= 0, statusCode < 100 || statusCode > 999)\n throw new Error(\"status code must be between 100 and 999\");\n if (typeof reason === \"string\")\n response.statusMessage = reason;\n else {\n if (!response.statusMessage)\n response.statusMessage = STATUS_CODES[statusCode] || \"unknown\";\n obj = reason;\n }\n response.statusCode = statusCode;\n {\n let k;\n if (@Array.isArray(obj)) {\n if (obj.length % 2 !== 0)\n throw new Error(\"raw headers must have an even number of elements\");\n for (let n = 0;n < obj.length; n += 2)\n if (k = obj[n + 0], k)\n response.setHeader(k, obj[n + 1]);\n } else if (obj) {\n const keys = Object.keys(obj);\n for (let i = 0;i < keys.length; i++)\n if (k = keys[i], k)\n response.setHeader(k, obj[k]);\n }\n }\n if (statusCode === 204 || statusCode === 304 || statusCode >= 100 && statusCode <= 199)\n response._hasBody = !1;\n}, request = function(url, options, cb) {\n return new ClientRequest(url, options, cb);\n}, get = function(url, options, cb) {\n const req = request(url, options, cb);\n return req.end(), req;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { isTypedArray } = @requireNativeModule(\"util/types\"), { Duplex, Readable, Writable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { getHeader, setHeader } = @lazy(\"http\"), headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/, validateHeaderName = (name, label) => {\n if (typeof name !== \"string\" || !name || !checkIsHttpToken(name))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN\");\n}, validateHeaderValue = (name, value) => {\n if (value === @undefined)\n throw new Error(\"ERR_HTTP_INVALID_HEADER_VALUE\");\n if (checkInvalidHeaderChar(value))\n throw new Error(\"ERR_INVALID_CHAR\");\n}, { URL } = globalThis, globalReportError = globalThis.reportError, setTimeout = globalThis.setTimeout, fetch = Bun.fetch;\nvar kEmptyObject = Object.freeze(Object.create(null)), kOutHeaders = Symbol.for(\"kOutHeaders\"), kEndCalled = Symbol.for(\"kEndCalled\"), kAbortController = Symbol.for(\"kAbortController\"), kClearTimeout = Symbol(\"kClearTimeout\"), kCorked = Symbol.for(\"kCorked\"), searchParamsSymbol = Symbol.for(\"query\"), StringPrototypeSlice = @String.prototype.slice, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeToUpperCase = @String.prototype.toUpperCase, ArrayIsArray = @Array.isArray, RegExpPrototypeExec = @RegExp.prototype.exec, ObjectAssign = Object.assign, INVALID_PATH_REGEX = /[^\\u0021-\\u00ff]/;\nvar _defaultHTTPSAgent, kInternalRequest = Symbol(\"kInternalRequest\"), kInternalSocketData = Symbol.for(\"::bunternal::\"), kEmptyBuffer = @Buffer.alloc(0);\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\nvar FakeSocket = class Socket extends Duplex {\n [kInternalSocketData];\n bytesRead = 0;\n bytesWritten = 0;\n connecting = !1;\n timeout = 0;\n isServer = !1;\n #address;\n address() {\n var internalData;\n return this.#address \?\?= (internalData = this[kInternalSocketData])\?.[0]\?.requestIP(internalData[2]) \?\? {};\n }\n get bufferSize() {\n return this.writableLength;\n }\n connect(port, host, connectListener) {\n return this;\n }\n _destroy(err, callback) {\n }\n _final(callback) {\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return 80;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n }\n get remoteAddress() {\n return this.address()\?.address;\n }\n set remoteAddress(val) {\n this.address().address = val;\n }\n get remotePort() {\n return this.address()\?.port;\n }\n set remotePort(val) {\n this.address().port = val;\n }\n get remoteFamily() {\n return this.address()\?.family;\n }\n set remoteFamily(val) {\n this.address().family = val;\n }\n resetAndDestroy() {\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n return this;\n }\n unref() {\n }\n _write(chunk, encoding, callback) {\n }\n};\n\nclass Agent extends EventEmitter {\n defaultPort = 80;\n protocol = \"http:\";\n options;\n requests;\n sockets;\n freeSockets;\n keepAliveMsecs;\n keepAlive;\n maxSockets;\n maxFreeSockets;\n scheduling;\n maxTotalSockets;\n totalSocketCount;\n #fakeSocket;\n static get globalAgent() {\n return globalAgent;\n }\n static get defaultMaxSockets() {\n return @Infinity;\n }\n constructor(options = kEmptyObject) {\n super();\n if (this.options = options = { ...options, path: null }, options.noDelay === @undefined)\n options.noDelay = !0;\n this.requests = kEmptyObject, this.sockets = kEmptyObject, this.freeSockets = kEmptyObject, this.keepAliveMsecs = options.keepAliveMsecs || 1000, this.keepAlive = options.keepAlive || !1, this.maxSockets = options.maxSockets || Agent.defaultMaxSockets, this.maxFreeSockets = options.maxFreeSockets || 256, this.scheduling = options.scheduling || \"lifo\", this.maxTotalSockets = options.maxTotalSockets, this.totalSocketCount = 0, this.defaultPort = options.defaultPort || 80, this.protocol = options.protocol || \"http:\";\n }\n createConnection() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n getName(options = kEmptyObject) {\n let name = `http:${options.host || \"localhost\"}:`;\n if (options.port)\n name += options.port;\n if (name += \":\", options.localAddress)\n name += options.localAddress;\n if (options.family === 4 || options.family === 6)\n name += `:${options.family}`;\n if (options.socketPath)\n name += `:${options.socketPath}`;\n return name;\n }\n addRequest() {\n }\n createSocket(req, options, cb) {\n cb(null, this.#fakeSocket \?\?= new FakeSocket);\n }\n removeSocket() {\n }\n keepSocketAlive() {\n return !0;\n }\n reuseSocket() {\n }\n destroy() {\n }\n}\n\nclass Server extends EventEmitter {\n #server;\n #options;\n #tls;\n #is_tls = !1;\n listening = !1;\n serverName;\n constructor(options, callback) {\n super();\n if (typeof options === \"function\")\n callback = options, options = {};\n else if (options == null || typeof options === \"object\") {\n options = { ...options }, this.#tls = null;\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n let serverName = options.servername;\n if (serverName && typeof serverName !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n if (this.#is_tls)\n this.#tls = {\n serverName,\n key,\n cert,\n ca,\n passphrase,\n secureOptions\n };\n else\n this.#tls = null;\n } else\n throw new Error(\"bun-http-polyfill: invalid arguments\");\n if (this.#options = options, callback)\n this.on(\"request\", callback);\n }\n closeAllConnections() {\n const server = this.#server;\n if (!server)\n return;\n this.#server = @undefined, server.stop(!0), this.emit(\"close\");\n }\n closeIdleConnections() {\n }\n close(optionalCallback) {\n const server = this.#server;\n if (!server) {\n if (typeof optionalCallback === \"function\")\n process.nextTick(optionalCallback, new Error(\"Server is not running\"));\n return;\n }\n if (this.#server = @undefined, typeof optionalCallback === \"function\")\n this.once(\"close\", optionalCallback);\n server.stop(), this.emit(\"close\");\n }\n address() {\n if (!this.#server)\n return null;\n return this.#server.address;\n }\n listen(port, host, backlog, onListen) {\n const server = this;\n let socketPath;\n if (typeof port == \"string\" && !Number.isSafeInteger(Number(port)))\n socketPath = port;\n if (typeof host === \"function\")\n onListen = host, host = @undefined;\n if (typeof port === \"function\")\n onListen = port;\n else if (typeof port === \"object\") {\n if (port\?.signal\?.addEventListener(\"abort\", () => {\n this.close();\n }), host = port\?.host, port = port\?.port, typeof port\?.callback === \"function\")\n onListen = port\?.callback;\n }\n if (typeof backlog === \"function\")\n onListen = backlog;\n const ResponseClass = this.#options.ServerResponse || ServerResponse, RequestClass = this.#options.IncomingMessage || IncomingMessage;\n try {\n const tls = this.#tls;\n if (tls)\n this.serverName = tls.serverName || host || \"localhost\";\n this.#server = Bun.serve({\n tls,\n port,\n hostname: host,\n unix: socketPath,\n websocket: {\n open(ws) {\n ws.data.open(ws);\n },\n message(ws, message) {\n ws.data.message(ws, message);\n },\n close(ws, code, reason) {\n ws.data.close(ws, code, reason);\n },\n drain(ws) {\n ws.data.drain(ws);\n }\n },\n fetch(req, _server) {\n var pendingResponse, pendingError, rejectFunction, resolveFunction, reject = (err) => {\n if (pendingError)\n return;\n if (pendingError = err, rejectFunction)\n rejectFunction(err);\n }, reply = function(resp) {\n if (pendingResponse)\n return;\n if (pendingResponse = resp, resolveFunction)\n resolveFunction(resp);\n };\n const http_req = new RequestClass(req), http_res = new ResponseClass({ reply, req: http_req });\n if (http_req.socket[kInternalSocketData] = [_server, http_res, req], http_req.once(\"error\", (err) => reject(err)), http_res.once(\"error\", (err) => reject(err)), req.headers.get(\"upgrade\"))\n server.emit(\"upgrade\", http_req, http_req.socket, kEmptyBuffer);\n else\n server.emit(\"request\", http_req, http_res);\n if (pendingError)\n throw pendingError;\n if (pendingResponse)\n return pendingResponse;\n return new @Promise((resolve, reject2) => {\n resolveFunction = resolve, rejectFunction = reject2;\n });\n }\n }), setTimeout(emitListeningNextTick, 1, this, onListen, null, this.#server.hostname, this.#server.port);\n } catch (err) {\n server.emit(\"error\", err);\n }\n return this;\n }\n setTimeout(msecs, callback) {\n }\n}\nclass IncomingMessage extends Readable {\n method;\n complete;\n constructor(req, defaultIncomingOpts) {\n const method = req.method;\n super();\n const url = new URL(req.url);\n var { type = \"request\", [kInternalRequest]: nodeReq } = defaultIncomingOpts || {};\n this.#noBody = type === \"request\" \? method === \"GET\" || method === \"HEAD\" || method === \"TRACE\" || method === \"CONNECT\" || method === \"OPTIONS\" || (parseInt(req.headers.get(\"Content-Length\") || \"\") || 0) === 0 : !1, this.#req = req, this.method = method, this.#type = type, this.complete = !!this.#noBody, this.#bodyStream = @undefined;\n const socket = new FakeSocket;\n if (url.protocol === \"https:\")\n socket.encrypted = !0;\n this.#fakeSocket = socket, this.url = url.pathname + url.search, this.req = nodeReq, assignHeaders(this, req);\n }\n headers;\n rawHeaders;\n _consuming = !1;\n _dumped = !1;\n #bodyStream;\n #fakeSocket;\n #noBody = !1;\n #aborted = !1;\n #req;\n url;\n #type;\n _construct(callback) {\n if (this.#type === \"response\" || this.#noBody) {\n callback();\n return;\n }\n const contentLength = this.#req.headers.get(\"content-length\");\n if ((contentLength \? parseInt(contentLength, 10) : 0) === 0) {\n this.#noBody = !0, callback();\n return;\n }\n callback();\n }\n async#consumeStream(reader) {\n while (!0) {\n var { done, value } = await reader.readMany();\n if (this.#aborted)\n return;\n if (done) {\n this.push(null), process.nextTick(destroyBodyStreamNT, this);\n break;\n }\n for (var v of value)\n this.push(v);\n }\n }\n _read(size) {\n if (this.#noBody)\n this.push(null), this.complete = !0;\n else if (this.#bodyStream == null) {\n const reader = this.#req.body\?.getReader();\n if (!reader) {\n this.push(null);\n return;\n }\n this.#bodyStream = reader, this.#consumeStream(reader);\n }\n }\n get aborted() {\n return this.#aborted;\n }\n #abort() {\n if (this.#aborted)\n return;\n this.#aborted = !0;\n var bodyStream = this.#bodyStream;\n if (!bodyStream)\n return;\n bodyStream.cancel(), this.complete = !0, this.#bodyStream = @undefined, this.push(null);\n }\n get connection() {\n return this.#fakeSocket;\n }\n get statusCode() {\n return this.#req.status;\n }\n get statusMessage() {\n return STATUS_CODES[this.#req.status];\n }\n get httpVersion() {\n return \"1.1\";\n }\n get rawTrailers() {\n return [];\n }\n get httpVersionMajor() {\n return 1;\n }\n get httpVersionMinor() {\n return 1;\n }\n get trailers() {\n return kEmptyObject;\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n}\n\nclass OutgoingMessage extends Writable {\n constructor() {\n super(...arguments);\n }\n #headers;\n headersSent = !1;\n sendDate = !0;\n req;\n timeout;\n #finished = !1;\n [kEndCalled] = !1;\n #fakeSocket;\n #timeoutTimer;\n [kAbortController] = null;\n _implicitHeader() {\n }\n get headers() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n get connection() {\n return this.socket;\n }\n get finished() {\n return this.#finished;\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return headers.set(name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.removeAllListeners(\"timeout\"), this.#timeoutTimer = @undefined;\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar OriginalWriteHeadFn, OriginalImplicitHeadFn;\n\nclass ServerResponse extends Writable {\n constructor(c) {\n super();\n if (!c)\n c = {};\n var req = c.req || {}, reply = c.reply;\n if (this.req = req, this._reply = reply, this.sendDate = !0, this.statusCode = 200, this.headersSent = !1, this.statusMessage = @undefined, this.#controller = @undefined, this.#firstWrite = @undefined, this._writableState.decodeStrings = !1, this.#deferred = @undefined, req.method === \"HEAD\")\n this._hasBody = !1;\n }\n req;\n _reply;\n sendDate;\n statusCode;\n #headers;\n headersSent = !1;\n statusMessage;\n #controller;\n #firstWrite;\n _sent100 = !1;\n _defaultKeepAlive = !1;\n _removedConnection = !1;\n _removedContLen = !1;\n _hasBody = !0;\n #deferred = @undefined;\n #finished = !1;\n _implicitHeader() {\n this.writeHead(this.statusCode);\n }\n _write(chunk, encoding, callback) {\n if (!this.#firstWrite && !this.headersSent) {\n this.#firstWrite = chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n controller.write(chunk), callback();\n });\n }\n _writev(chunks, callback) {\n if (chunks.length === 1 && !this.headersSent && !this.#firstWrite) {\n this.#firstWrite = chunks[0].chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n for (let chunk of chunks)\n controller.write(chunk.chunk);\n callback();\n });\n }\n #ensureReadableStreamController(run) {\n var thisController = this.#controller;\n if (thisController)\n return run(thisController);\n this.headersSent = !0;\n var firstWrite = this.#firstWrite;\n this.#firstWrite = @undefined, this._reply(new Response(new @ReadableStream({\n type: \"direct\",\n pull: (controller) => {\n if (this.#controller = controller, firstWrite)\n controller.write(firstWrite);\n if (firstWrite = @undefined, run(controller), !this.#finished)\n return new @Promise((resolve) => {\n this.#deferred = resolve;\n });\n }\n }), {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n }));\n }\n #drainHeadersIfObservable() {\n if (this._implicitHeader === OriginalImplicitHeadFn && this.writeHead === OriginalWriteHeadFn)\n return;\n this._implicitHeader();\n }\n _final(callback) {\n if (!this.headersSent) {\n var data = this.#firstWrite || \"\";\n this.#firstWrite = @undefined, this.#finished = !0, this.#drainHeadersIfObservable(), this._reply(new Response(data, {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n })), callback && callback();\n return;\n }\n this.#finished = !0, this.#ensureReadableStreamController((controller) => {\n controller.end(), callback();\n var deferred = this.#deferred;\n if (deferred)\n this.#deferred = @undefined, deferred();\n });\n }\n writeProcessing() {\n throw new Error(\"not implemented\");\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n assignSocket(socket) {\n throw new Error(\"not implemented\");\n }\n detachSocket(socket) {\n throw new Error(\"not implemented\");\n }\n writeContinue(callback) {\n throw new Error(\"not implemented\");\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n var headers = this.#headers;\n if (!headers)\n return kEmptyObject;\n return headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return setHeader(headers, name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n writeHead(statusCode, statusMessage, headers) {\n return _writeHead(statusCode, statusMessage, headers, this), this;\n }\n}\nOriginalWriteHeadFn = ServerResponse.prototype.writeHead;\nOriginalImplicitHeadFn = ServerResponse.prototype._implicitHeader;\n\nclass ClientRequest extends OutgoingMessage {\n #timeout;\n #res = null;\n #upgradeOrConnect = !1;\n #parser = null;\n #maxHeadersCount = null;\n #reusedSocket = !1;\n #host;\n #protocol;\n #method;\n #port;\n #useDefaultPort;\n #joinDuplicateHeaders;\n #maxHeaderSize;\n #agent = globalAgent;\n #path;\n #socketPath;\n #bodyChunks = null;\n #fetchRequest;\n #signal = null;\n [kAbortController] = null;\n #timeoutTimer = @undefined;\n #options;\n #finished;\n get path() {\n return this.#path;\n }\n get port() {\n return this.#port;\n }\n get method() {\n return this.#method;\n }\n get host() {\n return this.#host;\n }\n get protocol() {\n return this.#protocol;\n }\n _write(chunk, encoding, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = [chunk], callback();\n return;\n }\n this.#bodyChunks.push(chunk), callback();\n }\n _writev(chunks, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = chunks, callback();\n return;\n }\n this.#bodyChunks.push(...chunks), callback();\n }\n _final(callback) {\n if (this.#finished = !0, this[kAbortController] = new AbortController, this[kAbortController].signal.addEventListener(\"abort\", () => {\n this[kClearTimeout]();\n }), this.#signal\?.aborted)\n this[kAbortController].abort();\n var method = this.#method, body = this.#bodyChunks\?.length === 1 \? this.#bodyChunks[0] : @Buffer.concat(this.#bodyChunks || []);\n let url, proxy;\n if (this.#path.startsWith(\"http://\") || this.#path.startsWith(\"https://\"))\n url = this.#path, proxy = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}`;\n else\n url = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}${this.#path}`;\n try {\n this.#fetchRequest = fetch(url, {\n method,\n headers: this.getHeaders(),\n body: body && method !== \"GET\" && method !== \"HEAD\" && method !== \"OPTIONS\" \? body : @undefined,\n redirect: \"manual\",\n verbose: !1,\n signal: this[kAbortController].signal,\n proxy,\n timeout: !1,\n decompress: !1\n }).then((response) => {\n var res = this.#res = new IncomingMessage(response, {\n type: \"response\",\n [kInternalRequest]: this\n });\n this.emit(\"response\", res);\n }).catch((err) => {\n this.emit(\"error\", err);\n }).finally(() => {\n this.#fetchRequest = null, this[kClearTimeout]();\n });\n } catch (err) {\n this.emit(\"error\", err);\n } finally {\n callback();\n }\n }\n get aborted() {\n return this.#signal\?.aborted || !!this[kAbortController]\?.signal.aborted;\n }\n abort() {\n if (this.aborted)\n return;\n this[kAbortController].abort();\n }\n constructor(input, options, cb) {\n super();\n if (typeof input === \"string\") {\n const urlStr = input;\n try {\n var urlObject = new URL(urlStr);\n } catch (e) {\n @throwTypeError(`Invalid URL: ${urlStr}`);\n }\n input = urlToHttpOptions(urlObject);\n } else if (input && typeof input === \"object\" && input instanceof URL)\n input = urlToHttpOptions(input);\n else\n cb = options, options = input, input = null;\n if (typeof options === \"function\")\n cb = options, options = input || kEmptyObject;\n else\n options = ObjectAssign(input || {}, options);\n var defaultAgent = options._defaultAgent || Agent.globalAgent;\n let protocol = options.protocol;\n if (!protocol)\n if (options.port === 443)\n protocol = \"https:\";\n else\n protocol = defaultAgent.protocol || \"http:\";\n switch (this.#protocol = protocol, this.#agent\?.protocol) {\n case @undefined:\n break;\n case \"http:\":\n if (protocol === \"https:\") {\n defaultAgent = this.#agent = getDefaultHTTPSAgent();\n break;\n }\n case \"https:\":\n if (protocol === \"https\") {\n defaultAgent = this.#agent = Agent.globalAgent;\n break;\n }\n default:\n break;\n }\n if (options.path) {\n const path = @String(options.path);\n if (RegExpPrototypeExec.@call(INVALID_PATH_REGEX, path) !== null)\n throw new Error(\"Path contains unescaped characters\");\n }\n if (protocol !== \"http:\" && protocol !== \"https:\" && protocol) {\n const expectedProtocol = defaultAgent\?.protocol \?\? \"http:\";\n throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`);\n }\n const defaultPort = protocol === \"https:\" \? 443 : 80;\n this.#port = options.port || options.defaultPort || this.#agent\?.defaultPort || defaultPort, this.#useDefaultPort = this.#port === defaultPort;\n const host = this.#host = options.host = validateHost(options.hostname, \"hostname\") || validateHost(options.host, \"host\") || \"localhost\";\n this.#socketPath = options.socketPath;\n const signal = options.signal;\n if (signal)\n signal.addEventListener(\"abort\", () => {\n this[kAbortController]\?.abort();\n }), this.#signal = signal;\n let method = options.method;\n const methodIsString = typeof method === \"string\";\n if (method !== null && method !== @undefined && !methodIsString)\n throw new Error(\"ERR_INVALID_ARG_TYPE: options.method\");\n if (methodIsString && method) {\n if (!checkIsHttpToken(method))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN: Method\");\n method = this.#method = StringPrototypeToUpperCase.@call(method);\n } else\n method = this.#method = \"GET\";\n const _maxHeaderSize = options.maxHeaderSize;\n this.#maxHeaderSize = _maxHeaderSize;\n var _joinDuplicateHeaders = options.joinDuplicateHeaders;\n if (this.#joinDuplicateHeaders = _joinDuplicateHeaders, this.#path = options.path || \"/\", cb)\n this.once(\"response\", cb);\n this.#finished = !1, this.#res = null, this.#upgradeOrConnect = !1, this.#parser = null, this.#maxHeadersCount = null, this.#reusedSocket = !1, this.#host = host, this.#protocol = protocol;\n var timeout = options.timeout;\n if (timeout !== @undefined && timeout !== 0)\n this.setTimeout(timeout, @undefined);\n if (!ArrayIsArray(headers)) {\n var headers = options.headers;\n if (headers)\n for (let key in headers)\n this.setHeader(key, headers[key]);\n var auth = options.auth;\n if (auth && !this.getHeader(\"Authorization\"))\n this.setHeader(\"Authorization\", \"Basic \" + @Buffer.from(auth).toString(\"base64\"));\n }\n var { signal: _signal, ...optsWithoutSignal } = options;\n this.#options = optsWithoutSignal;\n }\n setSocketKeepAlive(enable = !0, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.#timeoutTimer = @undefined, this.removeAllListeners(\"timeout\");\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/, METHODS = [\n \"ACL\",\n \"BIND\",\n \"CHECKOUT\",\n \"CONNECT\",\n \"COPY\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"LINK\",\n \"LOCK\",\n \"M-SEARCH\",\n \"MERGE\",\n \"MKACTIVITY\",\n \"MKCALENDAR\",\n \"MKCOL\",\n \"MOVE\",\n \"NOTIFY\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PROPFIND\",\n \"PROPPATCH\",\n \"PURGE\",\n \"PUT\",\n \"REBIND\",\n \"REPORT\",\n \"SEARCH\",\n \"SOURCE\",\n \"SUBSCRIBE\",\n \"TRACE\",\n \"UNBIND\",\n \"UNLINK\",\n \"UNLOCK\",\n \"UNSUBSCRIBE\"\n], STATUS_CODES = {\n 100: \"Continue\",\n 101: \"Switching Protocols\",\n 102: \"Processing\",\n 103: \"Early Hints\",\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 203: \"Non-Authoritative Information\",\n 204: \"No Content\",\n 205: \"Reset Content\",\n 206: \"Partial Content\",\n 207: \"Multi-Status\",\n 208: \"Already Reported\",\n 226: \"IM Used\",\n 300: \"Multiple Choices\",\n 301: \"Moved Permanently\",\n 302: \"Found\",\n 303: \"See Other\",\n 304: \"Not Modified\",\n 305: \"Use Proxy\",\n 307: \"Temporary Redirect\",\n 308: \"Permanent Redirect\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 402: \"Payment Required\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 406: \"Not Acceptable\",\n 407: \"Proxy Authentication Required\",\n 408: \"Request Timeout\",\n 409: \"Conflict\",\n 410: \"Gone\",\n 411: \"Length Required\",\n 412: \"Precondition Failed\",\n 413: \"Payload Too Large\",\n 414: \"URI Too Long\",\n 415: \"Unsupported Media Type\",\n 416: \"Range Not Satisfiable\",\n 417: \"Expectation Failed\",\n 418: \"I'm a Teapot\",\n 421: \"Misdirected Request\",\n 422: \"Unprocessable Entity\",\n 423: \"Locked\",\n 424: \"Failed Dependency\",\n 425: \"Too Early\",\n 426: \"Upgrade Required\",\n 428: \"Precondition Required\",\n 429: \"Too Many Requests\",\n 431: \"Request Header Fields Too Large\",\n 451: \"Unavailable For Legal Reasons\",\n 500: \"Internal Server Error\",\n 501: \"Not Implemented\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n 504: \"Gateway Timeout\",\n 505: \"HTTP Version Not Supported\",\n 506: \"Variant Also Negotiates\",\n 507: \"Insufficient Storage\",\n 508: \"Loop Detected\",\n 509: \"Bandwidth Limit Exceeded\",\n 510: \"Not Extended\",\n 511: \"Network Authentication Required\"\n}, globalAgent = new Agent;\n$ = {\n Agent,\n Server,\n METHODS,\n STATUS_CODES,\n createServer,\n ServerResponse,\n IncomingMessage,\n request,\n get,\n maxHeaderSize: 16384,\n validateHeaderName,\n validateHeaderValue,\n setMaxIdleHTTPParsers(max) {\n },\n globalAgent,\n ClientRequest,\n OutgoingMessage\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeHttp2Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/http2.ts\nvar connect = function() {\n throwNotImplemented(\"node:http2 connect\", 887);\n}, createServer = function() {\n throwNotImplemented(\"node:http2 createServer\", 887);\n}, createSecureServer = function() {\n throwNotImplemented(\"node:http2 createSecureServer\", 887);\n}, getDefaultSettings = function() {\n return {\n headerTableSize: 4096,\n enablePush: !0,\n initialWindowSize: 65535,\n maxFrameSize: 16384,\n maxConcurrentStreams: 4294967295,\n maxHeaderSize: 65535,\n maxHeaderListSize: 65535,\n enableConnectProtocol: !1\n };\n}, getPackedSettings = function() {\n return @Buffer.alloc(0);\n}, getUnpackedSettings = function() {\n return @Buffer.alloc(0);\n}, Http2ServerRequest = function() {\n throwNotImplemented(\"node:http2 Http2ServerRequest\", 887);\n}, Http2ServerResponse = function() {\n throwNotImplemented(\"node:http2 Http2ServerResponse\", 887);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NGHTTP2_ERR_FRAME_SIZE_ERROR: -522,\n NGHTTP2_SESSION_SERVER: 0,\n NGHTTP2_SESSION_CLIENT: 1,\n NGHTTP2_STREAM_STATE_IDLE: 1,\n NGHTTP2_STREAM_STATE_OPEN: 2,\n NGHTTP2_STREAM_STATE_RESERVED_LOCAL: 3,\n NGHTTP2_STREAM_STATE_RESERVED_REMOTE: 4,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: 5,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: 6,\n NGHTTP2_STREAM_STATE_CLOSED: 7,\n NGHTTP2_FLAG_NONE: 0,\n NGHTTP2_FLAG_END_STREAM: 1,\n NGHTTP2_FLAG_END_HEADERS: 4,\n NGHTTP2_FLAG_ACK: 1,\n NGHTTP2_FLAG_PADDED: 8,\n NGHTTP2_FLAG_PRIORITY: 32,\n DEFAULT_SETTINGS_HEADER_TABLE_SIZE: 4096,\n DEFAULT_SETTINGS_ENABLE_PUSH: 1,\n DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS: 4294967295,\n DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: 65535,\n DEFAULT_SETTINGS_MAX_FRAME_SIZE: 16384,\n DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE: 65535,\n DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL: 0,\n MAX_MAX_FRAME_SIZE: 16777215,\n MIN_MAX_FRAME_SIZE: 16384,\n MAX_INITIAL_WINDOW_SIZE: 2147483647,\n NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: 1,\n NGHTTP2_SETTINGS_ENABLE_PUSH: 2,\n NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: 3,\n NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: 4,\n NGHTTP2_SETTINGS_MAX_FRAME_SIZE: 5,\n NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: 6,\n NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL: 8,\n PADDING_STRATEGY_NONE: 0,\n PADDING_STRATEGY_ALIGNED: 1,\n PADDING_STRATEGY_MAX: 2,\n PADDING_STRATEGY_CALLBACK: 1,\n NGHTTP2_NO_ERROR: 0,\n NGHTTP2_PROTOCOL_ERROR: 1,\n NGHTTP2_INTERNAL_ERROR: 2,\n NGHTTP2_FLOW_CONTROL_ERROR: 3,\n NGHTTP2_SETTINGS_TIMEOUT: 4,\n NGHTTP2_STREAM_CLOSED: 5,\n NGHTTP2_FRAME_SIZE_ERROR: 6,\n NGHTTP2_REFUSED_STREAM: 7,\n NGHTTP2_CANCEL: 8,\n NGHTTP2_COMPRESSION_ERROR: 9,\n NGHTTP2_CONNECT_ERROR: 10,\n NGHTTP2_ENHANCE_YOUR_CALM: 11,\n NGHTTP2_INADEQUATE_SECURITY: 12,\n NGHTTP2_HTTP_1_1_REQUIRED: 13,\n NGHTTP2_DEFAULT_WEIGHT: 16,\n HTTP2_HEADER_STATUS: \":status\",\n HTTP2_HEADER_METHOD: \":method\",\n HTTP2_HEADER_AUTHORITY: \":authority\",\n HTTP2_HEADER_SCHEME: \":scheme\",\n HTTP2_HEADER_PATH: \":path\",\n HTTP2_HEADER_PROTOCOL: \":protocol\",\n HTTP2_HEADER_ACCEPT_ENCODING: \"accept-encoding\",\n HTTP2_HEADER_ACCEPT_LANGUAGE: \"accept-language\",\n HTTP2_HEADER_ACCEPT_RANGES: \"accept-ranges\",\n HTTP2_HEADER_ACCEPT: \"accept\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: \"access-control-allow-credentials\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: \"access-control-allow-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: \"access-control-allow-methods\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: \"access-control-allow-origin\",\n HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: \"access-control-expose-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: \"access-control-request-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: \"access-control-request-method\",\n HTTP2_HEADER_AGE: \"age\",\n HTTP2_HEADER_AUTHORIZATION: \"authorization\",\n HTTP2_HEADER_CACHE_CONTROL: \"cache-control\",\n HTTP2_HEADER_CONNECTION: \"connection\",\n HTTP2_HEADER_CONTENT_DISPOSITION: \"content-disposition\",\n HTTP2_HEADER_CONTENT_ENCODING: \"content-encoding\",\n HTTP2_HEADER_CONTENT_LENGTH: \"content-length\",\n HTTP2_HEADER_CONTENT_TYPE: \"content-type\",\n HTTP2_HEADER_COOKIE: \"cookie\",\n HTTP2_HEADER_DATE: \"date\",\n HTTP2_HEADER_ETAG: \"etag\",\n HTTP2_HEADER_FORWARDED: \"forwarded\",\n HTTP2_HEADER_HOST: \"host\",\n HTTP2_HEADER_IF_MODIFIED_SINCE: \"if-modified-since\",\n HTTP2_HEADER_IF_NONE_MATCH: \"if-none-match\",\n HTTP2_HEADER_IF_RANGE: \"if-range\",\n HTTP2_HEADER_LAST_MODIFIED: \"last-modified\",\n HTTP2_HEADER_LINK: \"link\",\n HTTP2_HEADER_LOCATION: \"location\",\n HTTP2_HEADER_RANGE: \"range\",\n HTTP2_HEADER_REFERER: \"referer\",\n HTTP2_HEADER_SERVER: \"server\",\n HTTP2_HEADER_SET_COOKIE: \"set-cookie\",\n HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: \"strict-transport-security\",\n HTTP2_HEADER_TRANSFER_ENCODING: \"transfer-encoding\",\n HTTP2_HEADER_TE: \"te\",\n HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS: \"upgrade-insecure-requests\",\n HTTP2_HEADER_UPGRADE: \"upgrade\",\n HTTP2_HEADER_USER_AGENT: \"user-agent\",\n HTTP2_HEADER_VARY: \"vary\",\n HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS: \"x-content-type-options\",\n HTTP2_HEADER_X_FRAME_OPTIONS: \"x-frame-options\",\n HTTP2_HEADER_KEEP_ALIVE: \"keep-alive\",\n HTTP2_HEADER_PROXY_CONNECTION: \"proxy-connection\",\n HTTP2_HEADER_X_XSS_PROTECTION: \"x-xss-protection\",\n HTTP2_HEADER_ALT_SVC: \"alt-svc\",\n HTTP2_HEADER_CONTENT_SECURITY_POLICY: \"content-security-policy\",\n HTTP2_HEADER_EARLY_DATA: \"early-data\",\n HTTP2_HEADER_EXPECT_CT: \"expect-ct\",\n HTTP2_HEADER_ORIGIN: \"origin\",\n HTTP2_HEADER_PURPOSE: \"purpose\",\n HTTP2_HEADER_TIMING_ALLOW_ORIGIN: \"timing-allow-origin\",\n HTTP2_HEADER_X_FORWARDED_FOR: \"x-forwarded-for\",\n HTTP2_HEADER_PRIORITY: \"priority\",\n HTTP2_HEADER_ACCEPT_CHARSET: \"accept-charset\",\n HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE: \"access-control-max-age\",\n HTTP2_HEADER_ALLOW: \"allow\",\n HTTP2_HEADER_CONTENT_LANGUAGE: \"content-language\",\n HTTP2_HEADER_CONTENT_LOCATION: \"content-location\",\n HTTP2_HEADER_CONTENT_MD5: \"content-md5\",\n HTTP2_HEADER_CONTENT_RANGE: \"content-range\",\n HTTP2_HEADER_DNT: \"dnt\",\n HTTP2_HEADER_EXPECT: \"expect\",\n HTTP2_HEADER_EXPIRES: \"expires\",\n HTTP2_HEADER_FROM: \"from\",\n HTTP2_HEADER_IF_MATCH: \"if-match\",\n HTTP2_HEADER_IF_UNMODIFIED_SINCE: \"if-unmodified-since\",\n HTTP2_HEADER_MAX_FORWARDS: \"max-forwards\",\n HTTP2_HEADER_PREFER: \"prefer\",\n HTTP2_HEADER_PROXY_AUTHENTICATE: \"proxy-authenticate\",\n HTTP2_HEADER_PROXY_AUTHORIZATION: \"proxy-authorization\",\n HTTP2_HEADER_REFRESH: \"refresh\",\n HTTP2_HEADER_RETRY_AFTER: \"retry-after\",\n HTTP2_HEADER_TRAILER: \"trailer\",\n HTTP2_HEADER_TK: \"tk\",\n HTTP2_HEADER_VIA: \"via\",\n HTTP2_HEADER_WARNING: \"warning\",\n HTTP2_HEADER_WWW_AUTHENTICATE: \"www-authenticate\",\n HTTP2_HEADER_HTTP2_SETTINGS: \"http2-settings\",\n HTTP2_METHOD_ACL: \"ACL\",\n HTTP2_METHOD_BASELINE_CONTROL: \"BASELINE-CONTROL\",\n HTTP2_METHOD_BIND: \"BIND\",\n HTTP2_METHOD_CHECKIN: \"CHECKIN\",\n HTTP2_METHOD_CHECKOUT: \"CHECKOUT\",\n HTTP2_METHOD_CONNECT: \"CONNECT\",\n HTTP2_METHOD_COPY: \"COPY\",\n HTTP2_METHOD_DELETE: \"DELETE\",\n HTTP2_METHOD_GET: \"GET\",\n HTTP2_METHOD_HEAD: \"HEAD\",\n HTTP2_METHOD_LABEL: \"LABEL\",\n HTTP2_METHOD_LINK: \"LINK\",\n HTTP2_METHOD_LOCK: \"LOCK\",\n HTTP2_METHOD_MERGE: \"MERGE\",\n HTTP2_METHOD_MKACTIVITY: \"MKACTIVITY\",\n HTTP2_METHOD_MKCALENDAR: \"MKCALENDAR\",\n HTTP2_METHOD_MKCOL: \"MKCOL\",\n HTTP2_METHOD_MKREDIRECTREF: \"MKREDIRECTREF\",\n HTTP2_METHOD_MKWORKSPACE: \"MKWORKSPACE\",\n HTTP2_METHOD_MOVE: \"MOVE\",\n HTTP2_METHOD_OPTIONS: \"OPTIONS\",\n HTTP2_METHOD_ORDERPATCH: \"ORDERPATCH\",\n HTTP2_METHOD_PATCH: \"PATCH\",\n HTTP2_METHOD_POST: \"POST\",\n HTTP2_METHOD_PRI: \"PRI\",\n HTTP2_METHOD_PROPFIND: \"PROPFIND\",\n HTTP2_METHOD_PROPPATCH: \"PROPPATCH\",\n HTTP2_METHOD_PUT: \"PUT\",\n HTTP2_METHOD_REBIND: \"REBIND\",\n HTTP2_METHOD_REPORT: \"REPORT\",\n HTTP2_METHOD_SEARCH: \"SEARCH\",\n HTTP2_METHOD_TRACE: \"TRACE\",\n HTTP2_METHOD_UNBIND: \"UNBIND\",\n HTTP2_METHOD_UNCHECKOUT: \"UNCHECKOUT\",\n HTTP2_METHOD_UNLINK: \"UNLINK\",\n HTTP2_METHOD_UNLOCK: \"UNLOCK\",\n HTTP2_METHOD_UPDATE: \"UPDATE\",\n HTTP2_METHOD_UPDATEREDIRECTREF: \"UPDATEREDIRECTREF\",\n HTTP2_METHOD_VERSION_CONTROL: \"VERSION-CONTROL\",\n HTTP_STATUS_CONTINUE: 100,\n HTTP_STATUS_SWITCHING_PROTOCOLS: 101,\n HTTP_STATUS_PROCESSING: 102,\n HTTP_STATUS_EARLY_HINTS: 103,\n HTTP_STATUS_OK: 200,\n HTTP_STATUS_CREATED: 201,\n HTTP_STATUS_ACCEPTED: 202,\n HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: 203,\n HTTP_STATUS_NO_CONTENT: 204,\n HTTP_STATUS_RESET_CONTENT: 205,\n HTTP_STATUS_PARTIAL_CONTENT: 206,\n HTTP_STATUS_MULTI_STATUS: 207,\n HTTP_STATUS_ALREADY_REPORTED: 208,\n HTTP_STATUS_IM_USED: 226,\n HTTP_STATUS_MULTIPLE_CHOICES: 300,\n HTTP_STATUS_MOVED_PERMANENTLY: 301,\n HTTP_STATUS_FOUND: 302,\n HTTP_STATUS_SEE_OTHER: 303,\n HTTP_STATUS_NOT_MODIFIED: 304,\n HTTP_STATUS_USE_PROXY: 305,\n HTTP_STATUS_TEMPORARY_REDIRECT: 307,\n HTTP_STATUS_PERMANENT_REDIRECT: 308,\n HTTP_STATUS_BAD_REQUEST: 400,\n HTTP_STATUS_UNAUTHORIZED: 401,\n HTTP_STATUS_PAYMENT_REQUIRED: 402,\n HTTP_STATUS_FORBIDDEN: 403,\n HTTP_STATUS_NOT_FOUND: 404,\n HTTP_STATUS_METHOD_NOT_ALLOWED: 405,\n HTTP_STATUS_NOT_ACCEPTABLE: 406,\n HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407,\n HTTP_STATUS_REQUEST_TIMEOUT: 408,\n HTTP_STATUS_CONFLICT: 409,\n HTTP_STATUS_GONE: 410,\n HTTP_STATUS_LENGTH_REQUIRED: 411,\n HTTP_STATUS_PRECONDITION_FAILED: 412,\n HTTP_STATUS_PAYLOAD_TOO_LARGE: 413,\n HTTP_STATUS_URI_TOO_LONG: 414,\n HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,\n HTTP_STATUS_RANGE_NOT_SATISFIABLE: 416,\n HTTP_STATUS_EXPECTATION_FAILED: 417,\n HTTP_STATUS_TEAPOT: 418,\n HTTP_STATUS_MISDIRECTED_REQUEST: 421,\n HTTP_STATUS_UNPROCESSABLE_ENTITY: 422,\n HTTP_STATUS_LOCKED: 423,\n HTTP_STATUS_FAILED_DEPENDENCY: 424,\n HTTP_STATUS_TOO_EARLY: 425,\n HTTP_STATUS_UPGRADE_REQUIRED: 426,\n HTTP_STATUS_PRECONDITION_REQUIRED: 428,\n HTTP_STATUS_TOO_MANY_REQUESTS: 429,\n HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 431,\n HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 451,\n HTTP_STATUS_INTERNAL_SERVER_ERROR: 500,\n HTTP_STATUS_NOT_IMPLEMENTED: 501,\n HTTP_STATUS_BAD_GATEWAY: 502,\n HTTP_STATUS_SERVICE_UNAVAILABLE: 503,\n HTTP_STATUS_GATEWAY_TIMEOUT: 504,\n HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505,\n HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: 506,\n HTTP_STATUS_INSUFFICIENT_STORAGE: 507,\n HTTP_STATUS_LOOP_DETECTED: 508,\n HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: 509,\n HTTP_STATUS_NOT_EXTENDED: 510,\n HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: 511\n}, sensitiveHeaders = Symbol.for(\"nodejs.http2.sensitiveHeaders\");\nHttp2ServerRequest.prototype = {};\nHttp2ServerResponse.prototype = {};\n$ = {\n constants,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings,\n sensitiveHeaders,\n Http2ServerRequest,\n Http2ServerResponse,\n connect\n};\nhideFromStack([\n Http2ServerRequest,\n Http2ServerResponse,\n connect,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings\n]);\nreturn $})\n"); +static constexpr ASCIILiteral NodeHttp2Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/http2.ts\nvar connect = function() {\n throwNotImplemented(\"node:http2 connect\", 887);\n}, createServer = function() {\n throwNotImplemented(\"node:http2 createServer\", 887);\n}, createSecureServer = function() {\n throwNotImplemented(\"node:http2 createSecureServer\", 887);\n}, getDefaultSettings = function() {\n return {\n headerTableSize: 4096,\n enablePush: !0,\n initialWindowSize: 65535,\n maxFrameSize: 16384,\n maxConcurrentStreams: 4294967295,\n maxHeaderSize: 65535,\n maxHeaderListSize: 65535,\n enableConnectProtocol: !1\n };\n}, getPackedSettings = function() {\n return @Buffer.alloc(0);\n}, getUnpackedSettings = function() {\n return @Buffer.alloc(0);\n}, Http2ServerRequest = function() {\n throwNotImplemented(\"node:http2 Http2ServerRequest\", 887);\n}, Http2ServerResponse = function() {\n throwNotImplemented(\"node:http2 Http2ServerResponse\", 887);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NGHTTP2_ERR_FRAME_SIZE_ERROR: -522,\n NGHTTP2_SESSION_SERVER: 0,\n NGHTTP2_SESSION_CLIENT: 1,\n NGHTTP2_STREAM_STATE_IDLE: 1,\n NGHTTP2_STREAM_STATE_OPEN: 2,\n NGHTTP2_STREAM_STATE_RESERVED_LOCAL: 3,\n NGHTTP2_STREAM_STATE_RESERVED_REMOTE: 4,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: 5,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: 6,\n NGHTTP2_STREAM_STATE_CLOSED: 7,\n NGHTTP2_FLAG_NONE: 0,\n NGHTTP2_FLAG_END_STREAM: 1,\n NGHTTP2_FLAG_END_HEADERS: 4,\n NGHTTP2_FLAG_ACK: 1,\n NGHTTP2_FLAG_PADDED: 8,\n NGHTTP2_FLAG_PRIORITY: 32,\n DEFAULT_SETTINGS_HEADER_TABLE_SIZE: 4096,\n DEFAULT_SETTINGS_ENABLE_PUSH: 1,\n DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS: 4294967295,\n DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: 65535,\n DEFAULT_SETTINGS_MAX_FRAME_SIZE: 16384,\n DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE: 65535,\n DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL: 0,\n MAX_MAX_FRAME_SIZE: 16777215,\n MIN_MAX_FRAME_SIZE: 16384,\n MAX_INITIAL_WINDOW_SIZE: 2147483647,\n NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: 1,\n NGHTTP2_SETTINGS_ENABLE_PUSH: 2,\n NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: 3,\n NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: 4,\n NGHTTP2_SETTINGS_MAX_FRAME_SIZE: 5,\n NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: 6,\n NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL: 8,\n PADDING_STRATEGY_NONE: 0,\n PADDING_STRATEGY_ALIGNED: 1,\n PADDING_STRATEGY_MAX: 2,\n PADDING_STRATEGY_CALLBACK: 1,\n NGHTTP2_NO_ERROR: 0,\n NGHTTP2_PROTOCOL_ERROR: 1,\n NGHTTP2_INTERNAL_ERROR: 2,\n NGHTTP2_FLOW_CONTROL_ERROR: 3,\n NGHTTP2_SETTINGS_TIMEOUT: 4,\n NGHTTP2_STREAM_CLOSED: 5,\n NGHTTP2_FRAME_SIZE_ERROR: 6,\n NGHTTP2_REFUSED_STREAM: 7,\n NGHTTP2_CANCEL: 8,\n NGHTTP2_COMPRESSION_ERROR: 9,\n NGHTTP2_CONNECT_ERROR: 10,\n NGHTTP2_ENHANCE_YOUR_CALM: 11,\n NGHTTP2_INADEQUATE_SECURITY: 12,\n NGHTTP2_HTTP_1_1_REQUIRED: 13,\n NGHTTP2_DEFAULT_WEIGHT: 16,\n HTTP2_HEADER_STATUS: \":status\",\n HTTP2_HEADER_METHOD: \":method\",\n HTTP2_HEADER_AUTHORITY: \":authority\",\n HTTP2_HEADER_SCHEME: \":scheme\",\n HTTP2_HEADER_PATH: \":path\",\n HTTP2_HEADER_PROTOCOL: \":protocol\",\n HTTP2_HEADER_ACCEPT_ENCODING: \"accept-encoding\",\n HTTP2_HEADER_ACCEPT_LANGUAGE: \"accept-language\",\n HTTP2_HEADER_ACCEPT_RANGES: \"accept-ranges\",\n HTTP2_HEADER_ACCEPT: \"accept\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: \"access-control-allow-credentials\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: \"access-control-allow-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: \"access-control-allow-methods\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: \"access-control-allow-origin\",\n HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: \"access-control-expose-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: \"access-control-request-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: \"access-control-request-method\",\n HTTP2_HEADER_AGE: \"age\",\n HTTP2_HEADER_AUTHORIZATION: \"authorization\",\n HTTP2_HEADER_CACHE_CONTROL: \"cache-control\",\n HTTP2_HEADER_CONNECTION: \"connection\",\n HTTP2_HEADER_CONTENT_DISPOSITION: \"content-disposition\",\n HTTP2_HEADER_CONTENT_ENCODING: \"content-encoding\",\n HTTP2_HEADER_CONTENT_LENGTH: \"content-length\",\n HTTP2_HEADER_CONTENT_TYPE: \"content-type\",\n HTTP2_HEADER_COOKIE: \"cookie\",\n HTTP2_HEADER_DATE: \"date\",\n HTTP2_HEADER_ETAG: \"etag\",\n HTTP2_HEADER_FORWARDED: \"forwarded\",\n HTTP2_HEADER_HOST: \"host\",\n HTTP2_HEADER_IF_MODIFIED_SINCE: \"if-modified-since\",\n HTTP2_HEADER_IF_NONE_MATCH: \"if-none-match\",\n HTTP2_HEADER_IF_RANGE: \"if-range\",\n HTTP2_HEADER_LAST_MODIFIED: \"last-modified\",\n HTTP2_HEADER_LINK: \"link\",\n HTTP2_HEADER_LOCATION: \"location\",\n HTTP2_HEADER_RANGE: \"range\",\n HTTP2_HEADER_REFERER: \"referer\",\n HTTP2_HEADER_SERVER: \"server\",\n HTTP2_HEADER_SET_COOKIE: \"set-cookie\",\n HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: \"strict-transport-security\",\n HTTP2_HEADER_TRANSFER_ENCODING: \"transfer-encoding\",\n HTTP2_HEADER_TE: \"te\",\n HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS: \"upgrade-insecure-requests\",\n HTTP2_HEADER_UPGRADE: \"upgrade\",\n HTTP2_HEADER_USER_AGENT: \"user-agent\",\n HTTP2_HEADER_VARY: \"vary\",\n HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS: \"x-content-type-options\",\n HTTP2_HEADER_X_FRAME_OPTIONS: \"x-frame-options\",\n HTTP2_HEADER_KEEP_ALIVE: \"keep-alive\",\n HTTP2_HEADER_PROXY_CONNECTION: \"proxy-connection\",\n HTTP2_HEADER_X_XSS_PROTECTION: \"x-xss-protection\",\n HTTP2_HEADER_ALT_SVC: \"alt-svc\",\n HTTP2_HEADER_CONTENT_SECURITY_POLICY: \"content-security-policy\",\n HTTP2_HEADER_EARLY_DATA: \"early-data\",\n HTTP2_HEADER_EXPECT_CT: \"expect-ct\",\n HTTP2_HEADER_ORIGIN: \"origin\",\n HTTP2_HEADER_PURPOSE: \"purpose\",\n HTTP2_HEADER_TIMING_ALLOW_ORIGIN: \"timing-allow-origin\",\n HTTP2_HEADER_X_FORWARDED_FOR: \"x-forwarded-for\",\n HTTP2_HEADER_PRIORITY: \"priority\",\n HTTP2_HEADER_ACCEPT_CHARSET: \"accept-charset\",\n HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE: \"access-control-max-age\",\n HTTP2_HEADER_ALLOW: \"allow\",\n HTTP2_HEADER_CONTENT_LANGUAGE: \"content-language\",\n HTTP2_HEADER_CONTENT_LOCATION: \"content-location\",\n HTTP2_HEADER_CONTENT_MD5: \"content-md5\",\n HTTP2_HEADER_CONTENT_RANGE: \"content-range\",\n HTTP2_HEADER_DNT: \"dnt\",\n HTTP2_HEADER_EXPECT: \"expect\",\n HTTP2_HEADER_EXPIRES: \"expires\",\n HTTP2_HEADER_FROM: \"from\",\n HTTP2_HEADER_IF_MATCH: \"if-match\",\n HTTP2_HEADER_IF_UNMODIFIED_SINCE: \"if-unmodified-since\",\n HTTP2_HEADER_MAX_FORWARDS: \"max-forwards\",\n HTTP2_HEADER_PREFER: \"prefer\",\n HTTP2_HEADER_PROXY_AUTHENTICATE: \"proxy-authenticate\",\n HTTP2_HEADER_PROXY_AUTHORIZATION: \"proxy-authorization\",\n HTTP2_HEADER_REFRESH: \"refresh\",\n HTTP2_HEADER_RETRY_AFTER: \"retry-after\",\n HTTP2_HEADER_TRAILER: \"trailer\",\n HTTP2_HEADER_TK: \"tk\",\n HTTP2_HEADER_VIA: \"via\",\n HTTP2_HEADER_WARNING: \"warning\",\n HTTP2_HEADER_WWW_AUTHENTICATE: \"www-authenticate\",\n HTTP2_HEADER_HTTP2_SETTINGS: \"http2-settings\",\n HTTP2_METHOD_ACL: \"ACL\",\n HTTP2_METHOD_BASELINE_CONTROL: \"BASELINE-CONTROL\",\n HTTP2_METHOD_BIND: \"BIND\",\n HTTP2_METHOD_CHECKIN: \"CHECKIN\",\n HTTP2_METHOD_CHECKOUT: \"CHECKOUT\",\n HTTP2_METHOD_CONNECT: \"CONNECT\",\n HTTP2_METHOD_COPY: \"COPY\",\n HTTP2_METHOD_DELETE: \"DELETE\",\n HTTP2_METHOD_GET: \"GET\",\n HTTP2_METHOD_HEAD: \"HEAD\",\n HTTP2_METHOD_LABEL: \"LABEL\",\n HTTP2_METHOD_LINK: \"LINK\",\n HTTP2_METHOD_LOCK: \"LOCK\",\n HTTP2_METHOD_MERGE: \"MERGE\",\n HTTP2_METHOD_MKACTIVITY: \"MKACTIVITY\",\n HTTP2_METHOD_MKCALENDAR: \"MKCALENDAR\",\n HTTP2_METHOD_MKCOL: \"MKCOL\",\n HTTP2_METHOD_MKREDIRECTREF: \"MKREDIRECTREF\",\n HTTP2_METHOD_MKWORKSPACE: \"MKWORKSPACE\",\n HTTP2_METHOD_MOVE: \"MOVE\",\n HTTP2_METHOD_OPTIONS: \"OPTIONS\",\n HTTP2_METHOD_ORDERPATCH: \"ORDERPATCH\",\n HTTP2_METHOD_PATCH: \"PATCH\",\n HTTP2_METHOD_POST: \"POST\",\n HTTP2_METHOD_PRI: \"PRI\",\n HTTP2_METHOD_PROPFIND: \"PROPFIND\",\n HTTP2_METHOD_PROPPATCH: \"PROPPATCH\",\n HTTP2_METHOD_PUT: \"PUT\",\n HTTP2_METHOD_REBIND: \"REBIND\",\n HTTP2_METHOD_REPORT: \"REPORT\",\n HTTP2_METHOD_SEARCH: \"SEARCH\",\n HTTP2_METHOD_TRACE: \"TRACE\",\n HTTP2_METHOD_UNBIND: \"UNBIND\",\n HTTP2_METHOD_UNCHECKOUT: \"UNCHECKOUT\",\n HTTP2_METHOD_UNLINK: \"UNLINK\",\n HTTP2_METHOD_UNLOCK: \"UNLOCK\",\n HTTP2_METHOD_UPDATE: \"UPDATE\",\n HTTP2_METHOD_UPDATEREDIRECTREF: \"UPDATEREDIRECTREF\",\n HTTP2_METHOD_VERSION_CONTROL: \"VERSION-CONTROL\",\n HTTP_STATUS_CONTINUE: 100,\n HTTP_STATUS_SWITCHING_PROTOCOLS: 101,\n HTTP_STATUS_PROCESSING: 102,\n HTTP_STATUS_EARLY_HINTS: 103,\n HTTP_STATUS_OK: 200,\n HTTP_STATUS_CREATED: 201,\n HTTP_STATUS_ACCEPTED: 202,\n HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: 203,\n HTTP_STATUS_NO_CONTENT: 204,\n HTTP_STATUS_RESET_CONTENT: 205,\n HTTP_STATUS_PARTIAL_CONTENT: 206,\n HTTP_STATUS_MULTI_STATUS: 207,\n HTTP_STATUS_ALREADY_REPORTED: 208,\n HTTP_STATUS_IM_USED: 226,\n HTTP_STATUS_MULTIPLE_CHOICES: 300,\n HTTP_STATUS_MOVED_PERMANENTLY: 301,\n HTTP_STATUS_FOUND: 302,\n HTTP_STATUS_SEE_OTHER: 303,\n HTTP_STATUS_NOT_MODIFIED: 304,\n HTTP_STATUS_USE_PROXY: 305,\n HTTP_STATUS_TEMPORARY_REDIRECT: 307,\n HTTP_STATUS_PERMANENT_REDIRECT: 308,\n HTTP_STATUS_BAD_REQUEST: 400,\n HTTP_STATUS_UNAUTHORIZED: 401,\n HTTP_STATUS_PAYMENT_REQUIRED: 402,\n HTTP_STATUS_FORBIDDEN: 403,\n HTTP_STATUS_NOT_FOUND: 404,\n HTTP_STATUS_METHOD_NOT_ALLOWED: 405,\n HTTP_STATUS_NOT_ACCEPTABLE: 406,\n HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407,\n HTTP_STATUS_REQUEST_TIMEOUT: 408,\n HTTP_STATUS_CONFLICT: 409,\n HTTP_STATUS_GONE: 410,\n HTTP_STATUS_LENGTH_REQUIRED: 411,\n HTTP_STATUS_PRECONDITION_FAILED: 412,\n HTTP_STATUS_PAYLOAD_TOO_LARGE: 413,\n HTTP_STATUS_URI_TOO_LONG: 414,\n HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,\n HTTP_STATUS_RANGE_NOT_SATISFIABLE: 416,\n HTTP_STATUS_EXPECTATION_FAILED: 417,\n HTTP_STATUS_TEAPOT: 418,\n HTTP_STATUS_MISDIRECTED_REQUEST: 421,\n HTTP_STATUS_UNPROCESSABLE_ENTITY: 422,\n HTTP_STATUS_LOCKED: 423,\n HTTP_STATUS_FAILED_DEPENDENCY: 424,\n HTTP_STATUS_TOO_EARLY: 425,\n HTTP_STATUS_UPGRADE_REQUIRED: 426,\n HTTP_STATUS_PRECONDITION_REQUIRED: 428,\n HTTP_STATUS_TOO_MANY_REQUESTS: 429,\n HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 431,\n HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 451,\n HTTP_STATUS_INTERNAL_SERVER_ERROR: 500,\n HTTP_STATUS_NOT_IMPLEMENTED: 501,\n HTTP_STATUS_BAD_GATEWAY: 502,\n HTTP_STATUS_SERVICE_UNAVAILABLE: 503,\n HTTP_STATUS_GATEWAY_TIMEOUT: 504,\n HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505,\n HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: 506,\n HTTP_STATUS_INSUFFICIENT_STORAGE: 507,\n HTTP_STATUS_LOOP_DETECTED: 508,\n HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: 509,\n HTTP_STATUS_NOT_EXTENDED: 510,\n HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: 511\n}, sensitiveHeaders = Symbol.for(\"nodejs.http2.sensitiveHeaders\");\nHttp2ServerRequest.prototype = {};\nHttp2ServerResponse.prototype = {};\n$ = {\n constants,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings,\n sensitiveHeaders,\n Http2ServerRequest,\n Http2ServerResponse,\n connect\n};\nhideFromStack([\n Http2ServerRequest,\n Http2ServerResponse,\n connect,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings\n]);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeHttpsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/https.ts\nvar request = function(input, options, cb) {\n if (input && typeof input === \"object\" && !(input instanceof URL))\n input.protocol \?\?= \"https:\";\n else if (typeof options === \"object\")\n options.protocol \?\?= \"https:\";\n return http.request(input, options, cb);\n}, get = function(input, options, cb) {\n const req = request(input, options, cb);\n return req.end(), req;\n}, $, http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23);\n$ = {\n ...http,\n get,\n request\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeHttpsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/https.ts\nvar request = function(input, options, cb) {\n if (input && typeof input === \"object\" && !(input instanceof URL))\n input.protocol \?\?= \"https:\";\n else if (typeof options === \"object\")\n options.protocol \?\?= \"https:\";\n return http.request(input, options, cb);\n}, get = function(input, options, cb) {\n const req = request(input, options, cb);\n return req.end(), req;\n}, $, http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23);\n$ = {\n ...http,\n get,\n request\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeInspectorCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/inspector.ts\nvar open = function() {\n throwNotImplemented(\"node:inspector open\", 2445);\n}, close = function() {\n throwNotImplemented(\"node:inspector close\", 2445);\n}, url = function() {\n throwNotImplemented(\"node:inspector url\", 2445);\n}, waitForDebugger = function() {\n throwNotImplemented(\"node:inspector waitForDebugger\", 2445);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\n\nclass Session extends EventEmitter {\n constructor() {\n super();\n throwNotImplemented(\"node:inspector Session\", 2445);\n }\n}\nvar console = {\n ...globalThis.console,\n context: {\n console: globalThis.console\n }\n};\n$ = {\n console,\n open,\n close,\n url,\n waitForDebugger,\n Session\n};\nhideFromStack(open, close, url, waitForDebugger, Session.prototype.constructor);\nreturn $})\n"); +static constexpr ASCIILiteral NodeInspectorCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/inspector.ts\nvar open = function() {\n throwNotImplemented(\"node:inspector open\", 2445);\n}, close = function() {\n throwNotImplemented(\"node:inspector close\", 2445);\n}, url = function() {\n throwNotImplemented(\"node:inspector url\", 2445);\n}, waitForDebugger = function() {\n throwNotImplemented(\"node:inspector waitForDebugger\", 2445);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\n\nclass Session extends EventEmitter {\n constructor() {\n super();\n throwNotImplemented(\"node:inspector Session\", 2445);\n }\n}\nvar console = {\n ...globalThis.console,\n context: {\n console: globalThis.console\n }\n};\n$ = {\n console,\n open,\n close,\n url,\n waitForDebugger,\n Session\n};\nhideFromStack(open, close, url, waitForDebugger, Session.prototype.constructor);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeNetCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/net.ts\nvar isIPv4 = function(s) {\n return IPv4Reg.test(s);\n}, isIPv6 = function(s) {\n return IPv6Reg.test(s);\n}, isIP = function(s) {\n if (isIPv4(s))\n return 4;\n if (isIPv6(s))\n return 6;\n return 0;\n}, closeNT = function(self) {\n self.emit(\"close\");\n}, endNT = function(socket, callback, err) {\n socket.end(), callback(err);\n}, createConnection = function(port, host, connectListener) {\n if (typeof port === \"object\")\n return new Socket(port).connect(port, host, connectListener);\n return new Socket().connect(port, host, connectListener);\n}, emitErrorNextTick = function(self, error) {\n self.emit(\"error\", error);\n}, emitErrorAndCloseNextTick = function(self, error) {\n self.emit(\"error\", error), self.emit(\"close\");\n}, emitListeningNextTick = function(self, onListen) {\n if (typeof onListen === \"function\")\n try {\n onListen();\n } catch (err) {\n self.emit(\"error\", err);\n }\n self.emit(\"listening\");\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, $, { Duplex } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\nvar IPv4Reg = new @RegExp(\"^((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$\");\nvar IPv6Reg = new @RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\"), { connect: bunConnect } = Bun, { setTimeout } = globalThis, bunTlsSymbol = Symbol.for(\"::buntls::\"), bunSocketServerHandlers = Symbol.for(\"::bunsocket_serverhandlers::\"), bunSocketServerConnections = Symbol.for(\"::bunnetserverconnections::\"), bunSocketServerOptions = Symbol.for(\"::bunnetserveroptions::\"), bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), bunTLSConnectOptions = Symbol.for(\"::buntlsconnectoptions::\"), SocketClass, Socket = function(InternalSocket) {\n SocketClass = InternalSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"Socket\",\n enumerable: !1\n });\n function Socket3(options) {\n return new InternalSocket(options);\n }\n return Socket3.prototype = InternalSocket.prototype, Object.defineProperty(Socket3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalSocket;\n }\n });\n}(class Socket2 extends Duplex {\n static #Handlers = {\n close: Socket2.#Close,\n data({ data: self }, buffer) {\n self.bytesRead += buffer.length;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(buffer))\n return;\n }\n queue.push(buffer);\n },\n drain: Socket2.#Drain,\n end: Socket2.#Close,\n error(socket, error) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback)\n self.#writeCallback = null, callback(error);\n self.emit(\"error\", error);\n },\n open(socket) {\n const self = socket.data;\n socket.timeout(self.timeout), socket.ref(), self[bunSocketInternal] = socket, self.connecting = !1;\n const options = self[bunTLSConnectOptions];\n if (options) {\n const { session } = options;\n if (session)\n self.setSession(session);\n }\n if (!self.#upgraded)\n self.emit(\"connect\", self);\n Socket2.#Drain(socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self.emit(\"secure\", self);\n const { checkServerIdentity } = self[bunTLSConnectOptions];\n if (!verifyError && typeof checkServerIdentity === \"function\" && self.servername) {\n const cert = self.getPeerCertificate(!0);\n verifyError = checkServerIdentity(self.servername, cert);\n }\n if (self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnect\", verifyError);\n },\n timeout(socket) {\n const self = socket.data;\n self.emit(\"timeout\", self);\n },\n binaryType: \"buffer\"\n };\n static #Close(socket) {\n const self = socket.data;\n if (self.#closed)\n return;\n self.#closed = !0, self[bunSocketInternal] = null;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(null))\n return;\n }\n queue.push(null);\n }\n static #Drain(socket) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback) {\n const chunk = self.#writeChunk, written = socket.write(chunk);\n if (self.bytesWritten += written, written < chunk.length)\n self.#writeChunk = chunk.slice(written);\n else\n self.#writeCallback = null, self.#writeChunk = null, callback(null);\n }\n }\n static [bunSocketServerHandlers] = {\n data: Socket2.#Handlers.data,\n close(socket) {\n Socket2.#Handlers.close(socket), this.data[bunSocketServerConnections]--;\n },\n end(socket) {\n Socket2.#Handlers.end(socket), this.data[bunSocketServerConnections]--;\n },\n open(socket) {\n const self = this.data, options = self[bunSocketServerOptions], { pauseOnConnect, connectionListener, InternalSocketClass, requestCert, rejectUnauthorized } = options, _socket = new InternalSocketClass({});\n if (_socket.isServer = !0, _socket._requestCert = requestCert, _socket._rejectUnauthorized = rejectUnauthorized, _socket.#attach(this.localPort, socket), self.maxConnections && self[bunSocketServerConnections] >= self.maxConnections) {\n const data = {\n localAddress: _socket.localAddress,\n localPort: _socket.localPort,\n localFamily: _socket.localFamily,\n remoteAddress: _socket.remoteAddress,\n remotePort: _socket.remotePort,\n remoteFamily: _socket.remoteFamily || \"IPv4\"\n };\n socket.end(), self.emit(\"drop\", data);\n return;\n }\n if (!pauseOnConnect)\n _socket.resume();\n if (self[bunSocketServerConnections]++, typeof connectionListener == \"function\")\n if (InternalSocketClass.name === \"TLSSocket\")\n self.once(\"secureConnection\", () => connectionListener(_socket));\n else\n connectionListener(_socket);\n self.emit(\"connection\", _socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n if (self.emit(\"secure\", self), self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnection\", verifyError);\n },\n error(socket, error) {\n Socket2.#Handlers.error(socket, error), this.data.emit(\"error\", error);\n },\n timeout: Socket2.#Handlers.timeout,\n connectError: Socket2.#Handlers.connectError,\n drain: Socket2.#Handlers.drain,\n binaryType: \"buffer\"\n };\n bytesRead = 0;\n bytesWritten = 0;\n #closed = !1;\n connecting = !1;\n localAddress = \"127.0.0.1\";\n #readQueue = @createFIFO();\n remotePort;\n [bunSocketInternal] = null;\n [bunTLSConnectOptions] = null;\n timeout = 0;\n #writeCallback;\n #writeChunk;\n #pendingRead;\n isServer = !1;\n _handle;\n _parent;\n _parentWrap;\n #socket;\n #upgraded;\n constructor(options) {\n const { socket, signal, write, read, allowHalfOpen = !1, ...opts } = options || {};\n super({\n ...opts,\n allowHalfOpen,\n readable: !0,\n writable: !0\n });\n if (this._handle = this, this._parent = this, this._parentWrap = this, this.#pendingRead = @undefined, this.#upgraded = null, socket instanceof Socket2)\n this.#socket = socket;\n signal\?.once(\"abort\", () => this.destroy()), this.once(\"connect\", () => this.emit(\"ready\"));\n }\n address() {\n return {\n address: this.localAddress,\n family: this.localFamily,\n port: this.localPort\n };\n }\n get bufferSize() {\n return this.writableLength;\n }\n #attach(port, socket) {\n if (this.remotePort = port, socket.data = this, socket.timeout(this.timeout), socket.ref(), this[bunSocketInternal] = socket, this.connecting = !1, !this.#upgraded)\n this.emit(\"connect\", this);\n Socket2.#Drain(socket);\n }\n #closeRawConnection() {\n const connection = this.#upgraded;\n connection[bunSocketInternal] = null, connection.unref(), connection.destroy(), process.nextTick(closeNT, connection);\n }\n connect(port, host, connectListener) {\n var path, connection = this.#socket, _checkServerIdentity = @undefined;\n if (typeof port === \"string\") {\n if (path = port, port = @undefined, typeof host === \"function\")\n connectListener = host, host = @undefined;\n } else if (typeof host == \"function\") {\n if (typeof port === \"string\")\n path = port, port = @undefined;\n connectListener = host, host = @undefined;\n }\n if (typeof port == \"object\") {\n var {\n port,\n host,\n path,\n socket,\n localAddress,\n localPort,\n family,\n hints,\n lookup,\n noDelay,\n keepAlive,\n keepAliveInitialDelay,\n requestCert,\n rejectUnauthorized,\n pauseOnConnect,\n servername,\n checkServerIdentity,\n session\n } = port;\n if (_checkServerIdentity = checkServerIdentity, this.servername = servername, socket)\n connection = socket;\n }\n if (!pauseOnConnect)\n this.resume();\n this.connecting = !0, this.remotePort = port;\n const bunTLS = this[bunTlsSymbol];\n var tls = @undefined;\n if (typeof bunTLS === \"function\") {\n if (tls = bunTLS.@call(this, port, host, !0), this._requestCert = !0, this._rejectUnauthorized = rejectUnauthorized, tls) {\n if (tls.rejectUnauthorized = rejectUnauthorized, tls.requestCert = !0, tls.session = session || tls.session, this.servername = tls.servername, tls.checkServerIdentity = _checkServerIdentity || tls.checkServerIdentity, this[bunTLSConnectOptions] = tls, !connection && tls.socket)\n connection = tls.socket;\n }\n if (connection) {\n if (typeof connection !== \"object\" || !(connection instanceof Socket2) || typeof connection[bunTlsSymbol] === \"function\")\n @throwTypeError(\"socket must be an instance of net.Socket\");\n }\n if (this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, connectListener)\n this.on(\"secureConnect\", connectListener);\n } else if (connectListener)\n this.on(\"connect\", connectListener);\n try {\n if (connection) {\n const socket2 = connection[bunSocketInternal];\n if (socket2) {\n this.connecting = !0, this.#upgraded = connection;\n const result = socket2.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n } else\n connection.once(\"connect\", () => {\n const socket3 = connection[bunSocketInternal];\n if (!socket3)\n return;\n this.connecting = !0, this.#upgraded = connection;\n const result = socket3.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n });\n } else if (path)\n bunConnect({\n data: this,\n unix: path,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n else\n bunConnect({\n data: this,\n hostname: host || \"localhost\",\n port,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n } catch (error) {\n process.nextTick(emitErrorAndCloseNextTick, this, error);\n }\n return this;\n }\n _destroy(err, callback) {\n const socket = this[bunSocketInternal];\n socket && process.nextTick(endNT, socket, callback, err);\n }\n _final(callback) {\n this[bunSocketInternal]\?.end(), callback(), process.nextTick(closeNT, this);\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return this[bunSocketInternal]\?.localPort;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n const queue = this.#readQueue;\n let chunk;\n while (chunk = queue.peek()) {\n const can_continue = !this.push(chunk);\n if (queue.shift(), !can_continue)\n break;\n }\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n this[bunSocketInternal]\?.ref();\n }\n get remoteAddress() {\n return this[bunSocketInternal]\?.remoteAddress;\n }\n get remoteFamily() {\n return \"IPv4\";\n }\n resetAndDestroy() {\n this[bunSocketInternal]\?.end();\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n return this;\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n if (this[bunSocketInternal]\?.timeout(timeout), this.timeout = timeout, callback)\n this.once(\"timeout\", callback);\n return this;\n }\n unref() {\n this[bunSocketInternal]\?.unref();\n }\n _write(chunk, encoding, callback) {\n if (typeof chunk == \"string\" && encoding !== \"ascii\")\n chunk = @Buffer.from(chunk, encoding);\n var written = this[bunSocketInternal]\?.write(chunk);\n if (written == chunk.length)\n callback();\n else if (this.#writeCallback)\n callback(new Error(\"overlapping _write()\"));\n else {\n if (written > 0)\n if (typeof chunk == \"string\")\n chunk = chunk.slice(written);\n else\n chunk = chunk.subarray(written);\n this.#writeCallback = callback, this.#writeChunk = chunk;\n }\n }\n}), connect = createConnection;\n\nclass Server extends EventEmitter {\n #server;\n #listening = !1;\n [bunSocketServerConnections] = 0;\n [bunSocketServerOptions];\n maxConnections = 0;\n constructor(options, connectionListener) {\n super();\n if (typeof options === \"function\")\n connectionListener = options, options = {};\n else if (options == null || typeof options === \"object\")\n options = { ...options };\n else\n throw new Error(\"bun-net-polyfill: invalid arguments\");\n const { maxConnections } = options;\n this.maxConnections = Number.isSafeInteger(maxConnections) && maxConnections > 0 \? maxConnections : 0, options.connectionListener = connectionListener, this[bunSocketServerOptions] = options;\n }\n ref() {\n return this.#server\?.ref(), this;\n }\n unref() {\n return this.#server\?.unref(), this;\n }\n close(callback) {\n if (this.#server) {\n if (this.#server.stop(!0), this.#server = null, this.#listening = !1, this[bunSocketServerConnections] = 0, this.emit(\"close\"), typeof callback === \"function\")\n callback();\n return this;\n }\n if (typeof callback === \"function\") {\n const error = new Error(\"Server is not running\");\n error.code = \"ERR_SERVER_NOT_RUNNING\", callback(error);\n }\n return this;\n }\n address() {\n const server = this.#server;\n if (server) {\n const unix = server.unix;\n if (unix)\n return unix;\n let address = server.hostname;\n const type = isIP(address), port = server.port;\n if (typeof port === \"number\")\n return {\n port,\n address,\n family: type \? `IPv${type}` : @undefined\n };\n if (type)\n return {\n address,\n family: type \? `IPv${type}` : @undefined\n };\n return address;\n }\n return null;\n }\n getConnections(callback) {\n if (typeof callback === \"function\")\n callback(null, this.#server \? this[bunSocketServerConnections] : 0);\n return this;\n }\n listen(port, hostname, onListen) {\n let backlog, path, exclusive = !1;\n if (typeof port === \"string\") {\n if (Number.isSafeInteger(hostname)) {\n if (hostname > 0)\n backlog = hostname;\n } else if (typeof hostname === \"function\")\n onListen = hostname;\n path = port, hostname = @undefined, port = @undefined;\n } else {\n if (typeof hostname === \"function\")\n onListen = hostname, hostname = @undefined;\n if (typeof port === \"function\")\n onListen = port, port = 0;\n else if (typeof port === \"object\") {\n const options = port;\n options.signal\?.addEventListener(\"abort\", () => this.close()), hostname = options.host, exclusive = options.exclusive === !0;\n const path2 = options.path;\n if (port = options.port, !Number.isSafeInteger(port) || port < 0)\n if (path2)\n hostname = path2, port = @undefined;\n else {\n let message = 'The argument \\'options\\' must have the property \"port\" or \"path\"';\n try {\n message = `${message}. Received ${JSON.stringify(options)}`;\n } catch {\n }\n const error = @makeTypeError(message);\n throw error.code = \"ERR_INVALID_ARG_VALUE\", error;\n }\n else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n if (typeof port.callback === \"function\")\n onListen = port\?.callback;\n } else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n hostname = hostname || \"::\";\n }\n try {\n var tls = @undefined, TLSSocketClass = @undefined;\n const bunTLS = this[bunTlsSymbol], options = this[bunSocketServerOptions];\n if (typeof bunTLS === \"function\")\n [tls, TLSSocketClass] = bunTLS.@call(this, port, hostname, !1), options.servername = tls.serverName, options.InternalSocketClass = TLSSocketClass;\n else\n options.InternalSocketClass = SocketClass;\n this.#server = Bun.listen(path \? {\n exclusive,\n unix: path,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n } : {\n exclusive,\n port,\n hostname,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n }), this.#server.data = this, this.#listening = !0, setTimeout(emitListeningNextTick, 1, this, onListen);\n } catch (err) {\n this.#listening = !1, setTimeout(emitErrorNextTick, 1, this, err);\n }\n return this;\n }\n}\n$ = {\n createServer,\n Server,\n createConnection,\n connect,\n isIP,\n isIPv4,\n isIPv6,\n Socket,\n [Symbol.for(\"::bunternal::\")]: SocketClass\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeNetCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/net.ts\nvar isIPv4 = function(s) {\n return IPv4Reg.test(s);\n}, isIPv6 = function(s) {\n return IPv6Reg.test(s);\n}, isIP = function(s) {\n if (isIPv4(s))\n return 4;\n if (isIPv6(s))\n return 6;\n return 0;\n}, closeNT = function(self) {\n self.emit(\"close\");\n}, endNT = function(socket, callback, err) {\n socket.end(), callback(err);\n}, createConnection = function(port, host, connectListener) {\n if (typeof port === \"object\")\n return new Socket(port).connect(port, host, connectListener);\n return new Socket().connect(port, host, connectListener);\n}, emitErrorNextTick = function(self, error) {\n self.emit(\"error\", error);\n}, emitErrorAndCloseNextTick = function(self, error) {\n self.emit(\"error\", error), self.emit(\"close\");\n}, emitListeningNextTick = function(self, onListen) {\n if (typeof onListen === \"function\")\n try {\n onListen();\n } catch (err) {\n self.emit(\"error\", err);\n }\n self.emit(\"listening\");\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, $, { Duplex } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\nvar IPv4Reg = new @RegExp(\"^((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$\");\nvar IPv6Reg = new @RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\"), { connect: bunConnect } = Bun, { setTimeout } = globalThis, bunTlsSymbol = Symbol.for(\"::buntls::\"), bunSocketServerHandlers = Symbol.for(\"::bunsocket_serverhandlers::\"), bunSocketServerConnections = Symbol.for(\"::bunnetserverconnections::\"), bunSocketServerOptions = Symbol.for(\"::bunnetserveroptions::\"), bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), bunTLSConnectOptions = Symbol.for(\"::buntlsconnectoptions::\"), SocketClass, Socket = function(InternalSocket) {\n SocketClass = InternalSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"Socket\",\n enumerable: !1\n });\n function Socket3(options) {\n return new InternalSocket(options);\n }\n return Socket3.prototype = InternalSocket.prototype, Object.defineProperty(Socket3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalSocket;\n }\n });\n}(class Socket2 extends Duplex {\n static #Handlers = {\n close: Socket2.#Close,\n data({ data: self }, buffer) {\n self.bytesRead += buffer.length;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(buffer))\n return;\n }\n queue.push(buffer);\n },\n drain: Socket2.#Drain,\n end: Socket2.#Close,\n error(socket, error) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback)\n self.#writeCallback = null, callback(error);\n self.emit(\"error\", error);\n },\n open(socket) {\n const self = socket.data;\n socket.timeout(self.timeout), socket.ref(), self[bunSocketInternal] = socket, self.connecting = !1;\n const options = self[bunTLSConnectOptions];\n if (options) {\n const { session } = options;\n if (session)\n self.setSession(session);\n }\n if (!self.#upgraded)\n self.emit(\"connect\", self);\n Socket2.#Drain(socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self.emit(\"secure\", self);\n const { checkServerIdentity } = self[bunTLSConnectOptions];\n if (!verifyError && typeof checkServerIdentity === \"function\" && self.servername) {\n const cert = self.getPeerCertificate(!0);\n verifyError = checkServerIdentity(self.servername, cert);\n }\n if (self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnect\", verifyError);\n },\n timeout(socket) {\n const self = socket.data;\n self.emit(\"timeout\", self);\n },\n binaryType: \"buffer\"\n };\n static #Close(socket) {\n const self = socket.data;\n if (self.#closed)\n return;\n self.#closed = !0, self[bunSocketInternal] = null;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(null))\n return;\n }\n queue.push(null);\n }\n static #Drain(socket) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback) {\n const chunk = self.#writeChunk, written = socket.write(chunk);\n if (self.bytesWritten += written, written < chunk.length)\n self.#writeChunk = chunk.slice(written);\n else\n self.#writeCallback = null, self.#writeChunk = null, callback(null);\n }\n }\n static [bunSocketServerHandlers] = {\n data: Socket2.#Handlers.data,\n close(socket) {\n Socket2.#Handlers.close(socket), this.data[bunSocketServerConnections]--;\n },\n end(socket) {\n Socket2.#Handlers.end(socket), this.data[bunSocketServerConnections]--;\n },\n open(socket) {\n const self = this.data, options = self[bunSocketServerOptions], { pauseOnConnect, connectionListener, InternalSocketClass, requestCert, rejectUnauthorized } = options, _socket = new InternalSocketClass({});\n if (_socket.isServer = !0, _socket._requestCert = requestCert, _socket._rejectUnauthorized = rejectUnauthorized, _socket.#attach(this.localPort, socket), self.maxConnections && self[bunSocketServerConnections] >= self.maxConnections) {\n const data = {\n localAddress: _socket.localAddress,\n localPort: _socket.localPort,\n localFamily: _socket.localFamily,\n remoteAddress: _socket.remoteAddress,\n remotePort: _socket.remotePort,\n remoteFamily: _socket.remoteFamily || \"IPv4\"\n };\n socket.end(), self.emit(\"drop\", data);\n return;\n }\n if (!pauseOnConnect)\n _socket.resume();\n if (self[bunSocketServerConnections]++, typeof connectionListener == \"function\")\n if (InternalSocketClass.name === \"TLSSocket\")\n self.once(\"secureConnection\", () => connectionListener(_socket));\n else\n connectionListener(_socket);\n self.emit(\"connection\", _socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n if (self.emit(\"secure\", self), self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnection\", verifyError);\n },\n error(socket, error) {\n Socket2.#Handlers.error(socket, error), this.data.emit(\"error\", error);\n },\n timeout: Socket2.#Handlers.timeout,\n connectError: Socket2.#Handlers.connectError,\n drain: Socket2.#Handlers.drain,\n binaryType: \"buffer\"\n };\n bytesRead = 0;\n bytesWritten = 0;\n #closed = !1;\n connecting = !1;\n localAddress = \"127.0.0.1\";\n #readQueue = @createFIFO();\n remotePort;\n [bunSocketInternal] = null;\n [bunTLSConnectOptions] = null;\n timeout = 0;\n #writeCallback;\n #writeChunk;\n #pendingRead;\n isServer = !1;\n _handle;\n _parent;\n _parentWrap;\n #socket;\n #upgraded;\n constructor(options) {\n const { socket, signal, write, read, allowHalfOpen = !1, ...opts } = options || {};\n super({\n ...opts,\n allowHalfOpen,\n readable: !0,\n writable: !0\n });\n if (this._handle = this, this._parent = this, this._parentWrap = this, this.#pendingRead = @undefined, this.#upgraded = null, socket instanceof Socket2)\n this.#socket = socket;\n signal\?.once(\"abort\", () => this.destroy()), this.once(\"connect\", () => this.emit(\"ready\"));\n }\n address() {\n return {\n address: this.localAddress,\n family: this.localFamily,\n port: this.localPort\n };\n }\n get bufferSize() {\n return this.writableLength;\n }\n #attach(port, socket) {\n if (this.remotePort = port, socket.data = this, socket.timeout(this.timeout), socket.ref(), this[bunSocketInternal] = socket, this.connecting = !1, !this.#upgraded)\n this.emit(\"connect\", this);\n Socket2.#Drain(socket);\n }\n #closeRawConnection() {\n const connection = this.#upgraded;\n connection[bunSocketInternal] = null, connection.unref(), connection.destroy(), process.nextTick(closeNT, connection);\n }\n connect(port, host, connectListener) {\n var path, connection = this.#socket, _checkServerIdentity = @undefined;\n if (typeof port === \"string\") {\n if (path = port, port = @undefined, typeof host === \"function\")\n connectListener = host, host = @undefined;\n } else if (typeof host == \"function\") {\n if (typeof port === \"string\")\n path = port, port = @undefined;\n connectListener = host, host = @undefined;\n }\n if (typeof port == \"object\") {\n var {\n port,\n host,\n path,\n socket,\n localAddress,\n localPort,\n family,\n hints,\n lookup,\n noDelay,\n keepAlive,\n keepAliveInitialDelay,\n requestCert,\n rejectUnauthorized,\n pauseOnConnect,\n servername,\n checkServerIdentity,\n session\n } = port;\n if (_checkServerIdentity = checkServerIdentity, this.servername = servername, socket)\n connection = socket;\n }\n if (!pauseOnConnect)\n this.resume();\n this.connecting = !0, this.remotePort = port;\n const bunTLS = this[bunTlsSymbol];\n var tls = @undefined;\n if (typeof bunTLS === \"function\") {\n if (tls = bunTLS.@call(this, port, host, !0), this._requestCert = !0, this._rejectUnauthorized = rejectUnauthorized, tls) {\n if (tls.rejectUnauthorized = rejectUnauthorized, tls.requestCert = !0, tls.session = session || tls.session, this.servername = tls.servername, tls.checkServerIdentity = _checkServerIdentity || tls.checkServerIdentity, this[bunTLSConnectOptions] = tls, !connection && tls.socket)\n connection = tls.socket;\n }\n if (connection) {\n if (typeof connection !== \"object\" || !(connection instanceof Socket2) || typeof connection[bunTlsSymbol] === \"function\")\n @throwTypeError(\"socket must be an instance of net.Socket\");\n }\n if (this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, connectListener)\n this.on(\"secureConnect\", connectListener);\n } else if (connectListener)\n this.on(\"connect\", connectListener);\n try {\n if (connection) {\n const socket2 = connection[bunSocketInternal];\n if (socket2) {\n this.connecting = !0, this.#upgraded = connection;\n const result = socket2.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n } else\n connection.once(\"connect\", () => {\n const socket3 = connection[bunSocketInternal];\n if (!socket3)\n return;\n this.connecting = !0, this.#upgraded = connection;\n const result = socket3.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n });\n } else if (path)\n bunConnect({\n data: this,\n unix: path,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n else\n bunConnect({\n data: this,\n hostname: host || \"localhost\",\n port,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n } catch (error) {\n process.nextTick(emitErrorAndCloseNextTick, this, error);\n }\n return this;\n }\n _destroy(err, callback) {\n const socket = this[bunSocketInternal];\n socket && process.nextTick(endNT, socket, callback, err);\n }\n _final(callback) {\n this[bunSocketInternal]\?.end(), callback(), process.nextTick(closeNT, this);\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return this[bunSocketInternal]\?.localPort;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n const queue = this.#readQueue;\n let chunk;\n while (chunk = queue.peek()) {\n const can_continue = !this.push(chunk);\n if (queue.shift(), !can_continue)\n break;\n }\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n this[bunSocketInternal]\?.ref();\n }\n get remoteAddress() {\n return this[bunSocketInternal]\?.remoteAddress;\n }\n get remoteFamily() {\n return \"IPv4\";\n }\n resetAndDestroy() {\n this[bunSocketInternal]\?.end();\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n return this;\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n if (this[bunSocketInternal]\?.timeout(timeout), this.timeout = timeout, callback)\n this.once(\"timeout\", callback);\n return this;\n }\n unref() {\n this[bunSocketInternal]\?.unref();\n }\n _write(chunk, encoding, callback) {\n if (typeof chunk == \"string\" && encoding !== \"ascii\")\n chunk = @Buffer.from(chunk, encoding);\n var written = this[bunSocketInternal]\?.write(chunk);\n if (written == chunk.length)\n callback();\n else if (this.#writeCallback)\n callback(new Error(\"overlapping _write()\"));\n else {\n if (written > 0)\n if (typeof chunk == \"string\")\n chunk = chunk.slice(written);\n else\n chunk = chunk.subarray(written);\n this.#writeCallback = callback, this.#writeChunk = chunk;\n }\n }\n}), connect = createConnection;\n\nclass Server extends EventEmitter {\n #server;\n #listening = !1;\n [bunSocketServerConnections] = 0;\n [bunSocketServerOptions];\n maxConnections = 0;\n constructor(options, connectionListener) {\n super();\n if (typeof options === \"function\")\n connectionListener = options, options = {};\n else if (options == null || typeof options === \"object\")\n options = { ...options };\n else\n throw new Error(\"bun-net-polyfill: invalid arguments\");\n const { maxConnections } = options;\n this.maxConnections = Number.isSafeInteger(maxConnections) && maxConnections > 0 \? maxConnections : 0, options.connectionListener = connectionListener, this[bunSocketServerOptions] = options;\n }\n ref() {\n return this.#server\?.ref(), this;\n }\n unref() {\n return this.#server\?.unref(), this;\n }\n close(callback) {\n if (this.#server) {\n if (this.#server.stop(!0), this.#server = null, this.#listening = !1, this[bunSocketServerConnections] = 0, this.emit(\"close\"), typeof callback === \"function\")\n callback();\n return this;\n }\n if (typeof callback === \"function\") {\n const error = new Error(\"Server is not running\");\n error.code = \"ERR_SERVER_NOT_RUNNING\", callback(error);\n }\n return this;\n }\n address() {\n const server = this.#server;\n if (server) {\n const unix = server.unix;\n if (unix)\n return unix;\n let address = server.hostname;\n const type = isIP(address), port = server.port;\n if (typeof port === \"number\")\n return {\n port,\n address,\n family: type \? `IPv${type}` : @undefined\n };\n if (type)\n return {\n address,\n family: type \? `IPv${type}` : @undefined\n };\n return address;\n }\n return null;\n }\n getConnections(callback) {\n if (typeof callback === \"function\")\n callback(null, this.#server \? this[bunSocketServerConnections] : 0);\n return this;\n }\n listen(port, hostname, onListen) {\n let backlog, path, exclusive = !1;\n if (typeof port === \"string\") {\n if (Number.isSafeInteger(hostname)) {\n if (hostname > 0)\n backlog = hostname;\n } else if (typeof hostname === \"function\")\n onListen = hostname;\n path = port, hostname = @undefined, port = @undefined;\n } else {\n if (typeof hostname === \"function\")\n onListen = hostname, hostname = @undefined;\n if (typeof port === \"function\")\n onListen = port, port = 0;\n else if (typeof port === \"object\") {\n const options = port;\n options.signal\?.addEventListener(\"abort\", () => this.close()), hostname = options.host, exclusive = options.exclusive === !0;\n const path2 = options.path;\n if (port = options.port, !Number.isSafeInteger(port) || port < 0)\n if (path2)\n hostname = path2, port = @undefined;\n else {\n let message = 'The argument \\'options\\' must have the property \"port\" or \"path\"';\n try {\n message = `${message}. Received ${JSON.stringify(options)}`;\n } catch {\n }\n const error = @makeTypeError(message);\n throw error.code = \"ERR_INVALID_ARG_VALUE\", error;\n }\n else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n if (typeof port.callback === \"function\")\n onListen = port\?.callback;\n } else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n hostname = hostname || \"::\";\n }\n try {\n var tls = @undefined, TLSSocketClass = @undefined;\n const bunTLS = this[bunTlsSymbol], options = this[bunSocketServerOptions];\n if (typeof bunTLS === \"function\")\n [tls, TLSSocketClass] = bunTLS.@call(this, port, hostname, !1), options.servername = tls.serverName, options.InternalSocketClass = TLSSocketClass;\n else\n options.InternalSocketClass = SocketClass;\n this.#server = Bun.listen(path \? {\n exclusive,\n unix: path,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n } : {\n exclusive,\n port,\n hostname,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n }), this.#server.data = this, this.#listening = !0, setTimeout(emitListeningNextTick, 1, this, onListen);\n } catch (err) {\n this.#listening = !1, setTimeout(emitErrorNextTick, 1, this, err);\n }\n return this;\n }\n}\n$ = {\n createServer,\n Server,\n createConnection,\n connect,\n isIP,\n isIPv4,\n isIPv6,\n Socket,\n [Symbol.for(\"::bunternal::\")]: SocketClass\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeOSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/os.ts\nvar lazyCpus = function({ cpus }) {\n return () => {\n const array = new @Array(navigator.hardwareConcurrency);\n function populate() {\n const results = cpus(), length = results.length;\n array.length = length;\n for (let i = 0;i < length; i++)\n array[i] = results[i];\n }\n for (let i = 0;i < array.length; i++) {\n const instance = {\n get model() {\n if (array[i] === instance)\n populate();\n return array[i].model;\n },\n set model(value) {\n if (array[i] === instance)\n populate();\n array[i].model = value;\n },\n get speed() {\n if (array[i] === instance)\n populate();\n return array[i].speed;\n },\n set speed(value) {\n if (array[i] === instance)\n populate();\n array[i].speed = value;\n },\n get times() {\n if (array[i] === instance)\n populate();\n return array[i].times;\n },\n set times(value) {\n if (array[i] === instance)\n populate();\n array[i].times = value;\n },\n toJSON() {\n if (array[i] === instance)\n populate();\n return array[i];\n }\n };\n array[i] = instance;\n }\n return array;\n };\n}, bound = function(obj) {\n return {\n availableParallelism: () => {\n return navigator.hardwareConcurrency;\n },\n arch: obj.arch.bind(obj),\n cpus: lazyCpus(obj),\n endianness: obj.endianness.bind(obj),\n freemem: obj.freemem.bind(obj),\n getPriority: obj.getPriority.bind(obj),\n homedir: obj.homedir.bind(obj),\n hostname: obj.hostname.bind(obj),\n loadavg: obj.loadavg.bind(obj),\n networkInterfaces: obj.networkInterfaces.bind(obj),\n platform: obj.platform.bind(obj),\n release: obj.release.bind(obj),\n setPriority: obj.setPriority.bind(obj),\n get tmpdir() {\n return tmpdir;\n },\n totalmem: obj.totalmem.bind(obj),\n type: obj.type.bind(obj),\n uptime: obj.uptime.bind(obj),\n userInfo: obj.userInfo.bind(obj),\n version: obj.version.bind(obj),\n machine: obj.machine.bind(obj),\n devNull: obj.devNull,\n EOL: obj.EOL,\n constants: @processBindingConstants.os\n };\n}, tmpdir = function() {\n var env = Bun.env;\n return tmpdir = function() {\n var path = env.TMPDIR || env.TMP || env.TEMP || \"/tmp\";\n const length = path.length;\n if (length > 1 && path[length - 1] === \"/\")\n path = path.slice(0, -1);\n return path;\n }, tmpdir();\n};\nreturn bound(Bun._Os())})\n"); +static constexpr ASCIILiteral NodeOSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/os.ts\nvar lazyCpus = function({ cpus }) {\n return () => {\n const array = new @Array(navigator.hardwareConcurrency);\n function populate() {\n const results = cpus(), length = results.length;\n array.length = length;\n for (let i = 0;i < length; i++)\n array[i] = results[i];\n }\n for (let i = 0;i < array.length; i++) {\n const instance = {\n get model() {\n if (array[i] === instance)\n populate();\n return array[i].model;\n },\n set model(value) {\n if (array[i] === instance)\n populate();\n array[i].model = value;\n },\n get speed() {\n if (array[i] === instance)\n populate();\n return array[i].speed;\n },\n set speed(value) {\n if (array[i] === instance)\n populate();\n array[i].speed = value;\n },\n get times() {\n if (array[i] === instance)\n populate();\n return array[i].times;\n },\n set times(value) {\n if (array[i] === instance)\n populate();\n array[i].times = value;\n },\n toJSON() {\n if (array[i] === instance)\n populate();\n return array[i];\n }\n };\n array[i] = instance;\n }\n return array;\n };\n}, bound = function(obj) {\n return {\n availableParallelism: () => {\n return navigator.hardwareConcurrency;\n },\n arch: obj.arch.bind(obj),\n cpus: lazyCpus(obj),\n endianness: obj.endianness.bind(obj),\n freemem: obj.freemem.bind(obj),\n getPriority: obj.getPriority.bind(obj),\n homedir: obj.homedir.bind(obj),\n hostname: obj.hostname.bind(obj),\n loadavg: obj.loadavg.bind(obj),\n networkInterfaces: obj.networkInterfaces.bind(obj),\n platform: obj.platform.bind(obj),\n release: obj.release.bind(obj),\n setPriority: obj.setPriority.bind(obj),\n get tmpdir() {\n return tmpdir;\n },\n totalmem: obj.totalmem.bind(obj),\n type: obj.type.bind(obj),\n uptime: obj.uptime.bind(obj),\n userInfo: obj.userInfo.bind(obj),\n version: obj.version.bind(obj),\n machine: obj.machine.bind(obj),\n devNull: obj.devNull,\n EOL: obj.EOL,\n constants: @processBindingConstants.os\n };\n}, tmpdir = function() {\n var env = Bun.env;\n return tmpdir = function() {\n var path = env.TMPDIR || env.TMP || env.TEMP || \"/tmp\";\n const length = path.length;\n if (length > 1 && path[length - 1] === \"/\")\n path = path.slice(0, -1);\n return path;\n }, tmpdir();\n};\nreturn bound(Bun._Os())})\n"); // // -static constexpr ASCIILiteral NodePathPosixCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/path.posix.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).posix})\n"); +static constexpr ASCIILiteral NodePathPosixCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/path.posix.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).posix})\n"); // // -static constexpr ASCIILiteral NodePathCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/path.ts\nvar bound = function(obj) {\n const toNamespacedPath = obj.toNamespacedPath.bind(obj);\n return {\n resolve: obj.resolve.bind(obj),\n normalize: obj.normalize.bind(obj),\n isAbsolute: obj.isAbsolute.bind(obj),\n join: obj.join.bind(obj),\n relative: obj.relative.bind(obj),\n toNamespacedPath,\n dirname: obj.dirname.bind(obj),\n basename: obj.basename.bind(obj),\n extname: obj.extname.bind(obj),\n format: obj.format.bind(obj),\n parse: obj.parse.bind(obj),\n sep: obj.sep,\n delimiter: obj.delimiter,\n win32: @undefined,\n posix: @undefined,\n _makeLong: toNamespacedPath\n };\n}, posix = bound(Bun._Path(!1)), win32 = bound(Bun._Path(!0));\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\nreturn win32})\n"); +static constexpr ASCIILiteral NodePathCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/path.ts\nvar bound = function(obj) {\n const toNamespacedPath = obj.toNamespacedPath.bind(obj);\n return {\n resolve: obj.resolve.bind(obj),\n normalize: obj.normalize.bind(obj),\n isAbsolute: obj.isAbsolute.bind(obj),\n join: obj.join.bind(obj),\n relative: obj.relative.bind(obj),\n toNamespacedPath,\n dirname: obj.dirname.bind(obj),\n basename: obj.basename.bind(obj),\n extname: obj.extname.bind(obj),\n format: obj.format.bind(obj),\n parse: obj.parse.bind(obj),\n sep: obj.sep,\n delimiter: obj.delimiter,\n win32: @undefined,\n posix: @undefined,\n _makeLong: toNamespacedPath\n };\n}, posix = bound(Bun._Path(!1)), win32 = bound(Bun._Path(!0));\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\nreturn win32})\n"); // // -static constexpr ASCIILiteral NodePathWin32Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/path.win32.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).win32})\n"); +static constexpr ASCIILiteral NodePathWin32Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/path.win32.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).win32})\n"); // // -static constexpr ASCIILiteral NodePerfHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/perf_hooks.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NODE_PERFORMANCE_GC_MAJOR: 4,\n NODE_PERFORMANCE_GC_MINOR: 1,\n NODE_PERFORMANCE_GC_INCREMENTAL: 8,\n NODE_PERFORMANCE_GC_WEAKCB: 16,\n NODE_PERFORMANCE_GC_FLAGS_NO: 0,\n NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: 2,\n NODE_PERFORMANCE_GC_FLAGS_FORCED: 4,\n NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: 8,\n NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: 16,\n NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: 32,\n NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: 64\n}, performance = globalThis.performance;\n\nclass PerformanceObserver {\n constructor() {\n throwNotImplemented(\"PerformanceObserver\");\n }\n}\n\nclass PerformanceEntry {\n constructor() {\n throwNotImplemented(\"PerformanceEntry\");\n }\n}\n$ = {\n performance,\n constants,\n PerformanceEntry,\n PerformanceObserver\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodePerfHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/perf_hooks.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NODE_PERFORMANCE_GC_MAJOR: 4,\n NODE_PERFORMANCE_GC_MINOR: 1,\n NODE_PERFORMANCE_GC_INCREMENTAL: 8,\n NODE_PERFORMANCE_GC_WEAKCB: 16,\n NODE_PERFORMANCE_GC_FLAGS_NO: 0,\n NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: 2,\n NODE_PERFORMANCE_GC_FLAGS_FORCED: 4,\n NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: 8,\n NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: 16,\n NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: 32,\n NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: 64\n}, performance = globalThis.performance;\n\nclass PerformanceObserver {\n constructor() {\n throwNotImplemented(\"PerformanceObserver\");\n }\n}\n\nclass PerformanceEntry {\n constructor() {\n throwNotImplemented(\"PerformanceEntry\");\n }\n}\n$ = {\n performance,\n constants,\n PerformanceEntry,\n PerformanceObserver\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodePunycodeCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/punycode.ts\nvar error = function(type) {\n @throwRangeError(errors[type]);\n}, map = function(array, callback) {\n const result = [];\n let length = array.length;\n while (length--)\n result[length] = callback(array[length]);\n return result;\n}, mapDomain = function(domain, callback) {\n const parts = domain.split(\"@\");\n let result = \"\";\n if (parts.length > 1)\n result = parts[0] + \"@\", domain = parts[1];\n domain = domain.replace(regexSeparators, \".\");\n const labels = domain.split(\".\"), encoded = map(labels, callback).join(\".\");\n return result + encoded;\n}, ucs2decode = function(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 55296 && value <= 56319 && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 64512) == 56320)\n output.push(((value & 1023) << 10) + (extra & 1023) + 65536);\n else\n output.push(value), counter--;\n } else\n output.push(value);\n }\n return output;\n}, $, maxInt = 2147483647, base = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = \"-\", regexPunycode = /^xn--/, regexNonASCII = /[^\\0-\\x7F]/, regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, errors = {\n overflow: \"Overflow: input needs wider integers to process\",\n \"not-basic\": \"Illegal input >= 0x80 (not a basic code point)\",\n \"invalid-input\": \"Invalid input\"\n}, baseMinusTMin = base - tMin, floor = Math.floor, stringFromCharCode = @String.fromCharCode, ucs2encode = (codePoints) => @String.fromCodePoint(...codePoints), basicToDigit = function(codePoint) {\n if (codePoint >= 48 && codePoint < 58)\n return 26 + (codePoint - 48);\n if (codePoint >= 65 && codePoint < 91)\n return codePoint - 65;\n if (codePoint >= 97 && codePoint < 123)\n return codePoint - 97;\n return base;\n}, digitToBasic = function(digit, flag) {\n return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n}, adapt = function(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime \? floor(delta / damp) : delta >> 1, delta += floor(delta / numPoints);\n for (;delta > baseMinusTMin * tMax >> 1; k += base)\n delta = floor(delta / baseMinusTMin);\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}, decode = function(input) {\n const output = [], inputLength = input.length;\n let i = 0, n = initialN, bias = initialBias, basic = input.lastIndexOf(delimiter);\n if (basic < 0)\n basic = 0;\n for (let j = 0;j < basic; ++j) {\n if (input.charCodeAt(j) >= 128)\n error(\"not-basic\");\n output.push(input.charCodeAt(j));\n }\n for (let index = basic > 0 \? basic + 1 : 0;index < inputLength; ) {\n const oldi = i;\n for (let w = 1, k = base;; k += base) {\n if (index >= inputLength)\n error(\"invalid-input\");\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base)\n error(\"invalid-input\");\n if (digit > floor((maxInt - i) / w))\n error(\"overflow\");\n i += digit * w;\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (digit < t)\n break;\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT))\n error(\"overflow\");\n w *= baseMinusT;\n }\n const out = output.length + 1;\n if (bias = adapt(i - oldi, out, oldi == 0), floor(i / out) > maxInt - n)\n error(\"overflow\");\n n += floor(i / out), i %= out, output.splice(i++, 0, n);\n }\n return @String.fromCodePoint(...output);\n}, encode = function(input) {\n const output = [];\n input = ucs2decode(input);\n const inputLength = input.length;\n let n = initialN, delta = 0, bias = initialBias;\n for (let currentValue of input)\n if (currentValue < 128)\n output.push(stringFromCharCode(currentValue));\n const basicLength = output.length;\n let handledCPCount = basicLength;\n if (basicLength)\n output.push(delimiter);\n while (handledCPCount < inputLength) {\n let m = maxInt;\n for (let currentValue of input)\n if (currentValue >= n && currentValue < m)\n m = currentValue;\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne))\n error(\"overflow\");\n delta += (m - n) * handledCPCountPlusOne, n = m;\n for (let currentValue of input) {\n if (currentValue < n && ++delta > maxInt)\n error(\"overflow\");\n if (currentValue === n) {\n let q = delta;\n for (let k = base;; k += base) {\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (q < t)\n break;\n const qMinusT = q - t, baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))), q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q, 0))), bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength), delta = 0, ++handledCPCount;\n }\n }\n ++delta, ++n;\n }\n return output.join(\"\");\n}, toUnicode = function(input) {\n return mapDomain(input, function(string) {\n return regexPunycode.test(string) \? decode(string.slice(4).toLowerCase()) : string;\n });\n}, toASCII = function(input) {\n return mapDomain(input, function(string) {\n return regexNonASCII.test(string) \? \"xn--\" + encode(string) : string;\n });\n};\n$ = {\n version: \"2.1.0\",\n ucs2: {\n decode: ucs2decode,\n encode: ucs2encode\n },\n decode,\n encode,\n toASCII,\n toUnicode\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodePunycodeCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/punycode.ts\nvar error = function(type) {\n @throwRangeError(errors[type]);\n}, map = function(array, callback) {\n const result = [];\n let length = array.length;\n while (length--)\n result[length] = callback(array[length]);\n return result;\n}, mapDomain = function(domain, callback) {\n const parts = domain.split(\"@\");\n let result = \"\";\n if (parts.length > 1)\n result = parts[0] + \"@\", domain = parts[1];\n domain = domain.replace(regexSeparators, \".\");\n const labels = domain.split(\".\"), encoded = map(labels, callback).join(\".\");\n return result + encoded;\n}, ucs2decode = function(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 55296 && value <= 56319 && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 64512) == 56320)\n output.push(((value & 1023) << 10) + (extra & 1023) + 65536);\n else\n output.push(value), counter--;\n } else\n output.push(value);\n }\n return output;\n}, $, maxInt = 2147483647, base = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = \"-\", regexPunycode = /^xn--/, regexNonASCII = /[^\\0-\\x7F]/, regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, errors = {\n overflow: \"Overflow: input needs wider integers to process\",\n \"not-basic\": \"Illegal input >= 0x80 (not a basic code point)\",\n \"invalid-input\": \"Invalid input\"\n}, baseMinusTMin = base - tMin, floor = Math.floor, stringFromCharCode = @String.fromCharCode, ucs2encode = (codePoints) => @String.fromCodePoint(...codePoints), basicToDigit = function(codePoint) {\n if (codePoint >= 48 && codePoint < 58)\n return 26 + (codePoint - 48);\n if (codePoint >= 65 && codePoint < 91)\n return codePoint - 65;\n if (codePoint >= 97 && codePoint < 123)\n return codePoint - 97;\n return base;\n}, digitToBasic = function(digit, flag) {\n return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n}, adapt = function(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime \? floor(delta / damp) : delta >> 1, delta += floor(delta / numPoints);\n for (;delta > baseMinusTMin * tMax >> 1; k += base)\n delta = floor(delta / baseMinusTMin);\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}, decode = function(input) {\n const output = [], inputLength = input.length;\n let i = 0, n = initialN, bias = initialBias, basic = input.lastIndexOf(delimiter);\n if (basic < 0)\n basic = 0;\n for (let j = 0;j < basic; ++j) {\n if (input.charCodeAt(j) >= 128)\n error(\"not-basic\");\n output.push(input.charCodeAt(j));\n }\n for (let index = basic > 0 \? basic + 1 : 0;index < inputLength; ) {\n const oldi = i;\n for (let w = 1, k = base;; k += base) {\n if (index >= inputLength)\n error(\"invalid-input\");\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base)\n error(\"invalid-input\");\n if (digit > floor((maxInt - i) / w))\n error(\"overflow\");\n i += digit * w;\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (digit < t)\n break;\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT))\n error(\"overflow\");\n w *= baseMinusT;\n }\n const out = output.length + 1;\n if (bias = adapt(i - oldi, out, oldi == 0), floor(i / out) > maxInt - n)\n error(\"overflow\");\n n += floor(i / out), i %= out, output.splice(i++, 0, n);\n }\n return @String.fromCodePoint(...output);\n}, encode = function(input) {\n const output = [];\n input = ucs2decode(input);\n const inputLength = input.length;\n let n = initialN, delta = 0, bias = initialBias;\n for (let currentValue of input)\n if (currentValue < 128)\n output.push(stringFromCharCode(currentValue));\n const basicLength = output.length;\n let handledCPCount = basicLength;\n if (basicLength)\n output.push(delimiter);\n while (handledCPCount < inputLength) {\n let m = maxInt;\n for (let currentValue of input)\n if (currentValue >= n && currentValue < m)\n m = currentValue;\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne))\n error(\"overflow\");\n delta += (m - n) * handledCPCountPlusOne, n = m;\n for (let currentValue of input) {\n if (currentValue < n && ++delta > maxInt)\n error(\"overflow\");\n if (currentValue === n) {\n let q = delta;\n for (let k = base;; k += base) {\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (q < t)\n break;\n const qMinusT = q - t, baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))), q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q, 0))), bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength), delta = 0, ++handledCPCount;\n }\n }\n ++delta, ++n;\n }\n return output.join(\"\");\n}, toUnicode = function(input) {\n return mapDomain(input, function(string) {\n return regexPunycode.test(string) \? decode(string.slice(4).toLowerCase()) : string;\n });\n}, toASCII = function(input) {\n return mapDomain(input, function(string) {\n return regexNonASCII.test(string) \? \"xn--\" + encode(string) : string;\n });\n};\n$ = {\n version: \"2.1.0\",\n ucs2: {\n decode: ucs2decode,\n encode: ucs2encode\n },\n decode,\n encode,\n toASCII,\n toUnicode\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeQuerystringCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/querystring.ts\nvar __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports), Buffer = @requireNativeModule(\"buffer\").Buffer, require_object_keys = __commonJS((exports, module) => {\n var objectKeys = Object.keys || function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty, hasDontEnumBug = !{ toString: null }.propertyIsEnumerable(\"toString\"), dontEnums = [\n \"toString\",\n \"toLocaleString\",\n \"valueOf\",\n \"hasOwnProperty\",\n \"isPrototypeOf\",\n \"propertyIsEnumerable\",\n \"constructor\"\n ], dontEnumsLength = dontEnums.length;\n return function(obj) {\n if (typeof obj !== \"function\" && (typeof obj !== \"object\" || obj === null))\n @throwTypeError(\"Object.keys called on non-object\");\n var result = [], prop, i;\n for (prop in obj)\n if (hasOwnProperty.@call(obj, prop))\n result.push(prop);\n if (hasDontEnumBug) {\n for (i = 0;i < dontEnumsLength; i++)\n if (hasOwnProperty.@call(obj, dontEnums[i]))\n result.push(dontEnums[i]);\n }\n return result;\n };\n }();\n module.exports = objectKeys;\n}), require_src = __commonJS((exports, module) => {\n var ParsedQueryString = function() {\n }, unescapeBuffer = function(s, decodeSpaces) {\n var out = Buffer.allocUnsafe(s.length), state = 0, n, m, hexchar, c;\n for (var inIndex = 0, outIndex = 0;; inIndex++) {\n if (inIndex < s.length)\n c = s.charCodeAt(inIndex);\n else {\n if (state > 0) {\n if (out[outIndex++] = 37, state === 2)\n out[outIndex++] = hexchar;\n }\n break;\n }\n switch (state) {\n case 0:\n switch (c) {\n case 37:\n n = 0, m = 0, state = 1;\n break;\n case 43:\n if (decodeSpaces)\n c = 32;\n default:\n out[outIndex++] = c;\n break;\n }\n break;\n case 1:\n if (hexchar = c, n = unhexTable[c], !(n >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = c, state = 0;\n break;\n }\n state = 2;\n break;\n case 2:\n if (state = 0, m = unhexTable[c], !(m >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = hexchar, out[outIndex++] = c;\n break;\n }\n out[outIndex++] = 16 * n + m;\n break;\n }\n }\n return out.slice(0, outIndex);\n }, qsUnescape = function(s, decodeSpaces) {\n try {\n return decodeURIComponent(s);\n } catch (e) {\n return QueryString.unescapeBuffer(s, decodeSpaces).toString();\n }\n }, qsEscape = function(str) {\n if (typeof str !== \"string\")\n if (typeof str === \"object\")\n str = @String(str);\n else\n str += \"\";\n var out = \"\", lastPos = 0;\n for (var i2 = 0;i2 < str.length; ++i2) {\n var c = str.charCodeAt(i2);\n if (c < 128) {\n if (noEscape[c] === 1)\n continue;\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n lastPos = i2 + 1, out += hexTable[c];\n continue;\n }\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n if (c < 2048) {\n lastPos = i2 + 1, out += hexTable[192 | c >> 6] + hexTable[128 | c & 63];\n continue;\n }\n if (c < 55296 || c >= 57344) {\n lastPos = i2 + 1, out += hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n continue;\n }\n ++i2;\n var c2;\n if (i2 < str.length)\n c2 = str.charCodeAt(i2) & 1023;\n else\n throw new URIError(\"URI malformed\");\n lastPos = i2 + 1, c = 65536 + ((c & 1023) << 10 | c2), out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n }\n if (lastPos === 0)\n return str;\n if (lastPos < str.length)\n return out + str.slice(lastPos);\n return out;\n }, stringifyPrimitive = function(v) {\n if (typeof v === \"string\")\n return v;\n if (typeof v === \"number\" && @isFinite(v))\n return \"\" + v;\n if (typeof v === \"boolean\")\n return v \? \"true\" : \"false\";\n return \"\";\n }, stringify = function(obj, sep, eq, options) {\n sep = sep || \"&\", eq = eq || \"=\";\n var encode = QueryString.escape;\n if (options && typeof options.encodeURIComponent === \"function\")\n encode = options.encodeURIComponent;\n if (obj !== null && typeof obj === \"object\") {\n var keys = objectKeys(obj), len = keys.length, flast = len - 1, fields = \"\";\n for (var i2 = 0;i2 < len; ++i2) {\n var k = keys[i2], v = obj[k], ks = encode(stringifyPrimitive(k)) + eq;\n if (isArray(v)) {\n var vlen = v.length, vlast = vlen - 1;\n for (var j = 0;j < vlen; ++j)\n if (fields += ks + encode(stringifyPrimitive(v[j])), j < vlast)\n fields += sep;\n if (vlen && i2 < flast)\n fields += sep;\n } else if (fields += ks + encode(stringifyPrimitive(v)), i2 < flast)\n fields += sep;\n }\n return fields;\n }\n return \"\";\n }, charCodes = function(str) {\n if (str.length === 0)\n return [];\n if (str.length === 1)\n return [str.charCodeAt(0)];\n const ret = [];\n for (var i2 = 0;i2 < str.length; ++i2)\n ret[ret.length] = str.charCodeAt(i2);\n return ret;\n }, parse = function(qs, sep, eq, options) {\n const obj = new ParsedQueryString;\n if (typeof qs !== \"string\" || qs.length === 0)\n return obj;\n var sepCodes = !sep \? defSepCodes : charCodes(sep + \"\"), eqCodes = !eq \? defEqCodes : charCodes(eq + \"\");\n const sepLen = sepCodes.length, eqLen = eqCodes.length;\n var pairs = 1000;\n if (options && typeof options.maxKeys === \"number\")\n pairs = options.maxKeys > 0 \? options.maxKeys : -1;\n var decode = QueryString.unescape;\n if (options && typeof options.decodeURIComponent === \"function\")\n decode = options.decodeURIComponent;\n const customDecode = decode !== qsUnescape, keys = [];\n var posIdx = 0, lastPos = 0, sepIdx = 0, eqIdx = 0, key = \"\", value = \"\", keyEncoded = customDecode, valEncoded = customDecode, encodeCheck = 0;\n for (var i2 = 0;i2 < qs.length; ++i2) {\n const code = qs.charCodeAt(i2);\n if (code === sepCodes[sepIdx]) {\n if (++sepIdx === sepLen) {\n const end = i2 - sepIdx + 1;\n if (eqIdx < eqLen) {\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n } else if (lastPos < end)\n value += qs.slice(lastPos, end);\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (key || value || lastPos - posIdx > sepLen || i2 === 0)\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key] || \"\";\n if (curValue.pop)\n curValue[curValue.length] = value;\n else if (curValue)\n obj[key] = [curValue, value];\n }\n else if (i2 === 1)\n delete obj[key];\n if (--pairs === 0)\n break;\n keyEncoded = valEncoded = customDecode, encodeCheck = 0, key = value = \"\", posIdx = lastPos, lastPos = i2 + 1, sepIdx = eqIdx = 0;\n }\n continue;\n } else if (sepIdx = 0, !valEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n valEncoded = !0;\n } else\n encodeCheck = 0;\n if (eqIdx < eqLen) {\n if (code === eqCodes[eqIdx]) {\n if (++eqIdx === eqLen) {\n const end = i2 - eqIdx + 1;\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n encodeCheck = 0, lastPos = i2 + 1;\n }\n continue;\n } else if (eqIdx = 0, !keyEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n keyEncoded = !0;\n } else\n encodeCheck = 0;\n }\n if (code === 43) {\n if (eqIdx < eqLen) {\n if (lastPos < i2)\n key += qs.slice(lastPos, i2);\n key += \"%20\", keyEncoded = !0;\n } else {\n if (lastPos < i2)\n value += qs.slice(lastPos, i2);\n value += \"%20\", valEncoded = !0;\n }\n lastPos = i2 + 1;\n }\n }\n if (pairs !== 0 && (lastPos < qs.length || eqIdx > 0)) {\n if (lastPos < qs.length) {\n if (eqIdx < eqLen)\n key += qs.slice(lastPos);\n else if (sepIdx < sepLen)\n value += qs.slice(lastPos);\n }\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key];\n if (curValue.pop)\n curValue[curValue.length] = value;\n else\n obj[key] = [curValue, value];\n }\n }\n return obj;\n }, decodeStr = function(s, decoder) {\n try {\n return decoder(s);\n } catch (e) {\n return QueryString.unescape(s, !0);\n }\n }, QueryString = module.exports = {\n unescapeBuffer,\n unescape: qsUnescape,\n escape: qsEscape,\n stringify,\n encode: stringify,\n parse,\n decode: parse\n }, objectKeys = require_object_keys(), isArray = (arg) => Object.prototype.toString.@call(arg) === \"[object Array]\", indexOf = (arr, searchElement, fromIndex) => {\n var k;\n if (arr == null)\n @throwTypeError('\"arr\" is null or not defined');\n var o = Object(arr), len = o.length >>> 0;\n if (len === 0)\n return -1;\n var n = fromIndex | 0;\n if (n >= len)\n return -1;\n k = Math.max(n >= 0 \? n : len - Math.abs(n), 0);\n while (k < len) {\n if ((k in o) && o[k] === searchElement)\n return k;\n k++;\n }\n return -1;\n };\n ParsedQueryString.prototype = Object.create \? Object.create(null) : {};\n var unhexTable = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ], hexTable = [];\n for (i = 0;i < 256; ++i)\n hexTable[i] = \"%\" + ((i < 16 \? \"0\" : \"\") + i.toString(16)).toUpperCase();\n var i, noEscape = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0\n ], defSepCodes = [38], defEqCodes = [61];\n});\nreturn require_src()})\n"); +static constexpr ASCIILiteral NodeQuerystringCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/querystring.ts\nvar __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports), Buffer = @requireNativeModule(\"buffer\").Buffer, require_object_keys = __commonJS((exports, module) => {\n var objectKeys = Object.keys || function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty, hasDontEnumBug = !{ toString: null }.propertyIsEnumerable(\"toString\"), dontEnums = [\n \"toString\",\n \"toLocaleString\",\n \"valueOf\",\n \"hasOwnProperty\",\n \"isPrototypeOf\",\n \"propertyIsEnumerable\",\n \"constructor\"\n ], dontEnumsLength = dontEnums.length;\n return function(obj) {\n if (typeof obj !== \"function\" && (typeof obj !== \"object\" || obj === null))\n @throwTypeError(\"Object.keys called on non-object\");\n var result = [], prop, i;\n for (prop in obj)\n if (hasOwnProperty.@call(obj, prop))\n result.push(prop);\n if (hasDontEnumBug) {\n for (i = 0;i < dontEnumsLength; i++)\n if (hasOwnProperty.@call(obj, dontEnums[i]))\n result.push(dontEnums[i]);\n }\n return result;\n };\n }();\n module.exports = objectKeys;\n}), require_src = __commonJS((exports, module) => {\n var ParsedQueryString = function() {\n }, unescapeBuffer = function(s, decodeSpaces) {\n var out = Buffer.allocUnsafe(s.length), state = 0, n, m, hexchar, c;\n for (var inIndex = 0, outIndex = 0;; inIndex++) {\n if (inIndex < s.length)\n c = s.charCodeAt(inIndex);\n else {\n if (state > 0) {\n if (out[outIndex++] = 37, state === 2)\n out[outIndex++] = hexchar;\n }\n break;\n }\n switch (state) {\n case 0:\n switch (c) {\n case 37:\n n = 0, m = 0, state = 1;\n break;\n case 43:\n if (decodeSpaces)\n c = 32;\n default:\n out[outIndex++] = c;\n break;\n }\n break;\n case 1:\n if (hexchar = c, n = unhexTable[c], !(n >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = c, state = 0;\n break;\n }\n state = 2;\n break;\n case 2:\n if (state = 0, m = unhexTable[c], !(m >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = hexchar, out[outIndex++] = c;\n break;\n }\n out[outIndex++] = 16 * n + m;\n break;\n }\n }\n return out.slice(0, outIndex);\n }, qsUnescape = function(s, decodeSpaces) {\n try {\n return decodeURIComponent(s);\n } catch (e) {\n return QueryString.unescapeBuffer(s, decodeSpaces).toString();\n }\n }, qsEscape = function(str) {\n if (typeof str !== \"string\")\n if (typeof str === \"object\")\n str = @String(str);\n else\n str += \"\";\n var out = \"\", lastPos = 0;\n for (var i2 = 0;i2 < str.length; ++i2) {\n var c = str.charCodeAt(i2);\n if (c < 128) {\n if (noEscape[c] === 1)\n continue;\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n lastPos = i2 + 1, out += hexTable[c];\n continue;\n }\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n if (c < 2048) {\n lastPos = i2 + 1, out += hexTable[192 | c >> 6] + hexTable[128 | c & 63];\n continue;\n }\n if (c < 55296 || c >= 57344) {\n lastPos = i2 + 1, out += hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n continue;\n }\n ++i2;\n var c2;\n if (i2 < str.length)\n c2 = str.charCodeAt(i2) & 1023;\n else\n throw new URIError(\"URI malformed\");\n lastPos = i2 + 1, c = 65536 + ((c & 1023) << 10 | c2), out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n }\n if (lastPos === 0)\n return str;\n if (lastPos < str.length)\n return out + str.slice(lastPos);\n return out;\n }, stringifyPrimitive = function(v) {\n if (typeof v === \"string\")\n return v;\n if (typeof v === \"number\" && @isFinite(v))\n return \"\" + v;\n if (typeof v === \"boolean\")\n return v \? \"true\" : \"false\";\n return \"\";\n }, stringify = function(obj, sep, eq, options) {\n sep = sep || \"&\", eq = eq || \"=\";\n var encode = QueryString.escape;\n if (options && typeof options.encodeURIComponent === \"function\")\n encode = options.encodeURIComponent;\n if (obj !== null && typeof obj === \"object\") {\n var keys = objectKeys(obj), len = keys.length, flast = len - 1, fields = \"\";\n for (var i2 = 0;i2 < len; ++i2) {\n var k = keys[i2], v = obj[k], ks = encode(stringifyPrimitive(k)) + eq;\n if (isArray(v)) {\n var vlen = v.length, vlast = vlen - 1;\n for (var j = 0;j < vlen; ++j)\n if (fields += ks + encode(stringifyPrimitive(v[j])), j < vlast)\n fields += sep;\n if (vlen && i2 < flast)\n fields += sep;\n } else if (fields += ks + encode(stringifyPrimitive(v)), i2 < flast)\n fields += sep;\n }\n return fields;\n }\n return \"\";\n }, charCodes = function(str) {\n if (str.length === 0)\n return [];\n if (str.length === 1)\n return [str.charCodeAt(0)];\n const ret = [];\n for (var i2 = 0;i2 < str.length; ++i2)\n ret[ret.length] = str.charCodeAt(i2);\n return ret;\n }, parse = function(qs, sep, eq, options) {\n const obj = new ParsedQueryString;\n if (typeof qs !== \"string\" || qs.length === 0)\n return obj;\n var sepCodes = !sep \? defSepCodes : charCodes(sep + \"\"), eqCodes = !eq \? defEqCodes : charCodes(eq + \"\");\n const sepLen = sepCodes.length, eqLen = eqCodes.length;\n var pairs = 1000;\n if (options && typeof options.maxKeys === \"number\")\n pairs = options.maxKeys > 0 \? options.maxKeys : -1;\n var decode = QueryString.unescape;\n if (options && typeof options.decodeURIComponent === \"function\")\n decode = options.decodeURIComponent;\n const customDecode = decode !== qsUnescape, keys = [];\n var posIdx = 0, lastPos = 0, sepIdx = 0, eqIdx = 0, key = \"\", value = \"\", keyEncoded = customDecode, valEncoded = customDecode, encodeCheck = 0;\n for (var i2 = 0;i2 < qs.length; ++i2) {\n const code = qs.charCodeAt(i2);\n if (code === sepCodes[sepIdx]) {\n if (++sepIdx === sepLen) {\n const end = i2 - sepIdx + 1;\n if (eqIdx < eqLen) {\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n } else if (lastPos < end)\n value += qs.slice(lastPos, end);\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (key || value || lastPos - posIdx > sepLen || i2 === 0)\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key] || \"\";\n if (curValue.pop)\n curValue[curValue.length] = value;\n else if (curValue)\n obj[key] = [curValue, value];\n }\n else if (i2 === 1)\n delete obj[key];\n if (--pairs === 0)\n break;\n keyEncoded = valEncoded = customDecode, encodeCheck = 0, key = value = \"\", posIdx = lastPos, lastPos = i2 + 1, sepIdx = eqIdx = 0;\n }\n continue;\n } else if (sepIdx = 0, !valEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n valEncoded = !0;\n } else\n encodeCheck = 0;\n if (eqIdx < eqLen) {\n if (code === eqCodes[eqIdx]) {\n if (++eqIdx === eqLen) {\n const end = i2 - eqIdx + 1;\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n encodeCheck = 0, lastPos = i2 + 1;\n }\n continue;\n } else if (eqIdx = 0, !keyEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n keyEncoded = !0;\n } else\n encodeCheck = 0;\n }\n if (code === 43) {\n if (eqIdx < eqLen) {\n if (lastPos < i2)\n key += qs.slice(lastPos, i2);\n key += \"%20\", keyEncoded = !0;\n } else {\n if (lastPos < i2)\n value += qs.slice(lastPos, i2);\n value += \"%20\", valEncoded = !0;\n }\n lastPos = i2 + 1;\n }\n }\n if (pairs !== 0 && (lastPos < qs.length || eqIdx > 0)) {\n if (lastPos < qs.length) {\n if (eqIdx < eqLen)\n key += qs.slice(lastPos);\n else if (sepIdx < sepLen)\n value += qs.slice(lastPos);\n }\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key];\n if (curValue.pop)\n curValue[curValue.length] = value;\n else\n obj[key] = [curValue, value];\n }\n }\n return obj;\n }, decodeStr = function(s, decoder) {\n try {\n return decoder(s);\n } catch (e) {\n return QueryString.unescape(s, !0);\n }\n }, QueryString = module.exports = {\n unescapeBuffer,\n unescape: qsUnescape,\n escape: qsEscape,\n stringify,\n encode: stringify,\n parse,\n decode: parse\n }, objectKeys = require_object_keys(), isArray = (arg) => Object.prototype.toString.@call(arg) === \"[object Array]\", indexOf = (arr, searchElement, fromIndex) => {\n var k;\n if (arr == null)\n @throwTypeError('\"arr\" is null or not defined');\n var o = Object(arr), len = o.length >>> 0;\n if (len === 0)\n return -1;\n var n = fromIndex | 0;\n if (n >= len)\n return -1;\n k = Math.max(n >= 0 \? n : len - Math.abs(n), 0);\n while (k < len) {\n if ((k in o) && o[k] === searchElement)\n return k;\n k++;\n }\n return -1;\n };\n ParsedQueryString.prototype = Object.create \? Object.create(null) : {};\n var unhexTable = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ], hexTable = [];\n for (i = 0;i < 256; ++i)\n hexTable[i] = \"%\" + ((i < 16 \? \"0\" : \"\") + i.toString(16)).toUpperCase();\n var i, noEscape = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0\n ], defSepCodes = [38], defEqCodes = [61];\n});\nreturn require_src()})\n"); // // -static constexpr ASCIILiteral NodeReadlineCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/readline.ts\nvar stripVTControlCharacters = function(str) {\n return validateString(str, \"str\"), RegExpPrototypeSymbolReplace.@call(ansi, str, \"\");\n}, promisify = function(original) {\n if (validateFunction(original, \"original\"), original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n return validateFunction(fn, \"util.promisify.custom\"), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n }\n var argumentNames = original[kCustomPromisifyArgsSymbol];\n function fn(...args) {\n return new @Promise((resolve, reject) => {\n ArrayPrototypePush.@call(args, (err, ...values) => {\n if (err)\n return reject(err);\n if (argumentNames !== @undefined && values.length > 1) {\n var obj = {};\n for (var i2 = 0;i2 < argumentNames.length; i2++)\n obj[argumentNames[i2]] = values[i2];\n resolve(obj);\n } else\n resolve(values[0]);\n }), ReflectApply(original, this, args);\n });\n }\n ObjectSetPrototypeOf(fn, ObjectGetPrototypeOf(original)), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n var descriptors = ObjectGetOwnPropertyDescriptors(original), propertiesValues = ObjectValues(descriptors);\n for (var i = 0;i < propertiesValues.length; i++)\n ObjectSetPrototypeOf(propertiesValues[i], null);\n return ObjectDefineProperties(fn, descriptors);\n}, getNodeErrorByName = function(typeName) {\n var base = errorBases[typeName];\n if (base)\n return base;\n if (!ObjectKeys(VALID_NODE_ERROR_BASES).includes(typeName))\n throw new Error(\"Invalid NodeError type\");\n var Base = VALID_NODE_ERROR_BASES[typeName];\n\n class NodeError extends Base {\n [kIsNodeError] = !0;\n code;\n constructor(msg, opts) {\n super(msg, opts);\n this.code = opts\?.code || \"ERR_GENERIC\";\n }\n toString() {\n return `${this.name} [${this.code}]: ${this.message}`;\n }\n }\n return errorBases[typeName] = NodeError, NodeError;\n}, validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateArray = function(value, name, minLength = 0) {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n var reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar validateInteger = function(value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, validateUint32 = function(value, name, positive = !1) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n var min = positive \? 1 : 0, max = 4294967295;\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, CSI = function(strings, ...args) {\n var ret = `${kEscape}[`;\n for (var n = 0;n < strings.length; n++)\n if (ret += strings[n], n < args.length)\n ret += args[n];\n return ret;\n}, charLengthLeft = function(str, i) {\n if (i <= 0)\n return 0;\n if (i > 1 && StringPrototypeCodePointAt.@call(str, i - 2) >= kUTF16SurrogateThreshold || StringPrototypeCodePointAt.@call(str, i - 1) >= kUTF16SurrogateThreshold)\n return 2;\n return 1;\n}, charLengthAt = function(str, i) {\n if (str.length <= i)\n return 1;\n return StringPrototypeCodePointAt.@call(str, i) >= kUTF16SurrogateThreshold \? 2 : 1;\n};\nfunction* emitKeys(stream) {\n while (!0) {\n var ch = yield, s = ch, escaped = !1, keySeq = null, keyName, keyCtrl2 = !1, keyMeta = !1, keyShift = !1;\n if (ch === kEscape) {\n if (escaped = !0, s += ch = yield, ch === kEscape)\n s += ch = yield;\n }\n if (escaped && (ch === \"O\" || ch === \"[\")) {\n var code = ch, modifier = 0;\n if (ch === \"O\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n modifier = (ch >> 0) - 1, s += ch = yield;\n code += ch;\n } else if (ch === \"[\") {\n if (s += ch = yield, ch === \"[\")\n code += ch, s += ch = yield;\n var cmdStart = s.length - 1;\n if (ch >= \"0\" && ch <= \"9\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += ch = yield;\n }\n if (ch === \";\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += yield;\n }\n var cmd = StringPrototypeSlice.@call(s, cmdStart), match;\n if (match = RegExpPrototypeExec.@call(/^(\\d\\d\?)(;(\\d))\?([~^$])$/, cmd))\n code += match[1] + match[4], modifier = (match[3] || 1) - 1;\n else if (match = RegExpPrototypeExec.@call(/^((\\d;)\?(\\d))\?([A-Za-z])$/, cmd))\n code += match[4], modifier = (match[3] || 1) - 1;\n else\n code += cmd;\n }\n switch (keyCtrl2 = !!(modifier & 4), keyMeta = !!(modifier & 10), keyShift = !!(modifier & 1), code) {\n case \"[P\":\n keyName = \"f1\";\n break;\n case \"[Q\":\n keyName = \"f2\";\n break;\n case \"[R\":\n keyName = \"f3\";\n break;\n case \"[S\":\n keyName = \"f4\";\n break;\n case \"OP\":\n keyName = \"f1\";\n break;\n case \"OQ\":\n keyName = \"f2\";\n break;\n case \"OR\":\n keyName = \"f3\";\n break;\n case \"OS\":\n keyName = \"f4\";\n break;\n case \"[11~\":\n keyName = \"f1\";\n break;\n case \"[12~\":\n keyName = \"f2\";\n break;\n case \"[13~\":\n keyName = \"f3\";\n break;\n case \"[14~\":\n keyName = \"f4\";\n break;\n case \"[[A\":\n keyName = \"f1\";\n break;\n case \"[[B\":\n keyName = \"f2\";\n break;\n case \"[[C\":\n keyName = \"f3\";\n break;\n case \"[[D\":\n keyName = \"f4\";\n break;\n case \"[[E\":\n keyName = \"f5\";\n break;\n case \"[15~\":\n keyName = \"f5\";\n break;\n case \"[17~\":\n keyName = \"f6\";\n break;\n case \"[18~\":\n keyName = \"f7\";\n break;\n case \"[19~\":\n keyName = \"f8\";\n break;\n case \"[20~\":\n keyName = \"f9\";\n break;\n case \"[21~\":\n keyName = \"f10\";\n break;\n case \"[23~\":\n keyName = \"f11\";\n break;\n case \"[24~\":\n keyName = \"f12\";\n break;\n case \"[A\":\n keyName = \"up\";\n break;\n case \"[B\":\n keyName = \"down\";\n break;\n case \"[C\":\n keyName = \"right\";\n break;\n case \"[D\":\n keyName = \"left\";\n break;\n case \"[E\":\n keyName = \"clear\";\n break;\n case \"[F\":\n keyName = \"end\";\n break;\n case \"[H\":\n keyName = \"home\";\n break;\n case \"OA\":\n keyName = \"up\";\n break;\n case \"OB\":\n keyName = \"down\";\n break;\n case \"OC\":\n keyName = \"right\";\n break;\n case \"OD\":\n keyName = \"left\";\n break;\n case \"OE\":\n keyName = \"clear\";\n break;\n case \"OF\":\n keyName = \"end\";\n break;\n case \"OH\":\n keyName = \"home\";\n break;\n case \"[1~\":\n keyName = \"home\";\n break;\n case \"[2~\":\n keyName = \"insert\";\n break;\n case \"[3~\":\n keyName = \"delete\";\n break;\n case \"[4~\":\n keyName = \"end\";\n break;\n case \"[5~\":\n keyName = \"pageup\";\n break;\n case \"[6~\":\n keyName = \"pagedown\";\n break;\n case \"[[5~\":\n keyName = \"pageup\";\n break;\n case \"[[6~\":\n keyName = \"pagedown\";\n break;\n case \"[7~\":\n keyName = \"home\";\n break;\n case \"[8~\":\n keyName = \"end\";\n break;\n case \"[a\":\n keyName = \"up\", keyShift = !0;\n break;\n case \"[b\":\n keyName = \"down\", keyShift = !0;\n break;\n case \"[c\":\n keyName = \"right\", keyShift = !0;\n break;\n case \"[d\":\n keyName = \"left\", keyShift = !0;\n break;\n case \"[e\":\n keyName = \"clear\", keyShift = !0;\n break;\n case \"[2$\":\n keyName = \"insert\", keyShift = !0;\n break;\n case \"[3$\":\n keyName = \"delete\", keyShift = !0;\n break;\n case \"[5$\":\n keyName = \"pageup\", keyShift = !0;\n break;\n case \"[6$\":\n keyName = \"pagedown\", keyShift = !0;\n break;\n case \"[7$\":\n keyName = \"home\", keyShift = !0;\n break;\n case \"[8$\":\n keyName = \"end\", keyShift = !0;\n break;\n case \"Oa\":\n keyName = \"up\", keyCtrl2 = !0;\n break;\n case \"Ob\":\n keyName = \"down\", keyCtrl2 = !0;\n break;\n case \"Oc\":\n keyName = \"right\", keyCtrl2 = !0;\n break;\n case \"Od\":\n keyName = \"left\", keyCtrl2 = !0;\n break;\n case \"Oe\":\n keyName = \"clear\", keyCtrl2 = !0;\n break;\n case \"[2^\":\n keyName = \"insert\", keyCtrl2 = !0;\n break;\n case \"[3^\":\n keyName = \"delete\", keyCtrl2 = !0;\n break;\n case \"[5^\":\n keyName = \"pageup\", keyCtrl2 = !0;\n break;\n case \"[6^\":\n keyName = \"pagedown\", keyCtrl2 = !0;\n break;\n case \"[7^\":\n keyName = \"home\", keyCtrl2 = !0;\n break;\n case \"[8^\":\n keyName = \"end\", keyCtrl2 = !0;\n break;\n case \"[Z\":\n keyName = \"tab\", keyShift = !0;\n break;\n default:\n keyName = \"undefined\";\n break;\n }\n } else if (ch === \"\\r\")\n keyName = \"return\", keyMeta = escaped;\n else if (ch === \"\\n\")\n keyName = \"enter\", keyMeta = escaped;\n else if (ch === \"\\t\")\n keyName = \"tab\", keyMeta = escaped;\n else if (ch === \"\\b\" || ch === \"\\x7F\")\n keyName = \"backspace\", keyMeta = escaped;\n else if (ch === kEscape)\n keyName = \"escape\", keyMeta = escaped;\n else if (ch === \" \")\n keyName = \"space\", keyMeta = escaped;\n else if (!escaped && ch <= \"\\x1A\")\n keyName = StringFromCharCode(StringPrototypeCharCodeAt.@call(ch) + StringPrototypeCharCodeAt.@call(\"a\") - 1), keyCtrl2 = !0;\n else if (RegExpPrototypeExec.@call(/^[0-9A-Za-z]$/, ch) !== null)\n keyName = StringPrototypeToLowerCase.@call(ch), keyShift = RegExpPrototypeExec.@call(/^[A-Z]$/, ch) !== null, keyMeta = escaped;\n else if (escaped)\n keyName = ch.length \? @undefined : \"escape\", keyMeta = !0;\n else\n keyName = @undefined;\n if (keySeq = s, s.length !== 0 && (keyName !== @undefined || escaped))\n stream.emit(\"keypress\", escaped \? @undefined : s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n else if (charLengthAt(s, 0) === s.length)\n stream.emit(\"keypress\", s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n }\n}\nvar commonPrefix = function(strings) {\n if (strings.length === 0)\n return \"\";\n if (strings.length === 1)\n return strings[0];\n var sorted = ArrayPrototypeSort.@call(ArrayPrototypeSlice.@call(strings)), min = sorted[0], max = sorted[sorted.length - 1];\n for (var i = 0;i < min.length; i++)\n if (min[i] !== max[i])\n return StringPrototypeSlice.@call(min, 0, i);\n return min;\n}, cursorTo = function(stream, x, y, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (typeof y === \"function\")\n callback = y, y = @undefined;\n if (NumberIsNaN(x))\n throw new ERR_INVALID_ARG_VALUE(\"x\", x);\n if (NumberIsNaN(y))\n throw new ERR_INVALID_ARG_VALUE(\"y\", y);\n if (stream == null || typeof x !== \"number\" && typeof y !== \"number\") {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n if (typeof x !== \"number\")\n throw new ERR_INVALID_CURSOR_POS;\n var data = typeof y !== \"number\" \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n return stream.write(data, callback);\n}, moveCursor = function(stream, dx, dy, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream == null || !(dx || dy)) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n return stream.write(data, callback);\n}, clearLine = function(stream, dir, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var type = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n return stream.write(type, callback);\n}, clearScreenDown = function(stream, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n return stream.write(kClearScreenDown, callback);\n}, emitKeypressEvents = function(stream, iface = {}) {\n if (stream[KEYPRESS_DECODER])\n return;\n stream[KEYPRESS_DECODER] = new StringDecoder(\"utf8\"), stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next();\n var triggerEscape = () => stream[ESCAPE_DECODER].next(\"\"), { escapeCodeTimeout = ESCAPE_CODE_TIMEOUT } = iface, timeoutId;\n function onData(input) {\n if (stream.listenerCount(\"keypress\") > 0) {\n var string = stream[KEYPRESS_DECODER].write(input);\n if (string) {\n clearTimeout(timeoutId), iface[kSawKeyPress] = charLengthAt(string, 0) === string.length, iface.isCompletionEnabled = !1;\n var length = 0;\n for (var character of new SafeStringIterator(string)) {\n if (length += character.length, length === string.length)\n iface.isCompletionEnabled = !0;\n try {\n if (stream[ESCAPE_DECODER].next(character), length === string.length && character === kEscape)\n timeoutId = setTimeout(triggerEscape, escapeCodeTimeout);\n } catch (err) {\n throw stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next(), err;\n }\n }\n }\n } else\n stream.removeListener(\"data\", onData), stream.on(\"newListener\", onNewListener);\n }\n function onNewListener(event) {\n if (event === \"keypress\")\n stream.on(\"data\", onData), stream.removeListener(\"newListener\", onNewListener);\n }\n if (stream.listenerCount(\"keypress\") > 0)\n stream.on(\"data\", onData);\n else\n stream.on(\"newListener\", onNewListener);\n}, onSelfCloseWithTerminal = function() {\n var input = this.input, output = this.output;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n if (input.removeListener(\"keypress\", this[kOnKeyPress]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnTermEnd]), output !== null && output !== @undefined)\n output.removeListener(\"resize\", this[kOnResize]);\n}, onSelfCloseWithoutTerminal = function() {\n var input = this.input;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n input.removeListener(\"data\", this[kOnData]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnEnd]);\n}, onError = function(err) {\n this.emit(\"error\", err);\n}, onData = function(data) {\n debug(\"onData\"), this[kNormalWrite](data);\n}, onEnd = function() {\n if (debug(\"onEnd\"), typeof this[kLine_buffer] === \"string\" && this[kLine_buffer].length > 0)\n this.emit(\"line\", this[kLine_buffer]);\n this.close();\n}, onTermEnd = function() {\n if (debug(\"onTermEnd\"), typeof this.line === \"string\" && this.line.length > 0)\n this.emit(\"line\", this.line);\n this.close();\n}, onKeyPress = function(s, key) {\n if (this[kTtyWrite](s, key), key && key.sequence) {\n var ch = StringPrototypeCodePointAt.@call(key.sequence, 0);\n if (ch >= 55296 && ch <= 57343)\n this[kRefreshLine]();\n }\n}, onResize = function() {\n this[kRefreshLine]();\n}, InterfaceConstructor = function(input, output, completer, terminal) {\n if (!(this instanceof InterfaceConstructor))\n return new InterfaceConstructor(input, output, completer, terminal);\n EventEmitter.@call(this), this[kOnSelfCloseWithoutTerminal] = onSelfCloseWithoutTerminal.bind(this), this[kOnSelfCloseWithTerminal] = onSelfCloseWithTerminal.bind(this), this[kOnError] = onError.bind(this), this[kOnData] = onData.bind(this), this[kOnEnd] = onEnd.bind(this), this[kOnTermEnd] = onTermEnd.bind(this), this[kOnKeyPress] = onKeyPress.bind(this), this[kOnResize] = onResize.bind(this), this[kSawReturnAt] = 0, this.isCompletionEnabled = !0, this[kSawKeyPress] = !1, this[kPreviousKey] = null, this.escapeCodeTimeout = ESCAPE_CODE_TIMEOUT, this.tabSize = 8;\n var history, historySize, removeHistoryDuplicates = !1, crlfDelay, prompt = \"> \", signal;\n if (input\?.input) {\n output = input.output, completer = input.completer, terminal = input.terminal, history = input.history, historySize = input.historySize, signal = input.signal;\n var tabSize = input.tabSize;\n if (tabSize !== @undefined)\n validateUint32(tabSize, \"tabSize\", !0), this.tabSize = tabSize;\n removeHistoryDuplicates = input.removeHistoryDuplicates;\n var inputPrompt = input.prompt;\n if (inputPrompt !== @undefined)\n prompt = inputPrompt;\n var inputEscapeCodeTimeout = input.escapeCodeTimeout;\n if (inputEscapeCodeTimeout !== @undefined)\n if (NumberIsFinite(inputEscapeCodeTimeout))\n this.escapeCodeTimeout = inputEscapeCodeTimeout;\n else\n throw new ERR_INVALID_ARG_VALUE(\"input.escapeCodeTimeout\", this.escapeCodeTimeout);\n if (signal)\n validateAbortSignal(signal, \"options.signal\");\n crlfDelay = input.crlfDelay, input = input.input;\n }\n if (completer !== @undefined && typeof completer !== \"function\")\n throw new ERR_INVALID_ARG_VALUE(\"completer\", completer);\n if (history === @undefined)\n history = [];\n else\n validateArray(history, \"history\");\n if (historySize === @undefined)\n historySize = kHistorySize;\n if (typeof historySize !== \"number\" || NumberIsNaN(historySize) || historySize < 0)\n throw new ERR_INVALID_ARG_VALUE(\"historySize\", historySize);\n if (terminal === @undefined && !(output === null || output === @undefined))\n terminal = !!output.isTTY;\n if (this.line = \"\", this[kSubstringSearch] = null, this.output = output, this.input = input, this[kUndoStack] = [], this[kRedoStack] = [], this.history = history, this.historySize = historySize, this[kKillRing] = [], this[kKillRingCursor] = 0, this.removeHistoryDuplicates = !!removeHistoryDuplicates, this.crlfDelay = crlfDelay \? MathMax(kMincrlfDelay, crlfDelay) : kMincrlfDelay, this.completer = completer, this.setPrompt(prompt), this.terminal = !!terminal, this[kLineObjectStream] = @undefined, input.on(\"error\", this[kOnError]), !this.terminal)\n input.on(\"data\", this[kOnData]), input.on(\"end\", this[kOnEnd]), this.once(\"close\", this[kOnSelfCloseWithoutTerminal]), this[kDecoder] = new StringDecoder(\"utf8\");\n else {\n if (emitKeypressEvents(input, this), input.on(\"keypress\", this[kOnKeyPress]), input.on(\"end\", this[kOnTermEnd]), this[kSetRawMode](!0), this.terminal = !0, this.cursor = 0, this.historyIndex = -1, output !== null && output !== @undefined)\n output.on(\"resize\", this[kOnResize]);\n this.once(\"close\", this[kOnSelfCloseWithTerminal]);\n }\n if (signal) {\n var onAborted = (() => this.close()).bind(this);\n if (signal.aborted)\n process.nextTick(onAborted);\n else\n signal.addEventListener(\"abort\", onAborted, { once: !0 }), this.once(\"close\", () => signal.removeEventListener(\"abort\", onAborted));\n }\n this.line = \"\", input.resume();\n}, Interface = function(input, output, completer, terminal) {\n if (!(this instanceof Interface))\n return new Interface(input, output, completer, terminal);\n if (input\?.input && typeof input.completer === \"function\" && input.completer.length !== 2) {\n var { completer } = input;\n input.completer = (v, cb) => cb(null, completer(v));\n } else if (typeof completer === \"function\" && completer.length !== 2) {\n var realCompleter = completer;\n completer = (v, cb) => cb(null, realCompleter(v));\n }\n InterfaceConstructor.@call(this, input, output, completer, terminal);\n}, createInterface = function(input, output, completer, terminal) {\n return new Interface(input, output, completer, terminal);\n};\nvar $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { StringDecoder } = @requireNativeModule(\"string_decoder\"), isWritable, { inspect } = Bun, debug = process.env.BUN_JS_DEBUG \? console.log : () => {\n}, SymbolAsyncIterator = Symbol.asyncIterator, SymbolIterator = Symbol.iterator, SymbolFor = Symbol.for, SymbolReplace = Symbol.replace, ArrayFrom = @Array.from, ArrayIsArray = @Array.isArray, ArrayPrototypeFilter = @Array.prototype.filter, ArrayPrototypeSort = @Array.prototype.sort, ArrayPrototypeIndexOf = @Array.prototype.indexOf, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypePop = @Array.prototype.pop, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeSplice = @Array.prototype.splice, ArrayPrototypeReverse = @Array.prototype.reverse, ArrayPrototypeShift = @Array.prototype.shift, ArrayPrototypeUnshift = @Array.prototype.unshift, RegExpPrototypeExec = @RegExp.prototype.exec, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, StringPrototypeCodePointAt = @String.prototype.codePointAt, StringPrototypeSlice = @String.prototype.slice, StringPrototypeToLowerCase = @String.prototype.toLowerCase, StringPrototypeEndsWith = @String.prototype.endsWith, StringPrototypeRepeat = @String.prototype.repeat, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeTrim = @String.prototype.trim, StringPrototypeNormalize = @String.prototype.normalize, NumberIsNaN = Number.isNaN, NumberIsFinite = Number.isFinite, NumberIsInteger = Number.isInteger, NumberMAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER, NumberMIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER, MathCeil = Math.ceil, MathFloor = Math.floor, MathMax = Math.max, DateNow = Date.now, FunctionPrototype = Function.prototype, StringPrototype = @String.prototype, StringPrototypeSymbolIterator = StringPrototype[SymbolIterator], StringIteratorPrototypeNext = StringPrototypeSymbolIterator.@call(\"\").next, ObjectSetPrototypeOf = Object.setPrototypeOf, ObjectDefineProperty = Object.defineProperty, ObjectDefineProperties = Object.defineProperties, ObjectFreeze = Object.freeze;\nvar { create: ObjectCreate, keys: ObjectKeys } = Object;\nvar createSafeIterator = (factory, next) => {\n class SafeIterator {\n #iterator;\n constructor(iterable) {\n this.#iterator = factory.@call(iterable);\n }\n next() {\n return next.@call(this.#iterator);\n }\n [SymbolIterator]() {\n return this;\n }\n }\n return ObjectSetPrototypeOf(SafeIterator.prototype, null), ObjectFreeze(SafeIterator.prototype), ObjectFreeze(SafeIterator), SafeIterator;\n}, SafeStringIterator = createSafeIterator(StringPrototypeSymbolIterator, StringIteratorPrototypeNext), isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n}, isZeroWidthCodePoint = (code) => {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, getStringWidth = function getStringWidth2(str, removeControlChars = !0) {\n var width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize.@call(str, \"NFC\");\n for (var char of new SafeStringIterator(str)) {\n var code = StringPrototypeCodePointAt.@call(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n}, ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new @RegExp(ansiPattern, \"g\"), kCustomPromisifiedSymbol = SymbolFor(\"nodejs.util.promisify.custom\"), kCustomPromisifyArgsSymbol = Symbol(\"customPromisifyArgs\");\npromisify.custom = kCustomPromisifiedSymbol;\nvar kUTF16SurrogateThreshold = 65536, kEscape = \"\\x1B\", kSubstringSearch = Symbol(\"kSubstringSearch\"), kIsNodeError = Symbol(\"kIsNodeError\"), errorBases = {}, VALID_NODE_ERROR_BASES = {\n TypeError,\n RangeError,\n Error\n}, NodeError = getNodeErrorByName(\"Error\"), NodeTypeError = getNodeErrorByName(\"TypeError\"), NodeRangeError = getNodeErrorByName(\"RangeError\");\n\nclass ERR_INVALID_ARG_TYPE extends NodeTypeError {\n constructor(name, type, value) {\n super(`The \"${name}\" argument must be of type ${type}. Received type ${typeof value}`, {\n code: \"ERR_INVALID_ARG_TYPE\"\n });\n }\n}\n\nclass ERR_INVALID_ARG_VALUE extends NodeTypeError {\n constructor(name, value, reason = \"not specified\") {\n super(`The value \"${@String(value)}\" is invalid for argument '${name}'. Reason: ${reason}`, {\n code: \"ERR_INVALID_ARG_VALUE\"\n });\n }\n}\n\nclass ERR_INVALID_CURSOR_POS extends NodeTypeError {\n constructor() {\n super(\"Cannot set cursor row without setting its column\", {\n code: \"ERR_INVALID_CURSOR_POS\"\n });\n }\n}\n\nclass ERR_OUT_OF_RANGE extends NodeRangeError {\n constructor(name, range, received) {\n super(`The value of \"${name}\" is out of range. It must be ${range}. Received ${received}`, {\n code: \"ERR_OUT_OF_RANGE\"\n });\n }\n}\n\nclass ERR_USE_AFTER_CLOSE extends NodeError {\n constructor() {\n super(\"This socket has been ended by the other party\", {\n code: \"ERR_USE_AFTER_CLOSE\"\n });\n }\n}\n\nclass AbortError extends Error {\n code;\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\nvar kClearLine, kClearScreenDown, kClearToLineBeginning, kClearToLineEnd;\nCSI.kEscape = kEscape;\nCSI.kClearLine = kClearLine = CSI`2K`;\nCSI.kClearScreenDown = kClearScreenDown = CSI`0J`;\nCSI.kClearToLineBeginning = kClearToLineBeginning = CSI`1K`;\nCSI.kClearToLineEnd = kClearToLineEnd = CSI`0K`;\nvar KEYPRESS_DECODER = Symbol(\"keypress-decoder\"), ESCAPE_DECODER = Symbol(\"escape-decoder\"), ESCAPE_CODE_TIMEOUT = 500, kEmptyObject = ObjectFreeze(ObjectCreate(null)), kHistorySize = 30, kMaxUndoRedoStackSize = 2048, kMincrlfDelay = 100, lineEnding = /\\r\?\\n|\\r(\?!\\n)/g, kMaxLengthOfKillRing = 32, kLineObjectStream = Symbol(\"line object stream\"), kQuestionCancel = Symbol(\"kQuestionCancel\"), kQuestion = Symbol(\"kQuestion\"), kAddHistory = Symbol(\"_addHistory\"), kBeforeEdit = Symbol(\"_beforeEdit\"), kDecoder = Symbol(\"_decoder\"), kDeleteLeft = Symbol(\"_deleteLeft\"), kDeleteLineLeft = Symbol(\"_deleteLineLeft\"), kDeleteLineRight = Symbol(\"_deleteLineRight\"), kDeleteRight = Symbol(\"_deleteRight\"), kDeleteWordLeft = Symbol(\"_deleteWordLeft\"), kDeleteWordRight = Symbol(\"_deleteWordRight\"), kGetDisplayPos = Symbol(\"_getDisplayPos\"), kHistoryNext = Symbol(\"_historyNext\"), kHistoryPrev = Symbol(\"_historyPrev\"), kInsertString = Symbol(\"_insertString\"), kLine = Symbol(\"_line\"), kLine_buffer = Symbol(\"_line_buffer\"), kKillRing = Symbol(\"_killRing\"), kKillRingCursor = Symbol(\"_killRingCursor\"), kMoveCursor = Symbol(\"_moveCursor\"), kNormalWrite = Symbol(\"_normalWrite\"), kOldPrompt = Symbol(\"_oldPrompt\"), kOnLine = Symbol(\"_onLine\"), kPreviousKey = Symbol(\"_previousKey\"), kPrompt = Symbol(\"_prompt\"), kPushToKillRing = Symbol(\"_pushToKillRing\"), kPushToUndoStack = Symbol(\"_pushToUndoStack\"), kQuestionCallback = Symbol(\"_questionCallback\"), kRedo = Symbol(\"_redo\"), kRedoStack = Symbol(\"_redoStack\"), kRefreshLine = Symbol(\"_refreshLine\"), kSawKeyPress = Symbol(\"_sawKeyPress\"), kSawReturnAt = Symbol(\"_sawReturnAt\"), kSetRawMode = Symbol(\"_setRawMode\"), kTabComplete = Symbol(\"_tabComplete\"), kTabCompleter = Symbol(\"_tabCompleter\"), kTtyWrite = Symbol(\"_ttyWrite\"), kUndo = Symbol(\"_undo\"), kUndoStack = Symbol(\"_undoStack\"), kWordLeft = Symbol(\"_wordLeft\"), kWordRight = Symbol(\"_wordRight\"), kWriteToOutput = Symbol(\"_writeToOutput\"), kYank = Symbol(\"_yank\"), kYanking = Symbol(\"_yanking\"), kYankPop = Symbol(\"_yankPop\"), kFirstEventParam = Symbol(\"nodejs.kFirstEventParam\"), kOnSelfCloseWithTerminal = Symbol(\"_onSelfCloseWithTerminal\"), kOnSelfCloseWithoutTerminal = Symbol(\"_onSelfCloseWithoutTerminal\"), kOnKeyPress = Symbol(\"_onKeyPress\"), kOnError = Symbol(\"_onError\"), kOnData = Symbol(\"_onData\"), kOnEnd = Symbol(\"_onEnd\"), kOnTermEnd = Symbol(\"_onTermEnd\"), kOnResize = Symbol(\"_onResize\");\nInterfaceConstructor.prototype = {};\nObjectSetPrototypeOf(InterfaceConstructor.prototype, EventEmitter.prototype);\nvar _Interface = class Interface2 extends InterfaceConstructor {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n get columns() {\n var output = this.output;\n if (output && output.columns)\n return output.columns;\n return @Infinity;\n }\n setPrompt(prompt) {\n this[kPrompt] = prompt;\n }\n getPrompt() {\n return this[kPrompt];\n }\n [kSetRawMode](flag) {\n const mode = flag + 0, wasInRawMode = this.input.isRaw;\n var setRawMode = this.input.setRawMode;\n if (typeof setRawMode === \"function\")\n setRawMode.@call(this.input, mode);\n return wasInRawMode;\n }\n prompt(preserveCursor) {\n if (this.paused)\n this.resume();\n if (this.terminal) {\n if (!preserveCursor)\n this.cursor = 0;\n this[kRefreshLine]();\n } else\n this[kWriteToOutput](this[kPrompt]);\n }\n [kQuestion](query, cb) {\n if (this.closed)\n throw new ERR_USE_AFTER_CLOSE(\"readline\");\n if (this[kQuestionCallback])\n this.prompt();\n else\n this[kOldPrompt] = this[kPrompt], this.setPrompt(query), this[kQuestionCallback] = cb, this.prompt();\n }\n [kOnLine](line) {\n if (this[kQuestionCallback]) {\n var cb = this[kQuestionCallback];\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), cb(line);\n } else\n this.emit(\"line\", line);\n }\n [kBeforeEdit](oldText, oldCursor) {\n this[kPushToUndoStack](oldText, oldCursor);\n }\n [kQuestionCancel]() {\n if (this[kQuestionCallback])\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), this.clearLine();\n }\n [kWriteToOutput](stringToWrite) {\n if (validateString(stringToWrite, \"stringToWrite\"), this.output !== null && this.output !== @undefined)\n this.output.write(stringToWrite);\n }\n [kAddHistory]() {\n if (this.line.length === 0)\n return \"\";\n if (this.historySize === 0)\n return this.line;\n if (StringPrototypeTrim.@call(this.line).length === 0)\n return this.line;\n if (this.history.length === 0 || this.history[0] !== this.line) {\n if (this.removeHistoryDuplicates) {\n var dupIndex = ArrayPrototypeIndexOf.@call(this.history, this.line);\n if (dupIndex !== -1)\n ArrayPrototypeSplice.@call(this.history, dupIndex, 1);\n }\n if (ArrayPrototypeUnshift.@call(this.history, this.line), this.history.length > this.historySize)\n ArrayPrototypePop.@call(this.history);\n }\n this.historyIndex = -1;\n var line = this.history[0];\n return this.emit(\"history\", this.history), line;\n }\n [kRefreshLine]() {\n var line = this[kPrompt] + this.line, dispPos = this[kGetDisplayPos](line), lineCols = dispPos.cols, lineRows = dispPos.rows, cursorPos = this.getCursorPos(), prevRows = this.prevRows || 0;\n if (prevRows > 0)\n moveCursor(this.output, 0, -prevRows);\n if (cursorTo(this.output, 0), clearScreenDown(this.output), this[kWriteToOutput](line), lineCols === 0)\n this[kWriteToOutput](\" \");\n cursorTo(this.output, cursorPos.cols);\n var diff = lineRows - cursorPos.rows;\n if (diff > 0)\n moveCursor(this.output, 0, -diff);\n this.prevRows = cursorPos.rows;\n }\n close() {\n if (this.closed)\n return;\n if (this.pause(), this.terminal)\n this[kSetRawMode](!1);\n this.closed = !0, this.emit(\"close\");\n }\n pause() {\n if (this.paused)\n return;\n return this.input.pause(), this.paused = !0, this.emit(\"pause\"), this;\n }\n resume() {\n if (!this.paused)\n return;\n return this.input.resume(), this.paused = !1, this.emit(\"resume\"), this;\n }\n write(d, key) {\n if (this.paused)\n this.resume();\n if (this.terminal)\n this[kTtyWrite](d, key);\n else\n this[kNormalWrite](d);\n }\n [kNormalWrite](b) {\n if (b === @undefined)\n return;\n var string = this[kDecoder].write(b);\n if (this[kSawReturnAt] && DateNow() - this[kSawReturnAt] <= this.crlfDelay) {\n if (StringPrototypeCodePointAt.@call(string) === 10)\n string = StringPrototypeSlice.@call(string, 1);\n this[kSawReturnAt] = 0;\n }\n var newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n if (newPartContainsEnding !== null) {\n if (this[kLine_buffer])\n string = this[kLine_buffer] + string, this[kLine_buffer] = null, newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n this[kSawReturnAt] = StringPrototypeEndsWith.@call(string, \"\\r\") \? DateNow() : 0;\n var indexes = [0, newPartContainsEnding.index, lineEnding.lastIndex], nextMatch;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, string)) !== null)\n ArrayPrototypePush.@call(indexes, nextMatch.index, lineEnding.lastIndex);\n var lastIndex = indexes.length - 1;\n this[kLine_buffer] = StringPrototypeSlice.@call(string, indexes[lastIndex]);\n for (var i = 1;i < lastIndex; i += 2)\n this[kOnLine](StringPrototypeSlice.@call(string, indexes[i - 1], indexes[i]));\n } else if (string)\n if (this[kLine_buffer])\n this[kLine_buffer] += string;\n else\n this[kLine_buffer] = string;\n }\n [kInsertString](c) {\n if (this[kBeforeEdit](this.line, this.cursor), this.cursor < this.line.length) {\n var beg = StringPrototypeSlice.@call(this.line, 0, this.cursor), end = StringPrototypeSlice.@call(this.line, this.cursor, this.line.length);\n this.line = beg + c + end, this.cursor += c.length, this[kRefreshLine]();\n } else {\n var oldPos = this.getCursorPos();\n this.line += c, this.cursor += c.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows < newPos.rows)\n this[kRefreshLine]();\n else\n this[kWriteToOutput](c);\n }\n }\n async[kTabComplete](lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor), value;\n try {\n value = await this.completer(string);\n } catch (err) {\n this[kWriteToOutput](`Tab completion error: ${inspect(err)}`);\n return;\n } finally {\n this.resume();\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n }\n [kTabCompleter](lastKeypressWasTab, { 0: completions, 1: completeOn }) {\n if (!completions || completions.length === 0)\n return;\n var prefix = commonPrefix(ArrayPrototypeFilter.@call(completions, (e) => e !== \"\"));\n if (StringPrototypeStartsWith.@call(prefix, completeOn) && prefix.length > completeOn.length) {\n this[kInsertString](StringPrototypeSlice.@call(prefix, completeOn.length));\n return;\n } else if (!StringPrototypeStartsWith.@call(completeOn, prefix)) {\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - completeOn.length) + prefix + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = this.cursor - completeOn.length + prefix.length, this._refreshLine();\n return;\n }\n if (!lastKeypressWasTab)\n return;\n this[kBeforeEdit](this.line, this.cursor);\n var completionsWidth = ArrayPrototypeMap.@call(completions, (e) => getStringWidth(e)), width = MathMax.@apply(completionsWidth) + 2, maxColumns = MathFloor(this.columns / width) || 1;\n if (maxColumns === @Infinity)\n maxColumns = 1;\n var output = \"\\r\\n\", lineIndex = 0, whitespace = 0;\n for (var i = 0;i < completions.length; i++) {\n var completion = completions[i];\n if (completion === \"\" || lineIndex === maxColumns)\n output += \"\\r\\n\", lineIndex = 0, whitespace = 0;\n else\n output += StringPrototypeRepeat.@call(\" \", whitespace);\n if (completion !== \"\")\n output += completion, whitespace = width - completionsWidth[i], lineIndex++;\n else\n output += \"\\r\\n\";\n }\n if (lineIndex !== 0)\n output += \"\\r\\n\\r\\n\";\n this[kWriteToOutput](output), this[kRefreshLine]();\n }\n [kWordLeft]() {\n if (this.cursor > 0) {\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n this[kMoveCursor](-match[0].length);\n }\n }\n [kWordRight]() {\n if (this.cursor < this.line.length) {\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|[^\\w\\s]+|\\w+)\\s*/, trailing);\n this[kMoveCursor](match[0].length);\n }\n }\n [kDeleteLeft]() {\n if (this.cursor > 0 && this.line.length > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthLeft(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - charSize) + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor -= charSize, this[kRefreshLine]();\n }\n }\n [kDeleteRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthAt(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(this.line, this.cursor + charSize, this.line.length), this[kRefreshLine]();\n }\n }\n [kDeleteWordLeft]() {\n if (this.cursor > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n leading = StringPrototypeSlice.@call(leading, 0, leading.length - match[0].length), this.line = leading + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = leading.length, this[kRefreshLine]();\n }\n }\n [kDeleteWordRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|\\W+|\\w+)\\s*/, trailing);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(trailing, match[0].length), this[kRefreshLine]();\n }\n }\n [kDeleteLineLeft]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, this.cursor), this.cursor = 0, this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kDeleteLineRight]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor), this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kPushToKillRing](del) {\n if (!del || del === this[kKillRing][0])\n return;\n ArrayPrototypeUnshift.@call(this[kKillRing], del), this[kKillRingCursor] = 0;\n while (this[kKillRing].length > kMaxLengthOfKillRing)\n ArrayPrototypePop.@call(this[kKillRing]);\n }\n [kYank]() {\n if (this[kKillRing].length > 0)\n this[kYanking] = !0, this[kInsertString](this[kKillRing][this[kKillRingCursor]]);\n }\n [kYankPop]() {\n if (!this[kYanking])\n return;\n if (this[kKillRing].length > 1) {\n var lastYank = this[kKillRing][this[kKillRingCursor]];\n if (this[kKillRingCursor]++, this[kKillRingCursor] >= this[kKillRing].length)\n this[kKillRingCursor] = 0;\n var currentYank = this[kKillRing][this[kKillRingCursor]], head = StringPrototypeSlice.@call(this.line, 0, this.cursor - lastYank.length), tail = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = head + currentYank + tail, this.cursor = head.length + currentYank.length, this[kRefreshLine]();\n }\n }\n clearLine() {\n this[kMoveCursor](+@Infinity), this[kWriteToOutput](\"\\r\\n\"), this.line = \"\", this.cursor = 0, this.prevRows = 0;\n }\n [kLine]() {\n var line = this[kAddHistory]();\n this[kUndoStack] = [], this[kRedoStack] = [], this.clearLine(), this[kOnLine](line);\n }\n [kPushToUndoStack](text, cursor) {\n if (ArrayPrototypePush.@call(this[kUndoStack], { text, cursor }) > kMaxUndoRedoStackSize)\n ArrayPrototypeShift.@call(this[kUndoStack]);\n }\n [kUndo]() {\n if (this[kUndoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kRedoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kUndoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kRedo]() {\n if (this[kRedoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kUndoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kRedoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kHistoryNext]() {\n if (this.historyIndex >= 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex - 1;\n while (index >= 0 && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index--;\n if (index === -1)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kHistoryPrev]() {\n if (this.historyIndex < this.history.length && this.history.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex + 1;\n while (index < this.history.length && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index++;\n if (index === this.history.length)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kGetDisplayPos](str) {\n var offset = 0, col = this.columns, rows = 0;\n str = stripVTControlCharacters(str);\n for (var char of new SafeStringIterator(str)) {\n if (char === \"\\n\") {\n rows += MathCeil(offset / col) || 1, offset = 0;\n continue;\n }\n if (char === \"\\t\") {\n offset += this.tabSize - offset % this.tabSize;\n continue;\n }\n var width = getStringWidth(char, !1);\n if (width === 0 || width === 1)\n offset += width;\n else {\n if ((offset + 1) % col === 0)\n offset++;\n offset += 2;\n }\n }\n var cols = offset % col;\n return rows += (offset - cols) / col, { cols, rows };\n }\n getCursorPos() {\n var strBeforeCursor = this[kPrompt] + StringPrototypeSlice.@call(this.line, 0, this.cursor);\n return this[kGetDisplayPos](strBeforeCursor);\n }\n [kMoveCursor](dx) {\n if (dx === 0)\n return;\n var oldPos = this.getCursorPos();\n if (this.cursor += dx, this.cursor < 0)\n this.cursor = 0;\n else if (this.cursor > this.line.length)\n this.cursor = this.line.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows === newPos.rows) {\n var diffWidth = newPos.cols - oldPos.cols;\n moveCursor(this.output, diffWidth, 0);\n } else\n this[kRefreshLine]();\n }\n [kTtyWrite](s, key) {\n var previousKey = this[kPreviousKey];\n key = key || kEmptyObject, this[kPreviousKey] = key;\n var { name: keyName, meta: keyMeta, ctrl: keyCtrl2, shift: keyShift, sequence: keySeq } = key;\n if (!keyMeta || keyName !== \"y\")\n this[kYanking] = !1;\n if ((keyName === \"up\" || keyName === \"down\") && !keyCtrl2 && !keyMeta && !keyShift) {\n if (this[kSubstringSearch] === null)\n this[kSubstringSearch] = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n } else if (this[kSubstringSearch] !== null) {\n if (this[kSubstringSearch] = null, this.history.length === this.historyIndex)\n this.historyIndex = -1;\n }\n if (typeof keySeq === \"string\")\n switch (StringPrototypeCodePointAt.@call(keySeq, 0)) {\n case 31:\n this[kUndo]();\n return;\n case 30:\n this[kRedo]();\n return;\n default:\n break;\n }\n if (keyName === \"escape\")\n return;\n if (keyCtrl2 && keyShift)\n switch (keyName) {\n case \"backspace\":\n this[kDeleteLineLeft]();\n break;\n case \"delete\":\n this[kDeleteLineRight]();\n break;\n }\n else if (keyCtrl2)\n switch (keyName) {\n case \"c\":\n if (this.listenerCount(\"SIGINT\") > 0)\n this.emit(\"SIGINT\");\n else\n this.close();\n break;\n case \"h\":\n this[kDeleteLeft]();\n break;\n case \"d\":\n if (this.cursor === 0 && this.line.length === 0)\n this.close();\n else if (this.cursor < this.line.length)\n this[kDeleteRight]();\n break;\n case \"u\":\n this[kDeleteLineLeft]();\n break;\n case \"k\":\n this[kDeleteLineRight]();\n break;\n case \"a\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"e\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"b\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"f\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"l\":\n cursorTo(this.output, 0, 0), clearScreenDown(this.output), this[kRefreshLine]();\n break;\n case \"n\":\n this[kHistoryNext]();\n break;\n case \"p\":\n this[kHistoryPrev]();\n break;\n case \"y\":\n this[kYank]();\n break;\n case \"z\":\n break;\n case \"w\":\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"left\":\n this[kWordLeft]();\n break;\n case \"right\":\n this[kWordRight]();\n break;\n }\n else if (keyMeta)\n switch (keyName) {\n case \"b\":\n this[kWordLeft]();\n break;\n case \"f\":\n this[kWordRight]();\n break;\n case \"d\":\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"y\":\n this[kYankPop]();\n break;\n }\n else {\n if (this[kSawReturnAt] && keyName !== \"enter\")\n this[kSawReturnAt] = 0;\n switch (keyName) {\n case \"return\":\n this[kSawReturnAt] = DateNow(), this[kLine]();\n break;\n case \"enter\":\n if (this[kSawReturnAt] === 0 || DateNow() - this[kSawReturnAt] > this.crlfDelay)\n this[kLine]();\n this[kSawReturnAt] = 0;\n break;\n case \"backspace\":\n this[kDeleteLeft]();\n break;\n case \"delete\":\n this[kDeleteRight]();\n break;\n case \"left\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"right\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"home\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"end\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"up\":\n this[kHistoryPrev]();\n break;\n case \"down\":\n this[kHistoryNext]();\n break;\n case \"tab\":\n if (typeof this.completer === \"function\" && this.isCompletionEnabled) {\n var lastKeypressWasTab = previousKey && previousKey.name === \"tab\";\n this[kTabComplete](lastKeypressWasTab);\n break;\n }\n default:\n if (typeof s === \"string\" && s) {\n var nextMatch = RegExpPrototypeExec.@call(lineEnding, s);\n if (nextMatch !== null) {\n this[kInsertString](StringPrototypeSlice.@call(s, 0, nextMatch.index));\n var { lastIndex } = lineEnding;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, s)) !== null)\n this[kLine](), this[kInsertString](StringPrototypeSlice.@call(s, lastIndex, nextMatch.index)), { lastIndex } = lineEnding;\n if (lastIndex === s.length)\n this[kLine]();\n } else\n this[kInsertString](s);\n }\n }\n }\n }\n [SymbolAsyncIterator]() {\n if (this[kLineObjectStream] === @undefined)\n this[kLineObjectStream] = EventEmitter.on(this, \"line\", {\n close: [\"close\"],\n highWatermark: 1024,\n [kFirstEventParam]: !0\n });\n return this[kLineObjectStream];\n }\n};\nInterface.prototype = {};\nObjectSetPrototypeOf(Interface.prototype, _Interface.prototype);\nObjectSetPrototypeOf(Interface, _Interface);\nInterface.prototype.question = function question(query, options, cb) {\n if (cb = typeof options === \"function\" \? options : cb, options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return;\n var onAbort = () => {\n this[kQuestionCancel]();\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 });\n var cleanup = () => {\n signal.removeEventListener(\"abort\", onAbort);\n }, originalCb = cb;\n cb = typeof cb === \"function\" \? (answer) => {\n return cleanup(), originalCb(answer);\n } : cleanup;\n }\n if (typeof cb === \"function\")\n this[kQuestion](query, cb);\n};\nInterface.prototype.question[promisify.custom] = function question2(query, options) {\n if (options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal && signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (signal) {\n var onAbort = () => {\n reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this.question(query, options, cb);\n });\n};\nObjectDefineProperties(Interface.prototype, {\n [kSetRawMode]: {\n __proto__: null,\n get() {\n return this._setRawMode;\n }\n },\n [kOnLine]: {\n __proto__: null,\n get() {\n return this._onLine;\n }\n },\n [kWriteToOutput]: {\n __proto__: null,\n get() {\n return this._writeToOutput;\n }\n },\n [kAddHistory]: {\n __proto__: null,\n get() {\n return this._addHistory;\n }\n },\n [kRefreshLine]: {\n __proto__: null,\n get() {\n return this._refreshLine;\n }\n },\n [kNormalWrite]: {\n __proto__: null,\n get() {\n return this._normalWrite;\n }\n },\n [kInsertString]: {\n __proto__: null,\n get() {\n return this._insertString;\n }\n },\n [kTabComplete]: {\n __proto__: null,\n get() {\n return this._tabComplete;\n }\n },\n [kWordLeft]: {\n __proto__: null,\n get() {\n return this._wordLeft;\n }\n },\n [kWordRight]: {\n __proto__: null,\n get() {\n return this._wordRight;\n }\n },\n [kDeleteLeft]: {\n __proto__: null,\n get() {\n return this._deleteLeft;\n }\n },\n [kDeleteRight]: {\n __proto__: null,\n get() {\n return this._deleteRight;\n }\n },\n [kDeleteWordLeft]: {\n __proto__: null,\n get() {\n return this._deleteWordLeft;\n }\n },\n [kDeleteWordRight]: {\n __proto__: null,\n get() {\n return this._deleteWordRight;\n }\n },\n [kDeleteLineLeft]: {\n __proto__: null,\n get() {\n return this._deleteLineLeft;\n }\n },\n [kDeleteLineRight]: {\n __proto__: null,\n get() {\n return this._deleteLineRight;\n }\n },\n [kLine]: {\n __proto__: null,\n get() {\n return this._line;\n }\n },\n [kHistoryNext]: {\n __proto__: null,\n get() {\n return this._historyNext;\n }\n },\n [kHistoryPrev]: {\n __proto__: null,\n get() {\n return this._historyPrev;\n }\n },\n [kGetDisplayPos]: {\n __proto__: null,\n get() {\n return this._getDisplayPos;\n }\n },\n [kMoveCursor]: {\n __proto__: null,\n get() {\n return this._moveCursor;\n }\n },\n [kTtyWrite]: {\n __proto__: null,\n get() {\n return this._ttyWrite;\n }\n },\n _decoder: {\n __proto__: null,\n get() {\n return this[kDecoder];\n },\n set(value) {\n this[kDecoder] = value;\n }\n },\n _line_buffer: {\n __proto__: null,\n get() {\n return this[kLine_buffer];\n },\n set(value) {\n this[kLine_buffer] = value;\n }\n },\n _oldPrompt: {\n __proto__: null,\n get() {\n return this[kOldPrompt];\n },\n set(value) {\n this[kOldPrompt] = value;\n }\n },\n _previousKey: {\n __proto__: null,\n get() {\n return this[kPreviousKey];\n },\n set(value) {\n this[kPreviousKey] = value;\n }\n },\n _prompt: {\n __proto__: null,\n get() {\n return this[kPrompt];\n },\n set(value) {\n this[kPrompt] = value;\n }\n },\n _questionCallback: {\n __proto__: null,\n get() {\n return this[kQuestionCallback];\n },\n set(value) {\n this[kQuestionCallback] = value;\n }\n },\n _sawKeyPress: {\n __proto__: null,\n get() {\n return this[kSawKeyPress];\n },\n set(value) {\n this[kSawKeyPress] = value;\n }\n },\n _sawReturnAt: {\n __proto__: null,\n get() {\n return this[kSawReturnAt];\n },\n set(value) {\n this[kSawReturnAt] = value;\n }\n }\n});\nInterface.prototype._setRawMode = _Interface.prototype[kSetRawMode];\nInterface.prototype._onLine = _Interface.prototype[kOnLine];\nInterface.prototype._writeToOutput = _Interface.prototype[kWriteToOutput];\nInterface.prototype._addHistory = _Interface.prototype[kAddHistory];\nInterface.prototype._refreshLine = _Interface.prototype[kRefreshLine];\nInterface.prototype._normalWrite = _Interface.prototype[kNormalWrite];\nInterface.prototype._insertString = _Interface.prototype[kInsertString];\nInterface.prototype._tabComplete = function(lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.completer(string, (err, value) => {\n if (this.resume(), err) {\n this._writeToOutput(`Tab completion error: ${inspect(err)}`);\n return;\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n });\n};\nInterface.prototype._wordLeft = _Interface.prototype[kWordLeft];\nInterface.prototype._wordRight = _Interface.prototype[kWordRight];\nInterface.prototype._deleteLeft = _Interface.prototype[kDeleteLeft];\nInterface.prototype._deleteRight = _Interface.prototype[kDeleteRight];\nInterface.prototype._deleteWordLeft = _Interface.prototype[kDeleteWordLeft];\nInterface.prototype._deleteWordRight = _Interface.prototype[kDeleteWordRight];\nInterface.prototype._deleteLineLeft = _Interface.prototype[kDeleteLineLeft];\nInterface.prototype._deleteLineRight = _Interface.prototype[kDeleteLineRight];\nInterface.prototype._line = _Interface.prototype[kLine];\nInterface.prototype._historyNext = _Interface.prototype[kHistoryNext];\nInterface.prototype._historyPrev = _Interface.prototype[kHistoryPrev];\nInterface.prototype._getDisplayPos = _Interface.prototype[kGetDisplayPos];\nInterface.prototype._getCursorPos = _Interface.prototype.getCursorPos;\nInterface.prototype._moveCursor = _Interface.prototype[kMoveCursor];\nInterface.prototype._ttyWrite = _Interface.prototype[kTtyWrite];\n\nclass Readline {\n #autoCommit = !1;\n #stream;\n #todo = [];\n constructor(stream, options = @undefined) {\n if (isWritable \?\?= (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).isWritable, !isWritable(stream))\n throw new ERR_INVALID_ARG_TYPE(\"stream\", \"Writable\", stream);\n if (this.#stream = stream, options\?.autoCommit != null)\n validateBoolean(options.autoCommit, \"options.autoCommit\"), this.#autoCommit = options.autoCommit;\n }\n cursorTo(x, y = @undefined) {\n if (validateInteger(x, \"x\"), y != null)\n validateInteger(y, \"y\");\n var data = y == null \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n moveCursor(dx, dy) {\n if (dx || dy) {\n validateInteger(dx, \"dx\"), validateInteger(dy, \"dy\");\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n }\n return this;\n }\n clearLine(dir) {\n validateInteger(dir, \"dir\", -1, 1);\n var data = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n clearScreenDown() {\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(kClearScreenDown));\n else\n ArrayPrototypePush.@call(this.#todo, kClearScreenDown);\n return this;\n }\n commit() {\n return new @Promise((resolve) => {\n this.#stream.write(ArrayPrototypeJoin.@call(this.#todo, \"\"), resolve), this.#todo = [];\n });\n }\n rollback() {\n return this.#todo = [], this;\n }\n}\nvar PromisesInterface = class Interface3 extends _Interface {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n question(query, options = kEmptyObject) {\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n }\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (options\?.signal) {\n var onAbort = () => {\n this[kQuestionCancel](), reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this[kQuestion](query, cb);\n });\n }\n};\n$ = {\n Interface,\n clearLine,\n clearScreenDown,\n createInterface,\n cursorTo,\n emitKeypressEvents,\n moveCursor,\n promises: {\n Readline,\n Interface: PromisesInterface,\n createInterface(input, output, completer, terminal) {\n return new PromisesInterface(input, output, completer, terminal);\n }\n },\n [SymbolFor(\"__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__\")]: {\n CSI,\n utils: {\n getStringWidth,\n stripVTControlCharacters\n }\n }\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeReadlineCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/readline.ts\nvar stripVTControlCharacters = function(str) {\n return validateString(str, \"str\"), RegExpPrototypeSymbolReplace.@call(ansi, str, \"\");\n}, promisify = function(original) {\n if (validateFunction(original, \"original\"), original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n return validateFunction(fn, \"util.promisify.custom\"), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n }\n var argumentNames = original[kCustomPromisifyArgsSymbol];\n function fn(...args) {\n return new @Promise((resolve, reject) => {\n ArrayPrototypePush.@call(args, (err, ...values) => {\n if (err)\n return reject(err);\n if (argumentNames !== @undefined && values.length > 1) {\n var obj = {};\n for (var i2 = 0;i2 < argumentNames.length; i2++)\n obj[argumentNames[i2]] = values[i2];\n resolve(obj);\n } else\n resolve(values[0]);\n }), ReflectApply(original, this, args);\n });\n }\n ObjectSetPrototypeOf(fn, ObjectGetPrototypeOf(original)), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n var descriptors = ObjectGetOwnPropertyDescriptors(original), propertiesValues = ObjectValues(descriptors);\n for (var i = 0;i < propertiesValues.length; i++)\n ObjectSetPrototypeOf(propertiesValues[i], null);\n return ObjectDefineProperties(fn, descriptors);\n}, getNodeErrorByName = function(typeName) {\n var base = errorBases[typeName];\n if (base)\n return base;\n if (!ObjectKeys(VALID_NODE_ERROR_BASES).includes(typeName))\n throw new Error(\"Invalid NodeError type\");\n var Base = VALID_NODE_ERROR_BASES[typeName];\n\n class NodeError extends Base {\n [kIsNodeError] = !0;\n code;\n constructor(msg, opts) {\n super(msg, opts);\n this.code = opts\?.code || \"ERR_GENERIC\";\n }\n toString() {\n return `${this.name} [${this.code}]: ${this.message}`;\n }\n }\n return errorBases[typeName] = NodeError, NodeError;\n}, validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateArray = function(value, name, minLength = 0) {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n var reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar validateInteger = function(value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, validateUint32 = function(value, name, positive = !1) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n var min = positive \? 1 : 0, max = 4294967295;\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, CSI = function(strings, ...args) {\n var ret = `${kEscape}[`;\n for (var n = 0;n < strings.length; n++)\n if (ret += strings[n], n < args.length)\n ret += args[n];\n return ret;\n}, charLengthLeft = function(str, i) {\n if (i <= 0)\n return 0;\n if (i > 1 && StringPrototypeCodePointAt.@call(str, i - 2) >= kUTF16SurrogateThreshold || StringPrototypeCodePointAt.@call(str, i - 1) >= kUTF16SurrogateThreshold)\n return 2;\n return 1;\n}, charLengthAt = function(str, i) {\n if (str.length <= i)\n return 1;\n return StringPrototypeCodePointAt.@call(str, i) >= kUTF16SurrogateThreshold \? 2 : 1;\n};\nfunction* emitKeys(stream) {\n while (!0) {\n var ch = yield, s = ch, escaped = !1, keySeq = null, keyName, keyCtrl2 = !1, keyMeta = !1, keyShift = !1;\n if (ch === kEscape) {\n if (escaped = !0, s += ch = yield, ch === kEscape)\n s += ch = yield;\n }\n if (escaped && (ch === \"O\" || ch === \"[\")) {\n var code = ch, modifier = 0;\n if (ch === \"O\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n modifier = (ch >> 0) - 1, s += ch = yield;\n code += ch;\n } else if (ch === \"[\") {\n if (s += ch = yield, ch === \"[\")\n code += ch, s += ch = yield;\n var cmdStart = s.length - 1;\n if (ch >= \"0\" && ch <= \"9\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += ch = yield;\n }\n if (ch === \";\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += yield;\n }\n var cmd = StringPrototypeSlice.@call(s, cmdStart), match;\n if (match = RegExpPrototypeExec.@call(/^(\\d\\d\?)(;(\\d))\?([~^$])$/, cmd))\n code += match[1] + match[4], modifier = (match[3] || 1) - 1;\n else if (match = RegExpPrototypeExec.@call(/^((\\d;)\?(\\d))\?([A-Za-z])$/, cmd))\n code += match[4], modifier = (match[3] || 1) - 1;\n else\n code += cmd;\n }\n switch (keyCtrl2 = !!(modifier & 4), keyMeta = !!(modifier & 10), keyShift = !!(modifier & 1), code) {\n case \"[P\":\n keyName = \"f1\";\n break;\n case \"[Q\":\n keyName = \"f2\";\n break;\n case \"[R\":\n keyName = \"f3\";\n break;\n case \"[S\":\n keyName = \"f4\";\n break;\n case \"OP\":\n keyName = \"f1\";\n break;\n case \"OQ\":\n keyName = \"f2\";\n break;\n case \"OR\":\n keyName = \"f3\";\n break;\n case \"OS\":\n keyName = \"f4\";\n break;\n case \"[11~\":\n keyName = \"f1\";\n break;\n case \"[12~\":\n keyName = \"f2\";\n break;\n case \"[13~\":\n keyName = \"f3\";\n break;\n case \"[14~\":\n keyName = \"f4\";\n break;\n case \"[[A\":\n keyName = \"f1\";\n break;\n case \"[[B\":\n keyName = \"f2\";\n break;\n case \"[[C\":\n keyName = \"f3\";\n break;\n case \"[[D\":\n keyName = \"f4\";\n break;\n case \"[[E\":\n keyName = \"f5\";\n break;\n case \"[15~\":\n keyName = \"f5\";\n break;\n case \"[17~\":\n keyName = \"f6\";\n break;\n case \"[18~\":\n keyName = \"f7\";\n break;\n case \"[19~\":\n keyName = \"f8\";\n break;\n case \"[20~\":\n keyName = \"f9\";\n break;\n case \"[21~\":\n keyName = \"f10\";\n break;\n case \"[23~\":\n keyName = \"f11\";\n break;\n case \"[24~\":\n keyName = \"f12\";\n break;\n case \"[A\":\n keyName = \"up\";\n break;\n case \"[B\":\n keyName = \"down\";\n break;\n case \"[C\":\n keyName = \"right\";\n break;\n case \"[D\":\n keyName = \"left\";\n break;\n case \"[E\":\n keyName = \"clear\";\n break;\n case \"[F\":\n keyName = \"end\";\n break;\n case \"[H\":\n keyName = \"home\";\n break;\n case \"OA\":\n keyName = \"up\";\n break;\n case \"OB\":\n keyName = \"down\";\n break;\n case \"OC\":\n keyName = \"right\";\n break;\n case \"OD\":\n keyName = \"left\";\n break;\n case \"OE\":\n keyName = \"clear\";\n break;\n case \"OF\":\n keyName = \"end\";\n break;\n case \"OH\":\n keyName = \"home\";\n break;\n case \"[1~\":\n keyName = \"home\";\n break;\n case \"[2~\":\n keyName = \"insert\";\n break;\n case \"[3~\":\n keyName = \"delete\";\n break;\n case \"[4~\":\n keyName = \"end\";\n break;\n case \"[5~\":\n keyName = \"pageup\";\n break;\n case \"[6~\":\n keyName = \"pagedown\";\n break;\n case \"[[5~\":\n keyName = \"pageup\";\n break;\n case \"[[6~\":\n keyName = \"pagedown\";\n break;\n case \"[7~\":\n keyName = \"home\";\n break;\n case \"[8~\":\n keyName = \"end\";\n break;\n case \"[a\":\n keyName = \"up\", keyShift = !0;\n break;\n case \"[b\":\n keyName = \"down\", keyShift = !0;\n break;\n case \"[c\":\n keyName = \"right\", keyShift = !0;\n break;\n case \"[d\":\n keyName = \"left\", keyShift = !0;\n break;\n case \"[e\":\n keyName = \"clear\", keyShift = !0;\n break;\n case \"[2$\":\n keyName = \"insert\", keyShift = !0;\n break;\n case \"[3$\":\n keyName = \"delete\", keyShift = !0;\n break;\n case \"[5$\":\n keyName = \"pageup\", keyShift = !0;\n break;\n case \"[6$\":\n keyName = \"pagedown\", keyShift = !0;\n break;\n case \"[7$\":\n keyName = \"home\", keyShift = !0;\n break;\n case \"[8$\":\n keyName = \"end\", keyShift = !0;\n break;\n case \"Oa\":\n keyName = \"up\", keyCtrl2 = !0;\n break;\n case \"Ob\":\n keyName = \"down\", keyCtrl2 = !0;\n break;\n case \"Oc\":\n keyName = \"right\", keyCtrl2 = !0;\n break;\n case \"Od\":\n keyName = \"left\", keyCtrl2 = !0;\n break;\n case \"Oe\":\n keyName = \"clear\", keyCtrl2 = !0;\n break;\n case \"[2^\":\n keyName = \"insert\", keyCtrl2 = !0;\n break;\n case \"[3^\":\n keyName = \"delete\", keyCtrl2 = !0;\n break;\n case \"[5^\":\n keyName = \"pageup\", keyCtrl2 = !0;\n break;\n case \"[6^\":\n keyName = \"pagedown\", keyCtrl2 = !0;\n break;\n case \"[7^\":\n keyName = \"home\", keyCtrl2 = !0;\n break;\n case \"[8^\":\n keyName = \"end\", keyCtrl2 = !0;\n break;\n case \"[Z\":\n keyName = \"tab\", keyShift = !0;\n break;\n default:\n keyName = \"undefined\";\n break;\n }\n } else if (ch === \"\\r\")\n keyName = \"return\", keyMeta = escaped;\n else if (ch === \"\\n\")\n keyName = \"enter\", keyMeta = escaped;\n else if (ch === \"\\t\")\n keyName = \"tab\", keyMeta = escaped;\n else if (ch === \"\\b\" || ch === \"\\x7F\")\n keyName = \"backspace\", keyMeta = escaped;\n else if (ch === kEscape)\n keyName = \"escape\", keyMeta = escaped;\n else if (ch === \" \")\n keyName = \"space\", keyMeta = escaped;\n else if (!escaped && ch <= \"\\x1A\")\n keyName = StringFromCharCode(StringPrototypeCharCodeAt.@call(ch) + StringPrototypeCharCodeAt.@call(\"a\") - 1), keyCtrl2 = !0;\n else if (RegExpPrototypeExec.@call(/^[0-9A-Za-z]$/, ch) !== null)\n keyName = StringPrototypeToLowerCase.@call(ch), keyShift = RegExpPrototypeExec.@call(/^[A-Z]$/, ch) !== null, keyMeta = escaped;\n else if (escaped)\n keyName = ch.length \? @undefined : \"escape\", keyMeta = !0;\n else\n keyName = @undefined;\n if (keySeq = s, s.length !== 0 && (keyName !== @undefined || escaped))\n stream.emit(\"keypress\", escaped \? @undefined : s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n else if (charLengthAt(s, 0) === s.length)\n stream.emit(\"keypress\", s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n }\n}\nvar commonPrefix = function(strings) {\n if (strings.length === 0)\n return \"\";\n if (strings.length === 1)\n return strings[0];\n var sorted = ArrayPrototypeSort.@call(ArrayPrototypeSlice.@call(strings)), min = sorted[0], max = sorted[sorted.length - 1];\n for (var i = 0;i < min.length; i++)\n if (min[i] !== max[i])\n return StringPrototypeSlice.@call(min, 0, i);\n return min;\n}, cursorTo = function(stream, x, y, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (typeof y === \"function\")\n callback = y, y = @undefined;\n if (NumberIsNaN(x))\n throw new ERR_INVALID_ARG_VALUE(\"x\", x);\n if (NumberIsNaN(y))\n throw new ERR_INVALID_ARG_VALUE(\"y\", y);\n if (stream == null || typeof x !== \"number\" && typeof y !== \"number\") {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n if (typeof x !== \"number\")\n throw new ERR_INVALID_CURSOR_POS;\n var data = typeof y !== \"number\" \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n return stream.write(data, callback);\n}, moveCursor = function(stream, dx, dy, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream == null || !(dx || dy)) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n return stream.write(data, callback);\n}, clearLine = function(stream, dir, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var type = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n return stream.write(type, callback);\n}, clearScreenDown = function(stream, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n return stream.write(kClearScreenDown, callback);\n}, emitKeypressEvents = function(stream, iface = {}) {\n if (stream[KEYPRESS_DECODER])\n return;\n stream[KEYPRESS_DECODER] = new StringDecoder(\"utf8\"), stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next();\n var triggerEscape = () => stream[ESCAPE_DECODER].next(\"\"), { escapeCodeTimeout = ESCAPE_CODE_TIMEOUT } = iface, timeoutId;\n function onData(input) {\n if (stream.listenerCount(\"keypress\") > 0) {\n var string = stream[KEYPRESS_DECODER].write(input);\n if (string) {\n clearTimeout(timeoutId), iface[kSawKeyPress] = charLengthAt(string, 0) === string.length, iface.isCompletionEnabled = !1;\n var length = 0;\n for (var character of new SafeStringIterator(string)) {\n if (length += character.length, length === string.length)\n iface.isCompletionEnabled = !0;\n try {\n if (stream[ESCAPE_DECODER].next(character), length === string.length && character === kEscape)\n timeoutId = setTimeout(triggerEscape, escapeCodeTimeout);\n } catch (err) {\n throw stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next(), err;\n }\n }\n }\n } else\n stream.removeListener(\"data\", onData), stream.on(\"newListener\", onNewListener);\n }\n function onNewListener(event) {\n if (event === \"keypress\")\n stream.on(\"data\", onData), stream.removeListener(\"newListener\", onNewListener);\n }\n if (stream.listenerCount(\"keypress\") > 0)\n stream.on(\"data\", onData);\n else\n stream.on(\"newListener\", onNewListener);\n}, onSelfCloseWithTerminal = function() {\n var input = this.input, output = this.output;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n if (input.removeListener(\"keypress\", this[kOnKeyPress]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnTermEnd]), output !== null && output !== @undefined)\n output.removeListener(\"resize\", this[kOnResize]);\n}, onSelfCloseWithoutTerminal = function() {\n var input = this.input;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n input.removeListener(\"data\", this[kOnData]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnEnd]);\n}, onError = function(err) {\n this.emit(\"error\", err);\n}, onData = function(data) {\n debug(\"onData\"), this[kNormalWrite](data);\n}, onEnd = function() {\n if (debug(\"onEnd\"), typeof this[kLine_buffer] === \"string\" && this[kLine_buffer].length > 0)\n this.emit(\"line\", this[kLine_buffer]);\n this.close();\n}, onTermEnd = function() {\n if (debug(\"onTermEnd\"), typeof this.line === \"string\" && this.line.length > 0)\n this.emit(\"line\", this.line);\n this.close();\n}, onKeyPress = function(s, key) {\n if (this[kTtyWrite](s, key), key && key.sequence) {\n var ch = StringPrototypeCodePointAt.@call(key.sequence, 0);\n if (ch >= 55296 && ch <= 57343)\n this[kRefreshLine]();\n }\n}, onResize = function() {\n this[kRefreshLine]();\n}, InterfaceConstructor = function(input, output, completer, terminal) {\n if (!(this instanceof InterfaceConstructor))\n return new InterfaceConstructor(input, output, completer, terminal);\n EventEmitter.@call(this), this[kOnSelfCloseWithoutTerminal] = onSelfCloseWithoutTerminal.bind(this), this[kOnSelfCloseWithTerminal] = onSelfCloseWithTerminal.bind(this), this[kOnError] = onError.bind(this), this[kOnData] = onData.bind(this), this[kOnEnd] = onEnd.bind(this), this[kOnTermEnd] = onTermEnd.bind(this), this[kOnKeyPress] = onKeyPress.bind(this), this[kOnResize] = onResize.bind(this), this[kSawReturnAt] = 0, this.isCompletionEnabled = !0, this[kSawKeyPress] = !1, this[kPreviousKey] = null, this.escapeCodeTimeout = ESCAPE_CODE_TIMEOUT, this.tabSize = 8;\n var history, historySize, removeHistoryDuplicates = !1, crlfDelay, prompt = \"> \", signal;\n if (input\?.input) {\n output = input.output, completer = input.completer, terminal = input.terminal, history = input.history, historySize = input.historySize, signal = input.signal;\n var tabSize = input.tabSize;\n if (tabSize !== @undefined)\n validateUint32(tabSize, \"tabSize\", !0), this.tabSize = tabSize;\n removeHistoryDuplicates = input.removeHistoryDuplicates;\n var inputPrompt = input.prompt;\n if (inputPrompt !== @undefined)\n prompt = inputPrompt;\n var inputEscapeCodeTimeout = input.escapeCodeTimeout;\n if (inputEscapeCodeTimeout !== @undefined)\n if (NumberIsFinite(inputEscapeCodeTimeout))\n this.escapeCodeTimeout = inputEscapeCodeTimeout;\n else\n throw new ERR_INVALID_ARG_VALUE(\"input.escapeCodeTimeout\", this.escapeCodeTimeout);\n if (signal)\n validateAbortSignal(signal, \"options.signal\");\n crlfDelay = input.crlfDelay, input = input.input;\n }\n if (completer !== @undefined && typeof completer !== \"function\")\n throw new ERR_INVALID_ARG_VALUE(\"completer\", completer);\n if (history === @undefined)\n history = [];\n else\n validateArray(history, \"history\");\n if (historySize === @undefined)\n historySize = kHistorySize;\n if (typeof historySize !== \"number\" || NumberIsNaN(historySize) || historySize < 0)\n throw new ERR_INVALID_ARG_VALUE(\"historySize\", historySize);\n if (terminal === @undefined && !(output === null || output === @undefined))\n terminal = !!output.isTTY;\n if (this.line = \"\", this[kSubstringSearch] = null, this.output = output, this.input = input, this[kUndoStack] = [], this[kRedoStack] = [], this.history = history, this.historySize = historySize, this[kKillRing] = [], this[kKillRingCursor] = 0, this.removeHistoryDuplicates = !!removeHistoryDuplicates, this.crlfDelay = crlfDelay \? MathMax(kMincrlfDelay, crlfDelay) : kMincrlfDelay, this.completer = completer, this.setPrompt(prompt), this.terminal = !!terminal, this[kLineObjectStream] = @undefined, input.on(\"error\", this[kOnError]), !this.terminal)\n input.on(\"data\", this[kOnData]), input.on(\"end\", this[kOnEnd]), this.once(\"close\", this[kOnSelfCloseWithoutTerminal]), this[kDecoder] = new StringDecoder(\"utf8\");\n else {\n if (emitKeypressEvents(input, this), input.on(\"keypress\", this[kOnKeyPress]), input.on(\"end\", this[kOnTermEnd]), this[kSetRawMode](!0), this.terminal = !0, this.cursor = 0, this.historyIndex = -1, output !== null && output !== @undefined)\n output.on(\"resize\", this[kOnResize]);\n this.once(\"close\", this[kOnSelfCloseWithTerminal]);\n }\n if (signal) {\n var onAborted = (() => this.close()).bind(this);\n if (signal.aborted)\n process.nextTick(onAborted);\n else\n signal.addEventListener(\"abort\", onAborted, { once: !0 }), this.once(\"close\", () => signal.removeEventListener(\"abort\", onAborted));\n }\n this.line = \"\", input.resume();\n}, Interface = function(input, output, completer, terminal) {\n if (!(this instanceof Interface))\n return new Interface(input, output, completer, terminal);\n if (input\?.input && typeof input.completer === \"function\" && input.completer.length !== 2) {\n var { completer } = input;\n input.completer = (v, cb) => cb(null, completer(v));\n } else if (typeof completer === \"function\" && completer.length !== 2) {\n var realCompleter = completer;\n completer = (v, cb) => cb(null, realCompleter(v));\n }\n InterfaceConstructor.@call(this, input, output, completer, terminal);\n}, createInterface = function(input, output, completer, terminal) {\n return new Interface(input, output, completer, terminal);\n};\nvar $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { StringDecoder } = @requireNativeModule(\"string_decoder\"), isWritable, { inspect } = Bun, debug = process.env.BUN_JS_DEBUG \? console.log : () => {\n}, SymbolAsyncIterator = Symbol.asyncIterator, SymbolIterator = Symbol.iterator, SymbolFor = Symbol.for, SymbolReplace = Symbol.replace, ArrayFrom = @Array.from, ArrayIsArray = @Array.isArray, ArrayPrototypeFilter = @Array.prototype.filter, ArrayPrototypeSort = @Array.prototype.sort, ArrayPrototypeIndexOf = @Array.prototype.indexOf, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypePop = @Array.prototype.pop, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeSplice = @Array.prototype.splice, ArrayPrototypeReverse = @Array.prototype.reverse, ArrayPrototypeShift = @Array.prototype.shift, ArrayPrototypeUnshift = @Array.prototype.unshift, RegExpPrototypeExec = @RegExp.prototype.exec, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, StringPrototypeCodePointAt = @String.prototype.codePointAt, StringPrototypeSlice = @String.prototype.slice, StringPrototypeToLowerCase = @String.prototype.toLowerCase, StringPrototypeEndsWith = @String.prototype.endsWith, StringPrototypeRepeat = @String.prototype.repeat, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeTrim = @String.prototype.trim, StringPrototypeNormalize = @String.prototype.normalize, NumberIsNaN = Number.isNaN, NumberIsFinite = Number.isFinite, NumberIsInteger = Number.isInteger, NumberMAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER, NumberMIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER, MathCeil = Math.ceil, MathFloor = Math.floor, MathMax = Math.max, DateNow = Date.now, FunctionPrototype = Function.prototype, StringPrototype = @String.prototype, StringPrototypeSymbolIterator = StringPrototype[SymbolIterator], StringIteratorPrototypeNext = StringPrototypeSymbolIterator.@call(\"\").next, ObjectSetPrototypeOf = Object.setPrototypeOf, ObjectDefineProperty = Object.defineProperty, ObjectDefineProperties = Object.defineProperties, ObjectFreeze = Object.freeze;\nvar { create: ObjectCreate, keys: ObjectKeys } = Object;\nvar createSafeIterator = (factory, next) => {\n class SafeIterator {\n #iterator;\n constructor(iterable) {\n this.#iterator = factory.@call(iterable);\n }\n next() {\n return next.@call(this.#iterator);\n }\n [SymbolIterator]() {\n return this;\n }\n }\n return ObjectSetPrototypeOf(SafeIterator.prototype, null), ObjectFreeze(SafeIterator.prototype), ObjectFreeze(SafeIterator), SafeIterator;\n}, SafeStringIterator = createSafeIterator(StringPrototypeSymbolIterator, StringIteratorPrototypeNext), isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n}, isZeroWidthCodePoint = (code) => {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, getStringWidth = function getStringWidth2(str, removeControlChars = !0) {\n var width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize.@call(str, \"NFC\");\n for (var char of new SafeStringIterator(str)) {\n var code = StringPrototypeCodePointAt.@call(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n}, ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new @RegExp(ansiPattern, \"g\"), kCustomPromisifiedSymbol = SymbolFor(\"nodejs.util.promisify.custom\"), kCustomPromisifyArgsSymbol = Symbol(\"customPromisifyArgs\");\npromisify.custom = kCustomPromisifiedSymbol;\nvar kUTF16SurrogateThreshold = 65536, kEscape = \"\\x1B\", kSubstringSearch = Symbol(\"kSubstringSearch\"), kIsNodeError = Symbol(\"kIsNodeError\"), errorBases = {}, VALID_NODE_ERROR_BASES = {\n TypeError,\n RangeError,\n Error\n}, NodeError = getNodeErrorByName(\"Error\"), NodeTypeError = getNodeErrorByName(\"TypeError\"), NodeRangeError = getNodeErrorByName(\"RangeError\");\n\nclass ERR_INVALID_ARG_TYPE extends NodeTypeError {\n constructor(name, type, value) {\n super(`The \"${name}\" argument must be of type ${type}. Received type ${typeof value}`, {\n code: \"ERR_INVALID_ARG_TYPE\"\n });\n }\n}\n\nclass ERR_INVALID_ARG_VALUE extends NodeTypeError {\n constructor(name, value, reason = \"not specified\") {\n super(`The value \"${@String(value)}\" is invalid for argument '${name}'. Reason: ${reason}`, {\n code: \"ERR_INVALID_ARG_VALUE\"\n });\n }\n}\n\nclass ERR_INVALID_CURSOR_POS extends NodeTypeError {\n constructor() {\n super(\"Cannot set cursor row without setting its column\", {\n code: \"ERR_INVALID_CURSOR_POS\"\n });\n }\n}\n\nclass ERR_OUT_OF_RANGE extends NodeRangeError {\n constructor(name, range, received) {\n super(`The value of \"${name}\" is out of range. It must be ${range}. Received ${received}`, {\n code: \"ERR_OUT_OF_RANGE\"\n });\n }\n}\n\nclass ERR_USE_AFTER_CLOSE extends NodeError {\n constructor() {\n super(\"This socket has been ended by the other party\", {\n code: \"ERR_USE_AFTER_CLOSE\"\n });\n }\n}\n\nclass AbortError extends Error {\n code;\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\nvar kClearLine, kClearScreenDown, kClearToLineBeginning, kClearToLineEnd;\nCSI.kEscape = kEscape;\nCSI.kClearLine = kClearLine = CSI`2K`;\nCSI.kClearScreenDown = kClearScreenDown = CSI`0J`;\nCSI.kClearToLineBeginning = kClearToLineBeginning = CSI`1K`;\nCSI.kClearToLineEnd = kClearToLineEnd = CSI`0K`;\nvar KEYPRESS_DECODER = Symbol(\"keypress-decoder\"), ESCAPE_DECODER = Symbol(\"escape-decoder\"), ESCAPE_CODE_TIMEOUT = 500, kEmptyObject = ObjectFreeze(ObjectCreate(null)), kHistorySize = 30, kMaxUndoRedoStackSize = 2048, kMincrlfDelay = 100, lineEnding = /\\r\?\\n|\\r(\?!\\n)/g, kMaxLengthOfKillRing = 32, kLineObjectStream = Symbol(\"line object stream\"), kQuestionCancel = Symbol(\"kQuestionCancel\"), kQuestion = Symbol(\"kQuestion\"), kAddHistory = Symbol(\"_addHistory\"), kBeforeEdit = Symbol(\"_beforeEdit\"), kDecoder = Symbol(\"_decoder\"), kDeleteLeft = Symbol(\"_deleteLeft\"), kDeleteLineLeft = Symbol(\"_deleteLineLeft\"), kDeleteLineRight = Symbol(\"_deleteLineRight\"), kDeleteRight = Symbol(\"_deleteRight\"), kDeleteWordLeft = Symbol(\"_deleteWordLeft\"), kDeleteWordRight = Symbol(\"_deleteWordRight\"), kGetDisplayPos = Symbol(\"_getDisplayPos\"), kHistoryNext = Symbol(\"_historyNext\"), kHistoryPrev = Symbol(\"_historyPrev\"), kInsertString = Symbol(\"_insertString\"), kLine = Symbol(\"_line\"), kLine_buffer = Symbol(\"_line_buffer\"), kKillRing = Symbol(\"_killRing\"), kKillRingCursor = Symbol(\"_killRingCursor\"), kMoveCursor = Symbol(\"_moveCursor\"), kNormalWrite = Symbol(\"_normalWrite\"), kOldPrompt = Symbol(\"_oldPrompt\"), kOnLine = Symbol(\"_onLine\"), kPreviousKey = Symbol(\"_previousKey\"), kPrompt = Symbol(\"_prompt\"), kPushToKillRing = Symbol(\"_pushToKillRing\"), kPushToUndoStack = Symbol(\"_pushToUndoStack\"), kQuestionCallback = Symbol(\"_questionCallback\"), kRedo = Symbol(\"_redo\"), kRedoStack = Symbol(\"_redoStack\"), kRefreshLine = Symbol(\"_refreshLine\"), kSawKeyPress = Symbol(\"_sawKeyPress\"), kSawReturnAt = Symbol(\"_sawReturnAt\"), kSetRawMode = Symbol(\"_setRawMode\"), kTabComplete = Symbol(\"_tabComplete\"), kTabCompleter = Symbol(\"_tabCompleter\"), kTtyWrite = Symbol(\"_ttyWrite\"), kUndo = Symbol(\"_undo\"), kUndoStack = Symbol(\"_undoStack\"), kWordLeft = Symbol(\"_wordLeft\"), kWordRight = Symbol(\"_wordRight\"), kWriteToOutput = Symbol(\"_writeToOutput\"), kYank = Symbol(\"_yank\"), kYanking = Symbol(\"_yanking\"), kYankPop = Symbol(\"_yankPop\"), kFirstEventParam = Symbol(\"nodejs.kFirstEventParam\"), kOnSelfCloseWithTerminal = Symbol(\"_onSelfCloseWithTerminal\"), kOnSelfCloseWithoutTerminal = Symbol(\"_onSelfCloseWithoutTerminal\"), kOnKeyPress = Symbol(\"_onKeyPress\"), kOnError = Symbol(\"_onError\"), kOnData = Symbol(\"_onData\"), kOnEnd = Symbol(\"_onEnd\"), kOnTermEnd = Symbol(\"_onTermEnd\"), kOnResize = Symbol(\"_onResize\");\nInterfaceConstructor.prototype = {};\nObjectSetPrototypeOf(InterfaceConstructor.prototype, EventEmitter.prototype);\nvar _Interface = class Interface2 extends InterfaceConstructor {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n get columns() {\n var output = this.output;\n if (output && output.columns)\n return output.columns;\n return @Infinity;\n }\n setPrompt(prompt) {\n this[kPrompt] = prompt;\n }\n getPrompt() {\n return this[kPrompt];\n }\n [kSetRawMode](flag) {\n const mode = flag + 0, wasInRawMode = this.input.isRaw;\n var setRawMode = this.input.setRawMode;\n if (typeof setRawMode === \"function\")\n setRawMode.@call(this.input, mode);\n return wasInRawMode;\n }\n prompt(preserveCursor) {\n if (this.paused)\n this.resume();\n if (this.terminal) {\n if (!preserveCursor)\n this.cursor = 0;\n this[kRefreshLine]();\n } else\n this[kWriteToOutput](this[kPrompt]);\n }\n [kQuestion](query, cb) {\n if (this.closed)\n throw new ERR_USE_AFTER_CLOSE(\"readline\");\n if (this[kQuestionCallback])\n this.prompt();\n else\n this[kOldPrompt] = this[kPrompt], this.setPrompt(query), this[kQuestionCallback] = cb, this.prompt();\n }\n [kOnLine](line) {\n if (this[kQuestionCallback]) {\n var cb = this[kQuestionCallback];\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), cb(line);\n } else\n this.emit(\"line\", line);\n }\n [kBeforeEdit](oldText, oldCursor) {\n this[kPushToUndoStack](oldText, oldCursor);\n }\n [kQuestionCancel]() {\n if (this[kQuestionCallback])\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), this.clearLine();\n }\n [kWriteToOutput](stringToWrite) {\n if (validateString(stringToWrite, \"stringToWrite\"), this.output !== null && this.output !== @undefined)\n this.output.write(stringToWrite);\n }\n [kAddHistory]() {\n if (this.line.length === 0)\n return \"\";\n if (this.historySize === 0)\n return this.line;\n if (StringPrototypeTrim.@call(this.line).length === 0)\n return this.line;\n if (this.history.length === 0 || this.history[0] !== this.line) {\n if (this.removeHistoryDuplicates) {\n var dupIndex = ArrayPrototypeIndexOf.@call(this.history, this.line);\n if (dupIndex !== -1)\n ArrayPrototypeSplice.@call(this.history, dupIndex, 1);\n }\n if (ArrayPrototypeUnshift.@call(this.history, this.line), this.history.length > this.historySize)\n ArrayPrototypePop.@call(this.history);\n }\n this.historyIndex = -1;\n var line = this.history[0];\n return this.emit(\"history\", this.history), line;\n }\n [kRefreshLine]() {\n var line = this[kPrompt] + this.line, dispPos = this[kGetDisplayPos](line), lineCols = dispPos.cols, lineRows = dispPos.rows, cursorPos = this.getCursorPos(), prevRows = this.prevRows || 0;\n if (prevRows > 0)\n moveCursor(this.output, 0, -prevRows);\n if (cursorTo(this.output, 0), clearScreenDown(this.output), this[kWriteToOutput](line), lineCols === 0)\n this[kWriteToOutput](\" \");\n cursorTo(this.output, cursorPos.cols);\n var diff = lineRows - cursorPos.rows;\n if (diff > 0)\n moveCursor(this.output, 0, -diff);\n this.prevRows = cursorPos.rows;\n }\n close() {\n if (this.closed)\n return;\n if (this.pause(), this.terminal)\n this[kSetRawMode](!1);\n this.closed = !0, this.emit(\"close\");\n }\n pause() {\n if (this.paused)\n return;\n return this.input.pause(), this.paused = !0, this.emit(\"pause\"), this;\n }\n resume() {\n if (!this.paused)\n return;\n return this.input.resume(), this.paused = !1, this.emit(\"resume\"), this;\n }\n write(d, key) {\n if (this.paused)\n this.resume();\n if (this.terminal)\n this[kTtyWrite](d, key);\n else\n this[kNormalWrite](d);\n }\n [kNormalWrite](b) {\n if (b === @undefined)\n return;\n var string = this[kDecoder].write(b);\n if (this[kSawReturnAt] && DateNow() - this[kSawReturnAt] <= this.crlfDelay) {\n if (StringPrototypeCodePointAt.@call(string) === 10)\n string = StringPrototypeSlice.@call(string, 1);\n this[kSawReturnAt] = 0;\n }\n var newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n if (newPartContainsEnding !== null) {\n if (this[kLine_buffer])\n string = this[kLine_buffer] + string, this[kLine_buffer] = null, newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n this[kSawReturnAt] = StringPrototypeEndsWith.@call(string, \"\\r\") \? DateNow() : 0;\n var indexes = [0, newPartContainsEnding.index, lineEnding.lastIndex], nextMatch;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, string)) !== null)\n ArrayPrototypePush.@call(indexes, nextMatch.index, lineEnding.lastIndex);\n var lastIndex = indexes.length - 1;\n this[kLine_buffer] = StringPrototypeSlice.@call(string, indexes[lastIndex]);\n for (var i = 1;i < lastIndex; i += 2)\n this[kOnLine](StringPrototypeSlice.@call(string, indexes[i - 1], indexes[i]));\n } else if (string)\n if (this[kLine_buffer])\n this[kLine_buffer] += string;\n else\n this[kLine_buffer] = string;\n }\n [kInsertString](c) {\n if (this[kBeforeEdit](this.line, this.cursor), this.cursor < this.line.length) {\n var beg = StringPrototypeSlice.@call(this.line, 0, this.cursor), end = StringPrototypeSlice.@call(this.line, this.cursor, this.line.length);\n this.line = beg + c + end, this.cursor += c.length, this[kRefreshLine]();\n } else {\n var oldPos = this.getCursorPos();\n this.line += c, this.cursor += c.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows < newPos.rows)\n this[kRefreshLine]();\n else\n this[kWriteToOutput](c);\n }\n }\n async[kTabComplete](lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor), value;\n try {\n value = await this.completer(string);\n } catch (err) {\n this[kWriteToOutput](`Tab completion error: ${inspect(err)}`);\n return;\n } finally {\n this.resume();\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n }\n [kTabCompleter](lastKeypressWasTab, { 0: completions, 1: completeOn }) {\n if (!completions || completions.length === 0)\n return;\n var prefix = commonPrefix(ArrayPrototypeFilter.@call(completions, (e) => e !== \"\"));\n if (StringPrototypeStartsWith.@call(prefix, completeOn) && prefix.length > completeOn.length) {\n this[kInsertString](StringPrototypeSlice.@call(prefix, completeOn.length));\n return;\n } else if (!StringPrototypeStartsWith.@call(completeOn, prefix)) {\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - completeOn.length) + prefix + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = this.cursor - completeOn.length + prefix.length, this._refreshLine();\n return;\n }\n if (!lastKeypressWasTab)\n return;\n this[kBeforeEdit](this.line, this.cursor);\n var completionsWidth = ArrayPrototypeMap.@call(completions, (e) => getStringWidth(e)), width = MathMax.@apply(completionsWidth) + 2, maxColumns = MathFloor(this.columns / width) || 1;\n if (maxColumns === @Infinity)\n maxColumns = 1;\n var output = \"\\r\\n\", lineIndex = 0, whitespace = 0;\n for (var i = 0;i < completions.length; i++) {\n var completion = completions[i];\n if (completion === \"\" || lineIndex === maxColumns)\n output += \"\\r\\n\", lineIndex = 0, whitespace = 0;\n else\n output += StringPrototypeRepeat.@call(\" \", whitespace);\n if (completion !== \"\")\n output += completion, whitespace = width - completionsWidth[i], lineIndex++;\n else\n output += \"\\r\\n\";\n }\n if (lineIndex !== 0)\n output += \"\\r\\n\\r\\n\";\n this[kWriteToOutput](output), this[kRefreshLine]();\n }\n [kWordLeft]() {\n if (this.cursor > 0) {\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n this[kMoveCursor](-match[0].length);\n }\n }\n [kWordRight]() {\n if (this.cursor < this.line.length) {\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|[^\\w\\s]+|\\w+)\\s*/, trailing);\n this[kMoveCursor](match[0].length);\n }\n }\n [kDeleteLeft]() {\n if (this.cursor > 0 && this.line.length > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthLeft(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - charSize) + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor -= charSize, this[kRefreshLine]();\n }\n }\n [kDeleteRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthAt(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(this.line, this.cursor + charSize, this.line.length), this[kRefreshLine]();\n }\n }\n [kDeleteWordLeft]() {\n if (this.cursor > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n leading = StringPrototypeSlice.@call(leading, 0, leading.length - match[0].length), this.line = leading + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = leading.length, this[kRefreshLine]();\n }\n }\n [kDeleteWordRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|\\W+|\\w+)\\s*/, trailing);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(trailing, match[0].length), this[kRefreshLine]();\n }\n }\n [kDeleteLineLeft]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, this.cursor), this.cursor = 0, this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kDeleteLineRight]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor), this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kPushToKillRing](del) {\n if (!del || del === this[kKillRing][0])\n return;\n ArrayPrototypeUnshift.@call(this[kKillRing], del), this[kKillRingCursor] = 0;\n while (this[kKillRing].length > kMaxLengthOfKillRing)\n ArrayPrototypePop.@call(this[kKillRing]);\n }\n [kYank]() {\n if (this[kKillRing].length > 0)\n this[kYanking] = !0, this[kInsertString](this[kKillRing][this[kKillRingCursor]]);\n }\n [kYankPop]() {\n if (!this[kYanking])\n return;\n if (this[kKillRing].length > 1) {\n var lastYank = this[kKillRing][this[kKillRingCursor]];\n if (this[kKillRingCursor]++, this[kKillRingCursor] >= this[kKillRing].length)\n this[kKillRingCursor] = 0;\n var currentYank = this[kKillRing][this[kKillRingCursor]], head = StringPrototypeSlice.@call(this.line, 0, this.cursor - lastYank.length), tail = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = head + currentYank + tail, this.cursor = head.length + currentYank.length, this[kRefreshLine]();\n }\n }\n clearLine() {\n this[kMoveCursor](+@Infinity), this[kWriteToOutput](\"\\r\\n\"), this.line = \"\", this.cursor = 0, this.prevRows = 0;\n }\n [kLine]() {\n var line = this[kAddHistory]();\n this[kUndoStack] = [], this[kRedoStack] = [], this.clearLine(), this[kOnLine](line);\n }\n [kPushToUndoStack](text, cursor) {\n if (ArrayPrototypePush.@call(this[kUndoStack], { text, cursor }) > kMaxUndoRedoStackSize)\n ArrayPrototypeShift.@call(this[kUndoStack]);\n }\n [kUndo]() {\n if (this[kUndoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kRedoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kUndoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kRedo]() {\n if (this[kRedoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kUndoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kRedoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kHistoryNext]() {\n if (this.historyIndex >= 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex - 1;\n while (index >= 0 && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index--;\n if (index === -1)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kHistoryPrev]() {\n if (this.historyIndex < this.history.length && this.history.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex + 1;\n while (index < this.history.length && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index++;\n if (index === this.history.length)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kGetDisplayPos](str) {\n var offset = 0, col = this.columns, rows = 0;\n str = stripVTControlCharacters(str);\n for (var char of new SafeStringIterator(str)) {\n if (char === \"\\n\") {\n rows += MathCeil(offset / col) || 1, offset = 0;\n continue;\n }\n if (char === \"\\t\") {\n offset += this.tabSize - offset % this.tabSize;\n continue;\n }\n var width = getStringWidth(char, !1);\n if (width === 0 || width === 1)\n offset += width;\n else {\n if ((offset + 1) % col === 0)\n offset++;\n offset += 2;\n }\n }\n var cols = offset % col;\n return rows += (offset - cols) / col, { cols, rows };\n }\n getCursorPos() {\n var strBeforeCursor = this[kPrompt] + StringPrototypeSlice.@call(this.line, 0, this.cursor);\n return this[kGetDisplayPos](strBeforeCursor);\n }\n [kMoveCursor](dx) {\n if (dx === 0)\n return;\n var oldPos = this.getCursorPos();\n if (this.cursor += dx, this.cursor < 0)\n this.cursor = 0;\n else if (this.cursor > this.line.length)\n this.cursor = this.line.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows === newPos.rows) {\n var diffWidth = newPos.cols - oldPos.cols;\n moveCursor(this.output, diffWidth, 0);\n } else\n this[kRefreshLine]();\n }\n [kTtyWrite](s, key) {\n var previousKey = this[kPreviousKey];\n key = key || kEmptyObject, this[kPreviousKey] = key;\n var { name: keyName, meta: keyMeta, ctrl: keyCtrl2, shift: keyShift, sequence: keySeq } = key;\n if (!keyMeta || keyName !== \"y\")\n this[kYanking] = !1;\n if ((keyName === \"up\" || keyName === \"down\") && !keyCtrl2 && !keyMeta && !keyShift) {\n if (this[kSubstringSearch] === null)\n this[kSubstringSearch] = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n } else if (this[kSubstringSearch] !== null) {\n if (this[kSubstringSearch] = null, this.history.length === this.historyIndex)\n this.historyIndex = -1;\n }\n if (typeof keySeq === \"string\")\n switch (StringPrototypeCodePointAt.@call(keySeq, 0)) {\n case 31:\n this[kUndo]();\n return;\n case 30:\n this[kRedo]();\n return;\n default:\n break;\n }\n if (keyName === \"escape\")\n return;\n if (keyCtrl2 && keyShift)\n switch (keyName) {\n case \"backspace\":\n this[kDeleteLineLeft]();\n break;\n case \"delete\":\n this[kDeleteLineRight]();\n break;\n }\n else if (keyCtrl2)\n switch (keyName) {\n case \"c\":\n if (this.listenerCount(\"SIGINT\") > 0)\n this.emit(\"SIGINT\");\n else\n this.close();\n break;\n case \"h\":\n this[kDeleteLeft]();\n break;\n case \"d\":\n if (this.cursor === 0 && this.line.length === 0)\n this.close();\n else if (this.cursor < this.line.length)\n this[kDeleteRight]();\n break;\n case \"u\":\n this[kDeleteLineLeft]();\n break;\n case \"k\":\n this[kDeleteLineRight]();\n break;\n case \"a\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"e\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"b\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"f\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"l\":\n cursorTo(this.output, 0, 0), clearScreenDown(this.output), this[kRefreshLine]();\n break;\n case \"n\":\n this[kHistoryNext]();\n break;\n case \"p\":\n this[kHistoryPrev]();\n break;\n case \"y\":\n this[kYank]();\n break;\n case \"z\":\n break;\n case \"w\":\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"left\":\n this[kWordLeft]();\n break;\n case \"right\":\n this[kWordRight]();\n break;\n }\n else if (keyMeta)\n switch (keyName) {\n case \"b\":\n this[kWordLeft]();\n break;\n case \"f\":\n this[kWordRight]();\n break;\n case \"d\":\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"y\":\n this[kYankPop]();\n break;\n }\n else {\n if (this[kSawReturnAt] && keyName !== \"enter\")\n this[kSawReturnAt] = 0;\n switch (keyName) {\n case \"return\":\n this[kSawReturnAt] = DateNow(), this[kLine]();\n break;\n case \"enter\":\n if (this[kSawReturnAt] === 0 || DateNow() - this[kSawReturnAt] > this.crlfDelay)\n this[kLine]();\n this[kSawReturnAt] = 0;\n break;\n case \"backspace\":\n this[kDeleteLeft]();\n break;\n case \"delete\":\n this[kDeleteRight]();\n break;\n case \"left\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"right\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"home\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"end\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"up\":\n this[kHistoryPrev]();\n break;\n case \"down\":\n this[kHistoryNext]();\n break;\n case \"tab\":\n if (typeof this.completer === \"function\" && this.isCompletionEnabled) {\n var lastKeypressWasTab = previousKey && previousKey.name === \"tab\";\n this[kTabComplete](lastKeypressWasTab);\n break;\n }\n default:\n if (typeof s === \"string\" && s) {\n var nextMatch = RegExpPrototypeExec.@call(lineEnding, s);\n if (nextMatch !== null) {\n this[kInsertString](StringPrototypeSlice.@call(s, 0, nextMatch.index));\n var { lastIndex } = lineEnding;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, s)) !== null)\n this[kLine](), this[kInsertString](StringPrototypeSlice.@call(s, lastIndex, nextMatch.index)), { lastIndex } = lineEnding;\n if (lastIndex === s.length)\n this[kLine]();\n } else\n this[kInsertString](s);\n }\n }\n }\n }\n [SymbolAsyncIterator]() {\n if (this[kLineObjectStream] === @undefined)\n this[kLineObjectStream] = EventEmitter.on(this, \"line\", {\n close: [\"close\"],\n highWatermark: 1024,\n [kFirstEventParam]: !0\n });\n return this[kLineObjectStream];\n }\n};\nInterface.prototype = {};\nObjectSetPrototypeOf(Interface.prototype, _Interface.prototype);\nObjectSetPrototypeOf(Interface, _Interface);\nInterface.prototype.question = function question(query, options, cb) {\n if (cb = typeof options === \"function\" \? options : cb, options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return;\n var onAbort = () => {\n this[kQuestionCancel]();\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 });\n var cleanup = () => {\n signal.removeEventListener(\"abort\", onAbort);\n }, originalCb = cb;\n cb = typeof cb === \"function\" \? (answer) => {\n return cleanup(), originalCb(answer);\n } : cleanup;\n }\n if (typeof cb === \"function\")\n this[kQuestion](query, cb);\n};\nInterface.prototype.question[promisify.custom] = function question2(query, options) {\n if (options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal && signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (signal) {\n var onAbort = () => {\n reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this.question(query, options, cb);\n });\n};\nObjectDefineProperties(Interface.prototype, {\n [kSetRawMode]: {\n __proto__: null,\n get() {\n return this._setRawMode;\n }\n },\n [kOnLine]: {\n __proto__: null,\n get() {\n return this._onLine;\n }\n },\n [kWriteToOutput]: {\n __proto__: null,\n get() {\n return this._writeToOutput;\n }\n },\n [kAddHistory]: {\n __proto__: null,\n get() {\n return this._addHistory;\n }\n },\n [kRefreshLine]: {\n __proto__: null,\n get() {\n return this._refreshLine;\n }\n },\n [kNormalWrite]: {\n __proto__: null,\n get() {\n return this._normalWrite;\n }\n },\n [kInsertString]: {\n __proto__: null,\n get() {\n return this._insertString;\n }\n },\n [kTabComplete]: {\n __proto__: null,\n get() {\n return this._tabComplete;\n }\n },\n [kWordLeft]: {\n __proto__: null,\n get() {\n return this._wordLeft;\n }\n },\n [kWordRight]: {\n __proto__: null,\n get() {\n return this._wordRight;\n }\n },\n [kDeleteLeft]: {\n __proto__: null,\n get() {\n return this._deleteLeft;\n }\n },\n [kDeleteRight]: {\n __proto__: null,\n get() {\n return this._deleteRight;\n }\n },\n [kDeleteWordLeft]: {\n __proto__: null,\n get() {\n return this._deleteWordLeft;\n }\n },\n [kDeleteWordRight]: {\n __proto__: null,\n get() {\n return this._deleteWordRight;\n }\n },\n [kDeleteLineLeft]: {\n __proto__: null,\n get() {\n return this._deleteLineLeft;\n }\n },\n [kDeleteLineRight]: {\n __proto__: null,\n get() {\n return this._deleteLineRight;\n }\n },\n [kLine]: {\n __proto__: null,\n get() {\n return this._line;\n }\n },\n [kHistoryNext]: {\n __proto__: null,\n get() {\n return this._historyNext;\n }\n },\n [kHistoryPrev]: {\n __proto__: null,\n get() {\n return this._historyPrev;\n }\n },\n [kGetDisplayPos]: {\n __proto__: null,\n get() {\n return this._getDisplayPos;\n }\n },\n [kMoveCursor]: {\n __proto__: null,\n get() {\n return this._moveCursor;\n }\n },\n [kTtyWrite]: {\n __proto__: null,\n get() {\n return this._ttyWrite;\n }\n },\n _decoder: {\n __proto__: null,\n get() {\n return this[kDecoder];\n },\n set(value) {\n this[kDecoder] = value;\n }\n },\n _line_buffer: {\n __proto__: null,\n get() {\n return this[kLine_buffer];\n },\n set(value) {\n this[kLine_buffer] = value;\n }\n },\n _oldPrompt: {\n __proto__: null,\n get() {\n return this[kOldPrompt];\n },\n set(value) {\n this[kOldPrompt] = value;\n }\n },\n _previousKey: {\n __proto__: null,\n get() {\n return this[kPreviousKey];\n },\n set(value) {\n this[kPreviousKey] = value;\n }\n },\n _prompt: {\n __proto__: null,\n get() {\n return this[kPrompt];\n },\n set(value) {\n this[kPrompt] = value;\n }\n },\n _questionCallback: {\n __proto__: null,\n get() {\n return this[kQuestionCallback];\n },\n set(value) {\n this[kQuestionCallback] = value;\n }\n },\n _sawKeyPress: {\n __proto__: null,\n get() {\n return this[kSawKeyPress];\n },\n set(value) {\n this[kSawKeyPress] = value;\n }\n },\n _sawReturnAt: {\n __proto__: null,\n get() {\n return this[kSawReturnAt];\n },\n set(value) {\n this[kSawReturnAt] = value;\n }\n }\n});\nInterface.prototype._setRawMode = _Interface.prototype[kSetRawMode];\nInterface.prototype._onLine = _Interface.prototype[kOnLine];\nInterface.prototype._writeToOutput = _Interface.prototype[kWriteToOutput];\nInterface.prototype._addHistory = _Interface.prototype[kAddHistory];\nInterface.prototype._refreshLine = _Interface.prototype[kRefreshLine];\nInterface.prototype._normalWrite = _Interface.prototype[kNormalWrite];\nInterface.prototype._insertString = _Interface.prototype[kInsertString];\nInterface.prototype._tabComplete = function(lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.completer(string, (err, value) => {\n if (this.resume(), err) {\n this._writeToOutput(`Tab completion error: ${inspect(err)}`);\n return;\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n });\n};\nInterface.prototype._wordLeft = _Interface.prototype[kWordLeft];\nInterface.prototype._wordRight = _Interface.prototype[kWordRight];\nInterface.prototype._deleteLeft = _Interface.prototype[kDeleteLeft];\nInterface.prototype._deleteRight = _Interface.prototype[kDeleteRight];\nInterface.prototype._deleteWordLeft = _Interface.prototype[kDeleteWordLeft];\nInterface.prototype._deleteWordRight = _Interface.prototype[kDeleteWordRight];\nInterface.prototype._deleteLineLeft = _Interface.prototype[kDeleteLineLeft];\nInterface.prototype._deleteLineRight = _Interface.prototype[kDeleteLineRight];\nInterface.prototype._line = _Interface.prototype[kLine];\nInterface.prototype._historyNext = _Interface.prototype[kHistoryNext];\nInterface.prototype._historyPrev = _Interface.prototype[kHistoryPrev];\nInterface.prototype._getDisplayPos = _Interface.prototype[kGetDisplayPos];\nInterface.prototype._getCursorPos = _Interface.prototype.getCursorPos;\nInterface.prototype._moveCursor = _Interface.prototype[kMoveCursor];\nInterface.prototype._ttyWrite = _Interface.prototype[kTtyWrite];\n\nclass Readline {\n #autoCommit = !1;\n #stream;\n #todo = [];\n constructor(stream, options = @undefined) {\n if (isWritable \?\?= (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).isWritable, !isWritable(stream))\n throw new ERR_INVALID_ARG_TYPE(\"stream\", \"Writable\", stream);\n if (this.#stream = stream, options\?.autoCommit != null)\n validateBoolean(options.autoCommit, \"options.autoCommit\"), this.#autoCommit = options.autoCommit;\n }\n cursorTo(x, y = @undefined) {\n if (validateInteger(x, \"x\"), y != null)\n validateInteger(y, \"y\");\n var data = y == null \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n moveCursor(dx, dy) {\n if (dx || dy) {\n validateInteger(dx, \"dx\"), validateInteger(dy, \"dy\");\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n }\n return this;\n }\n clearLine(dir) {\n validateInteger(dir, \"dir\", -1, 1);\n var data = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n clearScreenDown() {\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(kClearScreenDown));\n else\n ArrayPrototypePush.@call(this.#todo, kClearScreenDown);\n return this;\n }\n commit() {\n return new @Promise((resolve) => {\n this.#stream.write(ArrayPrototypeJoin.@call(this.#todo, \"\"), resolve), this.#todo = [];\n });\n }\n rollback() {\n return this.#todo = [], this;\n }\n}\nvar PromisesInterface = class Interface3 extends _Interface {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n question(query, options = kEmptyObject) {\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n }\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (options\?.signal) {\n var onAbort = () => {\n this[kQuestionCancel](), reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this[kQuestion](query, cb);\n });\n }\n};\n$ = {\n Interface,\n clearLine,\n clearScreenDown,\n createInterface,\n cursorTo,\n emitKeypressEvents,\n moveCursor,\n promises: {\n Readline,\n Interface: PromisesInterface,\n createInterface(input, output, completer, terminal) {\n return new PromisesInterface(input, output, completer, terminal);\n }\n },\n [SymbolFor(\"__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__\")]: {\n CSI,\n utils: {\n getStringWidth,\n stripVTControlCharacters\n }\n }\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeReadlinePromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/readline.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).promises})\n"); +static constexpr ASCIILiteral NodeReadlinePromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/readline.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).promises})\n"); // // -static constexpr ASCIILiteral NodeReplCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/repl.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n lines: [],\n context: globalThis,\n historyIndex: -1,\n cursor: 0,\n historySize: 1000,\n removeHistoryDuplicates: !1,\n crlfDelay: 100,\n completer: () => {\n throwNotImplemented(\"node:repl\");\n },\n history: [],\n _initialPrompt: \"> \",\n terminal: !0,\n input: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n line: \"\",\n eval: () => {\n throwNotImplemented(\"node:repl\");\n },\n isCompletionEnabled: !0,\n escapeCodeTimeout: 500,\n tabSize: 8,\n breakEvalOnSigint: !0,\n useGlobal: !0,\n underscoreAssigned: !1,\n last: @undefined,\n _domain: @undefined,\n allowBlockingCompletions: !1,\n useColors: !0,\n output: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n _builtinLibs: [\n \"bun\",\n \"ffi\",\n \"assert\",\n \"assert/strict\",\n \"async_hooks\",\n \"buffer\",\n \"child_process\",\n \"cluster\",\n \"console\",\n \"constants\",\n \"crypto\",\n \"dgram\",\n \"diagnostics_channel\",\n \"dns\",\n \"dns/promises\",\n \"domain\",\n \"events\",\n \"fs\",\n \"fs/promises\",\n \"http\",\n \"http2\",\n \"https\",\n \"inspector\",\n \"inspector/promises\",\n \"module\",\n \"net\",\n \"os\",\n \"path\",\n \"path/posix\",\n \"path/win32\",\n \"perf_hooks\",\n \"process\",\n \"punycode\",\n \"querystring\",\n \"readline\",\n \"readline/promises\",\n \"repl\",\n \"stream\",\n \"stream/consumers\",\n \"stream/promises\",\n \"stream/web\",\n \"string_decoder\",\n \"sys\",\n \"timers\",\n \"timers/promises\",\n \"tls\",\n \"trace_events\",\n \"tty\",\n \"url\",\n \"util\",\n \"util/types\",\n \"v8\",\n \"vm\",\n \"wasi\",\n \"worker_threads\",\n \"zlib\"\n ]\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeReplCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/repl.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n lines: [],\n context: globalThis,\n historyIndex: -1,\n cursor: 0,\n historySize: 1000,\n removeHistoryDuplicates: !1,\n crlfDelay: 100,\n completer: () => {\n throwNotImplemented(\"node:repl\");\n },\n history: [],\n _initialPrompt: \"> \",\n terminal: !0,\n input: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n line: \"\",\n eval: () => {\n throwNotImplemented(\"node:repl\");\n },\n isCompletionEnabled: !0,\n escapeCodeTimeout: 500,\n tabSize: 8,\n breakEvalOnSigint: !0,\n useGlobal: !0,\n underscoreAssigned: !1,\n last: @undefined,\n _domain: @undefined,\n allowBlockingCompletions: !1,\n useColors: !0,\n output: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n _builtinLibs: [\n \"bun\",\n \"ffi\",\n \"assert\",\n \"assert/strict\",\n \"async_hooks\",\n \"buffer\",\n \"child_process\",\n \"cluster\",\n \"console\",\n \"constants\",\n \"crypto\",\n \"dgram\",\n \"diagnostics_channel\",\n \"dns\",\n \"dns/promises\",\n \"domain\",\n \"events\",\n \"fs\",\n \"fs/promises\",\n \"http\",\n \"http2\",\n \"https\",\n \"inspector\",\n \"inspector/promises\",\n \"module\",\n \"net\",\n \"os\",\n \"path\",\n \"path/posix\",\n \"path/win32\",\n \"perf_hooks\",\n \"process\",\n \"punycode\",\n \"querystring\",\n \"readline\",\n \"readline/promises\",\n \"repl\",\n \"stream\",\n \"stream/consumers\",\n \"stream/promises\",\n \"stream/web\",\n \"string_decoder\",\n \"sys\",\n \"timers\",\n \"timers/promises\",\n \"tls\",\n \"trace_events\",\n \"tty\",\n \"url\",\n \"util\",\n \"util/types\",\n \"v8\",\n \"vm\",\n \"wasi\",\n \"worker_threads\",\n \"zlib\"\n ]\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeStreamConsumersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.consumers.ts\nvar $, arrayBuffer = Bun.readableStreamToArrayBuffer, text = Bun.readableStreamToText, json = (stream) => Bun.readableStreamToText(stream).then(JSON.parse), buffer = async (readableStream) => {\n return new @Buffer(await arrayBuffer(readableStream));\n}, blob = Bun.readableStreamToBlob;\n$ = {\n arrayBuffer,\n text,\n json,\n buffer,\n blob\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeStreamConsumersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.consumers.ts\nvar $, arrayBuffer = Bun.readableStreamToArrayBuffer, text = Bun.readableStreamToText, json = (stream) => Bun.readableStreamToText(stream).then(JSON.parse), buffer = async (readableStream) => {\n return new @Buffer(await arrayBuffer(readableStream));\n}, blob = Bun.readableStreamToBlob;\n$ = {\n arrayBuffer,\n text,\n json,\n buffer,\n blob\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeStreamCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.ts\nvar isReadableStream = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @ReadableStream;\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n return new Error(`The argument '${name}' is invalid. Received '${value}' for type '${type}'`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value '${value}' is invalid for argument '${name}'. Reason: ${reason}`);\n}, createNativeStreamReadable = function(nativeType, Readable) {\n var [pull, start, cancel, setClose, deinit, updateRef, drainFn] = @lazy(nativeType), closer = [!1], handleNumberResult = function(nativeReadable, result, view, isClosed) {\n if (result > 0) {\n const slice = view.subarray(0, result), remainder = view.subarray(result);\n if (slice.byteLength > 0)\n nativeReadable.push(slice);\n if (isClosed)\n nativeReadable.push(null);\n return remainder.byteLength > 0 \? remainder : @undefined;\n }\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, handleArrayBufferViewResult = function(nativeReadable, result, view, isClosed) {\n if (result.byteLength > 0)\n nativeReadable.push(result);\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, DYNAMICALLY_ADJUST_CHUNK_SIZE = process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE !== \"1\";\n const finalizer = new FinalizationRegistry((ptr) => ptr && deinit(ptr)), MIN_BUFFER_SIZE = 512;\n var NativeReadable = class NativeReadable2 extends Readable {\n #bunNativePtr;\n #refCount = 1;\n #constructed = !1;\n #remainingChunk = @undefined;\n #highWaterMark;\n #pendingRead = !1;\n #hasResized = !DYNAMICALLY_ADJUST_CHUNK_SIZE;\n #unregisterToken;\n constructor(ptr, options = {}) {\n super(options);\n if (typeof options.highWaterMark === \"number\")\n this.#highWaterMark = options.highWaterMark;\n else\n this.#highWaterMark = 262144;\n this.#bunNativePtr = ptr, this.#constructed = !1, this.#remainingChunk = @undefined, this.#pendingRead = !1, this.#unregisterToken = {}, finalizer.register(this, this.#bunNativePtr, this.#unregisterToken);\n }\n _read(maxToRead) {\n if (this.#pendingRead)\n return;\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n this.push(null);\n return;\n }\n if (!this.#constructed)\n this.#internalConstruct(ptr);\n return this.#internalRead(this.#getRemainingChunk(maxToRead), ptr);\n }\n #internalConstruct(ptr) {\n this.#constructed = !0;\n const result = start(ptr, this.#highWaterMark);\n if (typeof result === \"number\" && result > 1)\n this.#hasResized = !0, this.#highWaterMark = Math.min(this.#highWaterMark, result);\n if (drainFn) {\n const drainResult = drainFn(ptr);\n if ((drainResult\?.byteLength \?\? 0) > 0)\n this.push(drainResult);\n }\n }\n #getRemainingChunk(maxToRead = this.#highWaterMark) {\n var chunk = this.#remainingChunk;\n if (chunk\?.byteLength \?\? 0 < MIN_BUFFER_SIZE) {\n var size = maxToRead > MIN_BUFFER_SIZE \? maxToRead : MIN_BUFFER_SIZE;\n this.#remainingChunk = chunk = new @Buffer(size);\n }\n return chunk;\n }\n #handleResult(result, view, isClosed) {\n if (typeof result === \"number\") {\n if (result >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleNumberResult(this, result, view, isClosed);\n } else if (typeof result === \"boolean\")\n return process.nextTick(() => {\n this.push(null);\n }), view\?.byteLength \?\? 0 > 0 \? view : @undefined;\n else if (@ArrayBuffer.isView(result)) {\n if (result.byteLength >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleArrayBufferViewResult(this, result, view, isClosed);\n } else\n throw new Error(\"Invalid result from pull\");\n }\n #internalRead(view, ptr) {\n closer[0] = !1;\n var result = pull(ptr, view, closer);\n if (@isPromise(result))\n return this.#pendingRead = !0, result.then((result2) => {\n this.#pendingRead = !1, this.#remainingChunk = this.#handleResult(result2, view, closer[0]);\n }, (reason) => {\n errorOrDestroy(this, reason);\n });\n else\n this.#remainingChunk = this.#handleResult(result, view, closer[0]);\n }\n _destroy(error, callback) {\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n callback(error);\n return;\n }\n if (finalizer.unregister(this.#unregisterToken), this.#bunNativePtr = 0, updateRef)\n updateRef(ptr, !1);\n cancel(ptr, error), callback(error);\n }\n ref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount++ === 0)\n updateRef(ptr, !0);\n }\n unref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount-- === 1)\n updateRef(ptr, !1);\n }\n };\n if (!updateRef)\n NativeReadable.prototype.ref = @undefined, NativeReadable.prototype.unref = @undefined;\n return NativeReadable;\n}, getNativeReadableStreamPrototype = function(nativeType, Readable) {\n return nativeReadableStreamPrototypes[nativeType] ||= createNativeStreamReadable(nativeType, Readable);\n}, getNativeReadableStream = function(Readable, stream, options) {\n if (!(stream && typeof stream === \"object\" && stream instanceof @ReadableStream))\n return @undefined;\n const native = @direct(stream);\n if (!native)\n return @undefined;\n const { stream: ptr, data: type } = native;\n return new (getNativeReadableStreamPrototype(type, Readable))(ptr, options);\n}, NativeWritable = function(pathOrFdOrSink, options = {}) {\n Writable.@call(this, options), this[_native] = !0, this._construct = NativeWritable_internalConstruct, this._destroy = NativeWritable_internalDestroy, this._final = NativeWritable_internalFinal, this[_pathOrFdOrSink] = pathOrFdOrSink;\n}, NativeWritable_internalConstruct = function(cb) {\n if (this._writableState.constructed = !0, this.constructed = !0, typeof cb === \"function\")\n cb();\n process.nextTick(() => {\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n });\n}, NativeWritable_lazyConstruct = function(stream) {\n var sink = stream[_pathOrFdOrSink];\n if (typeof sink === \"object\")\n if (typeof sink.write === \"function\")\n return stream[_fileSink] = sink;\n else\n throw new Error(\"Invalid FileSink\");\n else\n return stream[_fileSink] = Bun.file(sink).writer();\n}, NativeWritable_internalDestroy = function(error, cb) {\n const w = this._writableState, r = this._readableState;\n if (w)\n w.destroyed = !0, w.closeEmitted = !0;\n if (r)\n r.destroyed = !0, r.closeEmitted = !0;\n if (typeof cb === \"function\")\n cb(error);\n if (w\?.closeEmitted || r\?.closeEmitted)\n this.emit(\"close\");\n}, NativeWritable_internalFinal = function(cb) {\n var sink = this[_fileSink];\n if (sink)\n sink.end();\n if (cb)\n cb();\n}, EE = @lazy(\"events\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, runOnNextTick = process.nextTick;\nvar ArrayIsArray = @Array.isArray, require_primordials = __commonJS({\n \"node_modules/readable-stream/lib/ours/primordials.js\"(exports, module) {\n module.exports = {\n ArrayIsArray(self) {\n return @Array.isArray(self);\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el);\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el);\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep);\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn);\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el);\n },\n ArrayPrototypePush(self, el) {\n return self.push(el);\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.@call(thisArgs, ...args);\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].@call(self, instance);\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props);\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop);\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name);\n },\n ObjectKeys(obj) {\n return Object.keys(obj);\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto);\n },\n Promise: @Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn);\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn);\n },\n PromiseReject(err) {\n return @Promise.reject(err);\n },\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n RegExpPrototypeTest(self, value) {\n return self.test(value);\n },\n SafeSet: Set,\n String: @String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase();\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase();\n },\n StringPrototypeTrim(self) {\n return self.trim();\n },\n Symbol,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len);\n },\n Uint8Array: @Uint8Array\n };\n }\n}), require_util = __commonJS({\n \"node_modules/readable-stream/lib/ours/util.js\"(exports, module) {\n var AsyncFunction = Object.getPrototypeOf(async function() {\n }).constructor, isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, AggregateError = class extends Error {\n constructor(errors) {\n if (!@Array.isArray(errors))\n @throwTypeError(`Expected input to be an Array, got ${typeof errors}`);\n let message = \"\";\n for (let i = 0;i < errors.length; i++)\n message += ` ${errors[i].stack}\n`;\n super(message);\n this.name = \"AggregateError\", this.errors = errors;\n }\n };\n module.exports = {\n AggregateError,\n once(callback) {\n let called = !1;\n return function(...args) {\n if (called)\n return;\n called = !0, callback.@apply(this, args);\n };\n },\n createDeferredPromise: function() {\n let resolve, reject;\n return {\n promise: new @Promise((res, rej) => {\n resolve = res, reject = rej;\n }),\n resolve,\n reject\n };\n },\n promisify(fn) {\n return new @Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err)\n return reject(err);\n return resolve(...args);\n });\n });\n },\n debuglog() {\n return function() {\n };\n },\n format(format, ...args) {\n return format.replace(/%([sdifj])/g, function(...[_unused, type]) {\n const replacement = args.shift();\n if (type === \"f\")\n return replacement.toFixed(6);\n else if (type === \"j\")\n return JSON.stringify(replacement);\n else if (type === \"s\" && typeof replacement === \"object\")\n return `${replacement.constructor !== Object \? replacement.constructor.name : \"\"} {}`.trim();\n else\n return replacement.toString();\n });\n },\n inspect(value) {\n switch (typeof value) {\n case \"string\":\n if (value.includes(\"'\")) {\n if (!value.includes('\"'))\n return `\"${value}\"`;\n else if (!value.includes(\"`\") && !value.includes(\"${\"))\n return `\\`${value}\\``;\n }\n return `'${value}'`;\n case \"number\":\n if (isNaN(value))\n return \"NaN\";\n else if (Object.is(value, -0))\n return @String(value);\n return value;\n case \"bigint\":\n return `${@String(value)}n`;\n case \"boolean\":\n case \"undefined\":\n return @String(value);\n case \"object\":\n return \"{}\";\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction;\n },\n isArrayBufferView(arr) {\n return @ArrayBuffer.isView(arr);\n }\n },\n isBlob\n }, module.exports.promisify.custom = Symbol.for(\"nodejs.util.promisify.custom\");\n }\n}), require_errors = __commonJS({\n \"node_modules/readable-stream/lib/ours/errors.js\"(exports, module) {\n var { format, inspect, AggregateError: CustomAggregateError } = require_util(), AggregateError = globalThis.AggregateError || CustomAggregateError, kIsNodeError = Symbol(\"kIsNodeError\"), kTypes = [\"string\", \"function\", \"number\", \"object\", \"Function\", \"Object\", \"boolean\", \"bigint\", \"symbol\"], classRegExp = /^([A-Z][a-z0-9]*)+$/, nodeInternalPrefix = \"__node_internal_\", codes = {};\n function assert(value, message) {\n if (!value)\n throw new codes.ERR_INTERNAL_ASSERTION(message);\n }\n function addNumericalSeparator(val) {\n let res = \"\", i = val.length;\n const start = val[0] === \"-\" \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n res = `_${val.slice(i - 3, i)}${res}`;\n return `${val.slice(0, i)}${res}`;\n }\n function getMessage(key, msg, args) {\n if (typeof msg === \"function\")\n return assert(msg.length <= args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`), msg(...args);\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;\n if (assert(expectedLength === args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`), args.length === 0)\n return msg;\n return format(msg, ...args);\n }\n function E(code, message, Base) {\n if (!Base)\n Base = Error;\n\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args));\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`;\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: !0,\n enumerable: !1,\n configurable: !0\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`;\n },\n writable: !0,\n enumerable: !1,\n configurable: !0\n }\n }), NodeError.prototype.code = code, NodeError.prototype[kIsNodeError] = !0, codes[code] = NodeError;\n }\n function hideStackFrames(fn) {\n const hidden = nodeInternalPrefix + fn.name;\n return Object.defineProperty(fn, \"name\", {\n value: hidden\n }), fn;\n }\n function aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (@Array.isArray(outerError.errors))\n return outerError.errors.push(innerError), outerError;\n const err = new AggregateError([outerError, innerError], outerError.message);\n return err.code = outerError.code, err;\n }\n return innerError || outerError;\n }\n var AbortError2 = class extends Error {\n constructor(message = \"The operation was aborted\", options = void 0) {\n if (options !== void 0 && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n };\n E(\"ERR_ASSERTION\", \"%s\", Error), E(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !@Array.isArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (name.endsWith(\" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${name.includes(\".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), kTypes.includes(value))\n types.push(value.toLowerCase());\n else if (classRegExp.test(value))\n instances.push(value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), other.push(value);\n if (instances.length > 0) {\n const pos = types.indexOf(\"object\");\n if (pos !== -1)\n types.splice(types, pos, 1), instances.push(\"Object\");\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`;\n break;\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`;\n break;\n default: {\n const last = types.pop();\n msg += `one of type ${types.join(\", \")}, or ${last}`;\n }\n }\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`;\n break;\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`;\n break;\n default: {\n const last = instances.pop();\n msg += `an instance of ${instances.join(\", \")}, or ${last}`;\n }\n }\n if (other.length > 0)\n msg += \" or \";\n }\n switch (other.length) {\n case 0:\n break;\n case 1:\n if (other[0].toLowerCase() !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n break;\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`;\n break;\n default: {\n const last = other.pop();\n msg += `one of ${other.join(\", \")}, or ${last}`;\n }\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\") {\n var _actual$constructor;\n if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else {\n const inspected = inspect(actual, {\n depth: -1\n });\n msg += `. Received ${inspected}`;\n }\n } else {\n let inspected = inspect(actual, {\n colors: !1\n });\n if (inspected.length > 25)\n inspected = `${inspected.slice(0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }, TypeError), E(\"ERR_INVALID_ARG_VALUE\", (name, value, reason = \"is invalid\") => {\n let inspected = inspect(value);\n if (inspected.length > 128)\n inspected = inspected.slice(0, 128) + \"...\";\n return `The ${name.includes(\".\") \? \"property\" : \"argument\"} '${name}' ${reason}. Received ${inspected}`;\n }, TypeError), E(\"ERR_INVALID_RETURN_VALUE\", (input, name, value) => {\n var _value$constructor;\n const type = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name \? `instance of ${value.constructor.name}` : `type ${typeof value}`;\n return `Expected ${input} to be returned from the \"${name}\" function but got ${type}.`;\n }, TypeError), E(\"ERR_MISSING_ARGS\", (...args) => {\n assert(args.length > 0, \"At least one arg needs to be specified\");\n let msg;\n const len = args.length;\n switch (args = (@Array.isArray(args) \? args : [args]).map((a) => `\"${a}\"`).join(\" or \"), len) {\n case 1:\n msg += `The ${args[0]} argument`;\n break;\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`;\n break;\n default:\n {\n const last = args.pop();\n msg += `The ${args.join(\", \")}, and ${last} arguments`;\n }\n break;\n }\n return `${msg} must be specified`;\n }, TypeError), E(\"ERR_OUT_OF_RANGE\", (str, range, input) => {\n assert(range, 'Missing \"range\" argument');\n let received;\n if (Number.isInteger(input) && Math.abs(input) > 4294967296)\n received = addNumericalSeparator(@String(input));\n else if (typeof input === \"bigint\") {\n if (received = @String(input), input > 2n ** 32n || input < -(2n ** 32n))\n received = addNumericalSeparator(received);\n received += \"n\";\n } else\n received = inspect(input);\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`;\n }, RangeError), E(\"ERR_MULTIPLE_CALLBACK\", \"Callback called multiple times\", Error), E(\"ERR_METHOD_NOT_IMPLEMENTED\", \"The %s method is not implemented\", Error), E(\"ERR_STREAM_ALREADY_FINISHED\", \"Cannot call %s after a stream was finished\", Error), E(\"ERR_STREAM_CANNOT_PIPE\", \"Cannot pipe, not readable\", Error), E(\"ERR_STREAM_DESTROYED\", \"Cannot call %s after a stream was destroyed\", Error), E(\"ERR_STREAM_NULL_VALUES\", \"May not write null values to stream\", TypeError), E(\"ERR_STREAM_PREMATURE_CLOSE\", \"Premature close\", Error), E(\"ERR_STREAM_PUSH_AFTER_EOF\", \"stream.push() after EOF\", Error), E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\", \"stream.unshift() after end event\", Error), E(\"ERR_STREAM_WRITE_AFTER_END\", \"write after end\", Error), E(\"ERR_UNKNOWN_ENCODING\", \"Unknown encoding: %s\", TypeError), module.exports = {\n AbortError: AbortError2,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n };\n }\n}), require_validators = __commonJS({\n \"node_modules/readable-stream/lib/internal/validators.js\"(exports, module) {\n var {\n ArrayIsArray: ArrayIsArray2,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n RegExpPrototypeTest,\n String: String2,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n } = require_primordials(), {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n } = require_errors(), { normalizeEncoding } = require_util(), { isAsyncFunction, isArrayBufferView } = require_util().types, signals = {};\n function isInt32(value) {\n return value === (value | 0);\n }\n function isUint32(value) {\n return value === value >>> 0;\n }\n var octalReg = /^[0-7]+$/, modeDesc = \"must be a 32-bit unsigned integer or an octal string\";\n function parseFileMode(value, name, def) {\n if (typeof value === \"undefined\")\n value = def;\n if (typeof value === \"string\") {\n if (!RegExpPrototypeTest(octalReg, value))\n throw new ERR_INVALID_ARG_VALUE2(name, value, modeDesc);\n value = NumberParseInt(value, 8);\n }\n return validateInt32(value, name, 0, 4294967295), value;\n }\n var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isInt32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateUint32 = hideStackFrames((value, name, positive) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isUint32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${positive \? 1 : 0} && < 4294967296`, value);\n }\n if (positive && value === 0)\n throw new ERR_OUT_OF_RANGE(name, \">= 1 && < 4294967296\", value);\n });\n function validateString(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"string\", value);\n }\n function validateNumber(value, name) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n }\n var validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const reason = \"must be one of: \" + ArrayPrototypeJoin(ArrayPrototypeMap(oneOf, (v) => typeof v === \"string\" \? `'${v}'` : String2(v)), \", \");\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateBoolean2(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"boolean\", value);\n }\n var validateObject = hideStackFrames((value, name, options) => {\n const useDefaultOptions = options == null, allowArray = useDefaultOptions \? !1 : options.allowArray, allowFunction = useDefaultOptions \? !1 : options.allowFunction;\n if (!(useDefaultOptions \? !1 : options.nullable) && value === null || !allowArray && ArrayIsArray2(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Object\", value);\n }), validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray2(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateSignalName(signal, name = \"signal\") {\n if (validateString(signal, name), signals[signal] === void 0) {\n if (signals[StringPrototypeToUpperCase(signal)] !== void 0)\n throw new ERR_UNKNOWN_SIGNAL(signal + \" (signals must use all capital letters)\");\n throw new ERR_UNKNOWN_SIGNAL(signal);\n }\n }\n var validateBuffer = hideStackFrames((buffer, name = \"buffer\") => {\n if (!isArrayBufferView(buffer))\n throw new ERR_INVALID_ARG_TYPE2(name, [\"Buffer\", \"TypedArray\", \"DataView\"], buffer);\n });\n function validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding), length = data.length;\n if (normalizedEncoding === \"hex\" && length % 2 !== 0)\n throw new ERR_INVALID_ARG_VALUE2(\"encoding\", encoding, `is invalid for data of length ${length}`);\n }\n function validatePort(port, name = \"Port\", allowZero = !0) {\n if (typeof port !== \"number\" && typeof port !== \"string\" || typeof port === \"string\" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero)\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);\n return port | 0;\n }\n var validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== void 0 && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n }), validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\" || isAsyncFunction(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validateUndefined = hideStackFrames((value, name) => {\n if (value !== void 0)\n throw new ERR_INVALID_ARG_TYPE2(name, \"undefined\", value);\n });\n module.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateBoolean: validateBoolean2,\n validateBuffer,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateAbortSignal\n };\n }\n}), require_utils = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/utils.js\"(exports, module) {\n var { Symbol: Symbol2, SymbolAsyncIterator, SymbolIterator } = require_primordials(), kDestroyed = Symbol2(\"kDestroyed\"), kIsErrored = Symbol2(\"kIsErrored\"), kIsReadable = Symbol2(\"kIsReadable\"), kIsDisturbed = Symbol2(\"kIsDisturbed\");\n function isReadableNodeStream(obj, strict = !1) {\n var _obj$_readableState;\n return !!(obj && typeof obj.pipe === \"function\" && typeof obj.on === \"function\" && (!strict || typeof obj.pause === \"function\" && typeof obj.resume === \"function\") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 \? void 0 : _obj$_readableState.readable) !== !1) && (!obj._writableState || obj._readableState));\n }\n function isWritableNodeStream(obj) {\n var _obj$_writableState;\n return !!(obj && typeof obj.write === \"function\" && typeof obj.on === \"function\" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 \? void 0 : _obj$_writableState.writable) !== !1));\n }\n function isDuplexNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\" && obj._readableState && typeof obj.on === \"function\" && typeof obj.write === \"function\");\n }\n function isNodeStream(obj) {\n return obj && (obj._readableState || obj._writableState || typeof obj.write === \"function\" && typeof obj.on === \"function\" || typeof obj.pipe === \"function\" && typeof obj.on === \"function\");\n }\n function isIterable(obj, isAsync) {\n if (obj == null)\n return !1;\n if (isAsync === !0)\n return typeof obj[SymbolAsyncIterator] === \"function\";\n if (isAsync === !1)\n return typeof obj[SymbolIterator] === \"function\";\n return typeof obj[SymbolAsyncIterator] === \"function\" || typeof obj[SymbolIterator] === \"function\";\n }\n function isDestroyed(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !!(stream.destroyed || stream[kDestroyed] || state !== null && state !== void 0 && state.destroyed);\n }\n function isWritableEnded(stream) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableEnded === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.ended) !== \"boolean\")\n return null;\n return wState.ended;\n }\n function isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableFinished === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.finished) !== \"boolean\")\n return null;\n return !!(wState.finished || strict === !1 && wState.ended === !0 && wState.length === 0);\n }\n function isReadableEnded(stream) {\n if (!isReadableNodeStream(stream))\n return null;\n if (stream.readableEnded === !0)\n return !0;\n const rState = stream._readableState;\n if (!rState || rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.ended) !== \"boolean\")\n return null;\n return rState.ended;\n }\n function isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream))\n return null;\n const rState = stream._readableState;\n if (rState !== null && rState !== void 0 && rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.endEmitted) !== \"boolean\")\n return null;\n return !!(rState.endEmitted || strict === !1 && rState.ended === !0 && rState.length === 0);\n }\n function isReadable(stream) {\n if (stream && stream[kIsReadable] != null)\n return stream[kIsReadable];\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.readable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);\n }\n function isWritable(stream) {\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.writable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);\n }\n function isFinished(stream, opts) {\n if (!isNodeStream(stream))\n return null;\n if (isDestroyed(stream))\n return !0;\n if ((opts === null || opts === void 0 \? void 0 : opts.readable) !== !1 && isReadable(stream))\n return !1;\n if ((opts === null || opts === void 0 \? void 0 : opts.writable) !== !1 && isWritable(stream))\n return !1;\n return !0;\n }\n function isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.writableErrored)\n return stream.writableErrored;\n return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 \? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 \? _stream$_writableStat : null;\n }\n function isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.readableErrored)\n return stream.readableErrored;\n return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 \? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 \? _stream$_readableStat : null;\n }\n function isClosed(stream) {\n if (!isNodeStream(stream))\n return null;\n if (typeof stream.closed === \"boolean\")\n return stream.closed;\n const { _writableState: wState, _readableState: rState } = stream;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.closed) === \"boolean\" || typeof (rState === null || rState === void 0 \? void 0 : rState.closed) === \"boolean\")\n return (wState === null || wState === void 0 \? void 0 : wState.closed) || (rState === null || rState === void 0 \? void 0 : rState.closed);\n if (typeof stream._closed === \"boolean\" && isOutgoingMessage(stream))\n return stream._closed;\n return null;\n }\n function isOutgoingMessage(stream) {\n return typeof stream._closed === \"boolean\" && typeof stream._defaultKeepAlive === \"boolean\" && typeof stream._removedConnection === \"boolean\" && typeof stream._removedContLen === \"boolean\";\n }\n function isServerResponse(stream) {\n return typeof stream._sent100 === \"boolean\" && isOutgoingMessage(stream);\n }\n function isServerRequest(stream) {\n var _stream$req;\n return typeof stream._consuming === \"boolean\" && typeof stream._dumped === \"boolean\" && ((_stream$req = stream.req) === null || _stream$req === void 0 \? void 0 : _stream$req.upgradeOrConnect) === void 0;\n }\n function willEmitClose(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === !1);\n }\n function isDisturbed(stream) {\n var _stream$kIsDisturbed;\n return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 \? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));\n }\n function isErrored(stream) {\n var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;\n return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 \? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 \? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 \? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 \? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 \? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 \? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 \? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 \? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 \? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 \? void 0 : _stream$_writableStat4.errored));\n }\n module.exports = {\n kDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n isClosed,\n isDestroyed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWritable,\n isWritableNodeStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose\n };\n }\n}), require_end_of_stream = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes, { once } = require_util(), { validateAbortSignal, validateFunction, validateObject } = require_validators(), { Promise: Promise2 } = require_primordials(), {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose\n } = require_utils();\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n }\n var nop = () => {\n };\n function eos(stream, options, callback) {\n var _options$readable, _options$writable;\n if (arguments.length === 2)\n callback = options, options = {};\n else if (options == null)\n options = {};\n else\n validateObject(options, \"options\");\n validateFunction(callback, \"callback\"), validateAbortSignal(options.signal, \"options.signal\"), callback = once(callback);\n const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 \? _options$readable : isReadableNodeStream(stream), writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 \? _options$writable : isWritableNodeStream(stream);\n if (!isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"Stream\", stream);\n const { _writableState: wState, _readableState: rState } = stream, onlegacyfinish = () => {\n if (!stream.writable)\n onfinish();\n };\n let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable, writableFinished = isWritableFinished(stream, !1);\n const onfinish = () => {\n if (writableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.readable || readable))\n return;\n if (!readable || readableFinished)\n callback.@call(stream);\n };\n let readableFinished = isReadableFinished(stream, !1);\n const onend = () => {\n if (readableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.writable || writable))\n return;\n if (!writable || writableFinished)\n callback.@call(stream);\n }, onerror = (err) => {\n callback.@call(stream, err);\n };\n let closed = isClosed(stream);\n const onclose = () => {\n closed = !0;\n const errored = isWritableErrored(stream) || isReadableErrored(stream);\n if (errored && typeof errored !== \"boolean\")\n return callback.@call(stream, errored);\n if (readable && !readableFinished && isReadableNodeStream(stream, !0)) {\n if (!isReadableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n callback.@call(stream);\n }, onrequest = () => {\n stream.req.on(\"finish\", onfinish);\n };\n if (isRequest(stream)) {\n if (stream.on(\"complete\", onfinish), !willEmitClose)\n stream.on(\"abort\", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on(\"request\", onrequest);\n } else if (writable && !wState)\n stream.on(\"end\", onlegacyfinish), stream.on(\"close\", onlegacyfinish);\n if (!willEmitClose && typeof stream.aborted === \"boolean\")\n stream.on(\"aborted\", onclose);\n if (stream.on(\"end\", onend), stream.on(\"finish\", onfinish), options.error !== !1)\n stream.on(\"error\", onerror);\n if (stream.on(\"close\", onclose), closed)\n runOnNextTick(onclose);\n else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {\n if (!willEmitClose)\n runOnNextTick(onclose);\n } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === !1))\n runOnNextTick(onclose);\n else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === !1))\n runOnNextTick(onclose);\n else if (rState && stream.req && stream.aborted)\n runOnNextTick(onclose);\n const cleanup = () => {\n if (callback = nop, stream.removeListener(\"aborted\", onclose), stream.removeListener(\"complete\", onfinish), stream.removeListener(\"abort\", onclose), stream.removeListener(\"request\", onrequest), stream.req)\n stream.req.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onlegacyfinish), stream.removeListener(\"close\", onlegacyfinish), stream.removeListener(\"finish\", onfinish), stream.removeListener(\"end\", onend), stream.removeListener(\"error\", onerror), stream.removeListener(\"close\", onclose);\n };\n if (options.signal && !closed) {\n const abort = () => {\n const endCallback = callback;\n cleanup(), endCallback.@call(stream, new AbortError2(void 0, {\n cause: options.signal.reason\n }));\n };\n if (options.signal.aborted)\n runOnNextTick(abort);\n else {\n const originalCallback = callback;\n callback = once((...args) => {\n options.signal.removeEventListener(\"abort\", abort), originalCallback.@apply(stream, args);\n }), options.signal.addEventListener(\"abort\", abort);\n }\n }\n return cleanup;\n }\n function finished(stream, opts) {\n return new Promise2((resolve, reject) => {\n eos(stream, opts, (err) => {\n if (err)\n reject(err);\n else\n resolve();\n });\n });\n }\n module.exports = eos, module.exports.finished = finished;\n }\n}), require_operators = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/operators.js\"(exports, module) {\n var {\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError: AbortError2\n } = require_errors(), { validateAbortSignal, validateInteger, validateObject } = require_validators(), kWeakHandler = require_primordials().Symbol(\"kWeak\"), { finished } = require_end_of_stream(), {\n ArrayPrototypePush,\n MathFloor,\n Number: Number2,\n NumberIsNaN,\n Promise: Promise2,\n PromiseReject,\n PromisePrototypeCatch,\n Symbol: Symbol2\n } = require_primordials(), kEmpty = Symbol2(\"kEmpty\"), kEof = Symbol2(\"kEof\");\n function map(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let concurrency = 1;\n if ((options === null || options === void 0 \? void 0 : options.concurrency) != null)\n concurrency = MathFloor(options.concurrency);\n return validateInteger(concurrency, \"concurrency\", 1), async function* map2() {\n var _options$signal, _options$signal2;\n const ac = new AbortController, stream = this, queue = [], signal = ac.signal, signalOpt = {\n signal\n }, abort = () => ac.abort();\n if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted)\n abort();\n options === null || options === void 0 || (_options$signal2 = options.signal) === null || _options$signal2 === void 0 || _options$signal2.addEventListener(\"abort\", abort);\n let next, resume, done = !1;\n function onDone() {\n done = !0;\n }\n async function pump() {\n try {\n for await (let val of stream) {\n var _val;\n if (done)\n return;\n if (signal.aborted)\n throw new AbortError2;\n try {\n val = fn(val, signalOpt);\n } catch (err) {\n val = PromiseReject(err);\n }\n if (val === kEmpty)\n continue;\n if (typeof ((_val = val) === null || _val === void 0 \? void 0 : _val.catch) === \"function\")\n val.catch(onDone);\n if (queue.push(val), next)\n next(), next = null;\n if (!done && queue.length && queue.length >= concurrency)\n await new Promise2((resolve) => {\n resume = resolve;\n });\n }\n queue.push(kEof);\n } catch (err) {\n const val = PromiseReject(err);\n PromisePrototypeCatch(val, onDone), queue.push(val);\n } finally {\n var _options$signal3;\n if (done = !0, next)\n next(), next = null;\n options === null || options === void 0 || (_options$signal3 = options.signal) === null || _options$signal3 === void 0 || _options$signal3.removeEventListener(\"abort\", abort);\n }\n }\n pump();\n try {\n while (!0) {\n while (queue.length > 0) {\n const val = await queue[0];\n if (val === kEof)\n return;\n if (signal.aborted)\n throw new AbortError2;\n if (val !== kEmpty)\n yield val;\n if (queue.shift(), resume)\n resume(), resume = null;\n }\n await new Promise2((resolve) => {\n next = resolve;\n });\n }\n } finally {\n if (ac.abort(), done = !0, resume)\n resume(), resume = null;\n }\n }.@call(this);\n }\n function asIndexedPairs(options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return async function* asIndexedPairs2() {\n let index = 0;\n for await (let val of this) {\n var _options$signal4;\n if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted)\n throw new AbortError2({\n cause: options.signal.reason\n });\n yield [index++, val];\n }\n }.@call(this);\n }\n async function some(fn, options = void 0) {\n for await (let unused of filter.@call(this, fn, options))\n return !0;\n return !1;\n }\n async function every(fn, options = void 0) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n return !await some.@call(this, async (...args) => {\n return !await fn(...args);\n }, options);\n }\n async function find(fn, options) {\n for await (let result of filter.@call(this, fn, options))\n return result;\n return;\n }\n async function forEach(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function forEachFn(value, options2) {\n return await fn(value, options2), kEmpty;\n }\n for await (let unused of map.@call(this, forEachFn, options))\n ;\n }\n function filter(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function filterFn(value, options2) {\n if (await fn(value, options2))\n return value;\n return kEmpty;\n }\n return map.@call(this, filterFn, options);\n }\n var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {\n constructor() {\n super(\"reduce\");\n this.message = \"Reduce of an empty stream requires an initial value\";\n }\n };\n async function reduce(reducer, initialValue, options) {\n var _options$signal5;\n if (typeof reducer !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"reducer\", [\"Function\", \"AsyncFunction\"], reducer);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let hasInitialValue = arguments.length > 1;\n if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {\n const err = new AbortError2(void 0, {\n cause: options.signal.reason\n });\n throw this.once(\"error\", () => {\n }), await finished(this.destroy(err)), err;\n }\n const ac = new AbortController, signal = ac.signal;\n if (options !== null && options !== void 0 && options.signal) {\n const opts = {\n once: !0,\n [kWeakHandler]: this\n };\n options.signal.addEventListener(\"abort\", () => ac.abort(), opts);\n }\n let gotAnyItemFromStream = !1;\n try {\n for await (let value of this) {\n var _options$signal6;\n if (gotAnyItemFromStream = !0, options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted)\n throw new AbortError2;\n if (!hasInitialValue)\n initialValue = value, hasInitialValue = !0;\n else\n initialValue = await reducer(initialValue, value, {\n signal\n });\n }\n if (!gotAnyItemFromStream && !hasInitialValue)\n throw new ReduceAwareErrMissingArgs;\n } finally {\n ac.abort();\n }\n return initialValue;\n }\n async function toArray(options) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n const result = [];\n for await (let val of this) {\n var _options$signal7;\n if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted)\n throw new AbortError2(void 0, {\n cause: options.signal.reason\n });\n ArrayPrototypePush(result, val);\n }\n return result;\n }\n function flatMap(fn, options) {\n const values = map.@call(this, fn, options);\n return async function* flatMap2() {\n for await (let val of values)\n yield* val;\n }.@call(this);\n }\n function toIntegerOrInfinity(number) {\n if (number = Number2(number), NumberIsNaN(number))\n return 0;\n if (number < 0)\n throw new ERR_OUT_OF_RANGE(\"number\", \">= 0\", number);\n return number;\n }\n function drop(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* drop2() {\n var _options$signal8;\n if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal9;\n if (options !== null && options !== void 0 && (_options$signal9 = options.signal) !== null && _options$signal9 !== void 0 && _options$signal9.aborted)\n throw new AbortError2;\n if (number-- <= 0)\n yield val;\n }\n }.@call(this);\n }\n function take(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* take2() {\n var _options$signal10;\n if (options !== null && options !== void 0 && (_options$signal10 = options.signal) !== null && _options$signal10 !== void 0 && _options$signal10.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal11;\n if (options !== null && options !== void 0 && (_options$signal11 = options.signal) !== null && _options$signal11 !== void 0 && _options$signal11.aborted)\n throw new AbortError2;\n if (number-- > 0)\n yield val;\n else\n return;\n }\n }.@call(this);\n }\n module.exports.streamReturningOperators = {\n asIndexedPairs,\n drop,\n filter,\n flatMap,\n map,\n take\n }, module.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n };\n }\n}), require_destroy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/destroy.js\"(exports, module) {\n var {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError: AbortError2\n } = require_errors(), { Symbol: Symbol2 } = require_primordials(), { kDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils(), kDestroy = \"#kDestroy\", kConstruct = \"#kConstruct\";\n function checkError(err, w, r) {\n if (err) {\n if (err.stack, w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n }\n }\n function destroy2(err, cb) {\n const r = this._readableState, w = this._writableState, s = w || r;\n if (w && w.destroyed || r && r.destroyed) {\n if (typeof cb === \"function\")\n cb();\n return this;\n }\n if (checkError(err, w, r), w)\n w.destroyed = !0;\n if (r)\n r.destroyed = !0;\n if (!s.constructed)\n this.once(kDestroy, (er) => {\n _destroy(this, aggregateTwoErrors(er, err), cb);\n });\n else\n _destroy(this, err, cb);\n return this;\n }\n function _destroy(self, err, cb) {\n let called = !1;\n function onDestroy(err2) {\n if (called)\n return;\n called = !0;\n const { _readableState: r, _writableState: w } = self;\n if (checkError(err2, w, r), w)\n w.closed = !0;\n if (r)\n r.closed = !0;\n if (typeof cb === \"function\")\n cb(err2);\n if (err2)\n runOnNextTick(emitErrorCloseNT, self, err2);\n else\n runOnNextTick(emitCloseNT, self);\n }\n try {\n self._destroy(err || null, onDestroy);\n } catch (err2) {\n onDestroy(err2);\n }\n }\n function emitErrorCloseNT(self, err) {\n emitErrorNT(self, err), emitCloseNT(self);\n }\n function emitCloseNT(self) {\n const { _readableState: r, _writableState: w } = self;\n if (w)\n w.closeEmitted = !0;\n if (r)\n r.closeEmitted = !0;\n if (w && w.emitClose || r && r.emitClose)\n self.emit(\"close\");\n }\n function emitErrorNT(self, err) {\n const r = self\?._readableState, w = self\?._writableState;\n if (w\?.errorEmitted || r\?.errorEmitted)\n return;\n if (w)\n w.errorEmitted = !0;\n if (r)\n r.errorEmitted = !0;\n self\?.emit\?.(\"error\", err);\n }\n function undestroy() {\n const r = this._readableState, w = this._writableState;\n if (r)\n r.constructed = !0, r.closed = !1, r.closeEmitted = !1, r.destroyed = !1, r.errored = null, r.errorEmitted = !1, r.reading = !1, r.ended = r.readable === !1, r.endEmitted = r.readable === !1;\n if (w)\n w.constructed = !0, w.destroyed = !1, w.closed = !1, w.closeEmitted = !1, w.errored = null, w.errorEmitted = !1, w.finalCalled = !1, w.prefinished = !1, w.ended = w.writable === !1, w.ending = w.writable === !1, w.finished = w.writable === !1;\n }\n function errorOrDestroy2(stream, err, sync) {\n const r = stream\?._readableState, w = stream\?._writableState;\n if (w && w.destroyed || r && r.destroyed)\n return this;\n if (r && r.autoDestroy || w && w.autoDestroy)\n stream.destroy(err);\n else if (err) {\n if (Error.captureStackTrace(err), w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n if (sync)\n runOnNextTick(emitErrorNT, stream, err);\n else\n emitErrorNT(stream, err);\n }\n }\n function construct(stream, cb) {\n if (typeof stream._construct !== \"function\")\n return;\n const { _readableState: r, _writableState: w } = stream;\n if (r)\n r.constructed = !1;\n if (w)\n w.constructed = !1;\n if (stream.once(kConstruct, cb), stream.listenerCount(kConstruct) > 1)\n return;\n runOnNextTick(constructNT, stream);\n }\n function constructNT(stream) {\n let called = !1;\n function onConstruct(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : new ERR_MULTIPLE_CALLBACK);\n return;\n }\n called = !0;\n const { _readableState: r, _writableState: w } = stream, s = w || r;\n if (r)\n r.constructed = !0;\n if (w)\n w.constructed = !0;\n if (s.destroyed)\n stream.emit(kDestroy, err);\n else if (err)\n errorOrDestroy2(stream, err, !0);\n else\n runOnNextTick(emitConstructNT, stream);\n }\n try {\n stream._construct(onConstruct);\n } catch (err) {\n onConstruct(err);\n }\n }\n function emitConstructNT(stream) {\n stream.emit(kConstruct);\n }\n function isRequest(stream) {\n return stream && stream.setHeader && typeof stream.abort === \"function\";\n }\n function emitCloseLegacy(stream) {\n stream.emit(\"close\");\n }\n function emitErrorCloseLegacy(stream, err) {\n stream.emit(\"error\", err), runOnNextTick(emitCloseLegacy, stream);\n }\n function destroyer(stream, err) {\n if (!stream || isDestroyed(stream))\n return;\n if (!err && !isFinished(stream))\n err = new AbortError2;\n if (isServerRequest(stream))\n stream.socket = null, stream.destroy(err);\n else if (isRequest(stream))\n stream.abort();\n else if (isRequest(stream.req))\n stream.req.abort();\n else if (typeof stream.destroy === \"function\")\n stream.destroy(err);\n else if (typeof stream.close === \"function\")\n stream.close();\n else if (err)\n runOnNextTick(emitErrorCloseLegacy, stream);\n else\n runOnNextTick(emitCloseLegacy, stream);\n if (!stream.destroyed)\n stream[kDestroyed] = !0;\n }\n module.exports = {\n construct,\n destroyer,\n destroy: destroy2,\n undestroy,\n errorOrDestroy: errorOrDestroy2\n };\n }\n}), require_legacy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/legacy.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, ObjectSetPrototypeOf } = require_primordials();\n function Stream(options) {\n if (!(this instanceof Stream))\n return new Stream(options);\n EE.@call(this, options);\n }\n Stream.prototype = {}, ObjectSetPrototypeOf(Stream.prototype, EE.prototype), ObjectSetPrototypeOf(Stream, EE), Stream.prototype.pipe = function(dest, options) {\n const source = this;\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === !1 && source.pause)\n source.pause();\n }\n source.on(\"data\", ondata);\n function ondrain() {\n if (source.readable && source.resume)\n source.resume();\n }\n if (dest.on(\"drain\", ondrain), !dest._isStdio && (!options || options.end !== !1))\n source.on(\"end\", onend), source.on(\"close\", onclose);\n let didOnEnd = !1;\n function onend() {\n if (didOnEnd)\n return;\n didOnEnd = !0, dest.end();\n }\n function onclose() {\n if (didOnEnd)\n return;\n if (didOnEnd = !0, typeof dest.destroy === \"function\")\n dest.destroy();\n }\n function onerror(er) {\n if (cleanup(), EE.listenerCount(this, \"error\") === 0)\n this.emit(\"error\", er);\n }\n prependListener(source, \"error\", onerror), prependListener(dest, \"error\", onerror);\n function cleanup() {\n source.removeListener(\"data\", ondata), dest.removeListener(\"drain\", ondrain), source.removeListener(\"end\", onend), source.removeListener(\"close\", onclose), source.removeListener(\"error\", onerror), dest.removeListener(\"error\", onerror), source.removeListener(\"end\", cleanup), source.removeListener(\"close\", cleanup), dest.removeListener(\"close\", cleanup);\n }\n return source.on(\"end\", cleanup), source.on(\"close\", cleanup), dest.on(\"close\", cleanup), dest.emit(\"pipe\", source), dest;\n };\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === \"function\")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (ArrayIsArray2(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n module.exports = {\n Stream,\n prependListener\n };\n }\n}), require_add_abort_signal = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), eos = require_end_of_stream(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes, validateAbortSignal = (signal, name) => {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n };\n function isNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\");\n }\n module.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n if (validateAbortSignal(signal, \"signal\"), !isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"stream.Stream\", stream);\n return module.exports.addAbortSignalNoValidate(signal, stream);\n }, module.exports.addAbortSignalNoValidate = function(signal, stream) {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n return stream;\n const onAbort = () => {\n stream.destroy(new AbortError2(void 0, {\n cause: signal.reason\n }));\n };\n if (signal.aborted)\n onAbort();\n else\n signal.addEventListener(\"abort\", onAbort), eos(stream, () => signal.removeEventListener(\"abort\", onAbort));\n return stream;\n };\n }\n}), require_state = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/state.js\"(exports, module) {\n var { MathFloor, NumberIsInteger } = require_primordials(), { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2 } = require_errors().codes;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null \? options.highWaterMark : isDuplex \? options[duplexKey] : null;\n }\n function getDefaultHighWaterMark(objectMode) {\n return objectMode \? 16 : 16384;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex \? `options.${duplexKey}` : \"options.highWaterMark\";\n throw new ERR_INVALID_ARG_VALUE2(name, hwm);\n }\n return MathFloor(hwm);\n }\n return getDefaultHighWaterMark(state.objectMode);\n }\n module.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark\n };\n }\n}), require_from = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/from.js\"(exports, module) {\n var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors().codes;\n function from(Readable, iterable, opts) {\n let iterator;\n if (typeof iterable === \"string\" || iterable instanceof @Buffer)\n return new Readable({\n objectMode: !0,\n ...opts,\n read() {\n this.push(iterable), this.push(null);\n }\n });\n let isAsync;\n if (iterable && iterable[SymbolAsyncIterator])\n isAsync = !0, iterator = iterable[SymbolAsyncIterator]();\n else if (iterable && iterable[SymbolIterator])\n isAsync = !1, iterator = iterable[SymbolIterator]();\n else\n throw new ERR_INVALID_ARG_TYPE2(\"iterable\", [\"Iterable\"], iterable);\n const readable = new Readable({\n objectMode: !0,\n highWaterMark: 1,\n ...opts\n });\n let reading = !1;\n readable._read = function() {\n if (!reading)\n reading = !0, next();\n }, readable._destroy = function(error, cb) {\n PromisePrototypeThen(close(error), () => runOnNextTick(cb, error), (e) => runOnNextTick(cb, e || error));\n };\n async function close(error) {\n const hadError = error !== void 0 && error !== null, hasThrow = typeof iterator.throw === \"function\";\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error);\n if (await value, done)\n return;\n }\n if (typeof iterator.return === \"function\") {\n const { value } = await iterator.return();\n await value;\n }\n }\n async function next() {\n for (;; ) {\n try {\n const { value, done } = isAsync \? await iterator.next() : iterator.next();\n if (done)\n readable.push(null);\n else {\n const res = value && typeof value.then === \"function\" \? await value : value;\n if (res === null)\n throw reading = !1, new ERR_STREAM_NULL_VALUES;\n else if (readable.push(res))\n continue;\n else\n reading = !1;\n }\n } catch (err) {\n readable.destroy(err);\n }\n break;\n }\n }\n return readable;\n }\n module.exports = from;\n }\n}), _ReadableFromWeb, _ReadableFromWebForUndici, require_readable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/readable.js\"(exports, module) {\n var {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise: Promise2,\n SafeSet,\n SymbolAsyncIterator,\n Symbol: Symbol2\n } = require_primordials(), ReadableState = @lazy(\"bun:stream\").ReadableState, { Stream, prependListener } = require_legacy();\n function Readable(options) {\n if (!(this instanceof Readable))\n return new Readable(options);\n const isDuplex = this instanceof require_duplex();\n if (this._readableState = new ReadableState(options, this, isDuplex), options) {\n const { read, destroy: destroy2, construct, signal } = options;\n if (typeof read === \"function\")\n this._read = read;\n if (typeof destroy2 === \"function\")\n this._destroy = destroy2;\n if (typeof construct === \"function\")\n this._construct = construct;\n if (signal && !isDuplex)\n addAbortSignal(signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n if (this._readableState.needReadable)\n maybeReadMore(this, this._readableState);\n });\n }\n Readable.prototype = {}, ObjectSetPrototypeOf(Readable.prototype, Stream.prototype), ObjectSetPrototypeOf(Readable, Stream), Readable.prototype.on = function(ev, fn) {\n const res = Stream.prototype.on.@call(this, ev, fn), state = this._readableState;\n if (ev === \"data\") {\n if (state.readableListening = this.listenerCount(\"readable\") > 0, state.flowing !== !1)\n this.resume();\n } else if (ev === \"readable\") {\n if (!state.endEmitted && !state.readableListening) {\n if (state.readableListening = state.needReadable = !0, state.flowing = !1, state.emittedReadable = !1, state.length)\n emitReadable(this, state);\n else if (!state.reading)\n runOnNextTick(nReadingNextTick, this);\n } else if (state.endEmitted)\n ;\n }\n return res;\n };\n\n class ReadableFromWeb extends Readable {\n #reader;\n #closed;\n #pendingChunks;\n #stream;\n constructor(options, stream) {\n const { objectMode, highWaterMark, encoding, signal } = options;\n super({\n objectMode,\n highWaterMark,\n encoding,\n signal\n });\n this.#pendingChunks = [], this.#reader = @undefined, this.#stream = stream, this.#closed = !1;\n }\n #drainPending() {\n var pendingChunks = this.#pendingChunks, pendingChunksI = 0, pendingChunksCount = pendingChunks.length;\n for (;pendingChunksI < pendingChunksCount; pendingChunksI++) {\n const chunk = pendingChunks[pendingChunksI];\n if (pendingChunks[pendingChunksI] = @undefined, !this.push(chunk, @undefined))\n return this.#pendingChunks = pendingChunks.slice(pendingChunksI + 1), !0;\n }\n if (pendingChunksCount > 0)\n this.#pendingChunks = [];\n return !1;\n }\n #handleDone(reader) {\n reader.releaseLock(), this.#reader = @undefined, this.#closed = !0, this.push(null);\n return;\n }\n async _read() {\n var stream = this.#stream, reader = this.#reader;\n if (stream)\n reader = this.#reader = stream.getReader(), this.#stream = @undefined;\n else if (this.#drainPending())\n return;\n var deferredError;\n try {\n do {\n var done = !1, value;\n const firstResult = reader.readMany();\n if (@isPromise(firstResult)) {\n if ({ done, value } = await firstResult, this.#closed) {\n this.#pendingChunks.push(...value);\n return;\n }\n } else\n ({ done, value } = firstResult);\n if (done) {\n this.#handleDone(reader);\n return;\n }\n if (!this.push(value[0])) {\n this.#pendingChunks = value.slice(1);\n return;\n }\n for (let i = 1, count = value.length;i < count; i++)\n if (!this.push(value[i])) {\n this.#pendingChunks = value.slice(i + 1);\n return;\n }\n } while (!this.#closed);\n } catch (e) {\n deferredError = e;\n } finally {\n if (deferredError)\n throw deferredError;\n }\n }\n _destroy(error, callback) {\n if (!this.#closed) {\n var reader = this.#reader;\n if (reader)\n this.#reader = @undefined, reader.cancel(error).finally(() => {\n this.#closed = !0, callback(error);\n });\n return;\n }\n try {\n callback(error);\n } catch (error2) {\n globalThis.reportError(error2);\n }\n }\n }\n _ReadableFromWebForUndici = ReadableFromWeb;\n function newStreamReadableFromReadableStream(readableStream, options = {}) {\n if (!isReadableStream(readableStream))\n throw new ERR_INVALID_ARG_TYPE2(\"readableStream\", \"ReadableStream\", readableStream);\n validateObject(options, \"options\");\n const {\n highWaterMark,\n encoding,\n objectMode = !1,\n signal\n } = options;\n if (encoding !== @undefined && !@Buffer.isEncoding(encoding))\n throw new ERR_INVALID_ARG_VALUE(encoding, \"options.encoding\");\n return validateBoolean(objectMode, \"options.objectMode\"), getNativeReadableStream(Readable, readableStream, options) || new ReadableFromWeb({\n highWaterMark,\n encoding,\n objectMode,\n signal\n }, readableStream);\n }\n module.exports = Readable, _ReadableFromWeb = newStreamReadableFromReadableStream;\n var { addAbortSignal } = require_add_abort_signal(), eos = require_end_of_stream();\n const { maybeReadMore: _maybeReadMore, resume, emitReadable: _emitReadable, onEofChunk } = @lazy(\"bun:stream\");\n function maybeReadMore(stream, state) {\n process.nextTick(_maybeReadMore, stream, state);\n }\n function emitReadable(stream, state) {\n _emitReadable(stream, state);\n }\n var destroyImpl = require_destroy(), {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n }\n } = require_errors(), { validateObject } = require_validators(), from = require_from(), nop = () => {\n }, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n Readable.prototype.destroy = destroyImpl.destroy, Readable.prototype._undestroy = destroyImpl.undestroy, Readable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Readable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n }, Readable.prototype.push = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !1);\n }, Readable.prototype.unshift = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !0);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront) {\n const state = stream._readableState;\n let err;\n if (!state.objectMode) {\n if (typeof chunk === \"string\") {\n if (encoding = encoding || state.defaultEncoding, state.encoding !== encoding)\n if (addToFront && state.encoding)\n chunk = @Buffer.from(chunk, encoding).toString(state.encoding);\n else\n chunk = @Buffer.from(chunk, encoding), encoding = \"\";\n } else if (chunk instanceof @Buffer)\n encoding = \"\";\n else if (Stream._isUint8Array(chunk)) {\n if (addToFront || !state.decoder)\n chunk = Stream._uint8ArrayToBuffer(chunk);\n encoding = \"\";\n } else if (chunk != null)\n err = new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n }\n if (err)\n errorOrDestroy2(stream, err);\n else if (chunk === null)\n state.reading = !1, onEofChunk(stream, state);\n else if (state.objectMode || chunk && chunk.length > 0)\n if (addToFront)\n if (state.endEmitted)\n errorOrDestroy2(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);\n else if (state.destroyed || state.errored)\n return !1;\n else\n addChunk(stream, state, chunk, !0);\n else if (state.ended)\n errorOrDestroy2(stream, new ERR_STREAM_PUSH_AFTER_EOF);\n else if (state.destroyed || state.errored)\n return !1;\n else if (state.reading = !1, state.decoder && !encoding)\n if (chunk = state.decoder.write(chunk), state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, !1);\n else\n maybeReadMore(stream, state);\n else\n addChunk(stream, state, chunk, !1);\n else if (!addToFront)\n state.reading = !1, maybeReadMore(stream, state);\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount(\"data\") > 0) {\n if (state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n state.dataEmitted = !0, stream.emit(\"data\", chunk);\n } else {\n if (state.length += state.objectMode \? 1 : chunk.length, addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream, state);\n }\n maybeReadMore(stream, state);\n }\n Readable.prototype.isPaused = function() {\n const state = this._readableState;\n return state.paused === !0 || state.flowing === !1;\n }, Readable.prototype.setEncoding = function(enc) {\n const decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder, this._readableState.encoding = this._readableState.decoder.encoding;\n const buffer = this._readableState.buffer;\n let content = \"\";\n for (let i = buffer.length;i > 0; i--)\n content += decoder.write(buffer.shift());\n if (content !== \"\")\n buffer.push(content);\n return this._readableState.length = content.length, this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n > MAX_HWM)\n throw new ERR_OUT_OF_RANGE(\"size\", \"<= 1GiB\", n);\n else\n n--, n |= n >>> 1, n |= n >>> 2, n |= n >>> 4, n |= n >>> 8, n |= n >>> 16, n++;\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (NumberIsNaN(n)) {\n if (state.flowing && state.length)\n return state.buffer.first().length;\n return state.length;\n }\n if (n <= state.length)\n return n;\n return state.ended \? state.length : 0;\n }\n Readable.prototype.read = function(n) {\n if (!NumberIsInteger(n))\n n = NumberParseInt(n, 10);\n const state = this._readableState, nOrig = n;\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n !== 0)\n state.emittedReadable = !1;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 \? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this, state);\n return null;\n }\n if (n = howMuchToRead(n, state), n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n let doRead = state.needReadable;\n if (state.length === 0 || state.length - n < state.highWaterMark)\n doRead = !0;\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed)\n doRead = !1;\n else if (doRead) {\n if (state.reading = !0, state.sync = !0, state.length === 0)\n state.needReadable = !0;\n try {\n var result = this._read(state.highWaterMark);\n if (@isPromise(result)) {\n const peeked = Bun.peek(result);\n if (peeked !== result)\n result = peeked;\n }\n if (@isPromise(result) && result\?.then && @isCallable(result.then))\n result.then(nop, function(err) {\n errorOrDestroy2(this, err);\n });\n } catch (err) {\n errorOrDestroy2(this, err);\n }\n if (state.sync = !1, !state.reading)\n n = howMuchToRead(nOrig, state);\n }\n let ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null)\n state.needReadable = state.length <= state.highWaterMark, n = 0;\n else if (state.length -= n, state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = !0;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted)\n state.dataEmitted = !0, this.emit(\"data\", ret);\n return ret;\n }, Readable.prototype._read = function(n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\");\n }, Readable.prototype.pipe = function(dest, pipeOpts) {\n const src = this, state = this._readableState;\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain)\n state.multiAwaitDrain = !0, state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters \? [state.awaitDrainWriters] : []);\n }\n state.pipes.push(dest);\n const endFn = (!pipeOpts || pipeOpts.end !== !1) && dest !== process.stdout && dest !== process.stderr \? onend : unpipe;\n if (state.endEmitted)\n runOnNextTick(endFn);\n else\n src.once(\"end\", endFn);\n dest.on(\"unpipe\", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === !1)\n unpipeInfo.hasUnpiped = !0, cleanup();\n }\n }\n function onend() {\n dest.end();\n }\n let ondrain, cleanedUp = !1;\n function cleanup() {\n if (dest.removeListener(\"close\", onclose), dest.removeListener(\"finish\", onfinish), ondrain)\n dest.removeListener(\"drain\", ondrain);\n if (dest.removeListener(\"error\", onerror), dest.removeListener(\"unpipe\", onunpipe), src.removeListener(\"end\", onend), src.removeListener(\"end\", unpipe), src.removeListener(\"data\", ondata), cleanedUp = !0, ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n function pause() {\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest)\n state.awaitDrainWriters = dest, state.multiAwaitDrain = !1;\n else if (state.pipes.length > 1 && state.pipes.includes(dest))\n state.awaitDrainWriters.add(dest);\n src.pause();\n }\n if (!ondrain)\n ondrain = pipeOnDrain(src, dest), dest.on(\"drain\", ondrain);\n }\n src.on(\"data\", ondata);\n function ondata(chunk) {\n if (dest.write(chunk) === !1)\n pause();\n }\n function onerror(er) {\n if (unpipe(), dest.removeListener(\"error\", onerror), dest.listenerCount(\"error\") === 0) {\n const s = dest._writableState || dest._readableState;\n if (s && !s.errorEmitted)\n errorOrDestroy2(dest, er);\n else\n dest.emit(\"error\", er);\n }\n }\n prependListener(dest, \"error\", onerror);\n function onclose() {\n dest.removeListener(\"finish\", onfinish), unpipe();\n }\n dest.once(\"close\", onclose);\n function onfinish() {\n dest.removeListener(\"close\", onclose), unpipe();\n }\n dest.once(\"finish\", onfinish);\n function unpipe() {\n src.unpipe(dest);\n }\n if (dest.emit(\"pipe\", src), dest.writableNeedDrain === !0) {\n if (state.flowing)\n pause();\n } else if (!state.flowing)\n src.resume();\n return dest;\n };\n function pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState;\n if (state.awaitDrainWriters === dest)\n state.awaitDrainWriters = null;\n else if (state.multiAwaitDrain)\n state.awaitDrainWriters.delete(dest);\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount(\"data\"))\n src.resume();\n };\n }\n Readable.prototype.unpipe = function(dest) {\n const state = this._readableState, unpipeInfo = {\n hasUnpiped: !1\n };\n if (state.pipes.length === 0)\n return this;\n if (!dest) {\n const dests = state.pipes;\n state.pipes = [], this.pause();\n for (let i = 0;i < dests.length; i++)\n dests[i].emit(\"unpipe\", this, {\n hasUnpiped: !1\n });\n return this;\n }\n const index = ArrayPrototypeIndexOf(state.pipes, dest);\n if (index === -1)\n return this;\n if (state.pipes.splice(index, 1), state.pipes.length === 0)\n this.pause();\n return dest.emit(\"unpipe\", this, unpipeInfo), this;\n }, Readable.prototype.addListener = Readable.prototype.on, Readable.prototype.removeListener = function(ev, fn) {\n const res = Stream.prototype.removeListener.@call(this, ev, fn);\n if (ev === \"readable\")\n runOnNextTick(updateReadableListening, this);\n return res;\n }, Readable.prototype.off = Readable.prototype.removeListener, Readable.prototype.removeAllListeners = function(ev) {\n const res = Stream.prototype.removeAllListeners.@apply(this, arguments);\n if (ev === \"readable\" || ev === void 0)\n runOnNextTick(updateReadableListening, this);\n return res;\n };\n function updateReadableListening(self) {\n const state = self._readableState;\n if (state.readableListening = self.listenerCount(\"readable\") > 0, state.resumeScheduled && state.paused === !1)\n state.flowing = !0;\n else if (self.listenerCount(\"data\") > 0)\n self.resume();\n else if (!state.readableListening)\n state.flowing = null;\n }\n function nReadingNextTick(self) {\n self.read(0);\n }\n Readable.prototype.resume = function() {\n const state = this._readableState;\n if (!state.flowing)\n state.flowing = !state.readableListening, resume(this, state);\n return state.paused = !1, this;\n }, Readable.prototype.pause = function() {\n if (this._readableState.flowing !== !1)\n this._readableState.flowing = !1, this.emit(\"pause\");\n return this._readableState.paused = !0, this;\n }, Readable.prototype.wrap = function(stream) {\n let paused = !1;\n stream.on(\"data\", (chunk) => {\n if (!this.push(chunk) && stream.pause)\n paused = !0, stream.pause();\n }), stream.on(\"end\", () => {\n this.push(null);\n }), stream.on(\"error\", (err) => {\n errorOrDestroy2(this, err);\n }), stream.on(\"close\", () => {\n this.destroy();\n }), stream.on(\"destroy\", () => {\n this.destroy();\n }), this._read = () => {\n if (paused && stream.resume)\n paused = !1, stream.resume();\n };\n const streamKeys = ObjectKeys(stream);\n for (let j = 1;j < streamKeys.length; j++) {\n const i = streamKeys[j];\n if (this[i] === void 0 && typeof stream[i] === \"function\")\n this[i] = stream[i].bind(stream);\n }\n return this;\n }, Readable.prototype[SymbolAsyncIterator] = function() {\n return streamToAsyncIterator(this);\n }, Readable.prototype.iterator = function(options) {\n if (options !== void 0)\n validateObject(options, \"options\");\n return streamToAsyncIterator(this, options);\n };\n function streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== \"function\")\n stream = Readable.wrap(stream, {\n objectMode: !0\n });\n const iter = createAsyncIterator(stream, options);\n return iter.stream = stream, iter;\n }\n async function* createAsyncIterator(stream, options) {\n let callback = nop;\n function next(resolve) {\n if (this === stream)\n callback(), callback = nop;\n else\n callback = resolve;\n }\n stream.on(\"readable\", next);\n let error;\n const cleanup = eos(stream, {\n writable: !1\n }, (err) => {\n error = err \? aggregateTwoErrors(error, err) : null, callback(), callback = nop;\n });\n try {\n while (!0) {\n const chunk = stream.destroyed \? null : stream.read();\n if (chunk !== null)\n yield chunk;\n else if (error)\n throw error;\n else if (error === null)\n return;\n else\n await new Promise2(next);\n }\n } catch (err) {\n throw error = aggregateTwoErrors(error, err), error;\n } finally {\n if ((error || (options === null || options === void 0 \? void 0 : options.destroyOnReturn) !== !1) && (error === void 0 || stream._readableState.autoDestroy))\n destroyImpl.destroyer(stream, null);\n else\n stream.off(\"readable\", next), cleanup();\n }\n }\n ObjectDefineProperties(Readable.prototype, {\n readable: {\n get() {\n const r = this._readableState;\n return !!r && r.readable !== !1 && !r.destroyed && !r.errorEmitted && !r.endEmitted;\n },\n set(val) {\n if (this._readableState)\n this._readableState.readable = !!val;\n }\n },\n readableDidRead: {\n enumerable: !1,\n get: function() {\n return this._readableState.dataEmitted;\n }\n },\n readableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._readableState.readable !== !1 && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);\n }\n },\n readableHighWaterMark: {\n enumerable: !1,\n get: function() {\n return this._readableState.highWaterMark;\n }\n },\n readableBuffer: {\n enumerable: !1,\n get: function() {\n return this._readableState && this._readableState.buffer;\n }\n },\n readableFlowing: {\n enumerable: !1,\n get: function() {\n return this._readableState.flowing;\n },\n set: function(state) {\n if (this._readableState)\n this._readableState.flowing = state;\n }\n },\n readableLength: {\n enumerable: !1,\n get() {\n return this._readableState.length;\n }\n },\n readableObjectMode: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.objectMode : !1;\n }\n },\n readableEncoding: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.encoding : null;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.errored : null;\n }\n },\n closed: {\n get() {\n return this._readableState \? this._readableState.closed : !1;\n }\n },\n destroyed: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.destroyed : !1;\n },\n set(value) {\n if (!this._readableState)\n return;\n this._readableState.destroyed = value;\n }\n },\n readableEnded: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.endEmitted : !1;\n }\n }\n }), Readable._fromList = fromList;\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n let ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join(\"\");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else\n ret = state.buffer.consume(n, state.decoder);\n return ret;\n }\n function endReadable(stream) {\n const state = stream._readableState;\n if (!state.endEmitted)\n state.ended = !0, runOnNextTick(endReadableNT, state, stream);\n }\n function endReadableNT(state, stream) {\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n if (state.endEmitted = !0, stream.emit(\"end\"), stream.writable && stream.allowHalfOpen === !1)\n runOnNextTick(endWritableNT, stream);\n else if (state.autoDestroy) {\n const wState = stream._writableState;\n if (!wState || wState.autoDestroy && (wState.finished || wState.writable === !1))\n stream.destroy();\n }\n }\n }\n function endWritableNT(stream) {\n if (stream.writable && !stream.writableEnded && !stream.destroyed)\n stream.end();\n }\n Readable.from = function(iterable, opts) {\n return from(Readable, iterable, opts);\n };\n var webStreamsAdapters = {\n newStreamReadableFromReadableStream,\n newReadableStreamFromStreamReadable(streamReadable, options = {}) {\n if (typeof streamReadable\?._readableState !== \"object\")\n throw new ERR_INVALID_ARG_TYPE2(\"streamReadable\", \"stream.Readable\", streamReadable);\n var { isDestroyed, isReadable } = require_utils();\n if (isDestroyed(streamReadable) || !isReadable(streamReadable)) {\n const readable = new @ReadableStream;\n return readable.cancel(), readable;\n }\n const { readableObjectMode: objectMode, readableHighWaterMark: highWaterMark } = streamReadable, strategy = ((strategy2) => {\n if (strategy2)\n return strategy2;\n if (objectMode)\n return new CountQueuingStrategy({ highWaterMark });\n return { highWaterMark };\n })(options\?.strategy);\n let controller;\n function onData(chunk) {\n if (controller.enqueue(chunk), controller.desiredSize <= 0)\n streamReadable.pause();\n }\n streamReadable.pause();\n const cleanup = eos(streamReadable, (error) => {\n if (error\?.code === \"ERR_STREAM_PREMATURE_CLOSE\")\n error = new AbortError(@undefined, { cause: error });\n if (cleanup(), streamReadable.on(\"error\", () => {\n }), error)\n return controller.error(error);\n controller.close();\n });\n return streamReadable.on(\"data\", onData), new @ReadableStream({\n start(c) {\n controller = c;\n },\n pull() {\n streamReadable.resume();\n },\n cancel(reason) {\n destroy(streamReadable, reason);\n }\n }, strategy);\n }\n };\n Readable.fromWeb = function(readableStream, options) {\n return webStreamsAdapters.newStreamReadableFromReadableStream(readableStream, options);\n }, Readable.toWeb = function(streamReadable, options) {\n return webStreamsAdapters.newReadableStreamFromStreamReadable(streamReadable, options);\n }, Readable.wrap = function(src, options) {\n var _ref, _src$readableObjectMo;\n return new Readable({\n objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 \? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 \? _ref : !0,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err), callback(err);\n }\n }).wrap(src);\n };\n }\n}), require_writable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/writable.js\"(exports, module) {\n var {\n ArrayPrototypeSlice,\n Error: Error2,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol: Symbol2,\n SymbolHasInstance\n } = require_primordials(), Stream = require_legacy().Stream, destroyImpl = require_destroy(), { addAbortSignal } = require_add_abort_signal(), { getHighWaterMark, getDefaultHighWaterMark } = require_state(), {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n } = require_errors().codes, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n function Writable(options = {}) {\n const isDuplex = this instanceof require_duplex();\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this))\n return new Writable(options);\n if (this._writableState = new WritableState(options, this, isDuplex), options) {\n if (typeof options.write === \"function\")\n this._write = options.write;\n if (typeof options.writev === \"function\")\n this._writev = options.writev;\n if (typeof options.destroy === \"function\")\n this._destroy = options.destroy;\n if (typeof options.final === \"function\")\n this._final = options.final;\n if (typeof options.construct === \"function\")\n this._construct = options.construct;\n if (options.signal)\n addAbortSignal(options.signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n const state = this._writableState;\n if (!state.writing)\n clearBuffer(this, state);\n finishMaybe(this, state);\n });\n }\n Writable.prototype = {}, ObjectSetPrototypeOf(Writable.prototype, Stream.prototype), ObjectSetPrototypeOf(Writable, Stream), module.exports = Writable;\n function nop() {\n }\n var kOnFinished = Symbol2(\"kOnFinished\");\n function WritableState(options, stream, isDuplex) {\n if (typeof isDuplex !== \"boolean\")\n isDuplex = stream instanceof require_duplex();\n if (this.objectMode = !!(options && options.objectMode), isDuplex)\n this.objectMode = this.objectMode || !!(options && options.writableObjectMode);\n this.highWaterMark = options \? getHighWaterMark(this, options, \"writableHighWaterMark\", isDuplex) : getDefaultHighWaterMark(!1), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;\n const noDecode = !!(options && options.decodeStrings === !1);\n this.decodeStrings = !noDecode, this.defaultEncoding = options && options.defaultEncoding || \"utf8\", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = onwrite.bind(void 0, stream), this.writecb = null, this.writelen = 0, this.afterWriteTickInfo = null, resetBuffer(this), this.pendingcb = 0, this.constructed = !0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !options || options.emitClose !== !1, this.autoDestroy = !options || options.autoDestroy !== !1, this.errored = null, this.closed = !1, this.closeEmitted = !1, this[kOnFinished] = [];\n }\n WritableState.prototype = {};\n function resetBuffer(state) {\n state.buffered = [], state.bufferedIndex = 0, state.allBuffers = !0, state.allNoop = !0;\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);\n }, ObjectDefineProperty(WritableState.prototype, \"bufferedRequestCount\", {\n get() {\n return this.buffered.length - this.bufferedIndex;\n }\n }), ObjectDefineProperty(Writable, SymbolHasInstance, {\n value: function(object) {\n if (FunctionPrototypeSymbolHasInstance(this, object))\n return !0;\n if (this !== Writable)\n return !1;\n return object && object._writableState instanceof WritableState;\n }\n }), Writable.prototype.pipe = function() {\n errorOrDestroy2(this, new ERR_STREAM_CANNOT_PIPE);\n };\n function _write(stream, chunk, encoding, cb) {\n const state = stream._writableState;\n if (typeof encoding === \"function\")\n cb = encoding, encoding = state.defaultEncoding;\n else {\n if (!encoding)\n encoding = state.defaultEncoding;\n else if (encoding !== \"buffer\" && !@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n if (typeof cb !== \"function\")\n cb = nop;\n }\n if (chunk === null)\n throw new ERR_STREAM_NULL_VALUES;\n else if (!state.objectMode)\n if (typeof chunk === \"string\") {\n if (state.decodeStrings !== !1)\n chunk = @Buffer.from(chunk, encoding), encoding = \"buffer\";\n } else if (chunk instanceof @Buffer)\n encoding = \"buffer\";\n else if (Stream._isUint8Array(chunk))\n chunk = Stream._uint8ArrayToBuffer(chunk), encoding = \"buffer\";\n else\n throw new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n let err;\n if (state.ending)\n err = new ERR_STREAM_WRITE_AFTER_END;\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"write\");\n if (err)\n return runOnNextTick(cb, err), errorOrDestroy2(stream, err, !0), err;\n return state.pendingcb++, writeOrBuffer(stream, state, chunk, encoding, cb);\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === !0;\n }, Writable.prototype.cork = function() {\n this._writableState.corked++;\n }, Writable.prototype.uncork = function() {\n const state = this._writableState;\n if (state.corked) {\n if (state.corked--, !state.writing)\n clearBuffer(this, state);\n }\n }, Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === \"string\")\n encoding = StringPrototypeToLowerCase(encoding);\n if (!@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n return this._writableState.defaultEncoding = encoding, this;\n };\n function writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode \? 1 : chunk.length;\n state.length += len;\n const ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = !0;\n if (state.writing || state.corked || state.errored || !state.constructed) {\n if (state.buffered.push({\n chunk,\n encoding,\n callback\n }), state.allBuffers && encoding !== \"buffer\")\n state.allBuffers = !1;\n if (state.allNoop && callback !== nop)\n state.allNoop = !1;\n } else\n state.writelen = len, state.writecb = callback, state.writing = !0, state.sync = !0, stream._write(chunk, encoding, state.onwrite), state.sync = !1;\n return ret && !state.errored && !state.destroyed;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n if (state.writelen = len, state.writecb = cb, state.writing = !0, state.sync = !0, state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED(\"write\"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = !1;\n }\n function onwriteError(stream, state, er, cb) {\n --state.pendingcb, cb(er), errorBuffer(state), errorOrDestroy2(stream, er);\n }\n function onwrite(stream, er) {\n const state = stream._writableState, sync = state.sync, cb = state.writecb;\n if (typeof cb !== \"function\") {\n errorOrDestroy2(stream, new ERR_MULTIPLE_CALLBACK);\n return;\n }\n if (state.writing = !1, state.writecb = null, state.length -= state.writelen, state.writelen = 0, er) {\n if (Error.captureStackTrace(er), !state.errored)\n state.errored = er;\n if (stream._readableState && !stream._readableState.errored)\n stream._readableState.errored = er;\n if (sync)\n runOnNextTick(onwriteError, stream, state, er, cb);\n else\n onwriteError(stream, state, er, cb);\n } else {\n if (state.buffered.length > state.bufferedIndex)\n clearBuffer(stream, state);\n if (sync)\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb)\n state.afterWriteTickInfo.count++;\n else\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }, runOnNextTick(afterWriteTick, state.afterWriteTickInfo);\n else\n afterWrite(stream, state, 1, cb);\n }\n }\n function afterWriteTick({ stream, state, count, cb }) {\n return state.afterWriteTickInfo = null, afterWrite(stream, state, count, cb);\n }\n function afterWrite(stream, state, count, cb) {\n if (!state.ending && !stream.destroyed && state.length === 0 && state.needDrain)\n state.needDrain = !1, stream.emit(\"drain\");\n while (count-- > 0)\n state.pendingcb--, cb();\n if (state.destroyed)\n errorBuffer(state);\n finishMaybe(stream, state);\n }\n function errorBuffer(state) {\n if (state.writing)\n return;\n for (let n = state.bufferedIndex;n < state.buffered.length; ++n) {\n var _state$errored;\n const { chunk, callback } = state.buffered[n], len = state.objectMode \? 1 : chunk.length;\n state.length -= len, callback((_state$errored = state.errored) !== null && _state$errored !== void 0 \? _state$errored : new ERR_STREAM_DESTROYED(\"write\"));\n }\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++) {\n var _state$errored2;\n onfinishCallbacks[i]((_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 \? _state$errored2 : new ERR_STREAM_DESTROYED(\"end\"));\n }\n resetBuffer(state);\n }\n function clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed)\n return;\n const { buffered, bufferedIndex, objectMode } = state, bufferedLength = buffered.length - bufferedIndex;\n if (!bufferedLength)\n return;\n let i = bufferedIndex;\n if (state.bufferProcessing = !0, bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1;\n const callback = state.allNoop \? nop : (err) => {\n for (let n = i;n < buffered.length; ++n)\n buffered[n].callback(err);\n }, chunks = state.allNoop && i === 0 \? buffered : ArrayPrototypeSlice(buffered, i);\n chunks.allBuffers = state.allBuffers, doWrite(stream, state, !0, state.length, chunks, \"\", callback), resetBuffer(state);\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i];\n buffered[i++] = null;\n const len = objectMode \? 1 : chunk.length;\n doWrite(stream, state, !1, len, chunk, encoding, callback);\n } while (i < buffered.length && !state.writing);\n if (i === buffered.length)\n resetBuffer(state);\n else if (i > 256)\n buffered.splice(0, i), state.bufferedIndex = 0;\n else\n state.bufferedIndex = i;\n }\n state.bufferProcessing = !1;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n if (this._writev)\n this._writev([\n {\n chunk,\n encoding\n }\n ], cb);\n else\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\");\n }, Writable.prototype._writev = null, Writable.prototype.end = function(chunk, encoding, cb, native = !1) {\n const state = this._writableState;\n if (typeof chunk === \"function\")\n cb = chunk, chunk = null, encoding = null;\n else if (typeof encoding === \"function\")\n cb = encoding, encoding = null;\n let err;\n if (chunk !== null && chunk !== void 0) {\n let ret;\n if (!native)\n ret = _write(this, chunk, encoding);\n else\n ret = this.write(chunk, encoding);\n if (ret instanceof Error2)\n err = ret;\n }\n if (state.corked)\n state.corked = 1, this.uncork();\n if (err)\n this.emit(\"error\", err);\n else if (!state.errored && !state.ending)\n state.ending = !0, finishMaybe(this, state, !0), state.ended = !0;\n else if (state.finished)\n err = new ERR_STREAM_ALREADY_FINISHED(\"end\");\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"end\");\n if (typeof cb === \"function\")\n if (err || state.finished)\n runOnNextTick(cb, err);\n else\n state[kOnFinished].push(cb);\n return this;\n };\n function needFinish(state, tag) {\n var needFinish2 = state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;\n return needFinish2;\n }\n function callFinal(stream, state) {\n let called = !1;\n function onFinish(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : ERR_MULTIPLE_CALLBACK());\n return;\n }\n if (called = !0, state.pendingcb--, err) {\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i](err);\n errorOrDestroy2(stream, err, state.sync);\n } else if (needFinish(state))\n state.prefinished = !0, stream.emit(\"prefinish\"), state.pendingcb++, runOnNextTick(finish, stream, state);\n }\n state.sync = !0, state.pendingcb++;\n try {\n stream._final(onFinish);\n } catch (err) {\n onFinish(err);\n }\n state.sync = !1;\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled)\n if (typeof stream._final === \"function\" && !state.destroyed)\n state.finalCalled = !0, callFinal(stream, state);\n else\n state.prefinished = !0, stream.emit(\"prefinish\");\n }\n function finishMaybe(stream, state, sync) {\n if (!needFinish(state, stream.__id))\n return;\n if (prefinish(stream, state), state.pendingcb === 0) {\n if (sync)\n state.pendingcb++, runOnNextTick((stream2, state2) => {\n if (needFinish(state2))\n finish(stream2, state2);\n else\n state2.pendingcb--;\n }, stream, state);\n else if (needFinish(state))\n state.pendingcb++, finish(stream, state);\n }\n }\n function finish(stream, state) {\n state.pendingcb--, state.finished = !0;\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i]();\n if (stream.emit(\"finish\"), state.autoDestroy) {\n const rState = stream._readableState;\n if (!rState || rState.autoDestroy && (rState.endEmitted || rState.readable === !1))\n stream.destroy();\n }\n }\n ObjectDefineProperties(Writable.prototype, {\n closed: {\n get() {\n return this._writableState \? this._writableState.closed : !1;\n }\n },\n destroyed: {\n get() {\n return this._writableState \? this._writableState.destroyed : !1;\n },\n set(value) {\n if (this._writableState)\n this._writableState.destroyed = value;\n }\n },\n writable: {\n get() {\n const w = this._writableState;\n return !!w && w.writable !== !1 && !w.destroyed && !w.errored && !w.ending && !w.ended;\n },\n set(val) {\n if (this._writableState)\n this._writableState.writable = !!val;\n }\n },\n writableFinished: {\n get() {\n return this._writableState \? this._writableState.finished : !1;\n }\n },\n writableObjectMode: {\n get() {\n return this._writableState \? this._writableState.objectMode : !1;\n }\n },\n writableBuffer: {\n get() {\n return this._writableState && this._writableState.getBuffer();\n }\n },\n writableEnded: {\n get() {\n return this._writableState \? this._writableState.ending : !1;\n }\n },\n writableNeedDrain: {\n get() {\n const wState = this._writableState;\n if (!wState)\n return !1;\n return !wState.destroyed && !wState.ending && wState.needDrain;\n }\n },\n writableHighWaterMark: {\n get() {\n return this._writableState && this._writableState.highWaterMark;\n }\n },\n writableCorked: {\n get() {\n return this._writableState \? this._writableState.corked : 0;\n }\n },\n writableLength: {\n get() {\n return this._writableState && this._writableState.length;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._writableState \? this._writableState.errored : null;\n }\n },\n writableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._writableState.writable !== !1 && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);\n }\n }\n });\n var destroy2 = destroyImpl.destroy;\n Writable.prototype.destroy = function(err, cb) {\n const state = this._writableState;\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length))\n runOnNextTick(errorBuffer, state);\n return destroy2.@call(this, err, cb), this;\n }, Writable.prototype._undestroy = destroyImpl.undestroy, Writable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Writable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n };\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Writable.fromWeb = function(writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);\n }, Writable.toWeb = function(streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);\n };\n }\n}), require_duplexify = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplexify.js\"(exports, module) {\n var {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream\n } = require_utils(), eos = require_end_of_stream(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }\n } = require_errors(), { destroyer } = require_destroy(), Duplex = require_duplex(), Readable = require_readable(), { createDeferredPromise } = require_util(), from = require_from(), isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, { FunctionPrototypeCall } = require_primordials();\n\n class Duplexify extends Duplex {\n constructor(options) {\n super(options);\n if ((options === null || options === @undefined \? @undefined : options.readable) === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if ((options === null || options === @undefined \? @undefined : options.writable) === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n }\n }\n module.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body))\n return body;\n if (isReadableNodeStream(body))\n return _duplexify({\n readable: body\n });\n if (isWritableNodeStream(body))\n return _duplexify({\n writable: body\n });\n if (isNodeStream(body))\n return _duplexify({\n writable: !1,\n readable: !1\n });\n if (typeof body === \"function\") {\n const { value, write, final, destroy: destroy2 } = fromAsyncGen(body);\n if (isIterable(value))\n return from(Duplexify, value, {\n objectMode: !0,\n write,\n final,\n destroy: destroy2\n });\n const then2 = value === null || value === void 0 \? void 0 : value.then;\n if (typeof then2 === \"function\") {\n let d;\n const promise = FunctionPrototypeCall(then2, value, (val) => {\n if (val != null)\n throw new ERR_INVALID_RETURN_VALUE(\"nully\", \"body\", val);\n }, (err) => {\n destroyer(d, err);\n });\n return d = new Duplexify({\n objectMode: !0,\n readable: !1,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise, runOnNextTick(cb, null);\n } catch (err) {\n runOnNextTick(cb, err);\n }\n });\n },\n destroy: destroy2\n });\n }\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\", name, value);\n }\n if (isBlob(body))\n return duplexify(body.arrayBuffer());\n if (isIterable(body))\n return from(Duplexify, body, {\n objectMode: !0,\n writable: !1\n });\n if (typeof (body === null || body === void 0 \? void 0 : body.writable) === \"object\" || typeof (body === null || body === void 0 \? void 0 : body.readable) === \"object\") {\n const readable = body !== null && body !== void 0 && body.readable \? isReadableNodeStream(body === null || body === void 0 \? void 0 : body.readable) \? body === null || body === void 0 \? void 0 : body.readable : duplexify(body.readable) : void 0, writable = body !== null && body !== void 0 && body.writable \? isWritableNodeStream(body === null || body === void 0 \? void 0 : body.writable) \? body === null || body === void 0 \? void 0 : body.writable : duplexify(body.writable) : void 0;\n return _duplexify({\n readable,\n writable\n });\n }\n const then = body === null || body === void 0 \? void 0 : body.then;\n if (typeof then === \"function\") {\n let d;\n return FunctionPrototypeCall(then, body, (val) => {\n if (val != null)\n d.push(val);\n d.push(null);\n }, (err) => {\n destroyer(d, err);\n }), d = new Duplexify({\n objectMode: !0,\n writable: !1,\n read() {\n }\n });\n }\n throw new ERR_INVALID_ARG_TYPE2(name, [\n \"Blob\",\n \"ReadableStream\",\n \"WritableStream\",\n \"Stream\",\n \"Iterable\",\n \"AsyncIterable\",\n \"Function\",\n \"{ readable, writable } pair\",\n \"Promise\"\n ], body);\n };\n function fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise();\n const ac = new AbortController, signal = ac.signal;\n return {\n value: fn(async function* () {\n while (!0) {\n const _promise = promise;\n promise = null;\n const { chunk, done, cb } = await _promise;\n if (runOnNextTick(cb), done)\n return;\n if (signal.aborted)\n throw new AbortError2(void 0, {\n cause: signal.reason\n });\n ({ promise, resolve } = createDeferredPromise()), yield chunk;\n }\n }(), {\n signal\n }),\n write(chunk, encoding, cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n chunk,\n done: !1,\n cb\n });\n },\n final(cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n done: !0,\n cb\n });\n },\n destroy(err, cb) {\n ac.abort(), cb(err);\n }\n };\n }\n function _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== \"function\" \? Readable.wrap(pair.readable) : pair.readable, w = pair.writable;\n let readable = !!isReadable(r), writable = !!isWritable(w), ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n if (d = new Duplexify({\n readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),\n readable,\n writable\n }), writable)\n eos(w, (err) => {\n if (writable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), d._write = function(chunk, encoding, callback) {\n if (w.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n w.end(), onfinish = callback;\n }, w.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), w.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n eos(r, (err) => {\n if (readable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), r.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), r.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = r.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(w, err), destroyer(r, err);\n }, d;\n }\n }\n}), require_duplex = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplex.js\"(exports, module) {\n var { ObjectDefineProperties, ObjectGetOwnPropertyDescriptor, ObjectKeys, ObjectSetPrototypeOf } = require_primordials(), Readable = require_readable();\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n if (Readable.@call(this, options), Writable.@call(this, options), options) {\n if (this.allowHalfOpen = options.allowHalfOpen !== !1, options.readable === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if (options.writable === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n } else\n this.allowHalfOpen = !0;\n }\n Duplex.prototype = {}, module.exports = Duplex, ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype), ObjectSetPrototypeOf(Duplex, Readable);\n for (var method in Writable.prototype)\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n ObjectDefineProperties(Duplex.prototype, {\n writable: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writable\"),\n writableHighWaterMark: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableHighWaterMark\"),\n writableObjectMode: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableObjectMode\"),\n writableBuffer: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableBuffer\"),\n writableLength: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableLength\"),\n writableFinished: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableFinished\"),\n writableCorked: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableCorked\"),\n writableEnded: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableEnded\"),\n writableNeedDrain: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableNeedDrain\"),\n destroyed: {\n get() {\n if (this._readableState === void 0 || this._writableState === void 0)\n return !1;\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set(value) {\n if (this._readableState && this._writableState)\n this._readableState.destroyed = value, this._writableState.destroyed = value;\n }\n }\n });\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Duplex.fromWeb = function(pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);\n }, Duplex.toWeb = function(duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);\n };\n var duplexify;\n Duplex.from = function(body) {\n if (!duplexify)\n duplexify = require_duplexify();\n return duplexify(body, \"body\");\n };\n }\n}), require_transform = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/transform.js\"(exports, module) {\n var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials(), { ERR_METHOD_NOT_IMPLEMENTED } = require_errors().codes, Duplex = require_duplex();\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n if (Duplex.@call(this, options), this._readableState.sync = !1, this[kCallback] = null, options) {\n if (typeof options.transform === \"function\")\n this._transform = options.transform;\n if (typeof options.flush === \"function\")\n this._flush = options.flush;\n }\n this.on(\"prefinish\", prefinish.bind(this));\n }\n Transform.prototype = {}, ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype), ObjectSetPrototypeOf(Transform, Duplex), module.exports = Transform;\n var kCallback = Symbol2(\"kCallback\");\n function final(cb) {\n if (typeof this._flush === \"function\" && !this.destroyed)\n this._flush((er, data) => {\n if (er) {\n if (cb)\n cb(er);\n else\n this.destroy(er);\n return;\n }\n if (data != null)\n this.push(data);\n if (this.push(null), cb)\n cb();\n });\n else if (this.push(null), cb)\n cb();\n }\n function prefinish() {\n if (this._final !== final)\n final.@call(this);\n }\n Transform.prototype._final = final, Transform.prototype._transform = function(chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\");\n }, Transform.prototype._write = function(chunk, encoding, callback) {\n const rState = this._readableState, wState = this._writableState, length = rState.length;\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err);\n return;\n }\n if (val != null)\n this.push(val);\n if (wState.ended || length === rState.length || rState.length < rState.highWaterMark || rState.highWaterMark === 0 || rState.length === 0)\n callback();\n else\n this[kCallback] = callback;\n });\n }, Transform.prototype._read = function() {\n if (this[kCallback]) {\n const callback = this[kCallback];\n this[kCallback] = null, callback();\n }\n };\n }\n}), require_passthrough = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/passthrough.js\"(exports, module) {\n var { ObjectSetPrototypeOf } = require_primordials(), Transform = require_transform();\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.@call(this, options);\n }\n PassThrough.prototype = {}, ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype), ObjectSetPrototypeOf(PassThrough, Transform), PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n }, module.exports = PassThrough;\n }\n}), require_pipeline = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/pipeline.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, Promise: Promise2, SymbolAsyncIterator } = require_primordials(), eos = require_end_of_stream(), { once } = require_util(), destroyImpl = require_destroy(), Duplex = require_duplex(), {\n aggregateTwoErrors,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS, ERR_STREAM_DESTROYED },\n AbortError: AbortError2\n } = require_errors(), { validateFunction, validateAbortSignal } = require_validators(), { isIterable, isReadable, isReadableNodeStream, isNodeStream } = require_utils(), PassThrough, Readable;\n function destroyer(stream, reading, writing) {\n let finished = !1;\n stream.on(\"close\", () => {\n finished = !0;\n });\n const cleanup = eos(stream, {\n readable: reading,\n writable: writing\n }, (err) => {\n finished = !err;\n });\n return {\n destroy: (err) => {\n if (finished)\n return;\n finished = !0, destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED(\"pipe\"));\n },\n cleanup\n };\n }\n function popCallback(streams) {\n return validateFunction(streams[streams.length - 1], \"streams[stream.length - 1]\"), streams.pop();\n }\n function makeAsyncIterable(val) {\n if (isIterable(val))\n return val;\n else if (isReadableNodeStream(val))\n return fromReadable(val);\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], val);\n }\n async function* fromReadable(val) {\n if (!Readable)\n Readable = require_readable();\n yield* Readable.prototype[SymbolAsyncIterator].@call(val);\n }\n async function pump(iterable, writable, finish, { end }) {\n let error, onresolve = null;\n const resume = (err) => {\n if (err)\n error = err;\n if (onresolve) {\n const callback = onresolve;\n onresolve = null, callback();\n }\n }, wait = () => new Promise2((resolve, reject) => {\n if (error)\n reject(error);\n else\n onresolve = () => {\n if (error)\n reject(error);\n else\n resolve();\n };\n });\n writable.on(\"drain\", resume);\n const cleanup = eos(writable, {\n readable: !1\n }, resume);\n try {\n if (writable.writableNeedDrain)\n await wait();\n for await (let chunk of iterable)\n if (!writable.write(chunk))\n await wait();\n if (end)\n writable.end();\n await wait(), finish();\n } catch (err) {\n finish(error !== err \? aggregateTwoErrors(error, err) : err);\n } finally {\n cleanup(), writable.off(\"drain\", resume);\n }\n }\n function pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)));\n }\n function pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray2(streams[0]))\n streams = streams[0];\n if (streams.length < 2)\n throw new ERR_MISSING_ARGS(\"streams\");\n const ac = new AbortController, signal = ac.signal, outerSignal = opts === null || opts === void 0 \? void 0 : opts.signal, lastStreamCleanup = [];\n validateAbortSignal(outerSignal, \"options.signal\");\n function abort() {\n finishImpl(new AbortError2);\n }\n outerSignal === null || outerSignal === void 0 || outerSignal.addEventListener(\"abort\", abort);\n let error, value;\n const destroys = [];\n let finishCount = 0;\n function finish(err) {\n finishImpl(err, --finishCount === 0);\n }\n function finishImpl(err, final) {\n if (err && (!error || error.code === \"ERR_STREAM_PREMATURE_CLOSE\"))\n error = err;\n if (!error && !final)\n return;\n while (destroys.length)\n destroys.shift()(error);\n if (outerSignal === null || outerSignal === void 0 || outerSignal.removeEventListener(\"abort\", abort), ac.abort(), final) {\n if (!error)\n lastStreamCleanup.forEach((fn) => fn());\n runOnNextTick(callback, error, value);\n }\n }\n let ret;\n for (let i = 0;i < streams.length; i++) {\n const stream = streams[i], reading = i < streams.length - 1, writing = i > 0, end = reading || (opts === null || opts === void 0 \? void 0 : opts.end) !== !1, isLastStream = i === streams.length - 1;\n if (isNodeStream(stream)) {\n let onError = function(err) {\n if (err && err.name !== \"AbortError\" && err.code !== \"ERR_STREAM_PREMATURE_CLOSE\")\n finish(err);\n };\n if (end) {\n const { destroy: destroy2, cleanup } = destroyer(stream, reading, writing);\n if (destroys.push(destroy2), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n if (stream.on(\"error\", onError), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(() => {\n stream.removeListener(\"error\", onError);\n });\n }\n if (i === 0)\n if (typeof stream === \"function\") {\n if (ret = stream({\n signal\n }), !isIterable(ret))\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\", \"source\", ret);\n } else if (isIterable(stream) || isReadableNodeStream(stream))\n ret = stream;\n else\n ret = Duplex.from(stream);\n else if (typeof stream === \"function\")\n if (ret = makeAsyncIterable(ret), ret = stream(ret, {\n signal\n }), reading) {\n if (!isIterable(ret, !0))\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\", `transform[${i - 1}]`, ret);\n } else {\n var _ret;\n if (!PassThrough)\n PassThrough = require_passthrough();\n const pt = new PassThrough({\n objectMode: !0\n }), then = (_ret = ret) === null || _ret === void 0 \? void 0 : _ret.then;\n if (typeof then === \"function\")\n finishCount++, then.@call(ret, (val) => {\n if (value = val, val != null)\n pt.write(val);\n if (end)\n pt.end();\n runOnNextTick(finish);\n }, (err) => {\n pt.destroy(err), runOnNextTick(finish, err);\n });\n else if (isIterable(ret, !0))\n finishCount++, pump(ret, pt, finish, {\n end\n });\n else\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\", \"destination\", ret);\n ret = pt;\n const { destroy: destroy2, cleanup } = destroyer(ret, !1, !0);\n if (destroys.push(destroy2), isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2;\n const cleanup = pipe(ret, stream, finish, {\n end\n });\n if (isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n } else if (isIterable(ret))\n finishCount++, pump(ret, stream, finish, {\n end\n });\n else\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], ret);\n ret = stream;\n } else\n ret = Duplex.from(stream);\n }\n if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted)\n runOnNextTick(abort);\n return ret;\n }\n function pipe(src, dst, finish, { end }) {\n if (src.pipe(dst, {\n end\n }), end)\n src.once(\"end\", () => dst.end());\n else\n finish();\n return eos(src, {\n readable: !0,\n writable: !1\n }, (err) => {\n const rState = src._readableState;\n if (err && err.code === \"ERR_STREAM_PREMATURE_CLOSE\" && rState && rState.ended && !rState.errored && !rState.errorEmitted)\n src.once(\"end\", finish).once(\"error\", finish);\n else\n finish(err);\n }), eos(dst, {\n readable: !1,\n writable: !0\n }, finish);\n }\n module.exports = {\n pipelineImpl,\n pipeline\n };\n }\n}), require_compose = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/compose.js\"(exports, module) {\n var { pipeline } = require_pipeline(), Duplex = require_duplex(), { destroyer } = require_destroy(), { isNodeStream, isReadable, isWritable } = require_utils(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_MISSING_ARGS }\n } = require_errors();\n module.exports = function compose(...streams) {\n if (streams.length === 0)\n throw new ERR_MISSING_ARGS(\"streams\");\n if (streams.length === 1)\n return Duplex.from(streams[0]);\n const orgStreams = [...streams];\n if (typeof streams[0] === \"function\")\n streams[0] = Duplex.from(streams[0]);\n if (typeof streams[streams.length - 1] === \"function\") {\n const idx = streams.length - 1;\n streams[idx] = Duplex.from(streams[idx]);\n }\n for (let n = 0;n < streams.length; ++n) {\n if (!isNodeStream(streams[n]))\n continue;\n if (n < streams.length - 1 && !isReadable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be readable\");\n if (n > 0 && !isWritable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be writable\");\n }\n let ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n const head = streams[0], tail = pipeline(streams, onfinished), writable = !!isWritable(head), readable = !!isReadable(tail);\n if (d = new Duplex({\n writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== void 0 && tail.writableObjectMode),\n writable,\n readable\n }), writable)\n d._write = function(chunk, encoding, callback) {\n if (head.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n head.end(), onfinish = callback;\n }, head.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), tail.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n tail.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), tail.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = tail.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(tail, err);\n }, d;\n };\n }\n}), require_promises = __commonJS({\n \"node_modules/readable-stream/lib/stream/promises.js\"(exports, module) {\n var { ArrayPrototypePop, Promise: Promise2 } = require_primordials(), { isIterable, isNodeStream } = require_utils(), { pipelineImpl: pl } = require_pipeline(), { finished } = require_end_of_stream();\n function pipeline(...streams) {\n return new Promise2((resolve, reject) => {\n let signal, end;\n const lastArg = streams[streams.length - 1];\n if (lastArg && typeof lastArg === \"object\" && !isNodeStream(lastArg) && !isIterable(lastArg)) {\n const options = ArrayPrototypePop(streams);\n signal = options.signal, end = options.end;\n }\n pl(streams, (err, value) => {\n if (err)\n reject(err);\n else\n resolve(value);\n }, {\n signal,\n end\n });\n });\n }\n module.exports = {\n finished,\n pipeline\n };\n }\n}), require_stream = __commonJS({\n \"node_modules/readable-stream/lib/stream.js\"(exports, module) {\n var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials(), {\n promisify: { custom: customPromisify }\n } = require_util(), { streamReturningOperators, promiseReturningOperators } = require_operators(), {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n } = require_errors(), compose = require_compose(), { pipeline } = require_pipeline(), { destroyer } = require_destroy(), eos = require_end_of_stream(), promises = require_promises(), utils = require_utils(), Stream = module.exports = require_legacy().Stream;\n Stream.isDisturbed = utils.isDisturbed, Stream.isErrored = utils.isErrored, Stream.isWritable = utils.isWritable, Stream.isReadable = utils.isReadable, Stream.Readable = require_readable();\n for (let key of ObjectKeys(streamReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return Stream.Readable.from(ReflectApply(op, this, args));\n };\n const op = streamReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n for (let key of ObjectKeys(promiseReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return ReflectApply(op, this, args);\n };\n const op = promiseReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n Stream.Writable = require_writable(), Stream.Duplex = require_duplex(), Stream.Transform = require_transform(), Stream.PassThrough = require_passthrough(), Stream.pipeline = pipeline;\n var { addAbortSignal } = require_add_abort_signal();\n Stream.addAbortSignal = addAbortSignal, Stream.finished = eos, Stream.destroy = destroyer, Stream.compose = compose, ObjectDefineProperty(Stream, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n }), ObjectDefineProperty(pipeline, customPromisify, {\n enumerable: !0,\n get() {\n return promises.pipeline;\n }\n }), ObjectDefineProperty(eos, customPromisify, {\n enumerable: !0,\n get() {\n return promises.finished;\n }\n }), Stream.Stream = Stream, Stream._isUint8Array = function isUint8Array(value) {\n return value instanceof @Uint8Array;\n }, Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return new @Buffer(chunk.buffer, chunk.byteOffset, chunk.byteLength);\n };\n }\n}), nativeReadableStreamPrototypes = {\n 0: @undefined,\n 1: @undefined,\n 2: @undefined,\n 3: @undefined,\n 4: @undefined,\n 5: @undefined\n}, Writable = require_writable(), _pathOrFdOrSink = Symbol(\"pathOrFdOrSink\"), _fileSink = Symbol(\"fileSink\"), _native = Symbol(\"native\");\nNativeWritable.prototype = Object.create(Writable.prototype);\nvar WritablePrototypeWrite = Writable.prototype.write;\nNativeWritable.prototype.write = function NativeWritablePrototypeWrite(chunk, encoding, cb, native) {\n if (!(native \?\? this[_native]))\n return this[_native] = !1, WritablePrototypeWrite.@call(this, chunk, encoding, cb);\n var fileSink = this[_fileSink] \?\? NativeWritable_lazyConstruct(this), result = fileSink.write(chunk);\n if (@isPromise(result))\n return result.then(() => {\n this.emit(\"drain\"), fileSink.flush(!0);\n }), !1;\n if (fileSink.flush(!0), typeof encoding === \"function\")\n cb = encoding;\n if (cb)\n cb(null, chunk.byteLength);\n return !0;\n};\nvar WritablePrototypeEnd = Writable.prototype.end;\nNativeWritable.prototype.end = function end(chunk, encoding, cb, native) {\n return WritablePrototypeEnd.@call(this, chunk, encoding, cb, native \?\? this[_native]);\n};\nNativeWritable.prototype.ref = function ref() {\n var sink = this[_fileSink];\n if (!sink)\n this.NativeWritable_lazyConstruct();\n sink.ref();\n};\nNativeWritable.prototype.unref = function unref() {\n this[_fileSink]\?.unref();\n};\nvar exports = require_stream(), promises = require_promises();\nexports._getNativeReadableStreamPrototype = getNativeReadableStreamPrototype;\nexports.NativeWritable = NativeWritable;\nObject.defineProperty(exports, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n});\nexports[Symbol.for(\"::bunternal::\")] = { _ReadableFromWeb, _ReadableFromWebForUndici };\nexports.eos = require_end_of_stream();\nexports.EventEmitter = EE;\nreturn exports})\n"); +static constexpr ASCIILiteral NodeStreamCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.ts\nvar isReadableStream = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @ReadableStream;\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n return new Error(`The argument '${name}' is invalid. Received '${value}' for type '${type}'`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value '${value}' is invalid for argument '${name}'. Reason: ${reason}`);\n}, createNativeStreamReadable = function(nativeType, Readable) {\n var [pull, start, cancel, setClose, deinit, updateRef, drainFn] = @lazy(nativeType), closer = [!1], handleNumberResult = function(nativeReadable, result, view, isClosed) {\n if (result > 0) {\n const slice = view.subarray(0, result), remainder = view.subarray(result);\n if (slice.byteLength > 0)\n nativeReadable.push(slice);\n if (isClosed)\n nativeReadable.push(null);\n return remainder.byteLength > 0 \? remainder : @undefined;\n }\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, handleArrayBufferViewResult = function(nativeReadable, result, view, isClosed) {\n if (result.byteLength > 0)\n nativeReadable.push(result);\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, DYNAMICALLY_ADJUST_CHUNK_SIZE = process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE !== \"1\";\n const finalizer = new FinalizationRegistry((ptr) => ptr && deinit(ptr)), MIN_BUFFER_SIZE = 512;\n var NativeReadable = class NativeReadable2 extends Readable {\n #bunNativePtr;\n #refCount = 1;\n #constructed = !1;\n #remainingChunk = @undefined;\n #highWaterMark;\n #pendingRead = !1;\n #hasResized = !DYNAMICALLY_ADJUST_CHUNK_SIZE;\n #unregisterToken;\n constructor(ptr, options = {}) {\n super(options);\n if (typeof options.highWaterMark === \"number\")\n this.#highWaterMark = options.highWaterMark;\n else\n this.#highWaterMark = 262144;\n this.#bunNativePtr = ptr, this.#constructed = !1, this.#remainingChunk = @undefined, this.#pendingRead = !1, this.#unregisterToken = {}, finalizer.register(this, this.#bunNativePtr, this.#unregisterToken);\n }\n _read(maxToRead) {\n if (this.#pendingRead)\n return;\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n this.push(null);\n return;\n }\n if (!this.#constructed)\n this.#internalConstruct(ptr);\n return this.#internalRead(this.#getRemainingChunk(maxToRead), ptr);\n }\n #internalConstruct(ptr) {\n this.#constructed = !0;\n const result = start(ptr, this.#highWaterMark);\n if (typeof result === \"number\" && result > 1)\n this.#hasResized = !0, this.#highWaterMark = Math.min(this.#highWaterMark, result);\n if (drainFn) {\n const drainResult = drainFn(ptr);\n if ((drainResult\?.byteLength \?\? 0) > 0)\n this.push(drainResult);\n }\n }\n #getRemainingChunk(maxToRead = this.#highWaterMark) {\n var chunk = this.#remainingChunk;\n if (chunk\?.byteLength \?\? 0 < MIN_BUFFER_SIZE) {\n var size = maxToRead > MIN_BUFFER_SIZE \? maxToRead : MIN_BUFFER_SIZE;\n this.#remainingChunk = chunk = new @Buffer(size);\n }\n return chunk;\n }\n #handleResult(result, view, isClosed) {\n if (typeof result === \"number\") {\n if (result >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleNumberResult(this, result, view, isClosed);\n } else if (typeof result === \"boolean\")\n return process.nextTick(() => {\n this.push(null);\n }), view\?.byteLength \?\? 0 > 0 \? view : @undefined;\n else if (@ArrayBuffer.isView(result)) {\n if (result.byteLength >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleArrayBufferViewResult(this, result, view, isClosed);\n } else\n throw new Error(\"Invalid result from pull\");\n }\n #internalRead(view, ptr) {\n closer[0] = !1;\n var result = pull(ptr, view, closer);\n if (@isPromise(result))\n return this.#pendingRead = !0, result.then((result2) => {\n this.#pendingRead = !1, this.#remainingChunk = this.#handleResult(result2, view, closer[0]);\n }, (reason) => {\n errorOrDestroy(this, reason);\n });\n else\n this.#remainingChunk = this.#handleResult(result, view, closer[0]);\n }\n _destroy(error, callback) {\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n callback(error);\n return;\n }\n if (finalizer.unregister(this.#unregisterToken), this.#bunNativePtr = 0, updateRef)\n updateRef(ptr, !1);\n cancel(ptr, error), callback(error);\n }\n ref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount++ === 0)\n updateRef(ptr, !0);\n }\n unref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount-- === 1)\n updateRef(ptr, !1);\n }\n };\n if (!updateRef)\n NativeReadable.prototype.ref = @undefined, NativeReadable.prototype.unref = @undefined;\n return NativeReadable;\n}, getNativeReadableStreamPrototype = function(nativeType, Readable) {\n return nativeReadableStreamPrototypes[nativeType] ||= createNativeStreamReadable(nativeType, Readable);\n}, getNativeReadableStream = function(Readable, stream, options) {\n if (!(stream && typeof stream === \"object\" && stream instanceof @ReadableStream))\n return @undefined;\n const native = @direct(stream);\n if (!native)\n return @undefined;\n const { stream: ptr, data: type } = native;\n return new (getNativeReadableStreamPrototype(type, Readable))(ptr, options);\n}, NativeWritable = function(pathOrFdOrSink, options = {}) {\n Writable.@call(this, options), this[_native] = !0, this._construct = NativeWritable_internalConstruct, this._destroy = NativeWritable_internalDestroy, this._final = NativeWritable_internalFinal, this[_pathOrFdOrSink] = pathOrFdOrSink;\n}, NativeWritable_internalConstruct = function(cb) {\n if (this._writableState.constructed = !0, this.constructed = !0, typeof cb === \"function\")\n cb();\n process.nextTick(() => {\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n });\n}, NativeWritable_lazyConstruct = function(stream) {\n var sink = stream[_pathOrFdOrSink];\n if (typeof sink === \"object\")\n if (typeof sink.write === \"function\")\n return stream[_fileSink] = sink;\n else\n throw new Error(\"Invalid FileSink\");\n else\n return stream[_fileSink] = Bun.file(sink).writer();\n}, NativeWritable_internalDestroy = function(error, cb) {\n const w = this._writableState, r = this._readableState;\n if (w)\n w.destroyed = !0, w.closeEmitted = !0;\n if (r)\n r.destroyed = !0, r.closeEmitted = !0;\n if (typeof cb === \"function\")\n cb(error);\n if (w\?.closeEmitted || r\?.closeEmitted)\n this.emit(\"close\");\n}, NativeWritable_internalFinal = function(cb) {\n var sink = this[_fileSink];\n if (sink)\n sink.end();\n if (cb)\n cb();\n}, EE = @lazy(\"events\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, runOnNextTick = process.nextTick;\nvar ArrayIsArray = @Array.isArray, require_primordials = __commonJS({\n \"node_modules/readable-stream/lib/ours/primordials.js\"(exports, module) {\n module.exports = {\n ArrayIsArray(self) {\n return @Array.isArray(self);\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el);\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el);\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep);\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn);\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el);\n },\n ArrayPrototypePush(self, el) {\n return self.push(el);\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.@call(thisArgs, ...args);\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].@call(self, instance);\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props);\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop);\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name);\n },\n ObjectKeys(obj) {\n return Object.keys(obj);\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto);\n },\n Promise: @Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn);\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn);\n },\n PromiseReject(err) {\n return @Promise.reject(err);\n },\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n RegExpPrototypeTest(self, value) {\n return self.test(value);\n },\n SafeSet: Set,\n String: @String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase();\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase();\n },\n StringPrototypeTrim(self) {\n return self.trim();\n },\n Symbol,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len);\n },\n Uint8Array: @Uint8Array\n };\n }\n}), require_util = __commonJS({\n \"node_modules/readable-stream/lib/ours/util.js\"(exports, module) {\n var AsyncFunction = Object.getPrototypeOf(async function() {\n }).constructor, isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, AggregateError = class extends Error {\n constructor(errors) {\n if (!@Array.isArray(errors))\n @throwTypeError(`Expected input to be an Array, got ${typeof errors}`);\n let message = \"\";\n for (let i = 0;i < errors.length; i++)\n message += ` ${errors[i].stack}\n`;\n super(message);\n this.name = \"AggregateError\", this.errors = errors;\n }\n };\n module.exports = {\n AggregateError,\n once(callback) {\n let called = !1;\n return function(...args) {\n if (called)\n return;\n called = !0, callback.@apply(this, args);\n };\n },\n createDeferredPromise: function() {\n let resolve, reject;\n return {\n promise: new @Promise((res, rej) => {\n resolve = res, reject = rej;\n }),\n resolve,\n reject\n };\n },\n promisify(fn) {\n return new @Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err)\n return reject(err);\n return resolve(...args);\n });\n });\n },\n debuglog() {\n return function() {\n };\n },\n format(format, ...args) {\n return format.replace(/%([sdifj])/g, function(...[_unused, type]) {\n const replacement = args.shift();\n if (type === \"f\")\n return replacement.toFixed(6);\n else if (type === \"j\")\n return JSON.stringify(replacement);\n else if (type === \"s\" && typeof replacement === \"object\")\n return `${replacement.constructor !== Object \? replacement.constructor.name : \"\"} {}`.trim();\n else\n return replacement.toString();\n });\n },\n inspect(value) {\n switch (typeof value) {\n case \"string\":\n if (value.includes(\"'\")) {\n if (!value.includes('\"'))\n return `\"${value}\"`;\n else if (!value.includes(\"`\") && !value.includes(\"${\"))\n return `\\`${value}\\``;\n }\n return `'${value}'`;\n case \"number\":\n if (isNaN(value))\n return \"NaN\";\n else if (Object.is(value, -0))\n return @String(value);\n return value;\n case \"bigint\":\n return `${@String(value)}n`;\n case \"boolean\":\n case \"undefined\":\n return @String(value);\n case \"object\":\n return \"{}\";\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction;\n },\n isArrayBufferView(arr) {\n return @ArrayBuffer.isView(arr);\n }\n },\n isBlob\n }, module.exports.promisify.custom = Symbol.for(\"nodejs.util.promisify.custom\");\n }\n}), require_errors = __commonJS({\n \"node_modules/readable-stream/lib/ours/errors.js\"(exports, module) {\n var { format, inspect, AggregateError: CustomAggregateError } = require_util(), AggregateError = globalThis.AggregateError || CustomAggregateError, kIsNodeError = Symbol(\"kIsNodeError\"), kTypes = [\"string\", \"function\", \"number\", \"object\", \"Function\", \"Object\", \"boolean\", \"bigint\", \"symbol\"], classRegExp = /^([A-Z][a-z0-9]*)+$/, nodeInternalPrefix = \"__node_internal_\", codes = {};\n function assert(value, message) {\n if (!value)\n throw new codes.ERR_INTERNAL_ASSERTION(message);\n }\n function addNumericalSeparator(val) {\n let res = \"\", i = val.length;\n const start = val[0] === \"-\" \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n res = `_${val.slice(i - 3, i)}${res}`;\n return `${val.slice(0, i)}${res}`;\n }\n function getMessage(key, msg, args) {\n if (typeof msg === \"function\")\n return assert(msg.length <= args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`), msg(...args);\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;\n if (assert(expectedLength === args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`), args.length === 0)\n return msg;\n return format(msg, ...args);\n }\n function E(code, message, Base) {\n if (!Base)\n Base = Error;\n\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args));\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`;\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: !0,\n enumerable: !1,\n configurable: !0\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`;\n },\n writable: !0,\n enumerable: !1,\n configurable: !0\n }\n }), NodeError.prototype.code = code, NodeError.prototype[kIsNodeError] = !0, codes[code] = NodeError;\n }\n function hideStackFrames(fn) {\n const hidden = nodeInternalPrefix + fn.name;\n return Object.defineProperty(fn, \"name\", {\n value: hidden\n }), fn;\n }\n function aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (@Array.isArray(outerError.errors))\n return outerError.errors.push(innerError), outerError;\n const err = new AggregateError([outerError, innerError], outerError.message);\n return err.code = outerError.code, err;\n }\n return innerError || outerError;\n }\n var AbortError2 = class extends Error {\n constructor(message = \"The operation was aborted\", options = void 0) {\n if (options !== void 0 && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n };\n E(\"ERR_ASSERTION\", \"%s\", Error), E(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !@Array.isArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (name.endsWith(\" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${name.includes(\".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), kTypes.includes(value))\n types.push(value.toLowerCase());\n else if (classRegExp.test(value))\n instances.push(value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), other.push(value);\n if (instances.length > 0) {\n const pos = types.indexOf(\"object\");\n if (pos !== -1)\n types.splice(types, pos, 1), instances.push(\"Object\");\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`;\n break;\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`;\n break;\n default: {\n const last = types.pop();\n msg += `one of type ${types.join(\", \")}, or ${last}`;\n }\n }\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`;\n break;\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`;\n break;\n default: {\n const last = instances.pop();\n msg += `an instance of ${instances.join(\", \")}, or ${last}`;\n }\n }\n if (other.length > 0)\n msg += \" or \";\n }\n switch (other.length) {\n case 0:\n break;\n case 1:\n if (other[0].toLowerCase() !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n break;\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`;\n break;\n default: {\n const last = other.pop();\n msg += `one of ${other.join(\", \")}, or ${last}`;\n }\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\") {\n var _actual$constructor;\n if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else {\n const inspected = inspect(actual, {\n depth: -1\n });\n msg += `. Received ${inspected}`;\n }\n } else {\n let inspected = inspect(actual, {\n colors: !1\n });\n if (inspected.length > 25)\n inspected = `${inspected.slice(0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }, TypeError), E(\"ERR_INVALID_ARG_VALUE\", (name, value, reason = \"is invalid\") => {\n let inspected = inspect(value);\n if (inspected.length > 128)\n inspected = inspected.slice(0, 128) + \"...\";\n return `The ${name.includes(\".\") \? \"property\" : \"argument\"} '${name}' ${reason}. Received ${inspected}`;\n }, TypeError), E(\"ERR_INVALID_RETURN_VALUE\", (input, name, value) => {\n var _value$constructor;\n const type = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name \? `instance of ${value.constructor.name}` : `type ${typeof value}`;\n return `Expected ${input} to be returned from the \"${name}\" function but got ${type}.`;\n }, TypeError), E(\"ERR_MISSING_ARGS\", (...args) => {\n assert(args.length > 0, \"At least one arg needs to be specified\");\n let msg;\n const len = args.length;\n switch (args = (@Array.isArray(args) \? args : [args]).map((a) => `\"${a}\"`).join(\" or \"), len) {\n case 1:\n msg += `The ${args[0]} argument`;\n break;\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`;\n break;\n default:\n {\n const last = args.pop();\n msg += `The ${args.join(\", \")}, and ${last} arguments`;\n }\n break;\n }\n return `${msg} must be specified`;\n }, TypeError), E(\"ERR_OUT_OF_RANGE\", (str, range, input) => {\n assert(range, 'Missing \"range\" argument');\n let received;\n if (Number.isInteger(input) && Math.abs(input) > 4294967296)\n received = addNumericalSeparator(@String(input));\n else if (typeof input === \"bigint\") {\n if (received = @String(input), input > 2n ** 32n || input < -(2n ** 32n))\n received = addNumericalSeparator(received);\n received += \"n\";\n } else\n received = inspect(input);\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`;\n }, RangeError), E(\"ERR_MULTIPLE_CALLBACK\", \"Callback called multiple times\", Error), E(\"ERR_METHOD_NOT_IMPLEMENTED\", \"The %s method is not implemented\", Error), E(\"ERR_STREAM_ALREADY_FINISHED\", \"Cannot call %s after a stream was finished\", Error), E(\"ERR_STREAM_CANNOT_PIPE\", \"Cannot pipe, not readable\", Error), E(\"ERR_STREAM_DESTROYED\", \"Cannot call %s after a stream was destroyed\", Error), E(\"ERR_STREAM_NULL_VALUES\", \"May not write null values to stream\", TypeError), E(\"ERR_STREAM_PREMATURE_CLOSE\", \"Premature close\", Error), E(\"ERR_STREAM_PUSH_AFTER_EOF\", \"stream.push() after EOF\", Error), E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\", \"stream.unshift() after end event\", Error), E(\"ERR_STREAM_WRITE_AFTER_END\", \"write after end\", Error), E(\"ERR_UNKNOWN_ENCODING\", \"Unknown encoding: %s\", TypeError), module.exports = {\n AbortError: AbortError2,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n };\n }\n}), require_validators = __commonJS({\n \"node_modules/readable-stream/lib/internal/validators.js\"(exports, module) {\n var {\n ArrayIsArray: ArrayIsArray2,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n RegExpPrototypeTest,\n String: String2,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n } = require_primordials(), {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n } = require_errors(), { normalizeEncoding } = require_util(), { isAsyncFunction, isArrayBufferView } = require_util().types, signals = {};\n function isInt32(value) {\n return value === (value | 0);\n }\n function isUint32(value) {\n return value === value >>> 0;\n }\n var octalReg = /^[0-7]+$/, modeDesc = \"must be a 32-bit unsigned integer or an octal string\";\n function parseFileMode(value, name, def) {\n if (typeof value === \"undefined\")\n value = def;\n if (typeof value === \"string\") {\n if (!RegExpPrototypeTest(octalReg, value))\n throw new ERR_INVALID_ARG_VALUE2(name, value, modeDesc);\n value = NumberParseInt(value, 8);\n }\n return validateInt32(value, name, 0, 4294967295), value;\n }\n var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isInt32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateUint32 = hideStackFrames((value, name, positive) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isUint32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${positive \? 1 : 0} && < 4294967296`, value);\n }\n if (positive && value === 0)\n throw new ERR_OUT_OF_RANGE(name, \">= 1 && < 4294967296\", value);\n });\n function validateString(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"string\", value);\n }\n function validateNumber(value, name) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n }\n var validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const reason = \"must be one of: \" + ArrayPrototypeJoin(ArrayPrototypeMap(oneOf, (v) => typeof v === \"string\" \? `'${v}'` : String2(v)), \", \");\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateBoolean2(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"boolean\", value);\n }\n var validateObject = hideStackFrames((value, name, options) => {\n const useDefaultOptions = options == null, allowArray = useDefaultOptions \? !1 : options.allowArray, allowFunction = useDefaultOptions \? !1 : options.allowFunction;\n if (!(useDefaultOptions \? !1 : options.nullable) && value === null || !allowArray && ArrayIsArray2(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Object\", value);\n }), validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray2(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateSignalName(signal, name = \"signal\") {\n if (validateString(signal, name), signals[signal] === void 0) {\n if (signals[StringPrototypeToUpperCase(signal)] !== void 0)\n throw new ERR_UNKNOWN_SIGNAL(signal + \" (signals must use all capital letters)\");\n throw new ERR_UNKNOWN_SIGNAL(signal);\n }\n }\n var validateBuffer = hideStackFrames((buffer, name = \"buffer\") => {\n if (!isArrayBufferView(buffer))\n throw new ERR_INVALID_ARG_TYPE2(name, [\"Buffer\", \"TypedArray\", \"DataView\"], buffer);\n });\n function validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding), length = data.length;\n if (normalizedEncoding === \"hex\" && length % 2 !== 0)\n throw new ERR_INVALID_ARG_VALUE2(\"encoding\", encoding, `is invalid for data of length ${length}`);\n }\n function validatePort(port, name = \"Port\", allowZero = !0) {\n if (typeof port !== \"number\" && typeof port !== \"string\" || typeof port === \"string\" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero)\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);\n return port | 0;\n }\n var validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== void 0 && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n }), validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\" || isAsyncFunction(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validateUndefined = hideStackFrames((value, name) => {\n if (value !== void 0)\n throw new ERR_INVALID_ARG_TYPE2(name, \"undefined\", value);\n });\n module.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateBoolean: validateBoolean2,\n validateBuffer,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateAbortSignal\n };\n }\n}), require_utils = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/utils.js\"(exports, module) {\n var { Symbol: Symbol2, SymbolAsyncIterator, SymbolIterator } = require_primordials(), kDestroyed = Symbol2(\"kDestroyed\"), kIsErrored = Symbol2(\"kIsErrored\"), kIsReadable = Symbol2(\"kIsReadable\"), kIsDisturbed = Symbol2(\"kIsDisturbed\");\n function isReadableNodeStream(obj, strict = !1) {\n var _obj$_readableState;\n return !!(obj && typeof obj.pipe === \"function\" && typeof obj.on === \"function\" && (!strict || typeof obj.pause === \"function\" && typeof obj.resume === \"function\") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 \? void 0 : _obj$_readableState.readable) !== !1) && (!obj._writableState || obj._readableState));\n }\n function isWritableNodeStream(obj) {\n var _obj$_writableState;\n return !!(obj && typeof obj.write === \"function\" && typeof obj.on === \"function\" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 \? void 0 : _obj$_writableState.writable) !== !1));\n }\n function isDuplexNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\" && obj._readableState && typeof obj.on === \"function\" && typeof obj.write === \"function\");\n }\n function isNodeStream(obj) {\n return obj && (obj._readableState || obj._writableState || typeof obj.write === \"function\" && typeof obj.on === \"function\" || typeof obj.pipe === \"function\" && typeof obj.on === \"function\");\n }\n function isIterable(obj, isAsync) {\n if (obj == null)\n return !1;\n if (isAsync === !0)\n return typeof obj[SymbolAsyncIterator] === \"function\";\n if (isAsync === !1)\n return typeof obj[SymbolIterator] === \"function\";\n return typeof obj[SymbolAsyncIterator] === \"function\" || typeof obj[SymbolIterator] === \"function\";\n }\n function isDestroyed(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !!(stream.destroyed || stream[kDestroyed] || state !== null && state !== void 0 && state.destroyed);\n }\n function isWritableEnded(stream) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableEnded === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.ended) !== \"boolean\")\n return null;\n return wState.ended;\n }\n function isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableFinished === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.finished) !== \"boolean\")\n return null;\n return !!(wState.finished || strict === !1 && wState.ended === !0 && wState.length === 0);\n }\n function isReadableEnded(stream) {\n if (!isReadableNodeStream(stream))\n return null;\n if (stream.readableEnded === !0)\n return !0;\n const rState = stream._readableState;\n if (!rState || rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.ended) !== \"boolean\")\n return null;\n return rState.ended;\n }\n function isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream))\n return null;\n const rState = stream._readableState;\n if (rState !== null && rState !== void 0 && rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.endEmitted) !== \"boolean\")\n return null;\n return !!(rState.endEmitted || strict === !1 && rState.ended === !0 && rState.length === 0);\n }\n function isReadable(stream) {\n if (stream && stream[kIsReadable] != null)\n return stream[kIsReadable];\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.readable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);\n }\n function isWritable(stream) {\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.writable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);\n }\n function isFinished(stream, opts) {\n if (!isNodeStream(stream))\n return null;\n if (isDestroyed(stream))\n return !0;\n if ((opts === null || opts === void 0 \? void 0 : opts.readable) !== !1 && isReadable(stream))\n return !1;\n if ((opts === null || opts === void 0 \? void 0 : opts.writable) !== !1 && isWritable(stream))\n return !1;\n return !0;\n }\n function isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.writableErrored)\n return stream.writableErrored;\n return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 \? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 \? _stream$_writableStat : null;\n }\n function isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.readableErrored)\n return stream.readableErrored;\n return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 \? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 \? _stream$_readableStat : null;\n }\n function isClosed(stream) {\n if (!isNodeStream(stream))\n return null;\n if (typeof stream.closed === \"boolean\")\n return stream.closed;\n const { _writableState: wState, _readableState: rState } = stream;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.closed) === \"boolean\" || typeof (rState === null || rState === void 0 \? void 0 : rState.closed) === \"boolean\")\n return (wState === null || wState === void 0 \? void 0 : wState.closed) || (rState === null || rState === void 0 \? void 0 : rState.closed);\n if (typeof stream._closed === \"boolean\" && isOutgoingMessage(stream))\n return stream._closed;\n return null;\n }\n function isOutgoingMessage(stream) {\n return typeof stream._closed === \"boolean\" && typeof stream._defaultKeepAlive === \"boolean\" && typeof stream._removedConnection === \"boolean\" && typeof stream._removedContLen === \"boolean\";\n }\n function isServerResponse(stream) {\n return typeof stream._sent100 === \"boolean\" && isOutgoingMessage(stream);\n }\n function isServerRequest(stream) {\n var _stream$req;\n return typeof stream._consuming === \"boolean\" && typeof stream._dumped === \"boolean\" && ((_stream$req = stream.req) === null || _stream$req === void 0 \? void 0 : _stream$req.upgradeOrConnect) === void 0;\n }\n function willEmitClose(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === !1);\n }\n function isDisturbed(stream) {\n var _stream$kIsDisturbed;\n return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 \? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));\n }\n function isErrored(stream) {\n var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;\n return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 \? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 \? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 \? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 \? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 \? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 \? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 \? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 \? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 \? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 \? void 0 : _stream$_writableStat4.errored));\n }\n module.exports = {\n kDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n isClosed,\n isDestroyed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWritable,\n isWritableNodeStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose\n };\n }\n}), require_end_of_stream = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes, { once } = require_util(), { validateAbortSignal, validateFunction, validateObject } = require_validators(), { Promise: Promise2 } = require_primordials(), {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose\n } = require_utils();\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n }\n var nop = () => {\n };\n function eos(stream, options, callback) {\n var _options$readable, _options$writable;\n if (arguments.length === 2)\n callback = options, options = {};\n else if (options == null)\n options = {};\n else\n validateObject(options, \"options\");\n validateFunction(callback, \"callback\"), validateAbortSignal(options.signal, \"options.signal\"), callback = once(callback);\n const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 \? _options$readable : isReadableNodeStream(stream), writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 \? _options$writable : isWritableNodeStream(stream);\n if (!isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"Stream\", stream);\n const { _writableState: wState, _readableState: rState } = stream, onlegacyfinish = () => {\n if (!stream.writable)\n onfinish();\n };\n let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable, writableFinished = isWritableFinished(stream, !1);\n const onfinish = () => {\n if (writableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.readable || readable))\n return;\n if (!readable || readableFinished)\n callback.@call(stream);\n };\n let readableFinished = isReadableFinished(stream, !1);\n const onend = () => {\n if (readableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.writable || writable))\n return;\n if (!writable || writableFinished)\n callback.@call(stream);\n }, onerror = (err) => {\n callback.@call(stream, err);\n };\n let closed = isClosed(stream);\n const onclose = () => {\n closed = !0;\n const errored = isWritableErrored(stream) || isReadableErrored(stream);\n if (errored && typeof errored !== \"boolean\")\n return callback.@call(stream, errored);\n if (readable && !readableFinished && isReadableNodeStream(stream, !0)) {\n if (!isReadableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n callback.@call(stream);\n }, onrequest = () => {\n stream.req.on(\"finish\", onfinish);\n };\n if (isRequest(stream)) {\n if (stream.on(\"complete\", onfinish), !willEmitClose)\n stream.on(\"abort\", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on(\"request\", onrequest);\n } else if (writable && !wState)\n stream.on(\"end\", onlegacyfinish), stream.on(\"close\", onlegacyfinish);\n if (!willEmitClose && typeof stream.aborted === \"boolean\")\n stream.on(\"aborted\", onclose);\n if (stream.on(\"end\", onend), stream.on(\"finish\", onfinish), options.error !== !1)\n stream.on(\"error\", onerror);\n if (stream.on(\"close\", onclose), closed)\n runOnNextTick(onclose);\n else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {\n if (!willEmitClose)\n runOnNextTick(onclose);\n } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === !1))\n runOnNextTick(onclose);\n else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === !1))\n runOnNextTick(onclose);\n else if (rState && stream.req && stream.aborted)\n runOnNextTick(onclose);\n const cleanup = () => {\n if (callback = nop, stream.removeListener(\"aborted\", onclose), stream.removeListener(\"complete\", onfinish), stream.removeListener(\"abort\", onclose), stream.removeListener(\"request\", onrequest), stream.req)\n stream.req.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onlegacyfinish), stream.removeListener(\"close\", onlegacyfinish), stream.removeListener(\"finish\", onfinish), stream.removeListener(\"end\", onend), stream.removeListener(\"error\", onerror), stream.removeListener(\"close\", onclose);\n };\n if (options.signal && !closed) {\n const abort = () => {\n const endCallback = callback;\n cleanup(), endCallback.@call(stream, new AbortError2(void 0, {\n cause: options.signal.reason\n }));\n };\n if (options.signal.aborted)\n runOnNextTick(abort);\n else {\n const originalCallback = callback;\n callback = once((...args) => {\n options.signal.removeEventListener(\"abort\", abort), originalCallback.@apply(stream, args);\n }), options.signal.addEventListener(\"abort\", abort);\n }\n }\n return cleanup;\n }\n function finished(stream, opts) {\n return new Promise2((resolve, reject) => {\n eos(stream, opts, (err) => {\n if (err)\n reject(err);\n else\n resolve();\n });\n });\n }\n module.exports = eos, module.exports.finished = finished;\n }\n}), require_operators = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/operators.js\"(exports, module) {\n var {\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError: AbortError2\n } = require_errors(), { validateAbortSignal, validateInteger, validateObject } = require_validators(), kWeakHandler = require_primordials().Symbol(\"kWeak\"), { finished } = require_end_of_stream(), {\n ArrayPrototypePush,\n MathFloor,\n Number: Number2,\n NumberIsNaN,\n Promise: Promise2,\n PromiseReject,\n PromisePrototypeCatch,\n Symbol: Symbol2\n } = require_primordials(), kEmpty = Symbol2(\"kEmpty\"), kEof = Symbol2(\"kEof\");\n function map(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let concurrency = 1;\n if ((options === null || options === void 0 \? void 0 : options.concurrency) != null)\n concurrency = MathFloor(options.concurrency);\n return validateInteger(concurrency, \"concurrency\", 1), async function* map2() {\n var _options$signal, _options$signal2;\n const ac = new AbortController, stream = this, queue = [], signal = ac.signal, signalOpt = {\n signal\n }, abort = () => ac.abort();\n if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted)\n abort();\n options === null || options === void 0 || (_options$signal2 = options.signal) === null || _options$signal2 === void 0 || _options$signal2.addEventListener(\"abort\", abort);\n let next, resume, done = !1;\n function onDone() {\n done = !0;\n }\n async function pump() {\n try {\n for await (let val of stream) {\n var _val;\n if (done)\n return;\n if (signal.aborted)\n throw new AbortError2;\n try {\n val = fn(val, signalOpt);\n } catch (err) {\n val = PromiseReject(err);\n }\n if (val === kEmpty)\n continue;\n if (typeof ((_val = val) === null || _val === void 0 \? void 0 : _val.catch) === \"function\")\n val.catch(onDone);\n if (queue.push(val), next)\n next(), next = null;\n if (!done && queue.length && queue.length >= concurrency)\n await new Promise2((resolve) => {\n resume = resolve;\n });\n }\n queue.push(kEof);\n } catch (err) {\n const val = PromiseReject(err);\n PromisePrototypeCatch(val, onDone), queue.push(val);\n } finally {\n var _options$signal3;\n if (done = !0, next)\n next(), next = null;\n options === null || options === void 0 || (_options$signal3 = options.signal) === null || _options$signal3 === void 0 || _options$signal3.removeEventListener(\"abort\", abort);\n }\n }\n pump();\n try {\n while (!0) {\n while (queue.length > 0) {\n const val = await queue[0];\n if (val === kEof)\n return;\n if (signal.aborted)\n throw new AbortError2;\n if (val !== kEmpty)\n yield val;\n if (queue.shift(), resume)\n resume(), resume = null;\n }\n await new Promise2((resolve) => {\n next = resolve;\n });\n }\n } finally {\n if (ac.abort(), done = !0, resume)\n resume(), resume = null;\n }\n }.@call(this);\n }\n function asIndexedPairs(options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return async function* asIndexedPairs2() {\n let index = 0;\n for await (let val of this) {\n var _options$signal4;\n if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted)\n throw new AbortError2({\n cause: options.signal.reason\n });\n yield [index++, val];\n }\n }.@call(this);\n }\n async function some(fn, options = void 0) {\n for await (let unused of filter.@call(this, fn, options))\n return !0;\n return !1;\n }\n async function every(fn, options = void 0) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n return !await some.@call(this, async (...args) => {\n return !await fn(...args);\n }, options);\n }\n async function find(fn, options) {\n for await (let result of filter.@call(this, fn, options))\n return result;\n return;\n }\n async function forEach(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function forEachFn(value, options2) {\n return await fn(value, options2), kEmpty;\n }\n for await (let unused of map.@call(this, forEachFn, options))\n ;\n }\n function filter(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function filterFn(value, options2) {\n if (await fn(value, options2))\n return value;\n return kEmpty;\n }\n return map.@call(this, filterFn, options);\n }\n var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {\n constructor() {\n super(\"reduce\");\n this.message = \"Reduce of an empty stream requires an initial value\";\n }\n };\n async function reduce(reducer, initialValue, options) {\n var _options$signal5;\n if (typeof reducer !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"reducer\", [\"Function\", \"AsyncFunction\"], reducer);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let hasInitialValue = arguments.length > 1;\n if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {\n const err = new AbortError2(void 0, {\n cause: options.signal.reason\n });\n throw this.once(\"error\", () => {\n }), await finished(this.destroy(err)), err;\n }\n const ac = new AbortController, signal = ac.signal;\n if (options !== null && options !== void 0 && options.signal) {\n const opts = {\n once: !0,\n [kWeakHandler]: this\n };\n options.signal.addEventListener(\"abort\", () => ac.abort(), opts);\n }\n let gotAnyItemFromStream = !1;\n try {\n for await (let value of this) {\n var _options$signal6;\n if (gotAnyItemFromStream = !0, options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted)\n throw new AbortError2;\n if (!hasInitialValue)\n initialValue = value, hasInitialValue = !0;\n else\n initialValue = await reducer(initialValue, value, {\n signal\n });\n }\n if (!gotAnyItemFromStream && !hasInitialValue)\n throw new ReduceAwareErrMissingArgs;\n } finally {\n ac.abort();\n }\n return initialValue;\n }\n async function toArray(options) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n const result = [];\n for await (let val of this) {\n var _options$signal7;\n if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted)\n throw new AbortError2(void 0, {\n cause: options.signal.reason\n });\n ArrayPrototypePush(result, val);\n }\n return result;\n }\n function flatMap(fn, options) {\n const values = map.@call(this, fn, options);\n return async function* flatMap2() {\n for await (let val of values)\n yield* val;\n }.@call(this);\n }\n function toIntegerOrInfinity(number) {\n if (number = Number2(number), NumberIsNaN(number))\n return 0;\n if (number < 0)\n throw new ERR_OUT_OF_RANGE(\"number\", \">= 0\", number);\n return number;\n }\n function drop(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* drop2() {\n var _options$signal8;\n if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal9;\n if (options !== null && options !== void 0 && (_options$signal9 = options.signal) !== null && _options$signal9 !== void 0 && _options$signal9.aborted)\n throw new AbortError2;\n if (number-- <= 0)\n yield val;\n }\n }.@call(this);\n }\n function take(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* take2() {\n var _options$signal10;\n if (options !== null && options !== void 0 && (_options$signal10 = options.signal) !== null && _options$signal10 !== void 0 && _options$signal10.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal11;\n if (options !== null && options !== void 0 && (_options$signal11 = options.signal) !== null && _options$signal11 !== void 0 && _options$signal11.aborted)\n throw new AbortError2;\n if (number-- > 0)\n yield val;\n else\n return;\n }\n }.@call(this);\n }\n module.exports.streamReturningOperators = {\n asIndexedPairs,\n drop,\n filter,\n flatMap,\n map,\n take\n }, module.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n };\n }\n}), require_destroy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/destroy.js\"(exports, module) {\n var {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError: AbortError2\n } = require_errors(), { Symbol: Symbol2 } = require_primordials(), { kDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils(), kDestroy = \"#kDestroy\", kConstruct = \"#kConstruct\";\n function checkError(err, w, r) {\n if (err) {\n if (err.stack, w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n }\n }\n function destroy2(err, cb) {\n const r = this._readableState, w = this._writableState, s = w || r;\n if (w && w.destroyed || r && r.destroyed) {\n if (typeof cb === \"function\")\n cb();\n return this;\n }\n if (checkError(err, w, r), w)\n w.destroyed = !0;\n if (r)\n r.destroyed = !0;\n if (!s.constructed)\n this.once(kDestroy, (er) => {\n _destroy(this, aggregateTwoErrors(er, err), cb);\n });\n else\n _destroy(this, err, cb);\n return this;\n }\n function _destroy(self, err, cb) {\n let called = !1;\n function onDestroy(err2) {\n if (called)\n return;\n called = !0;\n const { _readableState: r, _writableState: w } = self;\n if (checkError(err2, w, r), w)\n w.closed = !0;\n if (r)\n r.closed = !0;\n if (typeof cb === \"function\")\n cb(err2);\n if (err2)\n runOnNextTick(emitErrorCloseNT, self, err2);\n else\n runOnNextTick(emitCloseNT, self);\n }\n try {\n self._destroy(err || null, onDestroy);\n } catch (err2) {\n onDestroy(err2);\n }\n }\n function emitErrorCloseNT(self, err) {\n emitErrorNT(self, err), emitCloseNT(self);\n }\n function emitCloseNT(self) {\n const { _readableState: r, _writableState: w } = self;\n if (w)\n w.closeEmitted = !0;\n if (r)\n r.closeEmitted = !0;\n if (w && w.emitClose || r && r.emitClose)\n self.emit(\"close\");\n }\n function emitErrorNT(self, err) {\n const r = self\?._readableState, w = self\?._writableState;\n if (w\?.errorEmitted || r\?.errorEmitted)\n return;\n if (w)\n w.errorEmitted = !0;\n if (r)\n r.errorEmitted = !0;\n self\?.emit\?.(\"error\", err);\n }\n function undestroy() {\n const r = this._readableState, w = this._writableState;\n if (r)\n r.constructed = !0, r.closed = !1, r.closeEmitted = !1, r.destroyed = !1, r.errored = null, r.errorEmitted = !1, r.reading = !1, r.ended = r.readable === !1, r.endEmitted = r.readable === !1;\n if (w)\n w.constructed = !0, w.destroyed = !1, w.closed = !1, w.closeEmitted = !1, w.errored = null, w.errorEmitted = !1, w.finalCalled = !1, w.prefinished = !1, w.ended = w.writable === !1, w.ending = w.writable === !1, w.finished = w.writable === !1;\n }\n function errorOrDestroy2(stream, err, sync) {\n const r = stream\?._readableState, w = stream\?._writableState;\n if (w && w.destroyed || r && r.destroyed)\n return this;\n if (r && r.autoDestroy || w && w.autoDestroy)\n stream.destroy(err);\n else if (err) {\n if (Error.captureStackTrace(err), w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n if (sync)\n runOnNextTick(emitErrorNT, stream, err);\n else\n emitErrorNT(stream, err);\n }\n }\n function construct(stream, cb) {\n if (typeof stream._construct !== \"function\")\n return;\n const { _readableState: r, _writableState: w } = stream;\n if (r)\n r.constructed = !1;\n if (w)\n w.constructed = !1;\n if (stream.once(kConstruct, cb), stream.listenerCount(kConstruct) > 1)\n return;\n runOnNextTick(constructNT, stream);\n }\n function constructNT(stream) {\n let called = !1;\n function onConstruct(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : new ERR_MULTIPLE_CALLBACK);\n return;\n }\n called = !0;\n const { _readableState: r, _writableState: w } = stream, s = w || r;\n if (r)\n r.constructed = !0;\n if (w)\n w.constructed = !0;\n if (s.destroyed)\n stream.emit(kDestroy, err);\n else if (err)\n errorOrDestroy2(stream, err, !0);\n else\n runOnNextTick(emitConstructNT, stream);\n }\n try {\n stream._construct(onConstruct);\n } catch (err) {\n onConstruct(err);\n }\n }\n function emitConstructNT(stream) {\n stream.emit(kConstruct);\n }\n function isRequest(stream) {\n return stream && stream.setHeader && typeof stream.abort === \"function\";\n }\n function emitCloseLegacy(stream) {\n stream.emit(\"close\");\n }\n function emitErrorCloseLegacy(stream, err) {\n stream.emit(\"error\", err), runOnNextTick(emitCloseLegacy, stream);\n }\n function destroyer(stream, err) {\n if (!stream || isDestroyed(stream))\n return;\n if (!err && !isFinished(stream))\n err = new AbortError2;\n if (isServerRequest(stream))\n stream.socket = null, stream.destroy(err);\n else if (isRequest(stream))\n stream.abort();\n else if (isRequest(stream.req))\n stream.req.abort();\n else if (typeof stream.destroy === \"function\")\n stream.destroy(err);\n else if (typeof stream.close === \"function\")\n stream.close();\n else if (err)\n runOnNextTick(emitErrorCloseLegacy, stream);\n else\n runOnNextTick(emitCloseLegacy, stream);\n if (!stream.destroyed)\n stream[kDestroyed] = !0;\n }\n module.exports = {\n construct,\n destroyer,\n destroy: destroy2,\n undestroy,\n errorOrDestroy: errorOrDestroy2\n };\n }\n}), require_legacy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/legacy.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, ObjectSetPrototypeOf } = require_primordials();\n function Stream(options) {\n if (!(this instanceof Stream))\n return new Stream(options);\n EE.@call(this, options);\n }\n Stream.prototype = {}, ObjectSetPrototypeOf(Stream.prototype, EE.prototype), ObjectSetPrototypeOf(Stream, EE), Stream.prototype.pipe = function(dest, options) {\n const source = this;\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === !1 && source.pause)\n source.pause();\n }\n source.on(\"data\", ondata);\n function ondrain() {\n if (source.readable && source.resume)\n source.resume();\n }\n if (dest.on(\"drain\", ondrain), !dest._isStdio && (!options || options.end !== !1))\n source.on(\"end\", onend), source.on(\"close\", onclose);\n let didOnEnd = !1;\n function onend() {\n if (didOnEnd)\n return;\n didOnEnd = !0, dest.end();\n }\n function onclose() {\n if (didOnEnd)\n return;\n if (didOnEnd = !0, typeof dest.destroy === \"function\")\n dest.destroy();\n }\n function onerror(er) {\n if (cleanup(), EE.listenerCount(this, \"error\") === 0)\n this.emit(\"error\", er);\n }\n prependListener(source, \"error\", onerror), prependListener(dest, \"error\", onerror);\n function cleanup() {\n source.removeListener(\"data\", ondata), dest.removeListener(\"drain\", ondrain), source.removeListener(\"end\", onend), source.removeListener(\"close\", onclose), source.removeListener(\"error\", onerror), dest.removeListener(\"error\", onerror), source.removeListener(\"end\", cleanup), source.removeListener(\"close\", cleanup), dest.removeListener(\"close\", cleanup);\n }\n return source.on(\"end\", cleanup), source.on(\"close\", cleanup), dest.on(\"close\", cleanup), dest.emit(\"pipe\", source), dest;\n };\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === \"function\")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (ArrayIsArray2(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n module.exports = {\n Stream,\n prependListener\n };\n }\n}), require_add_abort_signal = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), eos = require_end_of_stream(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes, validateAbortSignal = (signal, name) => {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n };\n function isNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\");\n }\n module.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n if (validateAbortSignal(signal, \"signal\"), !isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"stream.Stream\", stream);\n return module.exports.addAbortSignalNoValidate(signal, stream);\n }, module.exports.addAbortSignalNoValidate = function(signal, stream) {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n return stream;\n const onAbort = () => {\n stream.destroy(new AbortError2(void 0, {\n cause: signal.reason\n }));\n };\n if (signal.aborted)\n onAbort();\n else\n signal.addEventListener(\"abort\", onAbort), eos(stream, () => signal.removeEventListener(\"abort\", onAbort));\n return stream;\n };\n }\n}), require_state = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/state.js\"(exports, module) {\n var { MathFloor, NumberIsInteger } = require_primordials(), { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2 } = require_errors().codes;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null \? options.highWaterMark : isDuplex \? options[duplexKey] : null;\n }\n function getDefaultHighWaterMark(objectMode) {\n return objectMode \? 16 : 16384;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex \? `options.${duplexKey}` : \"options.highWaterMark\";\n throw new ERR_INVALID_ARG_VALUE2(name, hwm);\n }\n return MathFloor(hwm);\n }\n return getDefaultHighWaterMark(state.objectMode);\n }\n module.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark\n };\n }\n}), require_from = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/from.js\"(exports, module) {\n var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors().codes;\n function from(Readable, iterable, opts) {\n let iterator;\n if (typeof iterable === \"string\" || iterable instanceof @Buffer)\n return new Readable({\n objectMode: !0,\n ...opts,\n read() {\n this.push(iterable), this.push(null);\n }\n });\n let isAsync;\n if (iterable && iterable[SymbolAsyncIterator])\n isAsync = !0, iterator = iterable[SymbolAsyncIterator]();\n else if (iterable && iterable[SymbolIterator])\n isAsync = !1, iterator = iterable[SymbolIterator]();\n else\n throw new ERR_INVALID_ARG_TYPE2(\"iterable\", [\"Iterable\"], iterable);\n const readable = new Readable({\n objectMode: !0,\n highWaterMark: 1,\n ...opts\n });\n let reading = !1;\n readable._read = function() {\n if (!reading)\n reading = !0, next();\n }, readable._destroy = function(error, cb) {\n PromisePrototypeThen(close(error), () => runOnNextTick(cb, error), (e) => runOnNextTick(cb, e || error));\n };\n async function close(error) {\n const hadError = error !== void 0 && error !== null, hasThrow = typeof iterator.throw === \"function\";\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error);\n if (await value, done)\n return;\n }\n if (typeof iterator.return === \"function\") {\n const { value } = await iterator.return();\n await value;\n }\n }\n async function next() {\n for (;; ) {\n try {\n const { value, done } = isAsync \? await iterator.next() : iterator.next();\n if (done)\n readable.push(null);\n else {\n const res = value && typeof value.then === \"function\" \? await value : value;\n if (res === null)\n throw reading = !1, new ERR_STREAM_NULL_VALUES;\n else if (readable.push(res))\n continue;\n else\n reading = !1;\n }\n } catch (err) {\n readable.destroy(err);\n }\n break;\n }\n }\n return readable;\n }\n module.exports = from;\n }\n}), _ReadableFromWeb, _ReadableFromWebForUndici, require_readable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/readable.js\"(exports, module) {\n var {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise: Promise2,\n SafeSet,\n SymbolAsyncIterator,\n Symbol: Symbol2\n } = require_primordials(), ReadableState = @lazy(\"bun:stream\").ReadableState, { Stream, prependListener } = require_legacy();\n function Readable(options) {\n if (!(this instanceof Readable))\n return new Readable(options);\n const isDuplex = this instanceof require_duplex();\n if (this._readableState = new ReadableState(options, this, isDuplex), options) {\n const { read, destroy: destroy2, construct, signal } = options;\n if (typeof read === \"function\")\n this._read = read;\n if (typeof destroy2 === \"function\")\n this._destroy = destroy2;\n if (typeof construct === \"function\")\n this._construct = construct;\n if (signal && !isDuplex)\n addAbortSignal(signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n if (this._readableState.needReadable)\n maybeReadMore(this, this._readableState);\n });\n }\n Readable.prototype = {}, ObjectSetPrototypeOf(Readable.prototype, Stream.prototype), ObjectSetPrototypeOf(Readable, Stream), Readable.prototype.on = function(ev, fn) {\n const res = Stream.prototype.on.@call(this, ev, fn), state = this._readableState;\n if (ev === \"data\") {\n if (state.readableListening = this.listenerCount(\"readable\") > 0, state.flowing !== !1)\n this.resume();\n } else if (ev === \"readable\") {\n if (!state.endEmitted && !state.readableListening) {\n if (state.readableListening = state.needReadable = !0, state.flowing = !1, state.emittedReadable = !1, state.length)\n emitReadable(this, state);\n else if (!state.reading)\n runOnNextTick(nReadingNextTick, this);\n } else if (state.endEmitted)\n ;\n }\n return res;\n };\n\n class ReadableFromWeb extends Readable {\n #reader;\n #closed;\n #pendingChunks;\n #stream;\n constructor(options, stream) {\n const { objectMode, highWaterMark, encoding, signal } = options;\n super({\n objectMode,\n highWaterMark,\n encoding,\n signal\n });\n this.#pendingChunks = [], this.#reader = @undefined, this.#stream = stream, this.#closed = !1;\n }\n #drainPending() {\n var pendingChunks = this.#pendingChunks, pendingChunksI = 0, pendingChunksCount = pendingChunks.length;\n for (;pendingChunksI < pendingChunksCount; pendingChunksI++) {\n const chunk = pendingChunks[pendingChunksI];\n if (pendingChunks[pendingChunksI] = @undefined, !this.push(chunk, @undefined))\n return this.#pendingChunks = pendingChunks.slice(pendingChunksI + 1), !0;\n }\n if (pendingChunksCount > 0)\n this.#pendingChunks = [];\n return !1;\n }\n #handleDone(reader) {\n reader.releaseLock(), this.#reader = @undefined, this.#closed = !0, this.push(null);\n return;\n }\n async _read() {\n var stream = this.#stream, reader = this.#reader;\n if (stream)\n reader = this.#reader = stream.getReader(), this.#stream = @undefined;\n else if (this.#drainPending())\n return;\n var deferredError;\n try {\n do {\n var done = !1, value;\n const firstResult = reader.readMany();\n if (@isPromise(firstResult)) {\n if ({ done, value } = await firstResult, this.#closed) {\n this.#pendingChunks.push(...value);\n return;\n }\n } else\n ({ done, value } = firstResult);\n if (done) {\n this.#handleDone(reader);\n return;\n }\n if (!this.push(value[0])) {\n this.#pendingChunks = value.slice(1);\n return;\n }\n for (let i = 1, count = value.length;i < count; i++)\n if (!this.push(value[i])) {\n this.#pendingChunks = value.slice(i + 1);\n return;\n }\n } while (!this.#closed);\n } catch (e) {\n deferredError = e;\n } finally {\n if (deferredError)\n throw deferredError;\n }\n }\n _destroy(error, callback) {\n if (!this.#closed) {\n var reader = this.#reader;\n if (reader)\n this.#reader = @undefined, reader.cancel(error).finally(() => {\n this.#closed = !0, callback(error);\n });\n return;\n }\n try {\n callback(error);\n } catch (error2) {\n globalThis.reportError(error2);\n }\n }\n }\n _ReadableFromWebForUndici = ReadableFromWeb;\n function newStreamReadableFromReadableStream(readableStream, options = {}) {\n if (!isReadableStream(readableStream))\n throw new ERR_INVALID_ARG_TYPE2(\"readableStream\", \"ReadableStream\", readableStream);\n validateObject(options, \"options\");\n const {\n highWaterMark,\n encoding,\n objectMode = !1,\n signal\n } = options;\n if (encoding !== @undefined && !@Buffer.isEncoding(encoding))\n throw new ERR_INVALID_ARG_VALUE(encoding, \"options.encoding\");\n return validateBoolean(objectMode, \"options.objectMode\"), getNativeReadableStream(Readable, readableStream, options) || new ReadableFromWeb({\n highWaterMark,\n encoding,\n objectMode,\n signal\n }, readableStream);\n }\n module.exports = Readable, _ReadableFromWeb = newStreamReadableFromReadableStream;\n var { addAbortSignal } = require_add_abort_signal(), eos = require_end_of_stream();\n const { maybeReadMore: _maybeReadMore, resume, emitReadable: _emitReadable, onEofChunk } = @lazy(\"bun:stream\");\n function maybeReadMore(stream, state) {\n process.nextTick(_maybeReadMore, stream, state);\n }\n function emitReadable(stream, state) {\n _emitReadable(stream, state);\n }\n var destroyImpl = require_destroy(), {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n }\n } = require_errors(), { validateObject } = require_validators(), from = require_from(), nop = () => {\n }, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n Readable.prototype.destroy = destroyImpl.destroy, Readable.prototype._undestroy = destroyImpl.undestroy, Readable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Readable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n }, Readable.prototype.push = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !1);\n }, Readable.prototype.unshift = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !0);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront) {\n const state = stream._readableState;\n let err;\n if (!state.objectMode) {\n if (typeof chunk === \"string\") {\n if (encoding = encoding || state.defaultEncoding, state.encoding !== encoding)\n if (addToFront && state.encoding)\n chunk = @Buffer.from(chunk, encoding).toString(state.encoding);\n else\n chunk = @Buffer.from(chunk, encoding), encoding = \"\";\n } else if (chunk instanceof @Buffer)\n encoding = \"\";\n else if (Stream._isUint8Array(chunk)) {\n if (addToFront || !state.decoder)\n chunk = Stream._uint8ArrayToBuffer(chunk);\n encoding = \"\";\n } else if (chunk != null)\n err = new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n }\n if (err)\n errorOrDestroy2(stream, err);\n else if (chunk === null)\n state.reading = !1, onEofChunk(stream, state);\n else if (state.objectMode || chunk && chunk.length > 0)\n if (addToFront)\n if (state.endEmitted)\n errorOrDestroy2(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);\n else if (state.destroyed || state.errored)\n return !1;\n else\n addChunk(stream, state, chunk, !0);\n else if (state.ended)\n errorOrDestroy2(stream, new ERR_STREAM_PUSH_AFTER_EOF);\n else if (state.destroyed || state.errored)\n return !1;\n else if (state.reading = !1, state.decoder && !encoding)\n if (chunk = state.decoder.write(chunk), state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, !1);\n else\n maybeReadMore(stream, state);\n else\n addChunk(stream, state, chunk, !1);\n else if (!addToFront)\n state.reading = !1, maybeReadMore(stream, state);\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount(\"data\") > 0) {\n if (state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n state.dataEmitted = !0, stream.emit(\"data\", chunk);\n } else {\n if (state.length += state.objectMode \? 1 : chunk.length, addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream, state);\n }\n maybeReadMore(stream, state);\n }\n Readable.prototype.isPaused = function() {\n const state = this._readableState;\n return state.paused === !0 || state.flowing === !1;\n }, Readable.prototype.setEncoding = function(enc) {\n const decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder, this._readableState.encoding = this._readableState.decoder.encoding;\n const buffer = this._readableState.buffer;\n let content = \"\";\n for (let i = buffer.length;i > 0; i--)\n content += decoder.write(buffer.shift());\n if (content !== \"\")\n buffer.push(content);\n return this._readableState.length = content.length, this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n > MAX_HWM)\n throw new ERR_OUT_OF_RANGE(\"size\", \"<= 1GiB\", n);\n else\n n--, n |= n >>> 1, n |= n >>> 2, n |= n >>> 4, n |= n >>> 8, n |= n >>> 16, n++;\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (NumberIsNaN(n)) {\n if (state.flowing && state.length)\n return state.buffer.first().length;\n return state.length;\n }\n if (n <= state.length)\n return n;\n return state.ended \? state.length : 0;\n }\n Readable.prototype.read = function(n) {\n if (!NumberIsInteger(n))\n n = NumberParseInt(n, 10);\n const state = this._readableState, nOrig = n;\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n !== 0)\n state.emittedReadable = !1;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 \? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this, state);\n return null;\n }\n if (n = howMuchToRead(n, state), n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n let doRead = state.needReadable;\n if (state.length === 0 || state.length - n < state.highWaterMark)\n doRead = !0;\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed)\n doRead = !1;\n else if (doRead) {\n if (state.reading = !0, state.sync = !0, state.length === 0)\n state.needReadable = !0;\n try {\n var result = this._read(state.highWaterMark);\n if (@isPromise(result)) {\n const peeked = Bun.peek(result);\n if (peeked !== result)\n result = peeked;\n }\n if (@isPromise(result) && result\?.then && @isCallable(result.then))\n result.then(nop, function(err) {\n errorOrDestroy2(this, err);\n });\n } catch (err) {\n errorOrDestroy2(this, err);\n }\n if (state.sync = !1, !state.reading)\n n = howMuchToRead(nOrig, state);\n }\n let ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null)\n state.needReadable = state.length <= state.highWaterMark, n = 0;\n else if (state.length -= n, state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = !0;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted)\n state.dataEmitted = !0, this.emit(\"data\", ret);\n return ret;\n }, Readable.prototype._read = function(n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\");\n }, Readable.prototype.pipe = function(dest, pipeOpts) {\n const src = this, state = this._readableState;\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain)\n state.multiAwaitDrain = !0, state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters \? [state.awaitDrainWriters] : []);\n }\n state.pipes.push(dest);\n const endFn = (!pipeOpts || pipeOpts.end !== !1) && dest !== process.stdout && dest !== process.stderr \? onend : unpipe;\n if (state.endEmitted)\n runOnNextTick(endFn);\n else\n src.once(\"end\", endFn);\n dest.on(\"unpipe\", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === !1)\n unpipeInfo.hasUnpiped = !0, cleanup();\n }\n }\n function onend() {\n dest.end();\n }\n let ondrain, cleanedUp = !1;\n function cleanup() {\n if (dest.removeListener(\"close\", onclose), dest.removeListener(\"finish\", onfinish), ondrain)\n dest.removeListener(\"drain\", ondrain);\n if (dest.removeListener(\"error\", onerror), dest.removeListener(\"unpipe\", onunpipe), src.removeListener(\"end\", onend), src.removeListener(\"end\", unpipe), src.removeListener(\"data\", ondata), cleanedUp = !0, ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n function pause() {\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest)\n state.awaitDrainWriters = dest, state.multiAwaitDrain = !1;\n else if (state.pipes.length > 1 && state.pipes.includes(dest))\n state.awaitDrainWriters.add(dest);\n src.pause();\n }\n if (!ondrain)\n ondrain = pipeOnDrain(src, dest), dest.on(\"drain\", ondrain);\n }\n src.on(\"data\", ondata);\n function ondata(chunk) {\n if (dest.write(chunk) === !1)\n pause();\n }\n function onerror(er) {\n if (unpipe(), dest.removeListener(\"error\", onerror), dest.listenerCount(\"error\") === 0) {\n const s = dest._writableState || dest._readableState;\n if (s && !s.errorEmitted)\n errorOrDestroy2(dest, er);\n else\n dest.emit(\"error\", er);\n }\n }\n prependListener(dest, \"error\", onerror);\n function onclose() {\n dest.removeListener(\"finish\", onfinish), unpipe();\n }\n dest.once(\"close\", onclose);\n function onfinish() {\n dest.removeListener(\"close\", onclose), unpipe();\n }\n dest.once(\"finish\", onfinish);\n function unpipe() {\n src.unpipe(dest);\n }\n if (dest.emit(\"pipe\", src), dest.writableNeedDrain === !0) {\n if (state.flowing)\n pause();\n } else if (!state.flowing)\n src.resume();\n return dest;\n };\n function pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState;\n if (state.awaitDrainWriters === dest)\n state.awaitDrainWriters = null;\n else if (state.multiAwaitDrain)\n state.awaitDrainWriters.delete(dest);\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount(\"data\"))\n src.resume();\n };\n }\n Readable.prototype.unpipe = function(dest) {\n const state = this._readableState, unpipeInfo = {\n hasUnpiped: !1\n };\n if (state.pipes.length === 0)\n return this;\n if (!dest) {\n const dests = state.pipes;\n state.pipes = [], this.pause();\n for (let i = 0;i < dests.length; i++)\n dests[i].emit(\"unpipe\", this, {\n hasUnpiped: !1\n });\n return this;\n }\n const index = ArrayPrototypeIndexOf(state.pipes, dest);\n if (index === -1)\n return this;\n if (state.pipes.splice(index, 1), state.pipes.length === 0)\n this.pause();\n return dest.emit(\"unpipe\", this, unpipeInfo), this;\n }, Readable.prototype.addListener = Readable.prototype.on, Readable.prototype.removeListener = function(ev, fn) {\n const res = Stream.prototype.removeListener.@call(this, ev, fn);\n if (ev === \"readable\")\n runOnNextTick(updateReadableListening, this);\n return res;\n }, Readable.prototype.off = Readable.prototype.removeListener, Readable.prototype.removeAllListeners = function(ev) {\n const res = Stream.prototype.removeAllListeners.@apply(this, arguments);\n if (ev === \"readable\" || ev === void 0)\n runOnNextTick(updateReadableListening, this);\n return res;\n };\n function updateReadableListening(self) {\n const state = self._readableState;\n if (state.readableListening = self.listenerCount(\"readable\") > 0, state.resumeScheduled && state.paused === !1)\n state.flowing = !0;\n else if (self.listenerCount(\"data\") > 0)\n self.resume();\n else if (!state.readableListening)\n state.flowing = null;\n }\n function nReadingNextTick(self) {\n self.read(0);\n }\n Readable.prototype.resume = function() {\n const state = this._readableState;\n if (!state.flowing)\n state.flowing = !state.readableListening, resume(this, state);\n return state.paused = !1, this;\n }, Readable.prototype.pause = function() {\n if (this._readableState.flowing !== !1)\n this._readableState.flowing = !1, this.emit(\"pause\");\n return this._readableState.paused = !0, this;\n }, Readable.prototype.wrap = function(stream) {\n let paused = !1;\n stream.on(\"data\", (chunk) => {\n if (!this.push(chunk) && stream.pause)\n paused = !0, stream.pause();\n }), stream.on(\"end\", () => {\n this.push(null);\n }), stream.on(\"error\", (err) => {\n errorOrDestroy2(this, err);\n }), stream.on(\"close\", () => {\n this.destroy();\n }), stream.on(\"destroy\", () => {\n this.destroy();\n }), this._read = () => {\n if (paused && stream.resume)\n paused = !1, stream.resume();\n };\n const streamKeys = ObjectKeys(stream);\n for (let j = 1;j < streamKeys.length; j++) {\n const i = streamKeys[j];\n if (this[i] === void 0 && typeof stream[i] === \"function\")\n this[i] = stream[i].bind(stream);\n }\n return this;\n }, Readable.prototype[SymbolAsyncIterator] = function() {\n return streamToAsyncIterator(this);\n }, Readable.prototype.iterator = function(options) {\n if (options !== void 0)\n validateObject(options, \"options\");\n return streamToAsyncIterator(this, options);\n };\n function streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== \"function\")\n stream = Readable.wrap(stream, {\n objectMode: !0\n });\n const iter = createAsyncIterator(stream, options);\n return iter.stream = stream, iter;\n }\n async function* createAsyncIterator(stream, options) {\n let callback = nop;\n function next(resolve) {\n if (this === stream)\n callback(), callback = nop;\n else\n callback = resolve;\n }\n stream.on(\"readable\", next);\n let error;\n const cleanup = eos(stream, {\n writable: !1\n }, (err) => {\n error = err \? aggregateTwoErrors(error, err) : null, callback(), callback = nop;\n });\n try {\n while (!0) {\n const chunk = stream.destroyed \? null : stream.read();\n if (chunk !== null)\n yield chunk;\n else if (error)\n throw error;\n else if (error === null)\n return;\n else\n await new Promise2(next);\n }\n } catch (err) {\n throw error = aggregateTwoErrors(error, err), error;\n } finally {\n if ((error || (options === null || options === void 0 \? void 0 : options.destroyOnReturn) !== !1) && (error === void 0 || stream._readableState.autoDestroy))\n destroyImpl.destroyer(stream, null);\n else\n stream.off(\"readable\", next), cleanup();\n }\n }\n ObjectDefineProperties(Readable.prototype, {\n readable: {\n get() {\n const r = this._readableState;\n return !!r && r.readable !== !1 && !r.destroyed && !r.errorEmitted && !r.endEmitted;\n },\n set(val) {\n if (this._readableState)\n this._readableState.readable = !!val;\n }\n },\n readableDidRead: {\n enumerable: !1,\n get: function() {\n return this._readableState.dataEmitted;\n }\n },\n readableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._readableState.readable !== !1 && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);\n }\n },\n readableHighWaterMark: {\n enumerable: !1,\n get: function() {\n return this._readableState.highWaterMark;\n }\n },\n readableBuffer: {\n enumerable: !1,\n get: function() {\n return this._readableState && this._readableState.buffer;\n }\n },\n readableFlowing: {\n enumerable: !1,\n get: function() {\n return this._readableState.flowing;\n },\n set: function(state) {\n if (this._readableState)\n this._readableState.flowing = state;\n }\n },\n readableLength: {\n enumerable: !1,\n get() {\n return this._readableState.length;\n }\n },\n readableObjectMode: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.objectMode : !1;\n }\n },\n readableEncoding: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.encoding : null;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.errored : null;\n }\n },\n closed: {\n get() {\n return this._readableState \? this._readableState.closed : !1;\n }\n },\n destroyed: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.destroyed : !1;\n },\n set(value) {\n if (!this._readableState)\n return;\n this._readableState.destroyed = value;\n }\n },\n readableEnded: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.endEmitted : !1;\n }\n }\n }), Readable._fromList = fromList;\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n let ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join(\"\");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else\n ret = state.buffer.consume(n, state.decoder);\n return ret;\n }\n function endReadable(stream) {\n const state = stream._readableState;\n if (!state.endEmitted)\n state.ended = !0, runOnNextTick(endReadableNT, state, stream);\n }\n function endReadableNT(state, stream) {\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n if (state.endEmitted = !0, stream.emit(\"end\"), stream.writable && stream.allowHalfOpen === !1)\n runOnNextTick(endWritableNT, stream);\n else if (state.autoDestroy) {\n const wState = stream._writableState;\n if (!wState || wState.autoDestroy && (wState.finished || wState.writable === !1))\n stream.destroy();\n }\n }\n }\n function endWritableNT(stream) {\n if (stream.writable && !stream.writableEnded && !stream.destroyed)\n stream.end();\n }\n Readable.from = function(iterable, opts) {\n return from(Readable, iterable, opts);\n };\n var webStreamsAdapters = {\n newStreamReadableFromReadableStream,\n newReadableStreamFromStreamReadable(streamReadable, options = {}) {\n if (typeof streamReadable\?._readableState !== \"object\")\n throw new ERR_INVALID_ARG_TYPE2(\"streamReadable\", \"stream.Readable\", streamReadable);\n var { isDestroyed, isReadable } = require_utils();\n if (isDestroyed(streamReadable) || !isReadable(streamReadable)) {\n const readable = new @ReadableStream;\n return readable.cancel(), readable;\n }\n const { readableObjectMode: objectMode, readableHighWaterMark: highWaterMark } = streamReadable, strategy = ((strategy2) => {\n if (strategy2)\n return strategy2;\n if (objectMode)\n return new CountQueuingStrategy({ highWaterMark });\n return { highWaterMark };\n })(options\?.strategy);\n let controller;\n function onData(chunk) {\n if (controller.enqueue(chunk), controller.desiredSize <= 0)\n streamReadable.pause();\n }\n streamReadable.pause();\n const cleanup = eos(streamReadable, (error) => {\n if (error\?.code === \"ERR_STREAM_PREMATURE_CLOSE\")\n error = new AbortError(@undefined, { cause: error });\n if (cleanup(), streamReadable.on(\"error\", () => {\n }), error)\n return controller.error(error);\n controller.close();\n });\n return streamReadable.on(\"data\", onData), new @ReadableStream({\n start(c) {\n controller = c;\n },\n pull() {\n streamReadable.resume();\n },\n cancel(reason) {\n destroy(streamReadable, reason);\n }\n }, strategy);\n }\n };\n Readable.fromWeb = function(readableStream, options) {\n return webStreamsAdapters.newStreamReadableFromReadableStream(readableStream, options);\n }, Readable.toWeb = function(streamReadable, options) {\n return webStreamsAdapters.newReadableStreamFromStreamReadable(streamReadable, options);\n }, Readable.wrap = function(src, options) {\n var _ref, _src$readableObjectMo;\n return new Readable({\n objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 \? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 \? _ref : !0,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err), callback(err);\n }\n }).wrap(src);\n };\n }\n}), require_writable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/writable.js\"(exports, module) {\n var {\n ArrayPrototypeSlice,\n Error: Error2,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol: Symbol2,\n SymbolHasInstance\n } = require_primordials(), Stream = require_legacy().Stream, destroyImpl = require_destroy(), { addAbortSignal } = require_add_abort_signal(), { getHighWaterMark, getDefaultHighWaterMark } = require_state(), {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n } = require_errors().codes, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n function Writable(options = {}) {\n const isDuplex = this instanceof require_duplex();\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this))\n return new Writable(options);\n if (this._writableState = new WritableState(options, this, isDuplex), options) {\n if (typeof options.write === \"function\")\n this._write = options.write;\n if (typeof options.writev === \"function\")\n this._writev = options.writev;\n if (typeof options.destroy === \"function\")\n this._destroy = options.destroy;\n if (typeof options.final === \"function\")\n this._final = options.final;\n if (typeof options.construct === \"function\")\n this._construct = options.construct;\n if (options.signal)\n addAbortSignal(options.signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n const state = this._writableState;\n if (!state.writing)\n clearBuffer(this, state);\n finishMaybe(this, state);\n });\n }\n Writable.prototype = {}, ObjectSetPrototypeOf(Writable.prototype, Stream.prototype), ObjectSetPrototypeOf(Writable, Stream), module.exports = Writable;\n function nop() {\n }\n var kOnFinished = Symbol2(\"kOnFinished\");\n function WritableState(options, stream, isDuplex) {\n if (typeof isDuplex !== \"boolean\")\n isDuplex = stream instanceof require_duplex();\n if (this.objectMode = !!(options && options.objectMode), isDuplex)\n this.objectMode = this.objectMode || !!(options && options.writableObjectMode);\n this.highWaterMark = options \? getHighWaterMark(this, options, \"writableHighWaterMark\", isDuplex) : getDefaultHighWaterMark(!1), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;\n const noDecode = !!(options && options.decodeStrings === !1);\n this.decodeStrings = !noDecode, this.defaultEncoding = options && options.defaultEncoding || \"utf8\", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = onwrite.bind(void 0, stream), this.writecb = null, this.writelen = 0, this.afterWriteTickInfo = null, resetBuffer(this), this.pendingcb = 0, this.constructed = !0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !options || options.emitClose !== !1, this.autoDestroy = !options || options.autoDestroy !== !1, this.errored = null, this.closed = !1, this.closeEmitted = !1, this[kOnFinished] = [];\n }\n WritableState.prototype = {};\n function resetBuffer(state) {\n state.buffered = [], state.bufferedIndex = 0, state.allBuffers = !0, state.allNoop = !0;\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);\n }, ObjectDefineProperty(WritableState.prototype, \"bufferedRequestCount\", {\n get() {\n return this.buffered.length - this.bufferedIndex;\n }\n }), ObjectDefineProperty(Writable, SymbolHasInstance, {\n value: function(object) {\n if (FunctionPrototypeSymbolHasInstance(this, object))\n return !0;\n if (this !== Writable)\n return !1;\n return object && object._writableState instanceof WritableState;\n }\n }), Writable.prototype.pipe = function() {\n errorOrDestroy2(this, new ERR_STREAM_CANNOT_PIPE);\n };\n function _write(stream, chunk, encoding, cb) {\n const state = stream._writableState;\n if (typeof encoding === \"function\")\n cb = encoding, encoding = state.defaultEncoding;\n else {\n if (!encoding)\n encoding = state.defaultEncoding;\n else if (encoding !== \"buffer\" && !@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n if (typeof cb !== \"function\")\n cb = nop;\n }\n if (chunk === null)\n throw new ERR_STREAM_NULL_VALUES;\n else if (!state.objectMode)\n if (typeof chunk === \"string\") {\n if (state.decodeStrings !== !1)\n chunk = @Buffer.from(chunk, encoding), encoding = \"buffer\";\n } else if (chunk instanceof @Buffer)\n encoding = \"buffer\";\n else if (Stream._isUint8Array(chunk))\n chunk = Stream._uint8ArrayToBuffer(chunk), encoding = \"buffer\";\n else\n throw new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n let err;\n if (state.ending)\n err = new ERR_STREAM_WRITE_AFTER_END;\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"write\");\n if (err)\n return runOnNextTick(cb, err), errorOrDestroy2(stream, err, !0), err;\n return state.pendingcb++, writeOrBuffer(stream, state, chunk, encoding, cb);\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === !0;\n }, Writable.prototype.cork = function() {\n this._writableState.corked++;\n }, Writable.prototype.uncork = function() {\n const state = this._writableState;\n if (state.corked) {\n if (state.corked--, !state.writing)\n clearBuffer(this, state);\n }\n }, Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === \"string\")\n encoding = StringPrototypeToLowerCase(encoding);\n if (!@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n return this._writableState.defaultEncoding = encoding, this;\n };\n function writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode \? 1 : chunk.length;\n state.length += len;\n const ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = !0;\n if (state.writing || state.corked || state.errored || !state.constructed) {\n if (state.buffered.push({\n chunk,\n encoding,\n callback\n }), state.allBuffers && encoding !== \"buffer\")\n state.allBuffers = !1;\n if (state.allNoop && callback !== nop)\n state.allNoop = !1;\n } else\n state.writelen = len, state.writecb = callback, state.writing = !0, state.sync = !0, stream._write(chunk, encoding, state.onwrite), state.sync = !1;\n return ret && !state.errored && !state.destroyed;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n if (state.writelen = len, state.writecb = cb, state.writing = !0, state.sync = !0, state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED(\"write\"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = !1;\n }\n function onwriteError(stream, state, er, cb) {\n --state.pendingcb, cb(er), errorBuffer(state), errorOrDestroy2(stream, er);\n }\n function onwrite(stream, er) {\n const state = stream._writableState, sync = state.sync, cb = state.writecb;\n if (typeof cb !== \"function\") {\n errorOrDestroy2(stream, new ERR_MULTIPLE_CALLBACK);\n return;\n }\n if (state.writing = !1, state.writecb = null, state.length -= state.writelen, state.writelen = 0, er) {\n if (Error.captureStackTrace(er), !state.errored)\n state.errored = er;\n if (stream._readableState && !stream._readableState.errored)\n stream._readableState.errored = er;\n if (sync)\n runOnNextTick(onwriteError, stream, state, er, cb);\n else\n onwriteError(stream, state, er, cb);\n } else {\n if (state.buffered.length > state.bufferedIndex)\n clearBuffer(stream, state);\n if (sync)\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb)\n state.afterWriteTickInfo.count++;\n else\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }, runOnNextTick(afterWriteTick, state.afterWriteTickInfo);\n else\n afterWrite(stream, state, 1, cb);\n }\n }\n function afterWriteTick({ stream, state, count, cb }) {\n return state.afterWriteTickInfo = null, afterWrite(stream, state, count, cb);\n }\n function afterWrite(stream, state, count, cb) {\n if (!state.ending && !stream.destroyed && state.length === 0 && state.needDrain)\n state.needDrain = !1, stream.emit(\"drain\");\n while (count-- > 0)\n state.pendingcb--, cb();\n if (state.destroyed)\n errorBuffer(state);\n finishMaybe(stream, state);\n }\n function errorBuffer(state) {\n if (state.writing)\n return;\n for (let n = state.bufferedIndex;n < state.buffered.length; ++n) {\n var _state$errored;\n const { chunk, callback } = state.buffered[n], len = state.objectMode \? 1 : chunk.length;\n state.length -= len, callback((_state$errored = state.errored) !== null && _state$errored !== void 0 \? _state$errored : new ERR_STREAM_DESTROYED(\"write\"));\n }\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++) {\n var _state$errored2;\n onfinishCallbacks[i]((_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 \? _state$errored2 : new ERR_STREAM_DESTROYED(\"end\"));\n }\n resetBuffer(state);\n }\n function clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed)\n return;\n const { buffered, bufferedIndex, objectMode } = state, bufferedLength = buffered.length - bufferedIndex;\n if (!bufferedLength)\n return;\n let i = bufferedIndex;\n if (state.bufferProcessing = !0, bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1;\n const callback = state.allNoop \? nop : (err) => {\n for (let n = i;n < buffered.length; ++n)\n buffered[n].callback(err);\n }, chunks = state.allNoop && i === 0 \? buffered : ArrayPrototypeSlice(buffered, i);\n chunks.allBuffers = state.allBuffers, doWrite(stream, state, !0, state.length, chunks, \"\", callback), resetBuffer(state);\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i];\n buffered[i++] = null;\n const len = objectMode \? 1 : chunk.length;\n doWrite(stream, state, !1, len, chunk, encoding, callback);\n } while (i < buffered.length && !state.writing);\n if (i === buffered.length)\n resetBuffer(state);\n else if (i > 256)\n buffered.splice(0, i), state.bufferedIndex = 0;\n else\n state.bufferedIndex = i;\n }\n state.bufferProcessing = !1;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n if (this._writev)\n this._writev([\n {\n chunk,\n encoding\n }\n ], cb);\n else\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\");\n }, Writable.prototype._writev = null, Writable.prototype.end = function(chunk, encoding, cb, native = !1) {\n const state = this._writableState;\n if (typeof chunk === \"function\")\n cb = chunk, chunk = null, encoding = null;\n else if (typeof encoding === \"function\")\n cb = encoding, encoding = null;\n let err;\n if (chunk !== null && chunk !== void 0) {\n let ret;\n if (!native)\n ret = _write(this, chunk, encoding);\n else\n ret = this.write(chunk, encoding);\n if (ret instanceof Error2)\n err = ret;\n }\n if (state.corked)\n state.corked = 1, this.uncork();\n if (err)\n this.emit(\"error\", err);\n else if (!state.errored && !state.ending)\n state.ending = !0, finishMaybe(this, state, !0), state.ended = !0;\n else if (state.finished)\n err = new ERR_STREAM_ALREADY_FINISHED(\"end\");\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"end\");\n if (typeof cb === \"function\")\n if (err || state.finished)\n runOnNextTick(cb, err);\n else\n state[kOnFinished].push(cb);\n return this;\n };\n function needFinish(state, tag) {\n var needFinish2 = state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;\n return needFinish2;\n }\n function callFinal(stream, state) {\n let called = !1;\n function onFinish(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : ERR_MULTIPLE_CALLBACK());\n return;\n }\n if (called = !0, state.pendingcb--, err) {\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i](err);\n errorOrDestroy2(stream, err, state.sync);\n } else if (needFinish(state))\n state.prefinished = !0, stream.emit(\"prefinish\"), state.pendingcb++, runOnNextTick(finish, stream, state);\n }\n state.sync = !0, state.pendingcb++;\n try {\n stream._final(onFinish);\n } catch (err) {\n onFinish(err);\n }\n state.sync = !1;\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled)\n if (typeof stream._final === \"function\" && !state.destroyed)\n state.finalCalled = !0, callFinal(stream, state);\n else\n state.prefinished = !0, stream.emit(\"prefinish\");\n }\n function finishMaybe(stream, state, sync) {\n if (!needFinish(state, stream.__id))\n return;\n if (prefinish(stream, state), state.pendingcb === 0) {\n if (sync)\n state.pendingcb++, runOnNextTick((stream2, state2) => {\n if (needFinish(state2))\n finish(stream2, state2);\n else\n state2.pendingcb--;\n }, stream, state);\n else if (needFinish(state))\n state.pendingcb++, finish(stream, state);\n }\n }\n function finish(stream, state) {\n state.pendingcb--, state.finished = !0;\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i]();\n if (stream.emit(\"finish\"), state.autoDestroy) {\n const rState = stream._readableState;\n if (!rState || rState.autoDestroy && (rState.endEmitted || rState.readable === !1))\n stream.destroy();\n }\n }\n ObjectDefineProperties(Writable.prototype, {\n closed: {\n get() {\n return this._writableState \? this._writableState.closed : !1;\n }\n },\n destroyed: {\n get() {\n return this._writableState \? this._writableState.destroyed : !1;\n },\n set(value) {\n if (this._writableState)\n this._writableState.destroyed = value;\n }\n },\n writable: {\n get() {\n const w = this._writableState;\n return !!w && w.writable !== !1 && !w.destroyed && !w.errored && !w.ending && !w.ended;\n },\n set(val) {\n if (this._writableState)\n this._writableState.writable = !!val;\n }\n },\n writableFinished: {\n get() {\n return this._writableState \? this._writableState.finished : !1;\n }\n },\n writableObjectMode: {\n get() {\n return this._writableState \? this._writableState.objectMode : !1;\n }\n },\n writableBuffer: {\n get() {\n return this._writableState && this._writableState.getBuffer();\n }\n },\n writableEnded: {\n get() {\n return this._writableState \? this._writableState.ending : !1;\n }\n },\n writableNeedDrain: {\n get() {\n const wState = this._writableState;\n if (!wState)\n return !1;\n return !wState.destroyed && !wState.ending && wState.needDrain;\n }\n },\n writableHighWaterMark: {\n get() {\n return this._writableState && this._writableState.highWaterMark;\n }\n },\n writableCorked: {\n get() {\n return this._writableState \? this._writableState.corked : 0;\n }\n },\n writableLength: {\n get() {\n return this._writableState && this._writableState.length;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._writableState \? this._writableState.errored : null;\n }\n },\n writableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._writableState.writable !== !1 && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);\n }\n }\n });\n var destroy2 = destroyImpl.destroy;\n Writable.prototype.destroy = function(err, cb) {\n const state = this._writableState;\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length))\n runOnNextTick(errorBuffer, state);\n return destroy2.@call(this, err, cb), this;\n }, Writable.prototype._undestroy = destroyImpl.undestroy, Writable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Writable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n };\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Writable.fromWeb = function(writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);\n }, Writable.toWeb = function(streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);\n };\n }\n}), require_duplexify = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplexify.js\"(exports, module) {\n var {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream\n } = require_utils(), eos = require_end_of_stream(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }\n } = require_errors(), { destroyer } = require_destroy(), Duplex = require_duplex(), Readable = require_readable(), { createDeferredPromise } = require_util(), from = require_from(), isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, { FunctionPrototypeCall } = require_primordials();\n\n class Duplexify extends Duplex {\n constructor(options) {\n super(options);\n if ((options === null || options === @undefined \? @undefined : options.readable) === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if ((options === null || options === @undefined \? @undefined : options.writable) === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n }\n }\n module.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body))\n return body;\n if (isReadableNodeStream(body))\n return _duplexify({\n readable: body\n });\n if (isWritableNodeStream(body))\n return _duplexify({\n writable: body\n });\n if (isNodeStream(body))\n return _duplexify({\n writable: !1,\n readable: !1\n });\n if (typeof body === \"function\") {\n const { value, write, final, destroy: destroy2 } = fromAsyncGen(body);\n if (isIterable(value))\n return from(Duplexify, value, {\n objectMode: !0,\n write,\n final,\n destroy: destroy2\n });\n const then2 = value === null || value === void 0 \? void 0 : value.then;\n if (typeof then2 === \"function\") {\n let d;\n const promise = FunctionPrototypeCall(then2, value, (val) => {\n if (val != null)\n throw new ERR_INVALID_RETURN_VALUE(\"nully\", \"body\", val);\n }, (err) => {\n destroyer(d, err);\n });\n return d = new Duplexify({\n objectMode: !0,\n readable: !1,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise, runOnNextTick(cb, null);\n } catch (err) {\n runOnNextTick(cb, err);\n }\n });\n },\n destroy: destroy2\n });\n }\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\", name, value);\n }\n if (isBlob(body))\n return duplexify(body.arrayBuffer());\n if (isIterable(body))\n return from(Duplexify, body, {\n objectMode: !0,\n writable: !1\n });\n if (typeof (body === null || body === void 0 \? void 0 : body.writable) === \"object\" || typeof (body === null || body === void 0 \? void 0 : body.readable) === \"object\") {\n const readable = body !== null && body !== void 0 && body.readable \? isReadableNodeStream(body === null || body === void 0 \? void 0 : body.readable) \? body === null || body === void 0 \? void 0 : body.readable : duplexify(body.readable) : void 0, writable = body !== null && body !== void 0 && body.writable \? isWritableNodeStream(body === null || body === void 0 \? void 0 : body.writable) \? body === null || body === void 0 \? void 0 : body.writable : duplexify(body.writable) : void 0;\n return _duplexify({\n readable,\n writable\n });\n }\n const then = body === null || body === void 0 \? void 0 : body.then;\n if (typeof then === \"function\") {\n let d;\n return FunctionPrototypeCall(then, body, (val) => {\n if (val != null)\n d.push(val);\n d.push(null);\n }, (err) => {\n destroyer(d, err);\n }), d = new Duplexify({\n objectMode: !0,\n writable: !1,\n read() {\n }\n });\n }\n throw new ERR_INVALID_ARG_TYPE2(name, [\n \"Blob\",\n \"ReadableStream\",\n \"WritableStream\",\n \"Stream\",\n \"Iterable\",\n \"AsyncIterable\",\n \"Function\",\n \"{ readable, writable } pair\",\n \"Promise\"\n ], body);\n };\n function fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise();\n const ac = new AbortController, signal = ac.signal;\n return {\n value: fn(async function* () {\n while (!0) {\n const _promise = promise;\n promise = null;\n const { chunk, done, cb } = await _promise;\n if (runOnNextTick(cb), done)\n return;\n if (signal.aborted)\n throw new AbortError2(void 0, {\n cause: signal.reason\n });\n ({ promise, resolve } = createDeferredPromise()), yield chunk;\n }\n }(), {\n signal\n }),\n write(chunk, encoding, cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n chunk,\n done: !1,\n cb\n });\n },\n final(cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n done: !0,\n cb\n });\n },\n destroy(err, cb) {\n ac.abort(), cb(err);\n }\n };\n }\n function _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== \"function\" \? Readable.wrap(pair.readable) : pair.readable, w = pair.writable;\n let readable = !!isReadable(r), writable = !!isWritable(w), ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n if (d = new Duplexify({\n readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),\n readable,\n writable\n }), writable)\n eos(w, (err) => {\n if (writable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), d._write = function(chunk, encoding, callback) {\n if (w.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n w.end(), onfinish = callback;\n }, w.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), w.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n eos(r, (err) => {\n if (readable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), r.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), r.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = r.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(w, err), destroyer(r, err);\n }, d;\n }\n }\n}), require_duplex = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplex.js\"(exports, module) {\n var { ObjectDefineProperties, ObjectGetOwnPropertyDescriptor, ObjectKeys, ObjectSetPrototypeOf } = require_primordials(), Readable = require_readable();\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n if (Readable.@call(this, options), Writable.@call(this, options), options) {\n if (this.allowHalfOpen = options.allowHalfOpen !== !1, options.readable === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if (options.writable === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n } else\n this.allowHalfOpen = !0;\n }\n Duplex.prototype = {}, module.exports = Duplex, ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype), ObjectSetPrototypeOf(Duplex, Readable);\n for (var method in Writable.prototype)\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n ObjectDefineProperties(Duplex.prototype, {\n writable: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writable\"),\n writableHighWaterMark: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableHighWaterMark\"),\n writableObjectMode: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableObjectMode\"),\n writableBuffer: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableBuffer\"),\n writableLength: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableLength\"),\n writableFinished: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableFinished\"),\n writableCorked: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableCorked\"),\n writableEnded: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableEnded\"),\n writableNeedDrain: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableNeedDrain\"),\n destroyed: {\n get() {\n if (this._readableState === void 0 || this._writableState === void 0)\n return !1;\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set(value) {\n if (this._readableState && this._writableState)\n this._readableState.destroyed = value, this._writableState.destroyed = value;\n }\n }\n });\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Duplex.fromWeb = function(pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);\n }, Duplex.toWeb = function(duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);\n };\n var duplexify;\n Duplex.from = function(body) {\n if (!duplexify)\n duplexify = require_duplexify();\n return duplexify(body, \"body\");\n };\n }\n}), require_transform = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/transform.js\"(exports, module) {\n var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials(), { ERR_METHOD_NOT_IMPLEMENTED } = require_errors().codes, Duplex = require_duplex();\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n if (Duplex.@call(this, options), this._readableState.sync = !1, this[kCallback] = null, options) {\n if (typeof options.transform === \"function\")\n this._transform = options.transform;\n if (typeof options.flush === \"function\")\n this._flush = options.flush;\n }\n this.on(\"prefinish\", prefinish.bind(this));\n }\n Transform.prototype = {}, ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype), ObjectSetPrototypeOf(Transform, Duplex), module.exports = Transform;\n var kCallback = Symbol2(\"kCallback\");\n function final(cb) {\n if (typeof this._flush === \"function\" && !this.destroyed)\n this._flush((er, data) => {\n if (er) {\n if (cb)\n cb(er);\n else\n this.destroy(er);\n return;\n }\n if (data != null)\n this.push(data);\n if (this.push(null), cb)\n cb();\n });\n else if (this.push(null), cb)\n cb();\n }\n function prefinish() {\n if (this._final !== final)\n final.@call(this);\n }\n Transform.prototype._final = final, Transform.prototype._transform = function(chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\");\n }, Transform.prototype._write = function(chunk, encoding, callback) {\n const rState = this._readableState, wState = this._writableState, length = rState.length;\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err);\n return;\n }\n if (val != null)\n this.push(val);\n if (wState.ended || length === rState.length || rState.length < rState.highWaterMark || rState.highWaterMark === 0 || rState.length === 0)\n callback();\n else\n this[kCallback] = callback;\n });\n }, Transform.prototype._read = function() {\n if (this[kCallback]) {\n const callback = this[kCallback];\n this[kCallback] = null, callback();\n }\n };\n }\n}), require_passthrough = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/passthrough.js\"(exports, module) {\n var { ObjectSetPrototypeOf } = require_primordials(), Transform = require_transform();\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.@call(this, options);\n }\n PassThrough.prototype = {}, ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype), ObjectSetPrototypeOf(PassThrough, Transform), PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n }, module.exports = PassThrough;\n }\n}), require_pipeline = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/pipeline.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, Promise: Promise2, SymbolAsyncIterator } = require_primordials(), eos = require_end_of_stream(), { once } = require_util(), destroyImpl = require_destroy(), Duplex = require_duplex(), {\n aggregateTwoErrors,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS, ERR_STREAM_DESTROYED },\n AbortError: AbortError2\n } = require_errors(), { validateFunction, validateAbortSignal } = require_validators(), { isIterable, isReadable, isReadableNodeStream, isNodeStream } = require_utils(), PassThrough, Readable;\n function destroyer(stream, reading, writing) {\n let finished = !1;\n stream.on(\"close\", () => {\n finished = !0;\n });\n const cleanup = eos(stream, {\n readable: reading,\n writable: writing\n }, (err) => {\n finished = !err;\n });\n return {\n destroy: (err) => {\n if (finished)\n return;\n finished = !0, destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED(\"pipe\"));\n },\n cleanup\n };\n }\n function popCallback(streams) {\n return validateFunction(streams[streams.length - 1], \"streams[stream.length - 1]\"), streams.pop();\n }\n function makeAsyncIterable(val) {\n if (isIterable(val))\n return val;\n else if (isReadableNodeStream(val))\n return fromReadable(val);\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], val);\n }\n async function* fromReadable(val) {\n if (!Readable)\n Readable = require_readable();\n yield* Readable.prototype[SymbolAsyncIterator].@call(val);\n }\n async function pump(iterable, writable, finish, { end }) {\n let error, onresolve = null;\n const resume = (err) => {\n if (err)\n error = err;\n if (onresolve) {\n const callback = onresolve;\n onresolve = null, callback();\n }\n }, wait = () => new Promise2((resolve, reject) => {\n if (error)\n reject(error);\n else\n onresolve = () => {\n if (error)\n reject(error);\n else\n resolve();\n };\n });\n writable.on(\"drain\", resume);\n const cleanup = eos(writable, {\n readable: !1\n }, resume);\n try {\n if (writable.writableNeedDrain)\n await wait();\n for await (let chunk of iterable)\n if (!writable.write(chunk))\n await wait();\n if (end)\n writable.end();\n await wait(), finish();\n } catch (err) {\n finish(error !== err \? aggregateTwoErrors(error, err) : err);\n } finally {\n cleanup(), writable.off(\"drain\", resume);\n }\n }\n function pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)));\n }\n function pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray2(streams[0]))\n streams = streams[0];\n if (streams.length < 2)\n throw new ERR_MISSING_ARGS(\"streams\");\n const ac = new AbortController, signal = ac.signal, outerSignal = opts === null || opts === void 0 \? void 0 : opts.signal, lastStreamCleanup = [];\n validateAbortSignal(outerSignal, \"options.signal\");\n function abort() {\n finishImpl(new AbortError2);\n }\n outerSignal === null || outerSignal === void 0 || outerSignal.addEventListener(\"abort\", abort);\n let error, value;\n const destroys = [];\n let finishCount = 0;\n function finish(err) {\n finishImpl(err, --finishCount === 0);\n }\n function finishImpl(err, final) {\n if (err && (!error || error.code === \"ERR_STREAM_PREMATURE_CLOSE\"))\n error = err;\n if (!error && !final)\n return;\n while (destroys.length)\n destroys.shift()(error);\n if (outerSignal === null || outerSignal === void 0 || outerSignal.removeEventListener(\"abort\", abort), ac.abort(), final) {\n if (!error)\n lastStreamCleanup.forEach((fn) => fn());\n runOnNextTick(callback, error, value);\n }\n }\n let ret;\n for (let i = 0;i < streams.length; i++) {\n const stream = streams[i], reading = i < streams.length - 1, writing = i > 0, end = reading || (opts === null || opts === void 0 \? void 0 : opts.end) !== !1, isLastStream = i === streams.length - 1;\n if (isNodeStream(stream)) {\n let onError = function(err) {\n if (err && err.name !== \"AbortError\" && err.code !== \"ERR_STREAM_PREMATURE_CLOSE\")\n finish(err);\n };\n if (end) {\n const { destroy: destroy2, cleanup } = destroyer(stream, reading, writing);\n if (destroys.push(destroy2), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n if (stream.on(\"error\", onError), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(() => {\n stream.removeListener(\"error\", onError);\n });\n }\n if (i === 0)\n if (typeof stream === \"function\") {\n if (ret = stream({\n signal\n }), !isIterable(ret))\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\", \"source\", ret);\n } else if (isIterable(stream) || isReadableNodeStream(stream))\n ret = stream;\n else\n ret = Duplex.from(stream);\n else if (typeof stream === \"function\")\n if (ret = makeAsyncIterable(ret), ret = stream(ret, {\n signal\n }), reading) {\n if (!isIterable(ret, !0))\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\", `transform[${i - 1}]`, ret);\n } else {\n var _ret;\n if (!PassThrough)\n PassThrough = require_passthrough();\n const pt = new PassThrough({\n objectMode: !0\n }), then = (_ret = ret) === null || _ret === void 0 \? void 0 : _ret.then;\n if (typeof then === \"function\")\n finishCount++, then.@call(ret, (val) => {\n if (value = val, val != null)\n pt.write(val);\n if (end)\n pt.end();\n runOnNextTick(finish);\n }, (err) => {\n pt.destroy(err), runOnNextTick(finish, err);\n });\n else if (isIterable(ret, !0))\n finishCount++, pump(ret, pt, finish, {\n end\n });\n else\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\", \"destination\", ret);\n ret = pt;\n const { destroy: destroy2, cleanup } = destroyer(ret, !1, !0);\n if (destroys.push(destroy2), isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2;\n const cleanup = pipe(ret, stream, finish, {\n end\n });\n if (isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n } else if (isIterable(ret))\n finishCount++, pump(ret, stream, finish, {\n end\n });\n else\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], ret);\n ret = stream;\n } else\n ret = Duplex.from(stream);\n }\n if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted)\n runOnNextTick(abort);\n return ret;\n }\n function pipe(src, dst, finish, { end }) {\n if (src.pipe(dst, {\n end\n }), end)\n src.once(\"end\", () => dst.end());\n else\n finish();\n return eos(src, {\n readable: !0,\n writable: !1\n }, (err) => {\n const rState = src._readableState;\n if (err && err.code === \"ERR_STREAM_PREMATURE_CLOSE\" && rState && rState.ended && !rState.errored && !rState.errorEmitted)\n src.once(\"end\", finish).once(\"error\", finish);\n else\n finish(err);\n }), eos(dst, {\n readable: !1,\n writable: !0\n }, finish);\n }\n module.exports = {\n pipelineImpl,\n pipeline\n };\n }\n}), require_compose = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/compose.js\"(exports, module) {\n var { pipeline } = require_pipeline(), Duplex = require_duplex(), { destroyer } = require_destroy(), { isNodeStream, isReadable, isWritable } = require_utils(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_MISSING_ARGS }\n } = require_errors();\n module.exports = function compose(...streams) {\n if (streams.length === 0)\n throw new ERR_MISSING_ARGS(\"streams\");\n if (streams.length === 1)\n return Duplex.from(streams[0]);\n const orgStreams = [...streams];\n if (typeof streams[0] === \"function\")\n streams[0] = Duplex.from(streams[0]);\n if (typeof streams[streams.length - 1] === \"function\") {\n const idx = streams.length - 1;\n streams[idx] = Duplex.from(streams[idx]);\n }\n for (let n = 0;n < streams.length; ++n) {\n if (!isNodeStream(streams[n]))\n continue;\n if (n < streams.length - 1 && !isReadable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be readable\");\n if (n > 0 && !isWritable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be writable\");\n }\n let ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n const head = streams[0], tail = pipeline(streams, onfinished), writable = !!isWritable(head), readable = !!isReadable(tail);\n if (d = new Duplex({\n writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== void 0 && tail.writableObjectMode),\n writable,\n readable\n }), writable)\n d._write = function(chunk, encoding, callback) {\n if (head.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n head.end(), onfinish = callback;\n }, head.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), tail.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n tail.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), tail.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = tail.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(tail, err);\n }, d;\n };\n }\n}), require_promises = __commonJS({\n \"node_modules/readable-stream/lib/stream/promises.js\"(exports, module) {\n var { ArrayPrototypePop, Promise: Promise2 } = require_primordials(), { isIterable, isNodeStream } = require_utils(), { pipelineImpl: pl } = require_pipeline(), { finished } = require_end_of_stream();\n function pipeline(...streams) {\n return new Promise2((resolve, reject) => {\n let signal, end;\n const lastArg = streams[streams.length - 1];\n if (lastArg && typeof lastArg === \"object\" && !isNodeStream(lastArg) && !isIterable(lastArg)) {\n const options = ArrayPrototypePop(streams);\n signal = options.signal, end = options.end;\n }\n pl(streams, (err, value) => {\n if (err)\n reject(err);\n else\n resolve(value);\n }, {\n signal,\n end\n });\n });\n }\n module.exports = {\n finished,\n pipeline\n };\n }\n}), require_stream = __commonJS({\n \"node_modules/readable-stream/lib/stream.js\"(exports, module) {\n var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials(), {\n promisify: { custom: customPromisify }\n } = require_util(), { streamReturningOperators, promiseReturningOperators } = require_operators(), {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n } = require_errors(), compose = require_compose(), { pipeline } = require_pipeline(), { destroyer } = require_destroy(), eos = require_end_of_stream(), promises = require_promises(), utils = require_utils(), Stream = module.exports = require_legacy().Stream;\n Stream.isDisturbed = utils.isDisturbed, Stream.isErrored = utils.isErrored, Stream.isWritable = utils.isWritable, Stream.isReadable = utils.isReadable, Stream.Readable = require_readable();\n for (let key of ObjectKeys(streamReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return Stream.Readable.from(ReflectApply(op, this, args));\n };\n const op = streamReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n for (let key of ObjectKeys(promiseReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return ReflectApply(op, this, args);\n };\n const op = promiseReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n Stream.Writable = require_writable(), Stream.Duplex = require_duplex(), Stream.Transform = require_transform(), Stream.PassThrough = require_passthrough(), Stream.pipeline = pipeline;\n var { addAbortSignal } = require_add_abort_signal();\n Stream.addAbortSignal = addAbortSignal, Stream.finished = eos, Stream.destroy = destroyer, Stream.compose = compose, ObjectDefineProperty(Stream, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n }), ObjectDefineProperty(pipeline, customPromisify, {\n enumerable: !0,\n get() {\n return promises.pipeline;\n }\n }), ObjectDefineProperty(eos, customPromisify, {\n enumerable: !0,\n get() {\n return promises.finished;\n }\n }), Stream.Stream = Stream, Stream._isUint8Array = function isUint8Array(value) {\n return value instanceof @Uint8Array;\n }, Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return new @Buffer(chunk.buffer, chunk.byteOffset, chunk.byteLength);\n };\n }\n}), nativeReadableStreamPrototypes = {\n 0: @undefined,\n 1: @undefined,\n 2: @undefined,\n 3: @undefined,\n 4: @undefined,\n 5: @undefined\n}, Writable = require_writable(), _pathOrFdOrSink = Symbol(\"pathOrFdOrSink\"), _fileSink = Symbol(\"fileSink\"), _native = Symbol(\"native\");\nNativeWritable.prototype = Object.create(Writable.prototype);\nvar WritablePrototypeWrite = Writable.prototype.write;\nNativeWritable.prototype.write = function NativeWritablePrototypeWrite(chunk, encoding, cb, native) {\n if (!(native \?\? this[_native]))\n return this[_native] = !1, WritablePrototypeWrite.@call(this, chunk, encoding, cb);\n var fileSink = this[_fileSink] \?\? NativeWritable_lazyConstruct(this), result = fileSink.write(chunk);\n if (@isPromise(result))\n return result.then(() => {\n this.emit(\"drain\"), fileSink.flush(!0);\n }), !1;\n if (fileSink.flush(!0), typeof encoding === \"function\")\n cb = encoding;\n if (cb)\n cb(null, chunk.byteLength);\n return !0;\n};\nvar WritablePrototypeEnd = Writable.prototype.end;\nNativeWritable.prototype.end = function end(chunk, encoding, cb, native) {\n return WritablePrototypeEnd.@call(this, chunk, encoding, cb, native \?\? this[_native]);\n};\nNativeWritable.prototype.ref = function ref() {\n var sink = this[_fileSink];\n if (!sink)\n this.NativeWritable_lazyConstruct();\n sink.ref();\n};\nNativeWritable.prototype.unref = function unref() {\n this[_fileSink]\?.unref();\n};\nvar exports = require_stream(), promises = require_promises();\nexports._getNativeReadableStreamPrototype = getNativeReadableStreamPrototype;\nexports.NativeWritable = NativeWritable;\nObject.defineProperty(exports, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n});\nexports[Symbol.for(\"::bunternal::\")] = { _ReadableFromWeb, _ReadableFromWebForUndici };\nexports.eos = require_end_of_stream();\nexports.EventEmitter = EE;\nreturn exports})\n"); // // -static constexpr ASCIILiteral NodeStreamPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).promises})\n"); +static constexpr ASCIILiteral NodeStreamPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).promises})\n"); // // -static constexpr ASCIILiteral NodeStreamWebCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.web.ts\nvar $;\n$ = {\n ReadableStream: @ReadableStream,\n ReadableStreamDefaultReader: @ReadableStreamDefaultReader,\n ReadableStreamBYOBReader: @ReadableStreamBYOBReader,\n ReadableStreamBYOBRequest: @ReadableStreamBYOBRequest,\n ReadableByteStreamController: @ReadableByteStreamController,\n ReadableStreamDefaultController: @ReadableStreamDefaultController,\n TransformStream: @TransformStream,\n TransformStreamDefaultController: @TransformStreamDefaultController,\n WritableStream: @WritableStream,\n WritableStreamDefaultWriter: @WritableStreamDefaultWriter,\n WritableStreamDefaultController: @WritableStreamDefaultController,\n ByteLengthQueuingStrategy,\n CountQueuingStrategy,\n TextEncoderStream: @undefined,\n TextDecoderStream: @undefined,\n CompressionStream: @undefined,\n DecompressionStream: @undefined\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeStreamWebCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.web.ts\nvar $;\n$ = {\n ReadableStream: @ReadableStream,\n ReadableStreamDefaultReader: @ReadableStreamDefaultReader,\n ReadableStreamBYOBReader: @ReadableStreamBYOBReader,\n ReadableStreamBYOBRequest: @ReadableStreamBYOBRequest,\n ReadableByteStreamController: @ReadableByteStreamController,\n ReadableStreamDefaultController: @ReadableStreamDefaultController,\n TransformStream: @TransformStream,\n TransformStreamDefaultController: @TransformStreamDefaultController,\n WritableStream: @WritableStream,\n WritableStreamDefaultWriter: @WritableStreamDefaultWriter,\n WritableStreamDefaultController: @WritableStreamDefaultController,\n ByteLengthQueuingStrategy,\n CountQueuingStrategy,\n TextEncoderStream: @undefined,\n TextDecoderStream: @undefined,\n CompressionStream: @undefined,\n DecompressionStream: @undefined\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTimersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/timers.ts\nvar $;\n$ = {\n setTimeout,\n clearTimeout,\n setInterval,\n setImmediate,\n clearInterval,\n clearImmediate\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTimersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/timers.ts\nvar $;\n$ = {\n setTimeout,\n clearTimeout,\n setInterval,\n setImmediate,\n clearInterval,\n clearImmediate\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTimersPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/timers.promises.ts\nvar validateObject = function(object, name) {\n if (object === null || typeof object !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Object\", object);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n}, validateAbortSignal = function(signal, name) {\n if (typeof signal !== \"undefined\" && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, asyncIterator = function({ next: nextFunction, return: returnFunction }) {\n const result = {};\n if (typeof nextFunction === \"function\")\n result.next = nextFunction;\n if (typeof returnFunction === \"function\")\n result.return = returnFunction;\n return result[symbolAsyncIterator] = function() {\n return this;\n }, result;\n}, setTimeoutPromise = function(after = 1, value, options = {}) {\n const arguments_ = [].concat(value \?\? []);\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const timeout = setTimeout(() => resolve(value), after, ...arguments_);\n if (!reference)\n timeout\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearTimeout(timeout), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setImmediatePromise = function(value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const immediate = setImmediate(() => resolve(value));\n if (!reference)\n immediate\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearImmediate(immediate), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setIntervalPromise = function(after = 1, value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n if (signal\?.aborted)\n return asyncIterator({\n next: function() {\n return @Promise.reject(new AbortError);\n }\n });\n let onCancel, interval;\n try {\n let notYielded = 0, callback;\n if (interval = setInterval(() => {\n if (notYielded++, callback)\n callback(), callback = @undefined;\n }, after), !reference)\n interval\?.unref\?.();\n if (signal)\n onCancel = () => {\n if (clearInterval(interval), callback)\n callback(), callback = @undefined;\n }, signal.addEventListener(\"abort\", onCancel);\n return asyncIterator({\n next: function() {\n return new @Promise((resolve, reject) => {\n if (!signal\?.aborted)\n if (notYielded === 0)\n callback = resolve;\n else\n resolve();\n else if (notYielded === 0)\n reject(new AbortError);\n else\n resolve();\n }).then(() => {\n if (notYielded > 0)\n return notYielded = notYielded - 1, { done: !1, value };\n return { done: !0 };\n });\n },\n return: function() {\n return clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel), @Promise.resolve({});\n }\n });\n } catch (error) {\n return asyncIterator({\n next: function() {\n clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel);\n }\n });\n }\n}, $, symbolAsyncIterator = Symbol.asyncIterator;\n\nclass ERR_INVALID_ARG_TYPE extends Error {\n constructor(name, expected, actual) {\n super(`${name} must be ${expected}, ${typeof actual} given`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n\nclass AbortError extends Error {\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\n$ = {\n setTimeout: setTimeoutPromise,\n setImmediate: setImmediatePromise,\n setInterval: setIntervalPromise,\n scheduler: {\n wait: (delay, options) => setTimeoutPromise(delay, @undefined, options),\n yield: setImmediatePromise\n }\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTimersPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/timers.promises.ts\nvar validateObject = function(object, name) {\n if (object === null || typeof object !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Object\", object);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n}, validateAbortSignal = function(signal, name) {\n if (typeof signal !== \"undefined\" && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, asyncIterator = function({ next: nextFunction, return: returnFunction }) {\n const result = {};\n if (typeof nextFunction === \"function\")\n result.next = nextFunction;\n if (typeof returnFunction === \"function\")\n result.return = returnFunction;\n return result[symbolAsyncIterator] = function() {\n return this;\n }, result;\n}, setTimeoutPromise = function(after = 1, value, options = {}) {\n const arguments_ = [].concat(value \?\? []);\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const timeout = setTimeout(() => resolve(value), after, ...arguments_);\n if (!reference)\n timeout\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearTimeout(timeout), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setImmediatePromise = function(value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const immediate = setImmediate(() => resolve(value));\n if (!reference)\n immediate\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearImmediate(immediate), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setIntervalPromise = function(after = 1, value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n if (signal\?.aborted)\n return asyncIterator({\n next: function() {\n return @Promise.reject(new AbortError);\n }\n });\n let onCancel, interval;\n try {\n let notYielded = 0, callback;\n if (interval = setInterval(() => {\n if (notYielded++, callback)\n callback(), callback = @undefined;\n }, after), !reference)\n interval\?.unref\?.();\n if (signal)\n onCancel = () => {\n if (clearInterval(interval), callback)\n callback(), callback = @undefined;\n }, signal.addEventListener(\"abort\", onCancel);\n return asyncIterator({\n next: function() {\n return new @Promise((resolve, reject) => {\n if (!signal\?.aborted)\n if (notYielded === 0)\n callback = resolve;\n else\n resolve();\n else if (notYielded === 0)\n reject(new AbortError);\n else\n resolve();\n }).then(() => {\n if (notYielded > 0)\n return notYielded = notYielded - 1, { done: !1, value };\n return { done: !0 };\n });\n },\n return: function() {\n return clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel), @Promise.resolve({});\n }\n });\n } catch (error) {\n return asyncIterator({\n next: function() {\n clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel);\n }\n });\n }\n}, $, symbolAsyncIterator = Symbol.asyncIterator;\n\nclass ERR_INVALID_ARG_TYPE extends Error {\n constructor(name, expected, actual) {\n super(`${name} must be ${expected}, ${typeof actual} given`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n\nclass AbortError extends Error {\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\n$ = {\n setTimeout: setTimeoutPromise,\n setImmediate: setImmediatePromise,\n setInterval: setIntervalPromise,\n scheduler: {\n wait: (delay, options) => setTimeoutPromise(delay, @undefined, options),\n yield: setImmediatePromise\n }\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTLSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/tls.ts\nvar parseCertString = function() {\n throwNotImplemented(\"Not implemented\");\n}, isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, unfqdn = function(host) {\n return RegExpPrototypeSymbolReplace.@call(/[.]$/, host, \"\");\n}, toLowerCase = function(c) {\n return StringFromCharCode.@call(32 + StringPrototypeCharCodeAt.@call(c, 0));\n}, splitHost = function(host) {\n return StringPrototypeSplit.@call(RegExpPrototypeSymbolReplace.@call(/[A-Z]/g, unfqdn(host), toLowerCase), \".\");\n}, check = function(hostParts, pattern, wildcards) {\n if (!pattern)\n return !1;\n const patternParts = splitHost(pattern);\n if (hostParts.length !== patternParts.length)\n return !1;\n if (ArrayPrototypeIncludes.@call(patternParts, \"\"))\n return !1;\n const isBad = (s) => RegExpPrototypeExec.@call(/[^\\u0021-\\u007F]/u, s) !== null;\n if (ArrayPrototypeSome.@call(patternParts, isBad))\n return !1;\n for (let i = hostParts.length - 1;i > 0; i -= 1)\n if (hostParts[i] !== patternParts[i])\n return !1;\n const hostSubdomain = hostParts[0], patternSubdomain = patternParts[0], patternSubdomainParts = StringPrototypeSplit.@call(patternSubdomain, \"*\");\n if (patternSubdomainParts.length === 1 || StringPrototypeIncludes.@call(patternSubdomain, \"xn--\"))\n return hostSubdomain === patternSubdomain;\n if (!wildcards)\n return !1;\n if (patternSubdomainParts.length > 2)\n return !1;\n if (patternParts.length <= 2)\n return !1;\n const { 0: prefix, 1: suffix } = patternSubdomainParts;\n if (prefix.length + suffix.length > hostSubdomain.length)\n return !1;\n if (!StringPrototypeStartsWith.@call(hostSubdomain, prefix))\n return !1;\n if (!StringPrototypeEndsWith.@call(hostSubdomain, suffix))\n return !1;\n return !0;\n}, splitEscapedAltNames = function(altNames) {\n const result = [];\n let currentToken = \"\", offset = 0;\n while (offset !== altNames.length) {\n const nextSep = StringPrototypeIndexOf.@call(altNames, \", \", offset), nextQuote = StringPrototypeIndexOf.@call(altNames, '\"', offset);\n if (nextQuote !== -1 && (nextSep === -1 || nextQuote < nextSep)) {\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextQuote);\n const match = RegExpPrototypeExec.@call(jsonStringPattern, StringPrototypeSubstring.@call(altNames, nextQuote));\n if (!match) {\n let error = new SyntaxError(\"ERR_TLS_CERT_ALTNAME_FORMAT: Invalid subject alternative name string\");\n throw error.name = ERR_TLS_CERT_ALTNAME_FORMAT, error;\n }\n currentToken += JSON.parse(match[0]), offset = nextQuote + match[0].length;\n } else if (nextSep !== -1)\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextSep), ArrayPrototypePush.@call(result, currentToken), currentToken = \"\", offset = nextSep + 2;\n else\n currentToken += StringPrototypeSubstring.@call(altNames, offset), offset = altNames.length;\n }\n return ArrayPrototypePush.@call(result, currentToken), result;\n}, checkServerIdentity = function(hostname, cert) {\n const { subject, subjectaltname: altNames } = cert, dnsNames = [], ips = [];\n if (hostname = \"\" + hostname, altNames) {\n const splitAltNames = StringPrototypeIncludes.@call(altNames, '\"') \? splitEscapedAltNames(altNames) : StringPrototypeSplit.@call(altNames, \", \");\n ArrayPrototypeForEach.@call(splitAltNames, (name) => {\n if (StringPrototypeStartsWith.@call(name, \"DNS:\"))\n ArrayPrototypePush.@call(dnsNames, StringPrototypeSlice.@call(name, 4));\n else if (StringPrototypeStartsWith.@call(name, \"IP Address:\"))\n ArrayPrototypePush.@call(ips, canonicalizeIP(StringPrototypeSlice.@call(name, 11)));\n });\n }\n let valid = !1, reason = \"Unknown reason\";\n if (hostname = unfqdn(hostname), net.isIP(hostname)) {\n if (valid = ArrayPrototypeIncludes.@call(ips, canonicalizeIP(hostname)), !valid)\n reason = `IP: ${hostname} is not in the cert's list: ` + ArrayPrototypeJoin.@call(ips, \", \");\n } else if (dnsNames.length > 0 || subject\?.CN) {\n const hostParts = splitHost(hostname), wildcard = (pattern) => check(hostParts, pattern, !0);\n if (dnsNames.length > 0) {\n if (valid = ArrayPrototypeSome.@call(dnsNames, wildcard), !valid)\n reason = `Host: ${hostname}. is not in the cert's altnames: ${altNames}`;\n } else {\n const cn = subject.CN;\n if (@Array.isArray(cn))\n valid = ArrayPrototypeSome.@call(cn, wildcard);\n else if (cn)\n valid = wildcard(cn);\n if (!valid)\n reason = `Host: ${hostname}. is not cert's CN: ${cn}`;\n }\n } else\n reason = \"Cert does not contain a DNS name\";\n if (!valid) {\n let error = new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`);\n return error.name = \"ERR_TLS_CERT_ALTNAME_INVALID\", error.reason = reason, error.host = hostname, error.cert = cert, error;\n }\n}, SecureContext = function(options) {\n return new InternalSecureContext(options);\n}, createSecureContext = function(options) {\n return new SecureContext(options);\n}, translatePeerCertificate = function(c) {\n if (!c)\n return null;\n if (c.issuerCertificate != null && c.issuerCertificate !== c)\n c.issuerCertificate = translatePeerCertificate(c.issuerCertificate);\n if (c.infoAccess != null) {\n const info = c.infoAccess;\n c.infoAccess = { __proto__: null }, RegExpPrototypeSymbolReplace.@call(/([^\\n:]*):([^\\n]*)(\?:\\n|$)/g, info, (all, key, val) => {\n if (val.charCodeAt(0) === 34)\n val = JSONParse(val);\n if (key in c.infoAccess)\n ArrayPrototypePush.@call(c.infoAccess[key], val);\n else\n c.infoAccess[key] = [val];\n });\n }\n return c;\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, getCiphers = function() {\n return DEFAULT_CIPHERS.split(\":\");\n}, convertProtocols = function(protocols) {\n const lens = new @Array(protocols.length), buff = @Buffer.allocUnsafe(ArrayPrototypeReduce.@call(protocols, (p, c, i) => {\n const len = @Buffer.byteLength(c);\n if (len > 255)\n @throwRangeError(\"The byte length of the protocol at index \" + `${i} exceeds the maximum length.`, \"<= 255\", len, !0);\n return lens[i] = len, p + 1 + len;\n }, 0));\n let offset = 0;\n for (let i = 0, c = protocols.length;i < c; i++)\n buff[offset++] = lens[i], buff.write(protocols[i], offset), offset += lens[i];\n return buff;\n}, convertALPNProtocols = function(protocols, out) {\n if (@Array.isArray(protocols))\n out.ALPNProtocols = convertProtocols(protocols);\n else if (isTypedArray(protocols))\n out.ALPNProtocols = @Buffer.from(protocols);\n else if (isArrayBufferView(protocols))\n out.ALPNProtocols = @Buffer.from(protocols.buffer.slice(protocols.byteOffset, protocols.byteOffset + protocols.byteLength));\n else if (@Buffer.isBuffer(protocols))\n out.ALPNProtocols = protocols;\n}, $, { isArrayBufferView, isTypedArray } = @requireNativeModule(\"util/types\"), net = @getInternalField(@internalModuleRegistry, 27) || @createInternalModuleById(27), { Server: NetServer, [Symbol.for(\"::bunternal::\")]: InternalTCPSocket } = net, bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), { rootCertificates, canonicalizeIP } = @lazy(\"internal/tls\"), SymbolReplace = Symbol.replace, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], RegExpPrototypeExec = @RegExp.prototype.exec, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeSlice = @String.prototype.slice, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSplit = @String.prototype.split, StringPrototypeIndexOf = @String.prototype.indexOf, StringPrototypeSubstring = @String.prototype.substring, StringPrototypeEndsWith = @String.prototype.endsWith, StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeForEach = @Array.prototype.forEach, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSome = @Array.prototype.some, ArrayPrototypeReduce = @Array.prototype.reduce, jsonStringPattern = /^\"(\?:[^\"\\\\\\u0000-\\u001f]|\\\\(\?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))*\"/, InternalSecureContext = class SecureContext2 {\n context;\n constructor(options) {\n const context = {};\n if (options) {\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n }\n this.context = context;\n }\n}, buntls = Symbol.for(\"::buntls::\"), SocketClass, TLSSocket = function(InternalTLSSocket) {\n SocketClass = InternalTLSSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"TLSSocket\",\n enumerable: !1\n });\n function Socket(options) {\n return new InternalTLSSocket(options);\n }\n return Socket.prototype = InternalTLSSocket.prototype, Object.defineProperty(Socket, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalTLSSocket;\n }\n });\n}(class TLSSocket2 extends InternalTCPSocket {\n #secureContext;\n ALPNProtocols;\n #socket;\n #checkServerIdentity;\n #session;\n constructor(socket, options) {\n super(socket instanceof InternalTCPSocket \? options : options || socket);\n if (options = options || socket || {}, typeof options === \"object\") {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n if (socket instanceof InternalTCPSocket)\n this.#socket = socket;\n }\n this.#secureContext = options.secureContext || createSecureContext(options), this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, this.#checkServerIdentity = options.checkServerIdentity || checkServerIdentity, this.#session = options.session || null;\n }\n _secureEstablished = !1;\n _securePending = !0;\n _newSessionPending;\n _controlReleased;\n secureConnecting = !1;\n _SNICallback;\n servername;\n authorized = !1;\n authorizationError;\n #renegotiationDisabled = !1;\n encrypted = !0;\n _start() {\n this.connect();\n }\n getSession() {\n return this[bunSocketInternal]\?.getSession();\n }\n getEphemeralKeyInfo() {\n return this[bunSocketInternal]\?.getEphemeralKeyInfo();\n }\n getCipher() {\n return this[bunSocketInternal]\?.getCipher();\n }\n getSharedSigalgs() {\n return this[bunSocketInternal]\?.getSharedSigalgs();\n }\n getProtocol() {\n return this[bunSocketInternal]\?.getTLSVersion();\n }\n getFinished() {\n return this[bunSocketInternal]\?.getTLSFinishedMessage() || @undefined;\n }\n getPeerFinished() {\n return this[bunSocketInternal]\?.getTLSPeerFinishedMessage() || @undefined;\n }\n isSessionReused() {\n return !!this.#session;\n }\n renegotiate() {\n if (this.#renegotiationDisabled) {\n const error = new Error(\"ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket\");\n throw error.name = \"ERR_TLS_RENEGOTIATION_DISABLED\", error;\n }\n throw Error(\"Not implented in Bun yet\");\n }\n disableRenegotiation() {\n this.#renegotiationDisabled = !0;\n }\n getTLSTicket() {\n return this[bunSocketInternal]\?.getTLSTicket();\n }\n exportKeyingMaterial(length, label, context) {\n if (context)\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label, context);\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label);\n }\n setMaxSendFragment(size) {\n return this[bunSocketInternal]\?.setMaxSendFragment(size) || !1;\n }\n enableTrace() {\n }\n setServername(name) {\n if (this.isServer) {\n let error = new Error(\"ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket\");\n throw error.name = \"ERR_TLS_SNI_FROM_SERVER\", error;\n }\n this.servername = name, this[bunSocketInternal]\?.setServername(name);\n }\n setSession(session) {\n if (this.#session = session, typeof session === \"string\")\n session = @Buffer.from(session, \"latin1\");\n return this[bunSocketInternal]\?.setSession(session);\n }\n getPeerCertificate(abbreviated) {\n const cert = arguments.length < 1 \? this[bunSocketInternal]\?.getPeerCertificate() : this[bunSocketInternal]\?.getPeerCertificate(abbreviated);\n if (cert)\n return translatePeerCertificate(cert);\n }\n getCertificate() {\n const cert = this[bunSocketInternal]\?.getCertificate();\n if (cert)\n return translatePeerCertificate(cert);\n }\n getPeerX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n getX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n get alpnProtocol() {\n return this[bunSocketInternal]\?.alpnProtocol;\n }\n [buntls](port, host) {\n return {\n socket: this.#socket,\n ALPNProtocols: this.ALPNProtocols,\n serverName: this.servername || host || \"localhost\",\n checkServerIdentity: this.#checkServerIdentity,\n session: this.#session,\n ...this.#secureContext\n };\n }\n});\n\nclass Server extends NetServer {\n key;\n cert;\n ca;\n passphrase;\n secureOptions;\n _rejectUnauthorized;\n _requestCert;\n servername;\n ALPNProtocols;\n constructor(options, secureConnectionListener) {\n super(options, secureConnectionListener);\n this.setSecureContext(options);\n }\n setSecureContext(options) {\n if (options instanceof InternalSecureContext)\n options = options.context;\n if (options) {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n const requestCert = options.requestCert || !1;\n if (requestCert)\n this._requestCert = requestCert;\n else\n this._requestCert = @undefined;\n const rejectUnauthorized = options.rejectUnauthorized || !1;\n if (rejectUnauthorized)\n this._rejectUnauthorized = rejectUnauthorized;\n else\n this._rejectUnauthorized = @undefined;\n }\n }\n getTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n setTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n [buntls](port, host, isClient) {\n return [\n {\n serverName: this.servername || host || \"localhost\",\n key: this.key,\n cert: this.cert,\n ca: this.ca,\n passphrase: this.passphrase,\n secureOptions: this.secureOptions,\n rejectUnauthorized: isClient \? !1 : this._rejectUnauthorized,\n requestCert: isClient \? !1 : this._requestCert,\n ALPNProtocols: this.ALPNProtocols\n },\n SocketClass\n ];\n }\n}\nvar CLIENT_RENEG_LIMIT = 3, CLIENT_RENEG_WINDOW = 600, DEFAULT_ECDH_CURVE = \"auto\", DEFAULT_CIPHERS = \"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\", DEFAULT_MIN_VERSION = \"TLSv1.2\", DEFAULT_MAX_VERSION = \"TLSv1.3\", createConnection = (port, host, connectListener) => {\n if (typeof port === \"object\") {\n port.checkServerIdentity;\n const { ALPNProtocols } = port;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, port);\n return new TLSSocket(port).connect(port, host, connectListener);\n }\n return new TLSSocket().connect(port, host, connectListener);\n}, connect = createConnection;\n$ = {\n CLIENT_RENEG_LIMIT,\n CLIENT_RENEG_WINDOW,\n connect,\n convertALPNProtocols,\n createConnection,\n createSecureContext,\n createServer,\n DEFAULT_CIPHERS,\n DEFAULT_ECDH_CURVE,\n DEFAULT_MAX_VERSION,\n DEFAULT_MIN_VERSION,\n getCiphers,\n parseCertString,\n SecureContext,\n Server,\n TLSSocket,\n checkServerIdentity,\n rootCertificates\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTLSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/tls.ts\nvar parseCertString = function() {\n throwNotImplemented(\"Not implemented\");\n}, isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, unfqdn = function(host) {\n return RegExpPrototypeSymbolReplace.@call(/[.]$/, host, \"\");\n}, toLowerCase = function(c) {\n return StringFromCharCode.@call(32 + StringPrototypeCharCodeAt.@call(c, 0));\n}, splitHost = function(host) {\n return StringPrototypeSplit.@call(RegExpPrototypeSymbolReplace.@call(/[A-Z]/g, unfqdn(host), toLowerCase), \".\");\n}, check = function(hostParts, pattern, wildcards) {\n if (!pattern)\n return !1;\n const patternParts = splitHost(pattern);\n if (hostParts.length !== patternParts.length)\n return !1;\n if (ArrayPrototypeIncludes.@call(patternParts, \"\"))\n return !1;\n const isBad = (s) => RegExpPrototypeExec.@call(/[^\\u0021-\\u007F]/u, s) !== null;\n if (ArrayPrototypeSome.@call(patternParts, isBad))\n return !1;\n for (let i = hostParts.length - 1;i > 0; i -= 1)\n if (hostParts[i] !== patternParts[i])\n return !1;\n const hostSubdomain = hostParts[0], patternSubdomain = patternParts[0], patternSubdomainParts = StringPrototypeSplit.@call(patternSubdomain, \"*\");\n if (patternSubdomainParts.length === 1 || StringPrototypeIncludes.@call(patternSubdomain, \"xn--\"))\n return hostSubdomain === patternSubdomain;\n if (!wildcards)\n return !1;\n if (patternSubdomainParts.length > 2)\n return !1;\n if (patternParts.length <= 2)\n return !1;\n const { 0: prefix, 1: suffix } = patternSubdomainParts;\n if (prefix.length + suffix.length > hostSubdomain.length)\n return !1;\n if (!StringPrototypeStartsWith.@call(hostSubdomain, prefix))\n return !1;\n if (!StringPrototypeEndsWith.@call(hostSubdomain, suffix))\n return !1;\n return !0;\n}, splitEscapedAltNames = function(altNames) {\n const result = [];\n let currentToken = \"\", offset = 0;\n while (offset !== altNames.length) {\n const nextSep = StringPrototypeIndexOf.@call(altNames, \", \", offset), nextQuote = StringPrototypeIndexOf.@call(altNames, '\"', offset);\n if (nextQuote !== -1 && (nextSep === -1 || nextQuote < nextSep)) {\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextQuote);\n const match = RegExpPrototypeExec.@call(jsonStringPattern, StringPrototypeSubstring.@call(altNames, nextQuote));\n if (!match) {\n let error = new SyntaxError(\"ERR_TLS_CERT_ALTNAME_FORMAT: Invalid subject alternative name string\");\n throw error.name = ERR_TLS_CERT_ALTNAME_FORMAT, error;\n }\n currentToken += JSON.parse(match[0]), offset = nextQuote + match[0].length;\n } else if (nextSep !== -1)\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextSep), ArrayPrototypePush.@call(result, currentToken), currentToken = \"\", offset = nextSep + 2;\n else\n currentToken += StringPrototypeSubstring.@call(altNames, offset), offset = altNames.length;\n }\n return ArrayPrototypePush.@call(result, currentToken), result;\n}, checkServerIdentity = function(hostname, cert) {\n const { subject, subjectaltname: altNames } = cert, dnsNames = [], ips = [];\n if (hostname = \"\" + hostname, altNames) {\n const splitAltNames = StringPrototypeIncludes.@call(altNames, '\"') \? splitEscapedAltNames(altNames) : StringPrototypeSplit.@call(altNames, \", \");\n ArrayPrototypeForEach.@call(splitAltNames, (name) => {\n if (StringPrototypeStartsWith.@call(name, \"DNS:\"))\n ArrayPrototypePush.@call(dnsNames, StringPrototypeSlice.@call(name, 4));\n else if (StringPrototypeStartsWith.@call(name, \"IP Address:\"))\n ArrayPrototypePush.@call(ips, canonicalizeIP(StringPrototypeSlice.@call(name, 11)));\n });\n }\n let valid = !1, reason = \"Unknown reason\";\n if (hostname = unfqdn(hostname), net.isIP(hostname)) {\n if (valid = ArrayPrototypeIncludes.@call(ips, canonicalizeIP(hostname)), !valid)\n reason = `IP: ${hostname} is not in the cert's list: ` + ArrayPrototypeJoin.@call(ips, \", \");\n } else if (dnsNames.length > 0 || subject\?.CN) {\n const hostParts = splitHost(hostname), wildcard = (pattern) => check(hostParts, pattern, !0);\n if (dnsNames.length > 0) {\n if (valid = ArrayPrototypeSome.@call(dnsNames, wildcard), !valid)\n reason = `Host: ${hostname}. is not in the cert's altnames: ${altNames}`;\n } else {\n const cn = subject.CN;\n if (@Array.isArray(cn))\n valid = ArrayPrototypeSome.@call(cn, wildcard);\n else if (cn)\n valid = wildcard(cn);\n if (!valid)\n reason = `Host: ${hostname}. is not cert's CN: ${cn}`;\n }\n } else\n reason = \"Cert does not contain a DNS name\";\n if (!valid) {\n let error = new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`);\n return error.name = \"ERR_TLS_CERT_ALTNAME_INVALID\", error.reason = reason, error.host = hostname, error.cert = cert, error;\n }\n}, SecureContext = function(options) {\n return new InternalSecureContext(options);\n}, createSecureContext = function(options) {\n return new SecureContext(options);\n}, translatePeerCertificate = function(c) {\n if (!c)\n return null;\n if (c.issuerCertificate != null && c.issuerCertificate !== c)\n c.issuerCertificate = translatePeerCertificate(c.issuerCertificate);\n if (c.infoAccess != null) {\n const info = c.infoAccess;\n c.infoAccess = { __proto__: null }, RegExpPrototypeSymbolReplace.@call(/([^\\n:]*):([^\\n]*)(\?:\\n|$)/g, info, (all, key, val) => {\n if (val.charCodeAt(0) === 34)\n val = JSONParse(val);\n if (key in c.infoAccess)\n ArrayPrototypePush.@call(c.infoAccess[key], val);\n else\n c.infoAccess[key] = [val];\n });\n }\n return c;\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, getCiphers = function() {\n return DEFAULT_CIPHERS.split(\":\");\n}, convertProtocols = function(protocols) {\n const lens = new @Array(protocols.length), buff = @Buffer.allocUnsafe(ArrayPrototypeReduce.@call(protocols, (p, c, i) => {\n const len = @Buffer.byteLength(c);\n if (len > 255)\n @throwRangeError(\"The byte length of the protocol at index \" + `${i} exceeds the maximum length.`, \"<= 255\", len, !0);\n return lens[i] = len, p + 1 + len;\n }, 0));\n let offset = 0;\n for (let i = 0, c = protocols.length;i < c; i++)\n buff[offset++] = lens[i], buff.write(protocols[i], offset), offset += lens[i];\n return buff;\n}, convertALPNProtocols = function(protocols, out) {\n if (@Array.isArray(protocols))\n out.ALPNProtocols = convertProtocols(protocols);\n else if (isTypedArray(protocols))\n out.ALPNProtocols = @Buffer.from(protocols);\n else if (isArrayBufferView(protocols))\n out.ALPNProtocols = @Buffer.from(protocols.buffer.slice(protocols.byteOffset, protocols.byteOffset + protocols.byteLength));\n else if (@Buffer.isBuffer(protocols))\n out.ALPNProtocols = protocols;\n}, $, { isArrayBufferView, isTypedArray } = @requireNativeModule(\"util/types\"), net = @getInternalField(@internalModuleRegistry, 27) || @createInternalModuleById(27), { Server: NetServer, [Symbol.for(\"::bunternal::\")]: InternalTCPSocket } = net, bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), { rootCertificates, canonicalizeIP } = @lazy(\"internal/tls\"), SymbolReplace = Symbol.replace, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], RegExpPrototypeExec = @RegExp.prototype.exec, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeSlice = @String.prototype.slice, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSplit = @String.prototype.split, StringPrototypeIndexOf = @String.prototype.indexOf, StringPrototypeSubstring = @String.prototype.substring, StringPrototypeEndsWith = @String.prototype.endsWith, StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeForEach = @Array.prototype.forEach, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSome = @Array.prototype.some, ArrayPrototypeReduce = @Array.prototype.reduce, jsonStringPattern = /^\"(\?:[^\"\\\\\\u0000-\\u001f]|\\\\(\?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))*\"/, InternalSecureContext = class SecureContext2 {\n context;\n constructor(options) {\n const context = {};\n if (options) {\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n }\n this.context = context;\n }\n}, buntls = Symbol.for(\"::buntls::\"), SocketClass, TLSSocket = function(InternalTLSSocket) {\n SocketClass = InternalTLSSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"TLSSocket\",\n enumerable: !1\n });\n function Socket(options) {\n return new InternalTLSSocket(options);\n }\n return Socket.prototype = InternalTLSSocket.prototype, Object.defineProperty(Socket, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalTLSSocket;\n }\n });\n}(class TLSSocket2 extends InternalTCPSocket {\n #secureContext;\n ALPNProtocols;\n #socket;\n #checkServerIdentity;\n #session;\n constructor(socket, options) {\n super(socket instanceof InternalTCPSocket \? options : options || socket);\n if (options = options || socket || {}, typeof options === \"object\") {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n if (socket instanceof InternalTCPSocket)\n this.#socket = socket;\n }\n this.#secureContext = options.secureContext || createSecureContext(options), this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, this.#checkServerIdentity = options.checkServerIdentity || checkServerIdentity, this.#session = options.session || null;\n }\n _secureEstablished = !1;\n _securePending = !0;\n _newSessionPending;\n _controlReleased;\n secureConnecting = !1;\n _SNICallback;\n servername;\n authorized = !1;\n authorizationError;\n #renegotiationDisabled = !1;\n encrypted = !0;\n _start() {\n this.connect();\n }\n getSession() {\n return this[bunSocketInternal]\?.getSession();\n }\n getEphemeralKeyInfo() {\n return this[bunSocketInternal]\?.getEphemeralKeyInfo();\n }\n getCipher() {\n return this[bunSocketInternal]\?.getCipher();\n }\n getSharedSigalgs() {\n return this[bunSocketInternal]\?.getSharedSigalgs();\n }\n getProtocol() {\n return this[bunSocketInternal]\?.getTLSVersion();\n }\n getFinished() {\n return this[bunSocketInternal]\?.getTLSFinishedMessage() || @undefined;\n }\n getPeerFinished() {\n return this[bunSocketInternal]\?.getTLSPeerFinishedMessage() || @undefined;\n }\n isSessionReused() {\n return !!this.#session;\n }\n renegotiate() {\n if (this.#renegotiationDisabled) {\n const error = new Error(\"ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket\");\n throw error.name = \"ERR_TLS_RENEGOTIATION_DISABLED\", error;\n }\n throw Error(\"Not implented in Bun yet\");\n }\n disableRenegotiation() {\n this.#renegotiationDisabled = !0;\n }\n getTLSTicket() {\n return this[bunSocketInternal]\?.getTLSTicket();\n }\n exportKeyingMaterial(length, label, context) {\n if (context)\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label, context);\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label);\n }\n setMaxSendFragment(size) {\n return this[bunSocketInternal]\?.setMaxSendFragment(size) || !1;\n }\n enableTrace() {\n }\n setServername(name) {\n if (this.isServer) {\n let error = new Error(\"ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket\");\n throw error.name = \"ERR_TLS_SNI_FROM_SERVER\", error;\n }\n this.servername = name, this[bunSocketInternal]\?.setServername(name);\n }\n setSession(session) {\n if (this.#session = session, typeof session === \"string\")\n session = @Buffer.from(session, \"latin1\");\n return this[bunSocketInternal]\?.setSession(session);\n }\n getPeerCertificate(abbreviated) {\n const cert = arguments.length < 1 \? this[bunSocketInternal]\?.getPeerCertificate() : this[bunSocketInternal]\?.getPeerCertificate(abbreviated);\n if (cert)\n return translatePeerCertificate(cert);\n }\n getCertificate() {\n const cert = this[bunSocketInternal]\?.getCertificate();\n if (cert)\n return translatePeerCertificate(cert);\n }\n getPeerX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n getX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n get alpnProtocol() {\n return this[bunSocketInternal]\?.alpnProtocol;\n }\n [buntls](port, host) {\n return {\n socket: this.#socket,\n ALPNProtocols: this.ALPNProtocols,\n serverName: this.servername || host || \"localhost\",\n checkServerIdentity: this.#checkServerIdentity,\n session: this.#session,\n ...this.#secureContext\n };\n }\n});\n\nclass Server extends NetServer {\n key;\n cert;\n ca;\n passphrase;\n secureOptions;\n _rejectUnauthorized;\n _requestCert;\n servername;\n ALPNProtocols;\n constructor(options, secureConnectionListener) {\n super(options, secureConnectionListener);\n this.setSecureContext(options);\n }\n setSecureContext(options) {\n if (options instanceof InternalSecureContext)\n options = options.context;\n if (options) {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n const requestCert = options.requestCert || !1;\n if (requestCert)\n this._requestCert = requestCert;\n else\n this._requestCert = @undefined;\n const rejectUnauthorized = options.rejectUnauthorized || !1;\n if (rejectUnauthorized)\n this._rejectUnauthorized = rejectUnauthorized;\n else\n this._rejectUnauthorized = @undefined;\n }\n }\n getTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n setTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n [buntls](port, host, isClient) {\n return [\n {\n serverName: this.servername || host || \"localhost\",\n key: this.key,\n cert: this.cert,\n ca: this.ca,\n passphrase: this.passphrase,\n secureOptions: this.secureOptions,\n rejectUnauthorized: isClient \? !1 : this._rejectUnauthorized,\n requestCert: isClient \? !1 : this._requestCert,\n ALPNProtocols: this.ALPNProtocols\n },\n SocketClass\n ];\n }\n}\nvar CLIENT_RENEG_LIMIT = 3, CLIENT_RENEG_WINDOW = 600, DEFAULT_ECDH_CURVE = \"auto\", DEFAULT_CIPHERS = \"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\", DEFAULT_MIN_VERSION = \"TLSv1.2\", DEFAULT_MAX_VERSION = \"TLSv1.3\", createConnection = (port, host, connectListener) => {\n if (typeof port === \"object\") {\n port.checkServerIdentity;\n const { ALPNProtocols } = port;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, port);\n return new TLSSocket(port).connect(port, host, connectListener);\n }\n return new TLSSocket().connect(port, host, connectListener);\n}, connect = createConnection;\n$ = {\n CLIENT_RENEG_LIMIT,\n CLIENT_RENEG_WINDOW,\n connect,\n convertALPNProtocols,\n createConnection,\n createSecureContext,\n createServer,\n DEFAULT_CIPHERS,\n DEFAULT_ECDH_CURVE,\n DEFAULT_MAX_VERSION,\n DEFAULT_MIN_VERSION,\n getCiphers,\n parseCertString,\n SecureContext,\n Server,\n TLSSocket,\n checkServerIdentity,\n rootCertificates\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTraceEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/trace_events.ts\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, createTracing = function(opts) {\n if (typeof opts !== \"object\" || opts == null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", opts);\n return new Tracing(opts);\n}, getEnabledCategories = function() {\n return \"\";\n}, $;\n\nclass Tracing {\n enabled = !1;\n categories = \"\";\n}\n$ = {\n createTracing,\n getEnabledCategories\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTraceEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/trace_events.ts\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, createTracing = function(opts) {\n if (typeof opts !== \"object\" || opts == null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", opts);\n return new Tracing(opts);\n}, getEnabledCategories = function() {\n return \"\";\n}, $;\n\nclass Tracing {\n enabled = !1;\n categories = \"\";\n}\n$ = {\n createTracing,\n getEnabledCategories\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTtyCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/tty.ts\nvar ReadStream = function(fd) {\n if (!(this instanceof ReadStream))\n return new ReadStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.@call(this, \"\", {\n fd\n });\n return Object.setPrototypeOf(stream, ReadStream.prototype), stream.isRaw = !1, stream.isTTY = !0, stream;\n}, warnOnDeactivatedColors = function(env) {\n if (warned)\n return;\n let name = \"\";\n if (env.NODE_DISABLE_COLORS !== @undefined)\n name = \"NODE_DISABLE_COLORS\";\n if (env.NO_COLOR !== @undefined) {\n if (name !== \"\")\n name += \"' and '\";\n name += \"NO_COLOR\";\n }\n if (name !== \"\")\n process.emitWarning(`The '${name}' env is ignored due to the 'FORCE_COLOR' env being set.`, \"Warning\"), warned = !0;\n}, WriteStream = function(fd) {\n if (!(this instanceof WriteStream))\n return new WriteStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.@call(this, \"\", {\n fd\n });\n if (stream.columns = @undefined, stream.rows = @undefined, stream.isTTY = isatty(stream.fd), stream.isTTY) {\n const windowSizeArray = [0, 0];\n if (_getWindowSize(fd, windowSizeArray) === !0)\n stream.columns = windowSizeArray[0], stream.rows = windowSizeArray[1];\n }\n return stream;\n}, { ttySetMode, isatty, getWindowSize: _getWindowSize } = @lazy(\"tty\"), NumberIsInteger = Number.isInteger;\nObject.defineProperty(ReadStream, \"prototype\", {\n get() {\n const Prototype = Object.create((@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.prototype);\n return Prototype.setRawMode = function(flag) {\n const mode = flag \? 1 : 0, err = ttySetMode(this.fd, mode);\n if (err)\n return this.emit(\"error\", new Error(\"setRawMode failed with errno: \" + err)), this;\n return this.isRaw = flag, this;\n }, Object.defineProperty(ReadStream, \"prototype\", { value: Prototype }), Prototype;\n },\n enumerable: !0,\n configurable: !0\n});\nvar OSRelease, COLORS_2 = 1, COLORS_16 = 4, COLORS_256 = 8, COLORS_16m = 24, TERM_ENVS = {\n eterm: COLORS_16,\n cons25: COLORS_16,\n console: COLORS_16,\n cygwin: COLORS_16,\n dtterm: COLORS_16,\n gnome: COLORS_16,\n hurd: COLORS_16,\n jfbterm: COLORS_16,\n konsole: COLORS_16,\n kterm: COLORS_16,\n mlterm: COLORS_16,\n mosh: COLORS_16m,\n putty: COLORS_16,\n st: COLORS_16,\n \"rxvt-unicode-24bit\": COLORS_16m,\n terminator: COLORS_16m\n}, TERM_ENVS_REG_EXP = [/ansi/, /color/, /linux/, /^con[0-9]*x[0-9]/, /^rxvt/, /^screen/, /^xterm/, /^vt100/], warned = !1;\nObject.defineProperty(WriteStream, \"prototype\", {\n get() {\n const Real = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.prototype;\n Object.defineProperty(WriteStream, \"prototype\", { value: Real }), WriteStream.prototype._refreshSize = function() {\n const oldCols = this.columns, oldRows = this.rows, windowSizeArray = [0, 0];\n if (_getWindowSize(this.fd, windowSizeArray) === !0) {\n if (oldCols !== windowSizeArray[0] || oldRows !== windowSizeArray[1])\n this.columns = windowSizeArray[0], this.rows = windowSizeArray[1], this.emit(\"resize\");\n }\n };\n var readline = @undefined;\n return WriteStream.prototype.clearLine = function(dir, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearLine(this, dir, cb);\n }, WriteStream.prototype.clearScreenDown = function(cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearScreenDown(this, cb);\n }, WriteStream.prototype.cursorTo = function(x, y, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).cursorTo(this, x, y, cb);\n }, WriteStream.prototype.getColorDepth = function(env = process.env) {\n if (env.FORCE_COLOR !== @undefined)\n switch (env.FORCE_COLOR) {\n case \"\":\n case \"1\":\n case \"true\":\n return warnOnDeactivatedColors(env), COLORS_16;\n case \"2\":\n return warnOnDeactivatedColors(env), COLORS_256;\n case \"3\":\n return warnOnDeactivatedColors(env), COLORS_16m;\n default:\n return COLORS_2;\n }\n if (env.NODE_DISABLE_COLORS !== @undefined || env.NO_COLOR !== @undefined || env.TERM === \"dumb\")\n return COLORS_2;\n if (OSRelease === @undefined) {\n const { release } = @getInternalField(@internalModuleRegistry, 28) || @createInternalModuleById(28);\n OSRelease = release().split(\".\");\n }\n if (+OSRelease[0] >= 10) {\n const build = +OSRelease[2];\n if (build >= 14931)\n return COLORS_16m;\n if (build >= 10586)\n return COLORS_256;\n }\n return COLORS_16;\n switch (env.TERM_PROGRAM) {\n case \"iTerm.app\":\n if (!env.TERM_PROGRAM_VERSION || /^[0-2]\\./.test(env.TERM_PROGRAM_VERSION))\n return COLORS_256;\n return COLORS_16m;\n case \"HyperTerm\":\n case \"MacTerm\":\n return COLORS_16m;\n case \"Apple_Terminal\":\n return COLORS_256;\n }\n }, WriteStream.prototype.getWindowSize = function() {\n return [this.columns, this.rows];\n }, WriteStream.prototype.hasColors = function(count, env) {\n if (env === @undefined && (count === @undefined || typeof count === \"object\" && count !== null))\n env = count, count = 16;\n else\n validateInteger(count, \"count\", 2);\n return count <= 2 ** this.getColorDepth(env);\n }, WriteStream.prototype.moveCursor = function(dx, dy, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).moveCursor(this, dx, dy, cb);\n }, Real;\n },\n enumerable: !0,\n configurable: !0\n});\nvar validateInteger = (value, name, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n};\nreturn { ReadStream, WriteStream, isatty }})\n"); +static constexpr ASCIILiteral NodeTtyCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/tty.ts\nvar ReadStream = function(fd) {\n if (!(this instanceof ReadStream))\n return new ReadStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.@call(this, \"\", {\n fd\n });\n return Object.setPrototypeOf(stream, ReadStream.prototype), stream.isRaw = !1, stream.isTTY = !0, stream;\n}, warnOnDeactivatedColors = function(env) {\n if (warned)\n return;\n let name = \"\";\n if (env.NODE_DISABLE_COLORS !== @undefined)\n name = \"NODE_DISABLE_COLORS\";\n if (env.NO_COLOR !== @undefined) {\n if (name !== \"\")\n name += \"' and '\";\n name += \"NO_COLOR\";\n }\n if (name !== \"\")\n process.emitWarning(`The '${name}' env is ignored due to the 'FORCE_COLOR' env being set.`, \"Warning\"), warned = !0;\n}, WriteStream = function(fd) {\n if (!(this instanceof WriteStream))\n return new WriteStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.@call(this, \"\", {\n fd\n });\n if (stream.columns = @undefined, stream.rows = @undefined, stream.isTTY = isatty(stream.fd), stream.isTTY) {\n const windowSizeArray = [0, 0];\n if (_getWindowSize(fd, windowSizeArray) === !0)\n stream.columns = windowSizeArray[0], stream.rows = windowSizeArray[1];\n }\n return stream;\n}, { ttySetMode, isatty, getWindowSize: _getWindowSize } = @lazy(\"tty\"), NumberIsInteger = Number.isInteger;\nObject.defineProperty(ReadStream, \"prototype\", {\n get() {\n const Prototype = Object.create((@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.prototype);\n return Prototype.setRawMode = function(flag) {\n const mode = flag \? 1 : 0, err = ttySetMode(this.fd, mode);\n if (err)\n return this.emit(\"error\", new Error(\"setRawMode failed with errno: \" + err)), this;\n return this.isRaw = flag, this;\n }, Object.defineProperty(ReadStream, \"prototype\", { value: Prototype }), Prototype;\n },\n enumerable: !0,\n configurable: !0\n});\nvar OSRelease, COLORS_2 = 1, COLORS_16 = 4, COLORS_256 = 8, COLORS_16m = 24, TERM_ENVS = {\n eterm: COLORS_16,\n cons25: COLORS_16,\n console: COLORS_16,\n cygwin: COLORS_16,\n dtterm: COLORS_16,\n gnome: COLORS_16,\n hurd: COLORS_16,\n jfbterm: COLORS_16,\n konsole: COLORS_16,\n kterm: COLORS_16,\n mlterm: COLORS_16,\n mosh: COLORS_16m,\n putty: COLORS_16,\n st: COLORS_16,\n \"rxvt-unicode-24bit\": COLORS_16m,\n terminator: COLORS_16m\n}, TERM_ENVS_REG_EXP = [/ansi/, /color/, /linux/, /^con[0-9]*x[0-9]/, /^rxvt/, /^screen/, /^xterm/, /^vt100/], warned = !1;\nObject.defineProperty(WriteStream, \"prototype\", {\n get() {\n const Real = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.prototype;\n Object.defineProperty(WriteStream, \"prototype\", { value: Real }), WriteStream.prototype._refreshSize = function() {\n const oldCols = this.columns, oldRows = this.rows, windowSizeArray = [0, 0];\n if (_getWindowSize(this.fd, windowSizeArray) === !0) {\n if (oldCols !== windowSizeArray[0] || oldRows !== windowSizeArray[1])\n this.columns = windowSizeArray[0], this.rows = windowSizeArray[1], this.emit(\"resize\");\n }\n };\n var readline = @undefined;\n return WriteStream.prototype.clearLine = function(dir, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearLine(this, dir, cb);\n }, WriteStream.prototype.clearScreenDown = function(cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearScreenDown(this, cb);\n }, WriteStream.prototype.cursorTo = function(x, y, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).cursorTo(this, x, y, cb);\n }, WriteStream.prototype.getColorDepth = function(env = process.env) {\n if (env.FORCE_COLOR !== @undefined)\n switch (env.FORCE_COLOR) {\n case \"\":\n case \"1\":\n case \"true\":\n return warnOnDeactivatedColors(env), COLORS_16;\n case \"2\":\n return warnOnDeactivatedColors(env), COLORS_256;\n case \"3\":\n return warnOnDeactivatedColors(env), COLORS_16m;\n default:\n return COLORS_2;\n }\n if (env.NODE_DISABLE_COLORS !== @undefined || env.NO_COLOR !== @undefined || env.TERM === \"dumb\")\n return COLORS_2;\n if (OSRelease === @undefined) {\n const { release } = @getInternalField(@internalModuleRegistry, 28) || @createInternalModuleById(28);\n OSRelease = release().split(\".\");\n }\n if (+OSRelease[0] >= 10) {\n const build = +OSRelease[2];\n if (build >= 14931)\n return COLORS_16m;\n if (build >= 10586)\n return COLORS_256;\n }\n return COLORS_16;\n switch (env.TERM_PROGRAM) {\n case \"iTerm.app\":\n if (!env.TERM_PROGRAM_VERSION || /^[0-2]\\./.test(env.TERM_PROGRAM_VERSION))\n return COLORS_256;\n return COLORS_16m;\n case \"HyperTerm\":\n case \"MacTerm\":\n return COLORS_16m;\n case \"Apple_Terminal\":\n return COLORS_256;\n }\n }, WriteStream.prototype.getWindowSize = function() {\n return [this.columns, this.rows];\n }, WriteStream.prototype.hasColors = function(count, env) {\n if (env === @undefined && (count === @undefined || typeof count === \"object\" && count !== null))\n env = count, count = 16;\n else\n validateInteger(count, \"count\", 2);\n return count <= 2 ** this.getColorDepth(env);\n }, WriteStream.prototype.moveCursor = function(dx, dy, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).moveCursor(this, dx, dy, cb);\n }, Real;\n },\n enumerable: !0,\n configurable: !0\n});\nvar validateInteger = (value, name, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n};\nreturn { ReadStream, WriteStream, isatty }})\n"); // // -static constexpr ASCIILiteral NodeUrlCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/url.ts\nvar Url = function() {\n this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null;\n}, urlParse = function(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === \"object\" && url instanceof Url)\n return url;\n var u = new Url;\n return u.parse(url, parseQueryString, slashesDenoteHost), u;\n}, urlFormat = function(obj) {\n if (typeof obj === \"string\")\n obj = urlParse(obj);\n if (!(obj instanceof Url))\n return Url.prototype.format.@call(obj);\n return obj.format();\n}, urlResolve = function(source, relative) {\n return urlParse(source, !1, !0).resolve(relative);\n}, urlResolveObject = function(source, relative) {\n if (!source)\n return relative;\n return urlParse(source, !1, !0).resolveObject(relative);\n}, urlToHttpOptions = function(url) {\n const options = {\n protocol: url.protocol,\n hostname: typeof url.hostname === \"string\" && url.hostname.startsWith(\"[\") \? url.hostname.slice(1, -1) : url.hostname,\n hash: url.hash,\n search: url.search,\n pathname: url.pathname,\n path: `${url.pathname || \"\"}${url.search || \"\"}`,\n href: url.href\n };\n if (url.port !== \"\")\n options.port = Number(url.port);\n if (url.username || url.password)\n options.auth = `${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;\n return options;\n}, $, { URL, URLSearchParams } = globalThis;\nUrl.prototype = {};\nvar protocolPattern = /^([a-z0-9.+-]+:)/i, portPattern = /:[0-9]*$/, simplePathPattern = /^(\\/\\/\?(\?!\\/)[^\?\\s]*)(\\\?[^\\s]*)\?$/, delims = [\"<\", \">\", '\"', \"`\", \" \", \"\\r\", \"\\n\", \"\\t\"], unwise = [\"{\", \"}\", \"|\", \"\\\\\", \"^\", \"`\"].concat(delims), autoEscape = [\"'\"].concat(unwise), nonHostChars = [\"%\", \"/\", \"\?\", \";\", \"#\"].concat(autoEscape), hostEndingChars = [\"/\", \"\?\", \"#\"], hostnameMaxLen = 255, hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, unsafeProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, hostlessProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, slashedProtocol = {\n http: !0,\n https: !0,\n ftp: !0,\n gopher: !0,\n file: !0,\n \"http:\": !0,\n \"https:\": !0,\n \"ftp:\": !0,\n \"gopher:\": !0,\n \"file:\": !0\n};\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== \"string\")\n @throwTypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n var queryIndex = url.indexOf(\"\?\"), splitter = queryIndex !== -1 && queryIndex < url.indexOf(\"#\") \? \"\?\" : \"#\", uSplit = url.split(splitter), slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, \"/\"), url = uSplit.join(splitter);\n var rest = url;\n if (rest = rest.trim(), !slashesDenoteHost && url.split(\"#\").length === 1) {\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n if (this.path = rest, this.href = rest, this.pathname = simplePath[1], simplePath[2])\n if (this.search = simplePath[2], parseQueryString)\n this.query = new URLSearchParams(this.search.substr(1)).toJSON();\n else\n this.query = this.search.substr(1);\n else if (parseQueryString)\n this.search = \"\", this.query = {};\n return this;\n }\n }\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto, rest = rest.substr(proto.length);\n }\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === \"//\";\n if (slashes && !(proto && hostlessProtocol[proto]))\n rest = rest.substr(2), this.slashes = !0;\n }\n if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {\n var hostEnd = -1;\n for (var i = 0;i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n var auth, atSign;\n if (hostEnd === -1)\n atSign = rest.lastIndexOf(\"@\");\n else\n atSign = rest.lastIndexOf(\"@\", hostEnd);\n if (atSign !== -1)\n auth = rest.slice(0, atSign), rest = rest.slice(atSign + 1), this.auth = decodeURIComponent(auth);\n hostEnd = -1;\n for (var i = 0;i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n if (hostEnd === -1)\n hostEnd = rest.length;\n this.host = rest.slice(0, hostEnd), rest = rest.slice(hostEnd), this.parseHost(), this.hostname = this.hostname || \"\";\n var ipv6Hostname = this.hostname[0] === \"[\" && this.hostname[this.hostname.length - 1] === \"]\";\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length;i < l; i++) {\n var part = hostparts[i];\n if (!part)\n continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = \"\";\n for (var j = 0, k = part.length;j < k; j++)\n if (part.charCodeAt(j) > 127)\n newpart += \"x\";\n else\n newpart += part[j];\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i), notHost = hostparts.slice(i + 1), bit = part.match(hostnamePartStart);\n if (bit)\n validParts.push(bit[1]), notHost.unshift(bit[2]);\n if (notHost.length)\n rest = \"/\" + notHost.join(\".\") + rest;\n this.hostname = validParts.join(\".\");\n break;\n }\n }\n }\n }\n if (this.hostname.length > hostnameMaxLen)\n this.hostname = \"\";\n else\n this.hostname = this.hostname.toLowerCase();\n if (!ipv6Hostname)\n this.hostname = new URL(\"http://\" + this.hostname).hostname;\n var p = this.port \? \":\" + this.port : \"\", h = this.hostname || \"\";\n if (this.host = h + p, this.href += this.host, ipv6Hostname) {\n if (this.hostname = this.hostname.substr(1, this.hostname.length - 2), rest[0] !== \"/\")\n rest = \"/\" + rest;\n }\n }\n if (!unsafeProtocol[lowerProto])\n for (var i = 0, l = autoEscape.length;i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae)\n esc = escape(ae);\n rest = rest.split(ae).join(esc);\n }\n var hash = rest.indexOf(\"#\");\n if (hash !== -1)\n this.hash = rest.substr(hash), rest = rest.slice(0, hash);\n var qm = rest.indexOf(\"\?\");\n if (qm !== -1) {\n if (this.search = rest.substr(qm), this.query = rest.substr(qm + 1), parseQueryString) {\n const query = this.query;\n this.query = new URLSearchParams(query).toJSON();\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString)\n this.search = \"\", this.query = {};\n if (rest)\n this.pathname = rest;\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname)\n this.pathname = \"/\";\n if (this.pathname || this.search) {\n var p = this.pathname || \"\", s = this.search || \"\";\n this.path = p + s;\n }\n return this.href = this.format(), this;\n};\nUrl.prototype.format = function() {\n var auth = this.auth || \"\";\n if (auth)\n auth = encodeURIComponent(auth), auth = auth.replace(/%3A/i, \":\"), auth += \"@\";\n var protocol = this.protocol || \"\", pathname = this.pathname || \"\", hash = this.hash || \"\", host = !1, query = \"\";\n if (this.host)\n host = auth + this.host;\n else if (this.hostname) {\n if (host = auth + (this.hostname.indexOf(\":\") === -1 \? this.hostname : \"[\" + this.hostname + \"]\"), this.port)\n host += \":\" + this.port;\n }\n if (this.query && typeof this.query === \"object\" && Object.keys(this.query).length)\n query = new URLSearchParams(this.query).toString();\n var search = this.search || query && \"\?\" + query || \"\";\n if (protocol && protocol.substr(-1) !== \":\")\n protocol += \":\";\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== !1) {\n if (host = \"//\" + (host || \"\"), pathname && pathname.charAt(0) !== \"/\")\n pathname = \"/\" + pathname;\n } else if (!host)\n host = \"\";\n if (hash && hash.charAt(0) !== \"#\")\n hash = \"#\" + hash;\n if (search && search.charAt(0) !== \"\?\")\n search = \"\?\" + search;\n return pathname = pathname.replace(/[\?#]/g, function(match) {\n return encodeURIComponent(match);\n }), search = search.replace(\"#\", \"%23\"), protocol + host + pathname + search + hash;\n};\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, !1, !0)).format();\n};\nUrl.prototype.resolveObject = function(relative) {\n if (typeof relative === \"string\") {\n var rel = new Url;\n rel.parse(relative, !1, !0), relative = rel;\n }\n var result = new Url, tkeys = Object.keys(this);\n for (var tk = 0;tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n if (result.hash = relative.hash, relative.href === \"\")\n return result.href = result.format(), result;\n if (relative.slashes && !relative.protocol) {\n var rkeys = Object.keys(relative);\n for (var rk = 0;rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== \"protocol\")\n result[rkey] = relative[rkey];\n }\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname)\n result.pathname = \"/\", result.path = result.pathname;\n return result.href = result.format(), result;\n }\n if (relative.protocol && relative.protocol !== result.protocol) {\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0;v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n return result.href = result.format(), result;\n }\n if (result.protocol = relative.protocol, !relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || \"\").split(\"/\");\n while (relPath.length && !(relative.host = relPath.shift()))\n ;\n if (!relative.host)\n relative.host = \"\";\n if (!relative.hostname)\n relative.hostname = \"\";\n if (relPath[0] !== \"\")\n relPath.unshift(\"\");\n if (relPath.length < 2)\n relPath.unshift(\"\");\n result.pathname = relPath.join(\"/\");\n } else\n result.pathname = relative.pathname;\n if (result.search = relative.search, result.query = relative.query, result.host = relative.host || \"\", result.auth = relative.auth, result.hostname = relative.hostname || relative.host, result.port = relative.port, result.pathname || result.search) {\n var p = result.pathname || \"\", s = result.search || \"\";\n result.path = p + s;\n }\n return result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n }\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === \"/\", isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === \"/\", mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname, removeAllDots = mustEndAbs, srcPath = result.pathname && result.pathname.split(\"/\") || [], relPath = relative.pathname && relative.pathname.split(\"/\") || [], psychotic = result.protocol && !slashedProtocol[result.protocol];\n if (psychotic) {\n if (result.hostname = \"\", result.port = null, result.host)\n if (srcPath[0] === \"\")\n srcPath[0] = result.host;\n else\n srcPath.unshift(result.host);\n if (result.host = \"\", relative.protocol) {\n if (relative.hostname = null, relative.port = null, relative.host)\n if (relPath[0] === \"\")\n relPath[0] = relative.host;\n else\n relPath.unshift(relative.host);\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === \"\" || srcPath[0] === \"\");\n }\n if (isRelAbs)\n result.host = relative.host || relative.host === \"\" \? relative.host : result.host, result.hostname = relative.hostname || relative.hostname === \"\" \? relative.hostname : result.hostname, result.search = relative.search, result.query = relative.query, srcPath = relPath;\n else if (relPath.length) {\n if (!srcPath)\n srcPath = [];\n srcPath.pop(), srcPath = srcPath.concat(relPath), result.search = relative.search, result.query = relative.query;\n } else if (relative.search != null) {\n if (psychotic) {\n result.host = srcPath.shift(), result.hostname = result.host;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (result.search = relative.search, result.query = relative.query, result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.href = result.format(), result;\n }\n if (!srcPath.length) {\n if (result.pathname = null, result.search)\n result.path = \"/\" + result.search;\n else\n result.path = null;\n return result.href = result.format(), result;\n }\n var last = srcPath.slice(-1)[0], hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === \".\" || last === \"..\") || last === \"\", up = 0;\n for (var i = srcPath.length;i >= 0; i--)\n if (last = srcPath[i], last === \".\")\n srcPath.splice(i, 1);\n else if (last === \"..\")\n srcPath.splice(i, 1), up++;\n else if (up)\n srcPath.splice(i, 1), up--;\n if (!mustEndAbs && !removeAllDots)\n for (;up--; up)\n srcPath.unshift(\"..\");\n if (mustEndAbs && srcPath[0] !== \"\" && (!srcPath[0] || srcPath[0].charAt(0) !== \"/\"))\n srcPath.unshift(\"\");\n if (hasTrailingSlash && srcPath.join(\"/\").substr(-1) !== \"/\")\n srcPath.push(\"\");\n var isAbsolute = srcPath[0] === \"\" || srcPath[0] && srcPath[0].charAt(0) === \"/\";\n if (psychotic) {\n result.hostname = isAbsolute \? \"\" : srcPath.length \? srcPath.shift() : \"\", result.host = result.hostname;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (mustEndAbs = mustEndAbs || result.host && srcPath.length, mustEndAbs && !isAbsolute)\n srcPath.unshift(\"\");\n if (srcPath.length > 0)\n result.pathname = srcPath.join(\"/\");\n else\n result.pathname = null, result.path = null;\n if (result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.auth = relative.auth || result.auth, result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n};\nUrl.prototype.parseHost = function() {\n var host = this.host, port = portPattern.exec(host);\n if (port) {\n if (port = port[0], port !== \":\")\n this.port = port.substr(1);\n host = host.substr(0, host.length - port.length);\n }\n if (host)\n this.hostname = host;\n};\nvar pathToFileURL = @lazy(\"pathToFileURL\"), fileURLToPath = @lazy(\"fileURLToPath\");\n$ = {\n parse: urlParse,\n resolve: urlResolve,\n resolveObject: urlResolveObject,\n format: urlFormat,\n Url,\n URLSearchParams,\n URL,\n pathToFileURL,\n fileURLToPath,\n urlToHttpOptions\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeUrlCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/url.ts\nvar Url = function() {\n this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null;\n}, urlParse = function(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === \"object\" && url instanceof Url)\n return url;\n var u = new Url;\n return u.parse(url, parseQueryString, slashesDenoteHost), u;\n}, urlFormat = function(obj) {\n if (typeof obj === \"string\")\n obj = urlParse(obj);\n if (!(obj instanceof Url))\n return Url.prototype.format.@call(obj);\n return obj.format();\n}, urlResolve = function(source, relative) {\n return urlParse(source, !1, !0).resolve(relative);\n}, urlResolveObject = function(source, relative) {\n if (!source)\n return relative;\n return urlParse(source, !1, !0).resolveObject(relative);\n}, urlToHttpOptions = function(url) {\n const options = {\n protocol: url.protocol,\n hostname: typeof url.hostname === \"string\" && url.hostname.startsWith(\"[\") \? url.hostname.slice(1, -1) : url.hostname,\n hash: url.hash,\n search: url.search,\n pathname: url.pathname,\n path: `${url.pathname || \"\"}${url.search || \"\"}`,\n href: url.href\n };\n if (url.port !== \"\")\n options.port = Number(url.port);\n if (url.username || url.password)\n options.auth = `${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;\n return options;\n}, $, { URL, URLSearchParams } = globalThis;\nUrl.prototype = {};\nvar protocolPattern = /^([a-z0-9.+-]+:)/i, portPattern = /:[0-9]*$/, simplePathPattern = /^(\\/\\/\?(\?!\\/)[^\?\\s]*)(\\\?[^\\s]*)\?$/, delims = [\"<\", \">\", '\"', \"`\", \" \", \"\\r\", \"\\n\", \"\\t\"], unwise = [\"{\", \"}\", \"|\", \"\\\\\", \"^\", \"`\"].concat(delims), autoEscape = [\"'\"].concat(unwise), nonHostChars = [\"%\", \"/\", \"\?\", \";\", \"#\"].concat(autoEscape), hostEndingChars = [\"/\", \"\?\", \"#\"], hostnameMaxLen = 255, hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, unsafeProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, hostlessProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, slashedProtocol = {\n http: !0,\n https: !0,\n ftp: !0,\n gopher: !0,\n file: !0,\n \"http:\": !0,\n \"https:\": !0,\n \"ftp:\": !0,\n \"gopher:\": !0,\n \"file:\": !0\n};\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== \"string\")\n @throwTypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n var queryIndex = url.indexOf(\"\?\"), splitter = queryIndex !== -1 && queryIndex < url.indexOf(\"#\") \? \"\?\" : \"#\", uSplit = url.split(splitter), slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, \"/\"), url = uSplit.join(splitter);\n var rest = url;\n if (rest = rest.trim(), !slashesDenoteHost && url.split(\"#\").length === 1) {\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n if (this.path = rest, this.href = rest, this.pathname = simplePath[1], simplePath[2])\n if (this.search = simplePath[2], parseQueryString)\n this.query = new URLSearchParams(this.search.substr(1)).toJSON();\n else\n this.query = this.search.substr(1);\n else if (parseQueryString)\n this.search = \"\", this.query = {};\n return this;\n }\n }\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto, rest = rest.substr(proto.length);\n }\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === \"//\";\n if (slashes && !(proto && hostlessProtocol[proto]))\n rest = rest.substr(2), this.slashes = !0;\n }\n if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {\n var hostEnd = -1;\n for (var i = 0;i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n var auth, atSign;\n if (hostEnd === -1)\n atSign = rest.lastIndexOf(\"@\");\n else\n atSign = rest.lastIndexOf(\"@\", hostEnd);\n if (atSign !== -1)\n auth = rest.slice(0, atSign), rest = rest.slice(atSign + 1), this.auth = decodeURIComponent(auth);\n hostEnd = -1;\n for (var i = 0;i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n if (hostEnd === -1)\n hostEnd = rest.length;\n this.host = rest.slice(0, hostEnd), rest = rest.slice(hostEnd), this.parseHost(), this.hostname = this.hostname || \"\";\n var ipv6Hostname = this.hostname[0] === \"[\" && this.hostname[this.hostname.length - 1] === \"]\";\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length;i < l; i++) {\n var part = hostparts[i];\n if (!part)\n continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = \"\";\n for (var j = 0, k = part.length;j < k; j++)\n if (part.charCodeAt(j) > 127)\n newpart += \"x\";\n else\n newpart += part[j];\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i), notHost = hostparts.slice(i + 1), bit = part.match(hostnamePartStart);\n if (bit)\n validParts.push(bit[1]), notHost.unshift(bit[2]);\n if (notHost.length)\n rest = \"/\" + notHost.join(\".\") + rest;\n this.hostname = validParts.join(\".\");\n break;\n }\n }\n }\n }\n if (this.hostname.length > hostnameMaxLen)\n this.hostname = \"\";\n else\n this.hostname = this.hostname.toLowerCase();\n if (!ipv6Hostname)\n this.hostname = new URL(\"http://\" + this.hostname).hostname;\n var p = this.port \? \":\" + this.port : \"\", h = this.hostname || \"\";\n if (this.host = h + p, this.href += this.host, ipv6Hostname) {\n if (this.hostname = this.hostname.substr(1, this.hostname.length - 2), rest[0] !== \"/\")\n rest = \"/\" + rest;\n }\n }\n if (!unsafeProtocol[lowerProto])\n for (var i = 0, l = autoEscape.length;i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae)\n esc = escape(ae);\n rest = rest.split(ae).join(esc);\n }\n var hash = rest.indexOf(\"#\");\n if (hash !== -1)\n this.hash = rest.substr(hash), rest = rest.slice(0, hash);\n var qm = rest.indexOf(\"\?\");\n if (qm !== -1) {\n if (this.search = rest.substr(qm), this.query = rest.substr(qm + 1), parseQueryString) {\n const query = this.query;\n this.query = new URLSearchParams(query).toJSON();\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString)\n this.search = \"\", this.query = {};\n if (rest)\n this.pathname = rest;\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname)\n this.pathname = \"/\";\n if (this.pathname || this.search) {\n var p = this.pathname || \"\", s = this.search || \"\";\n this.path = p + s;\n }\n return this.href = this.format(), this;\n};\nUrl.prototype.format = function() {\n var auth = this.auth || \"\";\n if (auth)\n auth = encodeURIComponent(auth), auth = auth.replace(/%3A/i, \":\"), auth += \"@\";\n var protocol = this.protocol || \"\", pathname = this.pathname || \"\", hash = this.hash || \"\", host = !1, query = \"\";\n if (this.host)\n host = auth + this.host;\n else if (this.hostname) {\n if (host = auth + (this.hostname.indexOf(\":\") === -1 \? this.hostname : \"[\" + this.hostname + \"]\"), this.port)\n host += \":\" + this.port;\n }\n if (this.query && typeof this.query === \"object\" && Object.keys(this.query).length)\n query = new URLSearchParams(this.query).toString();\n var search = this.search || query && \"\?\" + query || \"\";\n if (protocol && protocol.substr(-1) !== \":\")\n protocol += \":\";\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== !1) {\n if (host = \"//\" + (host || \"\"), pathname && pathname.charAt(0) !== \"/\")\n pathname = \"/\" + pathname;\n } else if (!host)\n host = \"\";\n if (hash && hash.charAt(0) !== \"#\")\n hash = \"#\" + hash;\n if (search && search.charAt(0) !== \"\?\")\n search = \"\?\" + search;\n return pathname = pathname.replace(/[\?#]/g, function(match) {\n return encodeURIComponent(match);\n }), search = search.replace(\"#\", \"%23\"), protocol + host + pathname + search + hash;\n};\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, !1, !0)).format();\n};\nUrl.prototype.resolveObject = function(relative) {\n if (typeof relative === \"string\") {\n var rel = new Url;\n rel.parse(relative, !1, !0), relative = rel;\n }\n var result = new Url, tkeys = Object.keys(this);\n for (var tk = 0;tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n if (result.hash = relative.hash, relative.href === \"\")\n return result.href = result.format(), result;\n if (relative.slashes && !relative.protocol) {\n var rkeys = Object.keys(relative);\n for (var rk = 0;rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== \"protocol\")\n result[rkey] = relative[rkey];\n }\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname)\n result.pathname = \"/\", result.path = result.pathname;\n return result.href = result.format(), result;\n }\n if (relative.protocol && relative.protocol !== result.protocol) {\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0;v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n return result.href = result.format(), result;\n }\n if (result.protocol = relative.protocol, !relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || \"\").split(\"/\");\n while (relPath.length && !(relative.host = relPath.shift()))\n ;\n if (!relative.host)\n relative.host = \"\";\n if (!relative.hostname)\n relative.hostname = \"\";\n if (relPath[0] !== \"\")\n relPath.unshift(\"\");\n if (relPath.length < 2)\n relPath.unshift(\"\");\n result.pathname = relPath.join(\"/\");\n } else\n result.pathname = relative.pathname;\n if (result.search = relative.search, result.query = relative.query, result.host = relative.host || \"\", result.auth = relative.auth, result.hostname = relative.hostname || relative.host, result.port = relative.port, result.pathname || result.search) {\n var p = result.pathname || \"\", s = result.search || \"\";\n result.path = p + s;\n }\n return result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n }\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === \"/\", isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === \"/\", mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname, removeAllDots = mustEndAbs, srcPath = result.pathname && result.pathname.split(\"/\") || [], relPath = relative.pathname && relative.pathname.split(\"/\") || [], psychotic = result.protocol && !slashedProtocol[result.protocol];\n if (psychotic) {\n if (result.hostname = \"\", result.port = null, result.host)\n if (srcPath[0] === \"\")\n srcPath[0] = result.host;\n else\n srcPath.unshift(result.host);\n if (result.host = \"\", relative.protocol) {\n if (relative.hostname = null, relative.port = null, relative.host)\n if (relPath[0] === \"\")\n relPath[0] = relative.host;\n else\n relPath.unshift(relative.host);\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === \"\" || srcPath[0] === \"\");\n }\n if (isRelAbs)\n result.host = relative.host || relative.host === \"\" \? relative.host : result.host, result.hostname = relative.hostname || relative.hostname === \"\" \? relative.hostname : result.hostname, result.search = relative.search, result.query = relative.query, srcPath = relPath;\n else if (relPath.length) {\n if (!srcPath)\n srcPath = [];\n srcPath.pop(), srcPath = srcPath.concat(relPath), result.search = relative.search, result.query = relative.query;\n } else if (relative.search != null) {\n if (psychotic) {\n result.host = srcPath.shift(), result.hostname = result.host;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (result.search = relative.search, result.query = relative.query, result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.href = result.format(), result;\n }\n if (!srcPath.length) {\n if (result.pathname = null, result.search)\n result.path = \"/\" + result.search;\n else\n result.path = null;\n return result.href = result.format(), result;\n }\n var last = srcPath.slice(-1)[0], hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === \".\" || last === \"..\") || last === \"\", up = 0;\n for (var i = srcPath.length;i >= 0; i--)\n if (last = srcPath[i], last === \".\")\n srcPath.splice(i, 1);\n else if (last === \"..\")\n srcPath.splice(i, 1), up++;\n else if (up)\n srcPath.splice(i, 1), up--;\n if (!mustEndAbs && !removeAllDots)\n for (;up--; up)\n srcPath.unshift(\"..\");\n if (mustEndAbs && srcPath[0] !== \"\" && (!srcPath[0] || srcPath[0].charAt(0) !== \"/\"))\n srcPath.unshift(\"\");\n if (hasTrailingSlash && srcPath.join(\"/\").substr(-1) !== \"/\")\n srcPath.push(\"\");\n var isAbsolute = srcPath[0] === \"\" || srcPath[0] && srcPath[0].charAt(0) === \"/\";\n if (psychotic) {\n result.hostname = isAbsolute \? \"\" : srcPath.length \? srcPath.shift() : \"\", result.host = result.hostname;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (mustEndAbs = mustEndAbs || result.host && srcPath.length, mustEndAbs && !isAbsolute)\n srcPath.unshift(\"\");\n if (srcPath.length > 0)\n result.pathname = srcPath.join(\"/\");\n else\n result.pathname = null, result.path = null;\n if (result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.auth = relative.auth || result.auth, result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n};\nUrl.prototype.parseHost = function() {\n var host = this.host, port = portPattern.exec(host);\n if (port) {\n if (port = port[0], port !== \":\")\n this.port = port.substr(1);\n host = host.substr(0, host.length - port.length);\n }\n if (host)\n this.hostname = host;\n};\nvar pathToFileURL = @lazy(\"pathToFileURL\"), fileURLToPath = @lazy(\"fileURLToPath\");\n$ = {\n parse: urlParse,\n resolve: urlResolve,\n resolveObject: urlResolveObject,\n format: urlFormat,\n Url,\n URLSearchParams,\n URL,\n pathToFileURL,\n fileURLToPath,\n urlToHttpOptions\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeUtilCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/util.ts\nvar isBuffer = function(value) {\n return @Buffer.isBuffer(value);\n}, isFunction = function(value) {\n return typeof value === \"function\";\n}, deprecate = function(fn, msg, code) {\n if (process.noDeprecation === !0)\n return fn;\n var warned = !1;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n var err = new Error(msg);\n if (code)\n err.code = code;\n throw err;\n } else if (process.traceDeprecation)\n console.trace(msg);\n else\n console.error(msg);\n warned = !0;\n }\n return fn.@apply(this, arguments);\n }\n return deprecated;\n}, debuglog = function(set) {\n if (set = set.toUpperCase(), !debugs[set])\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = format.@apply(cjs_exports, arguments);\n console.error(\"%s %d: %s\", set, pid, msg);\n };\n } else\n debugs[set] = function() {\n };\n return debugs[set];\n}, isBoolean = function(arg) {\n return typeof arg === \"boolean\";\n}, isNull = function(arg) {\n return arg === null;\n}, isNullOrUndefined = function(arg) {\n return arg == null;\n}, isNumber = function(arg) {\n return typeof arg === \"number\";\n}, isString = function(arg) {\n return typeof arg === \"string\";\n}, isSymbol = function(arg) {\n return typeof arg === \"symbol\";\n}, isUndefined = function(arg) {\n return arg === void 0;\n}, isObject = function(arg) {\n return typeof arg === \"object\" && arg !== null;\n}, isPrimitive = function(arg) {\n return arg === null || typeof arg === \"boolean\" || typeof arg === \"number\" || typeof arg === \"string\" || typeof arg === \"symbol\" || typeof arg === \"undefined\";\n}, pad = function(n) {\n return n < 10 \? \"0\" + n.toString(10) : n.toString(10);\n}, timestamp = function() {\n var d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(\":\");\n return [d.getDate(), months[d.getMonth()], time].join(\" \");\n}, callbackifyOnRejected = function(reason, cb) {\n if (!reason) {\n var newReason = new Error(\"Promise was rejected with a falsy value\");\n newReason.reason = reason, newReason.code = \"ERR_FALSY_VALUE_REJECTION\", reason = newReason;\n }\n return cb(reason);\n}, callbackify = function(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n function callbackified() {\n var args = @Array.prototype.slice.@call(arguments), maybeCb = args.pop();\n if (typeof maybeCb !== \"function\")\n @throwTypeError(\"The last argument must be of type Function\");\n var self = this, cb = function() {\n return maybeCb.@apply(self, arguments);\n };\n original.@apply(this, args).then(function(ret) {\n process.nextTick(cb, null, ret);\n }, function(rej) {\n process.nextTick(callbackifyOnRejected, rej, cb);\n });\n }\n return Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)), Object.defineProperties(callbackified, getOwnPropertyDescriptors(original)), callbackified;\n}, $, types = @requireNativeModule(\"util/types\"), utl = @getInternalField(@internalModuleRegistry, 7) || @createInternalModuleById(7), cjs_exports = {}, deepEquals = Bun.deepEquals, isDeepStrictEqual = (a, b) => deepEquals(a, b, !0), getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors, inspect = utl.inspect, formatWithOptions = utl.formatWithOptions, format = utl.format, stripVTControlCharacters = utl.stripVTControlCharacters, debugs = {}, debugEnvRegex = /^$/;\nif (process.env.NODE_DEBUG)\n debugEnv = process.env.NODE_DEBUG, debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+\?.]/g, \"\\\\$&\").replace(/\\*/g, \".*\").replace(/,/g, \"$|^\").toUpperCase(), debugEnvRegex = new @RegExp(\"^\" + debugEnv + \"$\", \"i\");\nvar debugEnv, isRegExp = types.isRegExp, isDate = types.isDate, isError = types.isNativeError, months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], log = function log2() {\n console.log(\"%s - %s\", timestamp(), format.@apply(cjs_exports, arguments));\n}, inherits = function inherits2(ctor, superCtor) {\n ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n}, _extend = function(origin, add) {\n if (!add || !isObject(add))\n return origin;\n var keys = Object.keys(add), i = keys.length;\n while (i--)\n origin[keys[i]] = add[keys[i]];\n return origin;\n}, kCustomPromisifiedSymbol = Symbol.for(\"util.promisify.custom\"), promisify = function promisify2(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== \"function\")\n @throwTypeError('The \"util.promisify.custom\" argument must be of type Function');\n return Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n }), fn;\n }\n function fn() {\n var promiseResolve, promiseReject, promise = new @Promise(function(resolve, reject) {\n promiseResolve = resolve, promiseReject = reject;\n }), args = [];\n for (var i = 0;i < arguments.length; i++)\n args.push(arguments[i]);\n args.push(function(err, value) {\n if (err)\n promiseReject(err);\n else\n promiseResolve(value);\n });\n try {\n original.@apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n return promise;\n }\n if (Object.setPrototypeOf(fn, Object.getPrototypeOf(original)), kCustomPromisifiedSymbol)\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n return Object.defineProperties(fn, getOwnPropertyDescriptors(original));\n};\npromisify.custom = kCustomPromisifiedSymbol;\nvar toUSVString = (input) => {\n return (input + \"\").toWellFormed();\n};\n$ = Object.assign(cjs_exports, {\n format,\n formatWithOptions,\n stripVTControlCharacters,\n deprecate,\n debuglog,\n _extend,\n inspect,\n types,\n isArray: @isArray,\n isBoolean,\n isNull,\n isNullOrUndefined,\n isNumber,\n isString,\n isSymbol,\n isUndefined,\n isRegExp,\n isObject,\n isDate,\n isFunction,\n isError,\n isPrimitive,\n isBuffer,\n log,\n inherits,\n toUSVString,\n promisify,\n callbackify,\n isDeepStrictEqual,\n TextDecoder,\n TextEncoder\n});\nreturn $})\n"); +static constexpr ASCIILiteral NodeUtilCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/util.ts\nvar isBuffer = function(value) {\n return @Buffer.isBuffer(value);\n}, isFunction = function(value) {\n return typeof value === \"function\";\n}, deprecate = function(fn, msg, code) {\n if (process.noDeprecation === !0)\n return fn;\n var warned = !1;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n var err = new Error(msg);\n if (code)\n err.code = code;\n throw err;\n } else if (process.traceDeprecation)\n console.trace(msg);\n else\n console.error(msg);\n warned = !0;\n }\n return fn.@apply(this, arguments);\n }\n return deprecated;\n}, debuglog = function(set) {\n if (set = set.toUpperCase(), !debugs[set])\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = format.@apply(cjs_exports, arguments);\n console.error(\"%s %d: %s\", set, pid, msg);\n };\n } else\n debugs[set] = function() {\n };\n return debugs[set];\n}, isBoolean = function(arg) {\n return typeof arg === \"boolean\";\n}, isNull = function(arg) {\n return arg === null;\n}, isNullOrUndefined = function(arg) {\n return arg == null;\n}, isNumber = function(arg) {\n return typeof arg === \"number\";\n}, isString = function(arg) {\n return typeof arg === \"string\";\n}, isSymbol = function(arg) {\n return typeof arg === \"symbol\";\n}, isUndefined = function(arg) {\n return arg === void 0;\n}, isObject = function(arg) {\n return typeof arg === \"object\" && arg !== null;\n}, isPrimitive = function(arg) {\n return arg === null || typeof arg === \"boolean\" || typeof arg === \"number\" || typeof arg === \"string\" || typeof arg === \"symbol\" || typeof arg === \"undefined\";\n}, pad = function(n) {\n return n < 10 \? \"0\" + n.toString(10) : n.toString(10);\n}, timestamp = function() {\n var d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(\":\");\n return [d.getDate(), months[d.getMonth()], time].join(\" \");\n}, callbackifyOnRejected = function(reason, cb) {\n if (!reason) {\n var newReason = new Error(\"Promise was rejected with a falsy value\");\n newReason.reason = reason, newReason.code = \"ERR_FALSY_VALUE_REJECTION\", reason = newReason;\n }\n return cb(reason);\n}, callbackify = function(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n function callbackified() {\n var args = @Array.prototype.slice.@call(arguments), maybeCb = args.pop();\n if (typeof maybeCb !== \"function\")\n @throwTypeError(\"The last argument must be of type Function\");\n var self = this, cb = function() {\n return maybeCb.@apply(self, arguments);\n };\n original.@apply(this, args).then(function(ret) {\n process.nextTick(cb, null, ret);\n }, function(rej) {\n process.nextTick(callbackifyOnRejected, rej, cb);\n });\n }\n return Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)), Object.defineProperties(callbackified, getOwnPropertyDescriptors(original)), callbackified;\n}, $, types = @requireNativeModule(\"util/types\"), utl = @getInternalField(@internalModuleRegistry, 7) || @createInternalModuleById(7), cjs_exports = {}, deepEquals = Bun.deepEquals, isDeepStrictEqual = (a, b) => deepEquals(a, b, !0), getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors, inspect = utl.inspect, formatWithOptions = utl.formatWithOptions, format = utl.format, stripVTControlCharacters = utl.stripVTControlCharacters, debugs = {}, debugEnvRegex = /^$/;\nif (process.env.NODE_DEBUG)\n debugEnv = process.env.NODE_DEBUG, debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+\?.]/g, \"\\\\$&\").replace(/\\*/g, \".*\").replace(/,/g, \"$|^\").toUpperCase(), debugEnvRegex = new @RegExp(\"^\" + debugEnv + \"$\", \"i\");\nvar debugEnv, isRegExp = types.isRegExp, isDate = types.isDate, isError = types.isNativeError, months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], log = function log2() {\n console.log(\"%s - %s\", timestamp(), format.@apply(cjs_exports, arguments));\n}, inherits = function inherits2(ctor, superCtor) {\n ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n}, _extend = function(origin, add) {\n if (!add || !isObject(add))\n return origin;\n var keys = Object.keys(add), i = keys.length;\n while (i--)\n origin[keys[i]] = add[keys[i]];\n return origin;\n}, kCustomPromisifiedSymbol = Symbol.for(\"util.promisify.custom\"), promisify = function promisify2(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== \"function\")\n @throwTypeError('The \"util.promisify.custom\" argument must be of type Function');\n return Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n }), fn;\n }\n function fn() {\n var promiseResolve, promiseReject, promise = new @Promise(function(resolve, reject) {\n promiseResolve = resolve, promiseReject = reject;\n }), args = [];\n for (var i = 0;i < arguments.length; i++)\n args.push(arguments[i]);\n args.push(function(err, value) {\n if (err)\n promiseReject(err);\n else\n promiseResolve(value);\n });\n try {\n original.@apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n return promise;\n }\n if (Object.setPrototypeOf(fn, Object.getPrototypeOf(original)), kCustomPromisifiedSymbol)\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n return Object.defineProperties(fn, getOwnPropertyDescriptors(original));\n};\npromisify.custom = kCustomPromisifiedSymbol;\nvar toUSVString = (input) => {\n return (input + \"\").toWellFormed();\n};\n$ = Object.assign(cjs_exports, {\n format,\n formatWithOptions,\n stripVTControlCharacters,\n deprecate,\n debuglog,\n _extend,\n inspect,\n types,\n isArray: @isArray,\n isBoolean,\n isNull,\n isNullOrUndefined,\n isNumber,\n isString,\n isSymbol,\n isUndefined,\n isRegExp,\n isObject,\n isDate,\n isFunction,\n isError,\n isPrimitive,\n isBuffer,\n log,\n inherits,\n toUSVString,\n promisify,\n callbackify,\n isDeepStrictEqual,\n TextDecoder,\n TextEncoder\n});\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeV8Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/v8.ts\nvar notimpl = function(message) {\n throwNotImplemented(\"node:v8 \" + message);\n}, cachedDataVersionTag = function() {\n notimpl(\"cachedDataVersionTag\");\n}, getHeapSnapshot = function() {\n notimpl(\"getHeapSnapshot\");\n}, getHeapStatistics = function() {\n const stats = jsc.heapStats();\n return {\n total_heap_size: stats.heapCapacity,\n total_heap_size_executable: 0,\n total_physical_size: stats.heapSize,\n total_available_size: @Infinity,\n used_heap_size: stats.heapSize,\n heap_size_limit: @Infinity,\n malloced_memory: stats.heapSize,\n peak_malloced_memory: @Infinity,\n does_zap_garbage: 0,\n number_of_native_contexts: @Infinity,\n number_of_detached_contexts: @Infinity,\n total_global_handles_size: @Infinity,\n used_global_handles_size: @Infinity,\n external_memory: @Infinity\n };\n}, getHeapSpaceStatistics = function() {\n notimpl(\"getHeapSpaceStatistics\");\n}, getHeapCodeStatistics = function() {\n notimpl(\"getHeapCodeStatistics\");\n}, setFlagsFromString = function() {\n notimpl(\"setFlagsFromString\");\n}, deserialize = function(value) {\n return jsc.deserialize(value);\n}, takeCoverage = function() {\n notimpl(\"takeCoverage\");\n}, stopCoverage = function() {\n notimpl(\"stopCoverage\");\n}, serialize = function(arg1) {\n return jsc.serialize(arg1, { binaryType: \"nodebuffer\" });\n}, writeHeapSnapshot = function() {\n notimpl(\"writeHeapSnapshot\");\n}, setHeapSnapshotNearHeapLimit = function() {\n notimpl(\"setHeapSnapshotNearHeapLimit\");\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), jsc = @requireNativeModule(\"bun:jsc\");\n\nclass Deserializer {\n constructor() {\n notimpl(\"Deserializer\");\n }\n}\n\nclass Serializer {\n constructor() {\n notimpl(\"Serializer\");\n }\n}\n\nclass DefaultDeserializer extends Deserializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass DefaultSerializer extends Serializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass GCProfiler {\n constructor() {\n notimpl(\"GCProfiler\");\n }\n}\nvar promiseHooks = {\n createHook: () => {\n notimpl(\"createHook\");\n },\n onInit: () => {\n notimpl(\"onInit\");\n },\n onBefore: () => {\n notimpl(\"onBefore\");\n },\n onAfter: () => {\n notimpl(\"onAfter\");\n },\n onSettled: () => {\n notimpl(\"onSettled\");\n }\n}, startupSnapshot = {\n addDeserializeCallback: () => notimpl(\"addDeserializeCallback\"),\n addSerializeCallback: () => notimpl(\"addSerializeCallback\"),\n setDeserializeMainFunction: () => notimpl(\"setDeserializeMainFunction\"),\n isBuildingSnapshot: () => notimpl(\"isBuildingSnapshot\")\n};\n$ = {\n cachedDataVersionTag,\n getHeapSnapshot,\n getHeapStatistics,\n getHeapSpaceStatistics,\n getHeapCodeStatistics,\n setFlagsFromString,\n deserialize,\n takeCoverage,\n stopCoverage,\n serialize,\n writeHeapSnapshot,\n setHeapSnapshotNearHeapLimit,\n promiseHooks,\n startupSnapshot,\n Deserializer,\n Serializer\n};\nhideFromStack(notimpl, cachedDataVersionTag, getHeapSnapshot, getHeapStatistics, getHeapSpaceStatistics, getHeapCodeStatistics, setFlagsFromString, deserialize, takeCoverage, stopCoverage, serialize, writeHeapSnapshot, setHeapSnapshotNearHeapLimit, Deserializer, Serializer, DefaultDeserializer, DefaultSerializer, GCProfiler);\nreturn $})\n"); +static constexpr ASCIILiteral NodeV8Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/v8.ts\nvar notimpl = function(message) {\n throwNotImplemented(\"node:v8 \" + message);\n}, cachedDataVersionTag = function() {\n notimpl(\"cachedDataVersionTag\");\n}, getHeapSnapshot = function() {\n notimpl(\"getHeapSnapshot\");\n}, getHeapStatistics = function() {\n const stats = jsc.heapStats();\n return {\n total_heap_size: stats.heapCapacity,\n total_heap_size_executable: 0,\n total_physical_size: stats.heapSize,\n total_available_size: @Infinity,\n used_heap_size: stats.heapSize,\n heap_size_limit: @Infinity,\n malloced_memory: stats.heapSize,\n peak_malloced_memory: @Infinity,\n does_zap_garbage: 0,\n number_of_native_contexts: @Infinity,\n number_of_detached_contexts: @Infinity,\n total_global_handles_size: @Infinity,\n used_global_handles_size: @Infinity,\n external_memory: @Infinity\n };\n}, getHeapSpaceStatistics = function() {\n notimpl(\"getHeapSpaceStatistics\");\n}, getHeapCodeStatistics = function() {\n notimpl(\"getHeapCodeStatistics\");\n}, setFlagsFromString = function() {\n notimpl(\"setFlagsFromString\");\n}, deserialize = function(value) {\n return jsc.deserialize(value);\n}, takeCoverage = function() {\n notimpl(\"takeCoverage\");\n}, stopCoverage = function() {\n notimpl(\"stopCoverage\");\n}, serialize = function(arg1) {\n return jsc.serialize(arg1, { binaryType: \"nodebuffer\" });\n}, writeHeapSnapshot = function() {\n notimpl(\"writeHeapSnapshot\");\n}, setHeapSnapshotNearHeapLimit = function() {\n notimpl(\"setHeapSnapshotNearHeapLimit\");\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), jsc = @requireNativeModule(\"bun:jsc\");\n\nclass Deserializer {\n constructor() {\n notimpl(\"Deserializer\");\n }\n}\n\nclass Serializer {\n constructor() {\n notimpl(\"Serializer\");\n }\n}\n\nclass DefaultDeserializer extends Deserializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass DefaultSerializer extends Serializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass GCProfiler {\n constructor() {\n notimpl(\"GCProfiler\");\n }\n}\nvar promiseHooks = {\n createHook: () => {\n notimpl(\"createHook\");\n },\n onInit: () => {\n notimpl(\"onInit\");\n },\n onBefore: () => {\n notimpl(\"onBefore\");\n },\n onAfter: () => {\n notimpl(\"onAfter\");\n },\n onSettled: () => {\n notimpl(\"onSettled\");\n }\n}, startupSnapshot = {\n addDeserializeCallback: () => notimpl(\"addDeserializeCallback\"),\n addSerializeCallback: () => notimpl(\"addSerializeCallback\"),\n setDeserializeMainFunction: () => notimpl(\"setDeserializeMainFunction\"),\n isBuildingSnapshot: () => notimpl(\"isBuildingSnapshot\")\n};\n$ = {\n cachedDataVersionTag,\n getHeapSnapshot,\n getHeapStatistics,\n getHeapSpaceStatistics,\n getHeapCodeStatistics,\n setFlagsFromString,\n deserialize,\n takeCoverage,\n stopCoverage,\n serialize,\n writeHeapSnapshot,\n setHeapSnapshotNearHeapLimit,\n promiseHooks,\n startupSnapshot,\n Deserializer,\n Serializer\n};\nhideFromStack(notimpl, cachedDataVersionTag, getHeapSnapshot, getHeapStatistics, getHeapSpaceStatistics, getHeapCodeStatistics, setFlagsFromString, deserialize, takeCoverage, stopCoverage, serialize, writeHeapSnapshot, setHeapSnapshotNearHeapLimit, Deserializer, Serializer, DefaultDeserializer, DefaultSerializer, GCProfiler);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeVMCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/vm.ts\nvar runInContext = function(code, context, options) {\n return new Script(code, options).runInContext(context);\n}, compileFunction = function() {\n throwNotImplemented(\"node:vm compileFunction\");\n}, measureMemory = function() {\n throwNotImplemented(\"node:vm measureMemory\");\n}, $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), vm = @lazy(\"vm\"), { createContext, isContext, Script, runInNewContext, runInThisContext } = vm;\n\nclass Module {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SourceTextModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SyntheticModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n$ = {\n createContext,\n runInContext,\n runInNewContext,\n runInThisContext,\n isContext,\n compileFunction,\n measureMemory,\n Script,\n Module,\n SourceTextModule,\n SyntheticModule\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeVMCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/vm.ts\nvar runInContext = function(code, context, options) {\n return new Script(code, options).runInContext(context);\n}, compileFunction = function() {\n throwNotImplemented(\"node:vm compileFunction\");\n}, measureMemory = function() {\n throwNotImplemented(\"node:vm measureMemory\");\n}, $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), vm = @lazy(\"vm\"), { createContext, isContext, Script, runInNewContext, runInThisContext } = vm;\n\nclass Module {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SourceTextModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SyntheticModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n$ = {\n createContext,\n runInContext,\n runInNewContext,\n runInThisContext,\n isContext,\n compileFunction,\n measureMemory,\n Script,\n Module,\n SourceTextModule,\n SyntheticModule\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeWasiCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/wasi.ts\nvar nodeFsConstants = @processBindingConstants.fs, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_types = __commonJS({\n \"node_modules/wasi-js/dist/types.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASIKillError = exports.WASIExitError = exports.WASIError = void 0;\n var WASIError = class extends Error {\n constructor(errno) {\n super();\n this.errno = errno, Object.setPrototypeOf(this, WASIError.prototype);\n }\n };\n exports.WASIError = WASIError;\n var WASIExitError = class extends Error {\n constructor(code) {\n super(`WASI Exit error: ${code}`);\n this.code = code, Object.setPrototypeOf(this, WASIExitError.prototype);\n }\n };\n exports.WASIExitError = WASIExitError;\n var WASIKillError = class extends Error {\n constructor(signal) {\n super(`WASI Kill signal: ${signal}`);\n this.signal = signal, Object.setPrototypeOf(this, WASIKillError.prototype);\n }\n };\n exports.WASIKillError = WASIKillError;\n }\n}), require_constants = __commonJS({\n \"node_modules/wasi-js/dist/constants.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASI_ENOMSG = exports.WASI_ENOMEM = exports.WASI_ENOLINK = exports.WASI_ENOLCK = exports.WASI_ENOEXEC = exports.WASI_ENOENT = exports.WASI_ENODEV = exports.WASI_ENOBUFS = exports.WASI_ENFILE = exports.WASI_ENETUNREACH = exports.WASI_ENETRESET = exports.WASI_ENETDOWN = exports.WASI_ENAMETOOLONG = exports.WASI_EMULTIHOP = exports.WASI_EMSGSIZE = exports.WASI_EMLINK = exports.WASI_EMFILE = exports.WASI_ELOOP = exports.WASI_EISDIR = exports.WASI_EISCONN = exports.WASI_EIO = exports.WASI_EINVAL = exports.WASI_EINTR = exports.WASI_EINPROGRESS = exports.WASI_EILSEQ = exports.WASI_EIDRM = exports.WASI_EHOSTUNREACH = exports.WASI_EFBIG = exports.WASI_EFAULT = exports.WASI_EEXIST = exports.WASI_EDQUOT = exports.WASI_EDOM = exports.WASI_EDESTADDRREQ = exports.WASI_EDEADLK = exports.WASI_ECONNRESET = exports.WASI_ECONNREFUSED = exports.WASI_ECONNABORTED = exports.WASI_ECHILD = exports.WASI_ECANCELED = exports.WASI_EBUSY = exports.WASI_EBADMSG = exports.WASI_EBADF = exports.WASI_EALREADY = exports.WASI_EAGAIN = exports.WASI_EAFNOSUPPORT = exports.WASI_EADDRNOTAVAIL = exports.WASI_EADDRINUSE = exports.WASI_EACCES = exports.WASI_E2BIG = exports.WASI_ESUCCESS = void 0, exports.WASI_SIGVTALRM = exports.WASI_SIGUSR2 = exports.WASI_SIGUSR1 = exports.WASI_SIGURG = exports.WASI_SIGTTOU = exports.WASI_SIGTTIN = exports.WASI_SIGTSTP = exports.WASI_SIGTRAP = exports.WASI_SIGTERM = exports.WASI_SIGSTOP = exports.WASI_SIGSEGV = exports.WASI_SIGQUIT = exports.WASI_SIGPIPE = exports.WASI_SIGKILL = exports.WASI_SIGINT = exports.WASI_SIGILL = exports.WASI_SIGHUP = exports.WASI_SIGFPE = exports.WASI_SIGCONT = exports.WASI_SIGCHLD = exports.WASI_SIGBUS = exports.WASI_SIGALRM = exports.WASI_SIGABRT = exports.WASI_ENOTCAPABLE = exports.WASI_EXDEV = exports.WASI_ETXTBSY = exports.WASI_ETIMEDOUT = exports.WASI_ESTALE = exports.WASI_ESRCH = exports.WASI_ESPIPE = exports.WASI_EROFS = exports.WASI_ERANGE = exports.WASI_EPROTOTYPE = exports.WASI_EPROTONOSUPPORT = exports.WASI_EPROTO = exports.WASI_EPIPE = exports.WASI_EPERM = exports.WASI_EOWNERDEAD = exports.WASI_EOVERFLOW = exports.WASI_ENXIO = exports.WASI_ENOTTY = exports.WASI_ENOTSUP = exports.WASI_ENOTSOCK = exports.WASI_ENOTRECOVERABLE = exports.WASI_ENOTEMPTY = exports.WASI_ENOTDIR = exports.WASI_ENOTCONN = exports.WASI_ENOSYS = exports.WASI_ENOSPC = exports.WASI_ENOPROTOOPT = void 0, exports.RIGHTS_REGULAR_FILE_BASE = exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL = exports.WASI_RIGHT_SOCK_SHUTDOWN = exports.WASI_RIGHT_POLL_FD_READWRITE = exports.WASI_RIGHT_PATH_UNLINK_FILE = exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = exports.WASI_RIGHT_PATH_SYMLINK = exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = exports.WASI_RIGHT_FD_FILESTAT_GET = exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = exports.WASI_RIGHT_PATH_FILESTAT_GET = exports.WASI_RIGHT_PATH_RENAME_TARGET = exports.WASI_RIGHT_PATH_RENAME_SOURCE = exports.WASI_RIGHT_PATH_READLINK = exports.WASI_RIGHT_FD_READDIR = exports.WASI_RIGHT_PATH_OPEN = exports.WASI_RIGHT_PATH_LINK_TARGET = exports.WASI_RIGHT_PATH_LINK_SOURCE = exports.WASI_RIGHT_PATH_CREATE_FILE = exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = exports.WASI_RIGHT_FD_ALLOCATE = exports.WASI_RIGHT_FD_ADVISE = exports.WASI_RIGHT_FD_WRITE = exports.WASI_RIGHT_FD_TELL = exports.WASI_RIGHT_FD_SYNC = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = exports.WASI_RIGHT_FD_SEEK = exports.WASI_RIGHT_FD_READ = exports.WASI_RIGHT_FD_DATASYNC = exports.WASI_FDFLAG_SYNC = exports.WASI_FDFLAG_RSYNC = exports.WASI_FDFLAG_NONBLOCK = exports.WASI_FDFLAG_DSYNC = exports.WASI_FDFLAG_APPEND = exports.WASI_FILETYPE_SYMBOLIC_LINK = exports.WASI_FILETYPE_SOCKET_STREAM = exports.WASI_FILETYPE_SOCKET_DGRAM = exports.WASI_FILETYPE_REGULAR_FILE = exports.WASI_FILETYPE_DIRECTORY = exports.WASI_FILETYPE_CHARACTER_DEVICE = exports.WASI_FILETYPE_BLOCK_DEVICE = exports.WASI_FILETYPE_UNKNOWN = exports.WASI_SIGXFSZ = exports.WASI_SIGXCPU = void 0, exports.SIGNAL_MAP = exports.ERROR_MAP = exports.WASI_WHENCE_END = exports.WASI_WHENCE_CUR = exports.WASI_WHENCE_SET = exports.WASI_STDERR_FILENO = exports.WASI_STDOUT_FILENO = exports.WASI_STDIN_FILENO = exports.WASI_DIRCOOKIE_START = exports.WASI_PREOPENTYPE_DIR = exports.WASI_O_TRUNC = exports.WASI_O_EXCL = exports.WASI_O_DIRECTORY = exports.WASI_O_CREAT = exports.WASI_FILESTAT_SET_MTIM_NOW = exports.WASI_FILESTAT_SET_MTIM = exports.WASI_FILESTAT_SET_ATIM_NOW = exports.WASI_FILESTAT_SET_ATIM = exports.WASI_EVENTTYPE_FD_WRITE = exports.WASI_EVENTTYPE_FD_READ = exports.WASI_EVENTTYPE_CLOCK = exports.WASI_CLOCK_THREAD_CPUTIME_ID = exports.WASI_CLOCK_PROCESS_CPUTIME_ID = exports.WASI_CLOCK_MONOTONIC = exports.WASI_CLOCK_REALTIME = exports.RIGHTS_TTY_INHERITING = exports.RIGHTS_TTY_BASE = exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_SOCKET_BASE = exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE = exports.RIGHTS_REGULAR_FILE_INHERITING = void 0, exports.WASI_ESUCCESS = 0, exports.WASI_E2BIG = 1, exports.WASI_EACCES = 2, exports.WASI_EADDRINUSE = 3, exports.WASI_EADDRNOTAVAIL = 4, exports.WASI_EAFNOSUPPORT = 5, exports.WASI_EAGAIN = 6, exports.WASI_EALREADY = 7, exports.WASI_EBADF = 8, exports.WASI_EBADMSG = 9, exports.WASI_EBUSY = 10, exports.WASI_ECANCELED = 11, exports.WASI_ECHILD = 12, exports.WASI_ECONNABORTED = 13, exports.WASI_ECONNREFUSED = 14, exports.WASI_ECONNRESET = 15, exports.WASI_EDEADLK = 16, exports.WASI_EDESTADDRREQ = 17, exports.WASI_EDOM = 18, exports.WASI_EDQUOT = 19, exports.WASI_EEXIST = 20, exports.WASI_EFAULT = 21, exports.WASI_EFBIG = 22, exports.WASI_EHOSTUNREACH = 23, exports.WASI_EIDRM = 24, exports.WASI_EILSEQ = 25, exports.WASI_EINPROGRESS = 26, exports.WASI_EINTR = 27, exports.WASI_EINVAL = 28, exports.WASI_EIO = 29, exports.WASI_EISCONN = 30, exports.WASI_EISDIR = 31, exports.WASI_ELOOP = 32, exports.WASI_EMFILE = 33, exports.WASI_EMLINK = 34, exports.WASI_EMSGSIZE = 35, exports.WASI_EMULTIHOP = 36, exports.WASI_ENAMETOOLONG = 37, exports.WASI_ENETDOWN = 38, exports.WASI_ENETRESET = 39, exports.WASI_ENETUNREACH = 40, exports.WASI_ENFILE = 41, exports.WASI_ENOBUFS = 42, exports.WASI_ENODEV = 43, exports.WASI_ENOENT = 44, exports.WASI_ENOEXEC = 45, exports.WASI_ENOLCK = 46, exports.WASI_ENOLINK = 47, exports.WASI_ENOMEM = 48, exports.WASI_ENOMSG = 49, exports.WASI_ENOPROTOOPT = 50, exports.WASI_ENOSPC = 51, exports.WASI_ENOSYS = 52, exports.WASI_ENOTCONN = 53, exports.WASI_ENOTDIR = 54, exports.WASI_ENOTEMPTY = 55, exports.WASI_ENOTRECOVERABLE = 56, exports.WASI_ENOTSOCK = 57, exports.WASI_ENOTSUP = 58, exports.WASI_ENOTTY = 59, exports.WASI_ENXIO = 60, exports.WASI_EOVERFLOW = 61, exports.WASI_EOWNERDEAD = 62, exports.WASI_EPERM = 63, exports.WASI_EPIPE = 64, exports.WASI_EPROTO = 65, exports.WASI_EPROTONOSUPPORT = 66, exports.WASI_EPROTOTYPE = 67, exports.WASI_ERANGE = 68, exports.WASI_EROFS = 69, exports.WASI_ESPIPE = 70, exports.WASI_ESRCH = 71, exports.WASI_ESTALE = 72, exports.WASI_ETIMEDOUT = 73, exports.WASI_ETXTBSY = 74, exports.WASI_EXDEV = 75, exports.WASI_ENOTCAPABLE = 76, exports.WASI_SIGABRT = 0, exports.WASI_SIGALRM = 1, exports.WASI_SIGBUS = 2, exports.WASI_SIGCHLD = 3, exports.WASI_SIGCONT = 4, exports.WASI_SIGFPE = 5, exports.WASI_SIGHUP = 6, exports.WASI_SIGILL = 7, exports.WASI_SIGINT = 8, exports.WASI_SIGKILL = 9, exports.WASI_SIGPIPE = 10, exports.WASI_SIGQUIT = 11, exports.WASI_SIGSEGV = 12, exports.WASI_SIGSTOP = 13, exports.WASI_SIGTERM = 14, exports.WASI_SIGTRAP = 15, exports.WASI_SIGTSTP = 16, exports.WASI_SIGTTIN = 17, exports.WASI_SIGTTOU = 18, exports.WASI_SIGURG = 19, exports.WASI_SIGUSR1 = 20, exports.WASI_SIGUSR2 = 21, exports.WASI_SIGVTALRM = 22, exports.WASI_SIGXCPU = 23, exports.WASI_SIGXFSZ = 24, exports.WASI_FILETYPE_UNKNOWN = 0, exports.WASI_FILETYPE_BLOCK_DEVICE = 1, exports.WASI_FILETYPE_CHARACTER_DEVICE = 2, exports.WASI_FILETYPE_DIRECTORY = 3, exports.WASI_FILETYPE_REGULAR_FILE = 4, exports.WASI_FILETYPE_SOCKET_DGRAM = 5, exports.WASI_FILETYPE_SOCKET_STREAM = 6, exports.WASI_FILETYPE_SYMBOLIC_LINK = 7, exports.WASI_FDFLAG_APPEND = 1, exports.WASI_FDFLAG_DSYNC = 2, exports.WASI_FDFLAG_NONBLOCK = 4, exports.WASI_FDFLAG_RSYNC = 8, exports.WASI_FDFLAG_SYNC = 16, exports.WASI_RIGHT_FD_DATASYNC = BigInt(1), exports.WASI_RIGHT_FD_READ = BigInt(2), exports.WASI_RIGHT_FD_SEEK = BigInt(4), exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = BigInt(8), exports.WASI_RIGHT_FD_SYNC = BigInt(16), exports.WASI_RIGHT_FD_TELL = BigInt(32), exports.WASI_RIGHT_FD_WRITE = BigInt(64), exports.WASI_RIGHT_FD_ADVISE = BigInt(128), exports.WASI_RIGHT_FD_ALLOCATE = BigInt(256), exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = BigInt(512), exports.WASI_RIGHT_PATH_CREATE_FILE = BigInt(1024), exports.WASI_RIGHT_PATH_LINK_SOURCE = BigInt(2048), exports.WASI_RIGHT_PATH_LINK_TARGET = BigInt(4096), exports.WASI_RIGHT_PATH_OPEN = BigInt(8192), exports.WASI_RIGHT_FD_READDIR = BigInt(16384), exports.WASI_RIGHT_PATH_READLINK = BigInt(32768), exports.WASI_RIGHT_PATH_RENAME_SOURCE = BigInt(65536), exports.WASI_RIGHT_PATH_RENAME_TARGET = BigInt(131072), exports.WASI_RIGHT_PATH_FILESTAT_GET = BigInt(262144), exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = BigInt(524288), exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = BigInt(1048576), exports.WASI_RIGHT_FD_FILESTAT_GET = BigInt(2097152), exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = BigInt(4194304), exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = BigInt(8388608), exports.WASI_RIGHT_PATH_SYMLINK = BigInt(16777216), exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = BigInt(33554432), exports.WASI_RIGHT_PATH_UNLINK_FILE = BigInt(67108864), exports.WASI_RIGHT_POLL_FD_READWRITE = BigInt(134217728), exports.WASI_RIGHT_SOCK_SHUTDOWN = BigInt(268435456), exports.RIGHTS_ALL = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_REGULAR_FILE_BASE = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_REGULAR_FILE_INHERITING = BigInt(0), exports.RIGHTS_DIRECTORY_BASE = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE | exports.RIGHTS_REGULAR_FILE_BASE, exports.RIGHTS_SOCKET_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_TTY_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_TTY_INHERITING = BigInt(0), exports.WASI_CLOCK_REALTIME = 0, exports.WASI_CLOCK_MONOTONIC = 1, exports.WASI_CLOCK_PROCESS_CPUTIME_ID = 2, exports.WASI_CLOCK_THREAD_CPUTIME_ID = 3, exports.WASI_EVENTTYPE_CLOCK = 0, exports.WASI_EVENTTYPE_FD_READ = 1, exports.WASI_EVENTTYPE_FD_WRITE = 2, exports.WASI_FILESTAT_SET_ATIM = 1 << 0, exports.WASI_FILESTAT_SET_ATIM_NOW = 1 << 1, exports.WASI_FILESTAT_SET_MTIM = 1 << 2, exports.WASI_FILESTAT_SET_MTIM_NOW = 1 << 3, exports.WASI_O_CREAT = 1 << 0, exports.WASI_O_DIRECTORY = 1 << 1, exports.WASI_O_EXCL = 1 << 2, exports.WASI_O_TRUNC = 1 << 3, exports.WASI_PREOPENTYPE_DIR = 0, exports.WASI_DIRCOOKIE_START = 0, exports.WASI_STDIN_FILENO = 0, exports.WASI_STDOUT_FILENO = 1, exports.WASI_STDERR_FILENO = 2, exports.WASI_WHENCE_SET = 0, exports.WASI_WHENCE_CUR = 1, exports.WASI_WHENCE_END = 2, exports.ERROR_MAP = {\n E2BIG: exports.WASI_E2BIG,\n EACCES: exports.WASI_EACCES,\n EADDRINUSE: exports.WASI_EADDRINUSE,\n EADDRNOTAVAIL: exports.WASI_EADDRNOTAVAIL,\n EAFNOSUPPORT: exports.WASI_EAFNOSUPPORT,\n EALREADY: exports.WASI_EALREADY,\n EAGAIN: exports.WASI_EAGAIN,\n EBADF: exports.WASI_EBADF,\n EBADMSG: exports.WASI_EBADMSG,\n EBUSY: exports.WASI_EBUSY,\n ECANCELED: exports.WASI_ECANCELED,\n ECHILD: exports.WASI_ECHILD,\n ECONNABORTED: exports.WASI_ECONNABORTED,\n ECONNREFUSED: exports.WASI_ECONNREFUSED,\n ECONNRESET: exports.WASI_ECONNRESET,\n EDEADLOCK: exports.WASI_EDEADLK,\n EDESTADDRREQ: exports.WASI_EDESTADDRREQ,\n EDOM: exports.WASI_EDOM,\n EDQUOT: exports.WASI_EDQUOT,\n EEXIST: exports.WASI_EEXIST,\n EFAULT: exports.WASI_EFAULT,\n EFBIG: exports.WASI_EFBIG,\n EHOSTDOWN: exports.WASI_EHOSTUNREACH,\n EHOSTUNREACH: exports.WASI_EHOSTUNREACH,\n EIDRM: exports.WASI_EIDRM,\n EILSEQ: exports.WASI_EILSEQ,\n EINPROGRESS: exports.WASI_EINPROGRESS,\n EINTR: exports.WASI_EINTR,\n EINVAL: exports.WASI_EINVAL,\n EIO: exports.WASI_EIO,\n EISCONN: exports.WASI_EISCONN,\n EISDIR: exports.WASI_EISDIR,\n ELOOP: exports.WASI_ELOOP,\n EMFILE: exports.WASI_EMFILE,\n EMLINK: exports.WASI_EMLINK,\n EMSGSIZE: exports.WASI_EMSGSIZE,\n EMULTIHOP: exports.WASI_EMULTIHOP,\n ENAMETOOLONG: exports.WASI_ENAMETOOLONG,\n ENETDOWN: exports.WASI_ENETDOWN,\n ENETRESET: exports.WASI_ENETRESET,\n ENETUNREACH: exports.WASI_ENETUNREACH,\n ENFILE: exports.WASI_ENFILE,\n ENOBUFS: exports.WASI_ENOBUFS,\n ENODEV: exports.WASI_ENODEV,\n ENOENT: exports.WASI_ENOENT,\n ENOEXEC: exports.WASI_ENOEXEC,\n ENOLCK: exports.WASI_ENOLCK,\n ENOLINK: exports.WASI_ENOLINK,\n ENOMEM: exports.WASI_ENOMEM,\n ENOMSG: exports.WASI_ENOMSG,\n ENOPROTOOPT: exports.WASI_ENOPROTOOPT,\n ENOSPC: exports.WASI_ENOSPC,\n ENOSYS: exports.WASI_ENOSYS,\n ENOTCONN: exports.WASI_ENOTCONN,\n ENOTDIR: exports.WASI_ENOTDIR,\n ENOTEMPTY: exports.WASI_ENOTEMPTY,\n ENOTRECOVERABLE: exports.WASI_ENOTRECOVERABLE,\n ENOTSOCK: exports.WASI_ENOTSOCK,\n ENOTTY: exports.WASI_ENOTTY,\n ENXIO: exports.WASI_ENXIO,\n EOVERFLOW: exports.WASI_EOVERFLOW,\n EOWNERDEAD: exports.WASI_EOWNERDEAD,\n EPERM: exports.WASI_EPERM,\n EPIPE: exports.WASI_EPIPE,\n EPROTO: exports.WASI_EPROTO,\n EPROTONOSUPPORT: exports.WASI_EPROTONOSUPPORT,\n EPROTOTYPE: exports.WASI_EPROTOTYPE,\n ERANGE: exports.WASI_ERANGE,\n EROFS: exports.WASI_EROFS,\n ESPIPE: exports.WASI_ESPIPE,\n ESRCH: exports.WASI_ESRCH,\n ESTALE: exports.WASI_ESTALE,\n ETIMEDOUT: exports.WASI_ETIMEDOUT,\n ETXTBSY: exports.WASI_ETXTBSY,\n EXDEV: exports.WASI_EXDEV\n }, exports.SIGNAL_MAP = {\n [exports.WASI_SIGHUP]: \"SIGHUP\",\n [exports.WASI_SIGINT]: \"SIGINT\",\n [exports.WASI_SIGQUIT]: \"SIGQUIT\",\n [exports.WASI_SIGILL]: \"SIGILL\",\n [exports.WASI_SIGTRAP]: \"SIGTRAP\",\n [exports.WASI_SIGABRT]: \"SIGABRT\",\n [exports.WASI_SIGBUS]: \"SIGBUS\",\n [exports.WASI_SIGFPE]: \"SIGFPE\",\n [exports.WASI_SIGKILL]: \"SIGKILL\",\n [exports.WASI_SIGUSR1]: \"SIGUSR1\",\n [exports.WASI_SIGSEGV]: \"SIGSEGV\",\n [exports.WASI_SIGUSR2]: \"SIGUSR2\",\n [exports.WASI_SIGPIPE]: \"SIGPIPE\",\n [exports.WASI_SIGALRM]: \"SIGALRM\",\n [exports.WASI_SIGTERM]: \"SIGTERM\",\n [exports.WASI_SIGCHLD]: \"SIGCHLD\",\n [exports.WASI_SIGCONT]: \"SIGCONT\",\n [exports.WASI_SIGSTOP]: \"SIGSTOP\",\n [exports.WASI_SIGTSTP]: \"SIGTSTP\",\n [exports.WASI_SIGTTIN]: \"SIGTTIN\",\n [exports.WASI_SIGTTOU]: \"SIGTTOU\",\n [exports.WASI_SIGURG]: \"SIGURG\",\n [exports.WASI_SIGXCPU]: \"SIGXCPU\",\n [exports.WASI_SIGXFSZ]: \"SIGXFSZ\",\n [exports.WASI_SIGVTALRM]: \"SIGVTALRM\"\n };\n }\n}), require_wasi = __commonJS({\n \"node_modules/wasi-js/dist/wasi.js\"(exports) {\n var __importDefault = exports && exports.__importDefault || function(mod) {\n return mod && mod.__esModule \? mod : { default: mod };\n };\n let fs;\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.SOCKET_DEFAULT_RIGHTS = void 0;\n var log = () => {\n }, logOpen = () => {\n }, SC_OPEN_MAX = 32768, types_1 = require_types(), constants_1 = require_constants(), STDIN_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDOUT_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDERR_DEFAULT_RIGHTS = STDOUT_DEFAULT_RIGHTS;\n exports.SOCKET_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE | constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;\n var msToNs = (ms) => {\n const msInt = Math.trunc(ms), decimal = BigInt(Math.round((ms - msInt) * 1e6));\n return BigInt(msInt) * BigInt(1e6) + decimal;\n }, nsToMs = (ns) => {\n if (typeof ns === \"number\")\n ns = Math.trunc(ns);\n const nsInt = BigInt(ns);\n return Number(nsInt / BigInt(1e6));\n }, wrap = (f) => (...args) => {\n try {\n return f(...args);\n } catch (err) {\n let e = err;\n while (e.prev != null)\n e = e.prev;\n if (e\?.code && typeof e\?.code === \"string\")\n return constants_1.ERROR_MAP[e.code] || constants_1.WASI_EINVAL;\n if (e instanceof types_1.WASIError)\n return e.errno;\n throw e;\n }\n }, stat = (wasi, fd) => {\n const entry = wasi.FD_MAP.get(fd);\n if (!entry)\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n if (entry.filetype === void 0) {\n const stats = wasi.fstatSync(entry.real), { filetype, rightsBase, rightsInheriting } = translateFileAttributes(wasi, fd, stats);\n if (entry.filetype = filetype, !entry.rights)\n entry.rights = {\n base: rightsBase,\n inheriting: rightsInheriting\n };\n }\n return entry;\n }, translateFileAttributes = (wasi, fd, stats) => {\n switch (!0) {\n case stats.isBlockDevice():\n return {\n filetype: constants_1.WASI_FILETYPE_BLOCK_DEVICE,\n rightsBase: constants_1.RIGHTS_BLOCK_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_BLOCK_DEVICE_INHERITING\n };\n case stats.isCharacterDevice(): {\n const filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n if (fd !== void 0 && wasi.bindings.isTTY(fd))\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_TTY_BASE,\n rightsInheriting: constants_1.RIGHTS_TTY_INHERITING\n };\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_CHARACTER_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING\n };\n }\n case stats.isDirectory():\n return {\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rightsBase: constants_1.RIGHTS_DIRECTORY_BASE,\n rightsInheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n };\n case stats.isFIFO():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isFile():\n return {\n filetype: constants_1.WASI_FILETYPE_REGULAR_FILE,\n rightsBase: constants_1.RIGHTS_REGULAR_FILE_BASE,\n rightsInheriting: constants_1.RIGHTS_REGULAR_FILE_INHERITING\n };\n case stats.isSocket():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isSymbolicLink():\n return {\n filetype: constants_1.WASI_FILETYPE_SYMBOLIC_LINK,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n default:\n return {\n filetype: constants_1.WASI_FILETYPE_UNKNOWN,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n }\n }, warnedAboutSleep = !1, defaultConfig;\n function getDefaults() {\n if (defaultConfig)\n return defaultConfig;\n const defaultBindings = {\n hrtime: () => process.hrtime.bigint(),\n exit: (code) => {\n process.exit(code);\n },\n kill: (signal) => {\n process.kill(process.pid, signal);\n },\n randomFillSync: (array) => crypto.getRandomValues(array),\n isTTY: (fd) => (@getInternalField(@internalModuleRegistry, 46) || @createInternalModuleById(46)).isatty(fd),\n fs: Bun.fs(),\n path: @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)\n };\n return defaultConfig = {\n args: [],\n env: {},\n preopens: {},\n bindings: defaultBindings,\n sleep: (ms) => {\n Bun.sleepSync(ms);\n }\n };\n }\n var WASI = class WASI2 {\n constructor(wasiConfig = {}) {\n const defaultConfig2 = getDefaults();\n this.lastStdin = 0, this.sleep = wasiConfig.sleep || defaultConfig2.sleep, this.getStdin = wasiConfig.getStdin, this.sendStdout = wasiConfig.sendStdout, this.sendStderr = wasiConfig.sendStderr;\n let preopens = wasiConfig.preopens \?\? defaultConfig2.preopens;\n this.env = wasiConfig.env \?\? defaultConfig2.env;\n const args = wasiConfig.args \?\? defaultConfig2.args;\n this.memory = void 0, this.view = void 0, this.bindings = wasiConfig.bindings || defaultConfig2.bindings;\n const bindings2 = this.bindings;\n fs = bindings2.fs, this.FD_MAP = new Map([\n [\n constants_1.WASI_STDIN_FILENO,\n {\n real: 0,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdin\"\n }\n ],\n [\n constants_1.WASI_STDOUT_FILENO,\n {\n real: 1,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDOUT_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdout\"\n }\n ],\n [\n constants_1.WASI_STDERR_FILENO,\n {\n real: 2,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDERR_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stderr\"\n }\n ]\n ]);\n const path = bindings2.path;\n for (let [k, v] of Object.entries(preopens)) {\n const real = fs.openSync(v, nodeFsConstants.O_RDONLY), newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real,\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rights: {\n base: constants_1.RIGHTS_DIRECTORY_BASE,\n inheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n },\n fakePath: k,\n path: v\n });\n }\n const getiovs = (iovs, iovsLen) => {\n this.refreshMemory();\n const { view, memory } = this, { buffer } = memory, { byteLength } = buffer;\n if (iovsLen === 1) {\n const ptr = iovs, buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n return [new @Uint8Array(buffer, buf, bufLen)];\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n const buffers = [];\n buffers.length = iovsLen;\n for (let i = 0, ptr = iovs;i < iovsLen; i++, ptr += 8) {\n const buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n buffers[i] = new @Uint8Array(buffer, buf, bufLen);\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n return buffers;\n }, CHECK_FD = (fd, rights) => {\n const stats = stat(this, fd);\n if (rights !== BigInt(0) && (stats.rights.base & rights) === BigInt(0))\n throw new types_1.WASIError(constants_1.WASI_EPERM);\n return stats;\n }, CPUTIME_START = Bun.nanoseconds(), timeOrigin = Math.trunc(performance.timeOrigin * 1e6), now = (clockId) => {\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n return Bun.nanoseconds();\n case constants_1.WASI_CLOCK_REALTIME:\n return Bun.nanoseconds() + timeOrigin;\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:\n return Bun.nanoseconds() - CPUTIME_START;\n default:\n return null;\n }\n };\n if (this.wasiImport = {\n args_get: (argv, argvBuf) => {\n this.refreshMemory();\n let coffset = argv, offset = argvBuf;\n return args.forEach((a) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${a}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n args_sizes_get: (argc, argvBufSize) => {\n this.refreshMemory(), this.view.setUint32(argc, args.length, !0);\n const size = args.reduce((acc, a) => acc + @Buffer.byteLength(a) + 1, 0);\n return this.view.setUint32(argvBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n environ_get: (environ, environBuf) => {\n this.refreshMemory();\n let coffset = environ, offset = environBuf;\n return Object.entries(this.env).forEach(([key, value]) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n environ_sizes_get: (environCount, environBufSize) => {\n this.refreshMemory();\n const envProcessed = Object.entries(this.env).map(([key, value]) => `${key}=${value}\\0`), size = envProcessed.reduce((acc, e) => acc + @Buffer.byteLength(e), 0);\n return this.view.setUint32(environCount, envProcessed.length, !0), this.view.setUint32(environBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n clock_res_get: (clockId, resolution) => {\n let res;\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID: {\n res = BigInt(1);\n break;\n }\n case constants_1.WASI_CLOCK_REALTIME: {\n res = BigInt(1000);\n break;\n }\n }\n if (!res)\n throw Error(\"invalid clockId\");\n return this.view.setBigUint64(resolution, res), constants_1.WASI_ESUCCESS;\n },\n clock_time_get: (clockId, _precision, time) => {\n this.refreshMemory();\n const n = now(clockId);\n if (n === null)\n return constants_1.WASI_EINVAL;\n return this.view.setBigUint64(time, BigInt(n), !0), constants_1.WASI_ESUCCESS;\n },\n fd_advise: wrap((fd, _offset, _len, _advice) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ADVISE), constants_1.WASI_ENOSYS;\n }),\n fd_allocate: wrap((fd, _offset, _len) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ALLOCATE), constants_1.WASI_ENOSYS;\n }),\n fd_close: wrap((fd) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return fs.closeSync(stats.real), this.FD_MAP.delete(fd), constants_1.WASI_ESUCCESS;\n }),\n fd_datasync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_DATASYNC);\n return fs.fdatasyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if (this.refreshMemory(), stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), this.view.setUint16(bufPtr + 2, 0, !0), this.view.setUint16(bufPtr + 4, 0, !0), this.view.setBigUint64(bufPtr + 8, BigInt(stats.rights.base), !0), this.view.setBigUint64(bufPtr + 8 + 8, BigInt(stats.rights.inheriting), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_set_flags: wrap((fd, flags) => {\n if (CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS), this.wasiImport.sock_fcntlSetFlags(fd, flags) == 0)\n return constants_1.WASI_ESUCCESS;\n return constants_1.WASI_ENOSYS;\n }),\n fd_fdstat_set_rights: wrap((fd, fsRightsBase, fsRightsInheriting) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if ((stats.rights.base | fsRightsBase) > stats.rights.base)\n return constants_1.WASI_EPERM;\n if ((stats.rights.inheriting | fsRightsInheriting) > stats.rights.inheriting)\n return constants_1.WASI_EPERM;\n return stats.rights.base = fsRightsBase, stats.rights.inheriting = fsRightsInheriting, constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_GET), rstats = this.fstatSync(stats.real);\n if (this.refreshMemory(), this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.atimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.mtimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.ctimeMs), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_size: wrap((fd, stSize) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);\n return fs.ftruncateSync(stats.real, Number(stSize)), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_times: wrap((fd, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES), rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n return fs.futimesSync(stats.real, new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), this.view.setUint8(bufPtr, constants_1.WASI_PREOPENTYPE_DIR), this.view.setUint32(bufPtr + 4, @Buffer.byteLength(stats.fakePath \?\? stats.path \?\? \"\"), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_dir_name: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), @Buffer.from(this.memory.buffer).write(stats.fakePath \?\? stats.path \?\? \"\", pathPtr, pathLen, \"utf8\"), constants_1.WASI_ESUCCESS;\n }),\n fd_pwrite: wrap((fd, iovs, iovsLen, offset, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SEEK);\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n let w = 0;\n while (w < iov.byteLength)\n w += fs.writeSync(stats.real, iov, w, iov.byteLength - w, Number(offset) + written + w);\n written += w;\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_write: wrap((fd, iovs, iovsLen, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE), IS_STDOUT = fd == constants_1.WASI_STDOUT_FILENO, IS_STDERR = fd == constants_1.WASI_STDERR_FILENO;\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n if (iov.byteLength == 0)\n return;\n if (IS_STDOUT && this.sendStdout != null)\n this.sendStdout(iov), written += iov.byteLength;\n else if (IS_STDERR && this.sendStderr != null)\n this.sendStderr(iov), written += iov.byteLength;\n else {\n let w = 0;\n while (w < iov.byteLength) {\n const i = fs.writeSync(stats.real, iov, w, iov.byteLength - w, stats.offset \? Number(stats.offset) : null);\n if (stats.offset)\n stats.offset += BigInt(i);\n w += i;\n }\n written += w;\n }\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_pread: wrap((fd, iovs, iovsLen, offset, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SEEK);\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n const length = iov.byteLength - r, rr = fs.readSync(stats.real, iov, r, iov.byteLength - r, Number(offset) + read + r);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n read += r;\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_read: wrap((fd, iovs, iovsLen, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ), IS_STDIN = fd == constants_1.WASI_STDIN_FILENO;\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n let length = iov.byteLength - r, position = IS_STDIN || stats.offset === void 0 \? null : Number(stats.offset), rr = 0;\n if (IS_STDIN)\n if (this.getStdin != null) {\n if (this.stdinBuffer == null)\n this.stdinBuffer = this.getStdin();\n if (this.stdinBuffer != null) {\n if (rr = this.stdinBuffer.copy(iov), rr == this.stdinBuffer.length)\n this.stdinBuffer = void 0;\n else\n this.stdinBuffer = this.stdinBuffer.slice(rr);\n if (rr > 0)\n this.lastStdin = (new Date()).valueOf();\n }\n } else {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");\n try {\n rr = fs.readSync(stats.real, iov, r, length, position);\n } catch (_err) {\n }\n if (rr == 0)\n this.shortPause();\n else\n this.lastStdin = (new Date()).valueOf();\n }\n else\n rr = fs.readSync(stats.real, iov, r, length, position);\n if (stats.filetype == constants_1.WASI_FILETYPE_REGULAR_FILE)\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(rr);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_readdir: wrap((fd, bufPtr, bufLen, cookie, bufusedPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READDIR);\n this.refreshMemory();\n const entries = fs.readdirSync(stats.path, { withFileTypes: !0 }), startPtr = bufPtr;\n for (let i = Number(cookie);i < entries.length; i += 1) {\n const entry = entries[i];\n let nameLength = @Buffer.byteLength(entry.name);\n if (bufPtr - startPtr > bufLen)\n break;\n if (this.view.setBigUint64(bufPtr, BigInt(i + 1), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n const rstats = fs.lstatSync(path.resolve(stats.path, entry.name));\n if (this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n if (this.view.setUint32(bufPtr, nameLength, !0), bufPtr += 4, bufPtr - startPtr > bufLen)\n break;\n let filetype;\n switch (!0) {\n case rstats.isBlockDevice():\n filetype = constants_1.WASI_FILETYPE_BLOCK_DEVICE;\n break;\n case rstats.isCharacterDevice():\n filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n break;\n case rstats.isDirectory():\n filetype = constants_1.WASI_FILETYPE_DIRECTORY;\n break;\n case rstats.isFIFO():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isFile():\n filetype = constants_1.WASI_FILETYPE_REGULAR_FILE;\n break;\n case rstats.isSocket():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isSymbolicLink():\n filetype = constants_1.WASI_FILETYPE_SYMBOLIC_LINK;\n break;\n default:\n filetype = constants_1.WASI_FILETYPE_UNKNOWN;\n break;\n }\n if (this.view.setUint8(bufPtr, filetype), bufPtr += 1, bufPtr += 3, bufPtr + nameLength >= startPtr + bufLen)\n break;\n @Buffer.from(this.memory.buffer).write(entry.name, bufPtr), bufPtr += nameLength;\n }\n const bufused = bufPtr - startPtr;\n return this.view.setUint32(bufusedPtr, Math.min(bufused, bufLen), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_renumber: wrap((from, to) => {\n return CHECK_FD(from, BigInt(0)), CHECK_FD(to, BigInt(0)), fs.closeSync(this.FD_MAP.get(from).real), this.FD_MAP.set(from, this.FD_MAP.get(to)), this.FD_MAP.delete(to), constants_1.WASI_ESUCCESS;\n }),\n fd_seek: wrap((fd, offset, whence, newOffsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SEEK);\n switch (this.refreshMemory(), whence) {\n case constants_1.WASI_WHENCE_CUR:\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_END:\n const { size } = this.fstatSync(stats.real);\n stats.offset = BigInt(size) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_SET:\n stats.offset = BigInt(offset);\n break;\n }\n if (stats.offset == null)\n throw Error(\"stats.offset must be defined\");\n return this.view.setBigUint64(newOffsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_tell: wrap((fd, offsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_TELL);\n if (this.refreshMemory(), !stats.offset)\n stats.offset = BigInt(0);\n return this.view.setBigUint64(offsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_sync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SYNC);\n return fs.fsyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n path_create_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.mkdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_get: wrap((fd, flags, pathPtr, pathLen, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_GET);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n let rstats;\n if (flags)\n rstats = fs.statSync(path.resolve(stats.path, p));\n else\n rstats = fs.lstatSync(path.resolve(stats.path, p));\n return this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, this.view.setUint8(bufPtr, translateFileAttributes(this, void 0, rstats).filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.atime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.mtime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ctime.getTime() * 1e6), !0), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_set_times: wrap((fd, _dirflags, pathPtr, pathLen, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.utimesSync(path.resolve(stats.path, p), new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n path_link: wrap((oldFd, _oldFlags, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_LINK_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_LINK_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.linkSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_open: wrap((dirfd, _dirflags, pathPtr, pathLen, oflags, fsRightsBase, fsRightsInheriting, fsFlags, fdPtr) => {\n try {\n const stats = CHECK_FD(dirfd, constants_1.WASI_RIGHT_PATH_OPEN);\n fsRightsBase = BigInt(fsRightsBase), fsRightsInheriting = BigInt(fsRightsInheriting);\n const read = (fsRightsBase & (constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_READDIR)) !== BigInt(0), write = (fsRightsBase & (constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ALLOCATE | constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE)) !== BigInt(0);\n let noflags;\n if (write && read)\n noflags = nodeFsConstants.O_RDWR;\n else if (read)\n noflags = nodeFsConstants.O_RDONLY;\n else if (write)\n noflags = nodeFsConstants.O_WRONLY;\n let neededBase = fsRightsBase | constants_1.WASI_RIGHT_PATH_OPEN, neededInheriting = fsRightsBase | fsRightsInheriting;\n if ((oflags & constants_1.WASI_O_CREAT) !== 0)\n noflags |= nodeFsConstants.O_CREAT, neededBase |= constants_1.WASI_RIGHT_PATH_CREATE_FILE;\n if ((oflags & constants_1.WASI_O_DIRECTORY) !== 0)\n noflags |= nodeFsConstants.O_DIRECTORY;\n if ((oflags & constants_1.WASI_O_EXCL) !== 0)\n noflags |= nodeFsConstants.O_EXCL;\n if ((oflags & constants_1.WASI_O_TRUNC) !== 0)\n noflags |= nodeFsConstants.O_TRUNC, neededBase |= constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;\n if ((fsFlags & constants_1.WASI_FDFLAG_APPEND) !== 0)\n noflags |= nodeFsConstants.O_APPEND;\n if ((fsFlags & constants_1.WASI_FDFLAG_DSYNC) !== 0) {\n if (nodeFsConstants.O_DSYNC)\n noflags |= nodeFsConstants.O_DSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_DATASYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_NONBLOCK) !== 0)\n noflags |= nodeFsConstants.O_NONBLOCK;\n if ((fsFlags & constants_1.WASI_FDFLAG_RSYNC) !== 0) {\n if (nodeFsConstants.O_RSYNC)\n noflags |= nodeFsConstants.O_RSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_SYNC) !== 0)\n noflags |= nodeFsConstants.O_SYNC, neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n if (write && (noflags & (nodeFsConstants.O_APPEND | nodeFsConstants.O_TRUNC)) === 0)\n neededInheriting |= constants_1.WASI_RIGHT_FD_SEEK;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n if (p == \"dev/tty\")\n return this.view.setUint32(fdPtr, constants_1.WASI_STDIN_FILENO, !0), constants_1.WASI_ESUCCESS;\n if (logOpen(\"path_open\", p), p.startsWith(\"proc/\"))\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n const fullUnresolved = path.resolve(p);\n let full;\n try {\n full = fs.realpathSync(fullUnresolved);\n } catch (e) {\n if (e\?.code === \"ENOENT\")\n full = fullUnresolved;\n else\n throw e;\n }\n let isDirectory;\n if (write)\n try {\n isDirectory = fs.statSync(full).isDirectory();\n } catch (_err) {\n }\n let realfd;\n if (!write && isDirectory)\n realfd = fs.openSync(full, nodeFsConstants.O_RDONLY);\n else\n realfd = fs.openSync(full, noflags);\n const newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real: realfd,\n filetype: void 0,\n rights: {\n base: neededBase,\n inheriting: neededInheriting\n },\n path: full\n }), stat(this, newfd), this.view.setUint32(fdPtr, newfd, !0);\n } catch (e) {\n console.error(e);\n }\n return constants_1.WASI_ESUCCESS;\n }),\n path_readlink: wrap((fd, pathPtr, pathLen, buf, bufLen, bufused) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_READLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(), full = path.resolve(stats.path, p), r = fs.readlinkSync(full), used = @Buffer.from(this.memory.buffer).write(r, buf, bufLen);\n return this.view.setUint32(bufused, used, !0), constants_1.WASI_ESUCCESS;\n }),\n path_remove_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.rmdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_rename: wrap((oldFd, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_RENAME_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_RENAME_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.renameSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_symlink: wrap((oldPath, oldPathLen, fd, newPath, newPathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_SYMLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.symlinkSync(op, path.resolve(stats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_unlink_file: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_UNLINK_FILE);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.unlinkSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n poll_oneoff: (sin, sout, nsubscriptions, neventsPtr) => {\n let nevents = 0, name = \"\", waitTimeNs = BigInt(0), fd = -1, fd_type = \"read\", fd_timeout_ms = 0;\n const startNs = BigInt(bindings2.hrtime());\n this.refreshMemory();\n let last_sin = sin;\n for (let i = 0;i < nsubscriptions; i += 1) {\n const userdata = this.view.getBigUint64(sin, !0);\n sin += 8;\n const type = this.view.getUint8(sin);\n if (sin += 1, sin += 7, log.enabled) {\n if (type == constants_1.WASI_EVENTTYPE_CLOCK)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_CLOCK): \";\n else if (type == constants_1.WASI_EVENTTYPE_FD_READ)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_READ): \";\n else\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): \";\n log(name);\n }\n switch (type) {\n case constants_1.WASI_EVENTTYPE_CLOCK: {\n const clockid = this.view.getUint32(sin, !0);\n sin += 4, sin += 4;\n const timeout = this.view.getBigUint64(sin, !0);\n sin += 8, sin += 8;\n const subclockflags = this.view.getUint16(sin, !0);\n sin += 2, sin += 6;\n const absolute = subclockflags === 1;\n if (log.enabled)\n log(name, { clockid, timeout, absolute });\n if (!absolute)\n fd_timeout_ms = timeout / BigInt(1e6);\n let e = constants_1.WASI_ESUCCESS;\n const t = now(clockid);\n if (t == null)\n e = constants_1.WASI_EINVAL;\n else {\n const tNS = BigInt(t), waitNs = (absolute \? timeout : tNS + timeout) - tNS;\n if (waitNs > waitTimeNs)\n waitTimeNs = waitNs;\n }\n this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, e, !0), sout += 2, this.view.setUint8(sout, constants_1.WASI_EVENTTYPE_CLOCK), sout += 1, sout += 5, nevents += 1;\n break;\n }\n case constants_1.WASI_EVENTTYPE_FD_READ:\n case constants_1.WASI_EVENTTYPE_FD_WRITE: {\n if (fd = this.view.getUint32(sin, !0), fd_type = type == constants_1.WASI_EVENTTYPE_FD_READ \? \"read\" : \"write\", sin += 4, log(name, \"fd =\", fd), sin += 28, this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, constants_1.WASI_ENOSYS, !0), sout += 2, this.view.setUint8(sout, type), sout += 1, sout += 5, nevents += 1, fd == constants_1.WASI_STDIN_FILENO && constants_1.WASI_EVENTTYPE_FD_READ == type)\n this.shortPause();\n break;\n }\n default:\n return constants_1.WASI_EINVAL;\n }\n if (sin - last_sin != 48)\n console.warn(\"*** BUG in wasi-js in poll_oneoff \", {\n i,\n sin,\n last_sin,\n diff: sin - last_sin\n });\n last_sin = sin;\n }\n if (this.view.setUint32(neventsPtr, nevents, !0), nevents == 2 && fd >= 0) {\n const r = this.wasiImport.sock_pollSocket(fd, fd_type, fd_timeout_ms);\n if (r != constants_1.WASI_ENOSYS)\n return r;\n }\n if (waitTimeNs > 0) {\n if (waitTimeNs -= Bun.nanoseconds() - timeOrigin, waitTimeNs >= 1e6) {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");\n if (this.sleep != null) {\n const ms = nsToMs(waitTimeNs);\n this.sleep(ms);\n } else {\n const end = BigInt(bindings2.hrtime()) + waitTimeNs;\n while (BigInt(bindings2.hrtime()) < end)\n ;\n }\n }\n }\n return constants_1.WASI_ESUCCESS;\n },\n proc_exit: (rval) => {\n return bindings2.exit(rval), constants_1.WASI_ESUCCESS;\n },\n proc_raise: (sig) => {\n if (!(sig in constants_1.SIGNAL_MAP))\n return constants_1.WASI_EINVAL;\n return bindings2.kill(constants_1.SIGNAL_MAP[sig]), constants_1.WASI_ESUCCESS;\n },\n random_get: (bufPtr, bufLen) => {\n return this.refreshMemory(), crypto.getRandomValues(this.memory.buffer, bufPtr, bufLen), bufLen;\n },\n sched_yield() {\n return constants_1.WASI_ESUCCESS;\n },\n sock_recv() {\n return constants_1.WASI_ENOSYS;\n },\n sock_send() {\n return constants_1.WASI_ENOSYS;\n },\n sock_shutdown() {\n return constants_1.WASI_ENOSYS;\n },\n sock_fcntlSetFlags(_fd, _flags) {\n return constants_1.WASI_ENOSYS;\n },\n sock_pollSocket(_fd, _eventtype, _timeout_ms) {\n return constants_1.WASI_ENOSYS;\n }\n }, log.enabled)\n Object.keys(this.wasiImport).forEach((key) => {\n const prevImport = this.wasiImport[key];\n this.wasiImport[key] = function(...args2) {\n log(key, args2);\n try {\n let result = prevImport(...args2);\n return log(\"result\", result), result;\n } catch (e) {\n throw log(\"error: \", e), e;\n }\n };\n });\n }\n getState() {\n return { env: this.env, FD_MAP: this.FD_MAP, bindings };\n }\n setState(state) {\n this.env = state.env, this.FD_MAP = state.FD_MAP, bindings = state.bindings;\n }\n fstatSync(real_fd) {\n if (real_fd <= 2)\n try {\n return fs.fstatSync(real_fd);\n } catch (_) {\n const now = new Date;\n return {\n dev: 0,\n mode: 8592,\n nlink: 1,\n uid: 0,\n gid: 0,\n rdev: 0,\n blksize: 65536,\n ino: 0,\n size: 0,\n blocks: 0,\n atimeMs: now.valueOf(),\n mtimeMs: now.valueOf(),\n ctimeMs: now.valueOf(),\n birthtimeMs: 0,\n atime: new Date,\n mtime: new Date,\n ctime: new Date,\n birthtime: new Date(0)\n };\n }\n return fs.fstatSync(real_fd);\n }\n shortPause() {\n if (this.sleep == null)\n return;\n if ((new Date()).valueOf() - this.lastStdin > 2000)\n this.sleep(50);\n }\n getUnusedFileDescriptor(start = 3) {\n let fd = start;\n while (this.FD_MAP.has(fd))\n fd += 1;\n if (fd > SC_OPEN_MAX)\n throw Error(\"no available file descriptors\");\n return fd;\n }\n refreshMemory() {\n if (!this.view || this.view.buffer.byteLength === 0)\n this.view = new DataView(this.memory.buffer);\n }\n setMemory(memory) {\n this.memory = memory;\n }\n start(instance, memory) {\n const exports2 = instance.exports;\n if (exports2 === null || typeof exports2 !== \"object\")\n throw new Error(`instance.exports must be an Object. Received ${exports2}.`);\n if (memory == null) {\n if (memory = exports2.memory, !(memory instanceof WebAssembly.Memory))\n throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`);\n }\n if (this.setMemory(memory), exports2._start)\n exports2._start();\n }\n getImports(module2) {\n let namespace = null;\n const imports = WebAssembly.Module.imports(module2);\n for (let imp of imports) {\n if (imp.kind !== \"function\")\n continue;\n if (!imp.module.startsWith(\"wasi_\"))\n continue;\n namespace = imp.module;\n break;\n }\n switch (namespace) {\n case \"wasi_unstable\":\n return {\n wasi_unstable: this.wasiImport\n };\n case \"wasi_snapshot_preview1\":\n return {\n wasi_snapshot_preview1: this.wasiImport\n };\n default:\n throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\" + imports.map(({ name, kind, module }) => `${module}:${name} (${kind})`).join(\"\\n\") + \"\\n\");\n }\n }\n initWasiFdInfo() {\n if (this.env.WASI_FD_INFO != null) {\n const fdInfo = JSON.parse(this.env.WASI_FD_INFO);\n for (let wasi_fd in fdInfo) {\n console.log(wasi_fd);\n const fd = parseInt(wasi_fd);\n if (this.FD_MAP.has(fd))\n continue;\n const real = fdInfo[wasi_fd];\n try {\n this.fstatSync(real);\n } catch (_err) {\n console.log(\"discarding \", { wasi_fd, real });\n continue;\n }\n const file = {\n real,\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n }\n };\n this.FD_MAP.set(fd, file);\n }\n console.log(\"after initWasiFdInfo: \", this.FD_MAP), console.log(\"fdInfo = \", fdInfo);\n } else\n console.log(\"no WASI_FD_INFO\");\n }\n };\n exports.default = WASI;\n }\n});\nreturn { WASI: require_wasi().default }})\n"); +static constexpr ASCIILiteral NodeWasiCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/wasi.ts\nvar nodeFsConstants = @processBindingConstants.fs, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_types = __commonJS({\n \"node_modules/wasi-js/dist/types.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASIKillError = exports.WASIExitError = exports.WASIError = void 0;\n var WASIError = class extends Error {\n constructor(errno) {\n super();\n this.errno = errno, Object.setPrototypeOf(this, WASIError.prototype);\n }\n };\n exports.WASIError = WASIError;\n var WASIExitError = class extends Error {\n constructor(code) {\n super(`WASI Exit error: ${code}`);\n this.code = code, Object.setPrototypeOf(this, WASIExitError.prototype);\n }\n };\n exports.WASIExitError = WASIExitError;\n var WASIKillError = class extends Error {\n constructor(signal) {\n super(`WASI Kill signal: ${signal}`);\n this.signal = signal, Object.setPrototypeOf(this, WASIKillError.prototype);\n }\n };\n exports.WASIKillError = WASIKillError;\n }\n}), require_constants = __commonJS({\n \"node_modules/wasi-js/dist/constants.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASI_ENOMSG = exports.WASI_ENOMEM = exports.WASI_ENOLINK = exports.WASI_ENOLCK = exports.WASI_ENOEXEC = exports.WASI_ENOENT = exports.WASI_ENODEV = exports.WASI_ENOBUFS = exports.WASI_ENFILE = exports.WASI_ENETUNREACH = exports.WASI_ENETRESET = exports.WASI_ENETDOWN = exports.WASI_ENAMETOOLONG = exports.WASI_EMULTIHOP = exports.WASI_EMSGSIZE = exports.WASI_EMLINK = exports.WASI_EMFILE = exports.WASI_ELOOP = exports.WASI_EISDIR = exports.WASI_EISCONN = exports.WASI_EIO = exports.WASI_EINVAL = exports.WASI_EINTR = exports.WASI_EINPROGRESS = exports.WASI_EILSEQ = exports.WASI_EIDRM = exports.WASI_EHOSTUNREACH = exports.WASI_EFBIG = exports.WASI_EFAULT = exports.WASI_EEXIST = exports.WASI_EDQUOT = exports.WASI_EDOM = exports.WASI_EDESTADDRREQ = exports.WASI_EDEADLK = exports.WASI_ECONNRESET = exports.WASI_ECONNREFUSED = exports.WASI_ECONNABORTED = exports.WASI_ECHILD = exports.WASI_ECANCELED = exports.WASI_EBUSY = exports.WASI_EBADMSG = exports.WASI_EBADF = exports.WASI_EALREADY = exports.WASI_EAGAIN = exports.WASI_EAFNOSUPPORT = exports.WASI_EADDRNOTAVAIL = exports.WASI_EADDRINUSE = exports.WASI_EACCES = exports.WASI_E2BIG = exports.WASI_ESUCCESS = void 0, exports.WASI_SIGVTALRM = exports.WASI_SIGUSR2 = exports.WASI_SIGUSR1 = exports.WASI_SIGURG = exports.WASI_SIGTTOU = exports.WASI_SIGTTIN = exports.WASI_SIGTSTP = exports.WASI_SIGTRAP = exports.WASI_SIGTERM = exports.WASI_SIGSTOP = exports.WASI_SIGSEGV = exports.WASI_SIGQUIT = exports.WASI_SIGPIPE = exports.WASI_SIGKILL = exports.WASI_SIGINT = exports.WASI_SIGILL = exports.WASI_SIGHUP = exports.WASI_SIGFPE = exports.WASI_SIGCONT = exports.WASI_SIGCHLD = exports.WASI_SIGBUS = exports.WASI_SIGALRM = exports.WASI_SIGABRT = exports.WASI_ENOTCAPABLE = exports.WASI_EXDEV = exports.WASI_ETXTBSY = exports.WASI_ETIMEDOUT = exports.WASI_ESTALE = exports.WASI_ESRCH = exports.WASI_ESPIPE = exports.WASI_EROFS = exports.WASI_ERANGE = exports.WASI_EPROTOTYPE = exports.WASI_EPROTONOSUPPORT = exports.WASI_EPROTO = exports.WASI_EPIPE = exports.WASI_EPERM = exports.WASI_EOWNERDEAD = exports.WASI_EOVERFLOW = exports.WASI_ENXIO = exports.WASI_ENOTTY = exports.WASI_ENOTSUP = exports.WASI_ENOTSOCK = exports.WASI_ENOTRECOVERABLE = exports.WASI_ENOTEMPTY = exports.WASI_ENOTDIR = exports.WASI_ENOTCONN = exports.WASI_ENOSYS = exports.WASI_ENOSPC = exports.WASI_ENOPROTOOPT = void 0, exports.RIGHTS_REGULAR_FILE_BASE = exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL = exports.WASI_RIGHT_SOCK_SHUTDOWN = exports.WASI_RIGHT_POLL_FD_READWRITE = exports.WASI_RIGHT_PATH_UNLINK_FILE = exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = exports.WASI_RIGHT_PATH_SYMLINK = exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = exports.WASI_RIGHT_FD_FILESTAT_GET = exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = exports.WASI_RIGHT_PATH_FILESTAT_GET = exports.WASI_RIGHT_PATH_RENAME_TARGET = exports.WASI_RIGHT_PATH_RENAME_SOURCE = exports.WASI_RIGHT_PATH_READLINK = exports.WASI_RIGHT_FD_READDIR = exports.WASI_RIGHT_PATH_OPEN = exports.WASI_RIGHT_PATH_LINK_TARGET = exports.WASI_RIGHT_PATH_LINK_SOURCE = exports.WASI_RIGHT_PATH_CREATE_FILE = exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = exports.WASI_RIGHT_FD_ALLOCATE = exports.WASI_RIGHT_FD_ADVISE = exports.WASI_RIGHT_FD_WRITE = exports.WASI_RIGHT_FD_TELL = exports.WASI_RIGHT_FD_SYNC = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = exports.WASI_RIGHT_FD_SEEK = exports.WASI_RIGHT_FD_READ = exports.WASI_RIGHT_FD_DATASYNC = exports.WASI_FDFLAG_SYNC = exports.WASI_FDFLAG_RSYNC = exports.WASI_FDFLAG_NONBLOCK = exports.WASI_FDFLAG_DSYNC = exports.WASI_FDFLAG_APPEND = exports.WASI_FILETYPE_SYMBOLIC_LINK = exports.WASI_FILETYPE_SOCKET_STREAM = exports.WASI_FILETYPE_SOCKET_DGRAM = exports.WASI_FILETYPE_REGULAR_FILE = exports.WASI_FILETYPE_DIRECTORY = exports.WASI_FILETYPE_CHARACTER_DEVICE = exports.WASI_FILETYPE_BLOCK_DEVICE = exports.WASI_FILETYPE_UNKNOWN = exports.WASI_SIGXFSZ = exports.WASI_SIGXCPU = void 0, exports.SIGNAL_MAP = exports.ERROR_MAP = exports.WASI_WHENCE_END = exports.WASI_WHENCE_CUR = exports.WASI_WHENCE_SET = exports.WASI_STDERR_FILENO = exports.WASI_STDOUT_FILENO = exports.WASI_STDIN_FILENO = exports.WASI_DIRCOOKIE_START = exports.WASI_PREOPENTYPE_DIR = exports.WASI_O_TRUNC = exports.WASI_O_EXCL = exports.WASI_O_DIRECTORY = exports.WASI_O_CREAT = exports.WASI_FILESTAT_SET_MTIM_NOW = exports.WASI_FILESTAT_SET_MTIM = exports.WASI_FILESTAT_SET_ATIM_NOW = exports.WASI_FILESTAT_SET_ATIM = exports.WASI_EVENTTYPE_FD_WRITE = exports.WASI_EVENTTYPE_FD_READ = exports.WASI_EVENTTYPE_CLOCK = exports.WASI_CLOCK_THREAD_CPUTIME_ID = exports.WASI_CLOCK_PROCESS_CPUTIME_ID = exports.WASI_CLOCK_MONOTONIC = exports.WASI_CLOCK_REALTIME = exports.RIGHTS_TTY_INHERITING = exports.RIGHTS_TTY_BASE = exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_SOCKET_BASE = exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE = exports.RIGHTS_REGULAR_FILE_INHERITING = void 0, exports.WASI_ESUCCESS = 0, exports.WASI_E2BIG = 1, exports.WASI_EACCES = 2, exports.WASI_EADDRINUSE = 3, exports.WASI_EADDRNOTAVAIL = 4, exports.WASI_EAFNOSUPPORT = 5, exports.WASI_EAGAIN = 6, exports.WASI_EALREADY = 7, exports.WASI_EBADF = 8, exports.WASI_EBADMSG = 9, exports.WASI_EBUSY = 10, exports.WASI_ECANCELED = 11, exports.WASI_ECHILD = 12, exports.WASI_ECONNABORTED = 13, exports.WASI_ECONNREFUSED = 14, exports.WASI_ECONNRESET = 15, exports.WASI_EDEADLK = 16, exports.WASI_EDESTADDRREQ = 17, exports.WASI_EDOM = 18, exports.WASI_EDQUOT = 19, exports.WASI_EEXIST = 20, exports.WASI_EFAULT = 21, exports.WASI_EFBIG = 22, exports.WASI_EHOSTUNREACH = 23, exports.WASI_EIDRM = 24, exports.WASI_EILSEQ = 25, exports.WASI_EINPROGRESS = 26, exports.WASI_EINTR = 27, exports.WASI_EINVAL = 28, exports.WASI_EIO = 29, exports.WASI_EISCONN = 30, exports.WASI_EISDIR = 31, exports.WASI_ELOOP = 32, exports.WASI_EMFILE = 33, exports.WASI_EMLINK = 34, exports.WASI_EMSGSIZE = 35, exports.WASI_EMULTIHOP = 36, exports.WASI_ENAMETOOLONG = 37, exports.WASI_ENETDOWN = 38, exports.WASI_ENETRESET = 39, exports.WASI_ENETUNREACH = 40, exports.WASI_ENFILE = 41, exports.WASI_ENOBUFS = 42, exports.WASI_ENODEV = 43, exports.WASI_ENOENT = 44, exports.WASI_ENOEXEC = 45, exports.WASI_ENOLCK = 46, exports.WASI_ENOLINK = 47, exports.WASI_ENOMEM = 48, exports.WASI_ENOMSG = 49, exports.WASI_ENOPROTOOPT = 50, exports.WASI_ENOSPC = 51, exports.WASI_ENOSYS = 52, exports.WASI_ENOTCONN = 53, exports.WASI_ENOTDIR = 54, exports.WASI_ENOTEMPTY = 55, exports.WASI_ENOTRECOVERABLE = 56, exports.WASI_ENOTSOCK = 57, exports.WASI_ENOTSUP = 58, exports.WASI_ENOTTY = 59, exports.WASI_ENXIO = 60, exports.WASI_EOVERFLOW = 61, exports.WASI_EOWNERDEAD = 62, exports.WASI_EPERM = 63, exports.WASI_EPIPE = 64, exports.WASI_EPROTO = 65, exports.WASI_EPROTONOSUPPORT = 66, exports.WASI_EPROTOTYPE = 67, exports.WASI_ERANGE = 68, exports.WASI_EROFS = 69, exports.WASI_ESPIPE = 70, exports.WASI_ESRCH = 71, exports.WASI_ESTALE = 72, exports.WASI_ETIMEDOUT = 73, exports.WASI_ETXTBSY = 74, exports.WASI_EXDEV = 75, exports.WASI_ENOTCAPABLE = 76, exports.WASI_SIGABRT = 0, exports.WASI_SIGALRM = 1, exports.WASI_SIGBUS = 2, exports.WASI_SIGCHLD = 3, exports.WASI_SIGCONT = 4, exports.WASI_SIGFPE = 5, exports.WASI_SIGHUP = 6, exports.WASI_SIGILL = 7, exports.WASI_SIGINT = 8, exports.WASI_SIGKILL = 9, exports.WASI_SIGPIPE = 10, exports.WASI_SIGQUIT = 11, exports.WASI_SIGSEGV = 12, exports.WASI_SIGSTOP = 13, exports.WASI_SIGTERM = 14, exports.WASI_SIGTRAP = 15, exports.WASI_SIGTSTP = 16, exports.WASI_SIGTTIN = 17, exports.WASI_SIGTTOU = 18, exports.WASI_SIGURG = 19, exports.WASI_SIGUSR1 = 20, exports.WASI_SIGUSR2 = 21, exports.WASI_SIGVTALRM = 22, exports.WASI_SIGXCPU = 23, exports.WASI_SIGXFSZ = 24, exports.WASI_FILETYPE_UNKNOWN = 0, exports.WASI_FILETYPE_BLOCK_DEVICE = 1, exports.WASI_FILETYPE_CHARACTER_DEVICE = 2, exports.WASI_FILETYPE_DIRECTORY = 3, exports.WASI_FILETYPE_REGULAR_FILE = 4, exports.WASI_FILETYPE_SOCKET_DGRAM = 5, exports.WASI_FILETYPE_SOCKET_STREAM = 6, exports.WASI_FILETYPE_SYMBOLIC_LINK = 7, exports.WASI_FDFLAG_APPEND = 1, exports.WASI_FDFLAG_DSYNC = 2, exports.WASI_FDFLAG_NONBLOCK = 4, exports.WASI_FDFLAG_RSYNC = 8, exports.WASI_FDFLAG_SYNC = 16, exports.WASI_RIGHT_FD_DATASYNC = BigInt(1), exports.WASI_RIGHT_FD_READ = BigInt(2), exports.WASI_RIGHT_FD_SEEK = BigInt(4), exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = BigInt(8), exports.WASI_RIGHT_FD_SYNC = BigInt(16), exports.WASI_RIGHT_FD_TELL = BigInt(32), exports.WASI_RIGHT_FD_WRITE = BigInt(64), exports.WASI_RIGHT_FD_ADVISE = BigInt(128), exports.WASI_RIGHT_FD_ALLOCATE = BigInt(256), exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = BigInt(512), exports.WASI_RIGHT_PATH_CREATE_FILE = BigInt(1024), exports.WASI_RIGHT_PATH_LINK_SOURCE = BigInt(2048), exports.WASI_RIGHT_PATH_LINK_TARGET = BigInt(4096), exports.WASI_RIGHT_PATH_OPEN = BigInt(8192), exports.WASI_RIGHT_FD_READDIR = BigInt(16384), exports.WASI_RIGHT_PATH_READLINK = BigInt(32768), exports.WASI_RIGHT_PATH_RENAME_SOURCE = BigInt(65536), exports.WASI_RIGHT_PATH_RENAME_TARGET = BigInt(131072), exports.WASI_RIGHT_PATH_FILESTAT_GET = BigInt(262144), exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = BigInt(524288), exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = BigInt(1048576), exports.WASI_RIGHT_FD_FILESTAT_GET = BigInt(2097152), exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = BigInt(4194304), exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = BigInt(8388608), exports.WASI_RIGHT_PATH_SYMLINK = BigInt(16777216), exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = BigInt(33554432), exports.WASI_RIGHT_PATH_UNLINK_FILE = BigInt(67108864), exports.WASI_RIGHT_POLL_FD_READWRITE = BigInt(134217728), exports.WASI_RIGHT_SOCK_SHUTDOWN = BigInt(268435456), exports.RIGHTS_ALL = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_REGULAR_FILE_BASE = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_REGULAR_FILE_INHERITING = BigInt(0), exports.RIGHTS_DIRECTORY_BASE = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE | exports.RIGHTS_REGULAR_FILE_BASE, exports.RIGHTS_SOCKET_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_TTY_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_TTY_INHERITING = BigInt(0), exports.WASI_CLOCK_REALTIME = 0, exports.WASI_CLOCK_MONOTONIC = 1, exports.WASI_CLOCK_PROCESS_CPUTIME_ID = 2, exports.WASI_CLOCK_THREAD_CPUTIME_ID = 3, exports.WASI_EVENTTYPE_CLOCK = 0, exports.WASI_EVENTTYPE_FD_READ = 1, exports.WASI_EVENTTYPE_FD_WRITE = 2, exports.WASI_FILESTAT_SET_ATIM = 1 << 0, exports.WASI_FILESTAT_SET_ATIM_NOW = 1 << 1, exports.WASI_FILESTAT_SET_MTIM = 1 << 2, exports.WASI_FILESTAT_SET_MTIM_NOW = 1 << 3, exports.WASI_O_CREAT = 1 << 0, exports.WASI_O_DIRECTORY = 1 << 1, exports.WASI_O_EXCL = 1 << 2, exports.WASI_O_TRUNC = 1 << 3, exports.WASI_PREOPENTYPE_DIR = 0, exports.WASI_DIRCOOKIE_START = 0, exports.WASI_STDIN_FILENO = 0, exports.WASI_STDOUT_FILENO = 1, exports.WASI_STDERR_FILENO = 2, exports.WASI_WHENCE_SET = 0, exports.WASI_WHENCE_CUR = 1, exports.WASI_WHENCE_END = 2, exports.ERROR_MAP = {\n E2BIG: exports.WASI_E2BIG,\n EACCES: exports.WASI_EACCES,\n EADDRINUSE: exports.WASI_EADDRINUSE,\n EADDRNOTAVAIL: exports.WASI_EADDRNOTAVAIL,\n EAFNOSUPPORT: exports.WASI_EAFNOSUPPORT,\n EALREADY: exports.WASI_EALREADY,\n EAGAIN: exports.WASI_EAGAIN,\n EBADF: exports.WASI_EBADF,\n EBADMSG: exports.WASI_EBADMSG,\n EBUSY: exports.WASI_EBUSY,\n ECANCELED: exports.WASI_ECANCELED,\n ECHILD: exports.WASI_ECHILD,\n ECONNABORTED: exports.WASI_ECONNABORTED,\n ECONNREFUSED: exports.WASI_ECONNREFUSED,\n ECONNRESET: exports.WASI_ECONNRESET,\n EDEADLOCK: exports.WASI_EDEADLK,\n EDESTADDRREQ: exports.WASI_EDESTADDRREQ,\n EDOM: exports.WASI_EDOM,\n EDQUOT: exports.WASI_EDQUOT,\n EEXIST: exports.WASI_EEXIST,\n EFAULT: exports.WASI_EFAULT,\n EFBIG: exports.WASI_EFBIG,\n EHOSTDOWN: exports.WASI_EHOSTUNREACH,\n EHOSTUNREACH: exports.WASI_EHOSTUNREACH,\n EIDRM: exports.WASI_EIDRM,\n EILSEQ: exports.WASI_EILSEQ,\n EINPROGRESS: exports.WASI_EINPROGRESS,\n EINTR: exports.WASI_EINTR,\n EINVAL: exports.WASI_EINVAL,\n EIO: exports.WASI_EIO,\n EISCONN: exports.WASI_EISCONN,\n EISDIR: exports.WASI_EISDIR,\n ELOOP: exports.WASI_ELOOP,\n EMFILE: exports.WASI_EMFILE,\n EMLINK: exports.WASI_EMLINK,\n EMSGSIZE: exports.WASI_EMSGSIZE,\n EMULTIHOP: exports.WASI_EMULTIHOP,\n ENAMETOOLONG: exports.WASI_ENAMETOOLONG,\n ENETDOWN: exports.WASI_ENETDOWN,\n ENETRESET: exports.WASI_ENETRESET,\n ENETUNREACH: exports.WASI_ENETUNREACH,\n ENFILE: exports.WASI_ENFILE,\n ENOBUFS: exports.WASI_ENOBUFS,\n ENODEV: exports.WASI_ENODEV,\n ENOENT: exports.WASI_ENOENT,\n ENOEXEC: exports.WASI_ENOEXEC,\n ENOLCK: exports.WASI_ENOLCK,\n ENOLINK: exports.WASI_ENOLINK,\n ENOMEM: exports.WASI_ENOMEM,\n ENOMSG: exports.WASI_ENOMSG,\n ENOPROTOOPT: exports.WASI_ENOPROTOOPT,\n ENOSPC: exports.WASI_ENOSPC,\n ENOSYS: exports.WASI_ENOSYS,\n ENOTCONN: exports.WASI_ENOTCONN,\n ENOTDIR: exports.WASI_ENOTDIR,\n ENOTEMPTY: exports.WASI_ENOTEMPTY,\n ENOTRECOVERABLE: exports.WASI_ENOTRECOVERABLE,\n ENOTSOCK: exports.WASI_ENOTSOCK,\n ENOTTY: exports.WASI_ENOTTY,\n ENXIO: exports.WASI_ENXIO,\n EOVERFLOW: exports.WASI_EOVERFLOW,\n EOWNERDEAD: exports.WASI_EOWNERDEAD,\n EPERM: exports.WASI_EPERM,\n EPIPE: exports.WASI_EPIPE,\n EPROTO: exports.WASI_EPROTO,\n EPROTONOSUPPORT: exports.WASI_EPROTONOSUPPORT,\n EPROTOTYPE: exports.WASI_EPROTOTYPE,\n ERANGE: exports.WASI_ERANGE,\n EROFS: exports.WASI_EROFS,\n ESPIPE: exports.WASI_ESPIPE,\n ESRCH: exports.WASI_ESRCH,\n ESTALE: exports.WASI_ESTALE,\n ETIMEDOUT: exports.WASI_ETIMEDOUT,\n ETXTBSY: exports.WASI_ETXTBSY,\n EXDEV: exports.WASI_EXDEV\n }, exports.SIGNAL_MAP = {\n [exports.WASI_SIGHUP]: \"SIGHUP\",\n [exports.WASI_SIGINT]: \"SIGINT\",\n [exports.WASI_SIGQUIT]: \"SIGQUIT\",\n [exports.WASI_SIGILL]: \"SIGILL\",\n [exports.WASI_SIGTRAP]: \"SIGTRAP\",\n [exports.WASI_SIGABRT]: \"SIGABRT\",\n [exports.WASI_SIGBUS]: \"SIGBUS\",\n [exports.WASI_SIGFPE]: \"SIGFPE\",\n [exports.WASI_SIGKILL]: \"SIGKILL\",\n [exports.WASI_SIGUSR1]: \"SIGUSR1\",\n [exports.WASI_SIGSEGV]: \"SIGSEGV\",\n [exports.WASI_SIGUSR2]: \"SIGUSR2\",\n [exports.WASI_SIGPIPE]: \"SIGPIPE\",\n [exports.WASI_SIGALRM]: \"SIGALRM\",\n [exports.WASI_SIGTERM]: \"SIGTERM\",\n [exports.WASI_SIGCHLD]: \"SIGCHLD\",\n [exports.WASI_SIGCONT]: \"SIGCONT\",\n [exports.WASI_SIGSTOP]: \"SIGSTOP\",\n [exports.WASI_SIGTSTP]: \"SIGTSTP\",\n [exports.WASI_SIGTTIN]: \"SIGTTIN\",\n [exports.WASI_SIGTTOU]: \"SIGTTOU\",\n [exports.WASI_SIGURG]: \"SIGURG\",\n [exports.WASI_SIGXCPU]: \"SIGXCPU\",\n [exports.WASI_SIGXFSZ]: \"SIGXFSZ\",\n [exports.WASI_SIGVTALRM]: \"SIGVTALRM\"\n };\n }\n}), require_wasi = __commonJS({\n \"node_modules/wasi-js/dist/wasi.js\"(exports) {\n var __importDefault = exports && exports.__importDefault || function(mod) {\n return mod && mod.__esModule \? mod : { default: mod };\n };\n let fs;\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.SOCKET_DEFAULT_RIGHTS = void 0;\n var log = () => {\n }, logOpen = () => {\n }, SC_OPEN_MAX = 32768, types_1 = require_types(), constants_1 = require_constants(), STDIN_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDOUT_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDERR_DEFAULT_RIGHTS = STDOUT_DEFAULT_RIGHTS;\n exports.SOCKET_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE | constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;\n var msToNs = (ms) => {\n const msInt = Math.trunc(ms), decimal = BigInt(Math.round((ms - msInt) * 1e6));\n return BigInt(msInt) * BigInt(1e6) + decimal;\n }, nsToMs = (ns) => {\n if (typeof ns === \"number\")\n ns = Math.trunc(ns);\n const nsInt = BigInt(ns);\n return Number(nsInt / BigInt(1e6));\n }, wrap = (f) => (...args) => {\n try {\n return f(...args);\n } catch (err) {\n let e = err;\n while (e.prev != null)\n e = e.prev;\n if (e\?.code && typeof e\?.code === \"string\")\n return constants_1.ERROR_MAP[e.code] || constants_1.WASI_EINVAL;\n if (e instanceof types_1.WASIError)\n return e.errno;\n throw e;\n }\n }, stat = (wasi, fd) => {\n const entry = wasi.FD_MAP.get(fd);\n if (!entry)\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n if (entry.filetype === void 0) {\n const stats = wasi.fstatSync(entry.real), { filetype, rightsBase, rightsInheriting } = translateFileAttributes(wasi, fd, stats);\n if (entry.filetype = filetype, !entry.rights)\n entry.rights = {\n base: rightsBase,\n inheriting: rightsInheriting\n };\n }\n return entry;\n }, translateFileAttributes = (wasi, fd, stats) => {\n switch (!0) {\n case stats.isBlockDevice():\n return {\n filetype: constants_1.WASI_FILETYPE_BLOCK_DEVICE,\n rightsBase: constants_1.RIGHTS_BLOCK_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_BLOCK_DEVICE_INHERITING\n };\n case stats.isCharacterDevice(): {\n const filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n if (fd !== void 0 && wasi.bindings.isTTY(fd))\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_TTY_BASE,\n rightsInheriting: constants_1.RIGHTS_TTY_INHERITING\n };\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_CHARACTER_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING\n };\n }\n case stats.isDirectory():\n return {\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rightsBase: constants_1.RIGHTS_DIRECTORY_BASE,\n rightsInheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n };\n case stats.isFIFO():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isFile():\n return {\n filetype: constants_1.WASI_FILETYPE_REGULAR_FILE,\n rightsBase: constants_1.RIGHTS_REGULAR_FILE_BASE,\n rightsInheriting: constants_1.RIGHTS_REGULAR_FILE_INHERITING\n };\n case stats.isSocket():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isSymbolicLink():\n return {\n filetype: constants_1.WASI_FILETYPE_SYMBOLIC_LINK,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n default:\n return {\n filetype: constants_1.WASI_FILETYPE_UNKNOWN,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n }\n }, warnedAboutSleep = !1, defaultConfig;\n function getDefaults() {\n if (defaultConfig)\n return defaultConfig;\n const defaultBindings = {\n hrtime: () => process.hrtime.bigint(),\n exit: (code) => {\n process.exit(code);\n },\n kill: (signal) => {\n process.kill(process.pid, signal);\n },\n randomFillSync: (array) => crypto.getRandomValues(array),\n isTTY: (fd) => (@getInternalField(@internalModuleRegistry, 46) || @createInternalModuleById(46)).isatty(fd),\n fs: Bun.fs(),\n path: @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)\n };\n return defaultConfig = {\n args: [],\n env: {},\n preopens: {},\n bindings: defaultBindings,\n sleep: (ms) => {\n Bun.sleepSync(ms);\n }\n };\n }\n var WASI = class WASI2 {\n constructor(wasiConfig = {}) {\n const defaultConfig2 = getDefaults();\n this.lastStdin = 0, this.sleep = wasiConfig.sleep || defaultConfig2.sleep, this.getStdin = wasiConfig.getStdin, this.sendStdout = wasiConfig.sendStdout, this.sendStderr = wasiConfig.sendStderr;\n let preopens = wasiConfig.preopens \?\? defaultConfig2.preopens;\n this.env = wasiConfig.env \?\? defaultConfig2.env;\n const args = wasiConfig.args \?\? defaultConfig2.args;\n this.memory = void 0, this.view = void 0, this.bindings = wasiConfig.bindings || defaultConfig2.bindings;\n const bindings2 = this.bindings;\n fs = bindings2.fs, this.FD_MAP = new Map([\n [\n constants_1.WASI_STDIN_FILENO,\n {\n real: 0,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdin\"\n }\n ],\n [\n constants_1.WASI_STDOUT_FILENO,\n {\n real: 1,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDOUT_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdout\"\n }\n ],\n [\n constants_1.WASI_STDERR_FILENO,\n {\n real: 2,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDERR_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stderr\"\n }\n ]\n ]);\n const path = bindings2.path;\n for (let [k, v] of Object.entries(preopens)) {\n const real = fs.openSync(v, nodeFsConstants.O_RDONLY), newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real,\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rights: {\n base: constants_1.RIGHTS_DIRECTORY_BASE,\n inheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n },\n fakePath: k,\n path: v\n });\n }\n const getiovs = (iovs, iovsLen) => {\n this.refreshMemory();\n const { view, memory } = this, { buffer } = memory, { byteLength } = buffer;\n if (iovsLen === 1) {\n const ptr = iovs, buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n return [new @Uint8Array(buffer, buf, bufLen)];\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n const buffers = [];\n buffers.length = iovsLen;\n for (let i = 0, ptr = iovs;i < iovsLen; i++, ptr += 8) {\n const buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n buffers[i] = new @Uint8Array(buffer, buf, bufLen);\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n return buffers;\n }, CHECK_FD = (fd, rights) => {\n const stats = stat(this, fd);\n if (rights !== BigInt(0) && (stats.rights.base & rights) === BigInt(0))\n throw new types_1.WASIError(constants_1.WASI_EPERM);\n return stats;\n }, CPUTIME_START = Bun.nanoseconds(), timeOrigin = Math.trunc(performance.timeOrigin * 1e6), now = (clockId) => {\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n return Bun.nanoseconds();\n case constants_1.WASI_CLOCK_REALTIME:\n return Bun.nanoseconds() + timeOrigin;\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:\n return Bun.nanoseconds() - CPUTIME_START;\n default:\n return null;\n }\n };\n if (this.wasiImport = {\n args_get: (argv, argvBuf) => {\n this.refreshMemory();\n let coffset = argv, offset = argvBuf;\n return args.forEach((a) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${a}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n args_sizes_get: (argc, argvBufSize) => {\n this.refreshMemory(), this.view.setUint32(argc, args.length, !0);\n const size = args.reduce((acc, a) => acc + @Buffer.byteLength(a) + 1, 0);\n return this.view.setUint32(argvBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n environ_get: (environ, environBuf) => {\n this.refreshMemory();\n let coffset = environ, offset = environBuf;\n return Object.entries(this.env).forEach(([key, value]) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n environ_sizes_get: (environCount, environBufSize) => {\n this.refreshMemory();\n const envProcessed = Object.entries(this.env).map(([key, value]) => `${key}=${value}\\0`), size = envProcessed.reduce((acc, e) => acc + @Buffer.byteLength(e), 0);\n return this.view.setUint32(environCount, envProcessed.length, !0), this.view.setUint32(environBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n clock_res_get: (clockId, resolution) => {\n let res;\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID: {\n res = BigInt(1);\n break;\n }\n case constants_1.WASI_CLOCK_REALTIME: {\n res = BigInt(1000);\n break;\n }\n }\n if (!res)\n throw Error(\"invalid clockId\");\n return this.view.setBigUint64(resolution, res), constants_1.WASI_ESUCCESS;\n },\n clock_time_get: (clockId, _precision, time) => {\n this.refreshMemory();\n const n = now(clockId);\n if (n === null)\n return constants_1.WASI_EINVAL;\n return this.view.setBigUint64(time, BigInt(n), !0), constants_1.WASI_ESUCCESS;\n },\n fd_advise: wrap((fd, _offset, _len, _advice) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ADVISE), constants_1.WASI_ENOSYS;\n }),\n fd_allocate: wrap((fd, _offset, _len) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ALLOCATE), constants_1.WASI_ENOSYS;\n }),\n fd_close: wrap((fd) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return fs.closeSync(stats.real), this.FD_MAP.delete(fd), constants_1.WASI_ESUCCESS;\n }),\n fd_datasync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_DATASYNC);\n return fs.fdatasyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if (this.refreshMemory(), stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), this.view.setUint16(bufPtr + 2, 0, !0), this.view.setUint16(bufPtr + 4, 0, !0), this.view.setBigUint64(bufPtr + 8, BigInt(stats.rights.base), !0), this.view.setBigUint64(bufPtr + 8 + 8, BigInt(stats.rights.inheriting), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_set_flags: wrap((fd, flags) => {\n if (CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS), this.wasiImport.sock_fcntlSetFlags(fd, flags) == 0)\n return constants_1.WASI_ESUCCESS;\n return constants_1.WASI_ENOSYS;\n }),\n fd_fdstat_set_rights: wrap((fd, fsRightsBase, fsRightsInheriting) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if ((stats.rights.base | fsRightsBase) > stats.rights.base)\n return constants_1.WASI_EPERM;\n if ((stats.rights.inheriting | fsRightsInheriting) > stats.rights.inheriting)\n return constants_1.WASI_EPERM;\n return stats.rights.base = fsRightsBase, stats.rights.inheriting = fsRightsInheriting, constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_GET), rstats = this.fstatSync(stats.real);\n if (this.refreshMemory(), this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.atimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.mtimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.ctimeMs), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_size: wrap((fd, stSize) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);\n return fs.ftruncateSync(stats.real, Number(stSize)), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_times: wrap((fd, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES), rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n return fs.futimesSync(stats.real, new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), this.view.setUint8(bufPtr, constants_1.WASI_PREOPENTYPE_DIR), this.view.setUint32(bufPtr + 4, @Buffer.byteLength(stats.fakePath \?\? stats.path \?\? \"\"), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_dir_name: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), @Buffer.from(this.memory.buffer).write(stats.fakePath \?\? stats.path \?\? \"\", pathPtr, pathLen, \"utf8\"), constants_1.WASI_ESUCCESS;\n }),\n fd_pwrite: wrap((fd, iovs, iovsLen, offset, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SEEK);\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n let w = 0;\n while (w < iov.byteLength)\n w += fs.writeSync(stats.real, iov, w, iov.byteLength - w, Number(offset) + written + w);\n written += w;\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_write: wrap((fd, iovs, iovsLen, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE), IS_STDOUT = fd == constants_1.WASI_STDOUT_FILENO, IS_STDERR = fd == constants_1.WASI_STDERR_FILENO;\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n if (iov.byteLength == 0)\n return;\n if (IS_STDOUT && this.sendStdout != null)\n this.sendStdout(iov), written += iov.byteLength;\n else if (IS_STDERR && this.sendStderr != null)\n this.sendStderr(iov), written += iov.byteLength;\n else {\n let w = 0;\n while (w < iov.byteLength) {\n const i = fs.writeSync(stats.real, iov, w, iov.byteLength - w, stats.offset \? Number(stats.offset) : null);\n if (stats.offset)\n stats.offset += BigInt(i);\n w += i;\n }\n written += w;\n }\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_pread: wrap((fd, iovs, iovsLen, offset, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SEEK);\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n const length = iov.byteLength - r, rr = fs.readSync(stats.real, iov, r, iov.byteLength - r, Number(offset) + read + r);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n read += r;\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_read: wrap((fd, iovs, iovsLen, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ), IS_STDIN = fd == constants_1.WASI_STDIN_FILENO;\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n let length = iov.byteLength - r, position = IS_STDIN || stats.offset === void 0 \? null : Number(stats.offset), rr = 0;\n if (IS_STDIN)\n if (this.getStdin != null) {\n if (this.stdinBuffer == null)\n this.stdinBuffer = this.getStdin();\n if (this.stdinBuffer != null) {\n if (rr = this.stdinBuffer.copy(iov), rr == this.stdinBuffer.length)\n this.stdinBuffer = void 0;\n else\n this.stdinBuffer = this.stdinBuffer.slice(rr);\n if (rr > 0)\n this.lastStdin = (new Date()).valueOf();\n }\n } else {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");\n try {\n rr = fs.readSync(stats.real, iov, r, length, position);\n } catch (_err) {\n }\n if (rr == 0)\n this.shortPause();\n else\n this.lastStdin = (new Date()).valueOf();\n }\n else\n rr = fs.readSync(stats.real, iov, r, length, position);\n if (stats.filetype == constants_1.WASI_FILETYPE_REGULAR_FILE)\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(rr);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_readdir: wrap((fd, bufPtr, bufLen, cookie, bufusedPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READDIR);\n this.refreshMemory();\n const entries = fs.readdirSync(stats.path, { withFileTypes: !0 }), startPtr = bufPtr;\n for (let i = Number(cookie);i < entries.length; i += 1) {\n const entry = entries[i];\n let nameLength = @Buffer.byteLength(entry.name);\n if (bufPtr - startPtr > bufLen)\n break;\n if (this.view.setBigUint64(bufPtr, BigInt(i + 1), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n const rstats = fs.lstatSync(path.resolve(stats.path, entry.name));\n if (this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n if (this.view.setUint32(bufPtr, nameLength, !0), bufPtr += 4, bufPtr - startPtr > bufLen)\n break;\n let filetype;\n switch (!0) {\n case rstats.isBlockDevice():\n filetype = constants_1.WASI_FILETYPE_BLOCK_DEVICE;\n break;\n case rstats.isCharacterDevice():\n filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n break;\n case rstats.isDirectory():\n filetype = constants_1.WASI_FILETYPE_DIRECTORY;\n break;\n case rstats.isFIFO():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isFile():\n filetype = constants_1.WASI_FILETYPE_REGULAR_FILE;\n break;\n case rstats.isSocket():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isSymbolicLink():\n filetype = constants_1.WASI_FILETYPE_SYMBOLIC_LINK;\n break;\n default:\n filetype = constants_1.WASI_FILETYPE_UNKNOWN;\n break;\n }\n if (this.view.setUint8(bufPtr, filetype), bufPtr += 1, bufPtr += 3, bufPtr + nameLength >= startPtr + bufLen)\n break;\n @Buffer.from(this.memory.buffer).write(entry.name, bufPtr), bufPtr += nameLength;\n }\n const bufused = bufPtr - startPtr;\n return this.view.setUint32(bufusedPtr, Math.min(bufused, bufLen), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_renumber: wrap((from, to) => {\n return CHECK_FD(from, BigInt(0)), CHECK_FD(to, BigInt(0)), fs.closeSync(this.FD_MAP.get(from).real), this.FD_MAP.set(from, this.FD_MAP.get(to)), this.FD_MAP.delete(to), constants_1.WASI_ESUCCESS;\n }),\n fd_seek: wrap((fd, offset, whence, newOffsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SEEK);\n switch (this.refreshMemory(), whence) {\n case constants_1.WASI_WHENCE_CUR:\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_END:\n const { size } = this.fstatSync(stats.real);\n stats.offset = BigInt(size) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_SET:\n stats.offset = BigInt(offset);\n break;\n }\n if (stats.offset == null)\n throw Error(\"stats.offset must be defined\");\n return this.view.setBigUint64(newOffsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_tell: wrap((fd, offsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_TELL);\n if (this.refreshMemory(), !stats.offset)\n stats.offset = BigInt(0);\n return this.view.setBigUint64(offsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_sync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SYNC);\n return fs.fsyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n path_create_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.mkdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_get: wrap((fd, flags, pathPtr, pathLen, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_GET);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n let rstats;\n if (flags)\n rstats = fs.statSync(path.resolve(stats.path, p));\n else\n rstats = fs.lstatSync(path.resolve(stats.path, p));\n return this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, this.view.setUint8(bufPtr, translateFileAttributes(this, void 0, rstats).filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.atime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.mtime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ctime.getTime() * 1e6), !0), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_set_times: wrap((fd, _dirflags, pathPtr, pathLen, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.utimesSync(path.resolve(stats.path, p), new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n path_link: wrap((oldFd, _oldFlags, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_LINK_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_LINK_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.linkSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_open: wrap((dirfd, _dirflags, pathPtr, pathLen, oflags, fsRightsBase, fsRightsInheriting, fsFlags, fdPtr) => {\n try {\n const stats = CHECK_FD(dirfd, constants_1.WASI_RIGHT_PATH_OPEN);\n fsRightsBase = BigInt(fsRightsBase), fsRightsInheriting = BigInt(fsRightsInheriting);\n const read = (fsRightsBase & (constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_READDIR)) !== BigInt(0), write = (fsRightsBase & (constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ALLOCATE | constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE)) !== BigInt(0);\n let noflags;\n if (write && read)\n noflags = nodeFsConstants.O_RDWR;\n else if (read)\n noflags = nodeFsConstants.O_RDONLY;\n else if (write)\n noflags = nodeFsConstants.O_WRONLY;\n let neededBase = fsRightsBase | constants_1.WASI_RIGHT_PATH_OPEN, neededInheriting = fsRightsBase | fsRightsInheriting;\n if ((oflags & constants_1.WASI_O_CREAT) !== 0)\n noflags |= nodeFsConstants.O_CREAT, neededBase |= constants_1.WASI_RIGHT_PATH_CREATE_FILE;\n if ((oflags & constants_1.WASI_O_DIRECTORY) !== 0)\n noflags |= nodeFsConstants.O_DIRECTORY;\n if ((oflags & constants_1.WASI_O_EXCL) !== 0)\n noflags |= nodeFsConstants.O_EXCL;\n if ((oflags & constants_1.WASI_O_TRUNC) !== 0)\n noflags |= nodeFsConstants.O_TRUNC, neededBase |= constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;\n if ((fsFlags & constants_1.WASI_FDFLAG_APPEND) !== 0)\n noflags |= nodeFsConstants.O_APPEND;\n if ((fsFlags & constants_1.WASI_FDFLAG_DSYNC) !== 0) {\n if (nodeFsConstants.O_DSYNC)\n noflags |= nodeFsConstants.O_DSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_DATASYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_NONBLOCK) !== 0)\n noflags |= nodeFsConstants.O_NONBLOCK;\n if ((fsFlags & constants_1.WASI_FDFLAG_RSYNC) !== 0) {\n if (nodeFsConstants.O_RSYNC)\n noflags |= nodeFsConstants.O_RSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_SYNC) !== 0)\n noflags |= nodeFsConstants.O_SYNC, neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n if (write && (noflags & (nodeFsConstants.O_APPEND | nodeFsConstants.O_TRUNC)) === 0)\n neededInheriting |= constants_1.WASI_RIGHT_FD_SEEK;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n if (p == \"dev/tty\")\n return this.view.setUint32(fdPtr, constants_1.WASI_STDIN_FILENO, !0), constants_1.WASI_ESUCCESS;\n if (logOpen(\"path_open\", p), p.startsWith(\"proc/\"))\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n const fullUnresolved = path.resolve(p);\n let full;\n try {\n full = fs.realpathSync(fullUnresolved);\n } catch (e) {\n if (e\?.code === \"ENOENT\")\n full = fullUnresolved;\n else\n throw e;\n }\n let isDirectory;\n if (write)\n try {\n isDirectory = fs.statSync(full).isDirectory();\n } catch (_err) {\n }\n let realfd;\n if (!write && isDirectory)\n realfd = fs.openSync(full, nodeFsConstants.O_RDONLY);\n else\n realfd = fs.openSync(full, noflags);\n const newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real: realfd,\n filetype: void 0,\n rights: {\n base: neededBase,\n inheriting: neededInheriting\n },\n path: full\n }), stat(this, newfd), this.view.setUint32(fdPtr, newfd, !0);\n } catch (e) {\n console.error(e);\n }\n return constants_1.WASI_ESUCCESS;\n }),\n path_readlink: wrap((fd, pathPtr, pathLen, buf, bufLen, bufused) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_READLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(), full = path.resolve(stats.path, p), r = fs.readlinkSync(full), used = @Buffer.from(this.memory.buffer).write(r, buf, bufLen);\n return this.view.setUint32(bufused, used, !0), constants_1.WASI_ESUCCESS;\n }),\n path_remove_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.rmdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_rename: wrap((oldFd, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_RENAME_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_RENAME_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.renameSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_symlink: wrap((oldPath, oldPathLen, fd, newPath, newPathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_SYMLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.symlinkSync(op, path.resolve(stats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_unlink_file: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_UNLINK_FILE);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.unlinkSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n poll_oneoff: (sin, sout, nsubscriptions, neventsPtr) => {\n let nevents = 0, name = \"\", waitTimeNs = BigInt(0), fd = -1, fd_type = \"read\", fd_timeout_ms = 0;\n const startNs = BigInt(bindings2.hrtime());\n this.refreshMemory();\n let last_sin = sin;\n for (let i = 0;i < nsubscriptions; i += 1) {\n const userdata = this.view.getBigUint64(sin, !0);\n sin += 8;\n const type = this.view.getUint8(sin);\n if (sin += 1, sin += 7, log.enabled) {\n if (type == constants_1.WASI_EVENTTYPE_CLOCK)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_CLOCK): \";\n else if (type == constants_1.WASI_EVENTTYPE_FD_READ)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_READ): \";\n else\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): \";\n log(name);\n }\n switch (type) {\n case constants_1.WASI_EVENTTYPE_CLOCK: {\n const clockid = this.view.getUint32(sin, !0);\n sin += 4, sin += 4;\n const timeout = this.view.getBigUint64(sin, !0);\n sin += 8, sin += 8;\n const subclockflags = this.view.getUint16(sin, !0);\n sin += 2, sin += 6;\n const absolute = subclockflags === 1;\n if (log.enabled)\n log(name, { clockid, timeout, absolute });\n if (!absolute)\n fd_timeout_ms = timeout / BigInt(1e6);\n let e = constants_1.WASI_ESUCCESS;\n const t = now(clockid);\n if (t == null)\n e = constants_1.WASI_EINVAL;\n else {\n const tNS = BigInt(t), waitNs = (absolute \? timeout : tNS + timeout) - tNS;\n if (waitNs > waitTimeNs)\n waitTimeNs = waitNs;\n }\n this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, e, !0), sout += 2, this.view.setUint8(sout, constants_1.WASI_EVENTTYPE_CLOCK), sout += 1, sout += 5, nevents += 1;\n break;\n }\n case constants_1.WASI_EVENTTYPE_FD_READ:\n case constants_1.WASI_EVENTTYPE_FD_WRITE: {\n if (fd = this.view.getUint32(sin, !0), fd_type = type == constants_1.WASI_EVENTTYPE_FD_READ \? \"read\" : \"write\", sin += 4, log(name, \"fd =\", fd), sin += 28, this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, constants_1.WASI_ENOSYS, !0), sout += 2, this.view.setUint8(sout, type), sout += 1, sout += 5, nevents += 1, fd == constants_1.WASI_STDIN_FILENO && constants_1.WASI_EVENTTYPE_FD_READ == type)\n this.shortPause();\n break;\n }\n default:\n return constants_1.WASI_EINVAL;\n }\n if (sin - last_sin != 48)\n console.warn(\"*** BUG in wasi-js in poll_oneoff \", {\n i,\n sin,\n last_sin,\n diff: sin - last_sin\n });\n last_sin = sin;\n }\n if (this.view.setUint32(neventsPtr, nevents, !0), nevents == 2 && fd >= 0) {\n const r = this.wasiImport.sock_pollSocket(fd, fd_type, fd_timeout_ms);\n if (r != constants_1.WASI_ENOSYS)\n return r;\n }\n if (waitTimeNs > 0) {\n if (waitTimeNs -= Bun.nanoseconds() - timeOrigin, waitTimeNs >= 1e6) {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");\n if (this.sleep != null) {\n const ms = nsToMs(waitTimeNs);\n this.sleep(ms);\n } else {\n const end = BigInt(bindings2.hrtime()) + waitTimeNs;\n while (BigInt(bindings2.hrtime()) < end)\n ;\n }\n }\n }\n return constants_1.WASI_ESUCCESS;\n },\n proc_exit: (rval) => {\n return bindings2.exit(rval), constants_1.WASI_ESUCCESS;\n },\n proc_raise: (sig) => {\n if (!(sig in constants_1.SIGNAL_MAP))\n return constants_1.WASI_EINVAL;\n return bindings2.kill(constants_1.SIGNAL_MAP[sig]), constants_1.WASI_ESUCCESS;\n },\n random_get: (bufPtr, bufLen) => {\n return this.refreshMemory(), crypto.getRandomValues(this.memory.buffer, bufPtr, bufLen), bufLen;\n },\n sched_yield() {\n return constants_1.WASI_ESUCCESS;\n },\n sock_recv() {\n return constants_1.WASI_ENOSYS;\n },\n sock_send() {\n return constants_1.WASI_ENOSYS;\n },\n sock_shutdown() {\n return constants_1.WASI_ENOSYS;\n },\n sock_fcntlSetFlags(_fd, _flags) {\n return constants_1.WASI_ENOSYS;\n },\n sock_pollSocket(_fd, _eventtype, _timeout_ms) {\n return constants_1.WASI_ENOSYS;\n }\n }, log.enabled)\n Object.keys(this.wasiImport).forEach((key) => {\n const prevImport = this.wasiImport[key];\n this.wasiImport[key] = function(...args2) {\n log(key, args2);\n try {\n let result = prevImport(...args2);\n return log(\"result\", result), result;\n } catch (e) {\n throw log(\"error: \", e), e;\n }\n };\n });\n }\n getState() {\n return { env: this.env, FD_MAP: this.FD_MAP, bindings };\n }\n setState(state) {\n this.env = state.env, this.FD_MAP = state.FD_MAP, bindings = state.bindings;\n }\n fstatSync(real_fd) {\n if (real_fd <= 2)\n try {\n return fs.fstatSync(real_fd);\n } catch (_) {\n const now = new Date;\n return {\n dev: 0,\n mode: 8592,\n nlink: 1,\n uid: 0,\n gid: 0,\n rdev: 0,\n blksize: 65536,\n ino: 0,\n size: 0,\n blocks: 0,\n atimeMs: now.valueOf(),\n mtimeMs: now.valueOf(),\n ctimeMs: now.valueOf(),\n birthtimeMs: 0,\n atime: new Date,\n mtime: new Date,\n ctime: new Date,\n birthtime: new Date(0)\n };\n }\n return fs.fstatSync(real_fd);\n }\n shortPause() {\n if (this.sleep == null)\n return;\n if ((new Date()).valueOf() - this.lastStdin > 2000)\n this.sleep(50);\n }\n getUnusedFileDescriptor(start = 3) {\n let fd = start;\n while (this.FD_MAP.has(fd))\n fd += 1;\n if (fd > SC_OPEN_MAX)\n throw Error(\"no available file descriptors\");\n return fd;\n }\n refreshMemory() {\n if (!this.view || this.view.buffer.byteLength === 0)\n this.view = new DataView(this.memory.buffer);\n }\n setMemory(memory) {\n this.memory = memory;\n }\n start(instance, memory) {\n const exports2 = instance.exports;\n if (exports2 === null || typeof exports2 !== \"object\")\n throw new Error(`instance.exports must be an Object. Received ${exports2}.`);\n if (memory == null) {\n if (memory = exports2.memory, !(memory instanceof WebAssembly.Memory))\n throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`);\n }\n if (this.setMemory(memory), exports2._start)\n exports2._start();\n }\n getImports(module2) {\n let namespace = null;\n const imports = WebAssembly.Module.imports(module2);\n for (let imp of imports) {\n if (imp.kind !== \"function\")\n continue;\n if (!imp.module.startsWith(\"wasi_\"))\n continue;\n namespace = imp.module;\n break;\n }\n switch (namespace) {\n case \"wasi_unstable\":\n return {\n wasi_unstable: this.wasiImport\n };\n case \"wasi_snapshot_preview1\":\n return {\n wasi_snapshot_preview1: this.wasiImport\n };\n default:\n throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\" + imports.map(({ name, kind, module }) => `${module}:${name} (${kind})`).join(\"\\n\") + \"\\n\");\n }\n }\n initWasiFdInfo() {\n if (this.env.WASI_FD_INFO != null) {\n const fdInfo = JSON.parse(this.env.WASI_FD_INFO);\n for (let wasi_fd in fdInfo) {\n console.log(wasi_fd);\n const fd = parseInt(wasi_fd);\n if (this.FD_MAP.has(fd))\n continue;\n const real = fdInfo[wasi_fd];\n try {\n this.fstatSync(real);\n } catch (_err) {\n console.log(\"discarding \", { wasi_fd, real });\n continue;\n }\n const file = {\n real,\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n }\n };\n this.FD_MAP.set(fd, file);\n }\n console.log(\"after initWasiFdInfo: \", this.FD_MAP), console.log(\"fdInfo = \", fdInfo);\n } else\n console.log(\"no WASI_FD_INFO\");\n }\n };\n exports.default = WASI;\n }\n});\nreturn { WASI: require_wasi().default }})\n"); // // -static constexpr ASCIILiteral NodeWorkerThreadsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/worker_threads.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, injectFakeEmitter = function(Class) {\n function messageEventHandler(event) {\n return event.data;\n }\n function errorEventHandler(event) {\n return event.error;\n }\n const wrappedListener = Symbol(\"wrappedListener\");\n function wrapped(run, listener) {\n const callback = function(event) {\n return listener(run(event));\n };\n return listener[wrappedListener] = callback, callback;\n }\n function functionForEventType(event, listener) {\n switch (event) {\n case \"error\":\n case \"messageerror\":\n return wrapped(errorEventHandler, listener);\n default:\n return wrapped(messageEventHandler, listener);\n }\n }\n Class.prototype.on = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener)), this;\n }, Class.prototype.off = function(event, listener) {\n if (listener)\n this.removeEventListener(event, listener[wrappedListener] || listener);\n else\n this.removeEventListener(event);\n return this;\n }, Class.prototype.once = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener), { once: !0 }), this;\n };\n function EventClass(eventName) {\n if (eventName === \"error\" || eventName === \"messageerror\")\n return ErrorEvent;\n return MessageEvent;\n }\n Class.prototype.emit = function(event, ...args) {\n return this.dispatchEvent(new (EventClass(event))(event, ...args)), this;\n }, Class.prototype.prependListener = Class.prototype.on, Class.prototype.prependOnceListener = Class.prototype.once;\n}, receiveMessageOnPort = function(port) {\n let res = _receiveMessageOnPort(port);\n if (!res)\n return @undefined;\n return {\n message: res\n };\n}, fakeParentPort = function() {\n const fake = Object.create(MessagePort.prototype);\n return Object.defineProperty(fake, \"onmessage\", {\n get() {\n return self.onmessage;\n },\n set(value) {\n self.onmessage = value;\n }\n }), Object.defineProperty(fake, \"onmessageerror\", {\n get() {\n return self.onmessageerror;\n },\n set(value) {\n }\n }), Object.defineProperty(fake, \"postMessage\", {\n value(...args) {\n return self.postMessage(...args);\n }\n }), Object.defineProperty(fake, \"close\", {\n value() {\n return process.exit(0);\n }\n }), Object.defineProperty(fake, \"start\", {\n value() {\n }\n }), Object.defineProperty(fake, \"unref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"ref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"hasRef\", {\n value() {\n return !1;\n }\n }), Object.defineProperty(fake, \"setEncoding\", {\n value() {\n }\n }), Object.defineProperty(fake, \"addEventListener\", {\n value: self.addEventListener.bind(self)\n }), Object.defineProperty(fake, \"removeEventListener\", {\n value: self.removeEventListener.bind(self)\n }), fake;\n}, getEnvironmentData = function() {\n return process.env;\n}, setEnvironmentData = function(env) {\n process.env = env;\n}, markAsUntransferable = function() {\n throwNotImplemented(\"worker_threads.markAsUntransferable\");\n}, moveMessagePortToContext = function() {\n throwNotImplemented(\"worker_threads.moveMessagePortToContext\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), { MessageChannel, BroadcastChannel, Worker: WebWorker } = globalThis, SHARE_ENV = Symbol(\"nodejs.worker_threads.SHARE_ENV\"), isMainThread = Bun.isMainThread, [_workerData, _threadId, _receiveMessageOnPort] = @lazy(\"worker_threads\"), emittedWarnings = new Set, _MessagePort = globalThis.MessagePort;\ninjectFakeEmitter(_MessagePort);\nvar MessagePort = _MessagePort, resourceLimits = {}, workerData = _workerData, threadId = _threadId, parentPort = isMainThread \? null : fakeParentPort(), unsupportedOptions = [\n \"eval\",\n \"argv\",\n \"execArgv\",\n \"stdin\",\n \"stdout\",\n \"stderr\",\n \"trackedUnmanagedFds\",\n \"resourceLimits\"\n];\n\nclass Worker extends EventEmitter {\n #worker;\n #performance;\n #onExitPromise = @undefined;\n constructor(filename, options = {}) {\n super();\n for (let key of unsupportedOptions)\n if (key in options)\n emitWarning(\"option.\" + key, `worker_threads.Worker option \"${key}\" is not implemented.`);\n this.#worker = new WebWorker(filename, options), this.#worker.addEventListener(\"close\", this.#onClose.bind(this)), this.#worker.addEventListener(\"error\", this.#onError.bind(this)), this.#worker.addEventListener(\"message\", this.#onMessage.bind(this)), this.#worker.addEventListener(\"messageerror\", this.#onMessageError.bind(this)), this.#worker.addEventListener(\"open\", this.#onOpen.bind(this));\n }\n get threadId() {\n return this.#worker.threadId;\n }\n ref() {\n this.#worker.ref();\n }\n unref() {\n this.#worker.unref();\n }\n get stdin() {\n return null;\n }\n get stdout() {\n return null;\n }\n get stderr() {\n return null;\n }\n get performance() {\n return this.#performance \?\?= {\n eventLoopUtilization() {\n return emitWarning(\"performance\", \"worker_threads.Worker.performance is not implemented.\"), {\n idle: 0,\n active: 0,\n utilization: 0\n };\n }\n };\n }\n terminate() {\n const onExitPromise = this.#onExitPromise;\n if (onExitPromise)\n return @isPromise(onExitPromise) \? onExitPromise : @Promise.resolve(onExitPromise);\n const { resolve, promise } = @Promise.withResolvers();\n return this.#worker.addEventListener(\"close\", (event) => {\n resolve(event.code);\n }, { once: !0 }), this.#worker.terminate(), this.#onExitPromise = promise;\n }\n postMessage(...args) {\n return this.#worker.postMessage(...args);\n }\n #onClose(e) {\n this.#onExitPromise = e.code, this.emit(\"exit\", e.code);\n }\n #onError(error) {\n this.emit(\"error\", error);\n }\n #onMessage(event) {\n this.emit(\"message\", event.data);\n }\n #onMessageError(event) {\n this.emit(\"messageerror\", event.error \?\? event.data \?\? event);\n }\n #onOpen() {\n this.emit(\"online\");\n }\n async getHeapSnapshot() {\n throwNotImplemented(\"worker_threads.Worker.getHeapSnapshot\");\n }\n}\n$ = {\n Worker,\n workerData,\n parentPort,\n resourceLimits,\n isMainThread,\n MessageChannel,\n BroadcastChannel,\n MessagePort,\n getEnvironmentData,\n setEnvironmentData,\n getHeapSnapshot() {\n return {};\n },\n markAsUntransferable,\n moveMessagePortToContext,\n receiveMessageOnPort,\n SHARE_ENV,\n threadId\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeWorkerThreadsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/worker_threads.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, injectFakeEmitter = function(Class) {\n function messageEventHandler(event) {\n return event.data;\n }\n function errorEventHandler(event) {\n return event.error;\n }\n const wrappedListener = Symbol(\"wrappedListener\");\n function wrapped(run, listener) {\n const callback = function(event) {\n return listener(run(event));\n };\n return listener[wrappedListener] = callback, callback;\n }\n function functionForEventType(event, listener) {\n switch (event) {\n case \"error\":\n case \"messageerror\":\n return wrapped(errorEventHandler, listener);\n default:\n return wrapped(messageEventHandler, listener);\n }\n }\n Class.prototype.on = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener)), this;\n }, Class.prototype.off = function(event, listener) {\n if (listener)\n this.removeEventListener(event, listener[wrappedListener] || listener);\n else\n this.removeEventListener(event);\n return this;\n }, Class.prototype.once = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener), { once: !0 }), this;\n };\n function EventClass(eventName) {\n if (eventName === \"error\" || eventName === \"messageerror\")\n return ErrorEvent;\n return MessageEvent;\n }\n Class.prototype.emit = function(event, ...args) {\n return this.dispatchEvent(new (EventClass(event))(event, ...args)), this;\n }, Class.prototype.prependListener = Class.prototype.on, Class.prototype.prependOnceListener = Class.prototype.once;\n}, receiveMessageOnPort = function(port) {\n let res = _receiveMessageOnPort(port);\n if (!res)\n return @undefined;\n return {\n message: res\n };\n}, fakeParentPort = function() {\n const fake = Object.create(MessagePort.prototype);\n return Object.defineProperty(fake, \"onmessage\", {\n get() {\n return self.onmessage;\n },\n set(value) {\n self.onmessage = value;\n }\n }), Object.defineProperty(fake, \"onmessageerror\", {\n get() {\n return self.onmessageerror;\n },\n set(value) {\n }\n }), Object.defineProperty(fake, \"postMessage\", {\n value(...args) {\n return self.postMessage(...args);\n }\n }), Object.defineProperty(fake, \"close\", {\n value() {\n return process.exit(0);\n }\n }), Object.defineProperty(fake, \"start\", {\n value() {\n }\n }), Object.defineProperty(fake, \"unref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"ref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"hasRef\", {\n value() {\n return !1;\n }\n }), Object.defineProperty(fake, \"setEncoding\", {\n value() {\n }\n }), Object.defineProperty(fake, \"addEventListener\", {\n value: self.addEventListener.bind(self)\n }), Object.defineProperty(fake, \"removeEventListener\", {\n value: self.removeEventListener.bind(self)\n }), fake;\n}, getEnvironmentData = function() {\n return process.env;\n}, setEnvironmentData = function(env) {\n process.env = env;\n}, markAsUntransferable = function() {\n throwNotImplemented(\"worker_threads.markAsUntransferable\");\n}, moveMessagePortToContext = function() {\n throwNotImplemented(\"worker_threads.moveMessagePortToContext\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), { MessageChannel, BroadcastChannel, Worker: WebWorker } = globalThis, SHARE_ENV = Symbol(\"nodejs.worker_threads.SHARE_ENV\"), isMainThread = Bun.isMainThread, [_workerData, _threadId, _receiveMessageOnPort] = @lazy(\"worker_threads\"), emittedWarnings = new Set, _MessagePort = globalThis.MessagePort;\ninjectFakeEmitter(_MessagePort);\nvar MessagePort = _MessagePort, resourceLimits = {}, workerData = _workerData, threadId = _threadId, parentPort = isMainThread \? null : fakeParentPort(), unsupportedOptions = [\n \"eval\",\n \"argv\",\n \"execArgv\",\n \"stdin\",\n \"stdout\",\n \"stderr\",\n \"trackedUnmanagedFds\",\n \"resourceLimits\"\n];\n\nclass Worker extends EventEmitter {\n #worker;\n #performance;\n #onExitPromise = @undefined;\n constructor(filename, options = {}) {\n super();\n for (let key of unsupportedOptions)\n if (key in options)\n emitWarning(\"option.\" + key, `worker_threads.Worker option \"${key}\" is not implemented.`);\n this.#worker = new WebWorker(filename, options), this.#worker.addEventListener(\"close\", this.#onClose.bind(this)), this.#worker.addEventListener(\"error\", this.#onError.bind(this)), this.#worker.addEventListener(\"message\", this.#onMessage.bind(this)), this.#worker.addEventListener(\"messageerror\", this.#onMessageError.bind(this)), this.#worker.addEventListener(\"open\", this.#onOpen.bind(this));\n }\n get threadId() {\n return this.#worker.threadId;\n }\n ref() {\n this.#worker.ref();\n }\n unref() {\n this.#worker.unref();\n }\n get stdin() {\n return null;\n }\n get stdout() {\n return null;\n }\n get stderr() {\n return null;\n }\n get performance() {\n return this.#performance \?\?= {\n eventLoopUtilization() {\n return emitWarning(\"performance\", \"worker_threads.Worker.performance is not implemented.\"), {\n idle: 0,\n active: 0,\n utilization: 0\n };\n }\n };\n }\n terminate() {\n const onExitPromise = this.#onExitPromise;\n if (onExitPromise)\n return @isPromise(onExitPromise) \? onExitPromise : @Promise.resolve(onExitPromise);\n const { resolve, promise } = @Promise.withResolvers();\n return this.#worker.addEventListener(\"close\", (event) => {\n resolve(event.code);\n }, { once: !0 }), this.#worker.terminate(), this.#onExitPromise = promise;\n }\n postMessage(...args) {\n return this.#worker.postMessage(...args);\n }\n #onClose(e) {\n this.#onExitPromise = e.code, this.emit(\"exit\", e.code);\n }\n #onError(error) {\n this.emit(\"error\", error);\n }\n #onMessage(event) {\n this.emit(\"message\", event.data);\n }\n #onMessageError(event) {\n this.emit(\"messageerror\", event.error \?\? event.data \?\? event);\n }\n #onOpen() {\n this.emit(\"online\");\n }\n async getHeapSnapshot() {\n throwNotImplemented(\"worker_threads.Worker.getHeapSnapshot\");\n }\n}\n$ = {\n Worker,\n workerData,\n parentPort,\n resourceLimits,\n isMainThread,\n MessageChannel,\n BroadcastChannel,\n MessagePort,\n getEnvironmentData,\n setEnvironmentData,\n getHeapSnapshot() {\n return {};\n },\n markAsUntransferable,\n moveMessagePortToContext,\n receiveMessageOnPort,\n SHARE_ENV,\n threadId\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeZlibCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/zlib.ts\nvar assert = @getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8), BufferModule = @requireNativeModule(\"buffer\"), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), Util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_zstream = __commonJS({\n \"node_modules/pako/lib/zlib/zstream.js\"(exports, module2) {\n function ZStream() {\n this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = \"\", this.state = null, this.data_type = 2, this.adler = 0;\n }\n module2.exports = ZStream;\n }\n}), require_common = __commonJS({\n \"node_modules/pako/lib/utils/common.js\"(exports) {\n var TYPED_OK = typeof @Uint8Array !== \"undefined\" && typeof Uint16Array !== \"undefined\" && typeof Int32Array !== \"undefined\";\n function _has(obj, key) {\n return Object.prototype.hasOwnProperty.@call(obj, key);\n }\n exports.assign = function(obj) {\n var sources = @Array.prototype.slice.@call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source)\n continue;\n if (typeof source !== \"object\")\n @throwTypeError(source + \"must be non-object\");\n for (var p in source)\n if (_has(source, p))\n obj[p] = source[p];\n }\n return obj;\n }, exports.shrinkBuf = function(buf, size) {\n if (buf.length === size)\n return buf;\n if (buf.subarray)\n return buf.subarray(0, size);\n return buf.length = size, buf;\n };\n var fnTyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n var i, l, len, pos, chunk, result;\n len = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n len += chunks[i].length;\n result = new @Uint8Array(len), pos = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n chunk = chunks[i], result.set(chunk, pos), pos += chunk.length;\n return result;\n }\n }, fnUntyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n return [].concat.@apply([], chunks);\n }\n };\n exports.setTyped = function(on) {\n if (on)\n exports.Buf8 = @Uint8Array, exports.Buf16 = Uint16Array, exports.Buf32 = Int32Array, exports.assign(exports, fnTyped);\n else\n exports.Buf8 = @Array, exports.Buf16 = @Array, exports.Buf32 = @Array, exports.assign(exports, fnUntyped);\n }, exports.setTyped(TYPED_OK);\n }\n}), require_trees = __commonJS({\n \"node_modules/pako/lib/zlib/trees.js\"(exports) {\n var utils = require_common(), Z_FIXED = 4, Z_BINARY = 0, Z_TEXT = 1, Z_UNKNOWN = 2;\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n var STORED_BLOCK = 0, STATIC_TREES = 1, DYN_TREES = 2, MIN_MATCH = 3, MAX_MATCH = 258, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, Buf_size = 16, MAX_BL_BITS = 7, END_BLOCK = 256, REP_3_6 = 16, REPZ_3_10 = 17, REPZ_11_138 = 18, extra_lbits = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], extra_dbits = [\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 3,\n 3,\n 4,\n 4,\n 5,\n 5,\n 6,\n 6,\n 7,\n 7,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13\n ], extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], DIST_CODE_LEN = 512, static_ltree = new @Array((L_CODES + 2) * 2);\n zero(static_ltree);\n var static_dtree = new @Array(D_CODES * 2);\n zero(static_dtree);\n var _dist_code = new @Array(DIST_CODE_LEN);\n zero(_dist_code);\n var _length_code = new @Array(MAX_MATCH - MIN_MATCH + 1);\n zero(_length_code);\n var base_length = new @Array(LENGTH_CODES);\n zero(base_length);\n var base_dist = new @Array(D_CODES);\n zero(base_dist);\n function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n this.static_tree = static_tree, this.extra_bits = extra_bits, this.extra_base = extra_base, this.elems = elems, this.max_length = max_length, this.has_stree = static_tree && static_tree.length;\n }\n var static_l_desc, static_d_desc, static_bl_desc;\n function TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree, this.max_code = 0, this.stat_desc = stat_desc;\n }\n function d_code(dist) {\n return dist < 256 \? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n }\n function put_short(s, w) {\n s.pending_buf[s.pending++] = w & 255, s.pending_buf[s.pending++] = w >>> 8 & 255;\n }\n function send_bits(s, value, length) {\n if (s.bi_valid > Buf_size - length)\n s.bi_buf |= value << s.bi_valid & 65535, put_short(s, s.bi_buf), s.bi_buf = value >> Buf_size - s.bi_valid, s.bi_valid += length - Buf_size;\n else\n s.bi_buf |= value << s.bi_valid & 65535, s.bi_valid += length;\n }\n function send_code(s, c, tree) {\n send_bits(s, tree[c * 2], tree[c * 2 + 1]);\n }\n function bi_reverse(code, len) {\n var res = 0;\n do\n res |= code & 1, code >>>= 1, res <<= 1;\n while (--len > 0);\n return res >>> 1;\n }\n function bi_flush(s) {\n if (s.bi_valid === 16)\n put_short(s, s.bi_buf), s.bi_buf = 0, s.bi_valid = 0;\n else if (s.bi_valid >= 8)\n s.pending_buf[s.pending++] = s.bi_buf & 255, s.bi_buf >>= 8, s.bi_valid -= 8;\n }\n function gen_bitlen(s, desc) {\n var { dyn_tree: tree, max_code } = desc, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, extra = desc.stat_desc.extra_bits, base = desc.stat_desc.extra_base, max_length = desc.stat_desc.max_length, h, n, m, bits, xbits, f, overflow = 0;\n for (bits = 0;bits <= MAX_BITS; bits++)\n s.bl_count[bits] = 0;\n tree[s.heap[s.heap_max] * 2 + 1] = 0;\n for (h = s.heap_max + 1;h < HEAP_SIZE; h++) {\n if (n = s.heap[h], bits = tree[tree[n * 2 + 1] * 2 + 1] + 1, bits > max_length)\n bits = max_length, overflow++;\n if (tree[n * 2 + 1] = bits, n > max_code)\n continue;\n if (s.bl_count[bits]++, xbits = 0, n >= base)\n xbits = extra[n - base];\n if (f = tree[n * 2], s.opt_len += f * (bits + xbits), has_stree)\n s.static_len += f * (stree[n * 2 + 1] + xbits);\n }\n if (overflow === 0)\n return;\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0)\n bits--;\n s.bl_count[bits]--, s.bl_count[bits + 1] += 2, s.bl_count[max_length]--, overflow -= 2;\n } while (overflow > 0);\n for (bits = max_length;bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n if (m = s.heap[--h], m > max_code)\n continue;\n if (tree[m * 2 + 1] !== bits)\n s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2], tree[m * 2 + 1] = bits;\n n--;\n }\n }\n }\n function gen_codes(tree, max_code, bl_count) {\n var next_code = new @Array(MAX_BITS + 1), code = 0, bits, n;\n for (bits = 1;bits <= MAX_BITS; bits++)\n next_code[bits] = code = code + bl_count[bits - 1] << 1;\n for (n = 0;n <= max_code; n++) {\n var len = tree[n * 2 + 1];\n if (len === 0)\n continue;\n tree[n * 2] = bi_reverse(next_code[len]++, len);\n }\n }\n function tr_static_init() {\n var n, bits, length, code, dist, bl_count = new @Array(MAX_BITS + 1);\n length = 0;\n for (code = 0;code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0;n < 1 << extra_lbits[code]; n++)\n _length_code[length++] = code;\n }\n _length_code[length - 1] = code, dist = 0;\n for (code = 0;code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0;n < 1 << extra_dbits[code]; n++)\n _dist_code[dist++] = code;\n }\n dist >>= 7;\n for (;code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0;n < 1 << extra_dbits[code] - 7; n++)\n _dist_code[256 + dist++] = code;\n }\n for (bits = 0;bits <= MAX_BITS; bits++)\n bl_count[bits] = 0;\n n = 0;\n while (n <= 143)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n while (n <= 255)\n static_ltree[n * 2 + 1] = 9, n++, bl_count[9]++;\n while (n <= 279)\n static_ltree[n * 2 + 1] = 7, n++, bl_count[7]++;\n while (n <= 287)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n for (n = 0;n < D_CODES; n++)\n static_dtree[n * 2 + 1] = 5, static_dtree[n * 2] = bi_reverse(n, 5);\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS), static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS), static_bl_desc = new StaticTreeDesc(new @Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n }\n function init_block(s) {\n var n;\n for (n = 0;n < L_CODES; n++)\n s.dyn_ltree[n * 2] = 0;\n for (n = 0;n < D_CODES; n++)\n s.dyn_dtree[n * 2] = 0;\n for (n = 0;n < BL_CODES; n++)\n s.bl_tree[n * 2] = 0;\n s.dyn_ltree[END_BLOCK * 2] = 1, s.opt_len = s.static_len = 0, s.last_lit = s.matches = 0;\n }\n function bi_windup(s) {\n if (s.bi_valid > 8)\n put_short(s, s.bi_buf);\n else if (s.bi_valid > 0)\n s.pending_buf[s.pending++] = s.bi_buf;\n s.bi_buf = 0, s.bi_valid = 0;\n }\n function copy_block(s, buf, len, header) {\n if (bi_windup(s), header)\n put_short(s, len), put_short(s, ~len);\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending), s.pending += len;\n }\n function smaller(tree, n, m, depth) {\n var _n2 = n * 2, _m2 = m * 2;\n return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m];\n }\n function pqdownheap(s, tree, k) {\n var v = s.heap[k], j = k << 1;\n while (j <= s.heap_len) {\n if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth))\n j++;\n if (smaller(tree, v, s.heap[j], s.depth))\n break;\n s.heap[k] = s.heap[j], k = j, j <<= 1;\n }\n s.heap[k] = v;\n }\n function compress_block(s, ltree, dtree) {\n var dist, lc, lx = 0, code, extra;\n if (s.last_lit !== 0)\n do\n if (dist = s.pending_buf[s.d_buf + lx * 2] << 8 | s.pending_buf[s.d_buf + lx * 2 + 1], lc = s.pending_buf[s.l_buf + lx], lx++, dist === 0)\n send_code(s, lc, ltree);\n else {\n if (code = _length_code[lc], send_code(s, code + LITERALS + 1, ltree), extra = extra_lbits[code], extra !== 0)\n lc -= base_length[code], send_bits(s, lc, extra);\n if (dist--, code = d_code(dist), send_code(s, code, dtree), extra = extra_dbits[code], extra !== 0)\n dist -= base_dist[code], send_bits(s, dist, extra);\n }\n while (lx < s.last_lit);\n send_code(s, END_BLOCK, ltree);\n }\n function build_tree(s, desc) {\n var tree = desc.dyn_tree, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, elems = desc.stat_desc.elems, n, m, max_code = -1, node;\n s.heap_len = 0, s.heap_max = HEAP_SIZE;\n for (n = 0;n < elems; n++)\n if (tree[n * 2] !== 0)\n s.heap[++s.heap_len] = max_code = n, s.depth[n] = 0;\n else\n tree[n * 2 + 1] = 0;\n while (s.heap_len < 2)\n if (node = s.heap[++s.heap_len] = max_code < 2 \? ++max_code : 0, tree[node * 2] = 1, s.depth[node] = 0, s.opt_len--, has_stree)\n s.static_len -= stree[node * 2 + 1];\n desc.max_code = max_code;\n for (n = s.heap_len >> 1;n >= 1; n--)\n pqdownheap(s, tree, n);\n node = elems;\n do\n n = s.heap[1], s.heap[1] = s.heap[s.heap_len--], pqdownheap(s, tree, 1), m = s.heap[1], s.heap[--s.heap_max] = n, s.heap[--s.heap_max] = m, tree[node * 2] = tree[n * 2] + tree[m * 2], s.depth[node] = (s.depth[n] >= s.depth[m] \? s.depth[n] : s.depth[m]) + 1, tree[n * 2 + 1] = tree[m * 2 + 1] = node, s.heap[1] = node++, pqdownheap(s, tree, 1);\n while (s.heap_len >= 2);\n s.heap[--s.heap_max] = s.heap[1], gen_bitlen(s, desc), gen_codes(tree, max_code, s.bl_count);\n }\n function scan_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n tree[(max_code + 1) * 2 + 1] = 65535;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n s.bl_tree[curlen * 2] += count;\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n s.bl_tree[curlen * 2]++;\n s.bl_tree[REP_3_6 * 2]++;\n } else if (count <= 10)\n s.bl_tree[REPZ_3_10 * 2]++;\n else\n s.bl_tree[REPZ_11_138 * 2]++;\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function send_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n do\n send_code(s, curlen, s.bl_tree);\n while (--count !== 0);\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n send_code(s, curlen, s.bl_tree), count--;\n send_code(s, REP_3_6, s.bl_tree), send_bits(s, count - 3, 2);\n } else if (count <= 10)\n send_code(s, REPZ_3_10, s.bl_tree), send_bits(s, count - 3, 3);\n else\n send_code(s, REPZ_11_138, s.bl_tree), send_bits(s, count - 11, 7);\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function build_bl_tree(s) {\n var max_blindex;\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code), scan_tree(s, s.dyn_dtree, s.d_desc.max_code), build_tree(s, s.bl_desc);\n for (max_blindex = BL_CODES - 1;max_blindex >= 3; max_blindex--)\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0)\n break;\n return s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4, max_blindex;\n }\n function send_all_trees(s, lcodes, dcodes, blcodes) {\n var rank;\n send_bits(s, lcodes - 257, 5), send_bits(s, dcodes - 1, 5), send_bits(s, blcodes - 4, 4);\n for (rank = 0;rank < blcodes; rank++)\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1], 3);\n send_tree(s, s.dyn_ltree, lcodes - 1), send_tree(s, s.dyn_dtree, dcodes - 1);\n }\n function detect_data_type(s) {\n var black_mask = 4093624447, n;\n for (n = 0;n <= 31; n++, black_mask >>>= 1)\n if (black_mask & 1 && s.dyn_ltree[n * 2] !== 0)\n return Z_BINARY;\n if (s.dyn_ltree[18] !== 0 || s.dyn_ltree[20] !== 0 || s.dyn_ltree[26] !== 0)\n return Z_TEXT;\n for (n = 32;n < LITERALS; n++)\n if (s.dyn_ltree[n * 2] !== 0)\n return Z_TEXT;\n return Z_BINARY;\n }\n var static_init_done = !1;\n function _tr_init(s) {\n if (!static_init_done)\n tr_static_init(), static_init_done = !0;\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc), s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc), s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc), s.bi_buf = 0, s.bi_valid = 0, init_block(s);\n }\n function _tr_stored_block(s, buf, stored_len, last) {\n send_bits(s, (STORED_BLOCK << 1) + (last \? 1 : 0), 3), copy_block(s, buf, stored_len, !0);\n }\n function _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3), send_code(s, END_BLOCK, static_ltree), bi_flush(s);\n }\n function _tr_flush_block(s, buf, stored_len, last) {\n var opt_lenb, static_lenb, max_blindex = 0;\n if (s.level > 0) {\n if (s.strm.data_type === Z_UNKNOWN)\n s.strm.data_type = detect_data_type(s);\n if (build_tree(s, s.l_desc), build_tree(s, s.d_desc), max_blindex = build_bl_tree(s), opt_lenb = s.opt_len + 3 + 7 >>> 3, static_lenb = s.static_len + 3 + 7 >>> 3, static_lenb <= opt_lenb)\n opt_lenb = static_lenb;\n } else\n opt_lenb = static_lenb = stored_len + 5;\n if (stored_len + 4 <= opt_lenb && buf !== -1)\n _tr_stored_block(s, buf, stored_len, last);\n else if (s.strategy === Z_FIXED || static_lenb === opt_lenb)\n send_bits(s, (STATIC_TREES << 1) + (last \? 1 : 0), 3), compress_block(s, static_ltree, static_dtree);\n else\n send_bits(s, (DYN_TREES << 1) + (last \? 1 : 0), 3), send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1), compress_block(s, s.dyn_ltree, s.dyn_dtree);\n if (init_block(s), last)\n bi_windup(s);\n }\n function _tr_tally(s, dist, lc) {\n if (s.pending_buf[s.d_buf + s.last_lit * 2] = dist >>> 8 & 255, s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 255, s.pending_buf[s.l_buf + s.last_lit] = lc & 255, s.last_lit++, dist === 0)\n s.dyn_ltree[lc * 2]++;\n else\n s.matches++, dist--, s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]++, s.dyn_dtree[d_code(dist) * 2]++;\n return s.last_lit === s.lit_bufsize - 1;\n }\n exports._tr_init = _tr_init, exports._tr_stored_block = _tr_stored_block, exports._tr_flush_block = _tr_flush_block, exports._tr_tally = _tr_tally, exports._tr_align = _tr_align;\n }\n}), require_adler32 = __commonJS({\n \"node_modules/pako/lib/zlib/adler32.js\"(exports, module2) {\n function adler32(adler, buf, len, pos) {\n var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0;\n while (len !== 0) {\n n = len > 2000 \? 2000 : len, len -= n;\n do\n s1 = s1 + buf[pos++] | 0, s2 = s2 + s1 | 0;\n while (--n);\n s1 %= 65521, s2 %= 65521;\n }\n return s1 | s2 << 16 | 0;\n }\n module2.exports = adler32;\n }\n}), require_crc32 = __commonJS({\n \"node_modules/pako/lib/zlib/crc32.js\"(exports, module2) {\n function makeTable() {\n var c, table = [];\n for (var n = 0;n < 256; n++) {\n c = n;\n for (var k = 0;k < 8; k++)\n c = c & 1 \? 3988292384 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return table;\n }\n var crcTable = makeTable();\n function crc32(crc, buf, len, pos) {\n var t = crcTable, end = pos + len;\n crc ^= -1;\n for (var i = pos;i < end; i++)\n crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255];\n return crc ^ -1;\n }\n module2.exports = crc32;\n }\n}), require_messages = __commonJS({\n \"node_modules/pako/lib/zlib/messages.js\"(exports, module2) {\n module2.exports = {\n 2: \"need dictionary\",\n 1: \"stream end\",\n 0: \"\",\n \"-1\": \"file error\",\n \"-2\": \"stream error\",\n \"-3\": \"data error\",\n \"-4\": \"insufficient memory\",\n \"-5\": \"buffer error\",\n \"-6\": \"incompatible version\"\n };\n }\n}), require_deflate = __commonJS({\n \"node_modules/pako/lib/zlib/deflate.js\"(exports) {\n var utils = require_common(), trees = require_trees(), adler32 = require_adler32(), crc32 = require_crc32(), msg = require_messages(), Z_NO_FLUSH = 0, Z_PARTIAL_FLUSH = 1, Z_FULL_FLUSH = 3, Z_FINISH = 4, Z_BLOCK = 5, Z_OK = 0, Z_STREAM_END = 1, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_BUF_ERROR = -5, Z_DEFAULT_COMPRESSION = -1, Z_FILTERED = 1, Z_HUFFMAN_ONLY = 2, Z_RLE = 3, Z_FIXED = 4, Z_DEFAULT_STRATEGY = 0, Z_UNKNOWN = 2, Z_DEFLATED = 8, MAX_MEM_LEVEL = 9, MAX_WBITS = 15, DEF_MEM_LEVEL = 8, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, MIN_MATCH = 3, MAX_MATCH = 258, MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1, PRESET_DICT = 32, INIT_STATE = 42, EXTRA_STATE = 69, NAME_STATE = 73, COMMENT_STATE = 91, HCRC_STATE = 103, BUSY_STATE = 113, FINISH_STATE = 666, BS_NEED_MORE = 1, BS_BLOCK_DONE = 2, BS_FINISH_STARTED = 3, BS_FINISH_DONE = 4, OS_CODE = 3;\n function err(strm, errorCode) {\n return strm.msg = msg[errorCode], errorCode;\n }\n function rank(f) {\n return (f << 1) - (f > 4 \? 9 : 0);\n }\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n function flush_pending(strm) {\n var s = strm.state, len = s.pending;\n if (len > strm.avail_out)\n len = strm.avail_out;\n if (len === 0)\n return;\n if (utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out), strm.next_out += len, s.pending_out += len, strm.total_out += len, strm.avail_out -= len, s.pending -= len, s.pending === 0)\n s.pending_out = 0;\n }\n function flush_block_only(s, last) {\n trees._tr_flush_block(s, s.block_start >= 0 \? s.block_start : -1, s.strstart - s.block_start, last), s.block_start = s.strstart, flush_pending(s.strm);\n }\n function put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n }\n function putShortMSB(s, b) {\n s.pending_buf[s.pending++] = b >>> 8 & 255, s.pending_buf[s.pending++] = b & 255;\n }\n function read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n if (len > size)\n len = size;\n if (len === 0)\n return 0;\n if (strm.avail_in -= len, utils.arraySet(buf, strm.input, strm.next_in, len, start), strm.state.wrap === 1)\n strm.adler = adler32(strm.adler, buf, len, start);\n else if (strm.state.wrap === 2)\n strm.adler = crc32(strm.adler, buf, len, start);\n return strm.next_in += len, strm.total_in += len, len;\n }\n function longest_match(s, cur_match) {\n var { max_chain_length: chain_length, strstart: scan } = s, match, len, best_len = s.prev_length, nice_match = s.nice_match, limit = s.strstart > s.w_size - MIN_LOOKAHEAD \? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0, _win = s.window, wmask = s.w_mask, prev = s.prev, strend = s.strstart + MAX_MATCH, scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n if (s.prev_length >= s.good_match)\n chain_length >>= 2;\n if (nice_match > s.lookahead)\n nice_match = s.lookahead;\n do {\n if (match = cur_match, _win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1])\n continue;\n scan += 2, match++;\n do\n ;\n while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend);\n if (len = MAX_MATCH - (strend - scan), scan = strend - MAX_MATCH, len > best_len) {\n if (s.match_start = cur_match, best_len = len, len >= nice_match)\n break;\n scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n if (best_len <= s.lookahead)\n return best_len;\n return s.lookahead;\n }\n function fill_window(s) {\n var _w_size = s.w_size, p, n, m, more, str;\n do {\n if (more = s.window_size - s.lookahead - s.strstart, s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0), s.match_start -= _w_size, s.strstart -= _w_size, s.block_start -= _w_size, n = s.hash_size, p = n;\n do\n m = s.head[--p], s.head[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n n = _w_size, p = n;\n do\n m = s.prev[--p], s.prev[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n more += _w_size;\n }\n if (s.strm.avail_in === 0)\n break;\n if (n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more), s.lookahead += n, s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert, s.ins_h = s.window[str], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + 1]) & s.hash_mask;\n while (s.insert)\n if (s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++, s.insert--, s.lookahead + s.insert < MIN_MATCH)\n break;\n }\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n }\n function deflate_stored(s, flush) {\n var max_block_size = 65535;\n if (max_block_size > s.pending_buf_size - 5)\n max_block_size = s.pending_buf_size - 5;\n for (;; ) {\n if (s.lookahead <= 1) {\n if (fill_window(s), s.lookahead === 0 && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n s.strstart += s.lookahead, s.lookahead = 0;\n var max_start = s.block_start + max_block_size;\n if (s.strstart === 0 || s.strstart >= max_start) {\n if (s.lookahead = s.strstart - max_start, s.strstart = max_start, flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n if (s.strstart - s.block_start >= s.w_size - MIN_LOOKAHEAD) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.strstart > s.block_start) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_NEED_MORE;\n }\n function deflate_fast(s, flush) {\n var hash_head, bflush;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (hash_head !== 0 && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD)\n s.match_length = longest_match(s, hash_head);\n if (s.match_length >= MIN_MATCH)\n if (bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.match_length <= s.max_lazy_match && s.lookahead >= MIN_MATCH) {\n s.match_length--;\n do\n s.strstart++, s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.match_length !== 0);\n s.strstart++;\n } else\n s.strstart += s.match_length, s.match_length = 0, s.ins_h = s.window[s.strstart], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + 1]) & s.hash_mask;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_slow(s, flush) {\n var hash_head, bflush, max_insert;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (s.prev_length = s.match_length, s.prev_match = s.match_start, s.match_length = MIN_MATCH - 1, hash_head !== 0 && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) {\n if (s.match_length = longest_match(s, hash_head), s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096))\n s.match_length = MIN_MATCH - 1;\n }\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH, bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH), s.lookahead -= s.prev_length - 1, s.prev_length -= 2;\n do\n if (++s.strstart <= max_insert)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.prev_length !== 0);\n if (s.match_available = 0, s.match_length = MIN_MATCH - 1, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n } else if (s.match_available) {\n if (bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), bflush)\n flush_block_only(s, !1);\n if (s.strstart++, s.lookahead--, s.strm.avail_out === 0)\n return BS_NEED_MORE;\n } else\n s.match_available = 1, s.strstart++, s.lookahead--;\n }\n if (s.match_available)\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), s.match_available = 0;\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_rle(s, flush) {\n var bflush, prev, scan, strend, _win = s.window;\n for (;; ) {\n if (s.lookahead <= MAX_MATCH) {\n if (fill_window(s), s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (s.match_length = 0, s.lookahead >= MIN_MATCH && s.strstart > 0) {\n if (scan = s.strstart - 1, prev = _win[scan], prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do\n ;\n while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend);\n if (s.match_length = MAX_MATCH - (strend - scan), s.match_length > s.lookahead)\n s.match_length = s.lookahead;\n }\n }\n if (s.match_length >= MIN_MATCH)\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.strstart += s.match_length, s.match_length = 0;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_huff(s, flush) {\n var bflush;\n for (;; ) {\n if (s.lookahead === 0) {\n if (fill_window(s), s.lookahead === 0) {\n if (flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n break;\n }\n }\n if (s.match_length = 0, bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length, this.max_lazy = max_lazy, this.nice_length = nice_length, this.max_chain = max_chain, this.func = func;\n }\n var configuration_table = [\n new Config(0, 0, 0, 0, deflate_stored),\n new Config(4, 4, 8, 4, deflate_fast),\n new Config(4, 5, 16, 8, deflate_fast),\n new Config(4, 6, 32, 32, deflate_fast),\n new Config(4, 4, 16, 16, deflate_slow),\n new Config(8, 16, 32, 32, deflate_slow),\n new Config(8, 16, 128, 128, deflate_slow),\n new Config(8, 32, 128, 256, deflate_slow),\n new Config(32, 128, 258, 1024, deflate_slow),\n new Config(32, 258, 258, 4096, deflate_slow)\n ];\n function lm_init(s) {\n s.window_size = 2 * s.w_size, zero(s.head), s.max_lazy_match = configuration_table[s.level].max_lazy, s.good_match = configuration_table[s.level].good_length, s.nice_match = configuration_table[s.level].nice_length, s.max_chain_length = configuration_table[s.level].max_chain, s.strstart = 0, s.block_start = 0, s.lookahead = 0, s.insert = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, s.ins_h = 0;\n }\n function DeflateState() {\n this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = Z_DEFLATED, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2), this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2), this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2), zero(this.dyn_ltree), zero(this.dyn_dtree), zero(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new utils.Buf16(MAX_BITS + 1), this.heap = new utils.Buf16(2 * L_CODES + 1), zero(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new utils.Buf16(2 * L_CODES + 1), zero(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;\n }\n function deflateResetKeep(strm) {\n var s;\n if (!strm || !strm.state)\n return err(strm, Z_STREAM_ERROR);\n if (strm.total_in = strm.total_out = 0, strm.data_type = Z_UNKNOWN, s = strm.state, s.pending = 0, s.pending_out = 0, s.wrap < 0)\n s.wrap = -s.wrap;\n return s.status = s.wrap \? INIT_STATE : BUSY_STATE, strm.adler = s.wrap === 2 \? 0 : 1, s.last_flush = Z_NO_FLUSH, trees._tr_init(s), Z_OK;\n }\n function deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK)\n lm_init(strm.state);\n return ret;\n }\n function deflateSetHeader(strm, head) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (strm.state.wrap !== 2)\n return Z_STREAM_ERROR;\n return strm.state.gzhead = head, Z_OK;\n }\n function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm)\n return Z_STREAM_ERROR;\n var wrap = 1;\n if (level === Z_DEFAULT_COMPRESSION)\n level = 6;\n if (windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (windowBits > 15)\n wrap = 2, windowBits -= 16;\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED)\n return err(strm, Z_STREAM_ERROR);\n if (windowBits === 8)\n windowBits = 9;\n var s = new DeflateState;\n return strm.state = s, s.strm = strm, s.wrap = wrap, s.gzhead = null, s.w_bits = windowBits, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = memLevel + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH), s.window = new utils.Buf8(s.w_size * 2), s.head = new utils.Buf16(s.hash_size), s.prev = new utils.Buf16(s.w_size), s.lit_bufsize = 1 << memLevel + 6, s.pending_buf_size = s.lit_bufsize * 4, s.pending_buf = new utils.Buf8(s.pending_buf_size), s.d_buf = 1 * s.lit_bufsize, s.l_buf = 3 * s.lit_bufsize, s.level = level, s.strategy = strategy, s.method = method, deflateReset(strm);\n }\n function deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n }\n function deflate(strm, flush) {\n var old_flush, s, beg, val;\n if (!strm || !strm.state || flush > Z_BLOCK || flush < 0)\n return strm \? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n if (s = strm.state, !strm.output || !strm.input && strm.avail_in !== 0 || s.status === FINISH_STATE && flush !== Z_FINISH)\n return err(strm, strm.avail_out === 0 \? Z_BUF_ERROR : Z_STREAM_ERROR);\n if (s.strm = strm, old_flush = s.last_flush, s.last_flush = flush, s.status === INIT_STATE)\n if (s.wrap === 2)\n if (strm.adler = 0, put_byte(s, 31), put_byte(s, 139), put_byte(s, 8), !s.gzhead)\n put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, OS_CODE), s.status = BUSY_STATE;\n else {\n if (put_byte(s, (s.gzhead.text \? 1 : 0) + (s.gzhead.hcrc \? 2 : 0) + (!s.gzhead.extra \? 0 : 4) + (!s.gzhead.name \? 0 : 8) + (!s.gzhead.comment \? 0 : 16)), put_byte(s, s.gzhead.time & 255), put_byte(s, s.gzhead.time >> 8 & 255), put_byte(s, s.gzhead.time >> 16 & 255), put_byte(s, s.gzhead.time >> 24 & 255), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, s.gzhead.os & 255), s.gzhead.extra && s.gzhead.extra.length)\n put_byte(s, s.gzhead.extra.length & 255), put_byte(s, s.gzhead.extra.length >> 8 & 255);\n if (s.gzhead.hcrc)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n s.gzindex = 0, s.status = EXTRA_STATE;\n }\n else {\n var header = Z_DEFLATED + (s.w_bits - 8 << 4) << 8, level_flags = -1;\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2)\n level_flags = 0;\n else if (s.level < 6)\n level_flags = 1;\n else if (s.level === 6)\n level_flags = 2;\n else\n level_flags = 3;\n if (header |= level_flags << 6, s.strstart !== 0)\n header |= PRESET_DICT;\n if (header += 31 - header % 31, s.status = BUSY_STATE, putShortMSB(s, header), s.strstart !== 0)\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n strm.adler = 1;\n }\n if (s.status === EXTRA_STATE)\n if (s.gzhead.extra) {\n beg = s.pending;\n while (s.gzindex < (s.gzhead.extra.length & 65535)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size)\n break;\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 255), s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (s.gzindex === s.gzhead.extra.length)\n s.gzindex = 0, s.status = NAME_STATE;\n } else\n s.status = NAME_STATE;\n if (s.status === NAME_STATE)\n if (s.gzhead.name) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.name.length)\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.gzindex = 0, s.status = COMMENT_STATE;\n } else\n s.status = COMMENT_STATE;\n if (s.status === COMMENT_STATE)\n if (s.gzhead.comment) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.comment.length)\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.status = HCRC_STATE;\n } else\n s.status = HCRC_STATE;\n if (s.status === HCRC_STATE)\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size)\n flush_pending(strm);\n if (s.pending + 2 <= s.pending_buf_size)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), strm.adler = 0, s.status = BUSY_STATE;\n } else\n s.status = BUSY_STATE;\n if (s.pending !== 0) {\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH)\n return err(strm, Z_BUF_ERROR);\n if (s.status === FINISH_STATE && strm.avail_in !== 0)\n return err(strm, Z_BUF_ERROR);\n if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH && s.status !== FINISH_STATE) {\n var bstate = s.strategy === Z_HUFFMAN_ONLY \? deflate_huff(s, flush) : s.strategy === Z_RLE \? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush);\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE)\n s.status = FINISH_STATE;\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0)\n s.last_flush = -1;\n return Z_OK;\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH)\n trees._tr_align(s);\n else if (flush !== Z_BLOCK) {\n if (trees._tr_stored_block(s, 0, 0, !1), flush === Z_FULL_FLUSH) {\n if (zero(s.head), s.lookahead === 0)\n s.strstart = 0, s.block_start = 0, s.insert = 0;\n }\n }\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n }\n }\n if (flush !== Z_FINISH)\n return Z_OK;\n if (s.wrap <= 0)\n return Z_STREAM_END;\n if (s.wrap === 2)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), put_byte(s, strm.adler >> 16 & 255), put_byte(s, strm.adler >> 24 & 255), put_byte(s, strm.total_in & 255), put_byte(s, strm.total_in >> 8 & 255), put_byte(s, strm.total_in >> 16 & 255), put_byte(s, strm.total_in >> 24 & 255);\n else\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n if (flush_pending(strm), s.wrap > 0)\n s.wrap = -s.wrap;\n return s.pending !== 0 \? Z_OK : Z_STREAM_END;\n }\n function deflateEnd(strm) {\n var status;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (status = strm.state.status, status !== INIT_STATE && status !== EXTRA_STATE && status !== NAME_STATE && status !== COMMENT_STATE && status !== HCRC_STATE && status !== BUSY_STATE && status !== FINISH_STATE)\n return err(strm, Z_STREAM_ERROR);\n return strm.state = null, status === BUSY_STATE \? err(strm, Z_DATA_ERROR) : Z_OK;\n }\n function deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, s, str, n, wrap, avail, next, input, tmpDict;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (s = strm.state, wrap = s.wrap, wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead)\n return Z_STREAM_ERROR;\n if (wrap === 1)\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n if (s.wrap = 0, dictLength >= s.w_size) {\n if (wrap === 0)\n zero(s.head), s.strstart = 0, s.block_start = 0, s.insert = 0;\n tmpDict = new utils.Buf8(s.w_size), utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0), dictionary = tmpDict, dictLength = s.w_size;\n }\n avail = strm.avail_in, next = strm.next_in, input = strm.input, strm.avail_in = dictLength, strm.next_in = 0, strm.input = dictionary, fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart, n = s.lookahead - (MIN_MATCH - 1);\n do\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++;\n while (--n);\n s.strstart = str, s.lookahead = MIN_MATCH - 1, fill_window(s);\n }\n return s.strstart += s.lookahead, s.block_start = s.strstart, s.insert = s.lookahead, s.lookahead = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, strm.next_in = next, strm.input = input, strm.avail_in = avail, s.wrap = wrap, Z_OK;\n }\n exports.deflateInit = deflateInit, exports.deflateInit2 = deflateInit2, exports.deflateReset = deflateReset, exports.deflateResetKeep = deflateResetKeep, exports.deflateSetHeader = deflateSetHeader, exports.deflate = deflate, exports.deflateEnd = deflateEnd, exports.deflateSetDictionary = deflateSetDictionary, exports.deflateInfo = \"pako deflate (from Nodeca project)\";\n }\n}), require_inffast = __commonJS({\n \"node_modules/pako/lib/zlib/inffast.js\"(exports, module2) {\n var BAD = 30, TYPE = 12;\n module2.exports = function inflate_fast(strm, start) {\n var state, _in, last, _out, beg, end, dmax, wsize, whave, wnext, s_window, hold, bits, lcode, dcode, lmask, dmask, here, op, len, dist, from, from_source, input, output;\n state = strm.state, _in = strm.next_in, input = strm.input, last = _in + (strm.avail_in - 5), _out = strm.next_out, output = strm.output, beg = _out - (start - strm.avail_out), end = _out + (strm.avail_out - 257), dmax = state.dmax, wsize = state.wsize, whave = state.whave, wnext = state.wnext, s_window = state.window, hold = state.hold, bits = state.bits, lcode = state.lencode, dcode = state.distcode, lmask = (1 << state.lenbits) - 1, dmask = (1 << state.distbits) - 1;\n top:\n do {\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = lcode[hold & lmask];\n dolen:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op === 0)\n output[_out++] = here & 65535;\n else if (op & 16) {\n if (len = here & 65535, op &= 15, op) {\n if (bits < op)\n hold += input[_in++] << bits, bits += 8;\n len += hold & (1 << op) - 1, hold >>>= op, bits -= op;\n }\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = dcode[hold & dmask];\n dodist:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op & 16) {\n if (dist = here & 65535, op &= 15, bits < op) {\n if (hold += input[_in++] << bits, bits += 8, bits < op)\n hold += input[_in++] << bits, bits += 8;\n }\n if (dist += hold & (1 << op) - 1, dist > dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n if (hold >>>= op, bits -= op, op = _out - beg, dist > op) {\n if (op = dist - op, op > whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n }\n if (from = 0, from_source = s_window, wnext === 0) {\n if (from += wsize - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n } else if (wnext < op) {\n if (from += wsize + wnext - op, op -= wnext, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n if (from = 0, wnext < len) {\n op = wnext, len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n }\n } else if (from += wnext - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n while (len > 2)\n output[_out++] = from_source[from++], output[_out++] = from_source[from++], output[_out++] = from_source[from++], len -= 3;\n if (len) {\n if (output[_out++] = from_source[from++], len > 1)\n output[_out++] = from_source[from++];\n }\n } else {\n from = _out - dist;\n do\n output[_out++] = output[from++], output[_out++] = output[from++], output[_out++] = output[from++], len -= 3;\n while (len > 2);\n if (len) {\n if (output[_out++] = output[from++], len > 1)\n output[_out++] = output[from++];\n }\n }\n } else if ((op & 64) === 0) {\n here = dcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dodist;\n } else {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } else if ((op & 64) === 0) {\n here = lcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dolen;\n } else if (op & 32) {\n state.mode = TYPE;\n break top;\n } else {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } while (_in < last && _out < end);\n len = bits >> 3, _in -= len, bits -= len << 3, hold &= (1 << bits) - 1, strm.next_in = _in, strm.next_out = _out, strm.avail_in = _in < last \? 5 + (last - _in) : 5 - (_in - last), strm.avail_out = _out < end \? 257 + (end - _out) : 257 - (_out - end), state.hold = hold, state.bits = bits;\n return;\n };\n }\n}), require_inftrees = __commonJS({\n \"node_modules/pako/lib/zlib/inftrees.js\"(exports, module2) {\n var utils = require_common(), MAXBITS = 15, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, CODES = 0, LENS = 1, DISTS = 2, lbase = [\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 13,\n 15,\n 17,\n 19,\n 23,\n 27,\n 31,\n 35,\n 43,\n 51,\n 59,\n 67,\n 83,\n 99,\n 115,\n 131,\n 163,\n 195,\n 227,\n 258,\n 0,\n 0\n ], lext = [\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 18,\n 19,\n 19,\n 19,\n 19,\n 20,\n 20,\n 20,\n 20,\n 21,\n 21,\n 21,\n 21,\n 16,\n 72,\n 78\n ], dbase = [\n 1,\n 2,\n 3,\n 4,\n 5,\n 7,\n 9,\n 13,\n 17,\n 25,\n 33,\n 49,\n 65,\n 97,\n 129,\n 193,\n 257,\n 385,\n 513,\n 769,\n 1025,\n 1537,\n 2049,\n 3073,\n 4097,\n 6145,\n 8193,\n 12289,\n 16385,\n 24577,\n 0,\n 0\n ], dext = [\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 18,\n 18,\n 19,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 24,\n 25,\n 25,\n 26,\n 26,\n 27,\n 27,\n 28,\n 28,\n 29,\n 29,\n 64,\n 64\n ];\n module2.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {\n var bits = opts.bits, len = 0, sym = 0, min = 0, max = 0, root = 0, curr = 0, drop = 0, left = 0, used = 0, huff = 0, incr, fill, low, mask, next, base = null, base_index = 0, end, count = new utils.Buf16(MAXBITS + 1), offs = new utils.Buf16(MAXBITS + 1), extra = null, extra_index = 0, here_bits, here_op, here_val;\n for (len = 0;len <= MAXBITS; len++)\n count[len] = 0;\n for (sym = 0;sym < codes; sym++)\n count[lens[lens_index + sym]]++;\n root = bits;\n for (max = MAXBITS;max >= 1; max--)\n if (count[max] !== 0)\n break;\n if (root > max)\n root = max;\n if (max === 0)\n return table[table_index++] = 1 << 24 | 64 << 16 | 0, table[table_index++] = 1 << 24 | 64 << 16 | 0, opts.bits = 1, 0;\n for (min = 1;min < max; min++)\n if (count[min] !== 0)\n break;\n if (root < min)\n root = min;\n left = 1;\n for (len = 1;len <= MAXBITS; len++)\n if (left <<= 1, left -= count[len], left < 0)\n return -1;\n if (left > 0 && (type === CODES || max !== 1))\n return -1;\n offs[1] = 0;\n for (len = 1;len < MAXBITS; len++)\n offs[len + 1] = offs[len] + count[len];\n for (sym = 0;sym < codes; sym++)\n if (lens[lens_index + sym] !== 0)\n work[offs[lens[lens_index + sym]]++] = sym;\n if (type === CODES)\n base = extra = work, end = 19;\n else if (type === LENS)\n base = lbase, base_index -= 257, extra = lext, extra_index -= 257, end = 256;\n else\n base = dbase, extra = dext, end = -1;\n if (huff = 0, sym = 0, len = min, next = table_index, curr = root, drop = 0, low = -1, used = 1 << root, mask = used - 1, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n for (;; ) {\n if (here_bits = len - drop, work[sym] < end)\n here_op = 0, here_val = work[sym];\n else if (work[sym] > end)\n here_op = extra[extra_index + work[sym]], here_val = base[base_index + work[sym]];\n else\n here_op = 96, here_val = 0;\n incr = 1 << len - drop, fill = 1 << curr, min = fill;\n do\n fill -= incr, table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;\n while (fill !== 0);\n incr = 1 << len - 1;\n while (huff & incr)\n incr >>= 1;\n if (incr !== 0)\n huff &= incr - 1, huff += incr;\n else\n huff = 0;\n if (sym++, --count[len] === 0) {\n if (len === max)\n break;\n len = lens[lens_index + work[sym]];\n }\n if (len > root && (huff & mask) !== low) {\n if (drop === 0)\n drop = root;\n next += min, curr = len - drop, left = 1 << curr;\n while (curr + drop < max) {\n if (left -= count[curr + drop], left <= 0)\n break;\n curr++, left <<= 1;\n }\n if (used += 1 << curr, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n low = huff & mask, table[low] = root << 24 | curr << 16 | next - table_index | 0;\n }\n }\n if (huff !== 0)\n table[next + huff] = len - drop << 24 | 64 << 16 | 0;\n return opts.bits = root, 0;\n };\n }\n}), require_inflate = __commonJS({\n \"node_modules/pako/lib/zlib/inflate.js\"(exports) {\n var utils = require_common(), adler32 = require_adler32(), crc32 = require_crc32(), inflate_fast = require_inffast(), inflate_table = require_inftrees(), CODES = 0, LENS = 1, DISTS = 2, Z_FINISH = 4, Z_BLOCK = 5, Z_TREES = 6, Z_OK = 0, Z_STREAM_END = 1, Z_NEED_DICT = 2, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_MEM_ERROR = -4, Z_BUF_ERROR = -5, Z_DEFLATED = 8, HEAD = 1, FLAGS = 2, TIME = 3, OS = 4, EXLEN = 5, EXTRA = 6, NAME = 7, COMMENT = 8, HCRC = 9, DICTID = 10, DICT = 11, TYPE = 12, TYPEDO = 13, STORED = 14, COPY_ = 15, COPY = 16, TABLE = 17, LENLENS = 18, CODELENS = 19, LEN_ = 20, LEN = 21, LENEXT = 22, DIST = 23, DISTEXT = 24, MATCH = 25, LIT = 26, CHECK = 27, LENGTH = 28, DONE = 29, BAD = 30, MEM = 31, SYNC = 32, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, MAX_WBITS = 15, DEF_WBITS = MAX_WBITS;\n function zswap32(q) {\n return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24);\n }\n function InflateState() {\n this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new utils.Buf16(320), this.work = new utils.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;\n }\n function inflateResetKeep(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, strm.total_in = strm.total_out = state.total = 0, strm.msg = \"\", state.wrap)\n strm.adler = state.wrap & 1;\n return state.mode = HEAD, state.last = 0, state.havedict = 0, state.dmax = 32768, state.head = null, state.hold = 0, state.bits = 0, state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS), state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS), state.sane = 1, state.back = -1, Z_OK;\n }\n function inflateReset(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n return state = strm.state, state.wsize = 0, state.whave = 0, state.wnext = 0, inflateResetKeep(strm);\n }\n function inflateReset2(strm, windowBits) {\n var wrap, state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (wrap = (windowBits >> 4) + 1, windowBits < 48)\n windowBits &= 15;\n if (windowBits && (windowBits < 8 || windowBits > 15))\n return Z_STREAM_ERROR;\n if (state.window !== null && state.wbits !== windowBits)\n state.window = null;\n return state.wrap = wrap, state.wbits = windowBits, inflateReset(strm);\n }\n function inflateInit2(strm, windowBits) {\n var ret, state;\n if (!strm)\n return Z_STREAM_ERROR;\n if (state = new InflateState, strm.state = state, state.window = null, ret = inflateReset2(strm, windowBits), ret !== Z_OK)\n strm.state = null;\n return ret;\n }\n function inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n }\n var virgin = !0, lenfix, distfix;\n function fixedtables(state) {\n if (virgin) {\n var sym;\n lenfix = new utils.Buf32(512), distfix = new utils.Buf32(32), sym = 0;\n while (sym < 144)\n state.lens[sym++] = 8;\n while (sym < 256)\n state.lens[sym++] = 9;\n while (sym < 280)\n state.lens[sym++] = 7;\n while (sym < 288)\n state.lens[sym++] = 8;\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {\n bits: 9\n }), sym = 0;\n while (sym < 32)\n state.lens[sym++] = 5;\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {\n bits: 5\n }), virgin = !1;\n }\n state.lencode = lenfix, state.lenbits = 9, state.distcode = distfix, state.distbits = 5;\n }\n function updatewindow(strm, src, end, copy) {\n var dist, state = strm.state;\n if (state.window === null)\n state.wsize = 1 << state.wbits, state.wnext = 0, state.whave = 0, state.window = new utils.Buf8(state.wsize);\n if (copy >= state.wsize)\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0), state.wnext = 0, state.whave = state.wsize;\n else {\n if (dist = state.wsize - state.wnext, dist > copy)\n dist = copy;\n if (utils.arraySet(state.window, src, end - copy, dist, state.wnext), copy -= dist, copy)\n utils.arraySet(state.window, src, end - copy, copy, 0), state.wnext = copy, state.whave = state.wsize;\n else {\n if (state.wnext += dist, state.wnext === state.wsize)\n state.wnext = 0;\n if (state.whave < state.wsize)\n state.whave += dist;\n }\n }\n return 0;\n }\n function inflate(strm, flush) {\n var state, input, output, next, put, have, left, hold, bits, _in, _out, copy, from, from_source, here = 0, here_bits, here_op, here_val, last_bits, last_op, last_val, len, ret, hbuf = new utils.Buf8(4), opts, n, order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.mode === TYPE)\n state.mode = TYPEDO;\n put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, _in = have, _out = left, ret = Z_OK;\n inf_leave:\n for (;; )\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.wrap & 2 && hold === 35615) {\n state.check = 0, hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0), hold = 0, bits = 0, state.mode = FLAGS;\n break;\n }\n if (state.flags = 0, state.head)\n state.head.done = !1;\n if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {\n strm.msg = \"incorrect header check\", state.mode = BAD;\n break;\n }\n if ((hold & 15) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (hold >>>= 4, bits -= 4, len = (hold & 15) + 8, state.wbits === 0)\n state.wbits = len;\n else if (len > state.wbits) {\n strm.msg = \"invalid window size\", state.mode = BAD;\n break;\n }\n state.dmax = 1 << len, strm.adler = state.check = 1, state.mode = hold & 512 \? DICTID : TYPE, hold = 0, bits = 0;\n break;\n case FLAGS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.flags = hold, (state.flags & 255) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (state.flags & 57344) {\n strm.msg = \"unknown header flags set\", state.mode = BAD;\n break;\n }\n if (state.head)\n state.head.text = hold >> 8 & 1;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = TIME;\n case TIME:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.time = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, hbuf[2] = hold >>> 16 & 255, hbuf[3] = hold >>> 24 & 255, state.check = crc32(state.check, hbuf, 4, 0);\n hold = 0, bits = 0, state.mode = OS;\n case OS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.xflags = hold & 255, state.head.os = hold >> 8;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = EXLEN;\n case EXLEN:\n if (state.flags & 1024) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.length = hold, state.head)\n state.head.extra_len = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0;\n } else if (state.head)\n state.head.extra = null;\n state.mode = EXTRA;\n case EXTRA:\n if (state.flags & 1024) {\n if (copy = state.length, copy > have)\n copy = have;\n if (copy) {\n if (state.head) {\n if (len = state.head.extra_len - state.length, !state.head.extra)\n state.head.extra = new @Array(state.head.extra_len);\n utils.arraySet(state.head.extra, input, next, copy, len);\n }\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n have -= copy, next += copy, state.length -= copy;\n }\n if (state.length)\n break inf_leave;\n }\n state.length = 0, state.mode = NAME;\n case NAME:\n if (state.flags & 2048) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.name += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.name = null;\n state.length = 0, state.mode = COMMENT;\n case COMMENT:\n if (state.flags & 4096) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.comment += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.comment = null;\n state.mode = HCRC;\n case HCRC:\n if (state.flags & 512) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.check & 65535)) {\n strm.msg = \"header crc mismatch\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n if (state.head)\n state.head.hcrc = state.flags >> 9 & 1, state.head.done = !0;\n strm.adler = state.check = 0, state.mode = TYPE;\n break;\n case DICTID:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n strm.adler = state.check = zswap32(hold), hold = 0, bits = 0, state.mode = DICT;\n case DICT:\n if (state.havedict === 0)\n return strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, Z_NEED_DICT;\n strm.adler = state.check = 1, state.mode = TYPE;\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES)\n break inf_leave;\n case TYPEDO:\n if (state.last) {\n hold >>>= bits & 7, bits -= bits & 7, state.mode = CHECK;\n break;\n }\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n switch (state.last = hold & 1, hold >>>= 1, bits -= 1, hold & 3) {\n case 0:\n state.mode = STORED;\n break;\n case 1:\n if (fixedtables(state), state.mode = LEN_, flush === Z_TREES) {\n hold >>>= 2, bits -= 2;\n break inf_leave;\n }\n break;\n case 2:\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = \"invalid block type\", state.mode = BAD;\n }\n hold >>>= 2, bits -= 2;\n break;\n case STORED:\n hold >>>= bits & 7, bits -= bits & 7;\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((hold & 65535) !== (hold >>> 16 ^ 65535)) {\n strm.msg = \"invalid stored block lengths\", state.mode = BAD;\n break;\n }\n if (state.length = hold & 65535, hold = 0, bits = 0, state.mode = COPY_, flush === Z_TREES)\n break inf_leave;\n case COPY_:\n state.mode = COPY;\n case COPY:\n if (copy = state.length, copy) {\n if (copy > have)\n copy = have;\n if (copy > left)\n copy = left;\n if (copy === 0)\n break inf_leave;\n utils.arraySet(output, input, next, copy, put), have -= copy, next += copy, left -= copy, put += copy, state.length -= copy;\n break;\n }\n state.mode = TYPE;\n break;\n case TABLE:\n while (bits < 14) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.nlen = (hold & 31) + 257, hold >>>= 5, bits -= 5, state.ndist = (hold & 31) + 1, hold >>>= 5, bits -= 5, state.ncode = (hold & 15) + 4, hold >>>= 4, bits -= 4, state.nlen > 286 || state.ndist > 30) {\n strm.msg = \"too many length or distance symbols\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = LENLENS;\n case LENLENS:\n while (state.have < state.ncode) {\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.lens[order[state.have++]] = hold & 7, hold >>>= 3, bits -= 3;\n }\n while (state.have < 19)\n state.lens[order[state.have++]] = 0;\n if (state.lencode = state.lendyn, state.lenbits = 7, opts = { bits: state.lenbits }, ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid code lengths set\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = CODELENS;\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_val < 16)\n hold >>>= here_bits, bits -= here_bits, state.lens[state.have++] = here_val;\n else {\n if (here_val === 16) {\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.have === 0) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1], copy = 3 + (hold & 3), hold >>>= 2, bits -= 2;\n } else if (here_val === 17) {\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 3 + (hold & 7), hold >>>= 3, bits -= 3;\n } else {\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 11 + (hold & 127), hold >>>= 7, bits -= 7;\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n while (copy--)\n state.lens[state.have++] = len;\n }\n }\n if (state.mode === BAD)\n break;\n if (state.lens[256] === 0) {\n strm.msg = \"invalid code -- missing end-of-block\", state.mode = BAD;\n break;\n }\n if (state.lenbits = 9, opts = { bits: state.lenbits }, ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid literal/lengths set\", state.mode = BAD;\n break;\n }\n if (state.distbits = 6, state.distcode = state.distdyn, opts = { bits: state.distbits }, ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts), state.distbits = opts.bits, ret) {\n strm.msg = \"invalid distances set\", state.mode = BAD;\n break;\n }\n if (state.mode = LEN_, flush === Z_TREES)\n break inf_leave;\n case LEN_:\n state.mode = LEN;\n case LEN:\n if (have >= 6 && left >= 258) {\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, inflate_fast(strm, _out), put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, state.mode === TYPE)\n state.back = -1;\n break;\n }\n state.back = 0;\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_op && (here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, state.length = here_val, here_op === 0) {\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n state.back = -1, state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break;\n }\n state.extra = here_op & 15, state.mode = LENEXT;\n case LENEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.length += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n state.was = state.length, state.mode = DIST;\n case DIST:\n for (;; ) {\n if (here = state.distcode[hold & (1 << state.distbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, here_op & 64) {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break;\n }\n state.offset = here_val, state.extra = here_op & 15, state.mode = DISTEXT;\n case DISTEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.offset += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n if (state.offset > state.dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n state.mode = MATCH;\n case MATCH:\n if (left === 0)\n break inf_leave;\n if (copy = _out - left, state.offset > copy) {\n if (copy = state.offset - copy, copy > state.whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n }\n if (copy > state.wnext)\n copy -= state.wnext, from = state.wsize - copy;\n else\n from = state.wnext - copy;\n if (copy > state.length)\n copy = state.length;\n from_source = state.window;\n } else\n from_source = output, from = put - state.offset, copy = state.length;\n if (copy > left)\n copy = left;\n left -= copy, state.length -= copy;\n do\n output[put++] = from_source[from++];\n while (--copy);\n if (state.length === 0)\n state.mode = LEN;\n break;\n case LIT:\n if (left === 0)\n break inf_leave;\n output[put++] = state.length, left--, state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold |= input[next++] << bits, bits += 8;\n }\n if (_out -= left, strm.total_out += _out, state.total += _out, _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);\n if (_out = left, (state.flags \? hold : zswap32(hold)) !== state.check) {\n strm.msg = \"incorrect data check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = LENGTH;\n case LENGTH:\n if (state.wrap && state.flags) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.total & 4294967295)) {\n strm.msg = \"incorrect length check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = DONE;\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n default:\n return Z_STREAM_ERROR;\n }\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out))\n return state.mode = MEM, Z_MEM_ERROR;\n }\n if (_in -= strm.avail_in, _out -= strm.avail_out, strm.total_in += _in, strm.total_out += _out, state.total += _out, state.wrap && _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);\n if (strm.data_type = state.bits + (state.last \? 64 : 0) + (state.mode === TYPE \? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ \? 256 : 0), (_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK)\n ret = Z_BUF_ERROR;\n return ret;\n }\n function inflateEnd(strm) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n var state = strm.state;\n if (state.window)\n state.window = null;\n return strm.state = null, Z_OK;\n }\n function inflateGetHeader(strm, head) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, (state.wrap & 2) === 0)\n return Z_STREAM_ERROR;\n return state.head = head, head.done = !1, Z_OK;\n }\n function inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, state, dictid, ret;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.wrap !== 0 && state.mode !== DICT)\n return Z_STREAM_ERROR;\n if (state.mode === DICT) {\n if (dictid = 1, dictid = adler32(dictid, dictionary, dictLength, 0), dictid !== state.check)\n return Z_DATA_ERROR;\n }\n if (ret = updatewindow(strm, dictionary, dictLength, dictLength), ret)\n return state.mode = MEM, Z_MEM_ERROR;\n return state.havedict = 1, Z_OK;\n }\n exports.inflateReset = inflateReset, exports.inflateReset2 = inflateReset2, exports.inflateResetKeep = inflateResetKeep, exports.inflateInit = inflateInit, exports.inflateInit2 = inflateInit2, exports.inflate = inflate, exports.inflateEnd = inflateEnd, exports.inflateGetHeader = inflateGetHeader, exports.inflateSetDictionary = inflateSetDictionary, exports.inflateInfo = \"pako inflate (from Nodeca project)\";\n }\n}), require_constants = __commonJS({\n \"node_modules/pako/lib/zlib/constants.js\"(exports, module2) {\n module2.exports = {\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_BUF_ERROR: -5,\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n Z_BINARY: 0,\n Z_TEXT: 1,\n Z_UNKNOWN: 2,\n Z_DEFLATED: 8\n };\n }\n}), require_binding = __commonJS({\n \"node_modules/browserify-zlib/lib/binding.js\"(exports) {\n var Zstream = require_zstream(), zlib_deflate = require_deflate(), zlib_inflate = require_inflate(), constants = require_constants();\n for (key in constants)\n exports[key] = constants[key];\n var key;\n exports.NONE = 0, exports.DEFLATE = 1, exports.INFLATE = 2, exports.GZIP = 3, exports.GUNZIP = 4, exports.DEFLATERAW = 5, exports.INFLATERAW = 6, exports.UNZIP = 7;\n var GZIP_HEADER_ID1 = 31, GZIP_HEADER_ID2 = 139;\n function Zlib(mode) {\n if (typeof mode !== \"number\" || mode < exports.DEFLATE || mode > exports.UNZIP)\n @throwTypeError(\"Bad argument\");\n this.dictionary = null, this.err = 0, this.flush = 0, this.init_done = !1, this.level = 0, this.memLevel = 0, this.mode = mode, this.strategy = 0, this.windowBits = 0, this.write_in_progress = !1, this.pending_close = !1, this.gzip_id_bytes_read = 0;\n }\n Zlib.prototype = {}, Zlib.prototype.close = function() {\n if (this.write_in_progress) {\n this.pending_close = !0;\n return;\n }\n if (this.pending_close = !1, assert(this.init_done, \"close before init\"), assert(this.mode <= exports.UNZIP), this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW)\n zlib_deflate.deflateEnd(this.strm);\n else if (this.mode === exports.INFLATE || this.mode === exports.GUNZIP || this.mode === exports.INFLATERAW || this.mode === exports.UNZIP)\n zlib_inflate.inflateEnd(this.strm);\n this.mode = exports.NONE, this.dictionary = null;\n }, Zlib.prototype.write = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!0, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype.writeSync = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!1, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype._write = function(async, flush, input, in_off, in_len, out, out_off, out_len) {\n if (assert.equal(arguments.length, 8), assert(this.init_done, \"write before init\"), assert(this.mode !== exports.NONE, \"already finalized\"), assert.equal(!1, this.write_in_progress, \"write already in progress\"), assert.equal(!1, this.pending_close, \"close is pending\"), this.write_in_progress = !0, assert.equal(!1, flush === void 0, \"must provide flush value\"), this.write_in_progress = !0, flush !== exports.Z_NO_FLUSH && flush !== exports.Z_PARTIAL_FLUSH && flush !== exports.Z_SYNC_FLUSH && flush !== exports.Z_FULL_FLUSH && flush !== exports.Z_FINISH && flush !== exports.Z_BLOCK)\n throw new Error(\"Invalid flush value\");\n if (input == null)\n input = @Buffer.alloc(0), in_len = 0, in_off = 0;\n if (this.strm.avail_in = in_len, this.strm.input = input, this.strm.next_in = in_off, this.strm.avail_out = out_len, this.strm.output = out, this.strm.next_out = out_off, this.flush = flush, !async) {\n if (this._process(), this._checkError())\n return this._afterSync();\n return;\n }\n var self = this;\n return process.nextTick(function() {\n self._process(), self._after();\n }), this;\n }, Zlib.prototype._afterSync = function() {\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n return this.write_in_progress = !1, [avail_in, avail_out];\n }, Zlib.prototype._process = function() {\n var next_expected_header_byte = null;\n switch (this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflate(this.strm, this.flush);\n break;\n case exports.UNZIP:\n if (this.strm.avail_in > 0)\n next_expected_header_byte = this.strm.next_in;\n switch (this.gzip_id_bytes_read) {\n case 0:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID1) {\n if (this.gzip_id_bytes_read = 1, next_expected_header_byte++, this.strm.avail_in === 1)\n break;\n } else {\n this.mode = exports.INFLATE;\n break;\n }\n case 1:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID2)\n this.gzip_id_bytes_read = 2, this.mode = exports.GUNZIP;\n else\n this.mode = exports.INFLATE;\n break;\n default:\n throw new Error(\"invalid number of gzip magic number bytes read\");\n }\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n if (this.err = zlib_inflate.inflate(this.strm, this.flush), this.err === exports.Z_NEED_DICT && this.dictionary) {\n if (this.err = zlib_inflate.inflateSetDictionary(this.strm, this.dictionary), this.err === exports.Z_OK)\n this.err = zlib_inflate.inflate(this.strm, this.flush);\n else if (this.err === exports.Z_DATA_ERROR)\n this.err = exports.Z_NEED_DICT;\n }\n while (this.strm.avail_in > 0 && this.mode === exports.GUNZIP && this.err === exports.Z_STREAM_END && this.strm.next_in[0] !== 0)\n this.reset(), this.err = zlib_inflate.inflate(this.strm, this.flush);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n }, Zlib.prototype._checkError = function() {\n switch (this.err) {\n case exports.Z_OK:\n case exports.Z_BUF_ERROR:\n if (this.strm.avail_out !== 0 && this.flush === exports.Z_FINISH)\n return this._error(\"unexpected end of file\"), !1;\n break;\n case exports.Z_STREAM_END:\n break;\n case exports.Z_NEED_DICT:\n if (this.dictionary == null)\n this._error(\"Missing dictionary\");\n else\n this._error(\"Bad dictionary\");\n return !1;\n default:\n return this._error(\"Zlib error\"), !1;\n }\n return !0;\n }, Zlib.prototype._after = function() {\n if (!this._checkError())\n return;\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n if (this.write_in_progress = !1, this.callback(avail_in, avail_out), this.pending_close)\n this.close();\n }, Zlib.prototype._error = function(message) {\n if (this.strm.msg)\n message = this.strm.msg;\n if (this.onerror(message, this.err), this.write_in_progress = !1, this.pending_close)\n this.close();\n }, Zlib.prototype.init = function(windowBits, level, memLevel, strategy, dictionary) {\n assert(arguments.length === 4 || arguments.length === 5, \"init(windowBits, level, memLevel, strategy, [dictionary])\"), assert(windowBits >= 8 && windowBits <= 15, \"invalid windowBits\"), assert(level >= -1 && level <= 9, \"invalid compression level\"), assert(memLevel >= 1 && memLevel <= 9, \"invalid memlevel\"), assert(strategy === exports.Z_FILTERED || strategy === exports.Z_HUFFMAN_ONLY || strategy === exports.Z_RLE || strategy === exports.Z_FIXED || strategy === exports.Z_DEFAULT_STRATEGY, \"invalid strategy\"), this._init(level, windowBits, memLevel, strategy, dictionary), this._setDictionary();\n }, Zlib.prototype.params = function() {\n throw new Error(\"deflateParams Not supported\");\n }, Zlib.prototype.reset = function() {\n this._reset(), this._setDictionary();\n }, Zlib.prototype._init = function(level, windowBits, memLevel, strategy, dictionary) {\n if (this.level = level, this.windowBits = windowBits, this.memLevel = memLevel, this.strategy = strategy, this.flush = exports.Z_NO_FLUSH, this.err = exports.Z_OK, this.mode === exports.GZIP || this.mode === exports.GUNZIP)\n this.windowBits += 16;\n if (this.mode === exports.UNZIP)\n this.windowBits += 32;\n if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW)\n this.windowBits = -1 * this.windowBits;\n switch (this.strm = new Zstream, this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateInit2(this.strm, this.level, exports.Z_DEFLATED, this.windowBits, this.memLevel, this.strategy);\n break;\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n case exports.UNZIP:\n this.err = zlib_inflate.inflateInit2(this.strm, this.windowBits);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Init error\");\n this.dictionary = dictionary, this.write_in_progress = !1, this.init_done = !0;\n }, Zlib.prototype._setDictionary = function() {\n if (this.dictionary == null)\n return;\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateSetDictionary(this.strm, this.dictionary);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to set dictionary\");\n }, Zlib.prototype._reset = function() {\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n case exports.GZIP:\n this.err = zlib_deflate.deflateReset(this.strm);\n break;\n case exports.INFLATE:\n case exports.INFLATERAW:\n case exports.GUNZIP:\n this.err = zlib_inflate.inflateReset(this.strm);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to reset stream\");\n }, exports.Zlib = Zlib;\n }\n}), require_lib = __commonJS({\n \"node_modules/browserify-zlib/lib/index.js\"(exports) {\n var Buffer2 = BufferModule.Buffer, Transform = StreamModule.Transform, binding = require_binding(), util = Util, kMaxLength = BufferModule.kMaxLength, kRangeErrorMessage = \"Cannot create final Buffer. It would be larger than 0x\" + kMaxLength.toString(16) + \" bytes\";\n binding.Z_MIN_WINDOWBITS = 8, binding.Z_MAX_WINDOWBITS = 15, binding.Z_DEFAULT_WINDOWBITS = 15, binding.Z_MIN_CHUNK = 64, binding.Z_MAX_CHUNK = @Infinity, binding.Z_DEFAULT_CHUNK = 16384, binding.Z_MIN_MEMLEVEL = 1, binding.Z_MAX_MEMLEVEL = 9, binding.Z_DEFAULT_MEMLEVEL = 8, binding.Z_MIN_LEVEL = -1, binding.Z_MAX_LEVEL = 9, binding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n var bkeys = Object.keys(binding);\n for (bk = 0;bk < bkeys.length; bk++)\n if (bkey = bkeys[bk], bkey.match(/^Z/))\n Object.defineProperty(exports, bkey, {\n enumerable: !0,\n value: binding[bkey],\n writable: !1\n });\n var bkey, bk, codes = {\n Z_OK: binding.Z_OK,\n Z_STREAM_END: binding.Z_STREAM_END,\n Z_NEED_DICT: binding.Z_NEED_DICT,\n Z_ERRNO: binding.Z_ERRNO,\n Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n Z_DATA_ERROR: binding.Z_DATA_ERROR,\n Z_MEM_ERROR: binding.Z_MEM_ERROR,\n Z_BUF_ERROR: binding.Z_BUF_ERROR,\n Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n }, ckeys = Object.keys(codes);\n for (ck = 0;ck < ckeys.length; ck++)\n ckey = ckeys[ck], codes[codes[ckey]] = ckey;\n var ckey, ck;\n Object.defineProperty(exports, \"codes\", {\n enumerable: !0,\n value: Object.freeze(codes),\n writable: !1\n }), exports.constants = require_constants(), exports.Deflate = Deflate, exports.Inflate = Inflate, exports.Gzip = Gzip, exports.Gunzip = Gunzip, exports.DeflateRaw = DeflateRaw, exports.InflateRaw = InflateRaw, exports.Unzip = Unzip, exports.createDeflate = function(o) {\n return new Deflate(o);\n }, exports.createInflate = function(o) {\n return new Inflate(o);\n }, exports.createDeflateRaw = function(o) {\n return new DeflateRaw(o);\n }, exports.createInflateRaw = function(o) {\n return new InflateRaw(o);\n }, exports.createGzip = function(o) {\n return new Gzip(o);\n }, exports.createGunzip = function(o) {\n return new Gunzip(o);\n }, exports.createUnzip = function(o) {\n return new Unzip(o);\n }, exports.deflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Deflate(opts), buffer, callback);\n }, exports.deflateSync = function(buffer, opts) {\n return zlibBufferSync(new Deflate(opts), buffer);\n }, exports.gzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gzip(opts), buffer, callback);\n }, exports.gzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gzip(opts), buffer);\n }, exports.deflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n }, exports.deflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new DeflateRaw(opts), buffer);\n }, exports.unzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Unzip(opts), buffer, callback);\n }, exports.unzipSync = function(buffer, opts) {\n return zlibBufferSync(new Unzip(opts), buffer);\n }, exports.inflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Inflate(opts), buffer, callback);\n }, exports.inflateSync = function(buffer, opts) {\n return zlibBufferSync(new Inflate(opts), buffer);\n }, exports.gunzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gunzip(opts), buffer, callback);\n }, exports.gunzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gunzip(opts), buffer);\n }, exports.inflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new InflateRaw(opts), buffer, callback);\n }, exports.inflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new InflateRaw(opts), buffer);\n }, exports.brotliCompress = function(buffer, opts, callback) {\n throw new Error(\"zlib.brotliCompress is not implemented\");\n };\n function zlibBuffer(engine, buffer, callback) {\n var buffers = [], nread = 0;\n engine.on(\"error\", onError), engine.on(\"end\", onEnd), engine.end(buffer), flow();\n function flow() {\n var chunk;\n while ((chunk = engine.read()) !== null)\n buffers.push(chunk), nread += chunk.length;\n engine.once(\"readable\", flow);\n }\n function onError(err) {\n engine.removeListener(\"end\", onEnd), engine.removeListener(\"readable\", flow), callback(err);\n }\n function onEnd() {\n var buf, err = null;\n if (nread >= kMaxLength)\n err = new RangeError(kRangeErrorMessage);\n else\n buf = Buffer2.concat(buffers, nread);\n buffers = [], engine.close(), callback(err, buf);\n }\n }\n function zlibBufferSync(engine, buffer) {\n if (typeof buffer === \"string\")\n buffer = Buffer2.from(buffer);\n if (!Buffer2.isBuffer(buffer))\n @throwTypeError(\"Not a string or buffer\");\n var flushFlag = engine._finishFlushFlag;\n return engine._processChunk(buffer, flushFlag);\n }\n function Deflate(opts) {\n if (!(this instanceof Deflate))\n return new Deflate(opts);\n Zlib.@call(this, opts, binding.DEFLATE);\n }\n function Inflate(opts) {\n if (!(this instanceof Inflate))\n return new Inflate(opts);\n Zlib.@call(this, opts, binding.INFLATE);\n }\n function Gzip(opts) {\n if (!(this instanceof Gzip))\n return new Gzip(opts);\n Zlib.@call(this, opts, binding.GZIP);\n }\n function Gunzip(opts) {\n if (!(this instanceof Gunzip))\n return new Gunzip(opts);\n Zlib.@call(this, opts, binding.GUNZIP);\n }\n function DeflateRaw(opts) {\n if (!(this instanceof DeflateRaw))\n return new DeflateRaw(opts);\n Zlib.@call(this, opts, binding.DEFLATERAW);\n }\n function InflateRaw(opts) {\n if (!(this instanceof InflateRaw))\n return new InflateRaw(opts);\n Zlib.@call(this, opts, binding.INFLATERAW);\n }\n function Unzip(opts) {\n if (!(this instanceof Unzip))\n return new Unzip(opts);\n Zlib.@call(this, opts, binding.UNZIP);\n }\n function isValidFlushFlag(flag) {\n return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK;\n }\n function Zlib(opts, mode) {\n var _this = this;\n if (this._opts = opts = opts || {}, this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK, Transform.@call(this, opts), opts.flush && !isValidFlushFlag(opts.flush))\n throw new Error(\"Invalid flush flag: \" + opts.flush);\n if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush))\n throw new Error(\"Invalid flush flag: \" + opts.finishFlush);\n if (this._flushFlag = opts.flush || binding.Z_NO_FLUSH, this._finishFlushFlag = typeof opts.finishFlush !== \"undefined\" \? opts.finishFlush : binding.Z_FINISH, opts.chunkSize) {\n if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK)\n throw new Error(\"Invalid chunk size: \" + opts.chunkSize);\n }\n if (opts.windowBits) {\n if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS)\n throw new Error(\"Invalid windowBits: \" + opts.windowBits);\n }\n if (opts.level) {\n if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL)\n throw new Error(\"Invalid compression level: \" + opts.level);\n }\n if (opts.memLevel) {\n if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL)\n throw new Error(\"Invalid memLevel: \" + opts.memLevel);\n }\n if (opts.strategy) {\n if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY)\n throw new Error(\"Invalid strategy: \" + opts.strategy);\n }\n if (opts.dictionary) {\n if (!Buffer2.isBuffer(opts.dictionary))\n throw new Error(\"Invalid dictionary: it should be a Buffer instance\");\n }\n this._handle = new binding.Zlib(mode);\n var self = this;\n this._hadError = !1, this._handle.onerror = function(message, errno) {\n _close(self), self._hadError = !0;\n var error = new Error(message);\n error.errno = errno, error.code = exports.codes[errno], self.emit(\"error\", error);\n };\n var level = exports.Z_DEFAULT_COMPRESSION;\n if (typeof opts.level === \"number\")\n level = opts.level;\n var strategy = exports.Z_DEFAULT_STRATEGY;\n if (typeof opts.strategy === \"number\")\n strategy = opts.strategy;\n this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary), this._buffer = Buffer2.allocUnsafe(this._chunkSize), this._offset = 0, this._level = level, this._strategy = strategy, this.once(\"end\", this.close), Object.defineProperty(this, \"_closed\", {\n get: function() {\n return !_this._handle;\n },\n configurable: !0,\n enumerable: !0\n });\n }\n util.inherits(Zlib, Transform), Zlib.prototype.params = function(level, strategy, callback) {\n if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL)\n @throwRangeError(\"Invalid compression level: \" + level);\n if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY)\n @throwTypeError(\"Invalid strategy: \" + strategy);\n if (this._level !== level || this._strategy !== strategy) {\n var self = this;\n this.flush(binding.Z_SYNC_FLUSH, function() {\n if (assert(self._handle, \"zlib binding closed\"), self._handle.params(level, strategy), !self._hadError) {\n if (self._level = level, self._strategy = strategy, callback)\n callback();\n }\n });\n } else\n process.nextTick(callback);\n }, Zlib.prototype.reset = function() {\n return assert(this._handle, \"zlib binding closed\"), this._handle.reset();\n }, Zlib.prototype._flush = function(callback) {\n this._transform(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.flush = function(kind, callback) {\n var _this2 = this, ws = this._writableState;\n if (typeof kind === \"function\" || kind === void 0 && !callback)\n callback = kind, kind = binding.Z_FULL_FLUSH;\n if (ws.ended) {\n if (callback)\n process.nextTick(callback);\n } else if (ws.ending) {\n if (callback)\n this.once(\"end\", callback);\n } else if (ws.needDrain) {\n if (callback)\n this.once(\"drain\", function() {\n return _this2.flush(kind, callback);\n });\n } else\n this._flushFlag = kind, this.write(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.close = function(callback) {\n _close(this, callback), process.nextTick(emitCloseNT, this);\n };\n function _close(engine, callback) {\n if (callback)\n process.nextTick(callback);\n if (!engine._handle)\n return;\n engine._handle.close(), engine._handle = null;\n }\n function emitCloseNT(self) {\n self.emit(\"close\");\n }\n Zlib.prototype._transform = function(chunk, encoding, cb) {\n var flushFlag, ws = this._writableState, ending = ws.ending || ws.ended, last = ending && (!chunk || ws.length === chunk.length);\n if (chunk !== null && !Buffer2.isBuffer(chunk))\n return cb(new Error(\"invalid input\"));\n if (!this._handle)\n return cb(new Error(\"zlib binding closed\"));\n if (last)\n flushFlag = this._finishFlushFlag;\n else if (flushFlag = this._flushFlag, chunk.length >= ws.length)\n this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n this._processChunk(chunk, flushFlag, cb);\n }, Zlib.prototype._processChunk = function(chunk, flushFlag, cb) {\n var availInBefore = chunk && chunk.length, availOutBefore = this._chunkSize - this._offset, inOff = 0, self = this, async = typeof cb === \"function\";\n if (!async) {\n var buffers = [], nread = 0, error;\n this.on(\"error\", function(er) {\n error = er;\n }), assert(this._handle, \"zlib binding closed\");\n do\n var res = this._handle.writeSync(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n while (!this._hadError && callback(res[0], res[1]));\n if (this._hadError)\n throw error;\n if (nread >= kMaxLength)\n _close(this), @throwRangeError(kRangeErrorMessage);\n var buf = Buffer2.concat(buffers, nread);\n return _close(this), buf;\n }\n assert(this._handle, \"zlib binding closed\");\n var req = this._handle.write(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n req.buffer = chunk, req.callback = callback;\n function callback(availInAfter, availOutAfter) {\n if (this)\n this.buffer = null, this.callback = null;\n if (self._hadError)\n return;\n var have = availOutBefore - availOutAfter;\n if (assert(have >= 0, \"have should not go down\"), have > 0) {\n var out = self._buffer.slice(self._offset, self._offset + have);\n if (self._offset += have, async)\n self.push(out);\n else\n buffers.push(out), nread += out.length;\n }\n if (availOutAfter === 0 || self._offset >= self._chunkSize)\n availOutBefore = self._chunkSize, self._offset = 0, self._buffer = Buffer2.allocUnsafe(self._chunkSize);\n if (availOutAfter === 0) {\n if (inOff += availInBefore - availInAfter, availInBefore = availInAfter, !async)\n return !0;\n var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize);\n newReq.callback = callback, newReq.buffer = chunk;\n return;\n }\n if (!async)\n return !1;\n cb();\n }\n }, util.inherits(Deflate, Zlib), util.inherits(Inflate, Zlib), util.inherits(Gzip, Zlib), util.inherits(Gunzip, Zlib), util.inherits(DeflateRaw, Zlib), util.inherits(InflateRaw, Zlib), util.inherits(Unzip, Zlib);\n }\n});\nreturn require_lib()})\n"); +static constexpr ASCIILiteral NodeZlibCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/zlib.ts\nvar assert = @getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8), BufferModule = @requireNativeModule(\"buffer\"), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), Util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_zstream = __commonJS({\n \"node_modules/pako/lib/zlib/zstream.js\"(exports, module2) {\n function ZStream() {\n this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = \"\", this.state = null, this.data_type = 2, this.adler = 0;\n }\n module2.exports = ZStream;\n }\n}), require_common = __commonJS({\n \"node_modules/pako/lib/utils/common.js\"(exports) {\n var TYPED_OK = typeof @Uint8Array !== \"undefined\" && typeof Uint16Array !== \"undefined\" && typeof Int32Array !== \"undefined\";\n function _has(obj, key) {\n return Object.prototype.hasOwnProperty.@call(obj, key);\n }\n exports.assign = function(obj) {\n var sources = @Array.prototype.slice.@call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source)\n continue;\n if (typeof source !== \"object\")\n @throwTypeError(source + \"must be non-object\");\n for (var p in source)\n if (_has(source, p))\n obj[p] = source[p];\n }\n return obj;\n }, exports.shrinkBuf = function(buf, size) {\n if (buf.length === size)\n return buf;\n if (buf.subarray)\n return buf.subarray(0, size);\n return buf.length = size, buf;\n };\n var fnTyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n var i, l, len, pos, chunk, result;\n len = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n len += chunks[i].length;\n result = new @Uint8Array(len), pos = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n chunk = chunks[i], result.set(chunk, pos), pos += chunk.length;\n return result;\n }\n }, fnUntyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n return [].concat.@apply([], chunks);\n }\n };\n exports.setTyped = function(on) {\n if (on)\n exports.Buf8 = @Uint8Array, exports.Buf16 = Uint16Array, exports.Buf32 = Int32Array, exports.assign(exports, fnTyped);\n else\n exports.Buf8 = @Array, exports.Buf16 = @Array, exports.Buf32 = @Array, exports.assign(exports, fnUntyped);\n }, exports.setTyped(TYPED_OK);\n }\n}), require_trees = __commonJS({\n \"node_modules/pako/lib/zlib/trees.js\"(exports) {\n var utils = require_common(), Z_FIXED = 4, Z_BINARY = 0, Z_TEXT = 1, Z_UNKNOWN = 2;\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n var STORED_BLOCK = 0, STATIC_TREES = 1, DYN_TREES = 2, MIN_MATCH = 3, MAX_MATCH = 258, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, Buf_size = 16, MAX_BL_BITS = 7, END_BLOCK = 256, REP_3_6 = 16, REPZ_3_10 = 17, REPZ_11_138 = 18, extra_lbits = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], extra_dbits = [\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 3,\n 3,\n 4,\n 4,\n 5,\n 5,\n 6,\n 6,\n 7,\n 7,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13\n ], extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], DIST_CODE_LEN = 512, static_ltree = new @Array((L_CODES + 2) * 2);\n zero(static_ltree);\n var static_dtree = new @Array(D_CODES * 2);\n zero(static_dtree);\n var _dist_code = new @Array(DIST_CODE_LEN);\n zero(_dist_code);\n var _length_code = new @Array(MAX_MATCH - MIN_MATCH + 1);\n zero(_length_code);\n var base_length = new @Array(LENGTH_CODES);\n zero(base_length);\n var base_dist = new @Array(D_CODES);\n zero(base_dist);\n function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n this.static_tree = static_tree, this.extra_bits = extra_bits, this.extra_base = extra_base, this.elems = elems, this.max_length = max_length, this.has_stree = static_tree && static_tree.length;\n }\n var static_l_desc, static_d_desc, static_bl_desc;\n function TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree, this.max_code = 0, this.stat_desc = stat_desc;\n }\n function d_code(dist) {\n return dist < 256 \? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n }\n function put_short(s, w) {\n s.pending_buf[s.pending++] = w & 255, s.pending_buf[s.pending++] = w >>> 8 & 255;\n }\n function send_bits(s, value, length) {\n if (s.bi_valid > Buf_size - length)\n s.bi_buf |= value << s.bi_valid & 65535, put_short(s, s.bi_buf), s.bi_buf = value >> Buf_size - s.bi_valid, s.bi_valid += length - Buf_size;\n else\n s.bi_buf |= value << s.bi_valid & 65535, s.bi_valid += length;\n }\n function send_code(s, c, tree) {\n send_bits(s, tree[c * 2], tree[c * 2 + 1]);\n }\n function bi_reverse(code, len) {\n var res = 0;\n do\n res |= code & 1, code >>>= 1, res <<= 1;\n while (--len > 0);\n return res >>> 1;\n }\n function bi_flush(s) {\n if (s.bi_valid === 16)\n put_short(s, s.bi_buf), s.bi_buf = 0, s.bi_valid = 0;\n else if (s.bi_valid >= 8)\n s.pending_buf[s.pending++] = s.bi_buf & 255, s.bi_buf >>= 8, s.bi_valid -= 8;\n }\n function gen_bitlen(s, desc) {\n var { dyn_tree: tree, max_code } = desc, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, extra = desc.stat_desc.extra_bits, base = desc.stat_desc.extra_base, max_length = desc.stat_desc.max_length, h, n, m, bits, xbits, f, overflow = 0;\n for (bits = 0;bits <= MAX_BITS; bits++)\n s.bl_count[bits] = 0;\n tree[s.heap[s.heap_max] * 2 + 1] = 0;\n for (h = s.heap_max + 1;h < HEAP_SIZE; h++) {\n if (n = s.heap[h], bits = tree[tree[n * 2 + 1] * 2 + 1] + 1, bits > max_length)\n bits = max_length, overflow++;\n if (tree[n * 2 + 1] = bits, n > max_code)\n continue;\n if (s.bl_count[bits]++, xbits = 0, n >= base)\n xbits = extra[n - base];\n if (f = tree[n * 2], s.opt_len += f * (bits + xbits), has_stree)\n s.static_len += f * (stree[n * 2 + 1] + xbits);\n }\n if (overflow === 0)\n return;\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0)\n bits--;\n s.bl_count[bits]--, s.bl_count[bits + 1] += 2, s.bl_count[max_length]--, overflow -= 2;\n } while (overflow > 0);\n for (bits = max_length;bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n if (m = s.heap[--h], m > max_code)\n continue;\n if (tree[m * 2 + 1] !== bits)\n s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2], tree[m * 2 + 1] = bits;\n n--;\n }\n }\n }\n function gen_codes(tree, max_code, bl_count) {\n var next_code = new @Array(MAX_BITS + 1), code = 0, bits, n;\n for (bits = 1;bits <= MAX_BITS; bits++)\n next_code[bits] = code = code + bl_count[bits - 1] << 1;\n for (n = 0;n <= max_code; n++) {\n var len = tree[n * 2 + 1];\n if (len === 0)\n continue;\n tree[n * 2] = bi_reverse(next_code[len]++, len);\n }\n }\n function tr_static_init() {\n var n, bits, length, code, dist, bl_count = new @Array(MAX_BITS + 1);\n length = 0;\n for (code = 0;code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0;n < 1 << extra_lbits[code]; n++)\n _length_code[length++] = code;\n }\n _length_code[length - 1] = code, dist = 0;\n for (code = 0;code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0;n < 1 << extra_dbits[code]; n++)\n _dist_code[dist++] = code;\n }\n dist >>= 7;\n for (;code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0;n < 1 << extra_dbits[code] - 7; n++)\n _dist_code[256 + dist++] = code;\n }\n for (bits = 0;bits <= MAX_BITS; bits++)\n bl_count[bits] = 0;\n n = 0;\n while (n <= 143)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n while (n <= 255)\n static_ltree[n * 2 + 1] = 9, n++, bl_count[9]++;\n while (n <= 279)\n static_ltree[n * 2 + 1] = 7, n++, bl_count[7]++;\n while (n <= 287)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n for (n = 0;n < D_CODES; n++)\n static_dtree[n * 2 + 1] = 5, static_dtree[n * 2] = bi_reverse(n, 5);\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS), static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS), static_bl_desc = new StaticTreeDesc(new @Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n }\n function init_block(s) {\n var n;\n for (n = 0;n < L_CODES; n++)\n s.dyn_ltree[n * 2] = 0;\n for (n = 0;n < D_CODES; n++)\n s.dyn_dtree[n * 2] = 0;\n for (n = 0;n < BL_CODES; n++)\n s.bl_tree[n * 2] = 0;\n s.dyn_ltree[END_BLOCK * 2] = 1, s.opt_len = s.static_len = 0, s.last_lit = s.matches = 0;\n }\n function bi_windup(s) {\n if (s.bi_valid > 8)\n put_short(s, s.bi_buf);\n else if (s.bi_valid > 0)\n s.pending_buf[s.pending++] = s.bi_buf;\n s.bi_buf = 0, s.bi_valid = 0;\n }\n function copy_block(s, buf, len, header) {\n if (bi_windup(s), header)\n put_short(s, len), put_short(s, ~len);\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending), s.pending += len;\n }\n function smaller(tree, n, m, depth) {\n var _n2 = n * 2, _m2 = m * 2;\n return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m];\n }\n function pqdownheap(s, tree, k) {\n var v = s.heap[k], j = k << 1;\n while (j <= s.heap_len) {\n if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth))\n j++;\n if (smaller(tree, v, s.heap[j], s.depth))\n break;\n s.heap[k] = s.heap[j], k = j, j <<= 1;\n }\n s.heap[k] = v;\n }\n function compress_block(s, ltree, dtree) {\n var dist, lc, lx = 0, code, extra;\n if (s.last_lit !== 0)\n do\n if (dist = s.pending_buf[s.d_buf + lx * 2] << 8 | s.pending_buf[s.d_buf + lx * 2 + 1], lc = s.pending_buf[s.l_buf + lx], lx++, dist === 0)\n send_code(s, lc, ltree);\n else {\n if (code = _length_code[lc], send_code(s, code + LITERALS + 1, ltree), extra = extra_lbits[code], extra !== 0)\n lc -= base_length[code], send_bits(s, lc, extra);\n if (dist--, code = d_code(dist), send_code(s, code, dtree), extra = extra_dbits[code], extra !== 0)\n dist -= base_dist[code], send_bits(s, dist, extra);\n }\n while (lx < s.last_lit);\n send_code(s, END_BLOCK, ltree);\n }\n function build_tree(s, desc) {\n var tree = desc.dyn_tree, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, elems = desc.stat_desc.elems, n, m, max_code = -1, node;\n s.heap_len = 0, s.heap_max = HEAP_SIZE;\n for (n = 0;n < elems; n++)\n if (tree[n * 2] !== 0)\n s.heap[++s.heap_len] = max_code = n, s.depth[n] = 0;\n else\n tree[n * 2 + 1] = 0;\n while (s.heap_len < 2)\n if (node = s.heap[++s.heap_len] = max_code < 2 \? ++max_code : 0, tree[node * 2] = 1, s.depth[node] = 0, s.opt_len--, has_stree)\n s.static_len -= stree[node * 2 + 1];\n desc.max_code = max_code;\n for (n = s.heap_len >> 1;n >= 1; n--)\n pqdownheap(s, tree, n);\n node = elems;\n do\n n = s.heap[1], s.heap[1] = s.heap[s.heap_len--], pqdownheap(s, tree, 1), m = s.heap[1], s.heap[--s.heap_max] = n, s.heap[--s.heap_max] = m, tree[node * 2] = tree[n * 2] + tree[m * 2], s.depth[node] = (s.depth[n] >= s.depth[m] \? s.depth[n] : s.depth[m]) + 1, tree[n * 2 + 1] = tree[m * 2 + 1] = node, s.heap[1] = node++, pqdownheap(s, tree, 1);\n while (s.heap_len >= 2);\n s.heap[--s.heap_max] = s.heap[1], gen_bitlen(s, desc), gen_codes(tree, max_code, s.bl_count);\n }\n function scan_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n tree[(max_code + 1) * 2 + 1] = 65535;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n s.bl_tree[curlen * 2] += count;\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n s.bl_tree[curlen * 2]++;\n s.bl_tree[REP_3_6 * 2]++;\n } else if (count <= 10)\n s.bl_tree[REPZ_3_10 * 2]++;\n else\n s.bl_tree[REPZ_11_138 * 2]++;\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function send_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n do\n send_code(s, curlen, s.bl_tree);\n while (--count !== 0);\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n send_code(s, curlen, s.bl_tree), count--;\n send_code(s, REP_3_6, s.bl_tree), send_bits(s, count - 3, 2);\n } else if (count <= 10)\n send_code(s, REPZ_3_10, s.bl_tree), send_bits(s, count - 3, 3);\n else\n send_code(s, REPZ_11_138, s.bl_tree), send_bits(s, count - 11, 7);\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function build_bl_tree(s) {\n var max_blindex;\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code), scan_tree(s, s.dyn_dtree, s.d_desc.max_code), build_tree(s, s.bl_desc);\n for (max_blindex = BL_CODES - 1;max_blindex >= 3; max_blindex--)\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0)\n break;\n return s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4, max_blindex;\n }\n function send_all_trees(s, lcodes, dcodes, blcodes) {\n var rank;\n send_bits(s, lcodes - 257, 5), send_bits(s, dcodes - 1, 5), send_bits(s, blcodes - 4, 4);\n for (rank = 0;rank < blcodes; rank++)\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1], 3);\n send_tree(s, s.dyn_ltree, lcodes - 1), send_tree(s, s.dyn_dtree, dcodes - 1);\n }\n function detect_data_type(s) {\n var black_mask = 4093624447, n;\n for (n = 0;n <= 31; n++, black_mask >>>= 1)\n if (black_mask & 1 && s.dyn_ltree[n * 2] !== 0)\n return Z_BINARY;\n if (s.dyn_ltree[18] !== 0 || s.dyn_ltree[20] !== 0 || s.dyn_ltree[26] !== 0)\n return Z_TEXT;\n for (n = 32;n < LITERALS; n++)\n if (s.dyn_ltree[n * 2] !== 0)\n return Z_TEXT;\n return Z_BINARY;\n }\n var static_init_done = !1;\n function _tr_init(s) {\n if (!static_init_done)\n tr_static_init(), static_init_done = !0;\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc), s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc), s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc), s.bi_buf = 0, s.bi_valid = 0, init_block(s);\n }\n function _tr_stored_block(s, buf, stored_len, last) {\n send_bits(s, (STORED_BLOCK << 1) + (last \? 1 : 0), 3), copy_block(s, buf, stored_len, !0);\n }\n function _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3), send_code(s, END_BLOCK, static_ltree), bi_flush(s);\n }\n function _tr_flush_block(s, buf, stored_len, last) {\n var opt_lenb, static_lenb, max_blindex = 0;\n if (s.level > 0) {\n if (s.strm.data_type === Z_UNKNOWN)\n s.strm.data_type = detect_data_type(s);\n if (build_tree(s, s.l_desc), build_tree(s, s.d_desc), max_blindex = build_bl_tree(s), opt_lenb = s.opt_len + 3 + 7 >>> 3, static_lenb = s.static_len + 3 + 7 >>> 3, static_lenb <= opt_lenb)\n opt_lenb = static_lenb;\n } else\n opt_lenb = static_lenb = stored_len + 5;\n if (stored_len + 4 <= opt_lenb && buf !== -1)\n _tr_stored_block(s, buf, stored_len, last);\n else if (s.strategy === Z_FIXED || static_lenb === opt_lenb)\n send_bits(s, (STATIC_TREES << 1) + (last \? 1 : 0), 3), compress_block(s, static_ltree, static_dtree);\n else\n send_bits(s, (DYN_TREES << 1) + (last \? 1 : 0), 3), send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1), compress_block(s, s.dyn_ltree, s.dyn_dtree);\n if (init_block(s), last)\n bi_windup(s);\n }\n function _tr_tally(s, dist, lc) {\n if (s.pending_buf[s.d_buf + s.last_lit * 2] = dist >>> 8 & 255, s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 255, s.pending_buf[s.l_buf + s.last_lit] = lc & 255, s.last_lit++, dist === 0)\n s.dyn_ltree[lc * 2]++;\n else\n s.matches++, dist--, s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]++, s.dyn_dtree[d_code(dist) * 2]++;\n return s.last_lit === s.lit_bufsize - 1;\n }\n exports._tr_init = _tr_init, exports._tr_stored_block = _tr_stored_block, exports._tr_flush_block = _tr_flush_block, exports._tr_tally = _tr_tally, exports._tr_align = _tr_align;\n }\n}), require_adler32 = __commonJS({\n \"node_modules/pako/lib/zlib/adler32.js\"(exports, module2) {\n function adler32(adler, buf, len, pos) {\n var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0;\n while (len !== 0) {\n n = len > 2000 \? 2000 : len, len -= n;\n do\n s1 = s1 + buf[pos++] | 0, s2 = s2 + s1 | 0;\n while (--n);\n s1 %= 65521, s2 %= 65521;\n }\n return s1 | s2 << 16 | 0;\n }\n module2.exports = adler32;\n }\n}), require_crc32 = __commonJS({\n \"node_modules/pako/lib/zlib/crc32.js\"(exports, module2) {\n function makeTable() {\n var c, table = [];\n for (var n = 0;n < 256; n++) {\n c = n;\n for (var k = 0;k < 8; k++)\n c = c & 1 \? 3988292384 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return table;\n }\n var crcTable = makeTable();\n function crc32(crc, buf, len, pos) {\n var t = crcTable, end = pos + len;\n crc ^= -1;\n for (var i = pos;i < end; i++)\n crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255];\n return crc ^ -1;\n }\n module2.exports = crc32;\n }\n}), require_messages = __commonJS({\n \"node_modules/pako/lib/zlib/messages.js\"(exports, module2) {\n module2.exports = {\n 2: \"need dictionary\",\n 1: \"stream end\",\n 0: \"\",\n \"-1\": \"file error\",\n \"-2\": \"stream error\",\n \"-3\": \"data error\",\n \"-4\": \"insufficient memory\",\n \"-5\": \"buffer error\",\n \"-6\": \"incompatible version\"\n };\n }\n}), require_deflate = __commonJS({\n \"node_modules/pako/lib/zlib/deflate.js\"(exports) {\n var utils = require_common(), trees = require_trees(), adler32 = require_adler32(), crc32 = require_crc32(), msg = require_messages(), Z_NO_FLUSH = 0, Z_PARTIAL_FLUSH = 1, Z_FULL_FLUSH = 3, Z_FINISH = 4, Z_BLOCK = 5, Z_OK = 0, Z_STREAM_END = 1, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_BUF_ERROR = -5, Z_DEFAULT_COMPRESSION = -1, Z_FILTERED = 1, Z_HUFFMAN_ONLY = 2, Z_RLE = 3, Z_FIXED = 4, Z_DEFAULT_STRATEGY = 0, Z_UNKNOWN = 2, Z_DEFLATED = 8, MAX_MEM_LEVEL = 9, MAX_WBITS = 15, DEF_MEM_LEVEL = 8, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, MIN_MATCH = 3, MAX_MATCH = 258, MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1, PRESET_DICT = 32, INIT_STATE = 42, EXTRA_STATE = 69, NAME_STATE = 73, COMMENT_STATE = 91, HCRC_STATE = 103, BUSY_STATE = 113, FINISH_STATE = 666, BS_NEED_MORE = 1, BS_BLOCK_DONE = 2, BS_FINISH_STARTED = 3, BS_FINISH_DONE = 4, OS_CODE = 3;\n function err(strm, errorCode) {\n return strm.msg = msg[errorCode], errorCode;\n }\n function rank(f) {\n return (f << 1) - (f > 4 \? 9 : 0);\n }\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n function flush_pending(strm) {\n var s = strm.state, len = s.pending;\n if (len > strm.avail_out)\n len = strm.avail_out;\n if (len === 0)\n return;\n if (utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out), strm.next_out += len, s.pending_out += len, strm.total_out += len, strm.avail_out -= len, s.pending -= len, s.pending === 0)\n s.pending_out = 0;\n }\n function flush_block_only(s, last) {\n trees._tr_flush_block(s, s.block_start >= 0 \? s.block_start : -1, s.strstart - s.block_start, last), s.block_start = s.strstart, flush_pending(s.strm);\n }\n function put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n }\n function putShortMSB(s, b) {\n s.pending_buf[s.pending++] = b >>> 8 & 255, s.pending_buf[s.pending++] = b & 255;\n }\n function read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n if (len > size)\n len = size;\n if (len === 0)\n return 0;\n if (strm.avail_in -= len, utils.arraySet(buf, strm.input, strm.next_in, len, start), strm.state.wrap === 1)\n strm.adler = adler32(strm.adler, buf, len, start);\n else if (strm.state.wrap === 2)\n strm.adler = crc32(strm.adler, buf, len, start);\n return strm.next_in += len, strm.total_in += len, len;\n }\n function longest_match(s, cur_match) {\n var { max_chain_length: chain_length, strstart: scan } = s, match, len, best_len = s.prev_length, nice_match = s.nice_match, limit = s.strstart > s.w_size - MIN_LOOKAHEAD \? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0, _win = s.window, wmask = s.w_mask, prev = s.prev, strend = s.strstart + MAX_MATCH, scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n if (s.prev_length >= s.good_match)\n chain_length >>= 2;\n if (nice_match > s.lookahead)\n nice_match = s.lookahead;\n do {\n if (match = cur_match, _win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1])\n continue;\n scan += 2, match++;\n do\n ;\n while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend);\n if (len = MAX_MATCH - (strend - scan), scan = strend - MAX_MATCH, len > best_len) {\n if (s.match_start = cur_match, best_len = len, len >= nice_match)\n break;\n scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n if (best_len <= s.lookahead)\n return best_len;\n return s.lookahead;\n }\n function fill_window(s) {\n var _w_size = s.w_size, p, n, m, more, str;\n do {\n if (more = s.window_size - s.lookahead - s.strstart, s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0), s.match_start -= _w_size, s.strstart -= _w_size, s.block_start -= _w_size, n = s.hash_size, p = n;\n do\n m = s.head[--p], s.head[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n n = _w_size, p = n;\n do\n m = s.prev[--p], s.prev[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n more += _w_size;\n }\n if (s.strm.avail_in === 0)\n break;\n if (n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more), s.lookahead += n, s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert, s.ins_h = s.window[str], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + 1]) & s.hash_mask;\n while (s.insert)\n if (s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++, s.insert--, s.lookahead + s.insert < MIN_MATCH)\n break;\n }\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n }\n function deflate_stored(s, flush) {\n var max_block_size = 65535;\n if (max_block_size > s.pending_buf_size - 5)\n max_block_size = s.pending_buf_size - 5;\n for (;; ) {\n if (s.lookahead <= 1) {\n if (fill_window(s), s.lookahead === 0 && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n s.strstart += s.lookahead, s.lookahead = 0;\n var max_start = s.block_start + max_block_size;\n if (s.strstart === 0 || s.strstart >= max_start) {\n if (s.lookahead = s.strstart - max_start, s.strstart = max_start, flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n if (s.strstart - s.block_start >= s.w_size - MIN_LOOKAHEAD) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.strstart > s.block_start) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_NEED_MORE;\n }\n function deflate_fast(s, flush) {\n var hash_head, bflush;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (hash_head !== 0 && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD)\n s.match_length = longest_match(s, hash_head);\n if (s.match_length >= MIN_MATCH)\n if (bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.match_length <= s.max_lazy_match && s.lookahead >= MIN_MATCH) {\n s.match_length--;\n do\n s.strstart++, s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.match_length !== 0);\n s.strstart++;\n } else\n s.strstart += s.match_length, s.match_length = 0, s.ins_h = s.window[s.strstart], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + 1]) & s.hash_mask;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_slow(s, flush) {\n var hash_head, bflush, max_insert;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (s.prev_length = s.match_length, s.prev_match = s.match_start, s.match_length = MIN_MATCH - 1, hash_head !== 0 && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) {\n if (s.match_length = longest_match(s, hash_head), s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096))\n s.match_length = MIN_MATCH - 1;\n }\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH, bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH), s.lookahead -= s.prev_length - 1, s.prev_length -= 2;\n do\n if (++s.strstart <= max_insert)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.prev_length !== 0);\n if (s.match_available = 0, s.match_length = MIN_MATCH - 1, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n } else if (s.match_available) {\n if (bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), bflush)\n flush_block_only(s, !1);\n if (s.strstart++, s.lookahead--, s.strm.avail_out === 0)\n return BS_NEED_MORE;\n } else\n s.match_available = 1, s.strstart++, s.lookahead--;\n }\n if (s.match_available)\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), s.match_available = 0;\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_rle(s, flush) {\n var bflush, prev, scan, strend, _win = s.window;\n for (;; ) {\n if (s.lookahead <= MAX_MATCH) {\n if (fill_window(s), s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (s.match_length = 0, s.lookahead >= MIN_MATCH && s.strstart > 0) {\n if (scan = s.strstart - 1, prev = _win[scan], prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do\n ;\n while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend);\n if (s.match_length = MAX_MATCH - (strend - scan), s.match_length > s.lookahead)\n s.match_length = s.lookahead;\n }\n }\n if (s.match_length >= MIN_MATCH)\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.strstart += s.match_length, s.match_length = 0;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_huff(s, flush) {\n var bflush;\n for (;; ) {\n if (s.lookahead === 0) {\n if (fill_window(s), s.lookahead === 0) {\n if (flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n break;\n }\n }\n if (s.match_length = 0, bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length, this.max_lazy = max_lazy, this.nice_length = nice_length, this.max_chain = max_chain, this.func = func;\n }\n var configuration_table = [\n new Config(0, 0, 0, 0, deflate_stored),\n new Config(4, 4, 8, 4, deflate_fast),\n new Config(4, 5, 16, 8, deflate_fast),\n new Config(4, 6, 32, 32, deflate_fast),\n new Config(4, 4, 16, 16, deflate_slow),\n new Config(8, 16, 32, 32, deflate_slow),\n new Config(8, 16, 128, 128, deflate_slow),\n new Config(8, 32, 128, 256, deflate_slow),\n new Config(32, 128, 258, 1024, deflate_slow),\n new Config(32, 258, 258, 4096, deflate_slow)\n ];\n function lm_init(s) {\n s.window_size = 2 * s.w_size, zero(s.head), s.max_lazy_match = configuration_table[s.level].max_lazy, s.good_match = configuration_table[s.level].good_length, s.nice_match = configuration_table[s.level].nice_length, s.max_chain_length = configuration_table[s.level].max_chain, s.strstart = 0, s.block_start = 0, s.lookahead = 0, s.insert = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, s.ins_h = 0;\n }\n function DeflateState() {\n this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = Z_DEFLATED, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2), this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2), this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2), zero(this.dyn_ltree), zero(this.dyn_dtree), zero(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new utils.Buf16(MAX_BITS + 1), this.heap = new utils.Buf16(2 * L_CODES + 1), zero(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new utils.Buf16(2 * L_CODES + 1), zero(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;\n }\n function deflateResetKeep(strm) {\n var s;\n if (!strm || !strm.state)\n return err(strm, Z_STREAM_ERROR);\n if (strm.total_in = strm.total_out = 0, strm.data_type = Z_UNKNOWN, s = strm.state, s.pending = 0, s.pending_out = 0, s.wrap < 0)\n s.wrap = -s.wrap;\n return s.status = s.wrap \? INIT_STATE : BUSY_STATE, strm.adler = s.wrap === 2 \? 0 : 1, s.last_flush = Z_NO_FLUSH, trees._tr_init(s), Z_OK;\n }\n function deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK)\n lm_init(strm.state);\n return ret;\n }\n function deflateSetHeader(strm, head) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (strm.state.wrap !== 2)\n return Z_STREAM_ERROR;\n return strm.state.gzhead = head, Z_OK;\n }\n function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm)\n return Z_STREAM_ERROR;\n var wrap = 1;\n if (level === Z_DEFAULT_COMPRESSION)\n level = 6;\n if (windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (windowBits > 15)\n wrap = 2, windowBits -= 16;\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED)\n return err(strm, Z_STREAM_ERROR);\n if (windowBits === 8)\n windowBits = 9;\n var s = new DeflateState;\n return strm.state = s, s.strm = strm, s.wrap = wrap, s.gzhead = null, s.w_bits = windowBits, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = memLevel + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH), s.window = new utils.Buf8(s.w_size * 2), s.head = new utils.Buf16(s.hash_size), s.prev = new utils.Buf16(s.w_size), s.lit_bufsize = 1 << memLevel + 6, s.pending_buf_size = s.lit_bufsize * 4, s.pending_buf = new utils.Buf8(s.pending_buf_size), s.d_buf = 1 * s.lit_bufsize, s.l_buf = 3 * s.lit_bufsize, s.level = level, s.strategy = strategy, s.method = method, deflateReset(strm);\n }\n function deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n }\n function deflate(strm, flush) {\n var old_flush, s, beg, val;\n if (!strm || !strm.state || flush > Z_BLOCK || flush < 0)\n return strm \? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n if (s = strm.state, !strm.output || !strm.input && strm.avail_in !== 0 || s.status === FINISH_STATE && flush !== Z_FINISH)\n return err(strm, strm.avail_out === 0 \? Z_BUF_ERROR : Z_STREAM_ERROR);\n if (s.strm = strm, old_flush = s.last_flush, s.last_flush = flush, s.status === INIT_STATE)\n if (s.wrap === 2)\n if (strm.adler = 0, put_byte(s, 31), put_byte(s, 139), put_byte(s, 8), !s.gzhead)\n put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, OS_CODE), s.status = BUSY_STATE;\n else {\n if (put_byte(s, (s.gzhead.text \? 1 : 0) + (s.gzhead.hcrc \? 2 : 0) + (!s.gzhead.extra \? 0 : 4) + (!s.gzhead.name \? 0 : 8) + (!s.gzhead.comment \? 0 : 16)), put_byte(s, s.gzhead.time & 255), put_byte(s, s.gzhead.time >> 8 & 255), put_byte(s, s.gzhead.time >> 16 & 255), put_byte(s, s.gzhead.time >> 24 & 255), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, s.gzhead.os & 255), s.gzhead.extra && s.gzhead.extra.length)\n put_byte(s, s.gzhead.extra.length & 255), put_byte(s, s.gzhead.extra.length >> 8 & 255);\n if (s.gzhead.hcrc)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n s.gzindex = 0, s.status = EXTRA_STATE;\n }\n else {\n var header = Z_DEFLATED + (s.w_bits - 8 << 4) << 8, level_flags = -1;\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2)\n level_flags = 0;\n else if (s.level < 6)\n level_flags = 1;\n else if (s.level === 6)\n level_flags = 2;\n else\n level_flags = 3;\n if (header |= level_flags << 6, s.strstart !== 0)\n header |= PRESET_DICT;\n if (header += 31 - header % 31, s.status = BUSY_STATE, putShortMSB(s, header), s.strstart !== 0)\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n strm.adler = 1;\n }\n if (s.status === EXTRA_STATE)\n if (s.gzhead.extra) {\n beg = s.pending;\n while (s.gzindex < (s.gzhead.extra.length & 65535)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size)\n break;\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 255), s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (s.gzindex === s.gzhead.extra.length)\n s.gzindex = 0, s.status = NAME_STATE;\n } else\n s.status = NAME_STATE;\n if (s.status === NAME_STATE)\n if (s.gzhead.name) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.name.length)\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.gzindex = 0, s.status = COMMENT_STATE;\n } else\n s.status = COMMENT_STATE;\n if (s.status === COMMENT_STATE)\n if (s.gzhead.comment) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.comment.length)\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.status = HCRC_STATE;\n } else\n s.status = HCRC_STATE;\n if (s.status === HCRC_STATE)\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size)\n flush_pending(strm);\n if (s.pending + 2 <= s.pending_buf_size)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), strm.adler = 0, s.status = BUSY_STATE;\n } else\n s.status = BUSY_STATE;\n if (s.pending !== 0) {\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH)\n return err(strm, Z_BUF_ERROR);\n if (s.status === FINISH_STATE && strm.avail_in !== 0)\n return err(strm, Z_BUF_ERROR);\n if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH && s.status !== FINISH_STATE) {\n var bstate = s.strategy === Z_HUFFMAN_ONLY \? deflate_huff(s, flush) : s.strategy === Z_RLE \? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush);\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE)\n s.status = FINISH_STATE;\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0)\n s.last_flush = -1;\n return Z_OK;\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH)\n trees._tr_align(s);\n else if (flush !== Z_BLOCK) {\n if (trees._tr_stored_block(s, 0, 0, !1), flush === Z_FULL_FLUSH) {\n if (zero(s.head), s.lookahead === 0)\n s.strstart = 0, s.block_start = 0, s.insert = 0;\n }\n }\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n }\n }\n if (flush !== Z_FINISH)\n return Z_OK;\n if (s.wrap <= 0)\n return Z_STREAM_END;\n if (s.wrap === 2)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), put_byte(s, strm.adler >> 16 & 255), put_byte(s, strm.adler >> 24 & 255), put_byte(s, strm.total_in & 255), put_byte(s, strm.total_in >> 8 & 255), put_byte(s, strm.total_in >> 16 & 255), put_byte(s, strm.total_in >> 24 & 255);\n else\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n if (flush_pending(strm), s.wrap > 0)\n s.wrap = -s.wrap;\n return s.pending !== 0 \? Z_OK : Z_STREAM_END;\n }\n function deflateEnd(strm) {\n var status;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (status = strm.state.status, status !== INIT_STATE && status !== EXTRA_STATE && status !== NAME_STATE && status !== COMMENT_STATE && status !== HCRC_STATE && status !== BUSY_STATE && status !== FINISH_STATE)\n return err(strm, Z_STREAM_ERROR);\n return strm.state = null, status === BUSY_STATE \? err(strm, Z_DATA_ERROR) : Z_OK;\n }\n function deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, s, str, n, wrap, avail, next, input, tmpDict;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (s = strm.state, wrap = s.wrap, wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead)\n return Z_STREAM_ERROR;\n if (wrap === 1)\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n if (s.wrap = 0, dictLength >= s.w_size) {\n if (wrap === 0)\n zero(s.head), s.strstart = 0, s.block_start = 0, s.insert = 0;\n tmpDict = new utils.Buf8(s.w_size), utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0), dictionary = tmpDict, dictLength = s.w_size;\n }\n avail = strm.avail_in, next = strm.next_in, input = strm.input, strm.avail_in = dictLength, strm.next_in = 0, strm.input = dictionary, fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart, n = s.lookahead - (MIN_MATCH - 1);\n do\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++;\n while (--n);\n s.strstart = str, s.lookahead = MIN_MATCH - 1, fill_window(s);\n }\n return s.strstart += s.lookahead, s.block_start = s.strstart, s.insert = s.lookahead, s.lookahead = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, strm.next_in = next, strm.input = input, strm.avail_in = avail, s.wrap = wrap, Z_OK;\n }\n exports.deflateInit = deflateInit, exports.deflateInit2 = deflateInit2, exports.deflateReset = deflateReset, exports.deflateResetKeep = deflateResetKeep, exports.deflateSetHeader = deflateSetHeader, exports.deflate = deflate, exports.deflateEnd = deflateEnd, exports.deflateSetDictionary = deflateSetDictionary, exports.deflateInfo = \"pako deflate (from Nodeca project)\";\n }\n}), require_inffast = __commonJS({\n \"node_modules/pako/lib/zlib/inffast.js\"(exports, module2) {\n var BAD = 30, TYPE = 12;\n module2.exports = function inflate_fast(strm, start) {\n var state, _in, last, _out, beg, end, dmax, wsize, whave, wnext, s_window, hold, bits, lcode, dcode, lmask, dmask, here, op, len, dist, from, from_source, input, output;\n state = strm.state, _in = strm.next_in, input = strm.input, last = _in + (strm.avail_in - 5), _out = strm.next_out, output = strm.output, beg = _out - (start - strm.avail_out), end = _out + (strm.avail_out - 257), dmax = state.dmax, wsize = state.wsize, whave = state.whave, wnext = state.wnext, s_window = state.window, hold = state.hold, bits = state.bits, lcode = state.lencode, dcode = state.distcode, lmask = (1 << state.lenbits) - 1, dmask = (1 << state.distbits) - 1;\n top:\n do {\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = lcode[hold & lmask];\n dolen:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op === 0)\n output[_out++] = here & 65535;\n else if (op & 16) {\n if (len = here & 65535, op &= 15, op) {\n if (bits < op)\n hold += input[_in++] << bits, bits += 8;\n len += hold & (1 << op) - 1, hold >>>= op, bits -= op;\n }\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = dcode[hold & dmask];\n dodist:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op & 16) {\n if (dist = here & 65535, op &= 15, bits < op) {\n if (hold += input[_in++] << bits, bits += 8, bits < op)\n hold += input[_in++] << bits, bits += 8;\n }\n if (dist += hold & (1 << op) - 1, dist > dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n if (hold >>>= op, bits -= op, op = _out - beg, dist > op) {\n if (op = dist - op, op > whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n }\n if (from = 0, from_source = s_window, wnext === 0) {\n if (from += wsize - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n } else if (wnext < op) {\n if (from += wsize + wnext - op, op -= wnext, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n if (from = 0, wnext < len) {\n op = wnext, len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n }\n } else if (from += wnext - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n while (len > 2)\n output[_out++] = from_source[from++], output[_out++] = from_source[from++], output[_out++] = from_source[from++], len -= 3;\n if (len) {\n if (output[_out++] = from_source[from++], len > 1)\n output[_out++] = from_source[from++];\n }\n } else {\n from = _out - dist;\n do\n output[_out++] = output[from++], output[_out++] = output[from++], output[_out++] = output[from++], len -= 3;\n while (len > 2);\n if (len) {\n if (output[_out++] = output[from++], len > 1)\n output[_out++] = output[from++];\n }\n }\n } else if ((op & 64) === 0) {\n here = dcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dodist;\n } else {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } else if ((op & 64) === 0) {\n here = lcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dolen;\n } else if (op & 32) {\n state.mode = TYPE;\n break top;\n } else {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } while (_in < last && _out < end);\n len = bits >> 3, _in -= len, bits -= len << 3, hold &= (1 << bits) - 1, strm.next_in = _in, strm.next_out = _out, strm.avail_in = _in < last \? 5 + (last - _in) : 5 - (_in - last), strm.avail_out = _out < end \? 257 + (end - _out) : 257 - (_out - end), state.hold = hold, state.bits = bits;\n return;\n };\n }\n}), require_inftrees = __commonJS({\n \"node_modules/pako/lib/zlib/inftrees.js\"(exports, module2) {\n var utils = require_common(), MAXBITS = 15, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, CODES = 0, LENS = 1, DISTS = 2, lbase = [\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 13,\n 15,\n 17,\n 19,\n 23,\n 27,\n 31,\n 35,\n 43,\n 51,\n 59,\n 67,\n 83,\n 99,\n 115,\n 131,\n 163,\n 195,\n 227,\n 258,\n 0,\n 0\n ], lext = [\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 18,\n 19,\n 19,\n 19,\n 19,\n 20,\n 20,\n 20,\n 20,\n 21,\n 21,\n 21,\n 21,\n 16,\n 72,\n 78\n ], dbase = [\n 1,\n 2,\n 3,\n 4,\n 5,\n 7,\n 9,\n 13,\n 17,\n 25,\n 33,\n 49,\n 65,\n 97,\n 129,\n 193,\n 257,\n 385,\n 513,\n 769,\n 1025,\n 1537,\n 2049,\n 3073,\n 4097,\n 6145,\n 8193,\n 12289,\n 16385,\n 24577,\n 0,\n 0\n ], dext = [\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 18,\n 18,\n 19,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 24,\n 25,\n 25,\n 26,\n 26,\n 27,\n 27,\n 28,\n 28,\n 29,\n 29,\n 64,\n 64\n ];\n module2.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {\n var bits = opts.bits, len = 0, sym = 0, min = 0, max = 0, root = 0, curr = 0, drop = 0, left = 0, used = 0, huff = 0, incr, fill, low, mask, next, base = null, base_index = 0, end, count = new utils.Buf16(MAXBITS + 1), offs = new utils.Buf16(MAXBITS + 1), extra = null, extra_index = 0, here_bits, here_op, here_val;\n for (len = 0;len <= MAXBITS; len++)\n count[len] = 0;\n for (sym = 0;sym < codes; sym++)\n count[lens[lens_index + sym]]++;\n root = bits;\n for (max = MAXBITS;max >= 1; max--)\n if (count[max] !== 0)\n break;\n if (root > max)\n root = max;\n if (max === 0)\n return table[table_index++] = 1 << 24 | 64 << 16 | 0, table[table_index++] = 1 << 24 | 64 << 16 | 0, opts.bits = 1, 0;\n for (min = 1;min < max; min++)\n if (count[min] !== 0)\n break;\n if (root < min)\n root = min;\n left = 1;\n for (len = 1;len <= MAXBITS; len++)\n if (left <<= 1, left -= count[len], left < 0)\n return -1;\n if (left > 0 && (type === CODES || max !== 1))\n return -1;\n offs[1] = 0;\n for (len = 1;len < MAXBITS; len++)\n offs[len + 1] = offs[len] + count[len];\n for (sym = 0;sym < codes; sym++)\n if (lens[lens_index + sym] !== 0)\n work[offs[lens[lens_index + sym]]++] = sym;\n if (type === CODES)\n base = extra = work, end = 19;\n else if (type === LENS)\n base = lbase, base_index -= 257, extra = lext, extra_index -= 257, end = 256;\n else\n base = dbase, extra = dext, end = -1;\n if (huff = 0, sym = 0, len = min, next = table_index, curr = root, drop = 0, low = -1, used = 1 << root, mask = used - 1, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n for (;; ) {\n if (here_bits = len - drop, work[sym] < end)\n here_op = 0, here_val = work[sym];\n else if (work[sym] > end)\n here_op = extra[extra_index + work[sym]], here_val = base[base_index + work[sym]];\n else\n here_op = 96, here_val = 0;\n incr = 1 << len - drop, fill = 1 << curr, min = fill;\n do\n fill -= incr, table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;\n while (fill !== 0);\n incr = 1 << len - 1;\n while (huff & incr)\n incr >>= 1;\n if (incr !== 0)\n huff &= incr - 1, huff += incr;\n else\n huff = 0;\n if (sym++, --count[len] === 0) {\n if (len === max)\n break;\n len = lens[lens_index + work[sym]];\n }\n if (len > root && (huff & mask) !== low) {\n if (drop === 0)\n drop = root;\n next += min, curr = len - drop, left = 1 << curr;\n while (curr + drop < max) {\n if (left -= count[curr + drop], left <= 0)\n break;\n curr++, left <<= 1;\n }\n if (used += 1 << curr, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n low = huff & mask, table[low] = root << 24 | curr << 16 | next - table_index | 0;\n }\n }\n if (huff !== 0)\n table[next + huff] = len - drop << 24 | 64 << 16 | 0;\n return opts.bits = root, 0;\n };\n }\n}), require_inflate = __commonJS({\n \"node_modules/pako/lib/zlib/inflate.js\"(exports) {\n var utils = require_common(), adler32 = require_adler32(), crc32 = require_crc32(), inflate_fast = require_inffast(), inflate_table = require_inftrees(), CODES = 0, LENS = 1, DISTS = 2, Z_FINISH = 4, Z_BLOCK = 5, Z_TREES = 6, Z_OK = 0, Z_STREAM_END = 1, Z_NEED_DICT = 2, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_MEM_ERROR = -4, Z_BUF_ERROR = -5, Z_DEFLATED = 8, HEAD = 1, FLAGS = 2, TIME = 3, OS = 4, EXLEN = 5, EXTRA = 6, NAME = 7, COMMENT = 8, HCRC = 9, DICTID = 10, DICT = 11, TYPE = 12, TYPEDO = 13, STORED = 14, COPY_ = 15, COPY = 16, TABLE = 17, LENLENS = 18, CODELENS = 19, LEN_ = 20, LEN = 21, LENEXT = 22, DIST = 23, DISTEXT = 24, MATCH = 25, LIT = 26, CHECK = 27, LENGTH = 28, DONE = 29, BAD = 30, MEM = 31, SYNC = 32, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, MAX_WBITS = 15, DEF_WBITS = MAX_WBITS;\n function zswap32(q) {\n return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24);\n }\n function InflateState() {\n this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new utils.Buf16(320), this.work = new utils.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;\n }\n function inflateResetKeep(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, strm.total_in = strm.total_out = state.total = 0, strm.msg = \"\", state.wrap)\n strm.adler = state.wrap & 1;\n return state.mode = HEAD, state.last = 0, state.havedict = 0, state.dmax = 32768, state.head = null, state.hold = 0, state.bits = 0, state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS), state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS), state.sane = 1, state.back = -1, Z_OK;\n }\n function inflateReset(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n return state = strm.state, state.wsize = 0, state.whave = 0, state.wnext = 0, inflateResetKeep(strm);\n }\n function inflateReset2(strm, windowBits) {\n var wrap, state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (wrap = (windowBits >> 4) + 1, windowBits < 48)\n windowBits &= 15;\n if (windowBits && (windowBits < 8 || windowBits > 15))\n return Z_STREAM_ERROR;\n if (state.window !== null && state.wbits !== windowBits)\n state.window = null;\n return state.wrap = wrap, state.wbits = windowBits, inflateReset(strm);\n }\n function inflateInit2(strm, windowBits) {\n var ret, state;\n if (!strm)\n return Z_STREAM_ERROR;\n if (state = new InflateState, strm.state = state, state.window = null, ret = inflateReset2(strm, windowBits), ret !== Z_OK)\n strm.state = null;\n return ret;\n }\n function inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n }\n var virgin = !0, lenfix, distfix;\n function fixedtables(state) {\n if (virgin) {\n var sym;\n lenfix = new utils.Buf32(512), distfix = new utils.Buf32(32), sym = 0;\n while (sym < 144)\n state.lens[sym++] = 8;\n while (sym < 256)\n state.lens[sym++] = 9;\n while (sym < 280)\n state.lens[sym++] = 7;\n while (sym < 288)\n state.lens[sym++] = 8;\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {\n bits: 9\n }), sym = 0;\n while (sym < 32)\n state.lens[sym++] = 5;\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {\n bits: 5\n }), virgin = !1;\n }\n state.lencode = lenfix, state.lenbits = 9, state.distcode = distfix, state.distbits = 5;\n }\n function updatewindow(strm, src, end, copy) {\n var dist, state = strm.state;\n if (state.window === null)\n state.wsize = 1 << state.wbits, state.wnext = 0, state.whave = 0, state.window = new utils.Buf8(state.wsize);\n if (copy >= state.wsize)\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0), state.wnext = 0, state.whave = state.wsize;\n else {\n if (dist = state.wsize - state.wnext, dist > copy)\n dist = copy;\n if (utils.arraySet(state.window, src, end - copy, dist, state.wnext), copy -= dist, copy)\n utils.arraySet(state.window, src, end - copy, copy, 0), state.wnext = copy, state.whave = state.wsize;\n else {\n if (state.wnext += dist, state.wnext === state.wsize)\n state.wnext = 0;\n if (state.whave < state.wsize)\n state.whave += dist;\n }\n }\n return 0;\n }\n function inflate(strm, flush) {\n var state, input, output, next, put, have, left, hold, bits, _in, _out, copy, from, from_source, here = 0, here_bits, here_op, here_val, last_bits, last_op, last_val, len, ret, hbuf = new utils.Buf8(4), opts, n, order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.mode === TYPE)\n state.mode = TYPEDO;\n put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, _in = have, _out = left, ret = Z_OK;\n inf_leave:\n for (;; )\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.wrap & 2 && hold === 35615) {\n state.check = 0, hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0), hold = 0, bits = 0, state.mode = FLAGS;\n break;\n }\n if (state.flags = 0, state.head)\n state.head.done = !1;\n if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {\n strm.msg = \"incorrect header check\", state.mode = BAD;\n break;\n }\n if ((hold & 15) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (hold >>>= 4, bits -= 4, len = (hold & 15) + 8, state.wbits === 0)\n state.wbits = len;\n else if (len > state.wbits) {\n strm.msg = \"invalid window size\", state.mode = BAD;\n break;\n }\n state.dmax = 1 << len, strm.adler = state.check = 1, state.mode = hold & 512 \? DICTID : TYPE, hold = 0, bits = 0;\n break;\n case FLAGS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.flags = hold, (state.flags & 255) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (state.flags & 57344) {\n strm.msg = \"unknown header flags set\", state.mode = BAD;\n break;\n }\n if (state.head)\n state.head.text = hold >> 8 & 1;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = TIME;\n case TIME:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.time = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, hbuf[2] = hold >>> 16 & 255, hbuf[3] = hold >>> 24 & 255, state.check = crc32(state.check, hbuf, 4, 0);\n hold = 0, bits = 0, state.mode = OS;\n case OS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.xflags = hold & 255, state.head.os = hold >> 8;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = EXLEN;\n case EXLEN:\n if (state.flags & 1024) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.length = hold, state.head)\n state.head.extra_len = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0;\n } else if (state.head)\n state.head.extra = null;\n state.mode = EXTRA;\n case EXTRA:\n if (state.flags & 1024) {\n if (copy = state.length, copy > have)\n copy = have;\n if (copy) {\n if (state.head) {\n if (len = state.head.extra_len - state.length, !state.head.extra)\n state.head.extra = new @Array(state.head.extra_len);\n utils.arraySet(state.head.extra, input, next, copy, len);\n }\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n have -= copy, next += copy, state.length -= copy;\n }\n if (state.length)\n break inf_leave;\n }\n state.length = 0, state.mode = NAME;\n case NAME:\n if (state.flags & 2048) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.name += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.name = null;\n state.length = 0, state.mode = COMMENT;\n case COMMENT:\n if (state.flags & 4096) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.comment += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.comment = null;\n state.mode = HCRC;\n case HCRC:\n if (state.flags & 512) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.check & 65535)) {\n strm.msg = \"header crc mismatch\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n if (state.head)\n state.head.hcrc = state.flags >> 9 & 1, state.head.done = !0;\n strm.adler = state.check = 0, state.mode = TYPE;\n break;\n case DICTID:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n strm.adler = state.check = zswap32(hold), hold = 0, bits = 0, state.mode = DICT;\n case DICT:\n if (state.havedict === 0)\n return strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, Z_NEED_DICT;\n strm.adler = state.check = 1, state.mode = TYPE;\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES)\n break inf_leave;\n case TYPEDO:\n if (state.last) {\n hold >>>= bits & 7, bits -= bits & 7, state.mode = CHECK;\n break;\n }\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n switch (state.last = hold & 1, hold >>>= 1, bits -= 1, hold & 3) {\n case 0:\n state.mode = STORED;\n break;\n case 1:\n if (fixedtables(state), state.mode = LEN_, flush === Z_TREES) {\n hold >>>= 2, bits -= 2;\n break inf_leave;\n }\n break;\n case 2:\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = \"invalid block type\", state.mode = BAD;\n }\n hold >>>= 2, bits -= 2;\n break;\n case STORED:\n hold >>>= bits & 7, bits -= bits & 7;\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((hold & 65535) !== (hold >>> 16 ^ 65535)) {\n strm.msg = \"invalid stored block lengths\", state.mode = BAD;\n break;\n }\n if (state.length = hold & 65535, hold = 0, bits = 0, state.mode = COPY_, flush === Z_TREES)\n break inf_leave;\n case COPY_:\n state.mode = COPY;\n case COPY:\n if (copy = state.length, copy) {\n if (copy > have)\n copy = have;\n if (copy > left)\n copy = left;\n if (copy === 0)\n break inf_leave;\n utils.arraySet(output, input, next, copy, put), have -= copy, next += copy, left -= copy, put += copy, state.length -= copy;\n break;\n }\n state.mode = TYPE;\n break;\n case TABLE:\n while (bits < 14) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.nlen = (hold & 31) + 257, hold >>>= 5, bits -= 5, state.ndist = (hold & 31) + 1, hold >>>= 5, bits -= 5, state.ncode = (hold & 15) + 4, hold >>>= 4, bits -= 4, state.nlen > 286 || state.ndist > 30) {\n strm.msg = \"too many length or distance symbols\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = LENLENS;\n case LENLENS:\n while (state.have < state.ncode) {\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.lens[order[state.have++]] = hold & 7, hold >>>= 3, bits -= 3;\n }\n while (state.have < 19)\n state.lens[order[state.have++]] = 0;\n if (state.lencode = state.lendyn, state.lenbits = 7, opts = { bits: state.lenbits }, ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid code lengths set\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = CODELENS;\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_val < 16)\n hold >>>= here_bits, bits -= here_bits, state.lens[state.have++] = here_val;\n else {\n if (here_val === 16) {\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.have === 0) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1], copy = 3 + (hold & 3), hold >>>= 2, bits -= 2;\n } else if (here_val === 17) {\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 3 + (hold & 7), hold >>>= 3, bits -= 3;\n } else {\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 11 + (hold & 127), hold >>>= 7, bits -= 7;\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n while (copy--)\n state.lens[state.have++] = len;\n }\n }\n if (state.mode === BAD)\n break;\n if (state.lens[256] === 0) {\n strm.msg = \"invalid code -- missing end-of-block\", state.mode = BAD;\n break;\n }\n if (state.lenbits = 9, opts = { bits: state.lenbits }, ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid literal/lengths set\", state.mode = BAD;\n break;\n }\n if (state.distbits = 6, state.distcode = state.distdyn, opts = { bits: state.distbits }, ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts), state.distbits = opts.bits, ret) {\n strm.msg = \"invalid distances set\", state.mode = BAD;\n break;\n }\n if (state.mode = LEN_, flush === Z_TREES)\n break inf_leave;\n case LEN_:\n state.mode = LEN;\n case LEN:\n if (have >= 6 && left >= 258) {\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, inflate_fast(strm, _out), put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, state.mode === TYPE)\n state.back = -1;\n break;\n }\n state.back = 0;\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_op && (here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, state.length = here_val, here_op === 0) {\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n state.back = -1, state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break;\n }\n state.extra = here_op & 15, state.mode = LENEXT;\n case LENEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.length += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n state.was = state.length, state.mode = DIST;\n case DIST:\n for (;; ) {\n if (here = state.distcode[hold & (1 << state.distbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, here_op & 64) {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break;\n }\n state.offset = here_val, state.extra = here_op & 15, state.mode = DISTEXT;\n case DISTEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.offset += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n if (state.offset > state.dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n state.mode = MATCH;\n case MATCH:\n if (left === 0)\n break inf_leave;\n if (copy = _out - left, state.offset > copy) {\n if (copy = state.offset - copy, copy > state.whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n }\n if (copy > state.wnext)\n copy -= state.wnext, from = state.wsize - copy;\n else\n from = state.wnext - copy;\n if (copy > state.length)\n copy = state.length;\n from_source = state.window;\n } else\n from_source = output, from = put - state.offset, copy = state.length;\n if (copy > left)\n copy = left;\n left -= copy, state.length -= copy;\n do\n output[put++] = from_source[from++];\n while (--copy);\n if (state.length === 0)\n state.mode = LEN;\n break;\n case LIT:\n if (left === 0)\n break inf_leave;\n output[put++] = state.length, left--, state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold |= input[next++] << bits, bits += 8;\n }\n if (_out -= left, strm.total_out += _out, state.total += _out, _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);\n if (_out = left, (state.flags \? hold : zswap32(hold)) !== state.check) {\n strm.msg = \"incorrect data check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = LENGTH;\n case LENGTH:\n if (state.wrap && state.flags) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.total & 4294967295)) {\n strm.msg = \"incorrect length check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = DONE;\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n default:\n return Z_STREAM_ERROR;\n }\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out))\n return state.mode = MEM, Z_MEM_ERROR;\n }\n if (_in -= strm.avail_in, _out -= strm.avail_out, strm.total_in += _in, strm.total_out += _out, state.total += _out, state.wrap && _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);\n if (strm.data_type = state.bits + (state.last \? 64 : 0) + (state.mode === TYPE \? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ \? 256 : 0), (_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK)\n ret = Z_BUF_ERROR;\n return ret;\n }\n function inflateEnd(strm) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n var state = strm.state;\n if (state.window)\n state.window = null;\n return strm.state = null, Z_OK;\n }\n function inflateGetHeader(strm, head) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, (state.wrap & 2) === 0)\n return Z_STREAM_ERROR;\n return state.head = head, head.done = !1, Z_OK;\n }\n function inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, state, dictid, ret;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.wrap !== 0 && state.mode !== DICT)\n return Z_STREAM_ERROR;\n if (state.mode === DICT) {\n if (dictid = 1, dictid = adler32(dictid, dictionary, dictLength, 0), dictid !== state.check)\n return Z_DATA_ERROR;\n }\n if (ret = updatewindow(strm, dictionary, dictLength, dictLength), ret)\n return state.mode = MEM, Z_MEM_ERROR;\n return state.havedict = 1, Z_OK;\n }\n exports.inflateReset = inflateReset, exports.inflateReset2 = inflateReset2, exports.inflateResetKeep = inflateResetKeep, exports.inflateInit = inflateInit, exports.inflateInit2 = inflateInit2, exports.inflate = inflate, exports.inflateEnd = inflateEnd, exports.inflateGetHeader = inflateGetHeader, exports.inflateSetDictionary = inflateSetDictionary, exports.inflateInfo = \"pako inflate (from Nodeca project)\";\n }\n}), require_constants = __commonJS({\n \"node_modules/pako/lib/zlib/constants.js\"(exports, module2) {\n module2.exports = {\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_BUF_ERROR: -5,\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n Z_BINARY: 0,\n Z_TEXT: 1,\n Z_UNKNOWN: 2,\n Z_DEFLATED: 8\n };\n }\n}), require_binding = __commonJS({\n \"node_modules/browserify-zlib/lib/binding.js\"(exports) {\n var Zstream = require_zstream(), zlib_deflate = require_deflate(), zlib_inflate = require_inflate(), constants = require_constants();\n for (key in constants)\n exports[key] = constants[key];\n var key;\n exports.NONE = 0, exports.DEFLATE = 1, exports.INFLATE = 2, exports.GZIP = 3, exports.GUNZIP = 4, exports.DEFLATERAW = 5, exports.INFLATERAW = 6, exports.UNZIP = 7;\n var GZIP_HEADER_ID1 = 31, GZIP_HEADER_ID2 = 139;\n function Zlib(mode) {\n if (typeof mode !== \"number\" || mode < exports.DEFLATE || mode > exports.UNZIP)\n @throwTypeError(\"Bad argument\");\n this.dictionary = null, this.err = 0, this.flush = 0, this.init_done = !1, this.level = 0, this.memLevel = 0, this.mode = mode, this.strategy = 0, this.windowBits = 0, this.write_in_progress = !1, this.pending_close = !1, this.gzip_id_bytes_read = 0;\n }\n Zlib.prototype = {}, Zlib.prototype.close = function() {\n if (this.write_in_progress) {\n this.pending_close = !0;\n return;\n }\n if (this.pending_close = !1, assert(this.init_done, \"close before init\"), assert(this.mode <= exports.UNZIP), this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW)\n zlib_deflate.deflateEnd(this.strm);\n else if (this.mode === exports.INFLATE || this.mode === exports.GUNZIP || this.mode === exports.INFLATERAW || this.mode === exports.UNZIP)\n zlib_inflate.inflateEnd(this.strm);\n this.mode = exports.NONE, this.dictionary = null;\n }, Zlib.prototype.write = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!0, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype.writeSync = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!1, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype._write = function(async, flush, input, in_off, in_len, out, out_off, out_len) {\n if (assert.equal(arguments.length, 8), assert(this.init_done, \"write before init\"), assert(this.mode !== exports.NONE, \"already finalized\"), assert.equal(!1, this.write_in_progress, \"write already in progress\"), assert.equal(!1, this.pending_close, \"close is pending\"), this.write_in_progress = !0, assert.equal(!1, flush === void 0, \"must provide flush value\"), this.write_in_progress = !0, flush !== exports.Z_NO_FLUSH && flush !== exports.Z_PARTIAL_FLUSH && flush !== exports.Z_SYNC_FLUSH && flush !== exports.Z_FULL_FLUSH && flush !== exports.Z_FINISH && flush !== exports.Z_BLOCK)\n throw new Error(\"Invalid flush value\");\n if (input == null)\n input = @Buffer.alloc(0), in_len = 0, in_off = 0;\n if (this.strm.avail_in = in_len, this.strm.input = input, this.strm.next_in = in_off, this.strm.avail_out = out_len, this.strm.output = out, this.strm.next_out = out_off, this.flush = flush, !async) {\n if (this._process(), this._checkError())\n return this._afterSync();\n return;\n }\n var self = this;\n return process.nextTick(function() {\n self._process(), self._after();\n }), this;\n }, Zlib.prototype._afterSync = function() {\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n return this.write_in_progress = !1, [avail_in, avail_out];\n }, Zlib.prototype._process = function() {\n var next_expected_header_byte = null;\n switch (this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflate(this.strm, this.flush);\n break;\n case exports.UNZIP:\n if (this.strm.avail_in > 0)\n next_expected_header_byte = this.strm.next_in;\n switch (this.gzip_id_bytes_read) {\n case 0:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID1) {\n if (this.gzip_id_bytes_read = 1, next_expected_header_byte++, this.strm.avail_in === 1)\n break;\n } else {\n this.mode = exports.INFLATE;\n break;\n }\n case 1:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID2)\n this.gzip_id_bytes_read = 2, this.mode = exports.GUNZIP;\n else\n this.mode = exports.INFLATE;\n break;\n default:\n throw new Error(\"invalid number of gzip magic number bytes read\");\n }\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n if (this.err = zlib_inflate.inflate(this.strm, this.flush), this.err === exports.Z_NEED_DICT && this.dictionary) {\n if (this.err = zlib_inflate.inflateSetDictionary(this.strm, this.dictionary), this.err === exports.Z_OK)\n this.err = zlib_inflate.inflate(this.strm, this.flush);\n else if (this.err === exports.Z_DATA_ERROR)\n this.err = exports.Z_NEED_DICT;\n }\n while (this.strm.avail_in > 0 && this.mode === exports.GUNZIP && this.err === exports.Z_STREAM_END && this.strm.next_in[0] !== 0)\n this.reset(), this.err = zlib_inflate.inflate(this.strm, this.flush);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n }, Zlib.prototype._checkError = function() {\n switch (this.err) {\n case exports.Z_OK:\n case exports.Z_BUF_ERROR:\n if (this.strm.avail_out !== 0 && this.flush === exports.Z_FINISH)\n return this._error(\"unexpected end of file\"), !1;\n break;\n case exports.Z_STREAM_END:\n break;\n case exports.Z_NEED_DICT:\n if (this.dictionary == null)\n this._error(\"Missing dictionary\");\n else\n this._error(\"Bad dictionary\");\n return !1;\n default:\n return this._error(\"Zlib error\"), !1;\n }\n return !0;\n }, Zlib.prototype._after = function() {\n if (!this._checkError())\n return;\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n if (this.write_in_progress = !1, this.callback(avail_in, avail_out), this.pending_close)\n this.close();\n }, Zlib.prototype._error = function(message) {\n if (this.strm.msg)\n message = this.strm.msg;\n if (this.onerror(message, this.err), this.write_in_progress = !1, this.pending_close)\n this.close();\n }, Zlib.prototype.init = function(windowBits, level, memLevel, strategy, dictionary) {\n assert(arguments.length === 4 || arguments.length === 5, \"init(windowBits, level, memLevel, strategy, [dictionary])\"), assert(windowBits >= 8 && windowBits <= 15, \"invalid windowBits\"), assert(level >= -1 && level <= 9, \"invalid compression level\"), assert(memLevel >= 1 && memLevel <= 9, \"invalid memlevel\"), assert(strategy === exports.Z_FILTERED || strategy === exports.Z_HUFFMAN_ONLY || strategy === exports.Z_RLE || strategy === exports.Z_FIXED || strategy === exports.Z_DEFAULT_STRATEGY, \"invalid strategy\"), this._init(level, windowBits, memLevel, strategy, dictionary), this._setDictionary();\n }, Zlib.prototype.params = function() {\n throw new Error(\"deflateParams Not supported\");\n }, Zlib.prototype.reset = function() {\n this._reset(), this._setDictionary();\n }, Zlib.prototype._init = function(level, windowBits, memLevel, strategy, dictionary) {\n if (this.level = level, this.windowBits = windowBits, this.memLevel = memLevel, this.strategy = strategy, this.flush = exports.Z_NO_FLUSH, this.err = exports.Z_OK, this.mode === exports.GZIP || this.mode === exports.GUNZIP)\n this.windowBits += 16;\n if (this.mode === exports.UNZIP)\n this.windowBits += 32;\n if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW)\n this.windowBits = -1 * this.windowBits;\n switch (this.strm = new Zstream, this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateInit2(this.strm, this.level, exports.Z_DEFLATED, this.windowBits, this.memLevel, this.strategy);\n break;\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n case exports.UNZIP:\n this.err = zlib_inflate.inflateInit2(this.strm, this.windowBits);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Init error\");\n this.dictionary = dictionary, this.write_in_progress = !1, this.init_done = !0;\n }, Zlib.prototype._setDictionary = function() {\n if (this.dictionary == null)\n return;\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateSetDictionary(this.strm, this.dictionary);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to set dictionary\");\n }, Zlib.prototype._reset = function() {\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n case exports.GZIP:\n this.err = zlib_deflate.deflateReset(this.strm);\n break;\n case exports.INFLATE:\n case exports.INFLATERAW:\n case exports.GUNZIP:\n this.err = zlib_inflate.inflateReset(this.strm);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to reset stream\");\n }, exports.Zlib = Zlib;\n }\n}), require_lib = __commonJS({\n \"node_modules/browserify-zlib/lib/index.js\"(exports) {\n var Buffer2 = BufferModule.Buffer, Transform = StreamModule.Transform, binding = require_binding(), util = Util, kMaxLength = BufferModule.kMaxLength, kRangeErrorMessage = \"Cannot create final Buffer. It would be larger than 0x\" + kMaxLength.toString(16) + \" bytes\";\n binding.Z_MIN_WINDOWBITS = 8, binding.Z_MAX_WINDOWBITS = 15, binding.Z_DEFAULT_WINDOWBITS = 15, binding.Z_MIN_CHUNK = 64, binding.Z_MAX_CHUNK = @Infinity, binding.Z_DEFAULT_CHUNK = 16384, binding.Z_MIN_MEMLEVEL = 1, binding.Z_MAX_MEMLEVEL = 9, binding.Z_DEFAULT_MEMLEVEL = 8, binding.Z_MIN_LEVEL = -1, binding.Z_MAX_LEVEL = 9, binding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n var bkeys = Object.keys(binding);\n for (bk = 0;bk < bkeys.length; bk++)\n if (bkey = bkeys[bk], bkey.match(/^Z/))\n Object.defineProperty(exports, bkey, {\n enumerable: !0,\n value: binding[bkey],\n writable: !1\n });\n var bkey, bk, codes = {\n Z_OK: binding.Z_OK,\n Z_STREAM_END: binding.Z_STREAM_END,\n Z_NEED_DICT: binding.Z_NEED_DICT,\n Z_ERRNO: binding.Z_ERRNO,\n Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n Z_DATA_ERROR: binding.Z_DATA_ERROR,\n Z_MEM_ERROR: binding.Z_MEM_ERROR,\n Z_BUF_ERROR: binding.Z_BUF_ERROR,\n Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n }, ckeys = Object.keys(codes);\n for (ck = 0;ck < ckeys.length; ck++)\n ckey = ckeys[ck], codes[codes[ckey]] = ckey;\n var ckey, ck;\n Object.defineProperty(exports, \"codes\", {\n enumerable: !0,\n value: Object.freeze(codes),\n writable: !1\n }), exports.constants = require_constants(), exports.Deflate = Deflate, exports.Inflate = Inflate, exports.Gzip = Gzip, exports.Gunzip = Gunzip, exports.DeflateRaw = DeflateRaw, exports.InflateRaw = InflateRaw, exports.Unzip = Unzip, exports.createDeflate = function(o) {\n return new Deflate(o);\n }, exports.createInflate = function(o) {\n return new Inflate(o);\n }, exports.createDeflateRaw = function(o) {\n return new DeflateRaw(o);\n }, exports.createInflateRaw = function(o) {\n return new InflateRaw(o);\n }, exports.createGzip = function(o) {\n return new Gzip(o);\n }, exports.createGunzip = function(o) {\n return new Gunzip(o);\n }, exports.createUnzip = function(o) {\n return new Unzip(o);\n }, exports.deflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Deflate(opts), buffer, callback);\n }, exports.deflateSync = function(buffer, opts) {\n return zlibBufferSync(new Deflate(opts), buffer);\n }, exports.gzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gzip(opts), buffer, callback);\n }, exports.gzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gzip(opts), buffer);\n }, exports.deflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n }, exports.deflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new DeflateRaw(opts), buffer);\n }, exports.unzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Unzip(opts), buffer, callback);\n }, exports.unzipSync = function(buffer, opts) {\n return zlibBufferSync(new Unzip(opts), buffer);\n }, exports.inflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Inflate(opts), buffer, callback);\n }, exports.inflateSync = function(buffer, opts) {\n return zlibBufferSync(new Inflate(opts), buffer);\n }, exports.gunzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gunzip(opts), buffer, callback);\n }, exports.gunzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gunzip(opts), buffer);\n }, exports.inflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new InflateRaw(opts), buffer, callback);\n }, exports.inflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new InflateRaw(opts), buffer);\n }, exports.brotliCompress = function(buffer, opts, callback) {\n throw new Error(\"zlib.brotliCompress is not implemented\");\n };\n function zlibBuffer(engine, buffer, callback) {\n var buffers = [], nread = 0;\n engine.on(\"error\", onError), engine.on(\"end\", onEnd), engine.end(buffer), flow();\n function flow() {\n var chunk;\n while ((chunk = engine.read()) !== null)\n buffers.push(chunk), nread += chunk.length;\n engine.once(\"readable\", flow);\n }\n function onError(err) {\n engine.removeListener(\"end\", onEnd), engine.removeListener(\"readable\", flow), callback(err);\n }\n function onEnd() {\n var buf, err = null;\n if (nread >= kMaxLength)\n err = new RangeError(kRangeErrorMessage);\n else\n buf = Buffer2.concat(buffers, nread);\n buffers = [], engine.close(), callback(err, buf);\n }\n }\n function zlibBufferSync(engine, buffer) {\n if (typeof buffer === \"string\")\n buffer = Buffer2.from(buffer);\n if (!Buffer2.isBuffer(buffer))\n @throwTypeError(\"Not a string or buffer\");\n var flushFlag = engine._finishFlushFlag;\n return engine._processChunk(buffer, flushFlag);\n }\n function Deflate(opts) {\n if (!(this instanceof Deflate))\n return new Deflate(opts);\n Zlib.@call(this, opts, binding.DEFLATE);\n }\n function Inflate(opts) {\n if (!(this instanceof Inflate))\n return new Inflate(opts);\n Zlib.@call(this, opts, binding.INFLATE);\n }\n function Gzip(opts) {\n if (!(this instanceof Gzip))\n return new Gzip(opts);\n Zlib.@call(this, opts, binding.GZIP);\n }\n function Gunzip(opts) {\n if (!(this instanceof Gunzip))\n return new Gunzip(opts);\n Zlib.@call(this, opts, binding.GUNZIP);\n }\n function DeflateRaw(opts) {\n if (!(this instanceof DeflateRaw))\n return new DeflateRaw(opts);\n Zlib.@call(this, opts, binding.DEFLATERAW);\n }\n function InflateRaw(opts) {\n if (!(this instanceof InflateRaw))\n return new InflateRaw(opts);\n Zlib.@call(this, opts, binding.INFLATERAW);\n }\n function Unzip(opts) {\n if (!(this instanceof Unzip))\n return new Unzip(opts);\n Zlib.@call(this, opts, binding.UNZIP);\n }\n function isValidFlushFlag(flag) {\n return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK;\n }\n function Zlib(opts, mode) {\n var _this = this;\n if (this._opts = opts = opts || {}, this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK, Transform.@call(this, opts), opts.flush && !isValidFlushFlag(opts.flush))\n throw new Error(\"Invalid flush flag: \" + opts.flush);\n if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush))\n throw new Error(\"Invalid flush flag: \" + opts.finishFlush);\n if (this._flushFlag = opts.flush || binding.Z_NO_FLUSH, this._finishFlushFlag = typeof opts.finishFlush !== \"undefined\" \? opts.finishFlush : binding.Z_FINISH, opts.chunkSize) {\n if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK)\n throw new Error(\"Invalid chunk size: \" + opts.chunkSize);\n }\n if (opts.windowBits) {\n if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS)\n throw new Error(\"Invalid windowBits: \" + opts.windowBits);\n }\n if (opts.level) {\n if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL)\n throw new Error(\"Invalid compression level: \" + opts.level);\n }\n if (opts.memLevel) {\n if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL)\n throw new Error(\"Invalid memLevel: \" + opts.memLevel);\n }\n if (opts.strategy) {\n if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY)\n throw new Error(\"Invalid strategy: \" + opts.strategy);\n }\n if (opts.dictionary) {\n if (!Buffer2.isBuffer(opts.dictionary))\n throw new Error(\"Invalid dictionary: it should be a Buffer instance\");\n }\n this._handle = new binding.Zlib(mode);\n var self = this;\n this._hadError = !1, this._handle.onerror = function(message, errno) {\n _close(self), self._hadError = !0;\n var error = new Error(message);\n error.errno = errno, error.code = exports.codes[errno], self.emit(\"error\", error);\n };\n var level = exports.Z_DEFAULT_COMPRESSION;\n if (typeof opts.level === \"number\")\n level = opts.level;\n var strategy = exports.Z_DEFAULT_STRATEGY;\n if (typeof opts.strategy === \"number\")\n strategy = opts.strategy;\n this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary), this._buffer = Buffer2.allocUnsafe(this._chunkSize), this._offset = 0, this._level = level, this._strategy = strategy, this.once(\"end\", this.close), Object.defineProperty(this, \"_closed\", {\n get: function() {\n return !_this._handle;\n },\n configurable: !0,\n enumerable: !0\n });\n }\n util.inherits(Zlib, Transform), Zlib.prototype.params = function(level, strategy, callback) {\n if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL)\n @throwRangeError(\"Invalid compression level: \" + level);\n if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY)\n @throwTypeError(\"Invalid strategy: \" + strategy);\n if (this._level !== level || this._strategy !== strategy) {\n var self = this;\n this.flush(binding.Z_SYNC_FLUSH, function() {\n if (assert(self._handle, \"zlib binding closed\"), self._handle.params(level, strategy), !self._hadError) {\n if (self._level = level, self._strategy = strategy, callback)\n callback();\n }\n });\n } else\n process.nextTick(callback);\n }, Zlib.prototype.reset = function() {\n return assert(this._handle, \"zlib binding closed\"), this._handle.reset();\n }, Zlib.prototype._flush = function(callback) {\n this._transform(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.flush = function(kind, callback) {\n var _this2 = this, ws = this._writableState;\n if (typeof kind === \"function\" || kind === void 0 && !callback)\n callback = kind, kind = binding.Z_FULL_FLUSH;\n if (ws.ended) {\n if (callback)\n process.nextTick(callback);\n } else if (ws.ending) {\n if (callback)\n this.once(\"end\", callback);\n } else if (ws.needDrain) {\n if (callback)\n this.once(\"drain\", function() {\n return _this2.flush(kind, callback);\n });\n } else\n this._flushFlag = kind, this.write(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.close = function(callback) {\n _close(this, callback), process.nextTick(emitCloseNT, this);\n };\n function _close(engine, callback) {\n if (callback)\n process.nextTick(callback);\n if (!engine._handle)\n return;\n engine._handle.close(), engine._handle = null;\n }\n function emitCloseNT(self) {\n self.emit(\"close\");\n }\n Zlib.prototype._transform = function(chunk, encoding, cb) {\n var flushFlag, ws = this._writableState, ending = ws.ending || ws.ended, last = ending && (!chunk || ws.length === chunk.length);\n if (chunk !== null && !Buffer2.isBuffer(chunk))\n return cb(new Error(\"invalid input\"));\n if (!this._handle)\n return cb(new Error(\"zlib binding closed\"));\n if (last)\n flushFlag = this._finishFlushFlag;\n else if (flushFlag = this._flushFlag, chunk.length >= ws.length)\n this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n this._processChunk(chunk, flushFlag, cb);\n }, Zlib.prototype._processChunk = function(chunk, flushFlag, cb) {\n var availInBefore = chunk && chunk.length, availOutBefore = this._chunkSize - this._offset, inOff = 0, self = this, async = typeof cb === \"function\";\n if (!async) {\n var buffers = [], nread = 0, error;\n this.on(\"error\", function(er) {\n error = er;\n }), assert(this._handle, \"zlib binding closed\");\n do\n var res = this._handle.writeSync(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n while (!this._hadError && callback(res[0], res[1]));\n if (this._hadError)\n throw error;\n if (nread >= kMaxLength)\n _close(this), @throwRangeError(kRangeErrorMessage);\n var buf = Buffer2.concat(buffers, nread);\n return _close(this), buf;\n }\n assert(this._handle, \"zlib binding closed\");\n var req = this._handle.write(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n req.buffer = chunk, req.callback = callback;\n function callback(availInAfter, availOutAfter) {\n if (this)\n this.buffer = null, this.callback = null;\n if (self._hadError)\n return;\n var have = availOutBefore - availOutAfter;\n if (assert(have >= 0, \"have should not go down\"), have > 0) {\n var out = self._buffer.slice(self._offset, self._offset + have);\n if (self._offset += have, async)\n self.push(out);\n else\n buffers.push(out), nread += out.length;\n }\n if (availOutAfter === 0 || self._offset >= self._chunkSize)\n availOutBefore = self._chunkSize, self._offset = 0, self._buffer = Buffer2.allocUnsafe(self._chunkSize);\n if (availOutAfter === 0) {\n if (inOff += availInBefore - availInAfter, availInBefore = availInAfter, !async)\n return !0;\n var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize);\n newReq.callback = callback, newReq.buffer = chunk;\n return;\n }\n if (!async)\n return !1;\n cb();\n }\n }, util.inherits(Deflate, Zlib), util.inherits(Inflate, Zlib), util.inherits(Gzip, Zlib), util.inherits(Gunzip, Zlib), util.inherits(DeflateRaw, Zlib), util.inherits(InflateRaw, Zlib), util.inherits(Unzip, Zlib);\n }\n});\nreturn require_lib()})\n"); // // -static constexpr ASCIILiteral ThirdpartyDepdCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/depd.ts\nvar wrapfunction = function(fn, message) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"argument fn must be a function\");\n return fn;\n}, wrapproperty = function(obj, prop, message) {\n if (!obj || typeof obj !== \"object\" && typeof obj !== \"function\")\n @throwTypeError(\"argument obj must be object\");\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n if (!descriptor)\n @throwTypeError(\"must call property on owner object\");\n if (!descriptor.configurable)\n @throwTypeError(\"property must be configurable\");\n}, $;\n$ = function depd(namespace) {\n if (!namespace)\n @throwTypeError(\"argument namespace is required\");\n function deprecate(message) {\n }\n return deprecate._file = void 0, deprecate._ignored = !0, deprecate._namespace = namespace, deprecate._traced = !1, deprecate._warned = Object.create(null), deprecate.function = wrapfunction, deprecate.property = wrapproperty, deprecate;\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyDepdCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/depd.ts\nvar wrapfunction = function(fn, message) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"argument fn must be a function\");\n return fn;\n}, wrapproperty = function(obj, prop, message) {\n if (!obj || typeof obj !== \"object\" && typeof obj !== \"function\")\n @throwTypeError(\"argument obj must be object\");\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n if (!descriptor)\n @throwTypeError(\"must call property on owner object\");\n if (!descriptor.configurable)\n @throwTypeError(\"property must be configurable\");\n}, $;\n$ = function depd(namespace) {\n if (!namespace)\n @throwTypeError(\"argument namespace is required\");\n function deprecate(message) {\n }\n return deprecate._file = void 0, deprecate._ignored = !0, deprecate._namespace = namespace, deprecate._traced = !1, deprecate._warned = Object.create(null), deprecate.function = wrapfunction, deprecate.property = wrapproperty, deprecate;\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyDetectLibcCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/detect-libc.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return null;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return null;\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyDetectLibcCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/detect-libc.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return null;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return null;\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyDetectLibcLinuxCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/detect-libc.linux.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return GLIBC;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return \"2.29\";\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyDetectLibcLinuxCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/detect-libc.linux.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return GLIBC;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return \"2.29\";\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyIsomorphicFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/isomorphic-fetch.ts\nvar bunFetch = Bun.fetch, fetch = (...args) => bunFetch(...args);\nfetch.default = fetch;\nfetch.fetch = fetch;\nreturn fetch})\n"); +static constexpr ASCIILiteral ThirdpartyIsomorphicFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/isomorphic-fetch.ts\nvar bunFetch = Bun.fetch, fetch = (...args) => bunFetch(...args);\nfetch.default = fetch;\nfetch.fetch = fetch;\nreturn fetch})\n"); // // -static constexpr ASCIILiteral ThirdpartyNodeFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/node-fetch.ts\nasync function fetch(url, init) {\n let body = init\?.body;\n if (body) {\n const chunks = [];\n if (body instanceof Readable) {\n for await (let chunk of body)\n chunks.push(chunk);\n init = { ...init, body: new Blob(chunks) };\n }\n }\n const response = await nativeFetch(url, init);\n return Object.setPrototypeOf(response, Response.prototype), response;\n}\nvar blobFrom = function(path, options) {\n return @Promise.resolve(Bun.file(path, options));\n}, blobFromSync = function(path, options) {\n return Bun.file(path, options);\n}, isRedirect = function(code) {\n return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n}, $, { Headers, Request, Response: WebResponse, Blob, File = Blob, FormData } = globalThis, nativeFetch = Bun.fetch, { Readable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39);\n\nclass Response extends WebResponse {\n constructor() {\n super(...arguments);\n }\n _body;\n get body() {\n return this._body \?\? (this._body = Readable.fromWeb(super.body));\n }\n}\n\nclass AbortError extends DOMException {\n constructor(message) {\n super(message, \"AbortError\");\n }\n}\n\nclass FetchBaseError extends Error {\n type;\n constructor(message, type) {\n super(message);\n this.type = type;\n }\n}\n\nclass FetchError extends FetchBaseError {\n constructor(message, type, systemError) {\n super(message, type);\n this.code = systemError\?.code;\n }\n}\nvar fileFrom = blobFrom, fileFromSync = blobFromSync;\n$ = Object.assign(fetch, {\n AbortError,\n Blob,\n FetchBaseError,\n FetchError,\n File,\n FormData,\n Headers,\n Request,\n Response,\n blobFrom,\n blobFromSync,\n fileFrom,\n fileFromSync,\n isRedirect,\n fetch,\n default: fetch\n});\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyNodeFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/node-fetch.ts\nasync function fetch(url, init) {\n let body = init\?.body;\n if (body) {\n const chunks = [];\n if (body instanceof Readable) {\n for await (let chunk of body)\n chunks.push(chunk);\n init = { ...init, body: new Blob(chunks) };\n }\n }\n const response = await nativeFetch(url, init);\n return Object.setPrototypeOf(response, Response.prototype), response;\n}\nvar blobFrom = function(path, options) {\n return @Promise.resolve(Bun.file(path, options));\n}, blobFromSync = function(path, options) {\n return Bun.file(path, options);\n}, isRedirect = function(code) {\n return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n}, $, { Headers, Request, Response: WebResponse, Blob, File = Blob, FormData } = globalThis, nativeFetch = Bun.fetch, { Readable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39);\n\nclass Response extends WebResponse {\n constructor() {\n super(...arguments);\n }\n _body;\n get body() {\n return this._body \?\? (this._body = Readable.fromWeb(super.body));\n }\n}\n\nclass AbortError extends DOMException {\n constructor(message) {\n super(message, \"AbortError\");\n }\n}\n\nclass FetchBaseError extends Error {\n type;\n constructor(message, type) {\n super(message);\n this.type = type;\n }\n}\n\nclass FetchError extends FetchBaseError {\n constructor(message, type, systemError) {\n super(message, type);\n this.code = systemError\?.code;\n }\n}\nvar fileFrom = blobFrom, fileFromSync = blobFromSync;\n$ = Object.assign(fetch, {\n AbortError,\n Blob,\n FetchBaseError,\n FetchError,\n File,\n FormData,\n Headers,\n Request,\n Response,\n blobFrom,\n blobFromSync,\n fileFrom,\n fileFromSync,\n isRedirect,\n fetch,\n default: fetch\n});\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyUndiciCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/undici.ts\nvar notImplemented = function() {\n throw new Error(\"Not implemented in bun\");\n};\nasync function request(url, options = {\n method: \"GET\",\n signal: null,\n headers: null,\n query: null,\n reset: !1,\n throwOnError: !1,\n body: null\n}) {\n let {\n method = \"GET\",\n headers: inputHeaders,\n query,\n signal,\n reset = !1,\n throwOnError = !1,\n body: inputBody,\n maxRedirections\n } = options;\n if (typeof url === \"string\") {\n if (query)\n url = new URL(url);\n } else if (typeof url === \"object\" && url !== null) {\n if (!(url instanceof URL))\n throw new Error(\"not implemented\");\n } else\n @throwTypeError(\"url must be a string, URL, or UrlObject\");\n if (typeof url === \"string\" && query)\n url = new URL(url);\n if (typeof url === \"object\" && url !== null && query) {\n if (query)\n url.search = new URLSearchParams(query).toString();\n }\n if (method = method && typeof method === \"string\" \? method.toUpperCase() : null, inputBody && (method === \"GET\" || method === \"HEAD\"))\n throw new Error(\"Body not allowed for GET or HEAD requests\");\n if (inputBody && inputBody.read && inputBody instanceof Readable) {\n let data = \"\";\n inputBody.setEncoding(\"utf8\");\n for await (let chunk of stream)\n data += chunk;\n inputBody = (new TextEncoder()).encode(data);\n }\n if (maxRedirections !== @undefined && Number.isNaN(maxRedirections))\n throw new Error(\"maxRedirections must be a number if defined\");\n if (signal && !(signal instanceof @AbortSignal))\n throw new Error(\"signal must be an instance of AbortSignal\");\n let resp;\n const {\n status: statusCode,\n headers,\n trailers\n } = resp = await fetch(url, {\n signal,\n mode: \"cors\",\n method,\n headers: inputHeaders || kEmptyObject,\n body: inputBody,\n redirect: maxRedirections === \"undefined\" || maxRedirections > 0 \? \"follow\" : \"manual\",\n keepalive: !reset\n });\n if (throwOnError && statusCode >= 400 && statusCode < 600)\n throw new Error(`Request failed with status code ${statusCode}`);\n const body = resp.body \? new BodyReadable(resp) : null;\n return { statusCode, headers: headers.toJSON(), body, trailers, opaque: kEmptyObject, context: kEmptyObject };\n}\nvar stream = function() {\n throw new Error(\"Not implemented in bun\");\n}, pipeline = function() {\n throw new Error(\"Not implemented in bun\");\n}, connect = function() {\n throw new Error(\"Not implemented in bun\");\n}, upgrade = function() {\n throw new Error(\"Not implemented in bun\");\n}, mockErrors = function() {\n throw new Error(\"Not implemented in bun\");\n}, Undici = function() {\n throw new Error(\"Not implemented in bun\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { Readable } = StreamModule, { _ReadableFromWebForUndici: ReadableFromWeb } = StreamModule[Symbol.for(\"::bunternal::\")], ObjectCreate = Object.create, kEmptyObject = ObjectCreate(null), fetch = Bun.fetch, Response = globalThis.Response, Headers = globalThis.Headers, Request = globalThis.Request, URLSearchParams = globalThis.URLSearchParams, URL = globalThis.URL;\n\nclass File extends Blob {\n constructor() {\n super(...arguments);\n }\n}\n\nclass FileReader extends EventTarget {\n constructor() {\n throw new Error(\"Not implemented yet!\");\n }\n}\nvar FormData = globalThis.FormData;\n\nclass BodyReadable extends ReadableFromWeb {\n #response;\n #bodyUsed;\n constructor(response, options = {}) {\n var { body } = response;\n if (!body)\n throw new Error(\"Response body is null\");\n super(options, body);\n this.#response = response, this.#bodyUsed = response.bodyUsed;\n }\n get bodyUsed() {\n return this.#bodyUsed;\n }\n #consume() {\n if (this.#bodyUsed)\n @throwTypeError(\"unusable\");\n this.#bodyUsed = !0;\n }\n async arrayBuffer() {\n return this.#consume(), await this.#response.arrayBuffer();\n }\n async blob() {\n return this.#consume(), await this.#response.blob();\n }\n async formData() {\n return this.#consume(), await this.#response.formData();\n }\n async json() {\n return this.#consume(), await this.#response.json();\n }\n async text() {\n return this.#consume(), await this.#response.text();\n }\n}\n\nclass MockClient {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockPool {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockAgent {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass Dispatcher extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Agent extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Pool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass BalancedPool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Client extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\nUndici.Dispatcher = Dispatcher;\nUndici.Pool = Pool;\nUndici.BalancedPool = BalancedPool;\nUndici.Client = Client;\nUndici.Agent = Agent;\nUndici.buildConnector = Undici.errors = Undici.setGlobalDispatcher = Undici.getGlobalDispatcher = Undici.request = Undici.stream = Undici.pipeline = Undici.connect = Undici.upgrade = Undici.MockClient = Undici.MockPool = Undici.MockAgent = Undici.mockErrors = notImplemented;\nUndici.fetch = fetch;\n$ = {\n fetch,\n Response,\n Headers,\n Request,\n URLSearchParams,\n URL,\n File,\n FileReader,\n FormData,\n request,\n stream,\n pipeline,\n connect,\n upgrade,\n MockClient,\n MockPool,\n MockAgent,\n mockErrors,\n Dispatcher,\n Pool,\n BalancedPool,\n Client,\n Agent,\n Undici\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyUndiciCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/undici.ts\nvar notImplemented = function() {\n throw new Error(\"Not implemented in bun\");\n};\nasync function request(url, options = {\n method: \"GET\",\n signal: null,\n headers: null,\n query: null,\n reset: !1,\n throwOnError: !1,\n body: null\n}) {\n let {\n method = \"GET\",\n headers: inputHeaders,\n query,\n signal,\n reset = !1,\n throwOnError = !1,\n body: inputBody,\n maxRedirections\n } = options;\n if (typeof url === \"string\") {\n if (query)\n url = new URL(url);\n } else if (typeof url === \"object\" && url !== null) {\n if (!(url instanceof URL))\n throw new Error(\"not implemented\");\n } else\n @throwTypeError(\"url must be a string, URL, or UrlObject\");\n if (typeof url === \"string\" && query)\n url = new URL(url);\n if (typeof url === \"object\" && url !== null && query) {\n if (query)\n url.search = new URLSearchParams(query).toString();\n }\n if (method = method && typeof method === \"string\" \? method.toUpperCase() : null, inputBody && (method === \"GET\" || method === \"HEAD\"))\n throw new Error(\"Body not allowed for GET or HEAD requests\");\n if (inputBody && inputBody.read && inputBody instanceof Readable) {\n let data = \"\";\n inputBody.setEncoding(\"utf8\");\n for await (let chunk of stream)\n data += chunk;\n inputBody = (new TextEncoder()).encode(data);\n }\n if (maxRedirections !== @undefined && Number.isNaN(maxRedirections))\n throw new Error(\"maxRedirections must be a number if defined\");\n if (signal && !(signal instanceof @AbortSignal))\n throw new Error(\"signal must be an instance of AbortSignal\");\n let resp;\n const {\n status: statusCode,\n headers,\n trailers\n } = resp = await fetch(url, {\n signal,\n mode: \"cors\",\n method,\n headers: inputHeaders || kEmptyObject,\n body: inputBody,\n redirect: maxRedirections === \"undefined\" || maxRedirections > 0 \? \"follow\" : \"manual\",\n keepalive: !reset\n });\n if (throwOnError && statusCode >= 400 && statusCode < 600)\n throw new Error(`Request failed with status code ${statusCode}`);\n const body = resp.body \? new BodyReadable(resp) : null;\n return { statusCode, headers: headers.toJSON(), body, trailers, opaque: kEmptyObject, context: kEmptyObject };\n}\nvar stream = function() {\n throw new Error(\"Not implemented in bun\");\n}, pipeline = function() {\n throw new Error(\"Not implemented in bun\");\n}, connect = function() {\n throw new Error(\"Not implemented in bun\");\n}, upgrade = function() {\n throw new Error(\"Not implemented in bun\");\n}, mockErrors = function() {\n throw new Error(\"Not implemented in bun\");\n}, Undici = function() {\n throw new Error(\"Not implemented in bun\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { Readable } = StreamModule, { _ReadableFromWebForUndici: ReadableFromWeb } = StreamModule[Symbol.for(\"::bunternal::\")], ObjectCreate = Object.create, kEmptyObject = ObjectCreate(null), fetch = Bun.fetch, Response = globalThis.Response, Headers = globalThis.Headers, Request = globalThis.Request, URLSearchParams = globalThis.URLSearchParams, URL = globalThis.URL;\n\nclass File extends Blob {\n constructor() {\n super(...arguments);\n }\n}\n\nclass FileReader extends EventTarget {\n constructor() {\n throw new Error(\"Not implemented yet!\");\n }\n}\nvar FormData = globalThis.FormData;\n\nclass BodyReadable extends ReadableFromWeb {\n #response;\n #bodyUsed;\n constructor(response, options = {}) {\n var { body } = response;\n if (!body)\n throw new Error(\"Response body is null\");\n super(options, body);\n this.#response = response, this.#bodyUsed = response.bodyUsed;\n }\n get bodyUsed() {\n return this.#bodyUsed;\n }\n #consume() {\n if (this.#bodyUsed)\n @throwTypeError(\"unusable\");\n this.#bodyUsed = !0;\n }\n async arrayBuffer() {\n return this.#consume(), await this.#response.arrayBuffer();\n }\n async blob() {\n return this.#consume(), await this.#response.blob();\n }\n async formData() {\n return this.#consume(), await this.#response.formData();\n }\n async json() {\n return this.#consume(), await this.#response.json();\n }\n async text() {\n return this.#consume(), await this.#response.text();\n }\n}\n\nclass MockClient {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockPool {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockAgent {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass Dispatcher extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Agent extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Pool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass BalancedPool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Client extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\nUndici.Dispatcher = Dispatcher;\nUndici.Pool = Pool;\nUndici.BalancedPool = BalancedPool;\nUndici.Client = Client;\nUndici.Agent = Agent;\nUndici.buildConnector = Undici.errors = Undici.setGlobalDispatcher = Undici.getGlobalDispatcher = Undici.request = Undici.stream = Undici.pipeline = Undici.connect = Undici.upgrade = Undici.MockClient = Undici.MockPool = Undici.MockAgent = Undici.mockErrors = notImplemented;\nUndici.fetch = fetch;\n$ = {\n fetch,\n Response,\n Headers,\n Request,\n URLSearchParams,\n URL,\n File,\n FileReader,\n FormData,\n request,\n stream,\n pipeline,\n connect,\n upgrade,\n MockClient,\n MockPool,\n MockAgent,\n mockErrors,\n Dispatcher,\n Pool,\n BalancedPool,\n Client,\n Agent,\n Undici\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyVercelFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/vercel_fetch.ts\nvar $;\n$ = (wrapper = Bun.fetch) => {\n async function vercelFetch(url, opts = {}) {\n if (opts.body && typeof opts.body === \"object\" && (!(\"buffer\" in opts.body) || typeof opts.body.buffer !== \"object\" || !(opts.body.buffer instanceof @ArrayBuffer))) {\n if (opts.body = JSON.stringify(opts.body), !opts.headers)\n opts.headers = new Headers;\n opts.headers.set(\"Content-Type\", \"application/json\");\n }\n try {\n return await wrapper(url, opts);\n } catch (err) {\n if (typeof err === \"string\")\n err = new Error(err);\n throw err.url = url, err.opts = opts, err;\n }\n }\n return vercelFetch.default = vercelFetch, vercelFetch;\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyVercelFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/vercel_fetch.ts\nvar $;\n$ = (wrapper = Bun.fetch) => {\n async function vercelFetch(url, opts = {}) {\n if (opts.body && typeof opts.body === \"object\" && (!(\"buffer\" in opts.body) || typeof opts.body.buffer !== \"object\" || !(opts.body.buffer instanceof @ArrayBuffer))) {\n if (opts.body = JSON.stringify(opts.body), !opts.headers)\n opts.headers = new Headers;\n opts.headers.set(\"Content-Type\", \"application/json\");\n }\n try {\n return await wrapper(url, opts);\n } catch (err) {\n if (typeof err === \"string\")\n err = new Error(err);\n throw err.url = url, err.opts = opts, err;\n }\n }\n return vercelFetch.default = vercelFetch, vercelFetch;\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyWSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/ws.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, subprotocolParse = function(header) {\n const protocols = new Set;\n let start = -1, end = -1, i = 0;\n for (i;i < header.length; i++) {\n const code = header.charCodeAt(i);\n if (end === -1 && wsTokenChars[code] === 1) {\n if (start === -1)\n start = i;\n } else if (i !== 0 && (code === 32 || code === 9)) {\n if (end === -1 && start !== -1)\n end = i;\n } else if (code === 44) {\n if (start === -1)\n throw new SyntaxError(`Unexpected character at index ${i}`);\n if (end === -1)\n end = i;\n const protocol2 = header.slice(start, end);\n if (protocols.has(protocol2))\n throw new SyntaxError(`The \"${protocol2}\" subprotocol is duplicated`);\n protocols.add(protocol2), start = end = -1;\n } else\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1 || end !== -1)\n throw new SyntaxError(\"Unexpected end of input\");\n const protocol = header.slice(start, i);\n if (protocols.has(protocol))\n throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n return protocols.add(protocol), protocols;\n}, wsEmitClose = function(server) {\n server._state = CLOSED, server.emit(\"close\");\n}, abortHandshake = function(response, code, message, headers) {\n message = message || http.STATUS_CODES[code], headers = {\n Connection: \"close\",\n \"Content-Type\": \"text/html\",\n \"Content-Length\": @Buffer.byteLength(message),\n ...headers\n }, response.writeHead(code, headers), response.write(message), response.end();\n}, abortHandshakeOrEmitwsClientError = function(server, req, response, socket, code, message) {\n if (server.listenerCount(\"wsClientError\")) {\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError), server.emit(\"wsClientError\", err, socket, req);\n } else\n abortHandshake(response, code, message);\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23), kBunInternals = Symbol.for(\"::bunternal::\"), readyStates = [\"CONNECTING\", \"OPEN\", \"CLOSING\", \"CLOSED\"], encoder = new TextEncoder, eventIds = {\n open: 1,\n close: 2,\n message: 3,\n error: 4,\n ping: 5,\n pong: 6\n}, emittedWarnings = new Set;\n\nclass BunWebSocket extends EventEmitter {\n static CONNECTING = 0;\n static OPEN = 1;\n static CLOSING = 2;\n static CLOSED = 3;\n #ws;\n #paused = !1;\n #fragments = !1;\n #binaryType = \"nodebuffer\";\n #eventId = 0;\n constructor(url, protocols, options) {\n super();\n let ws = this.#ws = new WebSocket(url, protocols);\n ws.binaryType = \"nodebuffer\";\n }\n on(event, listener) {\n if (event === \"unexpected-response\" || event === \"upgrade\" || event === \"redirect\")\n emitWarning(event, \"ws.WebSocket '\" + event + \"' event is not implemented in bun\");\n const mask = 1 << eventIds[event];\n if (mask && (this.#eventId & mask) !== mask) {\n if (this.#eventId |= mask, event === \"open\")\n this.#ws.addEventListener(\"open\", () => {\n this.emit(\"open\");\n });\n else if (event === \"close\")\n this.#ws.addEventListener(\"close\", ({ code, reason, wasClean }) => {\n this.emit(\"close\", code, reason, wasClean);\n });\n else if (event === \"message\")\n this.#ws.addEventListener(\"message\", ({ data }) => {\n const isBinary = typeof data !== \"string\";\n if (isBinary)\n this.emit(\"message\", this.#fragments \? [data] : data, isBinary);\n else {\n let encoded = encoder.encode(data);\n if (this.#binaryType !== \"arraybuffer\")\n encoded = @Buffer.from(encoded.buffer, encoded.byteOffset, encoded.byteLength);\n this.emit(\"message\", this.#fragments \? [encoded] : encoded, isBinary);\n }\n });\n else if (event === \"error\")\n this.#ws.addEventListener(\"error\", (err) => {\n this.emit(\"error\", err);\n });\n else if (event === \"ping\")\n this.#ws.addEventListener(\"ping\", ({ data }) => {\n this.emit(\"ping\", data);\n });\n else if (event === \"pong\")\n this.#ws.addEventListener(\"pong\", ({ data }) => {\n this.emit(\"pong\", data);\n });\n }\n return super.on(event, listener);\n }\n send(data, opts, cb) {\n try {\n this.#ws.send(data, opts\?.compress);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n close(code, reason) {\n this.#ws.close(code, reason);\n }\n terminate() {\n this.#ws.terminate();\n }\n get url() {\n return this.#ws.url;\n }\n get readyState() {\n return this.#ws.readyState;\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(value) {\n if (value === \"nodebuffer\" || value === \"arraybuffer\")\n this.#ws.binaryType = this.#binaryType = value, this.#fragments = !1;\n else if (value === \"fragments\")\n this.#ws.binaryType = \"nodebuffer\", this.#binaryType = \"fragments\", this.#fragments = !0;\n else\n throw new Error(`Invalid binaryType: ${value}`);\n }\n get protocol() {\n return this.#ws.protocol;\n }\n get extensions() {\n return this.#ws.extensions;\n }\n addEventListener(type, listener, options) {\n this.#ws.addEventListener(type, listener, options);\n }\n removeEventListener(type, listener) {\n this.#ws.removeEventListener(type, listener);\n }\n get onopen() {\n return this.#ws.onopen;\n }\n set onopen(value) {\n this.#ws.onopen = value;\n }\n get onerror() {\n return this.#ws.onerror;\n }\n set onerror(value) {\n this.#ws.onerror = value;\n }\n get onclose() {\n return this.#ws.onclose;\n }\n set onclose(value) {\n this.#ws.onclose = value;\n }\n get onmessage() {\n return this.#ws.onmessage;\n }\n set onmessage(value) {\n this.#ws.onmessage = value;\n }\n get bufferedAmount() {\n return this.#ws.bufferedAmount;\n }\n get isPaused() {\n return this.#paused;\n }\n ping(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.ping(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pong(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.pong(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pause() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !0, emitWarning(\"pause()\", \"ws.WebSocket.pause() is not implemented in bun\");\n }\n resume() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !1, emitWarning(\"resume()\", \"ws.WebSocket.resume() is not implemented in bun\");\n }\n}\nObject.defineProperty(BunWebSocket, \"name\", { value: \"WebSocket\" });\nvar wsKeyRegex = /^[+/0-9A-Za-z]{22}==$/, wsTokenChars = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0\n], RUNNING = 0, CLOSING = 1, CLOSED = 2;\n\nclass BunWebSocketMocked extends EventEmitter {\n #ws;\n #state;\n #enquedMessages = [];\n #url;\n #protocol;\n #extensions;\n #bufferedAmount = 0;\n #binaryType = \"arraybuffer\";\n #onclose;\n #onerror;\n #onmessage;\n #onopen;\n constructor(url, protocol, extensions, binaryType) {\n super();\n if (this.#ws = null, this.#state = 0, this.#url = url, this.#bufferedAmount = 0, binaryType = binaryType || \"arraybuffer\", binaryType !== \"nodebuffer\" && binaryType !== \"blob\" && binaryType !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = binaryType, this.#protocol = protocol, this.#extensions = extensions;\n const message = this.#message.bind(this), open = this.#open.bind(this), close = this.#close.bind(this), drain = this.#drain.bind(this);\n this[kBunInternals] = {\n message,\n open,\n close,\n drain\n };\n }\n #message(ws, message) {\n this.#ws = ws;\n let isBinary = !1;\n if (typeof message === \"string\")\n if (this.#binaryType === \"arraybuffer\")\n message = encoder.encode(message).buffer;\n else if (this.#binaryType === \"blob\")\n message = new Blob([message], { type: \"text/plain\" });\n else\n message = @Buffer.from(message);\n else if (isBinary = !0, this.#binaryType !== \"nodebuffer\") {\n if (this.#binaryType === \"arraybuffer\")\n message = new @Uint8Array(message);\n else if (this.#binaryType === \"blob\")\n message = new Blob([message]);\n }\n this.emit(\"message\", message, isBinary);\n }\n #open(ws) {\n this.#ws = ws, this.#state = 1, this.emit(\"open\", this), this.#drain(ws);\n }\n #close(ws, code, reason) {\n this.#state = 3, this.#ws = null, this.emit(\"close\", code, reason);\n }\n #drain(ws) {\n const chunk = this.#enquedMessages[0];\n if (chunk) {\n const [data, compress, cb] = chunk;\n if (ws.send(data, compress) == -1)\n return;\n typeof cb === \"function\" && cb(), this.#bufferedAmount -= chunk.length, this.#enquedMessages.shift();\n }\n }\n send(data, opts, cb) {\n if (this.#state === 1) {\n const compress = opts\?.compress;\n if (this.#ws.send(data, compress) == -1) {\n this.#enquedMessages.push([data, compress, cb]), this.#bufferedAmount += data.length;\n return;\n }\n typeof cb === \"function\" && cb();\n } else if (this.#state === 0)\n this.#enquedMessages.push([data, opts\?.compress, cb]), this.#bufferedAmount += data.length;\n }\n close(code, reason) {\n if (this.#state === 1)\n this.#state = 2, this.#ws.close(code, reason);\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(type) {\n if (type !== \"nodebuffer\" && type !== \"blob\" && type !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = type;\n }\n get readyState() {\n return this.#state;\n }\n get url() {\n return this.#url;\n }\n get protocol() {\n return this.#protocol;\n }\n get extensions() {\n return this.#extensions;\n }\n get bufferedAmount() {\n return this.#bufferedAmount \?\? 0;\n }\n setSocket(socket, head, options) {\n throw new Error(\"Not implemented\");\n }\n set onclose(cb) {\n if (this.#onclose)\n this.removeListener(\"close\", this.#onclose);\n this.on(\"close\", cb), this.#onclose = cb;\n }\n set onerror(cb) {\n if (this.#onerror)\n this.removeListener(\"error\", this.#onerror);\n this.on(\"error\", cb), this.#onerror = cb;\n }\n set onmessage(cb) {\n if (this.#onmessage)\n this.removeListener(\"message\", this.#onmessage);\n this.on(\"message\", cb), this.#onmessage = cb;\n }\n set onopen(cb) {\n if (this.#onopen)\n this.removeListener(\"open\", this.#onopen);\n this.on(\"open\", cb), this.#onopen = cb;\n }\n get onclose() {\n return this.#onclose;\n }\n get onerror() {\n return this.#onerror;\n }\n get onmessage() {\n return this.#onmessage;\n }\n get onopen() {\n return this.#onopen;\n }\n addEventListener(type, listener, options) {\n if (type === \"message\") {\n const l = (data) => listener({ data });\n l.listener = listener, this.on(type, l);\n return;\n }\n this.on(type, listener);\n }\n removeEventListener(type, listener) {\n this.off(type, listener);\n }\n}\n\nclass WebSocketServer extends EventEmitter {\n _server;\n options;\n clients;\n _shouldEmitClose;\n _state;\n _removeListeners;\n constructor(options, callback) {\n super();\n if (options = {\n maxPayload: 104857600,\n skipUTF8Validation: !1,\n perMessageDeflate: !1,\n handleProtocols: null,\n clientTracking: !0,\n verifyClient: null,\n noServer: !1,\n backlog: null,\n server: null,\n host: null,\n path: null,\n port: null,\n ...options\n }, options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer)\n @throwTypeError('One and only one of the \"port\", \"server\", or \"noServer\" options must be specified');\n if (options.port != null)\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n res.writeHead(426, {\n \"Content-Length\": body.length,\n \"Content-Type\": \"text/plain\"\n }), res.end(body);\n }), this._server.listen(options.port, options.host, options.backlog, callback);\n else if (options.server)\n this._server = options.server;\n if (this._server) {\n const emitConnection = this.emit.bind(this, \"connection\"), emitListening = this.emit.bind(this, \"listening\"), emitError = this.emit.bind(this, \"error\"), doUpgrade = (req, socket, head) => {\n this.handleUpgrade(req, socket, head, emitConnection);\n };\n this._server.on(\"listening\", emitListening), this._server.on(\"error\", emitError), this._server.on(\"upgrade\", doUpgrade), this._removeListeners = () => {\n this._server.removeListener(\"upgrade\", doUpgrade), this._server.removeListener(\"listening\", emitListening), this._server.removeListener(\"error\", emitError);\n };\n }\n if (options.perMessageDeflate === !0)\n options.perMessageDeflate = {};\n if (options.clientTracking)\n this.clients = new Set, this._shouldEmitClose = !1;\n this.options = options, this._state = RUNNING;\n }\n address() {\n if (this.options.noServer)\n throw new Error('The server is operating in \"noServer\" mode');\n if (!this._server)\n return null;\n return this._server.address();\n }\n close(cb) {\n if (this._state === CLOSED) {\n if (cb)\n this.once(\"close\", () => {\n cb(new Error(\"The server is not running\"));\n });\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n return;\n }\n if (cb)\n this.once(\"close\", cb);\n if (this._state === CLOSING)\n return;\n if (this._state = CLOSING, this.options.noServer || this.options.server) {\n if (this._server)\n this._removeListeners(), this._removeListeners = this._server = null;\n if (this.clients)\n if (!this.clients.size)\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n else\n this._shouldEmitClose = !0;\n else\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n } else {\n const server = this._server;\n this._removeListeners(), this._removeListeners = this._server = null, server.close(() => {\n this._state = CLOSED, this.emit(\"close\");\n });\n }\n }\n shouldHandle(req) {\n if (this.options.path) {\n const index = req.url.indexOf(\"\?\");\n if ((index !== -1 \? req.url.slice(0, index) : req.url) !== this.options.path)\n return !1;\n }\n return !0;\n }\n completeUpgrade(extensions, key, protocols, request, socket, head, cb) {\n const [server, response, req] = socket[kBunInternals];\n if (this._state > RUNNING)\n return abortHandshake(response, 503);\n let protocol = \"\";\n if (protocols.size)\n protocol = this.options.handleProtocols \? this.options.handleProtocols(protocols, request) : protocols.values().next().value;\n const ws = new BunWebSocketMocked(request.url, protocol, extensions, \"nodebuffer\"), headers = [\"HTTP/1.1 101 Switching Protocols\", \"Upgrade: websocket\", \"Connection: Upgrade\"];\n if (this.emit(\"headers\", headers, request), server.upgrade(req, {\n data: ws[kBunInternals]\n })) {\n if (response._reply(@undefined), this.clients)\n this.clients.add(ws), ws.on(\"close\", () => {\n if (this.clients.delete(ws), this._shouldEmitClose && !this.clients.size)\n process.nextTick(wsEmitClose, this);\n });\n cb(ws, request);\n } else\n abortHandshake(response, 500);\n }\n handleUpgrade(req, socket, head, cb) {\n const [_, response] = socket[kBunInternals], key = req.headers[\"sec-websocket-key\"], version = +req.headers[\"sec-websocket-version\"];\n if (req.method !== \"GET\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 405, \"Invalid HTTP method\");\n return;\n }\n if (req.headers.upgrade.toLowerCase() !== \"websocket\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Upgrade header\");\n return;\n }\n if (!key || !wsKeyRegex.test(key)) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Key header\");\n return;\n }\n if (version !== 8 && version !== 13) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Version header\");\n return;\n }\n if (!this.shouldHandle(req)) {\n abortHandshake(response, 400);\n return;\n }\n const secWebSocketProtocol = req.headers[\"sec-websocket-protocol\"];\n let protocols = new Set;\n if (secWebSocketProtocol !== @undefined)\n try {\n protocols = subprotocolParse(secWebSocketProtocol);\n } catch (err) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Sec-WebSocket-Protocol header\");\n return;\n }\n const extensions = {};\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 \? \"sec-websocket-origin\" : \"origin\"}`],\n secure: !!(req.socket.authorized || req.socket.encrypted),\n req\n };\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message, headers) => {\n if (!verified)\n return abortHandshake(response, code || 401, message, headers);\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n });\n return;\n }\n if (!this.options.verifyClient(info))\n return abortHandshake(response, 401);\n }\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n }\n}\nObject.defineProperty(BunWebSocket, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\n\nclass Sender {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\n\nclass Receiver {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\nvar createWebSocketStream = (ws) => {\n throw new Error(\"Not supported yet in Bun\");\n};\n$ = Object.assign(BunWebSocket, {\n createWebSocketStream,\n Receiver,\n Sender,\n WebSocket: BunWebSocket,\n Server: WebSocketServer,\n WebSocketServer\n});\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyWSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/ws.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, subprotocolParse = function(header) {\n const protocols = new Set;\n let start = -1, end = -1, i = 0;\n for (i;i < header.length; i++) {\n const code = header.charCodeAt(i);\n if (end === -1 && wsTokenChars[code] === 1) {\n if (start === -1)\n start = i;\n } else if (i !== 0 && (code === 32 || code === 9)) {\n if (end === -1 && start !== -1)\n end = i;\n } else if (code === 44) {\n if (start === -1)\n throw new SyntaxError(`Unexpected character at index ${i}`);\n if (end === -1)\n end = i;\n const protocol2 = header.slice(start, end);\n if (protocols.has(protocol2))\n throw new SyntaxError(`The \"${protocol2}\" subprotocol is duplicated`);\n protocols.add(protocol2), start = end = -1;\n } else\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1 || end !== -1)\n throw new SyntaxError(\"Unexpected end of input\");\n const protocol = header.slice(start, i);\n if (protocols.has(protocol))\n throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n return protocols.add(protocol), protocols;\n}, wsEmitClose = function(server) {\n server._state = CLOSED, server.emit(\"close\");\n}, abortHandshake = function(response, code, message, headers) {\n message = message || http.STATUS_CODES[code], headers = {\n Connection: \"close\",\n \"Content-Type\": \"text/html\",\n \"Content-Length\": @Buffer.byteLength(message),\n ...headers\n }, response.writeHead(code, headers), response.write(message), response.end();\n}, abortHandshakeOrEmitwsClientError = function(server, req, response, socket, code, message) {\n if (server.listenerCount(\"wsClientError\")) {\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError), server.emit(\"wsClientError\", err, socket, req);\n } else\n abortHandshake(response, code, message);\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23), kBunInternals = Symbol.for(\"::bunternal::\"), readyStates = [\"CONNECTING\", \"OPEN\", \"CLOSING\", \"CLOSED\"], encoder = new TextEncoder, eventIds = {\n open: 1,\n close: 2,\n message: 3,\n error: 4,\n ping: 5,\n pong: 6\n}, emittedWarnings = new Set;\n\nclass BunWebSocket extends EventEmitter {\n static CONNECTING = 0;\n static OPEN = 1;\n static CLOSING = 2;\n static CLOSED = 3;\n #ws;\n #paused = !1;\n #fragments = !1;\n #binaryType = \"nodebuffer\";\n #eventId = 0;\n constructor(url, protocols, options) {\n super();\n let ws = this.#ws = new WebSocket(url, protocols);\n ws.binaryType = \"nodebuffer\";\n }\n on(event, listener) {\n if (event === \"unexpected-response\" || event === \"upgrade\" || event === \"redirect\")\n emitWarning(event, \"ws.WebSocket '\" + event + \"' event is not implemented in bun\");\n const mask = 1 << eventIds[event];\n if (mask && (this.#eventId & mask) !== mask) {\n if (this.#eventId |= mask, event === \"open\")\n this.#ws.addEventListener(\"open\", () => {\n this.emit(\"open\");\n });\n else if (event === \"close\")\n this.#ws.addEventListener(\"close\", ({ code, reason, wasClean }) => {\n this.emit(\"close\", code, reason, wasClean);\n });\n else if (event === \"message\")\n this.#ws.addEventListener(\"message\", ({ data }) => {\n const isBinary = typeof data !== \"string\";\n if (isBinary)\n this.emit(\"message\", this.#fragments \? [data] : data, isBinary);\n else {\n let encoded = encoder.encode(data);\n if (this.#binaryType !== \"arraybuffer\")\n encoded = @Buffer.from(encoded.buffer, encoded.byteOffset, encoded.byteLength);\n this.emit(\"message\", this.#fragments \? [encoded] : encoded, isBinary);\n }\n });\n else if (event === \"error\")\n this.#ws.addEventListener(\"error\", (err) => {\n this.emit(\"error\", err);\n });\n else if (event === \"ping\")\n this.#ws.addEventListener(\"ping\", ({ data }) => {\n this.emit(\"ping\", data);\n });\n else if (event === \"pong\")\n this.#ws.addEventListener(\"pong\", ({ data }) => {\n this.emit(\"pong\", data);\n });\n }\n return super.on(event, listener);\n }\n send(data, opts, cb) {\n try {\n this.#ws.send(data, opts\?.compress);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n close(code, reason) {\n this.#ws.close(code, reason);\n }\n terminate() {\n this.#ws.terminate();\n }\n get url() {\n return this.#ws.url;\n }\n get readyState() {\n return this.#ws.readyState;\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(value) {\n if (value === \"nodebuffer\" || value === \"arraybuffer\")\n this.#ws.binaryType = this.#binaryType = value, this.#fragments = !1;\n else if (value === \"fragments\")\n this.#ws.binaryType = \"nodebuffer\", this.#binaryType = \"fragments\", this.#fragments = !0;\n else\n throw new Error(`Invalid binaryType: ${value}`);\n }\n get protocol() {\n return this.#ws.protocol;\n }\n get extensions() {\n return this.#ws.extensions;\n }\n addEventListener(type, listener, options) {\n this.#ws.addEventListener(type, listener, options);\n }\n removeEventListener(type, listener) {\n this.#ws.removeEventListener(type, listener);\n }\n get onopen() {\n return this.#ws.onopen;\n }\n set onopen(value) {\n this.#ws.onopen = value;\n }\n get onerror() {\n return this.#ws.onerror;\n }\n set onerror(value) {\n this.#ws.onerror = value;\n }\n get onclose() {\n return this.#ws.onclose;\n }\n set onclose(value) {\n this.#ws.onclose = value;\n }\n get onmessage() {\n return this.#ws.onmessage;\n }\n set onmessage(value) {\n this.#ws.onmessage = value;\n }\n get bufferedAmount() {\n return this.#ws.bufferedAmount;\n }\n get isPaused() {\n return this.#paused;\n }\n ping(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.ping(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pong(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.pong(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pause() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !0, emitWarning(\"pause()\", \"ws.WebSocket.pause() is not implemented in bun\");\n }\n resume() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !1, emitWarning(\"resume()\", \"ws.WebSocket.resume() is not implemented in bun\");\n }\n}\nObject.defineProperty(BunWebSocket, \"name\", { value: \"WebSocket\" });\nvar wsKeyRegex = /^[+/0-9A-Za-z]{22}==$/, wsTokenChars = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0\n], RUNNING = 0, CLOSING = 1, CLOSED = 2;\n\nclass BunWebSocketMocked extends EventEmitter {\n #ws;\n #state;\n #enquedMessages = [];\n #url;\n #protocol;\n #extensions;\n #bufferedAmount = 0;\n #binaryType = \"arraybuffer\";\n #onclose;\n #onerror;\n #onmessage;\n #onopen;\n constructor(url, protocol, extensions, binaryType) {\n super();\n if (this.#ws = null, this.#state = 0, this.#url = url, this.#bufferedAmount = 0, binaryType = binaryType || \"arraybuffer\", binaryType !== \"nodebuffer\" && binaryType !== \"blob\" && binaryType !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = binaryType, this.#protocol = protocol, this.#extensions = extensions;\n const message = this.#message.bind(this), open = this.#open.bind(this), close = this.#close.bind(this), drain = this.#drain.bind(this);\n this[kBunInternals] = {\n message,\n open,\n close,\n drain\n };\n }\n #message(ws, message) {\n this.#ws = ws;\n let isBinary = !1;\n if (typeof message === \"string\")\n if (this.#binaryType === \"arraybuffer\")\n message = encoder.encode(message).buffer;\n else if (this.#binaryType === \"blob\")\n message = new Blob([message], { type: \"text/plain\" });\n else\n message = @Buffer.from(message);\n else if (isBinary = !0, this.#binaryType !== \"nodebuffer\") {\n if (this.#binaryType === \"arraybuffer\")\n message = new @Uint8Array(message);\n else if (this.#binaryType === \"blob\")\n message = new Blob([message]);\n }\n this.emit(\"message\", message, isBinary);\n }\n #open(ws) {\n this.#ws = ws, this.#state = 1, this.emit(\"open\", this), this.#drain(ws);\n }\n #close(ws, code, reason) {\n this.#state = 3, this.#ws = null, this.emit(\"close\", code, reason);\n }\n #drain(ws) {\n const chunk = this.#enquedMessages[0];\n if (chunk) {\n const [data, compress, cb] = chunk;\n if (ws.send(data, compress) == -1)\n return;\n typeof cb === \"function\" && cb(), this.#bufferedAmount -= chunk.length, this.#enquedMessages.shift();\n }\n }\n send(data, opts, cb) {\n if (this.#state === 1) {\n const compress = opts\?.compress;\n if (this.#ws.send(data, compress) == -1) {\n this.#enquedMessages.push([data, compress, cb]), this.#bufferedAmount += data.length;\n return;\n }\n typeof cb === \"function\" && cb();\n } else if (this.#state === 0)\n this.#enquedMessages.push([data, opts\?.compress, cb]), this.#bufferedAmount += data.length;\n }\n close(code, reason) {\n if (this.#state === 1)\n this.#state = 2, this.#ws.close(code, reason);\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(type) {\n if (type !== \"nodebuffer\" && type !== \"blob\" && type !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = type;\n }\n get readyState() {\n return this.#state;\n }\n get url() {\n return this.#url;\n }\n get protocol() {\n return this.#protocol;\n }\n get extensions() {\n return this.#extensions;\n }\n get bufferedAmount() {\n return this.#bufferedAmount \?\? 0;\n }\n setSocket(socket, head, options) {\n throw new Error(\"Not implemented\");\n }\n set onclose(cb) {\n if (this.#onclose)\n this.removeListener(\"close\", this.#onclose);\n this.on(\"close\", cb), this.#onclose = cb;\n }\n set onerror(cb) {\n if (this.#onerror)\n this.removeListener(\"error\", this.#onerror);\n this.on(\"error\", cb), this.#onerror = cb;\n }\n set onmessage(cb) {\n if (this.#onmessage)\n this.removeListener(\"message\", this.#onmessage);\n this.on(\"message\", cb), this.#onmessage = cb;\n }\n set onopen(cb) {\n if (this.#onopen)\n this.removeListener(\"open\", this.#onopen);\n this.on(\"open\", cb), this.#onopen = cb;\n }\n get onclose() {\n return this.#onclose;\n }\n get onerror() {\n return this.#onerror;\n }\n get onmessage() {\n return this.#onmessage;\n }\n get onopen() {\n return this.#onopen;\n }\n addEventListener(type, listener, options) {\n if (type === \"message\") {\n const l = (data) => listener({ data });\n l.listener = listener, this.on(type, l);\n return;\n }\n this.on(type, listener);\n }\n removeEventListener(type, listener) {\n this.off(type, listener);\n }\n}\n\nclass WebSocketServer extends EventEmitter {\n _server;\n options;\n clients;\n _shouldEmitClose;\n _state;\n _removeListeners;\n constructor(options, callback) {\n super();\n if (options = {\n maxPayload: 104857600,\n skipUTF8Validation: !1,\n perMessageDeflate: !1,\n handleProtocols: null,\n clientTracking: !0,\n verifyClient: null,\n noServer: !1,\n backlog: null,\n server: null,\n host: null,\n path: null,\n port: null,\n ...options\n }, options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer)\n @throwTypeError('One and only one of the \"port\", \"server\", or \"noServer\" options must be specified');\n if (options.port != null)\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n res.writeHead(426, {\n \"Content-Length\": body.length,\n \"Content-Type\": \"text/plain\"\n }), res.end(body);\n }), this._server.listen(options.port, options.host, options.backlog, callback);\n else if (options.server)\n this._server = options.server;\n if (this._server) {\n const emitConnection = this.emit.bind(this, \"connection\"), emitListening = this.emit.bind(this, \"listening\"), emitError = this.emit.bind(this, \"error\"), doUpgrade = (req, socket, head) => {\n this.handleUpgrade(req, socket, head, emitConnection);\n };\n this._server.on(\"listening\", emitListening), this._server.on(\"error\", emitError), this._server.on(\"upgrade\", doUpgrade), this._removeListeners = () => {\n this._server.removeListener(\"upgrade\", doUpgrade), this._server.removeListener(\"listening\", emitListening), this._server.removeListener(\"error\", emitError);\n };\n }\n if (options.perMessageDeflate === !0)\n options.perMessageDeflate = {};\n if (options.clientTracking)\n this.clients = new Set, this._shouldEmitClose = !1;\n this.options = options, this._state = RUNNING;\n }\n address() {\n if (this.options.noServer)\n throw new Error('The server is operating in \"noServer\" mode');\n if (!this._server)\n return null;\n return this._server.address();\n }\n close(cb) {\n if (this._state === CLOSED) {\n if (cb)\n this.once(\"close\", () => {\n cb(new Error(\"The server is not running\"));\n });\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n return;\n }\n if (cb)\n this.once(\"close\", cb);\n if (this._state === CLOSING)\n return;\n if (this._state = CLOSING, this.options.noServer || this.options.server) {\n if (this._server)\n this._removeListeners(), this._removeListeners = this._server = null;\n if (this.clients)\n if (!this.clients.size)\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n else\n this._shouldEmitClose = !0;\n else\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n } else {\n const server = this._server;\n this._removeListeners(), this._removeListeners = this._server = null, server.close(() => {\n this._state = CLOSED, this.emit(\"close\");\n });\n }\n }\n shouldHandle(req) {\n if (this.options.path) {\n const index = req.url.indexOf(\"\?\");\n if ((index !== -1 \? req.url.slice(0, index) : req.url) !== this.options.path)\n return !1;\n }\n return !0;\n }\n completeUpgrade(extensions, key, protocols, request, socket, head, cb) {\n const [server, response, req] = socket[kBunInternals];\n if (this._state > RUNNING)\n return abortHandshake(response, 503);\n let protocol = \"\";\n if (protocols.size)\n protocol = this.options.handleProtocols \? this.options.handleProtocols(protocols, request) : protocols.values().next().value;\n const ws = new BunWebSocketMocked(request.url, protocol, extensions, \"nodebuffer\"), headers = [\"HTTP/1.1 101 Switching Protocols\", \"Upgrade: websocket\", \"Connection: Upgrade\"];\n if (this.emit(\"headers\", headers, request), server.upgrade(req, {\n data: ws[kBunInternals]\n })) {\n if (response._reply(@undefined), this.clients)\n this.clients.add(ws), ws.on(\"close\", () => {\n if (this.clients.delete(ws), this._shouldEmitClose && !this.clients.size)\n process.nextTick(wsEmitClose, this);\n });\n cb(ws, request);\n } else\n abortHandshake(response, 500);\n }\n handleUpgrade(req, socket, head, cb) {\n const [_, response] = socket[kBunInternals], key = req.headers[\"sec-websocket-key\"], version = +req.headers[\"sec-websocket-version\"];\n if (req.method !== \"GET\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 405, \"Invalid HTTP method\");\n return;\n }\n if (req.headers.upgrade.toLowerCase() !== \"websocket\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Upgrade header\");\n return;\n }\n if (!key || !wsKeyRegex.test(key)) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Key header\");\n return;\n }\n if (version !== 8 && version !== 13) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Version header\");\n return;\n }\n if (!this.shouldHandle(req)) {\n abortHandshake(response, 400);\n return;\n }\n const secWebSocketProtocol = req.headers[\"sec-websocket-protocol\"];\n let protocols = new Set;\n if (secWebSocketProtocol !== @undefined)\n try {\n protocols = subprotocolParse(secWebSocketProtocol);\n } catch (err) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Sec-WebSocket-Protocol header\");\n return;\n }\n const extensions = {};\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 \? \"sec-websocket-origin\" : \"origin\"}`],\n secure: !!(req.socket.authorized || req.socket.encrypted),\n req\n };\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message, headers) => {\n if (!verified)\n return abortHandshake(response, code || 401, message, headers);\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n });\n return;\n }\n if (!this.options.verifyClient(info))\n return abortHandshake(response, 401);\n }\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n }\n}\nObject.defineProperty(BunWebSocket, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\n\nclass Sender {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\n\nclass Receiver {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\nvar createWebSocketStream = (ws) => {\n throw new Error(\"Not supported yet in Bun\");\n};\n$ = Object.assign(BunWebSocket, {\n createWebSocketStream,\n Receiver,\n Sender,\n WebSocket: BunWebSocket,\n Server: WebSocketServer,\n WebSocketServer\n});\nreturn $})\n"); // #else // Not 100% accurate, but basically inlining linux on non-windows non-mac platforms. // -static constexpr ASCIILiteral BunFFICode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/bun/ffi.ts\nvar FFIBuilder = function(params, returnType, functionToCall, name) {\n const hasReturnType = typeof FFIType[returnType] === \"number\" && FFIType[returnType] !== FFIType.void;\n var paramNames = new @Array(params.length), args = new @Array(params.length);\n for (let i = 0;i < params.length; i++) {\n paramNames[i] = `p${i}`;\n const wrapper = ffiWrappers[FFIType[params[i]]];\n if (wrapper)\n args[i] = `(val=>${wrapper})(p${i})`;\n else\n @throwTypeError(`Unsupported type ${params[i]}. Must be one of: ${Object.keys(FFIType).sort().join(\", \")}`);\n }\n var code = `functionToCall(${args.join(\", \")})`;\n if (hasReturnType)\n if (FFIType[returnType] === FFIType.cstring)\n code = `return new __GlobalBunCString(${code})`;\n else\n code = `return ${code}`;\n var func = new Function(\"functionToCall\", ...paramNames, code);\n Object.defineProperty(func, \"name\", {\n value: name\n });\n var wrap;\n switch (paramNames.length) {\n case 0:\n wrap = () => func(functionToCall);\n break;\n case 1:\n wrap = (arg1) => func(functionToCall, arg1);\n break;\n case 2:\n wrap = (arg1, arg2) => func(functionToCall, arg1, arg2);\n break;\n case 3:\n wrap = (arg1, arg2, arg3) => func(functionToCall, arg1, arg2, arg3);\n break;\n case 4:\n wrap = (arg1, arg2, arg3, arg4) => func(functionToCall, arg1, arg2, arg3, arg4);\n break;\n case 5:\n wrap = (arg1, arg2, arg3, arg4, arg5) => func(functionToCall, arg1, arg2, arg3, arg4, arg5);\n break;\n case 6:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6);\n break;\n case 7:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7);\n break;\n case 8:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\n break;\n case 9:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\n break;\n default: {\n wrap = (...args2) => func(functionToCall, ...args2);\n break;\n }\n }\n return wrap.native = functionToCall, wrap.ptr = functionToCall.ptr, wrap;\n}, dlopen = function(path, options) {\n const result = nativeDLOpen(path, options);\n if (result instanceof Error)\n throw result;\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, path.includes(\"/\") \? `${key} (${path.split(\"/\").pop()})` : `${key} (${path})`);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result.close = result.close.bind(result), result;\n}, linkSymbols = function(options) {\n const result = nativeLinkSymbols(options);\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, key);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result;\n}, onCloseCFunction = function(close) {\n close();\n}, CFunction = function(options) {\n const identifier = `CFunction${cFunctionI++}`;\n var result = linkSymbols({\n [identifier]: options\n }), hasClosed = !1, close = result.close.bind(result);\n return result.symbols[identifier].close = () => {\n if (hasClosed || !close)\n return;\n hasClosed = !0, close(), close = @undefined;\n }, cFunctionRegistry ||= new FinalizationRegistry(onCloseCFunction), cFunctionRegistry.register(result.symbols[identifier], result.symbols[identifier].close), result.symbols[identifier];\n}, $, FFIType = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"10\": 10,\n \"11\": 11,\n \"12\": 12,\n \"13\": 13,\n \"14\": 14,\n \"15\": 15,\n \"16\": 16,\n \"17\": 17,\n bool: 11,\n c_int: 5,\n c_uint: 6,\n char: 0,\n \"char*\": 12,\n double: 9,\n f32: 10,\n f64: 9,\n float: 10,\n i16: 3,\n i32: 5,\n i64: 7,\n i8: 1,\n int: 5,\n int16_t: 3,\n int32_t: 5,\n int64_t: 7,\n int8_t: 1,\n isize: 7,\n u16: 4,\n u32: 6,\n u64: 8,\n u8: 2,\n uint16_t: 4,\n uint32_t: 6,\n uint64_t: 8,\n uint8_t: 2,\n usize: 8,\n \"void*\": 12,\n ptr: 12,\n pointer: 12,\n void: 13,\n cstring: 14,\n i64_fast: 15,\n u64_fast: 16,\n function: 17,\n callback: 17,\n fn: 17\n};\nvar ffi = globalThis.Bun.FFI, ptr = (arg1, arg2) => typeof arg2 === \"undefined\" \? ffi.ptr(arg1) : ffi.ptr(arg1, arg2), toBuffer = ffi.toBuffer, toArrayBuffer = ffi.toArrayBuffer, viewSource = ffi.viewSource, BunCString = ffi.CString, nativeLinkSymbols = ffi.linkSymbols, nativeDLOpen = ffi.dlopen, nativeCallback = ffi.callback, closeCallback = ffi.closeCallback;\ndelete ffi.callback;\ndelete ffi.closeCallback;\n\nclass JSCallback {\n constructor(cb, options) {\n const { ctx, ptr: ptr2 } = nativeCallback(options, cb);\n this.#ctx = ctx, this.ptr = ptr2, this.#threadsafe = !!options\?.threadsafe;\n }\n ptr;\n #ctx;\n #threadsafe;\n get threadsafe() {\n return this.#threadsafe;\n }\n [Symbol.toPrimitive]() {\n const { ptr: ptr2 } = this;\n return typeof ptr2 === \"number\" \? ptr2 : 0;\n }\n close() {\n const ctx = this.#ctx;\n if (this.ptr = null, this.#ctx = null, ctx)\n closeCallback(ctx);\n }\n}\n\nclass CString extends @String {\n constructor(ptr2, byteOffset, byteLength) {\n super(ptr2 \? typeof byteLength === \"number\" && Number.isSafeInteger(byteLength) \? BunCString(ptr2, byteOffset || 0, byteLength) : BunCString(ptr2) : \"\");\n if (this.ptr = typeof ptr2 === \"number\" \? ptr2 : 0, typeof byteOffset !== \"undefined\")\n this.byteOffset = byteOffset;\n if (typeof byteLength !== \"undefined\")\n this.byteLength = byteLength;\n }\n ptr;\n byteOffset;\n byteLength;\n #cachedArrayBuffer;\n get arrayBuffer() {\n if (this.#cachedArrayBuffer)\n return this.#cachedArrayBuffer;\n if (!this.ptr)\n return this.#cachedArrayBuffer = new @ArrayBuffer(0);\n return this.#cachedArrayBuffer = toArrayBuffer(this.ptr, this.byteOffset, this.byteLength);\n }\n}\nObject.defineProperty(globalThis, \"__GlobalBunCString\", {\n value: CString,\n enumerable: !1,\n configurable: !1\n});\nvar ffiWrappers = new @Array(18), char = \"val|0\";\nffiWrappers.fill(char);\nffiWrappers[FFIType.uint8_t] = \"val<0\?0:val>=255\?255:val|0\";\nffiWrappers[FFIType.int16_t] = \"val<=-32768\?-32768:val>=32768\?32768:val|0\";\nffiWrappers[FFIType.uint16_t] = \"val<=0\?0:val>=65536\?65536:val|0\";\nffiWrappers[FFIType.int32_t] = \"val|0\";\nffiWrappers[FFIType.uint32_t] = \"val<=0\?0:val>=0xffffffff\?0xffffffff:+val||0\";\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= 0) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.int64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.uint64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return val <= 0 \? BigInt(0) : BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(0)) return Number(val);\n return val;\n }\n\n return typeof val === \"number\" \? (val <= 0 \? 0 : +val || 0) : +val || 0;\n}`;\nffiWrappers[FFIType.uint16_t] = `{\n const ret = (typeof val === \"bigint\" \? Number(val) : val) | 0;\n return ret <= 0 \? 0 : ret > 0xffff \? 0xffff : ret;\n}`;\nffiWrappers[FFIType.double] = `{\n if (typeof val === \"bigint\") {\n if (val.valueOf() < BigInt(Number.MAX_VALUE)) {\n return Math.abs(Number(val).valueOf()) + 0.00000000000001 - 0.00000000000001;\n }\n }\n\n if (!val) {\n return 0 + 0.00000000000001 - 0.00000000000001;\n }\n\n return val + 0.00000000000001 - 0.00000000000001;\n}`;\nffiWrappers[FFIType.float] = ffiWrappers[10] = `{\n return Math.fround(val);\n}`;\nffiWrappers[FFIType.bool] = `{\n return !!val;\n}`;\nObject.defineProperty(globalThis, \"__GlobalBunFFIPtrFunctionForWrapper\", {\n value: ptr,\n enumerable: !1,\n configurable: !0\n});\nffiWrappers[FFIType.cstring] = ffiWrappers[FFIType.pointer] = `{\n if (typeof val === \"number\") return val;\n if (!val) {\n return null;\n }\n\n if (ArrayBuffer.isView(val) || val instanceof ArrayBuffer) {\n return __GlobalBunFFIPtrFunctionForWrapper(val);\n }\n\n if (typeof val === \"string\") {\n throw new TypeError(\"To convert a string to a pointer, encode it as a buffer\");\n }\n\n throw new TypeError(\\`Unable to convert \\${ val } to a pointer\\`);\n}`;\nffiWrappers[FFIType.function] = `{\n if (typeof val === \"number\") {\n return val;\n }\n\n if (typeof val === \"bigint\") {\n return Number(val);\n }\n\n var ptr = val && val.ptr;\n\n if (!ptr) {\n throw new TypeError(\"Expected function to be a JSCallback or a number\");\n }\n\n return ptr;\n}`;\nvar native = {\n dlopen: nativeDLOpen,\n callback: () => {\n throw new Error(\"Deprecated. Use new JSCallback(options, fn) instead\");\n }\n}, cFunctionI = 0, cFunctionRegistry, read = ffi.read;\n$ = {\n CFunction,\n CString,\n FFIType,\n JSCallback,\n dlopen,\n linkSymbols,\n native,\n ptr,\n read,\n suffix: \"so\",\n toArrayBuffer,\n toBuffer,\n viewSource\n};\nreturn $})\n"); +static constexpr ASCIILiteral BunFFICode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/bun/ffi.ts\nvar FFIBuilder = function(params, returnType, functionToCall, name) {\n const hasReturnType = typeof FFIType[returnType] === \"number\" && FFIType[returnType] !== FFIType.void;\n var paramNames = new @Array(params.length), args = new @Array(params.length);\n for (let i = 0;i < params.length; i++) {\n paramNames[i] = `p${i}`;\n const wrapper = ffiWrappers[FFIType[params[i]]];\n if (wrapper)\n args[i] = `(val=>${wrapper})(p${i})`;\n else\n @throwTypeError(`Unsupported type ${params[i]}. Must be one of: ${Object.keys(FFIType).sort().join(\", \")}`);\n }\n var code = `functionToCall(${args.join(\", \")})`;\n if (hasReturnType)\n if (FFIType[returnType] === FFIType.cstring)\n code = `return new __GlobalBunCString(${code})`;\n else\n code = `return ${code}`;\n var func = new Function(\"functionToCall\", ...paramNames, code);\n Object.defineProperty(func, \"name\", {\n value: name\n });\n var wrap;\n switch (paramNames.length) {\n case 0:\n wrap = () => func(functionToCall);\n break;\n case 1:\n wrap = (arg1) => func(functionToCall, arg1);\n break;\n case 2:\n wrap = (arg1, arg2) => func(functionToCall, arg1, arg2);\n break;\n case 3:\n wrap = (arg1, arg2, arg3) => func(functionToCall, arg1, arg2, arg3);\n break;\n case 4:\n wrap = (arg1, arg2, arg3, arg4) => func(functionToCall, arg1, arg2, arg3, arg4);\n break;\n case 5:\n wrap = (arg1, arg2, arg3, arg4, arg5) => func(functionToCall, arg1, arg2, arg3, arg4, arg5);\n break;\n case 6:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6);\n break;\n case 7:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7);\n break;\n case 8:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);\n break;\n case 9:\n wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);\n break;\n default: {\n wrap = (...args2) => func(functionToCall, ...args2);\n break;\n }\n }\n return wrap.native = functionToCall, wrap.ptr = functionToCall.ptr, wrap;\n}, dlopen = function(path, options) {\n const result = nativeDLOpen(path, options);\n if (result instanceof Error)\n throw result;\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, path.includes(\"/\") \? `${key} (${path.split(\"/\").pop()})` : `${key} (${path})`);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result.close = result.close.bind(result), result;\n}, linkSymbols = function(options) {\n const result = nativeLinkSymbols(options);\n for (let key in result.symbols) {\n var symbol = result.symbols[key];\n if (options[key]\?.args\?.length || FFIType[options[key]\?.returns] === FFIType.cstring)\n result.symbols[key] = FFIBuilder(options[key].args \?\? [], options[key].returns \?\? FFIType.void, symbol, key);\n else\n result.symbols[key].native = result.symbols[key];\n }\n return result;\n}, onCloseCFunction = function(close) {\n close();\n}, CFunction = function(options) {\n const identifier = `CFunction${cFunctionI++}`;\n var result = linkSymbols({\n [identifier]: options\n }), hasClosed = !1, close = result.close.bind(result);\n return result.symbols[identifier].close = () => {\n if (hasClosed || !close)\n return;\n hasClosed = !0, close(), close = @undefined;\n }, cFunctionRegistry ||= new FinalizationRegistry(onCloseCFunction), cFunctionRegistry.register(result.symbols[identifier], result.symbols[identifier].close), result.symbols[identifier];\n}, $, FFIType = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"10\": 10,\n \"11\": 11,\n \"12\": 12,\n \"13\": 13,\n \"14\": 14,\n \"15\": 15,\n \"16\": 16,\n \"17\": 17,\n bool: 11,\n c_int: 5,\n c_uint: 6,\n char: 0,\n \"char*\": 12,\n double: 9,\n f32: 10,\n f64: 9,\n float: 10,\n i16: 3,\n i32: 5,\n i64: 7,\n i8: 1,\n int: 5,\n int16_t: 3,\n int32_t: 5,\n int64_t: 7,\n int8_t: 1,\n isize: 7,\n u16: 4,\n u32: 6,\n u64: 8,\n u8: 2,\n uint16_t: 4,\n uint32_t: 6,\n uint64_t: 8,\n uint8_t: 2,\n usize: 8,\n \"void*\": 12,\n ptr: 12,\n pointer: 12,\n void: 13,\n cstring: 14,\n i64_fast: 15,\n u64_fast: 16,\n function: 17,\n callback: 17,\n fn: 17\n};\nvar ffi = globalThis.Bun.FFI, ptr = (arg1, arg2) => typeof arg2 === \"undefined\" \? ffi.ptr(arg1) : ffi.ptr(arg1, arg2), toBuffer = ffi.toBuffer, toArrayBuffer = ffi.toArrayBuffer, viewSource = ffi.viewSource, BunCString = ffi.CString, nativeLinkSymbols = ffi.linkSymbols, nativeDLOpen = ffi.dlopen, nativeCallback = ffi.callback, closeCallback = ffi.closeCallback;\ndelete ffi.callback;\ndelete ffi.closeCallback;\n\nclass JSCallback {\n constructor(cb, options) {\n const { ctx, ptr: ptr2 } = nativeCallback(options, cb);\n this.#ctx = ctx, this.ptr = ptr2, this.#threadsafe = !!options\?.threadsafe;\n }\n ptr;\n #ctx;\n #threadsafe;\n get threadsafe() {\n return this.#threadsafe;\n }\n [Symbol.toPrimitive]() {\n const { ptr: ptr2 } = this;\n return typeof ptr2 === \"number\" \? ptr2 : 0;\n }\n close() {\n const ctx = this.#ctx;\n if (this.ptr = null, this.#ctx = null, ctx)\n closeCallback(ctx);\n }\n}\n\nclass CString extends @String {\n constructor(ptr2, byteOffset, byteLength) {\n super(ptr2 \? typeof byteLength === \"number\" && Number.isSafeInteger(byteLength) \? BunCString(ptr2, byteOffset || 0, byteLength) : BunCString(ptr2) : \"\");\n if (this.ptr = typeof ptr2 === \"number\" \? ptr2 : 0, typeof byteOffset !== \"undefined\")\n this.byteOffset = byteOffset;\n if (typeof byteLength !== \"undefined\")\n this.byteLength = byteLength;\n }\n ptr;\n byteOffset;\n byteLength;\n #cachedArrayBuffer;\n get arrayBuffer() {\n if (this.#cachedArrayBuffer)\n return this.#cachedArrayBuffer;\n if (!this.ptr)\n return this.#cachedArrayBuffer = new @ArrayBuffer(0);\n return this.#cachedArrayBuffer = toArrayBuffer(this.ptr, this.byteOffset, this.byteLength);\n }\n}\nObject.defineProperty(globalThis, \"__GlobalBunCString\", {\n value: CString,\n enumerable: !1,\n configurable: !1\n});\nvar ffiWrappers = new @Array(18), char = \"val|0\";\nffiWrappers.fill(char);\nffiWrappers[FFIType.uint8_t] = \"val<0\?0:val>=255\?255:val|0\";\nffiWrappers[FFIType.int16_t] = \"val<=-32768\?-32768:val>=32768\?32768:val|0\";\nffiWrappers[FFIType.uint16_t] = \"val<=0\?0:val>=65536\?65536:val|0\";\nffiWrappers[FFIType.int32_t] = \"val|0\";\nffiWrappers[FFIType.uint32_t] = \"val<=0\?0:val>=0xffffffff\?0xffffffff:+val||0\";\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.i64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= 0) {\n return Number(val).valueOf() || 0;\n }\n\n return val;\n }\n\n return !val \? 0 : +val || 0;\n}`;\nffiWrappers[FFIType.int64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.uint64_t] = `{\n if (typeof val === \"bigint\") {\n return val;\n }\n\n if (typeof val === \"number\") {\n return val <= 0 \? BigInt(0) : BigInt(val || 0);\n }\n\n return BigInt(+val || 0);\n}`;\nffiWrappers[FFIType.u64_fast] = `{\n if (typeof val === \"bigint\") {\n if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(0)) return Number(val);\n return val;\n }\n\n return typeof val === \"number\" \? (val <= 0 \? 0 : +val || 0) : +val || 0;\n}`;\nffiWrappers[FFIType.uint16_t] = `{\n const ret = (typeof val === \"bigint\" \? Number(val) : val) | 0;\n return ret <= 0 \? 0 : ret > 0xffff \? 0xffff : ret;\n}`;\nffiWrappers[FFIType.double] = `{\n if (typeof val === \"bigint\") {\n if (val.valueOf() < BigInt(Number.MAX_VALUE)) {\n return Math.abs(Number(val).valueOf()) + 0.00000000000001 - 0.00000000000001;\n }\n }\n\n if (!val) {\n return 0 + 0.00000000000001 - 0.00000000000001;\n }\n\n return val + 0.00000000000001 - 0.00000000000001;\n}`;\nffiWrappers[FFIType.float] = ffiWrappers[10] = `{\n return Math.fround(val);\n}`;\nffiWrappers[FFIType.bool] = `{\n return !!val;\n}`;\nObject.defineProperty(globalThis, \"__GlobalBunFFIPtrFunctionForWrapper\", {\n value: ptr,\n enumerable: !1,\n configurable: !0\n});\nffiWrappers[FFIType.cstring] = ffiWrappers[FFIType.pointer] = `{\n if (typeof val === \"number\") return val;\n if (!val) {\n return null;\n }\n\n if (ArrayBuffer.isView(val) || val instanceof ArrayBuffer) {\n return __GlobalBunFFIPtrFunctionForWrapper(val);\n }\n\n if (typeof val === \"string\") {\n throw new TypeError(\"To convert a string to a pointer, encode it as a buffer\");\n }\n\n throw new TypeError(\\`Unable to convert \\${ val } to a pointer\\`);\n}`;\nffiWrappers[FFIType.function] = `{\n if (typeof val === \"number\") {\n return val;\n }\n\n if (typeof val === \"bigint\") {\n return Number(val);\n }\n\n var ptr = val && val.ptr;\n\n if (!ptr) {\n throw new TypeError(\"Expected function to be a JSCallback or a number\");\n }\n\n return ptr;\n}`;\nvar native = {\n dlopen: nativeDLOpen,\n callback: () => {\n throw new Error(\"Deprecated. Use new JSCallback(options, fn) instead\");\n }\n}, cFunctionI = 0, cFunctionRegistry, read = ffi.read;\n$ = {\n CFunction,\n CString,\n FFIType,\n JSCallback,\n dlopen,\n linkSymbols,\n native,\n ptr,\n read,\n suffix: \"so\",\n toArrayBuffer,\n toBuffer,\n viewSource\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral BunSqliteCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/bun/sqlite.ts\nvar $, defineProperties = Object.defineProperties, toStringTag = Symbol.toStringTag, isArray = @Array.isArray, isTypedArray = @ArrayBuffer.isView, constants = {\n SQLITE_OPEN_READONLY: 1,\n SQLITE_OPEN_READWRITE: 2,\n SQLITE_OPEN_CREATE: 4,\n SQLITE_OPEN_DELETEONCLOSE: 8,\n SQLITE_OPEN_EXCLUSIVE: 16,\n SQLITE_OPEN_AUTOPROXY: 32,\n SQLITE_OPEN_URI: 64,\n SQLITE_OPEN_MEMORY: 128,\n SQLITE_OPEN_MAIN_DB: 256,\n SQLITE_OPEN_TEMP_DB: 512,\n SQLITE_OPEN_TRANSIENT_DB: 1024,\n SQLITE_OPEN_MAIN_JOURNAL: 2048,\n SQLITE_OPEN_TEMP_JOURNAL: 4096,\n SQLITE_OPEN_SUBJOURNAL: 8192,\n SQLITE_OPEN_SUPER_JOURNAL: 16384,\n SQLITE_OPEN_NOMUTEX: 32768,\n SQLITE_OPEN_FULLMUTEX: 65536,\n SQLITE_OPEN_SHAREDCACHE: 131072,\n SQLITE_OPEN_PRIVATECACHE: 262144,\n SQLITE_OPEN_WAL: 524288,\n SQLITE_OPEN_NOFOLLOW: 16777216,\n SQLITE_OPEN_EXRESCODE: 33554432,\n SQLITE_PREPARE_PERSISTENT: 1,\n SQLITE_PREPARE_NORMALIZE: 2,\n SQLITE_PREPARE_NO_VTAB: 4\n}, SQL, controllers;\n\nclass Statement {\n constructor(raw) {\n switch (this.#raw = raw, raw.paramsCount) {\n case 0: {\n this.get = this.#getNoArgs, this.all = this.#allNoArgs, this.values = this.#valuesNoArgs, this.run = this.#runNoArgs;\n break;\n }\n default: {\n this.get = this.#get, this.all = this.#all, this.values = this.#values, this.run = this.#run;\n break;\n }\n }\n }\n #raw;\n get;\n all;\n values;\n run;\n isFinalized = !1;\n toJSON() {\n return {\n sql: this.native.toString(),\n isFinalized: this.isFinalized,\n paramsCount: this.paramsCount,\n columnNames: this.columnNames\n };\n }\n get [toStringTag]() {\n return `\"${this.native.toString()}\"`;\n }\n toString() {\n return this.native.toString();\n }\n get native() {\n return this.#raw;\n }\n #getNoArgs() {\n return this.#raw.get();\n }\n #allNoArgs() {\n return this.#raw.all();\n }\n #valuesNoArgs() {\n return this.#raw.values();\n }\n #runNoArgs() {\n this.#raw.run();\n }\n #get(...args) {\n if (args.length === 0)\n return this.#getNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.get(args) : this.#raw.get(...args);\n }\n #all(...args) {\n if (args.length === 0)\n return this.#allNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.all(args) : this.#raw.all(...args);\n }\n #values(...args) {\n if (args.length === 0)\n return this.#valuesNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.values(args) : this.#raw.values(...args);\n }\n #run(...args) {\n if (args.length === 0)\n return this.#runNoArgs();\n var arg0 = args[0];\n !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.run(args) : this.#raw.run(...args);\n }\n get columnNames() {\n return this.#raw.columns;\n }\n get paramsCount() {\n return this.#raw.paramsCount;\n }\n finalize(...args) {\n return this.isFinalized = !0, this.#raw.finalize(...args);\n }\n}\nvar cachedCount = Symbol.for(\"Bun.Database.cache.count\");\n\nclass Database {\n constructor(filenameGiven, options) {\n if (typeof filenameGiven === \"undefined\")\n ;\n else if (typeof filenameGiven !== \"string\") {\n if (isTypedArray(filenameGiven)) {\n this.#handle = Database.#deserialize(filenameGiven, typeof options === \"object\" && options \? !!options.readonly : ((options | 0) & constants.SQLITE_OPEN_READONLY) != 0), this.filename = \":memory:\";\n return;\n }\n @throwTypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`);\n }\n var filename = typeof filenameGiven === \"string\" \? filenameGiven.trim() : \":memory:\", flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (typeof options === \"object\" && options) {\n if (flags = 0, options.readonly)\n flags = constants.SQLITE_OPEN_READONLY;\n if (\"readOnly\" in options)\n @throwTypeError('Misspelled option \"readOnly\" should be \"readonly\"');\n if (options.create)\n flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (options.readwrite)\n flags |= constants.SQLITE_OPEN_READWRITE;\n } else if (typeof options === \"number\")\n flags = options;\n const anonymous = filename === \"\" || filename === \":memory:\";\n if (anonymous && (flags & constants.SQLITE_OPEN_READONLY) !== 0)\n throw new Error(\"Cannot open an anonymous database in read-only mode.\");\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n this.#handle = SQL.open(anonymous \? \":memory:\" : filename, flags), this.filename = filename;\n }\n #handle;\n #cachedQueriesKeys = [];\n #cachedQueriesLengths = [];\n #cachedQueriesValues = [];\n filename;\n get handle() {\n return this.#handle;\n }\n get inTransaction() {\n return SQL.isInTransaction(this.#handle);\n }\n static open(filename, options) {\n return new Database(filename, options);\n }\n loadExtension(name, entryPoint) {\n return SQL.loadExtension(this.#handle, name, entryPoint);\n }\n serialize(optionalName) {\n return SQL.serialize(this.#handle, optionalName || \"main\");\n }\n static #deserialize(serialized, isReadOnly = !1) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.deserialize(serialized, isReadOnly);\n }\n static deserialize(serialized, isReadOnly = !1) {\n return new Database(serialized, isReadOnly \? constants.SQLITE_OPEN_READONLY : 0);\n }\n static setCustomSQLite(path) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.setCustomSQLite(path);\n }\n close() {\n return this.clearQueryCache(), SQL.close(this.#handle);\n }\n clearQueryCache() {\n for (let item of this.#cachedQueriesValues)\n item.finalize();\n this.#cachedQueriesKeys.length = 0, this.#cachedQueriesValues.length = 0, this.#cachedQueriesLengths.length = 0;\n }\n run(query, ...params) {\n if (params.length === 0) {\n SQL.run(this.#handle, query);\n return;\n }\n var arg0 = params[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? SQL.run(this.#handle, query, params) : SQL.run(this.#handle, query, ...params);\n }\n prepare(query, params, flags) {\n return new Statement(SQL.prepare(this.#handle, query, params, flags || 0));\n }\n static MAX_QUERY_CACHE_SIZE = 20;\n get [cachedCount]() {\n return this.#cachedQueriesKeys.length;\n }\n query(query) {\n if (typeof query !== \"string\")\n @throwTypeError(`Expected 'query' to be a string, got '${typeof query}'`);\n if (query.length === 0)\n throw new Error(\"SQL query cannot be empty.\");\n const willCache = this.#cachedQueriesKeys.length < Database.MAX_QUERY_CACHE_SIZE;\n var index = this.#cachedQueriesLengths.indexOf(query.length);\n while (index !== -1) {\n if (this.#cachedQueriesKeys[index] !== query) {\n index = this.#cachedQueriesLengths.indexOf(query.length, index + 1);\n continue;\n }\n var stmt = this.#cachedQueriesValues[index];\n if (stmt.isFinalized)\n return this.#cachedQueriesValues[index] = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n return stmt;\n }\n var stmt = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n if (willCache)\n this.#cachedQueriesKeys.push(query), this.#cachedQueriesLengths.push(query.length), this.#cachedQueriesValues.push(stmt);\n return stmt;\n }\n transaction(fn, self) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"Expected first argument to be a function\");\n const db = this, controller = getController(db, self), properties = {\n default: { value: wrapTransaction(fn, db, controller.default) },\n deferred: { value: wrapTransaction(fn, db, controller.deferred) },\n immediate: {\n value: wrapTransaction(fn, db, controller.immediate)\n },\n exclusive: {\n value: wrapTransaction(fn, db, controller.exclusive)\n },\n database: { value: this, enumerable: !0 }\n };\n return defineProperties(properties.default.value, properties), defineProperties(properties.deferred.value, properties), defineProperties(properties.immediate.value, properties), defineProperties(properties.exclusive.value, properties), properties.default.value;\n }\n}\nDatabase.prototype.exec = Database.prototype.run;\nvar getController = (db, self) => {\n let controller = (controllers ||= new WeakMap).get(db);\n if (!controller) {\n const shared = {\n commit: db.prepare(\"COMMIT\", @undefined, 0),\n rollback: db.prepare(\"ROLLBACK\", @undefined, 0),\n savepoint: db.prepare(\"SAVEPOINT `\\t_bs3.\\t`\", @undefined, 0),\n release: db.prepare(\"RELEASE `\\t_bs3.\\t`\", @undefined, 0),\n rollbackTo: db.prepare(\"ROLLBACK TO `\\t_bs3.\\t`\", @undefined, 0)\n };\n controllers.set(db, controller = {\n default: Object.assign({ begin: db.prepare(\"BEGIN\", @undefined, 0) }, shared),\n deferred: Object.assign({ begin: db.prepare(\"BEGIN DEFERRED\", @undefined, 0) }, shared),\n immediate: Object.assign({ begin: db.prepare(\"BEGIN IMMEDIATE\", @undefined, 0) }, shared),\n exclusive: Object.assign({ begin: db.prepare(\"BEGIN EXCLUSIVE\", @undefined, 0) }, shared)\n });\n }\n return controller;\n}, wrapTransaction = (fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function transaction(...args) {\n let before, after, undo;\n if (db.inTransaction)\n before = savepoint, after = release, undo = rollbackTo;\n else\n before = begin, after = commit, undo = rollback;\n try {\n before.run();\n const result = fn.@apply(this, args);\n return after.run(), result;\n } catch (ex) {\n if (db.inTransaction) {\n if (undo.run(), undo !== rollback)\n after.run();\n }\n throw ex;\n }\n};\n$ = {\n __esModule: !0,\n Database,\n Statement,\n constants,\n default: Database\n};\nreturn $})\n"); +static constexpr ASCIILiteral BunSqliteCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/bun/sqlite.ts\nvar $, defineProperties = Object.defineProperties, toStringTag = Symbol.toStringTag, isArray = @Array.isArray, isTypedArray = @ArrayBuffer.isView, constants = {\n SQLITE_OPEN_READONLY: 1,\n SQLITE_OPEN_READWRITE: 2,\n SQLITE_OPEN_CREATE: 4,\n SQLITE_OPEN_DELETEONCLOSE: 8,\n SQLITE_OPEN_EXCLUSIVE: 16,\n SQLITE_OPEN_AUTOPROXY: 32,\n SQLITE_OPEN_URI: 64,\n SQLITE_OPEN_MEMORY: 128,\n SQLITE_OPEN_MAIN_DB: 256,\n SQLITE_OPEN_TEMP_DB: 512,\n SQLITE_OPEN_TRANSIENT_DB: 1024,\n SQLITE_OPEN_MAIN_JOURNAL: 2048,\n SQLITE_OPEN_TEMP_JOURNAL: 4096,\n SQLITE_OPEN_SUBJOURNAL: 8192,\n SQLITE_OPEN_SUPER_JOURNAL: 16384,\n SQLITE_OPEN_NOMUTEX: 32768,\n SQLITE_OPEN_FULLMUTEX: 65536,\n SQLITE_OPEN_SHAREDCACHE: 131072,\n SQLITE_OPEN_PRIVATECACHE: 262144,\n SQLITE_OPEN_WAL: 524288,\n SQLITE_OPEN_NOFOLLOW: 16777216,\n SQLITE_OPEN_EXRESCODE: 33554432,\n SQLITE_PREPARE_PERSISTENT: 1,\n SQLITE_PREPARE_NORMALIZE: 2,\n SQLITE_PREPARE_NO_VTAB: 4\n}, SQL, controllers;\n\nclass Statement {\n constructor(raw) {\n switch (this.#raw = raw, raw.paramsCount) {\n case 0: {\n this.get = this.#getNoArgs, this.all = this.#allNoArgs, this.values = this.#valuesNoArgs, this.run = this.#runNoArgs;\n break;\n }\n default: {\n this.get = this.#get, this.all = this.#all, this.values = this.#values, this.run = this.#run;\n break;\n }\n }\n }\n #raw;\n get;\n all;\n values;\n run;\n isFinalized = !1;\n toJSON() {\n return {\n sql: this.native.toString(),\n isFinalized: this.isFinalized,\n paramsCount: this.paramsCount,\n columnNames: this.columnNames\n };\n }\n get [toStringTag]() {\n return `\"${this.native.toString()}\"`;\n }\n toString() {\n return this.native.toString();\n }\n get native() {\n return this.#raw;\n }\n #getNoArgs() {\n return this.#raw.get();\n }\n #allNoArgs() {\n return this.#raw.all();\n }\n #valuesNoArgs() {\n return this.#raw.values();\n }\n #runNoArgs() {\n this.#raw.run();\n }\n #get(...args) {\n if (args.length === 0)\n return this.#getNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.get(args) : this.#raw.get(...args);\n }\n #all(...args) {\n if (args.length === 0)\n return this.#allNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.all(args) : this.#raw.all(...args);\n }\n #values(...args) {\n if (args.length === 0)\n return this.#valuesNoArgs();\n var arg0 = args[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.values(args) : this.#raw.values(...args);\n }\n #run(...args) {\n if (args.length === 0)\n return this.#runNoArgs();\n var arg0 = args[0];\n !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? this.#raw.run(args) : this.#raw.run(...args);\n }\n get columnNames() {\n return this.#raw.columns;\n }\n get paramsCount() {\n return this.#raw.paramsCount;\n }\n finalize(...args) {\n return this.isFinalized = !0, this.#raw.finalize(...args);\n }\n}\nvar cachedCount = Symbol.for(\"Bun.Database.cache.count\");\n\nclass Database {\n constructor(filenameGiven, options) {\n if (typeof filenameGiven === \"undefined\")\n ;\n else if (typeof filenameGiven !== \"string\") {\n if (isTypedArray(filenameGiven)) {\n this.#handle = Database.#deserialize(filenameGiven, typeof options === \"object\" && options \? !!options.readonly : ((options | 0) & constants.SQLITE_OPEN_READONLY) != 0), this.filename = \":memory:\";\n return;\n }\n @throwTypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`);\n }\n var filename = typeof filenameGiven === \"string\" \? filenameGiven.trim() : \":memory:\", flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (typeof options === \"object\" && options) {\n if (flags = 0, options.readonly)\n flags = constants.SQLITE_OPEN_READONLY;\n if (\"readOnly\" in options)\n @throwTypeError('Misspelled option \"readOnly\" should be \"readonly\"');\n if (options.create)\n flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE;\n if (options.readwrite)\n flags |= constants.SQLITE_OPEN_READWRITE;\n } else if (typeof options === \"number\")\n flags = options;\n const anonymous = filename === \"\" || filename === \":memory:\";\n if (anonymous && (flags & constants.SQLITE_OPEN_READONLY) !== 0)\n throw new Error(\"Cannot open an anonymous database in read-only mode.\");\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n this.#handle = SQL.open(anonymous \? \":memory:\" : filename, flags), this.filename = filename;\n }\n #handle;\n #cachedQueriesKeys = [];\n #cachedQueriesLengths = [];\n #cachedQueriesValues = [];\n filename;\n get handle() {\n return this.#handle;\n }\n get inTransaction() {\n return SQL.isInTransaction(this.#handle);\n }\n static open(filename, options) {\n return new Database(filename, options);\n }\n loadExtension(name, entryPoint) {\n return SQL.loadExtension(this.#handle, name, entryPoint);\n }\n serialize(optionalName) {\n return SQL.serialize(this.#handle, optionalName || \"main\");\n }\n static #deserialize(serialized, isReadOnly = !1) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.deserialize(serialized, isReadOnly);\n }\n static deserialize(serialized, isReadOnly = !1) {\n return new Database(serialized, isReadOnly \? constants.SQLITE_OPEN_READONLY : 0);\n }\n static setCustomSQLite(path) {\n if (!SQL)\n SQL = @lazy(\"sqlite\");\n return SQL.setCustomSQLite(path);\n }\n close() {\n return this.clearQueryCache(), SQL.close(this.#handle);\n }\n clearQueryCache() {\n for (let item of this.#cachedQueriesValues)\n item.finalize();\n this.#cachedQueriesKeys.length = 0, this.#cachedQueriesValues.length = 0, this.#cachedQueriesLengths.length = 0;\n }\n run(query, ...params) {\n if (params.length === 0) {\n SQL.run(this.#handle, query);\n return;\n }\n var arg0 = params[0];\n return !isArray(arg0) && (!arg0 || typeof arg0 !== \"object\" || isTypedArray(arg0)) \? SQL.run(this.#handle, query, params) : SQL.run(this.#handle, query, ...params);\n }\n prepare(query, params, flags) {\n return new Statement(SQL.prepare(this.#handle, query, params, flags || 0));\n }\n static MAX_QUERY_CACHE_SIZE = 20;\n get [cachedCount]() {\n return this.#cachedQueriesKeys.length;\n }\n query(query) {\n if (typeof query !== \"string\")\n @throwTypeError(`Expected 'query' to be a string, got '${typeof query}'`);\n if (query.length === 0)\n throw new Error(\"SQL query cannot be empty.\");\n const willCache = this.#cachedQueriesKeys.length < Database.MAX_QUERY_CACHE_SIZE;\n var index = this.#cachedQueriesLengths.indexOf(query.length);\n while (index !== -1) {\n if (this.#cachedQueriesKeys[index] !== query) {\n index = this.#cachedQueriesLengths.indexOf(query.length, index + 1);\n continue;\n }\n var stmt = this.#cachedQueriesValues[index];\n if (stmt.isFinalized)\n return this.#cachedQueriesValues[index] = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n return stmt;\n }\n var stmt = this.prepare(query, @undefined, willCache \? constants.SQLITE_PREPARE_PERSISTENT : 0);\n if (willCache)\n this.#cachedQueriesKeys.push(query), this.#cachedQueriesLengths.push(query.length), this.#cachedQueriesValues.push(stmt);\n return stmt;\n }\n transaction(fn, self) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"Expected first argument to be a function\");\n const db = this, controller = getController(db, self), properties = {\n default: { value: wrapTransaction(fn, db, controller.default) },\n deferred: { value: wrapTransaction(fn, db, controller.deferred) },\n immediate: {\n value: wrapTransaction(fn, db, controller.immediate)\n },\n exclusive: {\n value: wrapTransaction(fn, db, controller.exclusive)\n },\n database: { value: this, enumerable: !0 }\n };\n return defineProperties(properties.default.value, properties), defineProperties(properties.deferred.value, properties), defineProperties(properties.immediate.value, properties), defineProperties(properties.exclusive.value, properties), properties.default.value;\n }\n}\nDatabase.prototype.exec = Database.prototype.run;\nvar getController = (db, self) => {\n let controller = (controllers ||= new WeakMap).get(db);\n if (!controller) {\n const shared = {\n commit: db.prepare(\"COMMIT\", @undefined, 0),\n rollback: db.prepare(\"ROLLBACK\", @undefined, 0),\n savepoint: db.prepare(\"SAVEPOINT `\\t_bs3.\\t`\", @undefined, 0),\n release: db.prepare(\"RELEASE `\\t_bs3.\\t`\", @undefined, 0),\n rollbackTo: db.prepare(\"ROLLBACK TO `\\t_bs3.\\t`\", @undefined, 0)\n };\n controllers.set(db, controller = {\n default: Object.assign({ begin: db.prepare(\"BEGIN\", @undefined, 0) }, shared),\n deferred: Object.assign({ begin: db.prepare(\"BEGIN DEFERRED\", @undefined, 0) }, shared),\n immediate: Object.assign({ begin: db.prepare(\"BEGIN IMMEDIATE\", @undefined, 0) }, shared),\n exclusive: Object.assign({ begin: db.prepare(\"BEGIN EXCLUSIVE\", @undefined, 0) }, shared)\n });\n }\n return controller;\n}, wrapTransaction = (fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function transaction(...args) {\n let before, after, undo;\n if (db.inTransaction)\n before = savepoint, after = release, undo = rollbackTo;\n else\n before = begin, after = commit, undo = rollback;\n try {\n before.run();\n const result = fn.@apply(this, args);\n return after.run(), result;\n } catch (ex) {\n if (db.inTransaction) {\n if (undo.run(), undo !== rollback)\n after.run();\n }\n throw ex;\n }\n};\n$ = {\n __esModule: !0,\n Database,\n Statement,\n constants,\n default: Database\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalDebuggerCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/debugger.ts\nvar versionInfo = function() {\n return {\n \"Protocol-Version\": \"1.3\",\n Browser: \"Bun\",\n \"User-Agent\": navigator.userAgent,\n \"WebKit-Version\": process.versions.webkit,\n \"Bun-Version\": Bun.version,\n \"Bun-Revision\": Bun.revision\n };\n}, webSocketWriter = function(ws) {\n return {\n write: (message) => !!ws.sendText(message),\n close: () => ws.close()\n };\n}, socketWriter = function(socket) {\n return {\n write: (message) => !!socket.write(message),\n close: () => socket.end()\n };\n}, bufferedWriter = function(writer) {\n let draining = !1, pendingMessages = [];\n return {\n write: (message) => {\n if (draining || !writer.write(message))\n pendingMessages.push(message);\n return !0;\n },\n drain: () => {\n draining = !0;\n try {\n for (let i = 0;i < pendingMessages.length; i++)\n if (!writer.write(pendingMessages[i])) {\n pendingMessages = pendingMessages.slice(i);\n return;\n }\n } finally {\n draining = !1;\n }\n },\n close: () => {\n writer.close(), pendingMessages.length = 0;\n }\n };\n}, parseUrl = function(url) {\n try {\n if (!url)\n return new URL(randomId(), `ws://${defaultHostname}:${defaultPort}/`);\n else if (url.startsWith(\"/\"))\n return new URL(url, `ws://${defaultHostname}:${defaultPort}/`);\n else if (/^[a-z+]+:\\/\\//i.test(url))\n return new URL(url);\n else if (/^\\d+$/.test(url))\n return new URL(randomId(), `ws://${defaultHostname}:${url}/`);\n else if (!url.includes(\"/\") && url.includes(\":\"))\n return new URL(randomId(), `ws://${url}/`);\n else if (!url.includes(\":\")) {\n const [hostname, pathname] = url.split(\"/\", 2);\n return new URL(`ws://${hostname}:${defaultPort}/${pathname}`);\n } else\n return new URL(randomId(), `ws://${url}`);\n } catch {\n @throwTypeError(`Invalid hostname or URL: '${url}'`);\n }\n}, randomId = function() {\n return Math.random().toString(36).slice(2);\n}, dim = function(string) {\n if (enableANSIColors)\n return `\\x1B[2m${string}\\x1B[22m`;\n return string;\n}, link = function(url) {\n if (enableANSIColors)\n return `\\x1B[1m\\x1B]8;;${url}\\x1B\\\\${url}\\x1B]8;;\\x1B\\\\\\x1B[22m`;\n return url;\n}, reset = function() {\n if (enableANSIColors)\n return \"\\x1B[49m\";\n return \"\";\n}, notify = function(unix) {\n Bun.connect({\n unix,\n socket: {\n open: (socket) => {\n socket.end(\"1\");\n },\n data: () => {\n }\n }\n }).finally(() => {\n });\n}, exit = function(...args) {\n console.error(...args), process.exit(1);\n}, $;\n$ = function(executionContextId, url, createBackend, send, close) {\n let debug;\n try {\n debug = new Debugger(executionContextId, url, createBackend, send, close);\n } catch (error) {\n exit(\"Failed to start inspector:\\n\", error);\n }\n const { protocol, href, host, pathname } = debug.url;\n if (!protocol.includes(\"unix\")) {\n if (console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset()), console.log(`Listening:\\n ${dim(href)}`), protocol.includes(\"ws\"))\n console.log(`Inspect in browser:\\n ${link(`https://debug.bun.sh/#${host}${pathname}`)}`);\n console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset());\n }\n const unix = process.env.BUN_INSPECT_NOTIFY;\n if (unix) {\n const { protocol: protocol2, pathname: pathname2 } = parseUrl(unix);\n if (protocol2 === \"unix:\")\n notify(pathname2);\n }\n};\n\nclass Debugger {\n #url;\n #createBackend;\n constructor(executionContextId, url, createBackend, send, close) {\n this.#url = parseUrl(url), this.#createBackend = (refEventLoop, receive) => {\n const backend = createBackend(executionContextId, refEventLoop, receive);\n return {\n write: (message) => {\n return send.@call(backend, message), !0;\n },\n close: () => close.@call(backend)\n };\n }, this.#listen();\n }\n get url() {\n return this.#url;\n }\n #listen() {\n const { protocol, hostname, port, pathname } = this.#url;\n if (protocol === \"ws:\" || protocol === \"ws+tcp:\") {\n const server = Bun.serve({\n hostname,\n port,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n this.#url.hostname = server.hostname, this.#url.port = `${server.port}`;\n return;\n }\n if (protocol === \"ws+unix:\") {\n Bun.serve({\n unix: pathname,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n return;\n }\n @throwTypeError(`Unsupported protocol: '${protocol}' (expected 'ws:', 'ws+unix:', or 'unix:')`);\n }\n get #websocket() {\n return {\n idleTimeout: 0,\n closeOnBackpressureLimit: !1,\n open: (ws) => this.#open(ws, webSocketWriter(ws)),\n message: (ws, message) => {\n if (typeof message === \"string\")\n this.#message(ws, message);\n else\n this.#error(ws, new Error(`Unexpected binary message: ${message.toString()}`));\n },\n drain: (ws) => this.#drain(ws),\n close: (ws) => this.#close(ws)\n };\n }\n #fetch(request, server) {\n const { method, url, headers } = request, { pathname } = new URL(url);\n if (method !== \"GET\")\n return new Response(null, {\n status: 405\n });\n switch (pathname) {\n case \"/json/version\":\n return Response.json(versionInfo());\n case \"/json\":\n case \"/json/list\":\n }\n if (!this.#url.protocol.includes(\"unix\") && this.#url.pathname !== pathname)\n return new Response(null, {\n status: 404\n });\n const data = {\n refEventLoop: headers.get(\"Ref-Event-Loop\") === \"0\"\n };\n if (!server.upgrade(request, { data }))\n return new Response(null, {\n status: 426,\n headers: {\n Upgrade: \"websocket\"\n }\n });\n }\n get #socket() {\n return {\n open: (socket) => this.#open(socket, socketWriter(socket)),\n data: (socket, message) => this.#message(socket, message.toString()),\n drain: (socket) => this.#drain(socket),\n close: (socket) => this.#close(socket),\n error: (socket, error) => this.#error(socket, error),\n connectError: (_, error) => exit(\"Failed to start inspector:\\n\", error)\n };\n }\n #open(connection, writer) {\n const { data } = connection, { refEventLoop } = data, client = bufferedWriter(writer), backend = this.#createBackend(refEventLoop, (...messages) => {\n for (let message of messages)\n client.write(message);\n });\n data.client = client, data.backend = backend;\n }\n #message(connection, message) {\n const { data } = connection, { backend } = data;\n backend\?.write(message);\n }\n #drain(connection) {\n const { data } = connection, { client } = data;\n client\?.drain\?.();\n }\n #close(connection) {\n const { data } = connection, { backend } = data;\n backend\?.close();\n }\n #error(connection, error) {\n const { data } = connection, { backend } = data;\n console.error(error), backend\?.close();\n }\n}\nvar defaultHostname = \"localhost\", defaultPort = 6499, { enableANSIColors } = Bun;\nreturn $})\n"); +static constexpr ASCIILiteral InternalDebuggerCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/debugger.ts\nvar versionInfo = function() {\n return {\n \"Protocol-Version\": \"1.3\",\n Browser: \"Bun\",\n \"User-Agent\": navigator.userAgent,\n \"WebKit-Version\": process.versions.webkit,\n \"Bun-Version\": Bun.version,\n \"Bun-Revision\": Bun.revision\n };\n}, webSocketWriter = function(ws) {\n return {\n write: (message) => !!ws.sendText(message),\n close: () => ws.close()\n };\n}, socketWriter = function(socket) {\n return {\n write: (message) => !!socket.write(message),\n close: () => socket.end()\n };\n}, bufferedWriter = function(writer) {\n let draining = !1, pendingMessages = [];\n return {\n write: (message) => {\n if (draining || !writer.write(message))\n pendingMessages.push(message);\n return !0;\n },\n drain: () => {\n draining = !0;\n try {\n for (let i = 0;i < pendingMessages.length; i++)\n if (!writer.write(pendingMessages[i])) {\n pendingMessages = pendingMessages.slice(i);\n return;\n }\n } finally {\n draining = !1;\n }\n },\n close: () => {\n writer.close(), pendingMessages.length = 0;\n }\n };\n}, parseUrl = function(url) {\n try {\n if (!url)\n return new URL(randomId(), `ws://${defaultHostname}:${defaultPort}/`);\n else if (url.startsWith(\"/\"))\n return new URL(url, `ws://${defaultHostname}:${defaultPort}/`);\n else if (/^[a-z+]+:\\/\\//i.test(url))\n return new URL(url);\n else if (/^\\d+$/.test(url))\n return new URL(randomId(), `ws://${defaultHostname}:${url}/`);\n else if (!url.includes(\"/\") && url.includes(\":\"))\n return new URL(randomId(), `ws://${url}/`);\n else if (!url.includes(\":\")) {\n const [hostname, pathname] = url.split(\"/\", 2);\n return new URL(`ws://${hostname}:${defaultPort}/${pathname}`);\n } else\n return new URL(randomId(), `ws://${url}`);\n } catch {\n @throwTypeError(`Invalid hostname or URL: '${url}'`);\n }\n}, randomId = function() {\n return Math.random().toString(36).slice(2);\n}, dim = function(string) {\n if (enableANSIColors)\n return `\\x1B[2m${string}\\x1B[22m`;\n return string;\n}, link = function(url) {\n if (enableANSIColors)\n return `\\x1B[1m\\x1B]8;;${url}\\x1B\\\\${url}\\x1B]8;;\\x1B\\\\\\x1B[22m`;\n return url;\n}, reset = function() {\n if (enableANSIColors)\n return \"\\x1B[49m\";\n return \"\";\n}, notify = function(unix) {\n Bun.connect({\n unix,\n socket: {\n open: (socket) => {\n socket.end(\"1\");\n },\n data: () => {\n }\n }\n }).finally(() => {\n });\n}, exit = function(...args) {\n console.error(...args), process.exit(1);\n}, $;\n$ = function(executionContextId, url, createBackend, send, close) {\n let debug;\n try {\n debug = new Debugger(executionContextId, url, createBackend, send, close);\n } catch (error) {\n exit(\"Failed to start inspector:\\n\", error);\n }\n const { protocol, href, host, pathname } = debug.url;\n if (!protocol.includes(\"unix\")) {\n if (console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset()), console.log(`Listening:\\n ${dim(href)}`), protocol.includes(\"ws\"))\n console.log(`Inspect in browser:\\n ${link(`https://debug.bun.sh/#${host}${pathname}`)}`);\n console.log(dim(\"--------------------- Bun Inspector ---------------------\"), reset());\n }\n const unix = process.env.BUN_INSPECT_NOTIFY;\n if (unix) {\n const { protocol: protocol2, pathname: pathname2 } = parseUrl(unix);\n if (protocol2 === \"unix:\")\n notify(pathname2);\n }\n};\n\nclass Debugger {\n #url;\n #createBackend;\n constructor(executionContextId, url, createBackend, send, close) {\n this.#url = parseUrl(url), this.#createBackend = (refEventLoop, receive) => {\n const backend = createBackend(executionContextId, refEventLoop, receive);\n return {\n write: (message) => {\n return send.@call(backend, message), !0;\n },\n close: () => close.@call(backend)\n };\n }, this.#listen();\n }\n get url() {\n return this.#url;\n }\n #listen() {\n const { protocol, hostname, port, pathname } = this.#url;\n if (protocol === \"ws:\" || protocol === \"ws+tcp:\") {\n const server = Bun.serve({\n hostname,\n port,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n this.#url.hostname = server.hostname, this.#url.port = `${server.port}`;\n return;\n }\n if (protocol === \"ws+unix:\") {\n Bun.serve({\n unix: pathname,\n fetch: this.#fetch.bind(this),\n websocket: this.#websocket\n });\n return;\n }\n @throwTypeError(`Unsupported protocol: '${protocol}' (expected 'ws:', 'ws+unix:', or 'unix:')`);\n }\n get #websocket() {\n return {\n idleTimeout: 0,\n closeOnBackpressureLimit: !1,\n open: (ws) => this.#open(ws, webSocketWriter(ws)),\n message: (ws, message) => {\n if (typeof message === \"string\")\n this.#message(ws, message);\n else\n this.#error(ws, new Error(`Unexpected binary message: ${message.toString()}`));\n },\n drain: (ws) => this.#drain(ws),\n close: (ws) => this.#close(ws)\n };\n }\n #fetch(request, server) {\n const { method, url, headers } = request, { pathname } = new URL(url);\n if (method !== \"GET\")\n return new Response(null, {\n status: 405\n });\n switch (pathname) {\n case \"/json/version\":\n return Response.json(versionInfo());\n case \"/json\":\n case \"/json/list\":\n }\n if (!this.#url.protocol.includes(\"unix\") && this.#url.pathname !== pathname)\n return new Response(null, {\n status: 404\n });\n const data = {\n refEventLoop: headers.get(\"Ref-Event-Loop\") === \"0\"\n };\n if (!server.upgrade(request, { data }))\n return new Response(null, {\n status: 426,\n headers: {\n Upgrade: \"websocket\"\n }\n });\n }\n get #socket() {\n return {\n open: (socket) => this.#open(socket, socketWriter(socket)),\n data: (socket, message) => this.#message(socket, message.toString()),\n drain: (socket) => this.#drain(socket),\n close: (socket) => this.#close(socket),\n error: (socket, error) => this.#error(socket, error),\n connectError: (_, error) => exit(\"Failed to start inspector:\\n\", error)\n };\n }\n #open(connection, writer) {\n const { data } = connection, { refEventLoop } = data, client = bufferedWriter(writer), backend = this.#createBackend(refEventLoop, (...messages) => {\n for (let message of messages)\n client.write(message);\n });\n data.client = client, data.backend = backend;\n }\n #message(connection, message) {\n const { data } = connection, { backend } = data;\n backend\?.write(message);\n }\n #drain(connection) {\n const { data } = connection, { client } = data;\n client\?.drain\?.();\n }\n #close(connection) {\n const { data } = connection, { backend } = data;\n backend\?.close();\n }\n #error(connection, error) {\n const { data } = connection, { backend } = data;\n console.error(error), backend\?.close();\n }\n}\nvar defaultHostname = \"localhost\", defaultPort = 6499, { enableANSIColors } = Bun;\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalFSCpSyncCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/fs/cp-sync.ts\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n}, cpSyncFn = function(src, dest, opts) {\n const { srcStat, destStat, skipped } = checkPathsSync(src, dest, opts);\n if (skipped)\n return;\n return checkParentPathsSync(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}, checkPathsSync = function(src, dest, opts) {\n if (opts.filter) {\n const shouldCopy = opts.filter(src, dest);\n if (isPromise(shouldCopy))\n throw new Error(\"Expected a boolean from the filter function, but got a promise. Use `fs.promises.cp` instead.\");\n if (!shouldCopy)\n return { __proto__: null, skipped: !0 };\n }\n const { srcStat, destStat } = getStatsSync(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"src and dest cannot be the same\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}, getStatsSync = function(src, dest, opts) {\n let destStat;\n const statFunc = opts.dereference \? (file) => statSync(file, { bigint: !0 }) : (file) => lstatSync(file, { bigint: !0 }), srcStat = statFunc(src);\n try {\n destStat = statFunc(dest);\n } catch (err) {\n if (err.code === \"ENOENT\")\n return { srcStat, destStat: null };\n throw err;\n }\n return { srcStat, destStat };\n}, checkParentPathsSync = function(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = statSync(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPathsSync(src, srcStat, destParent);\n}, checkParentDir = function(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (!existsSync(destParent))\n mkdirSync(destParent, { recursive: !0 });\n return getStats(destStat, src, dest, opts);\n}, getStats = function(destStat, src, dest, opts) {\n const srcStat = (opts.dereference \? statSync : lstatSync)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}, onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n}, mayCopyFile = function(srcStat, src, dest, opts) {\n if (opts.force)\n return unlinkSync(dest), copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}, copyFile = function(srcStat, src, dest, opts) {\n if (copyFileSync(src, dest, opts.mode), opts.preserveTimestamps)\n handleTimestamps(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}, handleTimestamps = function(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n makeFileWritable(dest, srcMode);\n return setDestTimestamps(src, dest);\n}, fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n}, setDestMode = function(dest, srcMode) {\n return chmodSync(dest, srcMode);\n}, setDestTimestamps = function(src, dest) {\n const updatedSrcStat = statSync(src);\n return utimesSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}, onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n}, mkDirAndCopy = function(srcMode, src, dest, opts) {\n return mkdirSync(dest), copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}, copyDir = function(src, dest, opts) {\n for (let dirent of readdirSync(src, { withFileTypes: !0 })) {\n const { name } = dirent, srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = checkPathsSync(srcItem, destItem, opts);\n if (!skipped)\n getStats(destStat, srcItem, destItem, opts);\n }\n}, onLink = function(destStat, src, dest, opts) {\n let resolvedSrc = readlinkSync(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlinkSync(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = readlinkSync(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlinkSync(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if (statSync(dest).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}, copyLink = function(resolvedSrc, dest) {\n return unlinkSync(dest), symlinkSync(resolvedSrc, dest);\n}, ArrayPrototypeEvery = @Array.prototype.every, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit.@call(resolve(path), sep), Boolean), {\n chmodSync,\n copyFileSync,\n existsSync,\n lstatSync,\n mkdirSync,\n readdirSync,\n readlinkSync,\n statSync,\n symlinkSync,\n unlinkSync,\n utimesSync\n} = @getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), { isPromise } = @requireNativeModule(\"util/types\");\nreturn cpSyncFn})\n"); +static constexpr ASCIILiteral InternalFSCpSyncCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/fs/cp-sync.ts\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n}, cpSyncFn = function(src, dest, opts) {\n const { srcStat, destStat, skipped } = checkPathsSync(src, dest, opts);\n if (skipped)\n return;\n return checkParentPathsSync(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}, checkPathsSync = function(src, dest, opts) {\n if (opts.filter) {\n const shouldCopy = opts.filter(src, dest);\n if (isPromise(shouldCopy))\n throw new Error(\"Expected a boolean from the filter function, but got a promise. Use `fs.promises.cp` instead.\");\n if (!shouldCopy)\n return { __proto__: null, skipped: !0 };\n }\n const { srcStat, destStat } = getStatsSync(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"src and dest cannot be the same\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}, getStatsSync = function(src, dest, opts) {\n let destStat;\n const statFunc = opts.dereference \? (file) => statSync(file, { bigint: !0 }) : (file) => lstatSync(file, { bigint: !0 }), srcStat = statFunc(src);\n try {\n destStat = statFunc(dest);\n } catch (err) {\n if (err.code === \"ENOENT\")\n return { srcStat, destStat: null };\n throw err;\n }\n return { srcStat, destStat };\n}, checkParentPathsSync = function(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = statSync(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPathsSync(src, srcStat, destParent);\n}, checkParentDir = function(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (!existsSync(destParent))\n mkdirSync(destParent, { recursive: !0 });\n return getStats(destStat, src, dest, opts);\n}, getStats = function(destStat, src, dest, opts) {\n const srcStat = (opts.dereference \? statSync : lstatSync)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}, onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n}, mayCopyFile = function(srcStat, src, dest, opts) {\n if (opts.force)\n return unlinkSync(dest), copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}, copyFile = function(srcStat, src, dest, opts) {\n if (copyFileSync(src, dest, opts.mode), opts.preserveTimestamps)\n handleTimestamps(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}, handleTimestamps = function(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n makeFileWritable(dest, srcMode);\n return setDestTimestamps(src, dest);\n}, fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n}, setDestMode = function(dest, srcMode) {\n return chmodSync(dest, srcMode);\n}, setDestTimestamps = function(src, dest) {\n const updatedSrcStat = statSync(src);\n return utimesSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}, onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n}, mkDirAndCopy = function(srcMode, src, dest, opts) {\n return mkdirSync(dest), copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}, copyDir = function(src, dest, opts) {\n for (let dirent of readdirSync(src, { withFileTypes: !0 })) {\n const { name } = dirent, srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = checkPathsSync(srcItem, destItem, opts);\n if (!skipped)\n getStats(destStat, srcItem, destItem, opts);\n }\n}, onLink = function(destStat, src, dest, opts) {\n let resolvedSrc = readlinkSync(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlinkSync(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = readlinkSync(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlinkSync(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if (statSync(dest).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}, copyLink = function(resolvedSrc, dest) {\n return unlinkSync(dest), symlinkSync(resolvedSrc, dest);\n}, ArrayPrototypeEvery = @Array.prototype.every, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit.@call(resolve(path), sep), Boolean), {\n chmodSync,\n copyFileSync,\n existsSync,\n lstatSync,\n mkdirSync,\n readdirSync,\n readlinkSync,\n statSync,\n symlinkSync,\n unlinkSync,\n utimesSync\n} = @getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), { isPromise } = @requireNativeModule(\"util/types\");\nreturn cpSyncFn})\n"); // // -static constexpr ASCIILiteral InternalFSCpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/fs/cp.ts\nasync function cpFn(src, dest, opts) {\n const stats = await checkPaths(src, dest, opts), { srcStat, destStat, skipped } = stats;\n if (skipped)\n return;\n return await checkParentPaths(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}\nasync function checkPaths(src, dest, opts) {\n if (opts.filter && !await opts.filter(src, dest))\n return { __proto__: null, skipped: !0 };\n const { 0: srcStat, 1: destStat } = await getStats(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"Source and destination must not be the same.\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, getStats = function(src, dest, opts) {\n const statFunc = opts.dereference \? (file) => stat(file, { bigint: !0 }) : (file) => lstat(file, { bigint: !0 });\n return SafePromiseAll([\n statFunc(src),\n PromisePrototypeThen.@call(statFunc(dest), @undefined, (err) => {\n if (err.code === \"ENOENT\")\n return null;\n throw err;\n })\n ]);\n};\nasync function checkParentDir(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (await pathExists(destParent))\n return getStatsForCopy(destStat, src, dest, opts);\n return await mkdir(destParent, { recursive: !0 }), getStatsForCopy(destStat, src, dest, opts);\n}\nvar pathExists = function(dest) {\n return PromisePrototypeThen(stat(dest), () => !0, (err) => err.code === \"ENOENT\" \? !1 : PromiseReject(err));\n};\nasync function checkParentPaths(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = await stat(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPaths(src, srcStat, destParent);\n}\nvar isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n};\nasync function getStatsForCopy(destStat, src, dest, opts) {\n const srcStat = await (opts.dereference \? stat : lstat)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}\nvar onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return _copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n};\nasync function mayCopyFile(srcStat, src, dest, opts) {\n if (opts.force)\n return await unlink(dest), _copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}\nasync function _copyFile(srcStat, src, dest, opts) {\n if (await copyFile(src, dest, opts.mode), opts.preserveTimestamps)\n return handleTimestampsAndMode(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}\nasync function handleTimestampsAndMode(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n return await makeFileWritable(dest, srcMode), setDestTimestampsAndMode(srcMode, src, dest);\n return setDestTimestampsAndMode(srcMode, src, dest);\n}\nvar fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n};\nasync function setDestTimestampsAndMode(srcMode, src, dest) {\n return await setDestTimestamps(src, dest), setDestMode(dest, srcMode);\n}\nvar setDestMode = function(dest, srcMode) {\n return chmod(dest, srcMode);\n};\nasync function setDestTimestamps(src, dest) {\n const updatedSrcStat = await stat(src);\n return utimes(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}\nvar onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n};\nasync function mkDirAndCopy(srcMode, src, dest, opts) {\n return await mkdir(dest), await copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}\nasync function copyDir(src, dest, opts) {\n const dir = await opendir(src);\n for await (let { name } of dir) {\n const srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = await checkPaths(srcItem, destItem, opts);\n if (!skipped)\n await getStatsForCopy(destStat, srcItem, destItem, opts);\n }\n}\nasync function onLink(destStat, src, dest, opts) {\n let resolvedSrc = await readlink(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlink(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = await readlink(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlink(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if ((await stat(src)).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}\nasync function copyLink(resolvedSrc, dest) {\n return await unlink(dest), symlink(resolvedSrc, dest);\n}\nvar { chmod, copyFile, lstat, mkdir, opendir, readlink, stat, symlink, unlink, utimes } = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), SafePromiseAll = @Promise.all, PromisePrototypeThen = @Promise.prototype.then, PromiseReject = @Promise.reject, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, ArrayPrototypeEvery = @Array.prototype.every, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit(resolve(path), sep), Boolean);\nreturn cpFn})\n"); +static constexpr ASCIILiteral InternalFSCpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/fs/cp.ts\nasync function cpFn(src, dest, opts) {\n const stats = await checkPaths(src, dest, opts), { srcStat, destStat, skipped } = stats;\n if (skipped)\n return;\n return await checkParentPaths(src, srcStat, dest), checkParentDir(destStat, src, dest, opts);\n}\nasync function checkPaths(src, dest, opts) {\n if (opts.filter && !await opts.filter(src, dest))\n return { __proto__: null, skipped: !0 };\n const { 0: srcStat, 1: destStat } = await getStats(src, dest, opts);\n if (destStat) {\n if (areIdentical(srcStat, destStat))\n throw new Error(\"Source and destination must not be the same.\");\n if (srcStat.isDirectory() && !destStat.isDirectory())\n throw new Error(`cannot overwrite directory ${src} with non-directory ${dest}`);\n if (!srcStat.isDirectory() && destStat.isDirectory())\n throw new Error(`cannot overwrite non-directory ${src} with directory ${dest}`);\n }\n if (srcStat.isDirectory() && isSrcSubdir(src, dest))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return { __proto__: null, srcStat, destStat, skipped: !1 };\n}\nvar areIdentical = function(srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;\n}, getStats = function(src, dest, opts) {\n const statFunc = opts.dereference \? (file) => stat(file, { bigint: !0 }) : (file) => lstat(file, { bigint: !0 });\n return SafePromiseAll([\n statFunc(src),\n PromisePrototypeThen.@call(statFunc(dest), @undefined, (err) => {\n if (err.code === \"ENOENT\")\n return null;\n throw err;\n })\n ]);\n};\nasync function checkParentDir(destStat, src, dest, opts) {\n const destParent = dirname(dest);\n if (await pathExists(destParent))\n return getStatsForCopy(destStat, src, dest, opts);\n return await mkdir(destParent, { recursive: !0 }), getStatsForCopy(destStat, src, dest, opts);\n}\nvar pathExists = function(dest) {\n return PromisePrototypeThen(stat(dest), () => !0, (err) => err.code === \"ENOENT\" \? !1 : PromiseReject(err));\n};\nasync function checkParentPaths(src, srcStat, dest) {\n const srcParent = resolve(dirname(src)), destParent = resolve(dirname(dest));\n if (destParent === srcParent || destParent === parse(destParent).root)\n return;\n let destStat;\n try {\n destStat = await stat(destParent, { bigint: !0 });\n } catch (err) {\n if (err.code === \"ENOENT\")\n return;\n throw err;\n }\n if (areIdentical(srcStat, destStat))\n throw new Error(`cannot copy ${src} to a subdirectory of self ${dest}`);\n return checkParentPaths(src, srcStat, destParent);\n}\nvar isSrcSubdir = function(src, dest) {\n const srcArr = normalizePathToArray(src), destArr = normalizePathToArray(dest);\n return ArrayPrototypeEvery.@call(srcArr, (cur, i) => destArr[i] === cur);\n};\nasync function getStatsForCopy(destStat, src, dest, opts) {\n const srcStat = await (opts.dereference \? stat : lstat)(src);\n if (srcStat.isDirectory() && opts.recursive)\n return onDir(srcStat, destStat, src, dest, opts);\n else if (srcStat.isDirectory())\n throw new Error(`${src} is a directory (not copied)`);\n else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())\n return onFile(srcStat, destStat, src, dest, opts);\n else if (srcStat.isSymbolicLink())\n return onLink(destStat, src, dest, opts);\n else if (srcStat.isSocket())\n throw new Error(`cannot copy a socket file: ${dest}`);\n else if (srcStat.isFIFO())\n throw new Error(`cannot copy a FIFO pipe: ${dest}`);\n throw new Error(`cannot copy an unknown file type: ${dest}`);\n}\nvar onFile = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return _copyFile(srcStat, src, dest, opts);\n return mayCopyFile(srcStat, src, dest, opts);\n};\nasync function mayCopyFile(srcStat, src, dest, opts) {\n if (opts.force)\n return await unlink(dest), _copyFile(srcStat, src, dest, opts);\n else if (opts.errorOnExist)\n throw new Error(`${dest} already exists`);\n}\nasync function _copyFile(srcStat, src, dest, opts) {\n if (await copyFile(src, dest, opts.mode), opts.preserveTimestamps)\n return handleTimestampsAndMode(srcStat.mode, src, dest);\n return setDestMode(dest, srcStat.mode);\n}\nasync function handleTimestampsAndMode(srcMode, src, dest) {\n if (fileIsNotWritable(srcMode))\n return await makeFileWritable(dest, srcMode), setDestTimestampsAndMode(srcMode, src, dest);\n return setDestTimestampsAndMode(srcMode, src, dest);\n}\nvar fileIsNotWritable = function(srcMode) {\n return (srcMode & 128) === 0;\n}, makeFileWritable = function(dest, srcMode) {\n return setDestMode(dest, srcMode | 128);\n};\nasync function setDestTimestampsAndMode(srcMode, src, dest) {\n return await setDestTimestamps(src, dest), setDestMode(dest, srcMode);\n}\nvar setDestMode = function(dest, srcMode) {\n return chmod(dest, srcMode);\n};\nasync function setDestTimestamps(src, dest) {\n const updatedSrcStat = await stat(src);\n return utimes(dest, updatedSrcStat.atime, updatedSrcStat.mtime);\n}\nvar onDir = function(srcStat, destStat, src, dest, opts) {\n if (!destStat)\n return mkDirAndCopy(srcStat.mode, src, dest, opts);\n return copyDir(src, dest, opts);\n};\nasync function mkDirAndCopy(srcMode, src, dest, opts) {\n return await mkdir(dest), await copyDir(src, dest, opts), setDestMode(dest, srcMode);\n}\nasync function copyDir(src, dest, opts) {\n const dir = await opendir(src);\n for await (let { name } of dir) {\n const srcItem = join(src, name), destItem = join(dest, name), { destStat, skipped } = await checkPaths(srcItem, destItem, opts);\n if (!skipped)\n await getStatsForCopy(destStat, srcItem, destItem, opts);\n }\n}\nasync function onLink(destStat, src, dest, opts) {\n let resolvedSrc = await readlink(src);\n if (!opts.verbatimSymlinks && !isAbsolute(resolvedSrc))\n resolvedSrc = resolve(dirname(src), resolvedSrc);\n if (!destStat)\n return symlink(resolvedSrc, dest);\n let resolvedDest;\n try {\n resolvedDest = await readlink(dest);\n } catch (err) {\n if (err.code === \"EINVAL\" || err.code === \"UNKNOWN\")\n return symlink(resolvedSrc, dest);\n throw err;\n }\n if (!isAbsolute(resolvedDest))\n resolvedDest = resolve(dirname(dest), resolvedDest);\n if (isSrcSubdir(resolvedSrc, resolvedDest))\n throw new Error(`cannot copy ${resolvedSrc} to a subdirectory of self ${resolvedDest}`);\n if ((await stat(src)).isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc))\n throw new Error(`cannot overwrite ${resolvedDest} with ${resolvedSrc}`);\n return copyLink(resolvedSrc, dest);\n}\nasync function copyLink(resolvedSrc, dest) {\n return await unlink(dest), symlink(resolvedSrc, dest);\n}\nvar { chmod, copyFile, lstat, mkdir, opendir, readlink, stat, symlink, unlink, utimes } = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), { dirname, isAbsolute, join, parse, resolve, sep } = @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30), SafePromiseAll = @Promise.all, PromisePrototypeThen = @Promise.prototype.then, PromiseReject = @Promise.reject, ArrayPrototypeFilter = @Array.prototype.filter, StringPrototypeSplit = @String.prototype.split, ArrayPrototypeEvery = @Array.prototype.every, normalizePathToArray = (path) => ArrayPrototypeFilter.@call(StringPrototypeSplit(resolve(path), sep), Boolean);\nreturn cpFn})\n"); // // -static constexpr ASCIILiteral InternalPrimordialsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/primordials.ts\nvar getGetter = function(cls, getter) {\n return FunctionPrototypeCall.bind(cls.prototype.__lookupGetter__(getter));\n}, uncurryThis = function(func) {\n return FunctionPrototypeCall.bind(func);\n}, ErrorCaptureStackTrace = function(targetObject) {\n const stack = new Error().stack;\n targetObject.stack = stack.replace(/.*\\n.*/, \"$1\");\n}, $, createSafeIterator = (factory, next) => {\n\n class SafeIterator {\n constructor(iterable) {\n this._iterator = factory(iterable);\n }\n next() {\n return next(this._iterator);\n }\n [Symbol.iterator]() {\n return this;\n }\n }\n return Object.setPrototypeOf(SafeIterator.prototype, null), Object.freeze(SafeIterator.prototype), Object.freeze(SafeIterator), SafeIterator;\n}, FunctionPrototypeCall = @getByIdDirect(Function.prototype, \"call\"), copyProps = (src, dest) => {\n ArrayPrototypeForEach(Reflect.ownKeys(src), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(dest, key))\n Reflect.defineProperty(dest, key, Reflect.getOwnPropertyDescriptor(src, key));\n });\n}, makeSafe = (unsafe, safe) => {\n if (Symbol.iterator in unsafe.prototype) {\n const dummy = new unsafe;\n let next;\n ArrayPrototypeForEach(Reflect.ownKeys(unsafe.prototype), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(safe.prototype, key)) {\n const desc = Reflect.getOwnPropertyDescriptor(unsafe.prototype, key);\n if (typeof desc.value === \"function\" && desc.value.length === 0 && (Symbol.iterator in (desc.value.@call(dummy) || {}))) {\n const createIterator = uncurryThis(desc.value);\n next \?\?= uncurryThis(createIterator(dummy).next);\n const SafeIterator = createSafeIterator(createIterator, next);\n desc.value = function() {\n return new SafeIterator(this);\n };\n }\n Reflect.defineProperty(safe.prototype, key, desc);\n }\n });\n } else\n copyProps(unsafe.prototype, safe.prototype);\n return copyProps(unsafe, safe), Object.setPrototypeOf(safe.prototype, null), Object.freeze(safe.prototype), Object.freeze(safe), safe;\n}, StringIterator = uncurryThis(@String.prototype[Symbol.iterator]), StringIteratorPrototype = Reflect.getPrototypeOf(StringIterator(\"\")), ArrayPrototypeForEach = uncurryThis(@Array.prototype.forEach), arrayProtoPush = @Array.prototype.push;\n$ = {\n makeSafe,\n Array: @Array,\n ArrayFrom: @Array.from,\n ArrayIsArray: @Array.isArray,\n ArrayPrototypeFlat: uncurryThis(@Array.prototype.flat),\n ArrayPrototypeFilter: uncurryThis(@Array.prototype.filter),\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes: uncurryThis(@Array.prototype.includes),\n ArrayPrototypeIndexOf: uncurryThis(@Array.prototype.indexOf),\n ArrayPrototypeJoin: uncurryThis(@Array.prototype.join),\n ArrayPrototypeMap: uncurryThis(@Array.prototype.map),\n ArrayPrototypePop: uncurryThis(@Array.prototype.pop),\n ArrayPrototypePush: uncurryThis(arrayProtoPush),\n ArrayPrototypePushApply: (a, b) => arrayProtoPush.@apply(a, b),\n ArrayPrototypeSlice: uncurryThis(@Array.prototype.slice),\n ArrayPrototypeSort: uncurryThis(@Array.prototype.sort),\n ArrayPrototypeSplice: uncurryThis(@Array.prototype.splice),\n ArrayPrototypeUnshift: uncurryThis(@Array.prototype.unshift),\n BigIntPrototypeValueOf: uncurryThis(BigInt.prototype.valueOf),\n BooleanPrototypeValueOf: uncurryThis(Boolean.prototype.valueOf),\n DatePrototypeGetTime: uncurryThis(Date.prototype.getTime),\n DatePrototypeToISOString: uncurryThis(Date.prototype.toISOString),\n DatePrototypeToString: uncurryThis(Date.prototype.toString),\n ErrorCaptureStackTrace,\n ErrorPrototypeToString: uncurryThis(Error.prototype.toString),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n JSONStringify: JSON.stringify,\n MapPrototypeGetSize: getGetter(Map, \"size\"),\n MapPrototypeEntries: uncurryThis(Map.prototype.entries),\n MapPrototypeValues: uncurryThis(Map.prototype.values),\n MapPrototypeKeys: uncurryThis(Map.prototype.keys),\n MathFloor: Math.floor,\n MathMax: Math.max,\n MathMin: Math.min,\n MathRound: Math.round,\n MathSqrt: Math.sqrt,\n MathTrunc: Math.trunc,\n Number,\n NumberIsFinite: Number.isFinite,\n NumberIsNaN: Number.isNaN,\n NumberParseFloat: Number.parseFloat,\n NumberParseInt: Number.parseInt,\n NumberPrototypeToString: uncurryThis(Number.prototype.toString),\n NumberPrototypeValueOf: uncurryThis(Number.prototype.valueOf),\n Object,\n ObjectAssign: Object.assign,\n ObjectCreate: Object.create,\n ObjectDefineProperty: Object.defineProperty,\n ObjectEntries: Object.entries,\n ObjectGetOwnPropertyDescriptor: Object.getOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors: Object.getOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames: Object.getOwnPropertyNames,\n ObjectGetOwnPropertySymbols: Object.getOwnPropertySymbols,\n ObjectGetPrototypeOf: Object.getPrototypeOf,\n ObjectIs: Object.is,\n ObjectKeys: Object.keys,\n ObjectPrototypeHasOwnProperty: uncurryThis(Object.prototype.hasOwnProperty),\n ObjectPrototypePropertyIsEnumerable: uncurryThis(Object.prototype.propertyIsEnumerable),\n ObjectPrototypeToString: uncurryThis(Object.prototype.toString),\n ObjectSeal: Object.seal,\n ObjectSetPrototypeOf: Object.setPrototypeOf,\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n ReflectOwnKeys: Reflect.ownKeys,\n RegExp: @RegExp,\n RegExpPrototypeExec: uncurryThis(@RegExp.prototype.exec),\n RegExpPrototypeSymbolReplace: uncurryThis(@RegExp.prototype[Symbol.replace]),\n RegExpPrototypeSymbolSplit: uncurryThis(@RegExp.prototype[Symbol.split]),\n RegExpPrototypeTest: uncurryThis(@RegExp.prototype.test),\n RegExpPrototypeToString: uncurryThis(@RegExp.prototype.toString),\n SafeStringIterator: createSafeIterator(StringIterator, uncurryThis(StringIteratorPrototype.next)),\n SafeMap: makeSafe(Map, class SafeMap extends Map {\n constructor(i) {\n super(i);\n }\n }),\n SafeSet: makeSafe(Set, class SafeSet extends Set {\n constructor(i) {\n super(i);\n }\n }),\n SetPrototypeGetSize: getGetter(Set, \"size\"),\n SetPrototypeEntries: uncurryThis(Set.prototype.entries),\n SetPrototypeValues: uncurryThis(Set.prototype.values),\n String: @String,\n StringPrototypeCharCodeAt: uncurryThis(@String.prototype.charCodeAt),\n StringPrototypeCodePointAt: uncurryThis(@String.prototype.codePointAt),\n StringPrototypeEndsWith: uncurryThis(@String.prototype.endsWith),\n StringPrototypeIncludes: uncurryThis(@String.prototype.includes),\n StringPrototypeIndexOf: uncurryThis(@String.prototype.indexOf),\n StringPrototypeLastIndexOf: uncurryThis(@String.prototype.lastIndexOf),\n StringPrototypeMatch: uncurryThis(@String.prototype.match),\n StringPrototypeNormalize: uncurryThis(@String.prototype.normalize),\n StringPrototypePadEnd: uncurryThis(@String.prototype.padEnd),\n StringPrototypePadStart: uncurryThis(@String.prototype.padStart),\n StringPrototypeRepeat: uncurryThis(@String.prototype.repeat),\n StringPrototypeReplace: uncurryThis(@String.prototype.replace),\n StringPrototypeReplaceAll: uncurryThis(@String.prototype.replaceAll),\n StringPrototypeSlice: uncurryThis(@String.prototype.slice),\n StringPrototypeSplit: uncurryThis(@String.prototype.split),\n StringPrototypeStartsWith: uncurryThis(@String.prototype.startsWith),\n StringPrototypeToLowerCase: uncurryThis(@String.prototype.toLowerCase),\n StringPrototypeTrim: uncurryThis(@String.prototype.trim),\n StringPrototypeValueOf: uncurryThis(@String.prototype.valueOf),\n SymbolPrototypeToString: uncurryThis(Symbol.prototype.toString),\n SymbolPrototypeValueOf: uncurryThis(Symbol.prototype.valueOf),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n FunctionPrototypeBind: uncurryThis(Function.prototype.bind),\n SymbolIterator: Symbol.iterator,\n SymbolFor: Symbol.for,\n SymbolToStringTag: Symbol.toStringTag,\n TypedArrayPrototypeGetLength: getGetter(@Uint8Array, \"length\"),\n TypedArrayPrototypeGetSymbolToStringTag: getGetter(@Uint8Array, Symbol.toStringTag),\n Uint8ClampedArray,\n Uint8Array: @Uint8Array,\n Uint16Array,\n Uint32Array,\n Int8Array,\n Int16Array,\n Int32Array,\n Float32Array,\n Float64Array,\n BigUint64Array,\n BigInt64Array,\n uncurryThis\n};\nreturn $})\n"); +static constexpr ASCIILiteral InternalPrimordialsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/primordials.ts\nvar getGetter = function(cls, getter) {\n return FunctionPrototypeCall.bind(cls.prototype.__lookupGetter__(getter));\n}, uncurryThis = function(func) {\n return FunctionPrototypeCall.bind(func);\n}, ErrorCaptureStackTrace = function(targetObject) {\n const stack = new Error().stack;\n targetObject.stack = stack.replace(/.*\\n.*/, \"$1\");\n}, $, createSafeIterator = (factory, next) => {\n\n class SafeIterator {\n constructor(iterable) {\n this._iterator = factory(iterable);\n }\n next() {\n return next(this._iterator);\n }\n [Symbol.iterator]() {\n return this;\n }\n }\n return Object.setPrototypeOf(SafeIterator.prototype, null), Object.freeze(SafeIterator.prototype), Object.freeze(SafeIterator), SafeIterator;\n}, FunctionPrototypeCall = @getByIdDirect(Function.prototype, \"call\"), copyProps = (src, dest) => {\n ArrayPrototypeForEach(Reflect.ownKeys(src), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(dest, key))\n Reflect.defineProperty(dest, key, Reflect.getOwnPropertyDescriptor(src, key));\n });\n}, makeSafe = (unsafe, safe) => {\n if (Symbol.iterator in unsafe.prototype) {\n const dummy = new unsafe;\n let next;\n ArrayPrototypeForEach(Reflect.ownKeys(unsafe.prototype), (key) => {\n if (!Reflect.getOwnPropertyDescriptor(safe.prototype, key)) {\n const desc = Reflect.getOwnPropertyDescriptor(unsafe.prototype, key);\n if (typeof desc.value === \"function\" && desc.value.length === 0 && (Symbol.iterator in (desc.value.@call(dummy) || {}))) {\n const createIterator = uncurryThis(desc.value);\n next \?\?= uncurryThis(createIterator(dummy).next);\n const SafeIterator = createSafeIterator(createIterator, next);\n desc.value = function() {\n return new SafeIterator(this);\n };\n }\n Reflect.defineProperty(safe.prototype, key, desc);\n }\n });\n } else\n copyProps(unsafe.prototype, safe.prototype);\n return copyProps(unsafe, safe), Object.setPrototypeOf(safe.prototype, null), Object.freeze(safe.prototype), Object.freeze(safe), safe;\n}, StringIterator = uncurryThis(@String.prototype[Symbol.iterator]), StringIteratorPrototype = Reflect.getPrototypeOf(StringIterator(\"\")), ArrayPrototypeForEach = uncurryThis(@Array.prototype.forEach), arrayProtoPush = @Array.prototype.push;\n$ = {\n makeSafe,\n Array: @Array,\n ArrayFrom: @Array.from,\n ArrayIsArray: @Array.isArray,\n ArrayPrototypeFlat: uncurryThis(@Array.prototype.flat),\n ArrayPrototypeFilter: uncurryThis(@Array.prototype.filter),\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes: uncurryThis(@Array.prototype.includes),\n ArrayPrototypeIndexOf: uncurryThis(@Array.prototype.indexOf),\n ArrayPrototypeJoin: uncurryThis(@Array.prototype.join),\n ArrayPrototypeMap: uncurryThis(@Array.prototype.map),\n ArrayPrototypePop: uncurryThis(@Array.prototype.pop),\n ArrayPrototypePush: uncurryThis(arrayProtoPush),\n ArrayPrototypePushApply: (a, b) => arrayProtoPush.@apply(a, b),\n ArrayPrototypeSlice: uncurryThis(@Array.prototype.slice),\n ArrayPrototypeSort: uncurryThis(@Array.prototype.sort),\n ArrayPrototypeSplice: uncurryThis(@Array.prototype.splice),\n ArrayPrototypeUnshift: uncurryThis(@Array.prototype.unshift),\n BigIntPrototypeValueOf: uncurryThis(BigInt.prototype.valueOf),\n BooleanPrototypeValueOf: uncurryThis(Boolean.prototype.valueOf),\n DatePrototypeGetTime: uncurryThis(Date.prototype.getTime),\n DatePrototypeToISOString: uncurryThis(Date.prototype.toISOString),\n DatePrototypeToString: uncurryThis(Date.prototype.toString),\n ErrorCaptureStackTrace,\n ErrorPrototypeToString: uncurryThis(Error.prototype.toString),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n JSONStringify: JSON.stringify,\n MapPrototypeGetSize: getGetter(Map, \"size\"),\n MapPrototypeEntries: uncurryThis(Map.prototype.entries),\n MapPrototypeValues: uncurryThis(Map.prototype.values),\n MapPrototypeKeys: uncurryThis(Map.prototype.keys),\n MathFloor: Math.floor,\n MathMax: Math.max,\n MathMin: Math.min,\n MathRound: Math.round,\n MathSqrt: Math.sqrt,\n MathTrunc: Math.trunc,\n Number,\n NumberIsFinite: Number.isFinite,\n NumberIsNaN: Number.isNaN,\n NumberParseFloat: Number.parseFloat,\n NumberParseInt: Number.parseInt,\n NumberPrototypeToString: uncurryThis(Number.prototype.toString),\n NumberPrototypeValueOf: uncurryThis(Number.prototype.valueOf),\n Object,\n ObjectAssign: Object.assign,\n ObjectCreate: Object.create,\n ObjectDefineProperty: Object.defineProperty,\n ObjectEntries: Object.entries,\n ObjectGetOwnPropertyDescriptor: Object.getOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors: Object.getOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames: Object.getOwnPropertyNames,\n ObjectGetOwnPropertySymbols: Object.getOwnPropertySymbols,\n ObjectGetPrototypeOf: Object.getPrototypeOf,\n ObjectIs: Object.is,\n ObjectKeys: Object.keys,\n ObjectPrototypeHasOwnProperty: uncurryThis(Object.prototype.hasOwnProperty),\n ObjectPrototypePropertyIsEnumerable: uncurryThis(Object.prototype.propertyIsEnumerable),\n ObjectPrototypeToString: uncurryThis(Object.prototype.toString),\n ObjectSeal: Object.seal,\n ObjectSetPrototypeOf: Object.setPrototypeOf,\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n ReflectOwnKeys: Reflect.ownKeys,\n RegExp: @RegExp,\n RegExpPrototypeExec: uncurryThis(@RegExp.prototype.exec),\n RegExpPrototypeSymbolReplace: uncurryThis(@RegExp.prototype[Symbol.replace]),\n RegExpPrototypeSymbolSplit: uncurryThis(@RegExp.prototype[Symbol.split]),\n RegExpPrototypeTest: uncurryThis(@RegExp.prototype.test),\n RegExpPrototypeToString: uncurryThis(@RegExp.prototype.toString),\n SafeStringIterator: createSafeIterator(StringIterator, uncurryThis(StringIteratorPrototype.next)),\n SafeMap: makeSafe(Map, class SafeMap extends Map {\n constructor(i) {\n super(i);\n }\n }),\n SafeSet: makeSafe(Set, class SafeSet extends Set {\n constructor(i) {\n super(i);\n }\n }),\n SetPrototypeGetSize: getGetter(Set, \"size\"),\n SetPrototypeEntries: uncurryThis(Set.prototype.entries),\n SetPrototypeValues: uncurryThis(Set.prototype.values),\n String: @String,\n StringPrototypeCharCodeAt: uncurryThis(@String.prototype.charCodeAt),\n StringPrototypeCodePointAt: uncurryThis(@String.prototype.codePointAt),\n StringPrototypeEndsWith: uncurryThis(@String.prototype.endsWith),\n StringPrototypeIncludes: uncurryThis(@String.prototype.includes),\n StringPrototypeIndexOf: uncurryThis(@String.prototype.indexOf),\n StringPrototypeLastIndexOf: uncurryThis(@String.prototype.lastIndexOf),\n StringPrototypeMatch: uncurryThis(@String.prototype.match),\n StringPrototypeNormalize: uncurryThis(@String.prototype.normalize),\n StringPrototypePadEnd: uncurryThis(@String.prototype.padEnd),\n StringPrototypePadStart: uncurryThis(@String.prototype.padStart),\n StringPrototypeRepeat: uncurryThis(@String.prototype.repeat),\n StringPrototypeReplace: uncurryThis(@String.prototype.replace),\n StringPrototypeReplaceAll: uncurryThis(@String.prototype.replaceAll),\n StringPrototypeSlice: uncurryThis(@String.prototype.slice),\n StringPrototypeSplit: uncurryThis(@String.prototype.split),\n StringPrototypeStartsWith: uncurryThis(@String.prototype.startsWith),\n StringPrototypeToLowerCase: uncurryThis(@String.prototype.toLowerCase),\n StringPrototypeTrim: uncurryThis(@String.prototype.trim),\n StringPrototypeValueOf: uncurryThis(@String.prototype.valueOf),\n SymbolPrototypeToString: uncurryThis(Symbol.prototype.toString),\n SymbolPrototypeValueOf: uncurryThis(Symbol.prototype.valueOf),\n FunctionPrototypeToString: uncurryThis(Function.prototype.toString),\n FunctionPrototypeBind: uncurryThis(Function.prototype.bind),\n SymbolIterator: Symbol.iterator,\n SymbolFor: Symbol.for,\n SymbolToStringTag: Symbol.toStringTag,\n TypedArrayPrototypeGetLength: getGetter(@Uint8Array, \"length\"),\n TypedArrayPrototypeGetSymbolToStringTag: getGetter(@Uint8Array, Symbol.toStringTag),\n Uint8ClampedArray,\n Uint8Array: @Uint8Array,\n Uint16Array,\n Uint32Array,\n Int8Array,\n Int16Array,\n Int32Array,\n Float32Array,\n Float64Array,\n BigUint64Array,\n BigInt64Array,\n uncurryThis\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalSharedCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/shared.ts\nvar throwNotImplemented = function(feature, issue) {\n throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue);\n}, hideFromStack = function(...fns) {\n for (let fn of fns)\n Object.defineProperty(fn, \"name\", {\n value: \"::bunternal::\"\n });\n}, $;\n\nclass NotImplementedError extends Error {\n code;\n constructor(feature, issue) {\n super(feature + \" is not yet implemented in Bun.\" + (issue \? \" Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/\" + issue : \"\"));\n this.name = \"NotImplementedError\", this.code = \"ERR_NOT_IMPLEMENTED\", hideFromStack(NotImplementedError);\n }\n}\n$ = {\n NotImplementedError,\n throwNotImplemented,\n hideFromStack\n};\nreturn $})\n"); +static constexpr ASCIILiteral InternalSharedCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/shared.ts\nvar throwNotImplemented = function(feature, issue) {\n throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue);\n}, hideFromStack = function(...fns) {\n for (let fn of fns)\n Object.defineProperty(fn, \"name\", {\n value: \"::bunternal::\"\n });\n}, $;\n\nclass NotImplementedError extends Error {\n code;\n constructor(feature, issue) {\n super(feature + \" is not yet implemented in Bun.\" + (issue \? \" Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/\" + issue : \"\"));\n this.name = \"NotImplementedError\", this.code = \"ERR_NOT_IMPLEMENTED\", hideFromStack(NotImplementedError);\n }\n}\n$ = {\n NotImplementedError,\n throwNotImplemented,\n hideFromStack\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral InternalUtilInspectCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/internal/util/inspect.ts\nvar vmSafeInstanceof = function(val, ctor) {\n if (val instanceof ctor)\n return !0;\n while (val) {\n if (typeof val !== \"object\")\n return !1;\n if (ctor.name === internalGetConstructorName(val))\n return !0;\n val = ObjectGetPrototypeOf(val);\n }\n return !1;\n}, checkBox = function(ctor) {\n return (val) => {\n if (!vmSafeInstanceof(val, ctor))\n return !1;\n try {\n ctor.prototype.valueOf.@call(val);\n } catch {\n return !1;\n }\n return !0;\n };\n}, assert = function(p, message) {\n if (!p)\n throw new AssertionError(message);\n}, getUserOptions = function(ctx, isCrossContext) {\n const ret = {\n stylize: ctx.stylize,\n showHidden: ctx.showHidden,\n depth: ctx.depth,\n colors: ctx.colors,\n customInspect: ctx.customInspect,\n showProxy: ctx.showProxy,\n maxArrayLength: ctx.maxArrayLength,\n maxStringLength: ctx.maxStringLength,\n breakLength: ctx.breakLength,\n compact: ctx.compact,\n sorted: ctx.sorted,\n getters: ctx.getters,\n numericSeparator: ctx.numericSeparator,\n ...ctx.userOptions\n };\n if (isCrossContext) {\n ObjectSetPrototypeOf(ret, null);\n for (let key of ObjectKeys(ret))\n if ((typeof ret[key] === \"object\" || typeof ret[key] === \"function\") && ret[key] !== null)\n delete ret[key];\n ret.stylize = ObjectSetPrototypeOf((value, flavour) => {\n let stylized;\n try {\n stylized = `${ctx.stylize(value, flavour)}`;\n } catch {\n }\n if (typeof stylized !== \"string\")\n return value;\n return stylized;\n }, null);\n }\n return ret;\n}, inspect = function(value, opts) {\n const ctx = {\n budget: {},\n indentationLvl: 0,\n seen: [],\n currentDepth: 0,\n stylize: stylizeNoColor,\n showHidden: inspectDefaultOptions.showHidden,\n depth: inspectDefaultOptions.depth,\n colors: inspectDefaultOptions.colors,\n customInspect: inspectDefaultOptions.customInspect,\n showProxy: inspectDefaultOptions.showProxy,\n maxArrayLength: inspectDefaultOptions.maxArrayLength,\n maxStringLength: inspectDefaultOptions.maxStringLength,\n breakLength: inspectDefaultOptions.breakLength,\n compact: inspectDefaultOptions.compact,\n sorted: inspectDefaultOptions.sorted,\n getters: inspectDefaultOptions.getters,\n numericSeparator: inspectDefaultOptions.numericSeparator\n };\n if (arguments.length > 1) {\n if (arguments.length > 2) {\n if (arguments[2] !== @undefined)\n ctx.depth = arguments[2];\n if (arguments.length > 3 && arguments[3] !== @undefined)\n ctx.colors = arguments[3];\n }\n if (typeof opts === \"boolean\")\n ctx.showHidden = opts;\n else if (opts) {\n const optKeys = ObjectKeys(opts);\n for (let i = 0;i < optKeys.length; ++i) {\n const key = optKeys[i];\n if (ObjectPrototypeHasOwnProperty(inspectDefaultOptions, key) || key === \"stylize\")\n ctx[key] = opts[key];\n else if (ctx.userOptions === @undefined)\n ctx.userOptions = opts;\n }\n }\n }\n if (ctx.colors)\n ctx.stylize = stylizeWithColor;\n if (ctx.maxArrayLength === null)\n ctx.maxArrayLength = @Infinity;\n if (ctx.maxStringLength === null)\n ctx.maxStringLength = @Infinity;\n return formatValue(ctx, value, 0);\n}, defineColorAlias = function(target, alias) {\n ObjectDefineProperty(inspect.colors, alias, {\n __proto__: null,\n get() {\n return this[target];\n },\n set(value) {\n this[target] = value;\n },\n configurable: !0,\n enumerable: !1\n });\n}, addQuotes = function(str, quotes) {\n if (quotes === -1)\n return `\"${str}\"`;\n if (quotes === -2)\n return `\\`${str}\\``;\n return `'${str}'`;\n}, escapeFn = function(str) {\n const charCode = StringPrototypeCharCodeAt(str);\n return meta.length > charCode \? meta[charCode] : `\\\\u${NumberPrototypeToString(charCode, 16)}`;\n}, strEscape = function(str) {\n let escapeTest = strEscapeSequencesRegExp, escapeReplace = strEscapeSequencesReplacer, singleQuote = 39;\n if (StringPrototypeIncludes(str, \"'\")) {\n if (!StringPrototypeIncludes(str, '\"'))\n singleQuote = -1;\n else if (!StringPrototypeIncludes(str, \"`\") && !StringPrototypeIncludes(str, \"${\"))\n singleQuote = -2;\n if (singleQuote !== 39)\n escapeTest = strEscapeSequencesRegExpSingle, escapeReplace = strEscapeSequencesReplacerSingle;\n }\n if (str.length < 5000 && RegExpPrototypeExec(escapeTest, str) === null)\n return addQuotes(str, singleQuote);\n if (str.length > 100)\n return str = RegExpPrototypeSymbolReplace(escapeReplace, str, escapeFn), addQuotes(str, singleQuote);\n let result = \"\", last = 0;\n for (let i = 0;i < str.length; i++) {\n const point = StringPrototypeCharCodeAt(str, i);\n if (point === singleQuote || point === 92 || point < 32 || point > 126 && point < 160) {\n if (last === i)\n result += meta[point];\n else\n result += `${StringPrototypeSlice(str, last, i)}${meta[point]}`;\n last = i + 1;\n } else if (point >= 55296 && point <= 57343) {\n if (point <= 56319 && i + 1 < str.length) {\n const point2 = StringPrototypeCharCodeAt(str, i + 1);\n if (point2 >= 56320 && point2 <= 57343) {\n i++;\n continue;\n }\n }\n result += `${StringPrototypeSlice(str, last, i)}\\\\u${NumberPrototypeToString(point, 16)}`, last = i + 1;\n }\n }\n if (last !== str.length)\n result += StringPrototypeSlice(str, last);\n return addQuotes(result, singleQuote);\n}, stylizeWithColor = function(str, styleType) {\n const style = inspect.styles[styleType];\n if (style !== @undefined) {\n const color = inspect.colors[style];\n if (color !== @undefined)\n return `\\x1B[${color[0]}m${str}\\x1B[${color[1]}m`;\n }\n return str;\n}, stylizeNoColor = function(str) {\n return str;\n}, getEmptyFormatArray = function() {\n return [];\n}, isInstanceof = function(object, proto) {\n try {\n return object instanceof proto;\n } catch {\n return !1;\n }\n}, getConstructorName = function(obj, ctx, recurseTimes, protoProps) {\n let firstProto;\n const tmp = obj;\n while (obj || isUndetectableObject(obj)) {\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && descriptor.value.name !== \"\" && isInstanceof(tmp, descriptor.value)) {\n if (protoProps !== @undefined && (firstProto !== obj || !builtInObjects.has(descriptor.value.name)))\n addPrototypeProperties(ctx, tmp, firstProto || tmp, recurseTimes, protoProps);\n return String(descriptor.value.name);\n }\n if (obj = ObjectGetPrototypeOf(obj), firstProto === @undefined)\n firstProto = obj;\n }\n if (firstProto === null)\n return null;\n const res = internalGetConstructorName(tmp);\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return `${res} <Complex prototype>`;\n const protoConstr = getConstructorName(firstProto, ctx, recurseTimes + 1, protoProps);\n if (protoConstr === null)\n return `${res} <${inspect(firstProto, {\n ...ctx,\n customInspect: !1,\n depth: -1\n })}>`;\n return `${res} <${protoConstr}>`;\n}, addPrototypeProperties = function(ctx, main, obj, recurseTimes, output) {\n let depth = 0, keys, keySet;\n do {\n if (depth !== 0 || main === obj) {\n if (obj = ObjectGetPrototypeOf(obj), obj === null)\n return;\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name))\n return;\n }\n if (depth === 0)\n keySet = new SafeSet;\n else\n ArrayPrototypeForEach(keys, (key) => keySet.add(key));\n keys = ReflectOwnKeys(obj), ArrayPrototypePush(ctx.seen, main);\n for (let key of keys) {\n if (key === \"constructor\" || ObjectPrototypeHasOwnProperty(main, key) || depth !== 0 && keySet.has(key))\n continue;\n const desc = ObjectGetOwnPropertyDescriptor(obj, key);\n if (typeof desc.value === \"function\")\n continue;\n const value = formatProperty(ctx, obj, recurseTimes, key, kObjectType, desc, main);\n if (ctx.colors)\n ArrayPrototypePush(output, `\\x1B[2m${value}\\x1B[22m`);\n else\n ArrayPrototypePush(output, value);\n }\n ArrayPrototypePop(ctx.seen);\n } while (++depth !== 3);\n}, getPrefix = function(constructor, tag, fallback, size = \"\") {\n if (constructor === null) {\n if (tag !== \"\" && fallback !== tag)\n return `[${fallback}${size}: null prototype] [${tag}] `;\n return `[${fallback}${size}: null prototype] `;\n }\n if (tag !== \"\" && constructor !== tag)\n return `${constructor}${size} [${tag}] `;\n return `${constructor}${size} `;\n}, getKeys = function(value, showHidden) {\n let keys;\n const symbols = ObjectGetOwnPropertySymbols(value);\n if (showHidden) {\n if (keys = ObjectGetOwnPropertyNames(value), symbols.length !== 0)\n ArrayPrototypePushApply(keys, symbols);\n } else {\n try {\n keys = ObjectKeys(value);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\" && isModuleNamespaceObject(value)), keys = ObjectGetOwnPropertyNames(value);\n }\n if (symbols.length !== 0)\n ArrayPrototypePushApply(keys, ArrayPrototypeFilter(symbols, (key) => ObjectPrototypePropertyIsEnumerable(value, key)));\n }\n return keys;\n}, getCtxStyle = function(value, constructor, tag) {\n let fallback = \"\";\n if (constructor === null) {\n if (fallback = internalGetConstructorName(value), fallback === tag)\n fallback = \"Object\";\n }\n return getPrefix(constructor, tag, fallback);\n}, formatProxy = function(ctx, proxy, recurseTimes) {\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(\"Proxy [Array]\", \"special\");\n recurseTimes += 1, ctx.indentationLvl += 2;\n const res = [formatValue(ctx, proxy[0], recurseTimes), formatValue(ctx, proxy[1], recurseTimes)];\n return ctx.indentationLvl -= 2, reduceToSingleString(ctx, res, \"\", [\"Proxy [\", \"]\"], kArrayExtrasType, recurseTimes);\n}, formatValue = function(ctx, value, recurseTimes, typedArray) {\n if (typeof value !== \"object\" && typeof value !== \"function\" && !isUndetectableObject(value))\n return formatPrimitive(ctx.stylize, value, ctx);\n if (value === null)\n return ctx.stylize(\"null\", \"null\");\n const context = value, proxy = getProxyDetails(value, !!ctx.showProxy);\n if (proxy !== @undefined) {\n if (proxy === null || proxy[0] === null)\n return ctx.stylize(\"<Revoked Proxy>\", \"special\");\n if (ctx.showProxy)\n return formatProxy(ctx, proxy, recurseTimes);\n value = proxy;\n }\n if (ctx.customInspect) {\n const maybeCustom = value[customInspectSymbol];\n if (typeof maybeCustom === \"function\" && maybeCustom !== inspect && !(value.constructor && value.constructor.prototype === value)) {\n const depth = ctx.depth === null \? null : ctx.depth - recurseTimes, isCrossContext = proxy !== @undefined || !(context instanceof Object), ret = maybeCustom.@call(context, depth, getUserOptions(ctx, isCrossContext), inspect);\n if (ret !== context) {\n if (typeof ret !== \"string\")\n return formatValue(ctx, ret, recurseTimes);\n return StringPrototypeReplaceAll(ret, \"\\n\", `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`);\n }\n }\n }\n if (ctx.seen.includes(value)) {\n let index = 1;\n if (ctx.circular === @undefined)\n ctx.circular = new SafeMap, ctx.circular.set(value, index);\n else if (index = ctx.circular.get(value), index === @undefined)\n index = ctx.circular.size + 1, ctx.circular.set(value, index);\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n return formatRaw(ctx, value, recurseTimes, typedArray);\n}, formatRaw = function(ctx, value, recurseTimes, typedArray) {\n let keys, protoProps;\n if (ctx.showHidden && (recurseTimes <= ctx.depth || ctx.depth === null))\n protoProps = [];\n const constructor = getConstructorName(value, ctx, recurseTimes, protoProps);\n if (protoProps !== @undefined && protoProps.length === 0)\n protoProps = @undefined;\n let tag = value[SymbolToStringTag];\n if (typeof tag !== \"string\" || tag !== \"\" && (ctx.showHidden \? ObjectPrototypeHasOwnProperty : ObjectPrototypePropertyIsEnumerable)(value, SymbolToStringTag))\n tag = \"\";\n let base = \"\", formatter = getEmptyFormatArray, braces, noIterator = !0, i = 0;\n const filter = ctx.showHidden \? 0 : 2;\n let extrasType = kObjectType;\n if ((SymbolIterator in value) || constructor === null)\n if (noIterator = !1, ArrayIsArray(value)) {\n const prefix = constructor !== \"Array\" || tag !== \"\" \? getPrefix(constructor, tag, \"Array\", `(${value.length})`) : \"\";\n if (keys = getOwnNonIndexProperties(value, filter), braces = [`${prefix}[`, \"]\"], value.length === 0 && keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}]`;\n extrasType = kArrayExtrasType, formatter = formatArray;\n } else if (isSet(value)) {\n const size = SetPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Set\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatSet, null, value) : FunctionPrototypeBind(formatSet, null, SetPrototypeValues(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isMap(value)) {\n const size = MapPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Map\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatMap, null, value) : FunctionPrototypeBind(formatMap, null, MapPrototypeEntries(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isTypedArray(value)) {\n keys = getOwnNonIndexProperties(value, filter);\n let bound = value, fallback = \"\";\n if (constructor === null)\n fallback = TypedArrayPrototypeGetSymbolToStringTag(value), bound = new primordials[fallback](value);\n const size = TypedArrayPrototypeGetLength(value);\n if (braces = [`${getPrefix(constructor, tag, fallback, `(${size})`)}[`, \"]\"], value.length === 0 && keys.length === 0 && !ctx.showHidden)\n return `${braces[0]}]`;\n formatter = FunctionPrototypeBind(formatTypedArray, null, bound, size), extrasType = kArrayExtrasType;\n } else if (isMapIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Map\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else if (isSetIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Set\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else\n noIterator = !0;\n if (noIterator)\n if (keys = getKeys(value, ctx.showHidden), braces = [\"{\", \"}\"], constructor === \"Object\") {\n if (isArgumentsObject(value))\n braces[0] = \"[Arguments] {\";\n else if (tag !== \"\")\n braces[0] = `${getPrefix(constructor, tag, \"Object\")}{`;\n if (keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}}`;\n } else if (typeof value === \"function\") {\n if (base = getFunctionBase(value, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"special\");\n } else if (isRegExp(value)) {\n base = RegExpPrototypeToString(constructor !== null \? value : new RegExp(value));\n const prefix = getPrefix(constructor, tag, \"RegExp\");\n if (prefix !== \"RegExp \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined || recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(base, \"regexp\");\n } else if (isDate(value)) {\n base = NumberIsNaN(DatePrototypeGetTime(value)) \? DatePrototypeToString(value) : DatePrototypeToISOString(value);\n const prefix = getPrefix(constructor, tag, \"Date\");\n if (prefix !== \"Date \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"date\");\n } else if (value instanceof Error) {\n if (base = formatError(value, constructor, tag, ctx, keys), keys.length === 0 && protoProps === @undefined)\n return base;\n } else if (isAnyArrayBuffer(value)) {\n const arrayType = isArrayBuffer(value) \? \"ArrayBuffer\" : \"SharedArrayBuffer\", prefix = getPrefix(constructor, tag, arrayType);\n if (typedArray === @undefined)\n formatter = formatArrayBuffer;\n else if (keys.length === 0 && protoProps === @undefined)\n return prefix + `{ byteLength: ${formatNumber(ctx.stylize, value.byteLength, !1)} }`;\n braces[0] = `${prefix}{`, ArrayPrototypeUnshift(keys, \"byteLength\");\n } else if (isDataView(value))\n braces[0] = `${getPrefix(constructor, tag, \"DataView\")}{`, ArrayPrototypeUnshift(keys, \"byteLength\", \"byteOffset\", \"buffer\");\n else if (isPromise(value))\n braces[0] = `${getPrefix(constructor, tag, \"Promise\")}{`, formatter = formatPromise;\n else if (isWeakSet(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakSet\")}{`, formatter = ctx.showHidden \? formatWeakSet : formatWeakCollection;\n else if (isWeakMap(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakMap\")}{`, formatter = ctx.showHidden \? formatWeakMap : formatWeakCollection;\n else if (isModuleNamespaceObject(value))\n braces[0] = `${getPrefix(constructor, tag, \"Module\")}{`, formatter = formatNamespaceObject.bind(null, keys);\n else if (isBoxedPrimitive(value)) {\n if (base = getBoxedBase(value, ctx, keys, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return base;\n } else {\n if (keys.length === 0 && protoProps === @undefined) {\n if (isExternal(value))\n return ctx.stylize(\"[External: 0]\", \"special\");\n return `${getCtxStyle(value, constructor, tag)}{}`;\n }\n braces[0] = `${getCtxStyle(value, constructor, tag)}{`;\n }\n if (recurseTimes > ctx.depth && ctx.depth !== null) {\n let constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n if (constructor !== null)\n constructorName = `[${constructorName}]`;\n return ctx.stylize(constructorName, \"special\");\n }\n recurseTimes += 1, ctx.seen.push(value), ctx.currentDepth = recurseTimes;\n let output;\n const indentationLvl = ctx.indentationLvl;\n try {\n if (ctx.currentDepth > 1000)\n @throwRangeError(ERROR_STACK_OVERFLOW_MSG);\n output = formatter(ctx, value, recurseTimes);\n for (i = 0;i < keys.length; i++)\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, keys[i], extrasType));\n if (protoProps !== @undefined)\n ArrayPrototypePushApply(output, protoProps);\n } catch (err) {\n if (err instanceof RangeError && err.message === ERROR_STACK_OVERFLOW_MSG) {\n const constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n return ctx.seen.pop(), ctx.indentationLvl = indentationLvl, ctx.stylize(`[${constructorName}: Inspection interrupted prematurely. Maximum call stack size exceeded.]`, \"special\");\n }\n throw new AssertionError(\"handleMaxCallStackSize assertion failed: \" + String(err), !0);\n }\n if (ctx.circular !== @undefined) {\n const index = ctx.circular.get(value);\n if (index !== @undefined)\n if (ctx.seenRefs \?\?= new Set, !ctx.seenRefs.has(index)) {\n ctx.seenRefs.add(index);\n const reference = ctx.stylize(`<ref *${index}>`, \"special\");\n if (ctx.compact !== !0)\n base = base === \"\" \? reference : `${reference} ${base}`;\n else\n braces[0] = `${reference} ${braces[0]}`;\n } else {\n //! this is a non-standard behavior compared to Node's implementation\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n }\n if (ctx.seen.pop(), ctx.sorted) {\n const comparator = ctx.sorted === !0 \? @undefined : ctx.sorted;\n if (extrasType === kObjectType)\n ArrayPrototypeSort(output, comparator);\n else if (keys.length > 1) {\n const sorted = ArrayPrototypeSort(ArrayPrototypeSlice(output, output.length - keys.length), comparator);\n ArrayPrototypeUnshift(sorted, output, output.length - keys.length, keys.length), ReflectApply(ArrayPrototypeSplice, null, sorted);\n }\n }\n const res = reduceToSingleString(ctx, output, base, braces, extrasType, recurseTimes, value), newLength = (ctx.budget[ctx.indentationLvl] || 0) + res.length;\n if (ctx.budget[ctx.indentationLvl] = newLength, newLength > 134217728)\n ctx.depth = -1;\n return res;\n}, getIteratorBraces = function(type, tag) {\n if (tag !== `${type} Iterator`) {\n if (tag !== \"\")\n tag += \"] [\";\n tag += `${type} Iterator`;\n }\n return [`[${tag}] {`, \"}\"];\n}, getBoxedBase = function(value, ctx, keys, constructor, tag) {\n let fn, type;\n if (isNumberObject(value))\n fn = NumberPrototypeValueOf, type = \"Number\";\n else if (isStringObject(value))\n fn = StringPrototypeValueOf, type = \"String\", keys.splice(0, value.length);\n else if (isBooleanObject(value))\n fn = BooleanPrototypeValueOf, type = \"Boolean\";\n else if (isBigIntObject(value))\n fn = BigIntPrototypeValueOf, type = \"BigInt\";\n else\n fn = SymbolPrototypeValueOf, type = \"Symbol\";\n let base = `[${type}`;\n if (type !== constructor)\n if (constructor === null)\n base += \" (null prototype)\";\n else\n base += ` (${constructor})`;\n if (base += `: ${formatPrimitive(stylizeNoColor, fn(value), ctx)}]`, tag !== \"\" && tag !== constructor)\n base += ` [${tag}]`;\n if (keys.length !== 0 || ctx.stylize === stylizeNoColor)\n return base;\n return ctx.stylize(base, StringPrototypeToLowerCase(type));\n}, getClassBase = function(value, constructor, tag) {\n let base = `class ${ObjectPrototypeHasOwnProperty(value, \"name\") && value.name || \"(anonymous)\"}`;\n if (constructor !== \"Function\" && constructor !== null)\n base += ` [${constructor}]`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n if (constructor !== null) {\n const superName = ObjectGetPrototypeOf(value).name;\n if (superName)\n base += ` extends ${superName}`;\n } else\n base += \" extends [null prototype]\";\n return `[${base}]`;\n}, getFunctionBase = function(value, constructor, tag) {\n const stringified = FunctionPrototypeToString(value);\n if (StringPrototypeStartsWith(stringified, \"class\") && StringPrototypeEndsWith(stringified, \"}\")) {\n const slice = StringPrototypeSlice(stringified, 5, -1), bracketIndex = StringPrototypeIndexOf(slice, \"{\");\n if (bracketIndex !== -1 && (!StringPrototypeIncludes(StringPrototypeSlice(slice, 0, bracketIndex), \"(\") || RegExpPrototypeExec(classRegExp, RegExpPrototypeSymbolReplace(stripCommentsRegExp, slice)) !== null))\n return getClassBase(value, constructor, tag);\n }\n let type = \"Function\";\n if (isGeneratorFunction(value))\n type = `Generator${type}`;\n if (isAsyncFunction(value))\n type = `Async${type}`;\n let base = `[${type}`;\n if (constructor === null)\n base += \" (null prototype)\";\n if (value.name === \"\")\n base += \" (anonymous)\";\n else\n base += `: ${value.name}`;\n if (base += \"]\", constructor !== type && constructor !== null)\n base += ` ${constructor}`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n return base;\n}, identicalSequenceRange = function(a, b) {\n for (let i = 0;i < a.length - 3; i++) {\n const pos = b.indexOf(a[i]);\n if (pos !== -1) {\n const rest = b.length - pos;\n if (rest > 3) {\n let len = 1;\n const maxLen = MathMin(a.length - i, rest);\n while (maxLen > len && a[i + len] === b[pos + len])\n len++;\n if (len > 3)\n return { len, offset: i };\n }\n }\n }\n return { len: 0, offset: 0 };\n}, getStackString = function(error) {\n return error.stack \? String(error.stack) : ErrorPrototypeToString(error);\n}, getStackFrames = function(ctx, err, stack) {\n const frames = StringPrototypeSplit(stack, \"\\n\");\n let cause;\n try {\n ({ cause } = err);\n } catch {\n }\n if (cause != null && cause instanceof Error) {\n const causeStack = getStackString(cause), causeStackStart = StringPrototypeIndexOf(causeStack, \"\\n at\");\n if (causeStackStart !== -1) {\n const causeFrames = StringPrototypeSplit(StringPrototypeSlice(causeStack, causeStackStart + 1), \"\\n\"), { len, offset } = identicalSequenceRange(frames, causeFrames);\n if (len > 0) {\n const skipped = len - 2, msg = ` ... ${skipped} lines matching cause stack trace ...`;\n frames.splice(offset + 1, skipped, ctx.stylize(msg, \"undefined\"));\n }\n }\n }\n return frames;\n}, improveStack = function(stack, constructor, name, tag) {\n let len = name.length;\n if (constructor === null || StringPrototypeEndsWith(name, \"Error\") && StringPrototypeStartsWith(stack, name) && (stack.length === len || stack[len] === \":\" || stack[len] === \"\\n\")) {\n let fallback = \"Error\";\n if (constructor === null) {\n const start = RegExpPrototypeExec(/^([A-Z][a-z_ A-Z0-9[\\]()-]+)(\?::|\\n {4}at)/, stack) || RegExpPrototypeExec(/^([a-z_A-Z0-9-]*Error)$/, stack);\n fallback = start && start[1] || \"\", len = fallback.length, fallback = fallback || \"Error\";\n }\n const prefix = StringPrototypeSlice(getPrefix(constructor, tag, fallback), 0, -1);\n if (name !== prefix)\n if (StringPrototypeIncludes(prefix, name))\n if (len === 0)\n stack = `${prefix}: ${stack}`;\n else\n stack = `${prefix}${StringPrototypeSlice(stack, len)}`;\n else\n stack = `${prefix} [${name}]${StringPrototypeSlice(stack, len)}`;\n }\n return stack;\n}, removeDuplicateErrorKeys = function(ctx, keys, err, stack) {\n if (!ctx.showHidden && keys.length !== 0)\n for (let name of [\"name\", \"message\", \"stack\"]) {\n const index = ArrayPrototypeIndexOf(keys, name);\n if (index !== -1 && StringPrototypeIncludes(stack, err[name]))\n ArrayPrototypeSplice(keys, index, 1);\n }\n}, markNodeModules = function(ctx, line) {\n let tempLine = \"\", nodeModule, pos = 0;\n while ((nodeModule = nodeModulesRegExp.exec(line)) !== null)\n tempLine += StringPrototypeSlice(line, pos, nodeModule.index + 14), tempLine += ctx.stylize(nodeModule[1], \"module\"), pos = nodeModule.index + nodeModule[0].length;\n if (pos !== 0)\n line = tempLine + StringPrototypeSlice(line, pos);\n return line;\n}, markCwd = function(ctx, line, workingDirectory) {\n let cwdStartPos = StringPrototypeIndexOf(line, workingDirectory), tempLine = \"\", cwdLength = workingDirectory.length;\n if (cwdStartPos !== -1) {\n if (StringPrototypeSlice(line, cwdStartPos - 7, cwdStartPos) === \"file://\")\n cwdLength += 7, cwdStartPos -= 7;\n const start = line[cwdStartPos - 1] === \"(\" \? cwdStartPos - 1 : cwdStartPos, end = start !== cwdStartPos && StringPrototypeEndsWith(line, \")\") \? -1 : line.length, workingDirectoryEndPos = cwdStartPos + cwdLength + 1, cwdSlice = StringPrototypeSlice(line, start, workingDirectoryEndPos);\n if (tempLine += StringPrototypeSlice(line, 0, start), tempLine += ctx.stylize(cwdSlice, \"undefined\"), tempLine += StringPrototypeSlice(line, workingDirectoryEndPos, end), end === -1)\n tempLine += ctx.stylize(\")\", \"undefined\");\n } else\n tempLine += line;\n return tempLine;\n}, safeGetCWD = function() {\n let workingDirectory;\n try {\n workingDirectory = process.cwd();\n } catch {\n return;\n }\n return workingDirectory;\n}, formatError = function(err, constructor, tag, ctx, keys) {\n const name = err.name != null \? String(err.name) : \"Error\";\n let stack = getStackString(err);\n //! temp fix for Bun losing the error name from inherited errors + extraneous \": \" with no message\n if (stack = stack.replace(/^Error: /, `${name}${err.message \? \": \" : \"\"}`), removeDuplicateErrorKeys(ctx, keys, err, stack), (\"cause\" in err) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"cause\")))\n ArrayPrototypePush(keys, \"cause\");\n if (ArrayIsArray(err.errors) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"errors\")))\n ArrayPrototypePush(keys, \"errors\");\n stack = improveStack(stack, constructor, name, tag);\n let pos = err.message && StringPrototypeIndexOf(stack, err.message) || -1;\n if (pos !== -1)\n pos += err.message.length;\n const stackStart = StringPrototypeIndexOf(stack, \"\\n at\", pos);\n if (stackStart === -1)\n stack = `[${stack}]`;\n else {\n let newStack = StringPrototypeSlice(stack, 0, stackStart);\n const stackFramePart = StringPrototypeSlice(stack, stackStart + 1), lines = getStackFrames(ctx, err, stackFramePart);\n if (ctx.colors) {\n const workingDirectory = safeGetCWD();\n let esmWorkingDirectory;\n for (let line of lines) {\n const core = RegExpPrototypeExec(coreModuleRegExp, line);\n if (core !== null && (StringPrototypeStartsWith(core[1], \"internal/\") || ArrayPrototypeIncludes(@requireNativeModule(\"module\").builtinModules, core[1])))\n newStack += `\\n${ctx.stylize(line, \"undefined\")}`;\n else {\n if (newStack += \"\\n\", line = markNodeModules(ctx, line), workingDirectory !== @undefined) {\n let newLine = markCwd(ctx, line, workingDirectory);\n if (newLine === line)\n esmWorkingDirectory \?\?= pathToFileURL(workingDirectory), newLine = markCwd(ctx, line, esmWorkingDirectory);\n line = newLine;\n }\n newStack += line;\n }\n }\n } else\n newStack += `\\n${ArrayPrototypeJoin(lines, \"\\n\")}`;\n stack = newStack;\n }\n if (ctx.indentationLvl !== 0) {\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl);\n stack = StringPrototypeReplaceAll(stack, \"\\n\", `\\n${indentation}`);\n }\n return stack;\n}, groupArrayElements = function(ctx, output, value) {\n let totalLength = 0, maxLength = 0, i = 0, outputLength = output.length;\n if (ctx.maxArrayLength < output.length)\n outputLength--;\n const separatorSpace = 2, dataLen = new Array(outputLength);\n for (;i < outputLength; i++) {\n const len = getStringWidth(output[i], ctx.colors);\n if (dataLen[i] = len, totalLength += len + separatorSpace, maxLength < len)\n maxLength = len;\n }\n const actualMax = maxLength + separatorSpace;\n if (actualMax * 3 + ctx.indentationLvl < ctx.breakLength && (totalLength / actualMax > 5 || maxLength <= 6)) {\n const averageBias = MathSqrt(actualMax - totalLength / output.length), biasedMax = MathMax(actualMax - 3 - averageBias, 1), columns = MathMin(MathRound(MathSqrt(2.5 * biasedMax * outputLength) / biasedMax), MathFloor((ctx.breakLength - ctx.indentationLvl) / actualMax), ctx.compact * 4, 15);\n if (columns <= 1)\n return output;\n const tmp = [], maxLineLength = [];\n for (let i2 = 0;i2 < columns; i2++) {\n let lineMaxLength = 0;\n for (let j = i2;j < output.length; j += columns)\n if (dataLen[j] > lineMaxLength)\n lineMaxLength = dataLen[j];\n lineMaxLength += separatorSpace, maxLineLength[i2] = lineMaxLength;\n }\n let order = StringPrototypePadStart;\n if (value !== @undefined) {\n for (let i2 = 0;i2 < output.length; i2++)\n if (typeof value[i2] !== \"number\" && typeof value[i2] !== \"bigint\") {\n order = StringPrototypePadEnd;\n break;\n }\n }\n for (let i2 = 0;i2 < outputLength; i2 += columns) {\n const max = MathMin(i2 + columns, outputLength);\n let str = \"\", j = i2;\n for (;j < max - 1; j++) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j];\n str += order(`${output[j]}, `, padding, \" \");\n }\n if (order === StringPrototypePadStart) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j] - separatorSpace;\n str += StringPrototypePadStart(output[j], padding, \" \");\n } else\n str += output[j];\n ArrayPrototypePush(tmp, str);\n }\n if (ctx.maxArrayLength < output.length)\n ArrayPrototypePush(tmp, output[outputLength]);\n output = tmp;\n }\n return output;\n}, addNumericSeparator = function(integerString) {\n let result = \"\", i = integerString.length;\n const start = StringPrototypeStartsWith(integerString, \"-\") \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n result = `_${StringPrototypeSlice(integerString, i - 3, i)}${result}`;\n return i === integerString.length \? integerString : `${StringPrototypeSlice(integerString, 0, i)}${result}`;\n}, addNumericSeparatorEnd = function(integerString) {\n let result = \"\", i = 0;\n for (;i < integerString.length - 3; i += 3)\n result += `${StringPrototypeSlice(integerString, i, i + 3)}_`;\n return i === 0 \? integerString : `${result}${StringPrototypeSlice(integerString, i)}`;\n}, formatNumber = function(fn, number, numericSeparator) {\n if (!numericSeparator) {\n if (ObjectIs(number, -0))\n return fn(\"-0\", \"number\");\n return fn(`${number}`, \"number\");\n }\n const integer = MathTrunc(number), string = String(integer);\n if (integer === number) {\n if (!NumberIsFinite(number) || StringPrototypeIncludes(string, \"e\"))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}`, \"number\");\n }\n if (NumberIsNaN(number))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}.${addNumericSeparatorEnd(StringPrototypeSlice(String(number), string.length + 1))}`, \"number\");\n}, formatBigInt = function(fn, bigint, numericSeparator) {\n const string = String(bigint);\n if (!numericSeparator)\n return fn(`${string}n`, \"bigint\");\n return fn(`${addNumericSeparator(string)}n`, \"bigint\");\n}, formatPrimitive = function(fn, value, ctx) {\n if (typeof value === \"string\") {\n let trailer = \"\";\n if (value.length > ctx.maxStringLength) {\n const remaining = value.length - ctx.maxStringLength;\n value = StringPrototypeSlice(value, 0, ctx.maxStringLength), trailer = `... ${remaining} more character${remaining > 1 \? \"s\" : \"\"}`;\n }\n if (ctx.compact !== !0 && value.length > kMinLineLength && value.length > ctx.breakLength - ctx.indentationLvl - 4)\n return ArrayPrototypeJoin(ArrayPrototypeMap(extractedSplitNewLines(value), (line) => fn(strEscape(line), \"string\")), ` +\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl + 2)}`) + trailer;\n return fn(strEscape(value), \"string\") + trailer;\n }\n if (typeof value === \"number\")\n return formatNumber(fn, value, ctx.numericSeparator);\n if (typeof value === \"bigint\")\n return formatBigInt(fn, value, ctx.numericSeparator);\n if (typeof value === \"boolean\")\n return fn(`${value}`, \"boolean\");\n if (typeof value === \"undefined\")\n return fn(\"undefined\", \"undefined\");\n return fn(SymbolPrototypeToString(value), \"symbol\");\n}, formatNamespaceObject = function(keys, ctx, value, recurseTimes) {\n const output = new Array(keys.length);\n for (let i = 0;i < keys.length; i++)\n try {\n output[i] = formatProperty(ctx, value, recurseTimes, keys[i], kObjectType);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\");\n const tmp = { [keys[i]]: \"\" };\n output[i] = formatProperty(ctx, tmp, recurseTimes, keys[i], kObjectType);\n const pos = StringPrototypeLastIndexOf(output[i], \" \");\n output[i] = StringPrototypeSlice(output[i], 0, pos + 1) + ctx.stylize(\"<uninitialized>\", \"special\");\n }\n return keys.length = 0, output;\n}, formatSpecialArray = function(ctx, value, recurseTimes, maxLength, output, i) {\n const keys = ObjectKeys(value);\n let index = i;\n for (;i < keys.length && output.length < maxLength; i++) {\n const key = keys[i], tmp = +key;\n if (tmp > 4294967294)\n break;\n if (`${index}` !== key) {\n if (RegExpPrototypeExec(numberRegExp, key) === null)\n break;\n const emptyItems = tmp - index, ending = emptyItems > 1 \? \"s\" : \"\", message = `<${emptyItems} empty item${ending}>`;\n if (ArrayPrototypePush(output, ctx.stylize(message, \"undefined\")), index = tmp, output.length === maxLength)\n break;\n }\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, key, kArrayType)), index++;\n }\n const remaining = value.length - index;\n if (output.length !== maxLength) {\n if (remaining > 0) {\n const ending = remaining > 1 \? \"s\" : \"\", message = `<${remaining} empty item${ending}>`;\n ArrayPrototypePush(output, ctx.stylize(message, \"undefined\"));\n }\n } else if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, hexSlice = function(buf, start = 0, end) {\n return ArrayPrototypeJoin(ArrayPrototypeMap(buf.slice(start, end), (x) => (\"00\" + x.toString(16)).slice(-2)), \"\");\n}, formatArrayBuffer = function(ctx, value) {\n let buffer;\n try {\n buffer = new Uint8Array(value);\n } catch {\n return [ctx.stylize(\"(detached)\", \"special\")];\n }\n let str = StringPrototypeTrim(RegExpPrototypeSymbolReplace(/(.{2})/g, hexSlice(buffer, 0, MathMin(ctx.maxArrayLength, buffer.length)), \"$1 \"));\n const remaining = buffer.length - ctx.maxArrayLength;\n if (remaining > 0)\n str += ` ... ${remaining} more byte${remaining > 1 \? \"s\" : \"\"}`;\n return [`${ctx.stylize(\"[Uint8Contents]\", \"special\")}: <${str}>`];\n}, formatArray = function(ctx, value, recurseTimes) {\n const valLen = value.length, len = MathMin(MathMax(0, ctx.maxArrayLength), valLen), remaining = valLen - len, output = [];\n for (let i = 0;i < len; i++) {\n if (!ObjectPrototypeHasOwnProperty(value, i))\n return formatSpecialArray(ctx, value, recurseTimes, len, output, i);\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, i, kArrayType));\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatTypedArray = function(value, length, ctx, ignored, recurseTimes) {\n const maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = value.length - maxLength, output = new Array(maxLength), elementFormatter = value.length > 0 && typeof value[0] === \"number\" \? formatNumber : formatBigInt;\n for (let i = 0;i < maxLength; ++i)\n output[i] = elementFormatter(ctx.stylize, value[i], ctx.numericSeparator);\n if (remaining > 0)\n output[maxLength] = remainingText(remaining);\n if (ctx.showHidden) {\n ctx.indentationLvl += 2;\n for (let key of [\"BYTES_PER_ELEMENT\", \"length\", \"byteLength\", \"byteOffset\", \"buffer\"]) {\n const str = formatValue(ctx, value[key], recurseTimes, !0);\n ArrayPrototypePush(output, `[${key}]: ${str}`);\n }\n ctx.indentationLvl -= 2;\n }\n return output;\n}, formatSet = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let v of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, formatValue(ctx, v, recurseTimes)), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatMap = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let { 0: k, 1: v } of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, `${formatValue(ctx, k, recurseTimes)} => ${formatValue(ctx, v, recurseTimes)}`), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatSetIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), maxLength = MathMin(maxArrayLength, entries.length), output = new Array(maxLength);\n ctx.indentationLvl += 2;\n for (let i = 0;i < maxLength; i++)\n output[i] = formatValue(ctx, entries[i], recurseTimes);\n if (ctx.indentationLvl -= 2, state === kWeak && !ctx.sorted)\n ArrayPrototypeSort(output);\n const remaining = entries.length - maxLength;\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatMapIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), len = entries.length / 2, remaining = len - maxArrayLength, maxLength = MathMin(maxArrayLength, len), output = new Array(maxLength);\n let i = 0;\n if (ctx.indentationLvl += 2, state === kWeak) {\n for (;i < maxLength; i++) {\n const pos = i * 2;\n output[i] = `${formatValue(ctx, entries[pos], recurseTimes)} => ${formatValue(ctx, entries[pos + 1], recurseTimes)}`;\n }\n if (!ctx.sorted)\n ArrayPrototypeSort(output);\n } else\n for (;i < maxLength; i++) {\n const pos = i * 2, res = [formatValue(ctx, entries[pos], recurseTimes), formatValue(ctx, entries[pos + 1], recurseTimes)];\n output[i] = reduceToSingleString(ctx, res, \"\", [\"[\", \"]\"], kArrayExtrasType, recurseTimes);\n }\n if (ctx.indentationLvl -= 2, remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatWeakCollection = function(ctx) {\n return [ctx.stylize(\"<items unknown>\", \"special\")];\n}, formatWeakSet = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatSetIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatWeakMap = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatMapIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatIterator = function(braces, ctx, value, recurseTimes) {\n const { 0: entries, 1: isKeyValue } = previewEntries(value, !0);\n if (isKeyValue)\n return braces[0] = RegExpPrototypeSymbolReplace(/ Iterator] {$/, braces[0], \" Entries] {\"), formatMapIterInner(ctx, recurseTimes, entries, kMapEntries);\n return formatSetIterInner(ctx, recurseTimes, entries, kIterator);\n}, formatPromise = function(ctx, value, recurseTimes) {\n let output;\n const { 0: state, 1: result } = getPromiseDetails(value);\n if (state === kPending)\n output = [ctx.stylize(\"<pending>\", \"special\")];\n else {\n ctx.indentationLvl += 2;\n const str = formatValue(ctx, result, recurseTimes);\n ctx.indentationLvl -= 2, output = [state === kRejected \? `${ctx.stylize(\"<rejected>\", \"special\")} ${str}` : str];\n }\n return output;\n}, formatProperty = function(ctx, value, recurseTimes, key, type, desc, original = value) {\n let name, str, extra = \" \";\n if (desc ||= ObjectGetOwnPropertyDescriptor(value, key) || { value: value[key], enumerable: !0 }, desc.value !== @undefined) {\n const diff = ctx.compact !== !0 || type !== kObjectType \? 2 : 3;\n if (ctx.indentationLvl += diff, str = formatValue(ctx, desc.value, recurseTimes), diff === 3 && ctx.breakLength < getStringWidth(str, ctx.colors))\n extra = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n ctx.indentationLvl -= diff;\n } else if (desc.get !== @undefined) {\n const label = desc.set !== @undefined \? \"Getter/Setter\" : \"Getter\", s = ctx.stylize;\n if (ctx.getters && (ctx.getters === !0 || ctx.getters === \"get\" && desc.set === @undefined || ctx.getters === \"set\" && desc.set !== @undefined))\n try {\n const tmp = desc.get.@call(original);\n if (ctx.indentationLvl += 2, tmp === null)\n str = `${s(`[${label}:`, \"special\")} ${s(\"null\", \"null\")}${s(\"]\", \"special\")}`;\n else if (typeof tmp === \"object\")\n str = `${s(`[${label}]`, \"special\")} ${formatValue(ctx, tmp, recurseTimes)}`;\n else {\n const primitive = formatPrimitive(s, tmp, ctx);\n str = `${s(`[${label}:`, \"special\")} ${primitive}${s(\"]\", \"special\")}`;\n }\n ctx.indentationLvl -= 2;\n } catch (err) {\n const message = `<Inspection threw (${err.message})>`;\n str = `${s(`[${label}:`, \"special\")} ${message}${s(\"]\", \"special\")}`;\n }\n else\n str = ctx.stylize(`[${label}]`, \"special\");\n } else if (desc.set !== @undefined)\n str = ctx.stylize(\"[Setter]\", \"special\");\n else\n str = ctx.stylize(\"undefined\", \"undefined\");\n if (type === kArrayType)\n return str;\n if (typeof key === \"symbol\") {\n const tmp = RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, SymbolPrototypeToString(key), escapeFn);\n name = `[${ctx.stylize(tmp, \"symbol\")}]`;\n } else if (key === \"__proto__\")\n name = \"['__proto__']\";\n else if (desc.enumerable === !1)\n name = `[${RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, key, escapeFn)}]`;\n else if (RegExpPrototypeExec(keyStrRegExp, key) !== null)\n name = ctx.stylize(key, \"name\");\n else\n name = ctx.stylize(strEscape(key), \"string\");\n return `${name}:${extra}${str}`;\n}, isBelowBreakLength = function(ctx, output, start, base) {\n let totalLength = output.length + start;\n if (totalLength + output.length > ctx.breakLength)\n return !1;\n for (let i = 0;i < output.length; i++) {\n if (ctx.colors)\n totalLength += StringPrototypeReplaceAll(output[i], /\\u001B\\[\\d\\d\?m/g, \"\").length;\n else\n totalLength += output[i].length;\n if (totalLength > ctx.breakLength)\n return !1;\n }\n return base === \"\" || !StringPrototypeIncludes(base, \"\\n\");\n}, reduceToSingleString = function(ctx, output, base, braces, extrasType, recurseTimes, value) {\n if (ctx.compact !== !0) {\n if (typeof ctx.compact === \"number\" && ctx.compact >= 1) {\n const entries = output.length;\n if (extrasType === kArrayExtrasType && entries > 6)\n output = groupArrayElements(ctx, output, value);\n if (ctx.currentDepth - recurseTimes < ctx.compact && entries === output.length) {\n const start = output.length + ctx.indentationLvl + braces[0].length + base.length + 10;\n if (isBelowBreakLength(ctx, output, start, base)) {\n const joinedOutput = ArrayPrototypeJoin(output, \", \");\n if (!StringPrototypeIncludes(joinedOutput, \"\\n\"))\n return `${base \? `${base} ` : \"\"}${braces[0]} ${joinedOutput}` + ` ${braces[1]}`;\n }\n }\n }\n const indentation2 = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n return `${base \? `${base} ` : \"\"}${braces[0]}${indentation2} ` + `${ArrayPrototypeJoin(output, `,${indentation2} `)}${indentation2}${braces[1]}`;\n }\n if (isBelowBreakLength(ctx, output, 0, base))\n return `${braces[0]}${base \? ` ${base}` : \"\"} ${ArrayPrototypeJoin(output, \", \")} ` + braces[1];\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl), ln = base === \"\" && braces[0].length === 1 \? \" \" : `${base \? ` ${base}` : \"\"}\\n${indentation} `;\n return `${braces[0]}${ln}${ArrayPrototypeJoin(output, `,\\n${indentation} `)} ${braces[1]}`;\n}, hasBuiltInToString = function(value) {\n const proxyTarget = getProxyDetails(value, !1);\n if (proxyTarget !== @undefined) {\n if (proxyTarget === null)\n return !0;\n value = proxyTarget;\n }\n if (typeof value.toString !== \"function\")\n return !0;\n if (ObjectPrototypeHasOwnProperty(value, \"toString\"))\n return !1;\n let pointer = value;\n do\n pointer = ObjectGetPrototypeOf(pointer);\n while (!ObjectPrototypeHasOwnProperty(pointer, \"toString\"));\n const descriptor = ObjectGetOwnPropertyDescriptor(pointer, \"constructor\");\n return descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name);\n}, tryStringify = function(arg) {\n try {\n return JSONStringify(arg);\n } catch (err) {\n if (!CIRCULAR_ERROR_MESSAGE)\n try {\n const a = {};\n a.a = a, JSONStringify(a);\n } catch (circularError) {\n CIRCULAR_ERROR_MESSAGE = firstErrorLine(circularError);\n }\n if (err.name === \"TypeError\" && firstErrorLine(err) === CIRCULAR_ERROR_MESSAGE)\n return \"[Circular]\";\n throw err;\n }\n}, format = function(...args) {\n return formatWithOptionsInternal(@undefined, args);\n}, formatWithOptions = function(inspectOptions, ...args) {\n return validateObject(inspectOptions, \"inspectOptions\", { allowArray: !0 }), formatWithOptionsInternal(inspectOptions, args);\n}, formatNumberNoColor = function(number, options) {\n return formatNumber(stylizeNoColor, number, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatBigIntNoColor = function(bigint, options) {\n return formatBigInt(stylizeNoColor, bigint, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatWithOptionsInternal = function(inspectOptions, args) {\n const first = args[0];\n let a = 0, str = \"\", join = \"\";\n if (typeof first === \"string\") {\n if (args.length === 1)\n return first;\n let tempStr, lastPos = 0;\n for (let i = 0;i < first.length - 1; i++)\n if (StringPrototypeCharCodeAt(first, i) === 37) {\n const nextChar = StringPrototypeCharCodeAt(first, ++i);\n if (a + 1 !== args.length) {\n switch (nextChar) {\n case 115: {\n const tempArg = args[++a];\n if (typeof tempArg === \"number\")\n tempStr = formatNumberNoColor(tempArg, inspectOptions);\n else if (typeof tempArg === \"bigint\")\n tempStr = formatBigIntNoColor(tempArg, inspectOptions);\n else if (typeof tempArg !== \"object\" || tempArg === null || !hasBuiltInToString(tempArg))\n tempStr = String(tempArg);\n else\n tempStr = inspect(tempArg, {\n ...inspectOptions,\n compact: 3,\n colors: !1,\n depth: 0\n });\n break;\n }\n case 106:\n tempStr = tryStringify(args[++a]);\n break;\n case 100: {\n const tempNum = args[++a];\n if (typeof tempNum === \"bigint\")\n tempStr = formatBigIntNoColor(tempNum, inspectOptions);\n else if (typeof tempNum === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(Number(tempNum), inspectOptions);\n break;\n }\n case 79:\n tempStr = inspect(args[++a], inspectOptions);\n break;\n case 111:\n tempStr = inspect(args[++a], {\n ...inspectOptions,\n showHidden: !0,\n showProxy: !0,\n depth: 4\n });\n break;\n case 105: {\n const tempInteger = args[++a];\n if (typeof tempInteger === \"bigint\")\n tempStr = formatBigIntNoColor(tempInteger, inspectOptions);\n else if (typeof tempInteger === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseInt(tempInteger), inspectOptions);\n break;\n }\n case 102: {\n const tempFloat = args[++a];\n if (typeof tempFloat === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseFloat(tempFloat), inspectOptions);\n break;\n }\n case 99:\n a += 1, tempStr = \"\";\n break;\n case 37:\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n continue;\n default:\n continue;\n }\n if (lastPos !== i - 1)\n str += StringPrototypeSlice(first, lastPos, i - 1);\n str += tempStr, lastPos = i + 1;\n } else if (nextChar === 37)\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n }\n if (lastPos !== 0) {\n if (a++, join = \" \", lastPos < first.length)\n str += StringPrototypeSlice(first, lastPos);\n }\n }\n while (a < args.length) {\n const value = args[a];\n str += join, str += typeof value !== \"string\" \? inspect(value, inspectOptions) : value, join = \" \", a++;\n }\n return str;\n}, isZeroWidthCodePoint = function(code) {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, stripVTControlCharacters = function(str) {\n if (typeof str !== \"string\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"str\", \"string\", str);\n return RegExpPrototypeSymbolReplace(ansi, str, \"\");\n}, getOwnNonIndexProperties = function(a, filter = 2) {\n const desc = ObjectGetOwnPropertyDescriptors(a), ret = [];\n for (let [k, v] of ObjectEntries(desc))\n if (!RegExpPrototypeTest(/^(0|[1-9][0-9]*)$/, k) || NumberParseInt(k, 10) >= 4294967295)\n if (filter === 2 && !v.enumerable)\n continue;\n else\n ArrayPrototypePush(ret, k);\n for (let s of ObjectGetOwnPropertySymbols(a)) {\n const v = ObjectGetOwnPropertyDescriptor(a, s);\n if (filter === 2 && !v.enumerable)\n continue;\n ArrayPrototypePush(ret, s);\n }\n return ret;\n}, getPromiseDetails = function(promise) {\n const state = @getPromiseInternalField(promise, @promiseFieldFlags) & @promiseStateMask;\n if (state !== @promiseStatePending)\n return [\n state === @promiseStateRejected \? kRejected : kFulfilled,\n @getPromiseInternalField(promise, @promiseFieldReactionsOrResult)\n ];\n return [kPending, @undefined];\n}, getProxyDetails = function(proxy, withHandler = !0) {\n if (!@isProxyObject(proxy))\n return @undefined;\n const handler = @getProxyInternalField(proxy, @proxyFieldHandler), target = handler === null \? null : @getProxyInternalField(proxy, @proxyFieldTarget);\n if (withHandler)\n return [target, handler];\n else\n return target;\n}, previewEntries = function(val, isIterator = !1) {\n if (isIterator) {\n const iteratedObject = @getInternalField(val, 1), kind = @getInternalField(val, 2), isEntries = kind === 2;\n if (@isMap(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(iteratedObject)), !0];\n else if (kind === 1)\n return [ArrayFrom(MapPrototypeValues(iteratedObject)), !1];\n else\n return [ArrayFrom(MapPrototypeKeys(iteratedObject)), !1];\n else if (@isSet(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(SetPrototypeEntries(iteratedObject))), !0];\n else\n return [ArrayFrom(iteratedObject), !1];\n else\n throw new Error(\"previewEntries(): Invalid iterator received\");\n }\n if (isWeakMap(val))\n return [];\n if (isWeakSet(val))\n return [];\n else\n throw new Error(\"previewEntries(): Invalid object received\");\n}, internalGetConstructorName = function(val) {\n if (!val || typeof val !== \"object\")\n throw new Error(\"Invalid object\");\n if (val.constructor\?.name)\n return val.constructor.name;\n const str = ObjectPrototypeToString(val), m = StringPrototypeMatch(str, /^\\[object ([^\\]]+)\\]/);\n return m \? m[1] : \"Object\";\n}, $, { pathToFileURL } = @getInternalField(@internalModuleRegistry, 47) || @createInternalModuleById(47), primordials = @getInternalField(@internalModuleRegistry, 5) || @createInternalModuleById(5), {\n Array,\n ArrayFrom,\n ArrayIsArray,\n ArrayPrototypeFilter,\n ArrayPrototypeFlat,\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes,\n ArrayPrototypeIndexOf,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n ArrayPrototypePop,\n ArrayPrototypePush,\n ArrayPrototypePushApply,\n ArrayPrototypeSlice,\n ArrayPrototypeSplice,\n ArrayPrototypeSort,\n ArrayPrototypeUnshift,\n BigIntPrototypeValueOf,\n BooleanPrototypeValueOf,\n DatePrototypeGetTime,\n DatePrototypeToISOString,\n DatePrototypeToString,\n ErrorCaptureStackTrace,\n ErrorPrototypeToString,\n FunctionPrototypeBind,\n FunctionPrototypeToString,\n JSONStringify,\n MapPrototypeGetSize,\n MapPrototypeEntries,\n MapPrototypeValues,\n MapPrototypeKeys,\n MathFloor,\n MathMax,\n MathMin,\n MathRound,\n MathSqrt,\n MathTrunc,\n Number,\n NumberIsFinite,\n NumberIsNaN,\n NumberParseFloat,\n NumberParseInt,\n NumberPrototypeToString,\n NumberPrototypeValueOf,\n Object,\n ObjectAssign,\n ObjectDefineProperty,\n ObjectEntries,\n ObjectGetOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames,\n ObjectGetOwnPropertySymbols,\n ObjectGetPrototypeOf,\n ObjectIs,\n ObjectKeys,\n ObjectPrototypeHasOwnProperty,\n ObjectPrototypePropertyIsEnumerable,\n ObjectPrototypeToString,\n ObjectSeal,\n ObjectSetPrototypeOf,\n ReflectApply,\n ReflectOwnKeys,\n RegExp,\n RegExpPrototypeExec,\n RegExpPrototypeSymbolReplace,\n RegExpPrototypeSymbolSplit,\n RegExpPrototypeTest,\n RegExpPrototypeToString,\n SafeStringIterator,\n SafeMap,\n SafeSet,\n SetPrototypeEntries,\n SetPrototypeGetSize,\n SetPrototypeValues,\n String,\n StringPrototypeCharCodeAt,\n StringPrototypeCodePointAt,\n StringPrototypeIncludes,\n StringPrototypeIndexOf,\n StringPrototypeLastIndexOf,\n StringPrototypeMatch,\n StringPrototypeNormalize,\n StringPrototypePadEnd,\n StringPrototypePadStart,\n StringPrototypeRepeat,\n StringPrototypeReplaceAll,\n StringPrototypeSlice,\n StringPrototypeSplit,\n StringPrototypeEndsWith,\n StringPrototypeStartsWith,\n StringPrototypeToLowerCase,\n StringPrototypeTrim,\n StringPrototypeValueOf,\n SymbolPrototypeToString,\n SymbolPrototypeValueOf,\n SymbolIterator,\n SymbolToStringTag,\n TypedArrayPrototypeGetLength,\n TypedArrayPrototypeGetSymbolToStringTag,\n Uint8Array\n} = primordials, customInspectSymbol = Symbol.for(\"nodejs.util.inspect.custom\"), kPending = Symbol(\"kPending\"), kFulfilled = Symbol(\"kFulfilled\"), kRejected = Symbol(\"kRejected\");\nvar isAsyncFunction = (v) => typeof v === \"function\" && StringPrototypeStartsWith(FunctionPrototypeToString(v), \"async\"), isGeneratorFunction = (v) => typeof v === \"function\" && StringPrototypeMatch(FunctionPrototypeToString(v), /^(async\\s+)\?function *\\*/), isBigIntObject = checkBox(BigInt), isSymbolObject = checkBox(Symbol), {\n isAnyArrayBuffer,\n isArrayBuffer,\n isArgumentsObject,\n isBoxedPrimitive: _native_isBoxedPrimitive,\n isDataView,\n isExternal,\n isMap,\n isMapIterator,\n isModuleNamespaceObject,\n isNativeError,\n isPromise,\n isSet,\n isSetIterator,\n isWeakMap,\n isWeakSet,\n isRegExp,\n isDate,\n isTypedArray,\n isStringObject,\n isNumberObject,\n isBooleanObject\n} = @requireNativeModule(\"util/types\");\n//! The native versions of the commented out functions are currently buggy, so we use the polyfills above for now.\n//! temp workaround to apply is{BigInt,Symbol}Object fix\nvar isBoxedPrimitive = (val) => isBigIntObject(val) || isSymbolObject(val) || _native_isBoxedPrimitive(val);\n\nclass AssertionError extends Error {\n constructor(message, isForced = !1) {\n super(message);\n this.name = \"AssertionError\", this.code = \"ERR_ASSERTION\", this.operator = \"==\", this.generatedMessage = !isForced, this.actual = isForced && @undefined, this.expected = !isForced || @undefined;\n }\n}\nvar codes = {};\n{\n const kTypes = [\n \"string\",\n \"function\",\n \"number\",\n \"object\",\n \"Function\",\n \"Object\",\n \"boolean\",\n \"bigint\",\n \"symbol\"\n ], classRegExp = /^([A-Z][a-z0-9]*)+$/, messages = new SafeMap;\n messages.set(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !ArrayIsArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (StringPrototypeEndsWith(name, \" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${StringPrototypeIncludes(name, \".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), ArrayPrototypeIncludes(kTypes, value))\n ArrayPrototypePush(types, StringPrototypeToLowerCase(value));\n else if (RegExpPrototypeTest(classRegExp, value))\n ArrayPrototypePush(instances, value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), ArrayPrototypePush(other, value);\n if (instances.length > 0) {\n const pos = ArrayPrototypeIndexOf(types, \"object\");\n if (pos !== -1)\n ArrayPrototypeSplice(types, pos, 1), ArrayPrototypePush(instances, \"Object\");\n }\n if (types.length > 0) {\n if (types.length > 2)\n msg += `one of type ${ArrayPrototypeJoin(types, \", \")}, or ${ArrayPrototypePop(types)}`;\n else if (types.length === 2)\n msg += `one of type ${types[0]} or ${types[1]}`;\n else\n msg += `of type ${types[0]}`;\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n if (instances.length > 2)\n msg += `an instance of ${ArrayPrototypeJoin(instances, \", \")}, or ${ArrayPrototypePop(instances)}`;\n else\n msg += `an instance of ${instances[0]}` + (instances.length === 2 \? ` or ${instances[1]}` : \"\");\n if (other.length > 0)\n msg += \" or \";\n }\n if (other.length > 0)\n if (other.length > 2) {\n const last = ArrayPrototypePop(other);\n msg += `one of ${ArrayPrototypeJoin(other, \", \")}, or ${last}`;\n } else if (other.length === 2)\n msg += `one of ${other[0]} or ${other[1]}`;\n else {\n if (StringPrototypeToLowerCase(other[0]) !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\")\n if (actual.constructor && actual.constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else\n msg += `. Received ${inspect(actual, { depth: -1 })}`;\n else {\n let inspected = inspect(actual, { colors: !1 });\n if (inspected.length > 25)\n inspected = `${StringPrototypeSlice(inspected, 0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }), codes[\"ERR_INVALID_ARG_TYPE\"] = function NodeError(...args) {\n const limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n const error = @makeTypeError();\n Error.stackTraceLimit = limit;\n const msg = messages.get(\"ERR_INVALID_ARG_TYPE\");\n assert(typeof msg === \"function\"), assert(msg.length <= args.length, `Code: ERR_INVALID_ARG_TYPE; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`);\n const message = ReflectApply(msg, error, args);\n ObjectDefineProperty(error, \"message\", { value: message, enumerable: !1, writable: !0, configurable: !0 }), ObjectDefineProperty(error, \"toString\", {\n value() {\n return `${this.name} [ERR_INVALID_ARG_TYPE]: ${this.message}`;\n },\n enumerable: !1,\n writable: !0,\n configurable: !0\n });\n let err = error;\n const userStackTraceLimit = Error.stackTraceLimit;\n return Error.stackTraceLimit = @Infinity, ErrorCaptureStackTrace(err), Error.stackTraceLimit = userStackTraceLimit, err.name = `${TypeError.name} [ERR_INVALID_ARG_TYPE]`, err.stack, delete err.name, error.code = \"ERR_INVALID_ARG_TYPE\", error;\n };\n}\nvar validateObject = (value, name, allowArray = !1) => {\n if (value === null || !allowArray && ArrayIsArray(value) || typeof value !== \"object\" && typeof value !== \"function\")\n throw new codes.ERR_INVALID_ARG_TYPE(name, \"Object\", value);\n}, builtInObjects = new SafeSet(ArrayPrototypeFilter(ObjectGetOwnPropertyNames(globalThis), (e) => RegExpPrototypeExec(/^[A-Z][a-zA-Z0-9]+$/, e) !== null)), isUndetectableObject = (v) => typeof v === \"undefined\" && v !== @undefined, ERROR_STACK_OVERFLOW_MSG = \"Maximum call stack size exceeded.\", inspectDefaultOptions = ObjectSeal({\n showHidden: !1,\n depth: 2,\n colors: !1,\n customInspect: !0,\n showProxy: !1,\n maxArrayLength: 100,\n maxStringLength: 1e4,\n breakLength: 80,\n compact: 3,\n sorted: !1,\n getters: !1,\n numericSeparator: !1\n}), inspectReplDefaults = ObjectSeal({\n ...inspectDefaultOptions,\n colors: Bun.enableANSIColors,\n showProxy: !0\n}), kObjectType = 0, kArrayType = 1, kArrayExtrasType = 2, strEscapeSequencesRegExp, strEscapeSequencesReplacer, strEscapeSequencesRegExpSingle, strEscapeSequencesReplacerSingle, extractedSplitNewLines;\ntry {\n strEscapeSequencesRegExp = new RegExp(\"[\\\\x00-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacer = new RegExp(\"[\\0-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\"), strEscapeSequencesRegExpSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacerSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\");\n const extractedNewLineRe = new RegExp(\"(\?<=\\\\n)\");\n extractedSplitNewLines = (value) => RegExpPrototypeSymbolSplit(extractedNewLineRe, value);\n} catch {\n strEscapeSequencesRegExp = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacer = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/g, strEscapeSequencesRegExpSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacerSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/g, extractedSplitNewLines = (value) => {\n const lines = RegExpPrototypeSymbolSplit(/\\n/, value), last = ArrayPrototypePop(lines), nlLines = ArrayPrototypeMap(lines, (line) => line + \"\\n\");\n if (last !== \"\")\n nlLines.push(last);\n return nlLines;\n };\n}\nvar keyStrRegExp = /^[a-zA-Z_][a-zA-Z_0-9]*$/, numberRegExp = /^(0|[1-9][0-9]*)$/, coreModuleRegExp = /^ {4}at (\?:[^/\\\\(]+ \\(|)node:(.+):\\d+:\\d+\\)\?$/, nodeModulesRegExp = /[/\\\\]node_modules[/\\\\](.+\?)(\?=[/\\\\])/g, classRegExp = /^(\\s+[^(]*\?)\\s*{/, stripCommentsRegExp = /(\\/\\/.*\?\\n)|(\\/\\*(.|\\n)*\?\\*\\/)/g, kMinLineLength = 16, kWeak = 0, kIterator = 1, kMapEntries = 2, meta = [\n \"\\\\x00\",\n \"\\\\x01\",\n \"\\\\x02\",\n \"\\\\x03\",\n \"\\\\x04\",\n \"\\\\x05\",\n \"\\\\x06\",\n \"\\\\x07\",\n \"\\\\b\",\n \"\\\\t\",\n \"\\\\n\",\n \"\\\\x0B\",\n \"\\\\f\",\n \"\\\\r\",\n \"\\\\x0E\",\n \"\\\\x0F\",\n \"\\\\x10\",\n \"\\\\x11\",\n \"\\\\x12\",\n \"\\\\x13\",\n \"\\\\x14\",\n \"\\\\x15\",\n \"\\\\x16\",\n \"\\\\x17\",\n \"\\\\x18\",\n \"\\\\x19\",\n \"\\\\x1A\",\n \"\\\\x1B\",\n \"\\\\x1C\",\n \"\\\\x1D\",\n \"\\\\x1E\",\n \"\\\\x1F\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\'\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\\\\\\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\x7F\",\n \"\\\\x80\",\n \"\\\\x81\",\n \"\\\\x82\",\n \"\\\\x83\",\n \"\\\\x84\",\n \"\\\\x85\",\n \"\\\\x86\",\n \"\\\\x87\",\n \"\\\\x88\",\n \"\\\\x89\",\n \"\\\\x8A\",\n \"\\\\x8B\",\n \"\\\\x8C\",\n \"\\\\x8D\",\n \"\\\\x8E\",\n \"\\\\x8F\",\n \"\\\\x90\",\n \"\\\\x91\",\n \"\\\\x92\",\n \"\\\\x93\",\n \"\\\\x94\",\n \"\\\\x95\",\n \"\\\\x96\",\n \"\\\\x97\",\n \"\\\\x98\",\n \"\\\\x99\",\n \"\\\\x9A\",\n \"\\\\x9B\",\n \"\\\\x9C\",\n \"\\\\x9D\",\n \"\\\\x9E\",\n \"\\\\x9F\"\n], getStringWidth;\ninspect.custom = customInspectSymbol;\nObjectDefineProperty(inspect, \"defaultOptions\", {\n __proto__: null,\n get() {\n return inspectDefaultOptions;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectDefaultOptions, options);\n }\n});\nObjectDefineProperty(inspect, \"replDefaults\", {\n __proto__: null,\n get() {\n return inspectReplDefaults;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectReplDefaults, options);\n }\n});\nvar defaultFG = 39, defaultBG = 49;\ninspect.colors = {\n __proto__: null,\n reset: [0, 0],\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n blink: [5, 25],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n doubleunderline: [21, 24],\n black: [30, defaultFG],\n red: [31, defaultFG],\n green: [32, defaultFG],\n yellow: [33, defaultFG],\n blue: [34, defaultFG],\n magenta: [35, defaultFG],\n cyan: [36, defaultFG],\n white: [37, defaultFG],\n bgBlack: [40, defaultBG],\n bgRed: [41, defaultBG],\n bgGreen: [42, defaultBG],\n bgYellow: [43, defaultBG],\n bgBlue: [44, defaultBG],\n bgMagenta: [45, defaultBG],\n bgCyan: [46, defaultBG],\n bgWhite: [47, defaultBG],\n framed: [51, 54],\n overlined: [53, 55],\n gray: [90, defaultFG],\n redBright: [91, defaultFG],\n greenBright: [92, defaultFG],\n yellowBright: [93, defaultFG],\n blueBright: [94, defaultFG],\n magentaBright: [95, defaultFG],\n cyanBright: [96, defaultFG],\n whiteBright: [97, defaultFG],\n bgGray: [100, defaultBG],\n bgRedBright: [101, defaultBG],\n bgGreenBright: [102, defaultBG],\n bgYellowBright: [103, defaultBG],\n bgBlueBright: [104, defaultBG],\n bgMagentaBright: [105, defaultBG],\n bgCyanBright: [106, defaultBG],\n bgWhiteBright: [107, defaultBG]\n};\ndefineColorAlias(\"gray\", \"grey\");\ndefineColorAlias(\"gray\", \"blackBright\");\ndefineColorAlias(\"bgGray\", \"bgGrey\");\ndefineColorAlias(\"bgGray\", \"bgBlackBright\");\ndefineColorAlias(\"dim\", \"faint\");\ndefineColorAlias(\"strikethrough\", \"crossedout\");\ndefineColorAlias(\"strikethrough\", \"strikeThrough\");\ndefineColorAlias(\"strikethrough\", \"crossedOut\");\ndefineColorAlias(\"hidden\", \"conceal\");\ndefineColorAlias(\"inverse\", \"swapColors\");\ndefineColorAlias(\"inverse\", \"swapcolors\");\ndefineColorAlias(\"doubleunderline\", \"doubleUnderline\");\ninspect.styles = {\n __proto__: null,\n special: \"cyan\",\n number: \"yellow\",\n bigint: \"yellow\",\n boolean: \"yellow\",\n undefined: \"grey\",\n null: \"bold\",\n string: \"green\",\n symbol: \"green\",\n date: \"magenta\",\n regexp: \"red\",\n module: \"underline\"\n};\nvar remainingText = (remaining) => `... ${remaining} more item${remaining > 1 \? \"s\" : \"\"}`, firstErrorLine = (error) => StringPrototypeSplit(error.message, \"\\n\", 1)[0], CIRCULAR_ERROR_MESSAGE;\n{\n getStringWidth = function getStringWidth(str, removeControlChars = !0) {\n let width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize(str, \"NFC\");\n for (let char of new SafeStringIterator(str)) {\n const code = StringPrototypeCodePointAt(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n };\n const isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n };\n}\nvar ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new RegExp(ansiPattern, \"g\");\n$ = {\n inspect,\n format,\n formatWithOptions,\n stripVTControlCharacters\n};\n//! non-standard properties, should these be kept\? (not currently exposed)\nreturn $})\n"); +static constexpr ASCIILiteral InternalUtilInspectCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/internal/util/inspect.ts\nvar vmSafeInstanceof = function(val, ctor) {\n if (val instanceof ctor)\n return !0;\n while (val) {\n if (typeof val !== \"object\")\n return !1;\n if (ctor.name === internalGetConstructorName(val))\n return !0;\n val = ObjectGetPrototypeOf(val);\n }\n return !1;\n}, checkBox = function(ctor) {\n return (val) => {\n if (!vmSafeInstanceof(val, ctor))\n return !1;\n try {\n ctor.prototype.valueOf.@call(val);\n } catch {\n return !1;\n }\n return !0;\n };\n}, assert = function(p, message) {\n if (!p)\n throw new AssertionError(message);\n}, getUserOptions = function(ctx, isCrossContext) {\n const ret = {\n stylize: ctx.stylize,\n showHidden: ctx.showHidden,\n depth: ctx.depth,\n colors: ctx.colors,\n customInspect: ctx.customInspect,\n showProxy: ctx.showProxy,\n maxArrayLength: ctx.maxArrayLength,\n maxStringLength: ctx.maxStringLength,\n breakLength: ctx.breakLength,\n compact: ctx.compact,\n sorted: ctx.sorted,\n getters: ctx.getters,\n numericSeparator: ctx.numericSeparator,\n ...ctx.userOptions\n };\n if (isCrossContext) {\n ObjectSetPrototypeOf(ret, null);\n for (let key of ObjectKeys(ret))\n if ((typeof ret[key] === \"object\" || typeof ret[key] === \"function\") && ret[key] !== null)\n delete ret[key];\n ret.stylize = ObjectSetPrototypeOf((value, flavour) => {\n let stylized;\n try {\n stylized = `${ctx.stylize(value, flavour)}`;\n } catch {\n }\n if (typeof stylized !== \"string\")\n return value;\n return stylized;\n }, null);\n }\n return ret;\n}, inspect = function(value, opts) {\n const ctx = {\n budget: {},\n indentationLvl: 0,\n seen: [],\n currentDepth: 0,\n stylize: stylizeNoColor,\n showHidden: inspectDefaultOptions.showHidden,\n depth: inspectDefaultOptions.depth,\n colors: inspectDefaultOptions.colors,\n customInspect: inspectDefaultOptions.customInspect,\n showProxy: inspectDefaultOptions.showProxy,\n maxArrayLength: inspectDefaultOptions.maxArrayLength,\n maxStringLength: inspectDefaultOptions.maxStringLength,\n breakLength: inspectDefaultOptions.breakLength,\n compact: inspectDefaultOptions.compact,\n sorted: inspectDefaultOptions.sorted,\n getters: inspectDefaultOptions.getters,\n numericSeparator: inspectDefaultOptions.numericSeparator\n };\n if (arguments.length > 1) {\n if (arguments.length > 2) {\n if (arguments[2] !== @undefined)\n ctx.depth = arguments[2];\n if (arguments.length > 3 && arguments[3] !== @undefined)\n ctx.colors = arguments[3];\n }\n if (typeof opts === \"boolean\")\n ctx.showHidden = opts;\n else if (opts) {\n const optKeys = ObjectKeys(opts);\n for (let i = 0;i < optKeys.length; ++i) {\n const key = optKeys[i];\n if (ObjectPrototypeHasOwnProperty(inspectDefaultOptions, key) || key === \"stylize\")\n ctx[key] = opts[key];\n else if (ctx.userOptions === @undefined)\n ctx.userOptions = opts;\n }\n }\n }\n if (ctx.colors)\n ctx.stylize = stylizeWithColor;\n if (ctx.maxArrayLength === null)\n ctx.maxArrayLength = @Infinity;\n if (ctx.maxStringLength === null)\n ctx.maxStringLength = @Infinity;\n return formatValue(ctx, value, 0);\n}, defineColorAlias = function(target, alias) {\n ObjectDefineProperty(inspect.colors, alias, {\n __proto__: null,\n get() {\n return this[target];\n },\n set(value) {\n this[target] = value;\n },\n configurable: !0,\n enumerable: !1\n });\n}, addQuotes = function(str, quotes) {\n if (quotes === -1)\n return `\"${str}\"`;\n if (quotes === -2)\n return `\\`${str}\\``;\n return `'${str}'`;\n}, escapeFn = function(str) {\n const charCode = StringPrototypeCharCodeAt(str);\n return meta.length > charCode \? meta[charCode] : `\\\\u${NumberPrototypeToString(charCode, 16)}`;\n}, strEscape = function(str) {\n let escapeTest = strEscapeSequencesRegExp, escapeReplace = strEscapeSequencesReplacer, singleQuote = 39;\n if (StringPrototypeIncludes(str, \"'\")) {\n if (!StringPrototypeIncludes(str, '\"'))\n singleQuote = -1;\n else if (!StringPrototypeIncludes(str, \"`\") && !StringPrototypeIncludes(str, \"${\"))\n singleQuote = -2;\n if (singleQuote !== 39)\n escapeTest = strEscapeSequencesRegExpSingle, escapeReplace = strEscapeSequencesReplacerSingle;\n }\n if (str.length < 5000 && RegExpPrototypeExec(escapeTest, str) === null)\n return addQuotes(str, singleQuote);\n if (str.length > 100)\n return str = RegExpPrototypeSymbolReplace(escapeReplace, str, escapeFn), addQuotes(str, singleQuote);\n let result = \"\", last = 0;\n for (let i = 0;i < str.length; i++) {\n const point = StringPrototypeCharCodeAt(str, i);\n if (point === singleQuote || point === 92 || point < 32 || point > 126 && point < 160) {\n if (last === i)\n result += meta[point];\n else\n result += `${StringPrototypeSlice(str, last, i)}${meta[point]}`;\n last = i + 1;\n } else if (point >= 55296 && point <= 57343) {\n if (point <= 56319 && i + 1 < str.length) {\n const point2 = StringPrototypeCharCodeAt(str, i + 1);\n if (point2 >= 56320 && point2 <= 57343) {\n i++;\n continue;\n }\n }\n result += `${StringPrototypeSlice(str, last, i)}\\\\u${NumberPrototypeToString(point, 16)}`, last = i + 1;\n }\n }\n if (last !== str.length)\n result += StringPrototypeSlice(str, last);\n return addQuotes(result, singleQuote);\n}, stylizeWithColor = function(str, styleType) {\n const style = inspect.styles[styleType];\n if (style !== @undefined) {\n const color = inspect.colors[style];\n if (color !== @undefined)\n return `\\x1B[${color[0]}m${str}\\x1B[${color[1]}m`;\n }\n return str;\n}, stylizeNoColor = function(str) {\n return str;\n}, getEmptyFormatArray = function() {\n return [];\n}, isInstanceof = function(object, proto) {\n try {\n return object instanceof proto;\n } catch {\n return !1;\n }\n}, getConstructorName = function(obj, ctx, recurseTimes, protoProps) {\n let firstProto;\n const tmp = obj;\n while (obj || isUndetectableObject(obj)) {\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && descriptor.value.name !== \"\" && isInstanceof(tmp, descriptor.value)) {\n if (protoProps !== @undefined && (firstProto !== obj || !builtInObjects.has(descriptor.value.name)))\n addPrototypeProperties(ctx, tmp, firstProto || tmp, recurseTimes, protoProps);\n return String(descriptor.value.name);\n }\n if (obj = ObjectGetPrototypeOf(obj), firstProto === @undefined)\n firstProto = obj;\n }\n if (firstProto === null)\n return null;\n const res = internalGetConstructorName(tmp);\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return `${res} <Complex prototype>`;\n const protoConstr = getConstructorName(firstProto, ctx, recurseTimes + 1, protoProps);\n if (protoConstr === null)\n return `${res} <${inspect(firstProto, {\n ...ctx,\n customInspect: !1,\n depth: -1\n })}>`;\n return `${res} <${protoConstr}>`;\n}, addPrototypeProperties = function(ctx, main, obj, recurseTimes, output) {\n let depth = 0, keys, keySet;\n do {\n if (depth !== 0 || main === obj) {\n if (obj = ObjectGetPrototypeOf(obj), obj === null)\n return;\n const descriptor = ObjectGetOwnPropertyDescriptor(obj, \"constructor\");\n if (descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name))\n return;\n }\n if (depth === 0)\n keySet = new SafeSet;\n else\n ArrayPrototypeForEach(keys, (key) => keySet.add(key));\n keys = ReflectOwnKeys(obj), ArrayPrototypePush(ctx.seen, main);\n for (let key of keys) {\n if (key === \"constructor\" || ObjectPrototypeHasOwnProperty(main, key) || depth !== 0 && keySet.has(key))\n continue;\n const desc = ObjectGetOwnPropertyDescriptor(obj, key);\n if (typeof desc.value === \"function\")\n continue;\n const value = formatProperty(ctx, obj, recurseTimes, key, kObjectType, desc, main);\n if (ctx.colors)\n ArrayPrototypePush(output, `\\x1B[2m${value}\\x1B[22m`);\n else\n ArrayPrototypePush(output, value);\n }\n ArrayPrototypePop(ctx.seen);\n } while (++depth !== 3);\n}, getPrefix = function(constructor, tag, fallback, size = \"\") {\n if (constructor === null) {\n if (tag !== \"\" && fallback !== tag)\n return `[${fallback}${size}: null prototype] [${tag}] `;\n return `[${fallback}${size}: null prototype] `;\n }\n if (tag !== \"\" && constructor !== tag)\n return `${constructor}${size} [${tag}] `;\n return `${constructor}${size} `;\n}, getKeys = function(value, showHidden) {\n let keys;\n const symbols = ObjectGetOwnPropertySymbols(value);\n if (showHidden) {\n if (keys = ObjectGetOwnPropertyNames(value), symbols.length !== 0)\n ArrayPrototypePushApply(keys, symbols);\n } else {\n try {\n keys = ObjectKeys(value);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\" && isModuleNamespaceObject(value)), keys = ObjectGetOwnPropertyNames(value);\n }\n if (symbols.length !== 0)\n ArrayPrototypePushApply(keys, ArrayPrototypeFilter(symbols, (key) => ObjectPrototypePropertyIsEnumerable(value, key)));\n }\n return keys;\n}, getCtxStyle = function(value, constructor, tag) {\n let fallback = \"\";\n if (constructor === null) {\n if (fallback = internalGetConstructorName(value), fallback === tag)\n fallback = \"Object\";\n }\n return getPrefix(constructor, tag, fallback);\n}, formatProxy = function(ctx, proxy, recurseTimes) {\n if (recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(\"Proxy [Array]\", \"special\");\n recurseTimes += 1, ctx.indentationLvl += 2;\n const res = [formatValue(ctx, proxy[0], recurseTimes), formatValue(ctx, proxy[1], recurseTimes)];\n return ctx.indentationLvl -= 2, reduceToSingleString(ctx, res, \"\", [\"Proxy [\", \"]\"], kArrayExtrasType, recurseTimes);\n}, formatValue = function(ctx, value, recurseTimes, typedArray) {\n if (typeof value !== \"object\" && typeof value !== \"function\" && !isUndetectableObject(value))\n return formatPrimitive(ctx.stylize, value, ctx);\n if (value === null)\n return ctx.stylize(\"null\", \"null\");\n const context = value, proxy = getProxyDetails(value, !!ctx.showProxy);\n if (proxy !== @undefined) {\n if (proxy === null || proxy[0] === null)\n return ctx.stylize(\"<Revoked Proxy>\", \"special\");\n if (ctx.showProxy)\n return formatProxy(ctx, proxy, recurseTimes);\n value = proxy;\n }\n if (ctx.customInspect) {\n const maybeCustom = value[customInspectSymbol];\n if (typeof maybeCustom === \"function\" && maybeCustom !== inspect && !(value.constructor && value.constructor.prototype === value)) {\n const depth = ctx.depth === null \? null : ctx.depth - recurseTimes, isCrossContext = proxy !== @undefined || !(context instanceof Object), ret = maybeCustom.@call(context, depth, getUserOptions(ctx, isCrossContext), inspect);\n if (ret !== context) {\n if (typeof ret !== \"string\")\n return formatValue(ctx, ret, recurseTimes);\n return StringPrototypeReplaceAll(ret, \"\\n\", `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`);\n }\n }\n }\n if (ctx.seen.includes(value)) {\n let index = 1;\n if (ctx.circular === @undefined)\n ctx.circular = new SafeMap, ctx.circular.set(value, index);\n else if (index = ctx.circular.get(value), index === @undefined)\n index = ctx.circular.size + 1, ctx.circular.set(value, index);\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n return formatRaw(ctx, value, recurseTimes, typedArray);\n}, formatRaw = function(ctx, value, recurseTimes, typedArray) {\n let keys, protoProps;\n if (ctx.showHidden && (recurseTimes <= ctx.depth || ctx.depth === null))\n protoProps = [];\n const constructor = getConstructorName(value, ctx, recurseTimes, protoProps);\n if (protoProps !== @undefined && protoProps.length === 0)\n protoProps = @undefined;\n let tag = value[SymbolToStringTag];\n if (typeof tag !== \"string\" || tag !== \"\" && (ctx.showHidden \? ObjectPrototypeHasOwnProperty : ObjectPrototypePropertyIsEnumerable)(value, SymbolToStringTag))\n tag = \"\";\n let base = \"\", formatter = getEmptyFormatArray, braces, noIterator = !0, i = 0;\n const filter = ctx.showHidden \? 0 : 2;\n let extrasType = kObjectType;\n if ((SymbolIterator in value) || constructor === null)\n if (noIterator = !1, ArrayIsArray(value)) {\n const prefix = constructor !== \"Array\" || tag !== \"\" \? getPrefix(constructor, tag, \"Array\", `(${value.length})`) : \"\";\n if (keys = getOwnNonIndexProperties(value, filter), braces = [`${prefix}[`, \"]\"], value.length === 0 && keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}]`;\n extrasType = kArrayExtrasType, formatter = formatArray;\n } else if (isSet(value)) {\n const size = SetPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Set\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatSet, null, value) : FunctionPrototypeBind(formatSet, null, SetPrototypeValues(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isMap(value)) {\n const size = MapPrototypeGetSize(value), prefix = getPrefix(constructor, tag, \"Map\", `(${size})`);\n if (keys = getKeys(value, ctx.showHidden), formatter = constructor !== null \? FunctionPrototypeBind(formatMap, null, value) : FunctionPrototypeBind(formatMap, null, MapPrototypeEntries(value)), size === 0 && keys.length === 0 && protoProps === @undefined)\n return `${prefix}{}`;\n braces = [`${prefix}{`, \"}\"];\n } else if (isTypedArray(value)) {\n keys = getOwnNonIndexProperties(value, filter);\n let bound = value, fallback = \"\";\n if (constructor === null)\n fallback = TypedArrayPrototypeGetSymbolToStringTag(value), bound = new primordials[fallback](value);\n const size = TypedArrayPrototypeGetLength(value);\n if (braces = [`${getPrefix(constructor, tag, fallback, `(${size})`)}[`, \"]\"], value.length === 0 && keys.length === 0 && !ctx.showHidden)\n return `${braces[0]}]`;\n formatter = FunctionPrototypeBind(formatTypedArray, null, bound, size), extrasType = kArrayExtrasType;\n } else if (isMapIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Map\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else if (isSetIterator(value))\n keys = getKeys(value, ctx.showHidden), braces = getIteratorBraces(\"Set\", tag), formatter = FunctionPrototypeBind(formatIterator, null, braces);\n else\n noIterator = !0;\n if (noIterator)\n if (keys = getKeys(value, ctx.showHidden), braces = [\"{\", \"}\"], constructor === \"Object\") {\n if (isArgumentsObject(value))\n braces[0] = \"[Arguments] {\";\n else if (tag !== \"\")\n braces[0] = `${getPrefix(constructor, tag, \"Object\")}{`;\n if (keys.length === 0 && protoProps === @undefined)\n return `${braces[0]}}`;\n } else if (typeof value === \"function\") {\n if (base = getFunctionBase(value, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"special\");\n } else if (isRegExp(value)) {\n base = RegExpPrototypeToString(constructor !== null \? value : new RegExp(value));\n const prefix = getPrefix(constructor, tag, \"RegExp\");\n if (prefix !== \"RegExp \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined || recurseTimes > ctx.depth && ctx.depth !== null)\n return ctx.stylize(base, \"regexp\");\n } else if (isDate(value)) {\n base = NumberIsNaN(DatePrototypeGetTime(value)) \? DatePrototypeToString(value) : DatePrototypeToISOString(value);\n const prefix = getPrefix(constructor, tag, \"Date\");\n if (prefix !== \"Date \")\n base = `${prefix}${base}`;\n if (keys.length === 0 && protoProps === @undefined)\n return ctx.stylize(base, \"date\");\n } else if (value instanceof Error) {\n if (base = formatError(value, constructor, tag, ctx, keys), keys.length === 0 && protoProps === @undefined)\n return base;\n } else if (isAnyArrayBuffer(value)) {\n const arrayType = isArrayBuffer(value) \? \"ArrayBuffer\" : \"SharedArrayBuffer\", prefix = getPrefix(constructor, tag, arrayType);\n if (typedArray === @undefined)\n formatter = formatArrayBuffer;\n else if (keys.length === 0 && protoProps === @undefined)\n return prefix + `{ byteLength: ${formatNumber(ctx.stylize, value.byteLength, !1)} }`;\n braces[0] = `${prefix}{`, ArrayPrototypeUnshift(keys, \"byteLength\");\n } else if (isDataView(value))\n braces[0] = `${getPrefix(constructor, tag, \"DataView\")}{`, ArrayPrototypeUnshift(keys, \"byteLength\", \"byteOffset\", \"buffer\");\n else if (isPromise(value))\n braces[0] = `${getPrefix(constructor, tag, \"Promise\")}{`, formatter = formatPromise;\n else if (isWeakSet(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakSet\")}{`, formatter = ctx.showHidden \? formatWeakSet : formatWeakCollection;\n else if (isWeakMap(value))\n braces[0] = `${getPrefix(constructor, tag, \"WeakMap\")}{`, formatter = ctx.showHidden \? formatWeakMap : formatWeakCollection;\n else if (isModuleNamespaceObject(value))\n braces[0] = `${getPrefix(constructor, tag, \"Module\")}{`, formatter = formatNamespaceObject.bind(null, keys);\n else if (isBoxedPrimitive(value)) {\n if (base = getBoxedBase(value, ctx, keys, constructor, tag), keys.length === 0 && protoProps === @undefined)\n return base;\n } else {\n if (keys.length === 0 && protoProps === @undefined) {\n if (isExternal(value))\n return ctx.stylize(\"[External: 0]\", \"special\");\n return `${getCtxStyle(value, constructor, tag)}{}`;\n }\n braces[0] = `${getCtxStyle(value, constructor, tag)}{`;\n }\n if (recurseTimes > ctx.depth && ctx.depth !== null) {\n let constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n if (constructor !== null)\n constructorName = `[${constructorName}]`;\n return ctx.stylize(constructorName, \"special\");\n }\n recurseTimes += 1, ctx.seen.push(value), ctx.currentDepth = recurseTimes;\n let output;\n const indentationLvl = ctx.indentationLvl;\n try {\n if (ctx.currentDepth > 1000)\n @throwRangeError(ERROR_STACK_OVERFLOW_MSG);\n output = formatter(ctx, value, recurseTimes);\n for (i = 0;i < keys.length; i++)\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, keys[i], extrasType));\n if (protoProps !== @undefined)\n ArrayPrototypePushApply(output, protoProps);\n } catch (err) {\n if (err instanceof RangeError && err.message === ERROR_STACK_OVERFLOW_MSG) {\n const constructorName = StringPrototypeSlice(getCtxStyle(value, constructor, tag), 0, -1);\n return ctx.seen.pop(), ctx.indentationLvl = indentationLvl, ctx.stylize(`[${constructorName}: Inspection interrupted prematurely. Maximum call stack size exceeded.]`, \"special\");\n }\n throw new AssertionError(\"handleMaxCallStackSize assertion failed: \" + String(err), !0);\n }\n if (ctx.circular !== @undefined) {\n const index = ctx.circular.get(value);\n if (index !== @undefined)\n if (ctx.seenRefs \?\?= new Set, !ctx.seenRefs.has(index)) {\n ctx.seenRefs.add(index);\n const reference = ctx.stylize(`<ref *${index}>`, \"special\");\n if (ctx.compact !== !0)\n base = base === \"\" \? reference : `${reference} ${base}`;\n else\n braces[0] = `${reference} ${braces[0]}`;\n } else {\n //! this is a non-standard behavior compared to Node's implementation\n return ctx.stylize(`[Circular *${index}]`, \"special\");\n }\n }\n if (ctx.seen.pop(), ctx.sorted) {\n const comparator = ctx.sorted === !0 \? @undefined : ctx.sorted;\n if (extrasType === kObjectType)\n ArrayPrototypeSort(output, comparator);\n else if (keys.length > 1) {\n const sorted = ArrayPrototypeSort(ArrayPrototypeSlice(output, output.length - keys.length), comparator);\n ArrayPrototypeUnshift(sorted, output, output.length - keys.length, keys.length), ReflectApply(ArrayPrototypeSplice, null, sorted);\n }\n }\n const res = reduceToSingleString(ctx, output, base, braces, extrasType, recurseTimes, value), newLength = (ctx.budget[ctx.indentationLvl] || 0) + res.length;\n if (ctx.budget[ctx.indentationLvl] = newLength, newLength > 134217728)\n ctx.depth = -1;\n return res;\n}, getIteratorBraces = function(type, tag) {\n if (tag !== `${type} Iterator`) {\n if (tag !== \"\")\n tag += \"] [\";\n tag += `${type} Iterator`;\n }\n return [`[${tag}] {`, \"}\"];\n}, getBoxedBase = function(value, ctx, keys, constructor, tag) {\n let fn, type;\n if (isNumberObject(value))\n fn = NumberPrototypeValueOf, type = \"Number\";\n else if (isStringObject(value))\n fn = StringPrototypeValueOf, type = \"String\", keys.splice(0, value.length);\n else if (isBooleanObject(value))\n fn = BooleanPrototypeValueOf, type = \"Boolean\";\n else if (isBigIntObject(value))\n fn = BigIntPrototypeValueOf, type = \"BigInt\";\n else\n fn = SymbolPrototypeValueOf, type = \"Symbol\";\n let base = `[${type}`;\n if (type !== constructor)\n if (constructor === null)\n base += \" (null prototype)\";\n else\n base += ` (${constructor})`;\n if (base += `: ${formatPrimitive(stylizeNoColor, fn(value), ctx)}]`, tag !== \"\" && tag !== constructor)\n base += ` [${tag}]`;\n if (keys.length !== 0 || ctx.stylize === stylizeNoColor)\n return base;\n return ctx.stylize(base, StringPrototypeToLowerCase(type));\n}, getClassBase = function(value, constructor, tag) {\n let base = `class ${ObjectPrototypeHasOwnProperty(value, \"name\") && value.name || \"(anonymous)\"}`;\n if (constructor !== \"Function\" && constructor !== null)\n base += ` [${constructor}]`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n if (constructor !== null) {\n const superName = ObjectGetPrototypeOf(value).name;\n if (superName)\n base += ` extends ${superName}`;\n } else\n base += \" extends [null prototype]\";\n return `[${base}]`;\n}, getFunctionBase = function(value, constructor, tag) {\n const stringified = FunctionPrototypeToString(value);\n if (StringPrototypeStartsWith(stringified, \"class\") && StringPrototypeEndsWith(stringified, \"}\")) {\n const slice = StringPrototypeSlice(stringified, 5, -1), bracketIndex = StringPrototypeIndexOf(slice, \"{\");\n if (bracketIndex !== -1 && (!StringPrototypeIncludes(StringPrototypeSlice(slice, 0, bracketIndex), \"(\") || RegExpPrototypeExec(classRegExp, RegExpPrototypeSymbolReplace(stripCommentsRegExp, slice)) !== null))\n return getClassBase(value, constructor, tag);\n }\n let type = \"Function\";\n if (isGeneratorFunction(value))\n type = `Generator${type}`;\n if (isAsyncFunction(value))\n type = `Async${type}`;\n let base = `[${type}`;\n if (constructor === null)\n base += \" (null prototype)\";\n if (value.name === \"\")\n base += \" (anonymous)\";\n else\n base += `: ${value.name}`;\n if (base += \"]\", constructor !== type && constructor !== null)\n base += ` ${constructor}`;\n if (tag !== \"\" && constructor !== tag)\n base += ` [${tag}]`;\n return base;\n}, identicalSequenceRange = function(a, b) {\n for (let i = 0;i < a.length - 3; i++) {\n const pos = b.indexOf(a[i]);\n if (pos !== -1) {\n const rest = b.length - pos;\n if (rest > 3) {\n let len = 1;\n const maxLen = MathMin(a.length - i, rest);\n while (maxLen > len && a[i + len] === b[pos + len])\n len++;\n if (len > 3)\n return { len, offset: i };\n }\n }\n }\n return { len: 0, offset: 0 };\n}, getStackString = function(error) {\n return error.stack \? String(error.stack) : ErrorPrototypeToString(error);\n}, getStackFrames = function(ctx, err, stack) {\n const frames = StringPrototypeSplit(stack, \"\\n\");\n let cause;\n try {\n ({ cause } = err);\n } catch {\n }\n if (cause != null && cause instanceof Error) {\n const causeStack = getStackString(cause), causeStackStart = StringPrototypeIndexOf(causeStack, \"\\n at\");\n if (causeStackStart !== -1) {\n const causeFrames = StringPrototypeSplit(StringPrototypeSlice(causeStack, causeStackStart + 1), \"\\n\"), { len, offset } = identicalSequenceRange(frames, causeFrames);\n if (len > 0) {\n const skipped = len - 2, msg = ` ... ${skipped} lines matching cause stack trace ...`;\n frames.splice(offset + 1, skipped, ctx.stylize(msg, \"undefined\"));\n }\n }\n }\n return frames;\n}, improveStack = function(stack, constructor, name, tag) {\n let len = name.length;\n if (constructor === null || StringPrototypeEndsWith(name, \"Error\") && StringPrototypeStartsWith(stack, name) && (stack.length === len || stack[len] === \":\" || stack[len] === \"\\n\")) {\n let fallback = \"Error\";\n if (constructor === null) {\n const start = RegExpPrototypeExec(/^([A-Z][a-z_ A-Z0-9[\\]()-]+)(\?::|\\n {4}at)/, stack) || RegExpPrototypeExec(/^([a-z_A-Z0-9-]*Error)$/, stack);\n fallback = start && start[1] || \"\", len = fallback.length, fallback = fallback || \"Error\";\n }\n const prefix = StringPrototypeSlice(getPrefix(constructor, tag, fallback), 0, -1);\n if (name !== prefix)\n if (StringPrototypeIncludes(prefix, name))\n if (len === 0)\n stack = `${prefix}: ${stack}`;\n else\n stack = `${prefix}${StringPrototypeSlice(stack, len)}`;\n else\n stack = `${prefix} [${name}]${StringPrototypeSlice(stack, len)}`;\n }\n return stack;\n}, removeDuplicateErrorKeys = function(ctx, keys, err, stack) {\n if (!ctx.showHidden && keys.length !== 0)\n for (let name of [\"name\", \"message\", \"stack\"]) {\n const index = ArrayPrototypeIndexOf(keys, name);\n if (index !== -1 && StringPrototypeIncludes(stack, err[name]))\n ArrayPrototypeSplice(keys, index, 1);\n }\n}, markNodeModules = function(ctx, line) {\n let tempLine = \"\", nodeModule, pos = 0;\n while ((nodeModule = nodeModulesRegExp.exec(line)) !== null)\n tempLine += StringPrototypeSlice(line, pos, nodeModule.index + 14), tempLine += ctx.stylize(nodeModule[1], \"module\"), pos = nodeModule.index + nodeModule[0].length;\n if (pos !== 0)\n line = tempLine + StringPrototypeSlice(line, pos);\n return line;\n}, markCwd = function(ctx, line, workingDirectory) {\n let cwdStartPos = StringPrototypeIndexOf(line, workingDirectory), tempLine = \"\", cwdLength = workingDirectory.length;\n if (cwdStartPos !== -1) {\n if (StringPrototypeSlice(line, cwdStartPos - 7, cwdStartPos) === \"file://\")\n cwdLength += 7, cwdStartPos -= 7;\n const start = line[cwdStartPos - 1] === \"(\" \? cwdStartPos - 1 : cwdStartPos, end = start !== cwdStartPos && StringPrototypeEndsWith(line, \")\") \? -1 : line.length, workingDirectoryEndPos = cwdStartPos + cwdLength + 1, cwdSlice = StringPrototypeSlice(line, start, workingDirectoryEndPos);\n if (tempLine += StringPrototypeSlice(line, 0, start), tempLine += ctx.stylize(cwdSlice, \"undefined\"), tempLine += StringPrototypeSlice(line, workingDirectoryEndPos, end), end === -1)\n tempLine += ctx.stylize(\")\", \"undefined\");\n } else\n tempLine += line;\n return tempLine;\n}, safeGetCWD = function() {\n let workingDirectory;\n try {\n workingDirectory = process.cwd();\n } catch {\n return;\n }\n return workingDirectory;\n}, formatError = function(err, constructor, tag, ctx, keys) {\n const name = err.name != null \? String(err.name) : \"Error\";\n let stack = getStackString(err);\n //! temp fix for Bun losing the error name from inherited errors + extraneous \": \" with no message\n if (stack = stack.replace(/^Error: /, `${name}${err.message \? \": \" : \"\"}`), removeDuplicateErrorKeys(ctx, keys, err, stack), (\"cause\" in err) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"cause\")))\n ArrayPrototypePush(keys, \"cause\");\n if (ArrayIsArray(err.errors) && (keys.length === 0 || !ArrayPrototypeIncludes(keys, \"errors\")))\n ArrayPrototypePush(keys, \"errors\");\n stack = improveStack(stack, constructor, name, tag);\n let pos = err.message && StringPrototypeIndexOf(stack, err.message) || -1;\n if (pos !== -1)\n pos += err.message.length;\n const stackStart = StringPrototypeIndexOf(stack, \"\\n at\", pos);\n if (stackStart === -1)\n stack = `[${stack}]`;\n else {\n let newStack = StringPrototypeSlice(stack, 0, stackStart);\n const stackFramePart = StringPrototypeSlice(stack, stackStart + 1), lines = getStackFrames(ctx, err, stackFramePart);\n if (ctx.colors) {\n const workingDirectory = safeGetCWD();\n let esmWorkingDirectory;\n for (let line of lines) {\n const core = RegExpPrototypeExec(coreModuleRegExp, line);\n if (core !== null && (StringPrototypeStartsWith(core[1], \"internal/\") || ArrayPrototypeIncludes(@requireNativeModule(\"module\").builtinModules, core[1])))\n newStack += `\\n${ctx.stylize(line, \"undefined\")}`;\n else {\n if (newStack += \"\\n\", line = markNodeModules(ctx, line), workingDirectory !== @undefined) {\n let newLine = markCwd(ctx, line, workingDirectory);\n if (newLine === line)\n esmWorkingDirectory \?\?= pathToFileURL(workingDirectory), newLine = markCwd(ctx, line, esmWorkingDirectory);\n line = newLine;\n }\n newStack += line;\n }\n }\n } else\n newStack += `\\n${ArrayPrototypeJoin(lines, \"\\n\")}`;\n stack = newStack;\n }\n if (ctx.indentationLvl !== 0) {\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl);\n stack = StringPrototypeReplaceAll(stack, \"\\n\", `\\n${indentation}`);\n }\n return stack;\n}, groupArrayElements = function(ctx, output, value) {\n let totalLength = 0, maxLength = 0, i = 0, outputLength = output.length;\n if (ctx.maxArrayLength < output.length)\n outputLength--;\n const separatorSpace = 2, dataLen = new Array(outputLength);\n for (;i < outputLength; i++) {\n const len = getStringWidth(output[i], ctx.colors);\n if (dataLen[i] = len, totalLength += len + separatorSpace, maxLength < len)\n maxLength = len;\n }\n const actualMax = maxLength + separatorSpace;\n if (actualMax * 3 + ctx.indentationLvl < ctx.breakLength && (totalLength / actualMax > 5 || maxLength <= 6)) {\n const averageBias = MathSqrt(actualMax - totalLength / output.length), biasedMax = MathMax(actualMax - 3 - averageBias, 1), columns = MathMin(MathRound(MathSqrt(2.5 * biasedMax * outputLength) / biasedMax), MathFloor((ctx.breakLength - ctx.indentationLvl) / actualMax), ctx.compact * 4, 15);\n if (columns <= 1)\n return output;\n const tmp = [], maxLineLength = [];\n for (let i2 = 0;i2 < columns; i2++) {\n let lineMaxLength = 0;\n for (let j = i2;j < output.length; j += columns)\n if (dataLen[j] > lineMaxLength)\n lineMaxLength = dataLen[j];\n lineMaxLength += separatorSpace, maxLineLength[i2] = lineMaxLength;\n }\n let order = StringPrototypePadStart;\n if (value !== @undefined) {\n for (let i2 = 0;i2 < output.length; i2++)\n if (typeof value[i2] !== \"number\" && typeof value[i2] !== \"bigint\") {\n order = StringPrototypePadEnd;\n break;\n }\n }\n for (let i2 = 0;i2 < outputLength; i2 += columns) {\n const max = MathMin(i2 + columns, outputLength);\n let str = \"\", j = i2;\n for (;j < max - 1; j++) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j];\n str += order(`${output[j]}, `, padding, \" \");\n }\n if (order === StringPrototypePadStart) {\n const padding = maxLineLength[j - i2] + output[j].length - dataLen[j] - separatorSpace;\n str += StringPrototypePadStart(output[j], padding, \" \");\n } else\n str += output[j];\n ArrayPrototypePush(tmp, str);\n }\n if (ctx.maxArrayLength < output.length)\n ArrayPrototypePush(tmp, output[outputLength]);\n output = tmp;\n }\n return output;\n}, addNumericSeparator = function(integerString) {\n let result = \"\", i = integerString.length;\n const start = StringPrototypeStartsWith(integerString, \"-\") \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n result = `_${StringPrototypeSlice(integerString, i - 3, i)}${result}`;\n return i === integerString.length \? integerString : `${StringPrototypeSlice(integerString, 0, i)}${result}`;\n}, addNumericSeparatorEnd = function(integerString) {\n let result = \"\", i = 0;\n for (;i < integerString.length - 3; i += 3)\n result += `${StringPrototypeSlice(integerString, i, i + 3)}_`;\n return i === 0 \? integerString : `${result}${StringPrototypeSlice(integerString, i)}`;\n}, formatNumber = function(fn, number, numericSeparator) {\n if (!numericSeparator) {\n if (ObjectIs(number, -0))\n return fn(\"-0\", \"number\");\n return fn(`${number}`, \"number\");\n }\n const integer = MathTrunc(number), string = String(integer);\n if (integer === number) {\n if (!NumberIsFinite(number) || StringPrototypeIncludes(string, \"e\"))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}`, \"number\");\n }\n if (NumberIsNaN(number))\n return fn(string, \"number\");\n return fn(`${addNumericSeparator(string)}.${addNumericSeparatorEnd(StringPrototypeSlice(String(number), string.length + 1))}`, \"number\");\n}, formatBigInt = function(fn, bigint, numericSeparator) {\n const string = String(bigint);\n if (!numericSeparator)\n return fn(`${string}n`, \"bigint\");\n return fn(`${addNumericSeparator(string)}n`, \"bigint\");\n}, formatPrimitive = function(fn, value, ctx) {\n if (typeof value === \"string\") {\n let trailer = \"\";\n if (value.length > ctx.maxStringLength) {\n const remaining = value.length - ctx.maxStringLength;\n value = StringPrototypeSlice(value, 0, ctx.maxStringLength), trailer = `... ${remaining} more character${remaining > 1 \? \"s\" : \"\"}`;\n }\n if (ctx.compact !== !0 && value.length > kMinLineLength && value.length > ctx.breakLength - ctx.indentationLvl - 4)\n return ArrayPrototypeJoin(ArrayPrototypeMap(extractedSplitNewLines(value), (line) => fn(strEscape(line), \"string\")), ` +\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl + 2)}`) + trailer;\n return fn(strEscape(value), \"string\") + trailer;\n }\n if (typeof value === \"number\")\n return formatNumber(fn, value, ctx.numericSeparator);\n if (typeof value === \"bigint\")\n return formatBigInt(fn, value, ctx.numericSeparator);\n if (typeof value === \"boolean\")\n return fn(`${value}`, \"boolean\");\n if (typeof value === \"undefined\")\n return fn(\"undefined\", \"undefined\");\n return fn(SymbolPrototypeToString(value), \"symbol\");\n}, formatNamespaceObject = function(keys, ctx, value, recurseTimes) {\n const output = new Array(keys.length);\n for (let i = 0;i < keys.length; i++)\n try {\n output[i] = formatProperty(ctx, value, recurseTimes, keys[i], kObjectType);\n } catch (err) {\n assert(isNativeError(err) && err.name === \"ReferenceError\");\n const tmp = { [keys[i]]: \"\" };\n output[i] = formatProperty(ctx, tmp, recurseTimes, keys[i], kObjectType);\n const pos = StringPrototypeLastIndexOf(output[i], \" \");\n output[i] = StringPrototypeSlice(output[i], 0, pos + 1) + ctx.stylize(\"<uninitialized>\", \"special\");\n }\n return keys.length = 0, output;\n}, formatSpecialArray = function(ctx, value, recurseTimes, maxLength, output, i) {\n const keys = ObjectKeys(value);\n let index = i;\n for (;i < keys.length && output.length < maxLength; i++) {\n const key = keys[i], tmp = +key;\n if (tmp > 4294967294)\n break;\n if (`${index}` !== key) {\n if (RegExpPrototypeExec(numberRegExp, key) === null)\n break;\n const emptyItems = tmp - index, ending = emptyItems > 1 \? \"s\" : \"\", message = `<${emptyItems} empty item${ending}>`;\n if (ArrayPrototypePush(output, ctx.stylize(message, \"undefined\")), index = tmp, output.length === maxLength)\n break;\n }\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, key, kArrayType)), index++;\n }\n const remaining = value.length - index;\n if (output.length !== maxLength) {\n if (remaining > 0) {\n const ending = remaining > 1 \? \"s\" : \"\", message = `<${remaining} empty item${ending}>`;\n ArrayPrototypePush(output, ctx.stylize(message, \"undefined\"));\n }\n } else if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, hexSlice = function(buf, start = 0, end) {\n return ArrayPrototypeJoin(ArrayPrototypeMap(buf.slice(start, end), (x) => (\"00\" + x.toString(16)).slice(-2)), \"\");\n}, formatArrayBuffer = function(ctx, value) {\n let buffer;\n try {\n buffer = new Uint8Array(value);\n } catch {\n return [ctx.stylize(\"(detached)\", \"special\")];\n }\n let str = StringPrototypeTrim(RegExpPrototypeSymbolReplace(/(.{2})/g, hexSlice(buffer, 0, MathMin(ctx.maxArrayLength, buffer.length)), \"$1 \"));\n const remaining = buffer.length - ctx.maxArrayLength;\n if (remaining > 0)\n str += ` ... ${remaining} more byte${remaining > 1 \? \"s\" : \"\"}`;\n return [`${ctx.stylize(\"[Uint8Contents]\", \"special\")}: <${str}>`];\n}, formatArray = function(ctx, value, recurseTimes) {\n const valLen = value.length, len = MathMin(MathMax(0, ctx.maxArrayLength), valLen), remaining = valLen - len, output = [];\n for (let i = 0;i < len; i++) {\n if (!ObjectPrototypeHasOwnProperty(value, i))\n return formatSpecialArray(ctx, value, recurseTimes, len, output, i);\n ArrayPrototypePush(output, formatProperty(ctx, value, recurseTimes, i, kArrayType));\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatTypedArray = function(value, length, ctx, ignored, recurseTimes) {\n const maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = value.length - maxLength, output = new Array(maxLength), elementFormatter = value.length > 0 && typeof value[0] === \"number\" \? formatNumber : formatBigInt;\n for (let i = 0;i < maxLength; ++i)\n output[i] = elementFormatter(ctx.stylize, value[i], ctx.numericSeparator);\n if (remaining > 0)\n output[maxLength] = remainingText(remaining);\n if (ctx.showHidden) {\n ctx.indentationLvl += 2;\n for (let key of [\"BYTES_PER_ELEMENT\", \"length\", \"byteLength\", \"byteOffset\", \"buffer\"]) {\n const str = formatValue(ctx, value[key], recurseTimes, !0);\n ArrayPrototypePush(output, `[${key}]: ${str}`);\n }\n ctx.indentationLvl -= 2;\n }\n return output;\n}, formatSet = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let v of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, formatValue(ctx, v, recurseTimes)), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatMap = function(value, ctx, ignored, recurseTimes) {\n const length = value.size, maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length), remaining = length - maxLength, output = [];\n ctx.indentationLvl += 2;\n let i = 0;\n for (let { 0: k, 1: v } of value) {\n if (i >= maxLength)\n break;\n ArrayPrototypePush(output, `${formatValue(ctx, k, recurseTimes)} => ${formatValue(ctx, v, recurseTimes)}`), i++;\n }\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return ctx.indentationLvl -= 2, output;\n}, formatSetIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), maxLength = MathMin(maxArrayLength, entries.length), output = new Array(maxLength);\n ctx.indentationLvl += 2;\n for (let i = 0;i < maxLength; i++)\n output[i] = formatValue(ctx, entries[i], recurseTimes);\n if (ctx.indentationLvl -= 2, state === kWeak && !ctx.sorted)\n ArrayPrototypeSort(output);\n const remaining = entries.length - maxLength;\n if (remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatMapIterInner = function(ctx, recurseTimes, entries, state) {\n const maxArrayLength = MathMax(ctx.maxArrayLength, 0), len = entries.length / 2, remaining = len - maxArrayLength, maxLength = MathMin(maxArrayLength, len), output = new Array(maxLength);\n let i = 0;\n if (ctx.indentationLvl += 2, state === kWeak) {\n for (;i < maxLength; i++) {\n const pos = i * 2;\n output[i] = `${formatValue(ctx, entries[pos], recurseTimes)} => ${formatValue(ctx, entries[pos + 1], recurseTimes)}`;\n }\n if (!ctx.sorted)\n ArrayPrototypeSort(output);\n } else\n for (;i < maxLength; i++) {\n const pos = i * 2, res = [formatValue(ctx, entries[pos], recurseTimes), formatValue(ctx, entries[pos + 1], recurseTimes)];\n output[i] = reduceToSingleString(ctx, res, \"\", [\"[\", \"]\"], kArrayExtrasType, recurseTimes);\n }\n if (ctx.indentationLvl -= 2, remaining > 0)\n ArrayPrototypePush(output, remainingText(remaining));\n return output;\n}, formatWeakCollection = function(ctx) {\n return [ctx.stylize(\"<items unknown>\", \"special\")];\n}, formatWeakSet = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatSetIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatWeakMap = function(ctx, value, recurseTimes) {\n const entries = previewEntries(value);\n return formatMapIterInner(ctx, recurseTimes, entries, kWeak);\n}, formatIterator = function(braces, ctx, value, recurseTimes) {\n const { 0: entries, 1: isKeyValue } = previewEntries(value, !0);\n if (isKeyValue)\n return braces[0] = RegExpPrototypeSymbolReplace(/ Iterator] {$/, braces[0], \" Entries] {\"), formatMapIterInner(ctx, recurseTimes, entries, kMapEntries);\n return formatSetIterInner(ctx, recurseTimes, entries, kIterator);\n}, formatPromise = function(ctx, value, recurseTimes) {\n let output;\n const { 0: state, 1: result } = getPromiseDetails(value);\n if (state === kPending)\n output = [ctx.stylize(\"<pending>\", \"special\")];\n else {\n ctx.indentationLvl += 2;\n const str = formatValue(ctx, result, recurseTimes);\n ctx.indentationLvl -= 2, output = [state === kRejected \? `${ctx.stylize(\"<rejected>\", \"special\")} ${str}` : str];\n }\n return output;\n}, formatProperty = function(ctx, value, recurseTimes, key, type, desc, original = value) {\n let name, str, extra = \" \";\n if (desc ||= ObjectGetOwnPropertyDescriptor(value, key) || { value: value[key], enumerable: !0 }, desc.value !== @undefined) {\n const diff = ctx.compact !== !0 || type !== kObjectType \? 2 : 3;\n if (ctx.indentationLvl += diff, str = formatValue(ctx, desc.value, recurseTimes), diff === 3 && ctx.breakLength < getStringWidth(str, ctx.colors))\n extra = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n ctx.indentationLvl -= diff;\n } else if (desc.get !== @undefined) {\n const label = desc.set !== @undefined \? \"Getter/Setter\" : \"Getter\", s = ctx.stylize;\n if (ctx.getters && (ctx.getters === !0 || ctx.getters === \"get\" && desc.set === @undefined || ctx.getters === \"set\" && desc.set !== @undefined))\n try {\n const tmp = desc.get.@call(original);\n if (ctx.indentationLvl += 2, tmp === null)\n str = `${s(`[${label}:`, \"special\")} ${s(\"null\", \"null\")}${s(\"]\", \"special\")}`;\n else if (typeof tmp === \"object\")\n str = `${s(`[${label}]`, \"special\")} ${formatValue(ctx, tmp, recurseTimes)}`;\n else {\n const primitive = formatPrimitive(s, tmp, ctx);\n str = `${s(`[${label}:`, \"special\")} ${primitive}${s(\"]\", \"special\")}`;\n }\n ctx.indentationLvl -= 2;\n } catch (err) {\n const message = `<Inspection threw (${err.message})>`;\n str = `${s(`[${label}:`, \"special\")} ${message}${s(\"]\", \"special\")}`;\n }\n else\n str = ctx.stylize(`[${label}]`, \"special\");\n } else if (desc.set !== @undefined)\n str = ctx.stylize(\"[Setter]\", \"special\");\n else\n str = ctx.stylize(\"undefined\", \"undefined\");\n if (type === kArrayType)\n return str;\n if (typeof key === \"symbol\") {\n const tmp = RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, SymbolPrototypeToString(key), escapeFn);\n name = `[${ctx.stylize(tmp, \"symbol\")}]`;\n } else if (key === \"__proto__\")\n name = \"['__proto__']\";\n else if (desc.enumerable === !1)\n name = `[${RegExpPrototypeSymbolReplace(strEscapeSequencesReplacer, key, escapeFn)}]`;\n else if (RegExpPrototypeExec(keyStrRegExp, key) !== null)\n name = ctx.stylize(key, \"name\");\n else\n name = ctx.stylize(strEscape(key), \"string\");\n return `${name}:${extra}${str}`;\n}, isBelowBreakLength = function(ctx, output, start, base) {\n let totalLength = output.length + start;\n if (totalLength + output.length > ctx.breakLength)\n return !1;\n for (let i = 0;i < output.length; i++) {\n if (ctx.colors)\n totalLength += StringPrototypeReplaceAll(output[i], /\\u001B\\[\\d\\d\?m/g, \"\").length;\n else\n totalLength += output[i].length;\n if (totalLength > ctx.breakLength)\n return !1;\n }\n return base === \"\" || !StringPrototypeIncludes(base, \"\\n\");\n}, reduceToSingleString = function(ctx, output, base, braces, extrasType, recurseTimes, value) {\n if (ctx.compact !== !0) {\n if (typeof ctx.compact === \"number\" && ctx.compact >= 1) {\n const entries = output.length;\n if (extrasType === kArrayExtrasType && entries > 6)\n output = groupArrayElements(ctx, output, value);\n if (ctx.currentDepth - recurseTimes < ctx.compact && entries === output.length) {\n const start = output.length + ctx.indentationLvl + braces[0].length + base.length + 10;\n if (isBelowBreakLength(ctx, output, start, base)) {\n const joinedOutput = ArrayPrototypeJoin(output, \", \");\n if (!StringPrototypeIncludes(joinedOutput, \"\\n\"))\n return `${base \? `${base} ` : \"\"}${braces[0]} ${joinedOutput}` + ` ${braces[1]}`;\n }\n }\n }\n const indentation2 = `\\n${StringPrototypeRepeat(\" \", ctx.indentationLvl)}`;\n return `${base \? `${base} ` : \"\"}${braces[0]}${indentation2} ` + `${ArrayPrototypeJoin(output, `,${indentation2} `)}${indentation2}${braces[1]}`;\n }\n if (isBelowBreakLength(ctx, output, 0, base))\n return `${braces[0]}${base \? ` ${base}` : \"\"} ${ArrayPrototypeJoin(output, \", \")} ` + braces[1];\n const indentation = StringPrototypeRepeat(\" \", ctx.indentationLvl), ln = base === \"\" && braces[0].length === 1 \? \" \" : `${base \? ` ${base}` : \"\"}\\n${indentation} `;\n return `${braces[0]}${ln}${ArrayPrototypeJoin(output, `,\\n${indentation} `)} ${braces[1]}`;\n}, hasBuiltInToString = function(value) {\n const proxyTarget = getProxyDetails(value, !1);\n if (proxyTarget !== @undefined) {\n if (proxyTarget === null)\n return !0;\n value = proxyTarget;\n }\n if (typeof value.toString !== \"function\")\n return !0;\n if (ObjectPrototypeHasOwnProperty(value, \"toString\"))\n return !1;\n let pointer = value;\n do\n pointer = ObjectGetPrototypeOf(pointer);\n while (!ObjectPrototypeHasOwnProperty(pointer, \"toString\"));\n const descriptor = ObjectGetOwnPropertyDescriptor(pointer, \"constructor\");\n return descriptor !== @undefined && typeof descriptor.value === \"function\" && builtInObjects.has(descriptor.value.name);\n}, tryStringify = function(arg) {\n try {\n return JSONStringify(arg);\n } catch (err) {\n if (!CIRCULAR_ERROR_MESSAGE)\n try {\n const a = {};\n a.a = a, JSONStringify(a);\n } catch (circularError) {\n CIRCULAR_ERROR_MESSAGE = firstErrorLine(circularError);\n }\n if (err.name === \"TypeError\" && firstErrorLine(err) === CIRCULAR_ERROR_MESSAGE)\n return \"[Circular]\";\n throw err;\n }\n}, format = function(...args) {\n return formatWithOptionsInternal(@undefined, args);\n}, formatWithOptions = function(inspectOptions, ...args) {\n return validateObject(inspectOptions, \"inspectOptions\", { allowArray: !0 }), formatWithOptionsInternal(inspectOptions, args);\n}, formatNumberNoColor = function(number, options) {\n return formatNumber(stylizeNoColor, number, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatBigIntNoColor = function(bigint, options) {\n return formatBigInt(stylizeNoColor, bigint, options\?.numericSeparator \?\? inspectDefaultOptions.numericSeparator);\n}, formatWithOptionsInternal = function(inspectOptions, args) {\n const first = args[0];\n let a = 0, str = \"\", join = \"\";\n if (typeof first === \"string\") {\n if (args.length === 1)\n return first;\n let tempStr, lastPos = 0;\n for (let i = 0;i < first.length - 1; i++)\n if (StringPrototypeCharCodeAt(first, i) === 37) {\n const nextChar = StringPrototypeCharCodeAt(first, ++i);\n if (a + 1 !== args.length) {\n switch (nextChar) {\n case 115: {\n const tempArg = args[++a];\n if (typeof tempArg === \"number\")\n tempStr = formatNumberNoColor(tempArg, inspectOptions);\n else if (typeof tempArg === \"bigint\")\n tempStr = formatBigIntNoColor(tempArg, inspectOptions);\n else if (typeof tempArg !== \"object\" || tempArg === null || !hasBuiltInToString(tempArg))\n tempStr = String(tempArg);\n else\n tempStr = inspect(tempArg, {\n ...inspectOptions,\n compact: 3,\n colors: !1,\n depth: 0\n });\n break;\n }\n case 106:\n tempStr = tryStringify(args[++a]);\n break;\n case 100: {\n const tempNum = args[++a];\n if (typeof tempNum === \"bigint\")\n tempStr = formatBigIntNoColor(tempNum, inspectOptions);\n else if (typeof tempNum === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(Number(tempNum), inspectOptions);\n break;\n }\n case 79:\n tempStr = inspect(args[++a], inspectOptions);\n break;\n case 111:\n tempStr = inspect(args[++a], {\n ...inspectOptions,\n showHidden: !0,\n showProxy: !0,\n depth: 4\n });\n break;\n case 105: {\n const tempInteger = args[++a];\n if (typeof tempInteger === \"bigint\")\n tempStr = formatBigIntNoColor(tempInteger, inspectOptions);\n else if (typeof tempInteger === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseInt(tempInteger), inspectOptions);\n break;\n }\n case 102: {\n const tempFloat = args[++a];\n if (typeof tempFloat === \"symbol\")\n tempStr = \"NaN\";\n else\n tempStr = formatNumberNoColor(NumberParseFloat(tempFloat), inspectOptions);\n break;\n }\n case 99:\n a += 1, tempStr = \"\";\n break;\n case 37:\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n continue;\n default:\n continue;\n }\n if (lastPos !== i - 1)\n str += StringPrototypeSlice(first, lastPos, i - 1);\n str += tempStr, lastPos = i + 1;\n } else if (nextChar === 37)\n str += StringPrototypeSlice(first, lastPos, i), lastPos = i + 1;\n }\n if (lastPos !== 0) {\n if (a++, join = \" \", lastPos < first.length)\n str += StringPrototypeSlice(first, lastPos);\n }\n }\n while (a < args.length) {\n const value = args[a];\n str += join, str += typeof value !== \"string\" \? inspect(value, inspectOptions) : value, join = \" \", a++;\n }\n return str;\n}, isZeroWidthCodePoint = function(code) {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, stripVTControlCharacters = function(str) {\n if (typeof str !== \"string\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"str\", \"string\", str);\n return RegExpPrototypeSymbolReplace(ansi, str, \"\");\n}, getOwnNonIndexProperties = function(a, filter = 2) {\n const desc = ObjectGetOwnPropertyDescriptors(a), ret = [];\n for (let [k, v] of ObjectEntries(desc))\n if (!RegExpPrototypeTest(/^(0|[1-9][0-9]*)$/, k) || NumberParseInt(k, 10) >= 4294967295)\n if (filter === 2 && !v.enumerable)\n continue;\n else\n ArrayPrototypePush(ret, k);\n for (let s of ObjectGetOwnPropertySymbols(a)) {\n const v = ObjectGetOwnPropertyDescriptor(a, s);\n if (filter === 2 && !v.enumerable)\n continue;\n ArrayPrototypePush(ret, s);\n }\n return ret;\n}, getPromiseDetails = function(promise) {\n const state = @getPromiseInternalField(promise, @promiseFieldFlags) & @promiseStateMask;\n if (state !== @promiseStatePending)\n return [\n state === @promiseStateRejected \? kRejected : kFulfilled,\n @getPromiseInternalField(promise, @promiseFieldReactionsOrResult)\n ];\n return [kPending, @undefined];\n}, getProxyDetails = function(proxy, withHandler = !0) {\n if (!@isProxyObject(proxy))\n return @undefined;\n const handler = @getProxyInternalField(proxy, @proxyFieldHandler), target = handler === null \? null : @getProxyInternalField(proxy, @proxyFieldTarget);\n if (withHandler)\n return [target, handler];\n else\n return target;\n}, previewEntries = function(val, isIterator = !1) {\n if (isIterator) {\n const iteratedObject = @getInternalField(val, 1), kind = @getInternalField(val, 2), isEntries = kind === 2;\n if (@isMap(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(iteratedObject)), !0];\n else if (kind === 1)\n return [ArrayFrom(MapPrototypeValues(iteratedObject)), !1];\n else\n return [ArrayFrom(MapPrototypeKeys(iteratedObject)), !1];\n else if (@isSet(iteratedObject))\n if (isEntries)\n return [ArrayPrototypeFlat(ArrayFrom(SetPrototypeEntries(iteratedObject))), !0];\n else\n return [ArrayFrom(iteratedObject), !1];\n else\n throw new Error(\"previewEntries(): Invalid iterator received\");\n }\n if (isWeakMap(val))\n return [];\n if (isWeakSet(val))\n return [];\n else\n throw new Error(\"previewEntries(): Invalid object received\");\n}, internalGetConstructorName = function(val) {\n if (!val || typeof val !== \"object\")\n throw new Error(\"Invalid object\");\n if (val.constructor\?.name)\n return val.constructor.name;\n const str = ObjectPrototypeToString(val), m = StringPrototypeMatch(str, /^\\[object ([^\\]]+)\\]/);\n return m \? m[1] : \"Object\";\n}, $, { pathToFileURL } = @getInternalField(@internalModuleRegistry, 47) || @createInternalModuleById(47), primordials = @getInternalField(@internalModuleRegistry, 5) || @createInternalModuleById(5), {\n Array,\n ArrayFrom,\n ArrayIsArray,\n ArrayPrototypeFilter,\n ArrayPrototypeFlat,\n ArrayPrototypeForEach,\n ArrayPrototypeIncludes,\n ArrayPrototypeIndexOf,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n ArrayPrototypePop,\n ArrayPrototypePush,\n ArrayPrototypePushApply,\n ArrayPrototypeSlice,\n ArrayPrototypeSplice,\n ArrayPrototypeSort,\n ArrayPrototypeUnshift,\n BigIntPrototypeValueOf,\n BooleanPrototypeValueOf,\n DatePrototypeGetTime,\n DatePrototypeToISOString,\n DatePrototypeToString,\n ErrorCaptureStackTrace,\n ErrorPrototypeToString,\n FunctionPrototypeBind,\n FunctionPrototypeToString,\n JSONStringify,\n MapPrototypeGetSize,\n MapPrototypeEntries,\n MapPrototypeValues,\n MapPrototypeKeys,\n MathFloor,\n MathMax,\n MathMin,\n MathRound,\n MathSqrt,\n MathTrunc,\n Number,\n NumberIsFinite,\n NumberIsNaN,\n NumberParseFloat,\n NumberParseInt,\n NumberPrototypeToString,\n NumberPrototypeValueOf,\n Object,\n ObjectAssign,\n ObjectDefineProperty,\n ObjectEntries,\n ObjectGetOwnPropertyDescriptor,\n ObjectGetOwnPropertyDescriptors,\n ObjectGetOwnPropertyNames,\n ObjectGetOwnPropertySymbols,\n ObjectGetPrototypeOf,\n ObjectIs,\n ObjectKeys,\n ObjectPrototypeHasOwnProperty,\n ObjectPrototypePropertyIsEnumerable,\n ObjectPrototypeToString,\n ObjectSeal,\n ObjectSetPrototypeOf,\n ReflectApply,\n ReflectOwnKeys,\n RegExp,\n RegExpPrototypeExec,\n RegExpPrototypeSymbolReplace,\n RegExpPrototypeSymbolSplit,\n RegExpPrototypeTest,\n RegExpPrototypeToString,\n SafeStringIterator,\n SafeMap,\n SafeSet,\n SetPrototypeEntries,\n SetPrototypeGetSize,\n SetPrototypeValues,\n String,\n StringPrototypeCharCodeAt,\n StringPrototypeCodePointAt,\n StringPrototypeIncludes,\n StringPrototypeIndexOf,\n StringPrototypeLastIndexOf,\n StringPrototypeMatch,\n StringPrototypeNormalize,\n StringPrototypePadEnd,\n StringPrototypePadStart,\n StringPrototypeRepeat,\n StringPrototypeReplaceAll,\n StringPrototypeSlice,\n StringPrototypeSplit,\n StringPrototypeEndsWith,\n StringPrototypeStartsWith,\n StringPrototypeToLowerCase,\n StringPrototypeTrim,\n StringPrototypeValueOf,\n SymbolPrototypeToString,\n SymbolPrototypeValueOf,\n SymbolIterator,\n SymbolToStringTag,\n TypedArrayPrototypeGetLength,\n TypedArrayPrototypeGetSymbolToStringTag,\n Uint8Array\n} = primordials, customInspectSymbol = Symbol.for(\"nodejs.util.inspect.custom\"), kPending = Symbol(\"kPending\"), kFulfilled = Symbol(\"kFulfilled\"), kRejected = Symbol(\"kRejected\");\nvar isAsyncFunction = (v) => typeof v === \"function\" && StringPrototypeStartsWith(FunctionPrototypeToString(v), \"async\"), isGeneratorFunction = (v) => typeof v === \"function\" && StringPrototypeMatch(FunctionPrototypeToString(v), /^(async\\s+)\?function *\\*/), isBigIntObject = checkBox(BigInt), isSymbolObject = checkBox(Symbol), {\n isAnyArrayBuffer,\n isArrayBuffer,\n isArgumentsObject,\n isBoxedPrimitive: _native_isBoxedPrimitive,\n isDataView,\n isExternal,\n isMap,\n isMapIterator,\n isModuleNamespaceObject,\n isNativeError,\n isPromise,\n isSet,\n isSetIterator,\n isWeakMap,\n isWeakSet,\n isRegExp,\n isDate,\n isTypedArray,\n isStringObject,\n isNumberObject,\n isBooleanObject\n} = @requireNativeModule(\"util/types\");\n//! The native versions of the commented out functions are currently buggy, so we use the polyfills above for now.\n//! temp workaround to apply is{BigInt,Symbol}Object fix\nvar isBoxedPrimitive = (val) => isBigIntObject(val) || isSymbolObject(val) || _native_isBoxedPrimitive(val);\n\nclass AssertionError extends Error {\n constructor(message, isForced = !1) {\n super(message);\n this.name = \"AssertionError\", this.code = \"ERR_ASSERTION\", this.operator = \"==\", this.generatedMessage = !isForced, this.actual = isForced && @undefined, this.expected = !isForced || @undefined;\n }\n}\nvar codes = {};\n{\n const kTypes = [\n \"string\",\n \"function\",\n \"number\",\n \"object\",\n \"Function\",\n \"Object\",\n \"boolean\",\n \"bigint\",\n \"symbol\"\n ], classRegExp = /^([A-Z][a-z0-9]*)+$/, messages = new SafeMap;\n messages.set(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !ArrayIsArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (StringPrototypeEndsWith(name, \" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${StringPrototypeIncludes(name, \".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), ArrayPrototypeIncludes(kTypes, value))\n ArrayPrototypePush(types, StringPrototypeToLowerCase(value));\n else if (RegExpPrototypeTest(classRegExp, value))\n ArrayPrototypePush(instances, value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), ArrayPrototypePush(other, value);\n if (instances.length > 0) {\n const pos = ArrayPrototypeIndexOf(types, \"object\");\n if (pos !== -1)\n ArrayPrototypeSplice(types, pos, 1), ArrayPrototypePush(instances, \"Object\");\n }\n if (types.length > 0) {\n if (types.length > 2)\n msg += `one of type ${ArrayPrototypeJoin(types, \", \")}, or ${ArrayPrototypePop(types)}`;\n else if (types.length === 2)\n msg += `one of type ${types[0]} or ${types[1]}`;\n else\n msg += `of type ${types[0]}`;\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n if (instances.length > 2)\n msg += `an instance of ${ArrayPrototypeJoin(instances, \", \")}, or ${ArrayPrototypePop(instances)}`;\n else\n msg += `an instance of ${instances[0]}` + (instances.length === 2 \? ` or ${instances[1]}` : \"\");\n if (other.length > 0)\n msg += \" or \";\n }\n if (other.length > 0)\n if (other.length > 2) {\n const last = ArrayPrototypePop(other);\n msg += `one of ${ArrayPrototypeJoin(other, \", \")}, or ${last}`;\n } else if (other.length === 2)\n msg += `one of ${other[0]} or ${other[1]}`;\n else {\n if (StringPrototypeToLowerCase(other[0]) !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\")\n if (actual.constructor && actual.constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else\n msg += `. Received ${inspect(actual, { depth: -1 })}`;\n else {\n let inspected = inspect(actual, { colors: !1 });\n if (inspected.length > 25)\n inspected = `${StringPrototypeSlice(inspected, 0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }), codes[\"ERR_INVALID_ARG_TYPE\"] = function NodeError(...args) {\n const limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n const error = @makeTypeError();\n Error.stackTraceLimit = limit;\n const msg = messages.get(\"ERR_INVALID_ARG_TYPE\");\n assert(typeof msg === \"function\"), assert(msg.length <= args.length, `Code: ERR_INVALID_ARG_TYPE; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`);\n const message = ReflectApply(msg, error, args);\n ObjectDefineProperty(error, \"message\", { value: message, enumerable: !1, writable: !0, configurable: !0 }), ObjectDefineProperty(error, \"toString\", {\n value() {\n return `${this.name} [ERR_INVALID_ARG_TYPE]: ${this.message}`;\n },\n enumerable: !1,\n writable: !0,\n configurable: !0\n });\n let err = error;\n const userStackTraceLimit = Error.stackTraceLimit;\n return Error.stackTraceLimit = @Infinity, ErrorCaptureStackTrace(err), Error.stackTraceLimit = userStackTraceLimit, err.name = `${TypeError.name} [ERR_INVALID_ARG_TYPE]`, err.stack, delete err.name, error.code = \"ERR_INVALID_ARG_TYPE\", error;\n };\n}\nvar validateObject = (value, name, allowArray = !1) => {\n if (value === null || !allowArray && ArrayIsArray(value) || typeof value !== \"object\" && typeof value !== \"function\")\n throw new codes.ERR_INVALID_ARG_TYPE(name, \"Object\", value);\n}, builtInObjects = new SafeSet(ArrayPrototypeFilter(ObjectGetOwnPropertyNames(globalThis), (e) => RegExpPrototypeExec(/^[A-Z][a-zA-Z0-9]+$/, e) !== null)), isUndetectableObject = (v) => typeof v === \"undefined\" && v !== @undefined, ERROR_STACK_OVERFLOW_MSG = \"Maximum call stack size exceeded.\", inspectDefaultOptions = ObjectSeal({\n showHidden: !1,\n depth: 2,\n colors: !1,\n customInspect: !0,\n showProxy: !1,\n maxArrayLength: 100,\n maxStringLength: 1e4,\n breakLength: 80,\n compact: 3,\n sorted: !1,\n getters: !1,\n numericSeparator: !1\n}), inspectReplDefaults = ObjectSeal({\n ...inspectDefaultOptions,\n colors: Bun.enableANSIColors,\n showProxy: !0\n}), kObjectType = 0, kArrayType = 1, kArrayExtrasType = 2, strEscapeSequencesRegExp, strEscapeSequencesReplacer, strEscapeSequencesRegExpSingle, strEscapeSequencesReplacerSingle, extractedSplitNewLines;\ntry {\n strEscapeSequencesRegExp = new RegExp(\"[\\\\x00-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacer = new RegExp(\"[\\0-\\\\x1f\\\\x27\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\"), strEscapeSequencesRegExpSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\"), strEscapeSequencesReplacerSingle = new RegExp(\"[\\\\x00-\\\\x1f\\\\x5c\\\\x7f-\\\\x9f]|[\\\\ud800-\\\\udbff](\?![\\\\udc00-\\\\udfff])|(\?<![\\\\ud800-\\\\udbff])[\\\\udc00-\\\\udfff]\", \"g\");\n const extractedNewLineRe = new RegExp(\"(\?<=\\\\n)\");\n extractedSplitNewLines = (value) => RegExpPrototypeSymbolSplit(extractedNewLineRe, value);\n} catch {\n strEscapeSequencesRegExp = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacer = /[\\x00-\\x1f\\x27\\x5c\\x7f-\\x9f]/g, strEscapeSequencesRegExpSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/, strEscapeSequencesReplacerSingle = /[\\x00-\\x1f\\x5c\\x7f-\\x9f]/g, extractedSplitNewLines = (value) => {\n const lines = RegExpPrototypeSymbolSplit(/\\n/, value), last = ArrayPrototypePop(lines), nlLines = ArrayPrototypeMap(lines, (line) => line + \"\\n\");\n if (last !== \"\")\n nlLines.push(last);\n return nlLines;\n };\n}\nvar keyStrRegExp = /^[a-zA-Z_][a-zA-Z_0-9]*$/, numberRegExp = /^(0|[1-9][0-9]*)$/, coreModuleRegExp = /^ {4}at (\?:[^/\\\\(]+ \\(|)node:(.+):\\d+:\\d+\\)\?$/, nodeModulesRegExp = /[/\\\\]node_modules[/\\\\](.+\?)(\?=[/\\\\])/g, classRegExp = /^(\\s+[^(]*\?)\\s*{/, stripCommentsRegExp = /(\\/\\/.*\?\\n)|(\\/\\*(.|\\n)*\?\\*\\/)/g, kMinLineLength = 16, kWeak = 0, kIterator = 1, kMapEntries = 2, meta = [\n \"\\\\x00\",\n \"\\\\x01\",\n \"\\\\x02\",\n \"\\\\x03\",\n \"\\\\x04\",\n \"\\\\x05\",\n \"\\\\x06\",\n \"\\\\x07\",\n \"\\\\b\",\n \"\\\\t\",\n \"\\\\n\",\n \"\\\\x0B\",\n \"\\\\f\",\n \"\\\\r\",\n \"\\\\x0E\",\n \"\\\\x0F\",\n \"\\\\x10\",\n \"\\\\x11\",\n \"\\\\x12\",\n \"\\\\x13\",\n \"\\\\x14\",\n \"\\\\x15\",\n \"\\\\x16\",\n \"\\\\x17\",\n \"\\\\x18\",\n \"\\\\x19\",\n \"\\\\x1A\",\n \"\\\\x1B\",\n \"\\\\x1C\",\n \"\\\\x1D\",\n \"\\\\x1E\",\n \"\\\\x1F\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\'\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\\\\\\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\\\\x7F\",\n \"\\\\x80\",\n \"\\\\x81\",\n \"\\\\x82\",\n \"\\\\x83\",\n \"\\\\x84\",\n \"\\\\x85\",\n \"\\\\x86\",\n \"\\\\x87\",\n \"\\\\x88\",\n \"\\\\x89\",\n \"\\\\x8A\",\n \"\\\\x8B\",\n \"\\\\x8C\",\n \"\\\\x8D\",\n \"\\\\x8E\",\n \"\\\\x8F\",\n \"\\\\x90\",\n \"\\\\x91\",\n \"\\\\x92\",\n \"\\\\x93\",\n \"\\\\x94\",\n \"\\\\x95\",\n \"\\\\x96\",\n \"\\\\x97\",\n \"\\\\x98\",\n \"\\\\x99\",\n \"\\\\x9A\",\n \"\\\\x9B\",\n \"\\\\x9C\",\n \"\\\\x9D\",\n \"\\\\x9E\",\n \"\\\\x9F\"\n], getStringWidth;\ninspect.custom = customInspectSymbol;\nObjectDefineProperty(inspect, \"defaultOptions\", {\n __proto__: null,\n get() {\n return inspectDefaultOptions;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectDefaultOptions, options);\n }\n});\nObjectDefineProperty(inspect, \"replDefaults\", {\n __proto__: null,\n get() {\n return inspectReplDefaults;\n },\n set(options) {\n return validateObject(options, \"options\"), ObjectAssign(inspectReplDefaults, options);\n }\n});\nvar defaultFG = 39, defaultBG = 49;\ninspect.colors = {\n __proto__: null,\n reset: [0, 0],\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n blink: [5, 25],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n doubleunderline: [21, 24],\n black: [30, defaultFG],\n red: [31, defaultFG],\n green: [32, defaultFG],\n yellow: [33, defaultFG],\n blue: [34, defaultFG],\n magenta: [35, defaultFG],\n cyan: [36, defaultFG],\n white: [37, defaultFG],\n bgBlack: [40, defaultBG],\n bgRed: [41, defaultBG],\n bgGreen: [42, defaultBG],\n bgYellow: [43, defaultBG],\n bgBlue: [44, defaultBG],\n bgMagenta: [45, defaultBG],\n bgCyan: [46, defaultBG],\n bgWhite: [47, defaultBG],\n framed: [51, 54],\n overlined: [53, 55],\n gray: [90, defaultFG],\n redBright: [91, defaultFG],\n greenBright: [92, defaultFG],\n yellowBright: [93, defaultFG],\n blueBright: [94, defaultFG],\n magentaBright: [95, defaultFG],\n cyanBright: [96, defaultFG],\n whiteBright: [97, defaultFG],\n bgGray: [100, defaultBG],\n bgRedBright: [101, defaultBG],\n bgGreenBright: [102, defaultBG],\n bgYellowBright: [103, defaultBG],\n bgBlueBright: [104, defaultBG],\n bgMagentaBright: [105, defaultBG],\n bgCyanBright: [106, defaultBG],\n bgWhiteBright: [107, defaultBG]\n};\ndefineColorAlias(\"gray\", \"grey\");\ndefineColorAlias(\"gray\", \"blackBright\");\ndefineColorAlias(\"bgGray\", \"bgGrey\");\ndefineColorAlias(\"bgGray\", \"bgBlackBright\");\ndefineColorAlias(\"dim\", \"faint\");\ndefineColorAlias(\"strikethrough\", \"crossedout\");\ndefineColorAlias(\"strikethrough\", \"strikeThrough\");\ndefineColorAlias(\"strikethrough\", \"crossedOut\");\ndefineColorAlias(\"hidden\", \"conceal\");\ndefineColorAlias(\"inverse\", \"swapColors\");\ndefineColorAlias(\"inverse\", \"swapcolors\");\ndefineColorAlias(\"doubleunderline\", \"doubleUnderline\");\ninspect.styles = {\n __proto__: null,\n special: \"cyan\",\n number: \"yellow\",\n bigint: \"yellow\",\n boolean: \"yellow\",\n undefined: \"grey\",\n null: \"bold\",\n string: \"green\",\n symbol: \"green\",\n date: \"magenta\",\n regexp: \"red\",\n module: \"underline\"\n};\nvar remainingText = (remaining) => `... ${remaining} more item${remaining > 1 \? \"s\" : \"\"}`, firstErrorLine = (error) => StringPrototypeSplit(error.message, \"\\n\", 1)[0], CIRCULAR_ERROR_MESSAGE;\n{\n getStringWidth = function getStringWidth(str, removeControlChars = !0) {\n let width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize(str, \"NFC\");\n for (let char of new SafeStringIterator(str)) {\n const code = StringPrototypeCodePointAt(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n };\n const isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n };\n}\nvar ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new RegExp(ansiPattern, \"g\");\n$ = {\n inspect,\n format,\n formatWithOptions,\n stripVTControlCharacters\n};\n//! non-standard properties, should these be kept\? (not currently exposed)\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeAssertCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/assert.ts\nvar CallTracker = function() {\n throw new Error(\"CallTracker is not supported yet\");\n}, util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), isDeepEqual = Bun.deepEquals, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_errors = __commonJS({\n \"assert/build/internal/errors.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n var codes = {}, assert, util2;\n function createErrorType(code, message, Base) {\n Base || (Base = Error);\n function getMessage(arg1, arg2, arg3) {\n return typeof message == \"string\" \? message : message(arg1, arg2, arg3);\n }\n var NodeError = function(_Base) {\n _inherits(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n var _this;\n return _classCallCheck(this, NodeError2), _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError2).@call(this, getMessage(arg1, arg2, arg3))), _this.code = code, _this;\n }\n return NodeError2;\n }(Base);\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (@Array.isArray(expected)) {\n var len = expected.length;\n return expected = expected.map(function(i) {\n return @String(i);\n }), len > 2 \? \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(\", \"), \", or \") + expected[len - 1] : len === 2 \? \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]) : \"of \".concat(thing, \" \").concat(expected[0]);\n } else\n return \"of \".concat(thing, \" \").concat(@String(expected));\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 \? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n return typeof start != \"number\" && (start = 0), start + search.length > str.length \? !1 : str.indexOf(search, start) !== -1;\n }\n createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\", 'The \"%s\" argument is ambiguous. %s', TypeError), createErrorType(\"ERR_INVALID_ARG_TYPE\", function(name, expected, actual) {\n assert === void 0 && (assert = require_assert()), assert(typeof name == \"string\", \"'name' must be a string\");\n var determiner;\n typeof expected == \"string\" && startsWith(expected, \"not \") \? (determiner = \"must not be\", expected = expected.replace(/^not /, \"\")) : determiner = \"must be\";\n var msg;\n if (endsWith(name, \" argument\"))\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n else {\n var type = includes(name, \".\") \? \"property\" : \"argument\";\n msg = 'The \"'.concat(name, '\" ').concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n }\n return msg += \". Received type \".concat(_typeof(actual)), msg;\n }, TypeError), createErrorType(\"ERR_INVALID_ARG_VALUE\", function(name, value) {\n var reason = arguments.length > 2 && arguments[2] !== void 0 \? arguments[2] : \"is invalid\", inspected = util2.inspect(value);\n return inspected.length > 128 && (inspected = \"\".concat(inspected.slice(0, 128), \"...\")), \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n }, TypeError, RangeError), createErrorType(\"ERR_INVALID_RETURN_VALUE\", function(input, name, value) {\n var type;\n return value && value.constructor && value.constructor.name \? type = \"instance of \".concat(value.constructor.name) : type = \"type \".concat(_typeof(value)), \"Expected \".concat(input, ' to be returned from the \"').concat(name, '\"') + \" function but got \".concat(type, \".\");\n }, TypeError), createErrorType(\"ERR_MISSING_ARGS\", function() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n assert === void 0 && (assert = require_assert()), assert(args.length > 0, \"At least one arg needs to be specified\");\n var msg = \"The \", len = args.length;\n switch (args = args.map(function(a) {\n return '\"'.concat(a, '\"');\n }), len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n default:\n msg += args.slice(0, len - 1).join(\", \"), msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n return \"\".concat(msg, \" must be specified\");\n }, TypeError), module2.exports.codes = codes;\n }\n}), require_assertion_error = __commonJS({\n \"assert/build/internal/assert/assertion_error.js\"(exports, module2) {\n function _objectSpread(target) {\n for (var i = 1;i < arguments.length; i++) {\n var source = arguments[i] != null \? arguments[i] : {}, ownKeys = Object.keys(source);\n typeof Object.getOwnPropertySymbols == \"function\" && (ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }))), ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n return (key in obj) \? Object.defineProperty(obj, key, {\n value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _defineProperties(target, props) {\n for (var i = 0;i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, (\"value\" in descriptor) && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map == \"function\" \? new Map : void 0;\n return _wrapNativeSuper = function(Class2) {\n if (Class2 === null || !_isNativeFunction(Class2))\n return Class2;\n if (typeof Class2 != \"function\")\n @throwTypeError(\"Super expression must either be null or a function\");\n if (typeof _cache != \"undefined\") {\n if (_cache.has(Class2))\n return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(Class2.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), _setPrototypeOf(Wrapper, Class2);\n }, _wrapNativeSuper(Class);\n }\n function isNativeReflectConstruct() {\n if (typeof Reflect == \"undefined\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Date.prototype.toString.@call(Reflect.construct(Date, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n }\n function _construct(Parent, args, Class) {\n return isNativeReflectConstruct() \? _construct = Reflect.construct : _construct = function(Parent2, args2, Class2) {\n var a = [null];\n a.push.@apply(a, args2);\n var Constructor = Function.bind.@apply(Parent2, a), instance = new Constructor;\n return Class2 && _setPrototypeOf(instance, Class2.prototype), instance;\n }, _construct.@apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n return Function.toString.@call(fn).indexOf(\"[native code]\") !== -1;\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n var inspect = util.inspect, _require2 = require_errors(), ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function repeat(str, count) {\n if (count = Math.floor(count), str.length == 0 || count == 0)\n return \"\";\n var maxCount = str.length * count;\n for (count = Math.floor(Math.log(count) / Math.log(2));count; )\n str += str, count--;\n return str += str.substring(0, maxCount - str.length), str;\n }\n var blue = \"\", green = \"\", red = \"\", white = \"\", kReadableOperator = {\n deepStrictEqual: \"Expected values to be strictly deep-equal:\",\n strictEqual: \"Expected values to be strictly equal:\",\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: \"Expected values to be loosely deep-equal:\",\n equal: \"Expected values to be loosely equal:\",\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: \"Values identical but not reference-equal:\"\n }, kMaxShortLength = 10;\n function copyError(source) {\n var keys = Object.keys(source), target = Object.create(Object.getPrototypeOf(source));\n return keys.forEach(function(key) {\n target[key] = source[key];\n }), Object.defineProperty(target, \"message\", {\n value: source.message\n }), target;\n }\n function inspectValue(val) {\n return inspect(val, {\n compact: !1,\n customInspect: !1,\n depth: 1000,\n maxArrayLength: Infinity,\n showHidden: !1,\n breakLength: Infinity,\n showProxy: !1,\n sorted: !0,\n getters: !0\n });\n }\n function createErrDiff(actual, expected, operator) {\n var other = \"\", res = \"\", lastPos = 0, end = \"\", skipped = !1, actualInspected = inspectValue(actual), actualLines = actualInspected.split(`\n`), expectedLines = inspectValue(expected).split(`\n`), i = 0, indicator = \"\";\n if (operator === \"strictEqual\" && _typeof(actual) === \"object\" && _typeof(expected) === \"object\" && actual !== null && expected !== null && (operator = \"strictEqualObject\"), actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length;\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== \"object\" || actual === null) && (_typeof(expected) !== \"object\" || expected === null) && (actual !== 0 || expected !== 0))\n return \"\".concat(kReadableOperator[operator], `\n\n`) + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], `\n`);\n } else if (operator !== \"strictEqualObject\") {\n var maxLength = process.stderr && process.stderr.isTTY \? process.stderr.columns : 80;\n if (inputLength < maxLength) {\n for (;actualLines[0][i] === expectedLines[0][i]; )\n i++;\n i > 2 && (indicator = `\n `.concat(repeat(\" \", i), \"^\"), i = 0);\n }\n }\n }\n for (var a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];a === b && (i++ < 2 \? end = `\n `.concat(a).concat(end) : other = a, actualLines.pop(), expectedLines.pop(), !(actualLines.length === 0 || expectedLines.length === 0)); )\n a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];\n var maxLines = Math.max(actualLines.length, expectedLines.length);\n if (maxLines === 0) {\n var _actualLines = actualInspected.split(`\n`);\n if (_actualLines.length > 30)\n for (_actualLines[26] = \"\".concat(blue, \"...\").concat(white);_actualLines.length > 27; )\n _actualLines.pop();\n return \"\".concat(kReadableOperator.notIdentical, `\n\n`).concat(_actualLines.join(`\n`), `\n`);\n }\n i > 3 && (end = `\n`.concat(blue, \"...\").concat(white).concat(end), skipped = !0), other !== \"\" && (end = `\n `.concat(other).concat(end), other = \"\");\n var printedLines = 0, msg = kReadableOperator[operator] + `\n`.concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white), skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n for (i = 0;i < maxLines; i++) {\n var cur = i - lastPos;\n if (actualLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(expectedLines[i - 2]), printedLines++), res += `\n `.concat(expectedLines[i - 1]), printedLines++), lastPos = i, other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]), printedLines++;\n else if (expectedLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLines[i]), printedLines++;\n else {\n var expectedLine = expectedLines[i], actualLine = actualLines[i], divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, \",\") || actualLine.slice(0, -1) !== expectedLine);\n divergingLines && endsWith(expectedLine, \",\") && expectedLine.slice(0, -1) === actualLine && (divergingLines = !1, actualLine += \",\"), divergingLines \? (cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLine), other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLine), printedLines += 2) : (res += other, other = \"\", (cur === 1 || i === 0) && (res += `\n `.concat(actualLine), printedLines++));\n }\n if (printedLines > 20 && i < maxLines - 2)\n return \"\".concat(msg).concat(skippedMsg, `\n`).concat(res, `\n`).concat(blue, \"...\").concat(white).concat(other, `\n`) + \"\".concat(blue, \"...\").concat(white);\n }\n return \"\".concat(msg).concat(skipped \? skippedMsg : \"\", `\n`).concat(res).concat(other).concat(end).concat(indicator);\n }\n var AssertionError = function(_Error) {\n function AssertionError2(options) {\n var _this;\n if (_classCallCheck(this, AssertionError2), _typeof(options) !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n var { message, operator, stackStartFn, actual, expected } = options, limit = Error.stackTraceLimit;\n if (Error.stackTraceLimit = 0, message != null)\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, @String(message)));\n else if (process.stderr && process.stderr.isTTY && (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1 \? (blue = \"[34m\", green = \"[32m\", white = \"[39m\", red = \"[31m\") : (blue = \"\", green = \"\", white = \"\", red = \"\")), _typeof(actual) === \"object\" && actual !== null && _typeof(expected) === \"object\" && expected !== null && (\"stack\" in actual) && actual instanceof Error && (\"stack\" in expected) && expected instanceof Error && (actual = copyError(actual), expected = copyError(expected)), operator === \"deepStrictEqual\" || operator === \"strictEqual\")\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, createErrDiff(actual, expected, operator)));\n else if (operator === \"notDeepStrictEqual\" || operator === \"notStrictEqual\") {\n var base = kReadableOperator[operator], res = inspectValue(actual).split(`\n`);\n if (operator === \"notStrictEqual\" && _typeof(actual) === \"object\" && actual !== null && (base = kReadableOperator.notStrictEqualObject), res.length > 30)\n for (res[26] = \"\".concat(blue, \"...\").concat(white);res.length > 27; )\n res.pop();\n res.length === 1 \? _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, \" \").concat(res[0]))) : _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, `\n\n`).concat(res.join(`\n`), `\n`)));\n } else {\n var _res = inspectValue(actual), other = \"\", knownOperators = kReadableOperator[operator];\n operator === \"notDeepEqual\" || operator === \"notEqual\" \? (_res = \"\".concat(kReadableOperator[operator], `\n\n`).concat(_res), _res.length > 1024 && (_res = \"\".concat(_res.slice(0, 1021), \"...\"))) : (other = \"\".concat(inspectValue(expected)), _res.length > 512 && (_res = \"\".concat(_res.slice(0, 509), \"...\")), other.length > 512 && (other = \"\".concat(other.slice(0, 509), \"...\")), operator === \"deepEqual\" || operator === \"equal\" \? _res = \"\".concat(knownOperators, `\n\n`).concat(_res, `\n\nshould equal\n\n`) : other = \" \".concat(operator, \" \").concat(other)), _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(_res).concat(other)));\n }\n return Error.stackTraceLimit = limit, _this.generatedMessage = !message, Object.defineProperty(_assertThisInitialized(_this), \"name\", {\n value: \"AssertionError [ERR_ASSERTION]\",\n enumerable: !1,\n writable: !0,\n configurable: !0\n }), _this.code = \"ERR_ASSERTION\", _this.actual = actual, _this.expected = expected, _this.operator = operator, Error.captureStackTrace && Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn), _this.stack, _this.name = \"AssertionError\", _possibleConstructorReturn(_this);\n }\n return AssertionError2.prototype = {}, _inherits(AssertionError2, _Error), _createClass(AssertionError2, [\n {\n key: \"toString\",\n value: function() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n },\n {\n key: inspect.custom,\n value: function(recurseTimes, ctx) {\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: !1,\n depth: 0\n }));\n }\n }\n ]), AssertionError2;\n }(_wrapNativeSuper(Error));\n module2.exports = AssertionError;\n }\n}), require_assert = __commonJS({\n \"assert/build/assert.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n var _require = require_errors(), _require$codes = _require.codes, ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT, ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE, ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, AssertionError = require_assertion_error(), _require2 = util, inspect = _require2.inspect, _require$types = util.types, isPromise = _require$types.isPromise, isRegExp = _require$types.isRegExp, objectAssign = Object.assign, objectIs = Object.is, errorCache = new Map, warned = !1, assert = module2.exports = ok, NO_EXCEPTION_SENTINEL = {};\n function innerFail(obj) {\n throw obj.message instanceof Error \? obj.message : new AssertionError(obj);\n }\n function fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length, internalMessage;\n if (argsLen === 0)\n internalMessage = \"Failed\";\n else if (argsLen === 1)\n message = actual, actual = void 0;\n else {\n if (warned === !1) {\n warned = !0;\n var warn = process.emitWarning \? process.emitWarning : console.warn.bind(console);\n warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\", \"DeprecationWarning\", \"DEP0094\");\n }\n argsLen === 2 && (operator = \"!=\");\n }\n if (message instanceof Error)\n throw message;\n var errArgs = {\n actual,\n expected,\n operator: operator === void 0 \? \"fail\" : operator,\n stackStartFn: stackStartFn || fail\n };\n message !== void 0 && (errArgs.message = message);\n var err = new AssertionError(errArgs);\n throw internalMessage && (err.message = internalMessage, err.generatedMessage = !0), err;\n }\n assert.fail = fail, assert.AssertionError = AssertionError;\n function innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = !1;\n if (argLen === 0)\n generatedMessage = !0, message = \"No value argument passed to `assert.ok()`\";\n else if (message instanceof Error)\n throw message;\n var err = new AssertionError({\n actual: value,\n expected: !0,\n message,\n operator: \"==\",\n stackStartFn: fn\n });\n throw err.generatedMessage = generatedMessage, err;\n }\n }\n function ok() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n innerOk.@apply(void 0, [ok, args.length].concat(args));\n }\n assert.ok = ok, assert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual != expected && innerFail({\n actual,\n expected,\n message,\n operator: \"==\",\n stackStartFn: equal\n });\n }, assert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual == expected && innerFail({\n actual,\n expected,\n message,\n operator: \"!=\",\n stackStartFn: notEqual\n });\n }, assert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepEqual\",\n stackStartFn: deepEqual\n });\n }, assert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepEqual\",\n stackStartFn: notDeepEqual\n });\n }, assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepStrictEqual\",\n stackStartFn: deepStrictEqual\n });\n }, assert.notDeepStrictEqual = notDeepStrictEqual;\n function notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepStrictEqual\",\n stackStartFn: notDeepStrictEqual\n });\n }\n assert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) || innerFail({\n actual,\n expected,\n message,\n operator: \"strictEqual\",\n stackStartFn: strictEqual\n });\n }, assert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) && innerFail({\n actual,\n expected,\n message,\n operator: \"notStrictEqual\",\n stackStartFn: notStrictEqual\n });\n }, assert.match = function match(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n if (!isRegExp(expected))\n throw new ERR_INVALID_ARG_TYPE(\"expected\", \"RegExp\", expected);\n expected.test(actual) || innerFail({\n actual,\n expected,\n message,\n operator: \"match\",\n stackStartFn: match\n });\n };\n var Comparison = function Comparison2(obj, keys, actual) {\n var _this = this;\n _classCallCheck(this, Comparison2), keys.forEach(function(key) {\n (key in obj) && (actual !== void 0 && typeof actual[key] == \"string\" && isRegExp(obj[key]) && obj[key].test(actual[key]) \? _this[key] = actual[key] : _this[key] = obj[key]);\n });\n };\n function compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepEqual(actual[key], expected[key], !0)) {\n if (!message) {\n var a = new Comparison(actual, keys), b = new Comparison(expected, keys, actual), err = new AssertionError({\n actual: a,\n expected: b,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.actual = actual, err.expected = expected, err.operator = fn.name, err;\n }\n innerFail({\n actual,\n expected,\n message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n }\n function expectedException(actual, expected, msg, fn) {\n if (typeof expected != \"function\") {\n if (isRegExp(expected))\n return expected.test(actual);\n if (arguments.length === 2)\n throw new ERR_INVALID_ARG_TYPE(\"expected\", [\"Function\", \"RegExp\"], expected);\n if (_typeof(actual) !== \"object\" || actual === null) {\n var err = new AssertionError({\n actual,\n expected,\n message: msg,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.operator = fn.name, err;\n }\n var keys = Object.keys(expected);\n if (expected instanceof Error)\n keys.push(\"name\", \"message\");\n else if (keys.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"error\", expected, \"may not be an empty object\");\n return keys.forEach(function(key) {\n return typeof actual[key] == \"string\" && isRegExp(expected[key]) && expected[key].test(actual[key]) || compareExceptionKey(actual, expected, key, msg, keys, fn);\n }), !0;\n }\n return expected.prototype !== void 0 && actual instanceof expected \? !0 : Error.isPrototypeOf(expected) \? !1 : expected.@call({}, actual) === !0;\n }\n function getActual(fn) {\n if (typeof fn != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"fn\", \"Function\", fn);\n try {\n fn();\n } catch (e) {\n return e;\n }\n return NO_EXCEPTION_SENTINEL;\n }\n function checkIsPromise(obj) {\n return isPromise(obj) || obj !== null && _typeof(obj) === \"object\" && typeof obj.then == \"function\" && typeof obj.catch == \"function\";\n }\n function waitForActual(promiseFn) {\n return @Promise.resolve().then(function() {\n var resultPromise;\n if (typeof promiseFn == \"function\") {\n if (resultPromise = promiseFn(), !checkIsPromise(resultPromise))\n throw new ERR_INVALID_RETURN_VALUE(\"instance of Promise\", \"promiseFn\", resultPromise);\n } else if (checkIsPromise(promiseFn))\n resultPromise = promiseFn;\n else\n throw new ERR_INVALID_ARG_TYPE(\"promiseFn\", [\"Function\", \"Promise\"], promiseFn);\n return @Promise.resolve().then(function() {\n return resultPromise;\n }).then(function() {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function(e) {\n return e;\n });\n });\n }\n function expectsError(stackStartFn, actual, error, message) {\n if (typeof error == \"string\") {\n if (arguments.length === 4)\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (_typeof(actual) === \"object\" && actual !== null) {\n if (actual.message === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error message \"'.concat(actual.message, '\" is identical to the message.'));\n } else if (actual === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error \"'.concat(actual, '\" is identical to the message.'));\n message = error, error = void 0;\n } else if (error != null && _typeof(error) !== \"object\" && typeof error != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = \"\";\n error && error.name && (details += \" (\".concat(error.name, \")\")), details += message \? \": \".concat(message) : \".\";\n var fnType = stackStartFn.name === \"rejects\" \? \"rejection\" : \"exception\";\n innerFail({\n actual: void 0,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn\n });\n }\n if (error && !expectedException(actual, error, message, stackStartFn))\n throw actual;\n }\n function expectsNoError(stackStartFn, actual, error, message) {\n if (actual !== NO_EXCEPTION_SENTINEL) {\n if (typeof error == \"string\" && (message = error, error = void 0), !error || expectedException(actual, error)) {\n var details = message \? \": \".concat(message) : \".\", fnType = stackStartFn.name === \"doesNotReject\" \? \"rejection\" : \"exception\";\n innerFail({\n actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, `\n`) + 'Actual message: \"'.concat(actual && actual.message, '\"'),\n stackStartFn\n });\n }\n throw actual;\n }\n }\n assert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new @Array(_len2 > 1 \? _len2 - 1 : 0), _key2 = 1;_key2 < _len2; _key2++)\n args[_key2 - 1] = arguments[_key2];\n expectsError.@apply(void 0, [throws, getActual(promiseFn)].concat(args));\n }, assert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new @Array(_len3 > 1 \? _len3 - 1 : 0), _key3 = 1;_key3 < _len3; _key3++)\n args[_key3 - 1] = arguments[_key3];\n return waitForActual(promiseFn).then(function(result) {\n return expectsError.@apply(void 0, [rejects, result].concat(args));\n });\n }, assert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new @Array(_len4 > 1 \? _len4 - 1 : 0), _key4 = 1;_key4 < _len4; _key4++)\n args[_key4 - 1] = arguments[_key4];\n expectsNoError.@apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n }, assert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new @Array(_len5 > 1 \? _len5 - 1 : 0), _key5 = 1;_key5 < _len5; _key5++)\n args[_key5 - 1] = arguments[_key5];\n return waitForActual(fn).then(function(result) {\n return expectsNoError.@apply(void 0, [doesNotReject, result].concat(args));\n });\n }, assert.ifError = function ifError(err) {\n if (err != null) {\n var message = \"ifError got unwanted exception: \";\n _typeof(err) === \"object\" && typeof err.message == \"string\" \? err.message.length === 0 && err.constructor \? message += err.constructor.name : message += err.message : message += inspect(err);\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: \"ifError\",\n message,\n stackStartFn: ifError\n }), origStack = err.stack;\n if (typeof origStack == \"string\") {\n var tmp2 = origStack.split(`\n`);\n tmp2.shift();\n for (var tmp1 = newErr.stack.split(`\n`), i = 0;i < tmp2.length; i++) {\n var pos = tmp1.indexOf(tmp2[i]);\n if (pos !== -1) {\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n newErr.stack = \"\".concat(tmp1.join(`\n`), `\n`).concat(tmp2.join(`\n`));\n }\n throw newErr;\n }\n };\n function strict() {\n for (var _len6 = arguments.length, args = new @Array(_len6), _key6 = 0;_key6 < _len6; _key6++)\n args[_key6] = arguments[_key6];\n innerOk.@apply(void 0, [strict, args.length].concat(args));\n }\n assert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n }), assert.strict.strict = assert.strict;\n }\n}), assert_module = require_assert();\nassert_module.CallTracker = CallTracker;\nreturn assert_module})\n"); +static constexpr ASCIILiteral NodeAssertCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/assert.ts\nvar CallTracker = function() {\n throw new Error(\"CallTracker is not supported yet\");\n}, util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), isDeepEqual = Bun.deepEquals, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_errors = __commonJS({\n \"assert/build/internal/errors.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n var codes = {}, assert, util2;\n function createErrorType(code, message, Base) {\n Base || (Base = Error);\n function getMessage(arg1, arg2, arg3) {\n return typeof message == \"string\" \? message : message(arg1, arg2, arg3);\n }\n var NodeError = function(_Base) {\n _inherits(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n var _this;\n return _classCallCheck(this, NodeError2), _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError2).@call(this, getMessage(arg1, arg2, arg3))), _this.code = code, _this;\n }\n return NodeError2;\n }(Base);\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (@Array.isArray(expected)) {\n var len = expected.length;\n return expected = expected.map(function(i) {\n return @String(i);\n }), len > 2 \? \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(\", \"), \", or \") + expected[len - 1] : len === 2 \? \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]) : \"of \".concat(thing, \" \").concat(expected[0]);\n } else\n return \"of \".concat(thing, \" \").concat(@String(expected));\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 \? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n return typeof start != \"number\" && (start = 0), start + search.length > str.length \? !1 : str.indexOf(search, start) !== -1;\n }\n createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\", 'The \"%s\" argument is ambiguous. %s', TypeError), createErrorType(\"ERR_INVALID_ARG_TYPE\", function(name, expected, actual) {\n assert === void 0 && (assert = require_assert()), assert(typeof name == \"string\", \"'name' must be a string\");\n var determiner;\n typeof expected == \"string\" && startsWith(expected, \"not \") \? (determiner = \"must not be\", expected = expected.replace(/^not /, \"\")) : determiner = \"must be\";\n var msg;\n if (endsWith(name, \" argument\"))\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n else {\n var type = includes(name, \".\") \? \"property\" : \"argument\";\n msg = 'The \"'.concat(name, '\" ').concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, \"type\"));\n }\n return msg += \". Received type \".concat(_typeof(actual)), msg;\n }, TypeError), createErrorType(\"ERR_INVALID_ARG_VALUE\", function(name, value) {\n var reason = arguments.length > 2 && arguments[2] !== void 0 \? arguments[2] : \"is invalid\", inspected = util2.inspect(value);\n return inspected.length > 128 && (inspected = \"\".concat(inspected.slice(0, 128), \"...\")), \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n }, TypeError, RangeError), createErrorType(\"ERR_INVALID_RETURN_VALUE\", function(input, name, value) {\n var type;\n return value && value.constructor && value.constructor.name \? type = \"instance of \".concat(value.constructor.name) : type = \"type \".concat(_typeof(value)), \"Expected \".concat(input, ' to be returned from the \"').concat(name, '\"') + \" function but got \".concat(type, \".\");\n }, TypeError), createErrorType(\"ERR_MISSING_ARGS\", function() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n assert === void 0 && (assert = require_assert()), assert(args.length > 0, \"At least one arg needs to be specified\");\n var msg = \"The \", len = args.length;\n switch (args = args.map(function(a) {\n return '\"'.concat(a, '\"');\n }), len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n default:\n msg += args.slice(0, len - 1).join(\", \"), msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n return \"\".concat(msg, \" must be specified\");\n }, TypeError), module2.exports.codes = codes;\n }\n}), require_assertion_error = __commonJS({\n \"assert/build/internal/assert/assertion_error.js\"(exports, module2) {\n function _objectSpread(target) {\n for (var i = 1;i < arguments.length; i++) {\n var source = arguments[i] != null \? arguments[i] : {}, ownKeys = Object.keys(source);\n typeof Object.getOwnPropertySymbols == \"function\" && (ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }))), ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n return (key in obj) \? Object.defineProperty(obj, key, {\n value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n function _defineProperties(target, props) {\n for (var i = 0;i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, (\"value\" in descriptor) && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;\n }\n function _possibleConstructorReturn(self, call) {\n return call && (_typeof(call) === \"object\" || typeof call == \"function\") \? call : _assertThisInitialized(self);\n }\n function _assertThisInitialized(self) {\n if (self === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass != \"function\" && superClass !== null)\n @throwTypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: { value: subClass, writable: !0, configurable: !0 }\n }), superClass && _setPrototypeOf(subClass, superClass);\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map == \"function\" \? new Map : void 0;\n return _wrapNativeSuper = function(Class2) {\n if (Class2 === null || !_isNativeFunction(Class2))\n return Class2;\n if (typeof Class2 != \"function\")\n @throwTypeError(\"Super expression must either be null or a function\");\n if (typeof _cache != \"undefined\") {\n if (_cache.has(Class2))\n return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(Class2.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), _setPrototypeOf(Wrapper, Class2);\n }, _wrapNativeSuper(Class);\n }\n function isNativeReflectConstruct() {\n if (typeof Reflect == \"undefined\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Date.prototype.toString.@call(Reflect.construct(Date, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n }\n function _construct(Parent, args, Class) {\n return isNativeReflectConstruct() \? _construct = Reflect.construct : _construct = function(Parent2, args2, Class2) {\n var a = [null];\n a.push.@apply(a, args2);\n var Constructor = Function.bind.@apply(Parent2, a), instance = new Constructor;\n return Class2 && _setPrototypeOf(instance, Class2.prototype), instance;\n }, _construct.@apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n return Function.toString.@call(fn).indexOf(\"[native code]\") !== -1;\n }\n function _setPrototypeOf(o, p) {\n return _setPrototypeOf = Object.setPrototypeOf || function(o2, p2) {\n return o2.__proto__ = p2, o2;\n }, _setPrototypeOf(o, p);\n }\n function _getPrototypeOf(o) {\n return _getPrototypeOf = Object.setPrototypeOf \? Object.getPrototypeOf : function(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n }, _getPrototypeOf(o);\n }\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n var inspect = util.inspect, _require2 = require_errors(), ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n function endsWith(str, search, this_len) {\n return (this_len === void 0 || this_len > str.length) && (this_len = str.length), str.substring(this_len - search.length, this_len) === search;\n }\n function repeat(str, count) {\n if (count = Math.floor(count), str.length == 0 || count == 0)\n return \"\";\n var maxCount = str.length * count;\n for (count = Math.floor(Math.log(count) / Math.log(2));count; )\n str += str, count--;\n return str += str.substring(0, maxCount - str.length), str;\n }\n var blue = \"\", green = \"\", red = \"\", white = \"\", kReadableOperator = {\n deepStrictEqual: \"Expected values to be strictly deep-equal:\",\n strictEqual: \"Expected values to be strictly equal:\",\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: \"Expected values to be loosely deep-equal:\",\n equal: \"Expected values to be loosely equal:\",\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: \"Values identical but not reference-equal:\"\n }, kMaxShortLength = 10;\n function copyError(source) {\n var keys = Object.keys(source), target = Object.create(Object.getPrototypeOf(source));\n return keys.forEach(function(key) {\n target[key] = source[key];\n }), Object.defineProperty(target, \"message\", {\n value: source.message\n }), target;\n }\n function inspectValue(val) {\n return inspect(val, {\n compact: !1,\n customInspect: !1,\n depth: 1000,\n maxArrayLength: Infinity,\n showHidden: !1,\n breakLength: Infinity,\n showProxy: !1,\n sorted: !0,\n getters: !0\n });\n }\n function createErrDiff(actual, expected, operator) {\n var other = \"\", res = \"\", lastPos = 0, end = \"\", skipped = !1, actualInspected = inspectValue(actual), actualLines = actualInspected.split(`\n`), expectedLines = inspectValue(expected).split(`\n`), i = 0, indicator = \"\";\n if (operator === \"strictEqual\" && _typeof(actual) === \"object\" && _typeof(expected) === \"object\" && actual !== null && expected !== null && (operator = \"strictEqualObject\"), actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length;\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== \"object\" || actual === null) && (_typeof(expected) !== \"object\" || expected === null) && (actual !== 0 || expected !== 0))\n return \"\".concat(kReadableOperator[operator], `\n\n`) + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], `\n`);\n } else if (operator !== \"strictEqualObject\") {\n var maxLength = process.stderr && process.stderr.isTTY \? process.stderr.columns : 80;\n if (inputLength < maxLength) {\n for (;actualLines[0][i] === expectedLines[0][i]; )\n i++;\n i > 2 && (indicator = `\n `.concat(repeat(\" \", i), \"^\"), i = 0);\n }\n }\n }\n for (var a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];a === b && (i++ < 2 \? end = `\n `.concat(a).concat(end) : other = a, actualLines.pop(), expectedLines.pop(), !(actualLines.length === 0 || expectedLines.length === 0)); )\n a = actualLines[actualLines.length - 1], b = expectedLines[expectedLines.length - 1];\n var maxLines = Math.max(actualLines.length, expectedLines.length);\n if (maxLines === 0) {\n var _actualLines = actualInspected.split(`\n`);\n if (_actualLines.length > 30)\n for (_actualLines[26] = \"\".concat(blue, \"...\").concat(white);_actualLines.length > 27; )\n _actualLines.pop();\n return \"\".concat(kReadableOperator.notIdentical, `\n\n`).concat(_actualLines.join(`\n`), `\n`);\n }\n i > 3 && (end = `\n`.concat(blue, \"...\").concat(white).concat(end), skipped = !0), other !== \"\" && (end = `\n `.concat(other).concat(end), other = \"\");\n var printedLines = 0, msg = kReadableOperator[operator] + `\n`.concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white), skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n for (i = 0;i < maxLines; i++) {\n var cur = i - lastPos;\n if (actualLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(expectedLines[i - 2]), printedLines++), res += `\n `.concat(expectedLines[i - 1]), printedLines++), lastPos = i, other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]), printedLines++;\n else if (expectedLines.length < i + 1)\n cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLines[i]), printedLines++;\n else {\n var expectedLine = expectedLines[i], actualLine = actualLines[i], divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, \",\") || actualLine.slice(0, -1) !== expectedLine);\n divergingLines && endsWith(expectedLine, \",\") && expectedLine.slice(0, -1) === actualLine && (divergingLines = !1, actualLine += \",\"), divergingLines \? (cur > 1 && i > 2 && (cur > 4 \? (res += `\n`.concat(blue, \"...\").concat(white), skipped = !0) : cur > 3 && (res += `\n `.concat(actualLines[i - 2]), printedLines++), res += `\n `.concat(actualLines[i - 1]), printedLines++), lastPos = i, res += `\n`.concat(green, \"+\").concat(white, \" \").concat(actualLine), other += `\n`.concat(red, \"-\").concat(white, \" \").concat(expectedLine), printedLines += 2) : (res += other, other = \"\", (cur === 1 || i === 0) && (res += `\n `.concat(actualLine), printedLines++));\n }\n if (printedLines > 20 && i < maxLines - 2)\n return \"\".concat(msg).concat(skippedMsg, `\n`).concat(res, `\n`).concat(blue, \"...\").concat(white).concat(other, `\n`) + \"\".concat(blue, \"...\").concat(white);\n }\n return \"\".concat(msg).concat(skipped \? skippedMsg : \"\", `\n`).concat(res).concat(other).concat(end).concat(indicator);\n }\n var AssertionError = function(_Error) {\n function AssertionError2(options) {\n var _this;\n if (_classCallCheck(this, AssertionError2), _typeof(options) !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n var { message, operator, stackStartFn, actual, expected } = options, limit = Error.stackTraceLimit;\n if (Error.stackTraceLimit = 0, message != null)\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, @String(message)));\n else if (process.stderr && process.stderr.isTTY && (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1 \? (blue = \"[34m\", green = \"[32m\", white = \"[39m\", red = \"[31m\") : (blue = \"\", green = \"\", white = \"\", red = \"\")), _typeof(actual) === \"object\" && actual !== null && _typeof(expected) === \"object\" && expected !== null && (\"stack\" in actual) && actual instanceof Error && (\"stack\" in expected) && expected instanceof Error && (actual = copyError(actual), expected = copyError(expected)), operator === \"deepStrictEqual\" || operator === \"strictEqual\")\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, createErrDiff(actual, expected, operator)));\n else if (operator === \"notDeepStrictEqual\" || operator === \"notStrictEqual\") {\n var base = kReadableOperator[operator], res = inspectValue(actual).split(`\n`);\n if (operator === \"notStrictEqual\" && _typeof(actual) === \"object\" && actual !== null && (base = kReadableOperator.notStrictEqualObject), res.length > 30)\n for (res[26] = \"\".concat(blue, \"...\").concat(white);res.length > 27; )\n res.pop();\n res.length === 1 \? _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, \" \").concat(res[0]))) : _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(base, `\n\n`).concat(res.join(`\n`), `\n`)));\n } else {\n var _res = inspectValue(actual), other = \"\", knownOperators = kReadableOperator[operator];\n operator === \"notDeepEqual\" || operator === \"notEqual\" \? (_res = \"\".concat(kReadableOperator[operator], `\n\n`).concat(_res), _res.length > 1024 && (_res = \"\".concat(_res.slice(0, 1021), \"...\"))) : (other = \"\".concat(inspectValue(expected)), _res.length > 512 && (_res = \"\".concat(_res.slice(0, 509), \"...\")), other.length > 512 && (other = \"\".concat(other.slice(0, 509), \"...\")), operator === \"deepEqual\" || operator === \"equal\" \? _res = \"\".concat(knownOperators, `\n\n`).concat(_res, `\n\nshould equal\n\n`) : other = \" \".concat(operator, \" \").concat(other)), _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError2).@call(this, \"\".concat(_res).concat(other)));\n }\n return Error.stackTraceLimit = limit, _this.generatedMessage = !message, Object.defineProperty(_assertThisInitialized(_this), \"name\", {\n value: \"AssertionError [ERR_ASSERTION]\",\n enumerable: !1,\n writable: !0,\n configurable: !0\n }), _this.code = \"ERR_ASSERTION\", _this.actual = actual, _this.expected = expected, _this.operator = operator, Error.captureStackTrace && Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn), _this.stack, _this.name = \"AssertionError\", _possibleConstructorReturn(_this);\n }\n return AssertionError2.prototype = {}, _inherits(AssertionError2, _Error), _createClass(AssertionError2, [\n {\n key: \"toString\",\n value: function() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n },\n {\n key: inspect.custom,\n value: function(recurseTimes, ctx) {\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: !1,\n depth: 0\n }));\n }\n }\n ]), AssertionError2;\n }(_wrapNativeSuper(Error));\n module2.exports = AssertionError;\n }\n}), require_assert = __commonJS({\n \"assert/build/assert.js\"(exports, module2) {\n function _typeof(obj) {\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" \? _typeof = function(obj2) {\n return typeof obj2;\n } : _typeof = function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype \? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor))\n @throwTypeError(\"Cannot call a class as a function\");\n }\n var _require = require_errors(), _require$codes = _require.codes, ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT, ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE, ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, AssertionError = require_assertion_error(), _require2 = util, inspect = _require2.inspect, _require$types = util.types, isPromise = _require$types.isPromise, isRegExp = _require$types.isRegExp, objectAssign = Object.assign, objectIs = Object.is, errorCache = new Map, warned = !1, assert = module2.exports = ok, NO_EXCEPTION_SENTINEL = {};\n function innerFail(obj) {\n throw obj.message instanceof Error \? obj.message : new AssertionError(obj);\n }\n function fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length, internalMessage;\n if (argsLen === 0)\n internalMessage = \"Failed\";\n else if (argsLen === 1)\n message = actual, actual = void 0;\n else {\n if (warned === !1) {\n warned = !0;\n var warn = process.emitWarning \? process.emitWarning : console.warn.bind(console);\n warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\", \"DeprecationWarning\", \"DEP0094\");\n }\n argsLen === 2 && (operator = \"!=\");\n }\n if (message instanceof Error)\n throw message;\n var errArgs = {\n actual,\n expected,\n operator: operator === void 0 \? \"fail\" : operator,\n stackStartFn: stackStartFn || fail\n };\n message !== void 0 && (errArgs.message = message);\n var err = new AssertionError(errArgs);\n throw internalMessage && (err.message = internalMessage, err.generatedMessage = !0), err;\n }\n assert.fail = fail, assert.AssertionError = AssertionError;\n function innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = !1;\n if (argLen === 0)\n generatedMessage = !0, message = \"No value argument passed to `assert.ok()`\";\n else if (message instanceof Error)\n throw message;\n var err = new AssertionError({\n actual: value,\n expected: !0,\n message,\n operator: \"==\",\n stackStartFn: fn\n });\n throw err.generatedMessage = generatedMessage, err;\n }\n }\n function ok() {\n for (var _len = arguments.length, args = new @Array(_len), _key = 0;_key < _len; _key++)\n args[_key] = arguments[_key];\n innerOk.@apply(void 0, [ok, args.length].concat(args));\n }\n assert.ok = ok, assert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual != expected && innerFail({\n actual,\n expected,\n message,\n operator: \"==\",\n stackStartFn: equal\n });\n }, assert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n actual == expected && innerFail({\n actual,\n expected,\n message,\n operator: \"!=\",\n stackStartFn: notEqual\n });\n }, assert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepEqual\",\n stackStartFn: deepEqual\n });\n }, assert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !1) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepEqual\",\n stackStartFn: notDeepEqual\n });\n }, assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) || innerFail({\n actual,\n expected,\n message,\n operator: \"deepStrictEqual\",\n stackStartFn: deepStrictEqual\n });\n }, assert.notDeepStrictEqual = notDeepStrictEqual;\n function notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n isDeepEqual(actual, expected, !0) && innerFail({\n actual,\n expected,\n message,\n operator: \"notDeepStrictEqual\",\n stackStartFn: notDeepStrictEqual\n });\n }\n assert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) || innerFail({\n actual,\n expected,\n message,\n operator: \"strictEqual\",\n stackStartFn: strictEqual\n });\n }, assert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n objectIs(actual, expected) && innerFail({\n actual,\n expected,\n message,\n operator: \"notStrictEqual\",\n stackStartFn: notStrictEqual\n });\n }, assert.match = function match(actual, expected, message) {\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS(\"actual\", \"expected\");\n if (!isRegExp(expected))\n throw new ERR_INVALID_ARG_TYPE(\"expected\", \"RegExp\", expected);\n expected.test(actual) || innerFail({\n actual,\n expected,\n message,\n operator: \"match\",\n stackStartFn: match\n });\n };\n var Comparison = function Comparison2(obj, keys, actual) {\n var _this = this;\n _classCallCheck(this, Comparison2), keys.forEach(function(key) {\n (key in obj) && (actual !== void 0 && typeof actual[key] == \"string\" && isRegExp(obj[key]) && obj[key].test(actual[key]) \? _this[key] = actual[key] : _this[key] = obj[key]);\n });\n };\n function compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepEqual(actual[key], expected[key], !0)) {\n if (!message) {\n var a = new Comparison(actual, keys), b = new Comparison(expected, keys, actual), err = new AssertionError({\n actual: a,\n expected: b,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.actual = actual, err.expected = expected, err.operator = fn.name, err;\n }\n innerFail({\n actual,\n expected,\n message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n }\n function expectedException(actual, expected, msg, fn) {\n if (typeof expected != \"function\") {\n if (isRegExp(expected))\n return expected.test(actual);\n if (arguments.length === 2)\n throw new ERR_INVALID_ARG_TYPE(\"expected\", [\"Function\", \"RegExp\"], expected);\n if (_typeof(actual) !== \"object\" || actual === null) {\n var err = new AssertionError({\n actual,\n expected,\n message: msg,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n throw err.operator = fn.name, err;\n }\n var keys = Object.keys(expected);\n if (expected instanceof Error)\n keys.push(\"name\", \"message\");\n else if (keys.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"error\", expected, \"may not be an empty object\");\n return keys.forEach(function(key) {\n return typeof actual[key] == \"string\" && isRegExp(expected[key]) && expected[key].test(actual[key]) || compareExceptionKey(actual, expected, key, msg, keys, fn);\n }), !0;\n }\n return expected.prototype !== void 0 && actual instanceof expected \? !0 : Error.isPrototypeOf(expected) \? !1 : expected.@call({}, actual) === !0;\n }\n function getActual(fn) {\n if (typeof fn != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"fn\", \"Function\", fn);\n try {\n fn();\n } catch (e) {\n return e;\n }\n return NO_EXCEPTION_SENTINEL;\n }\n function checkIsPromise(obj) {\n return isPromise(obj) || obj !== null && _typeof(obj) === \"object\" && typeof obj.then == \"function\" && typeof obj.catch == \"function\";\n }\n function waitForActual(promiseFn) {\n return @Promise.resolve().then(function() {\n var resultPromise;\n if (typeof promiseFn == \"function\") {\n if (resultPromise = promiseFn(), !checkIsPromise(resultPromise))\n throw new ERR_INVALID_RETURN_VALUE(\"instance of Promise\", \"promiseFn\", resultPromise);\n } else if (checkIsPromise(promiseFn))\n resultPromise = promiseFn;\n else\n throw new ERR_INVALID_ARG_TYPE(\"promiseFn\", [\"Function\", \"Promise\"], promiseFn);\n return @Promise.resolve().then(function() {\n return resultPromise;\n }).then(function() {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function(e) {\n return e;\n });\n });\n }\n function expectsError(stackStartFn, actual, error, message) {\n if (typeof error == \"string\") {\n if (arguments.length === 4)\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (_typeof(actual) === \"object\" && actual !== null) {\n if (actual.message === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error message \"'.concat(actual.message, '\" is identical to the message.'));\n } else if (actual === error)\n throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error \"'.concat(actual, '\" is identical to the message.'));\n message = error, error = void 0;\n } else if (error != null && _typeof(error) !== \"object\" && typeof error != \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"error\", [\"Object\", \"Error\", \"Function\", \"RegExp\"], error);\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = \"\";\n error && error.name && (details += \" (\".concat(error.name, \")\")), details += message \? \": \".concat(message) : \".\";\n var fnType = stackStartFn.name === \"rejects\" \? \"rejection\" : \"exception\";\n innerFail({\n actual: void 0,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn\n });\n }\n if (error && !expectedException(actual, error, message, stackStartFn))\n throw actual;\n }\n function expectsNoError(stackStartFn, actual, error, message) {\n if (actual !== NO_EXCEPTION_SENTINEL) {\n if (typeof error == \"string\" && (message = error, error = void 0), !error || expectedException(actual, error)) {\n var details = message \? \": \".concat(message) : \".\", fnType = stackStartFn.name === \"doesNotReject\" \? \"rejection\" : \"exception\";\n innerFail({\n actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, `\n`) + 'Actual message: \"'.concat(actual && actual.message, '\"'),\n stackStartFn\n });\n }\n throw actual;\n }\n }\n assert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new @Array(_len2 > 1 \? _len2 - 1 : 0), _key2 = 1;_key2 < _len2; _key2++)\n args[_key2 - 1] = arguments[_key2];\n expectsError.@apply(void 0, [throws, getActual(promiseFn)].concat(args));\n }, assert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new @Array(_len3 > 1 \? _len3 - 1 : 0), _key3 = 1;_key3 < _len3; _key3++)\n args[_key3 - 1] = arguments[_key3];\n return waitForActual(promiseFn).then(function(result) {\n return expectsError.@apply(void 0, [rejects, result].concat(args));\n });\n }, assert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new @Array(_len4 > 1 \? _len4 - 1 : 0), _key4 = 1;_key4 < _len4; _key4++)\n args[_key4 - 1] = arguments[_key4];\n expectsNoError.@apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n }, assert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new @Array(_len5 > 1 \? _len5 - 1 : 0), _key5 = 1;_key5 < _len5; _key5++)\n args[_key5 - 1] = arguments[_key5];\n return waitForActual(fn).then(function(result) {\n return expectsNoError.@apply(void 0, [doesNotReject, result].concat(args));\n });\n }, assert.ifError = function ifError(err) {\n if (err != null) {\n var message = \"ifError got unwanted exception: \";\n _typeof(err) === \"object\" && typeof err.message == \"string\" \? err.message.length === 0 && err.constructor \? message += err.constructor.name : message += err.message : message += inspect(err);\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: \"ifError\",\n message,\n stackStartFn: ifError\n }), origStack = err.stack;\n if (typeof origStack == \"string\") {\n var tmp2 = origStack.split(`\n`);\n tmp2.shift();\n for (var tmp1 = newErr.stack.split(`\n`), i = 0;i < tmp2.length; i++) {\n var pos = tmp1.indexOf(tmp2[i]);\n if (pos !== -1) {\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n newErr.stack = \"\".concat(tmp1.join(`\n`), `\n`).concat(tmp2.join(`\n`));\n }\n throw newErr;\n }\n };\n function strict() {\n for (var _len6 = arguments.length, args = new @Array(_len6), _key6 = 0;_key6 < _len6; _key6++)\n args[_key6] = arguments[_key6];\n innerOk.@apply(void 0, [strict, args.length].concat(args));\n }\n assert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n }), assert.strict.strict = assert.strict;\n }\n}), assert_module = require_assert();\nassert_module.CallTracker = CallTracker;\nreturn assert_module})\n"); // // -static constexpr ASCIILiteral NodeAssertStrictCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/assert.strict.ts\nreturn (@getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8)).strict})\n"); +static constexpr ASCIILiteral NodeAssertStrictCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/assert.strict.ts\nreturn (@getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8)).strict})\n"); // // -static constexpr ASCIILiteral NodeAsyncHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/async_hooks.ts\nvar get = function() {\n return @getInternalField(@asyncContext, 0);\n}, set = function(contextValue) {\n return @putInternalField(@asyncContext, 0, contextValue);\n}, createWarning = function(message) {\n let warned = !1;\n var wrapped = function() {\n if (warned)\n return;\n if (new Error().stack.includes(\"zx/build/core.js\"))\n return;\n warned = !0, console.warn(\"[bun] Warning:\", message);\n };\n return wrapped;\n}, createHook = function(callbacks) {\n return {\n enable: createHookNotImpl,\n disable: createHookNotImpl\n };\n}, executionAsyncId = function() {\n return executionAsyncIdNotImpl(), 0;\n}, triggerAsyncId = function() {\n return 0;\n}, executionAsyncResource = function() {\n return executionAsyncResourceWarning(), process.stdin;\n}, $, { cleanupLater, setAsyncHooksEnabled } = @lazy(\"async_hooks\");\n\nclass AsyncLocalStorage {\n #disableCalled = !1;\n constructor() {\n setAsyncHooksEnabled(!0);\n }\n static bind(fn, ...args) {\n return this.snapshot().bind(null, fn, ...args);\n }\n static snapshot() {\n var context = get();\n return (fn, ...args) => {\n var prev = get();\n set(context);\n try {\n return fn(...args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n };\n }\n enterWith(store) {\n cleanupLater();\n var context = get();\n if (!context) {\n set([this, store]);\n return;\n }\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n const clone = context.slice();\n clone[i + 1] = store, set(clone);\n return;\n }\n set(context.concat(this, store));\n }\n exit(cb, ...args) {\n return this.run(@undefined, cb, ...args);\n }\n run(store_value, callback, ...args) {\n var context = get(), hasPrevious = !1, previous_value, i = 0, contextWasAlreadyInit = !context;\n if (contextWasAlreadyInit)\n set(context = [this, store_value]);\n else {\n if (context = context.slice(), i = context.indexOf(this), i > -1)\n hasPrevious = !0, previous_value = context[i + 1], context[i + 1] = store_value;\n else\n i = context.length, context.push(this, store_value);\n set(context);\n }\n try {\n return callback(...args);\n } catch (e) {\n throw e;\n } finally {\n if (!this.#disableCalled) {\n var context2 = get();\n if (context2 === context && contextWasAlreadyInit)\n set(@undefined);\n else if (context2 = context2.slice(), hasPrevious)\n context2[i + 1] = previous_value, set(context2);\n else\n context2.splice(i, 2), set(context2.length \? context2 : @undefined);\n }\n }\n }\n disable() {\n if (!this.#disableCalled) {\n var context = get();\n if (context) {\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n context.splice(i, 2), set(context.length \? context : @undefined);\n break;\n }\n }\n this.#disableCalled = !0;\n }\n }\n getStore() {\n var context = get();\n if (!context)\n return;\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this)\n return context[i + 1];\n }\n}\n\nclass AsyncResource {\n type;\n #snapshot;\n constructor(type, options) {\n if (typeof type !== \"string\")\n @throwTypeError('The \"type\" argument must be of type string. Received type ' + typeof type);\n setAsyncHooksEnabled(!0), this.type = type, this.#snapshot = get();\n }\n emitBefore() {\n return !0;\n }\n emitAfter() {\n return !0;\n }\n asyncId() {\n return 0;\n }\n triggerAsyncId() {\n return 0;\n }\n emitDestroy() {\n }\n runInAsyncScope(fn, thisArg, ...args) {\n var prev = get();\n set(this.#snapshot);\n try {\n return fn.@apply(thisArg, args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n }\n bind(fn, thisArg) {\n return this.runInAsyncScope.bind(this, fn, thisArg \?\? this);\n }\n static bind(fn, type, thisArg) {\n return type = type || fn.name, new AsyncResource(type || \"bound-anonymous-fn\").bind(fn, thisArg);\n }\n}\nvar createHookNotImpl = createWarning(\"async_hooks.createHook is not implemented in Bun. Hooks can still be created but will never be called.\"), executionAsyncIdNotImpl = createWarning(\"async_hooks.executionAsyncId/triggerAsyncId are not implemented in Bun. It will return 0 every time.\"), executionAsyncResourceWarning = createWarning(\"async_hooks.executionAsyncResource is not implemented in Bun. It returns a reference to process.stdin every time.\"), asyncWrapProviders = {\n NONE: 0,\n DIRHANDLE: 1,\n DNSCHANNEL: 2,\n ELDHISTOGRAM: 3,\n FILEHANDLE: 4,\n FILEHANDLECLOSEREQ: 5,\n FIXEDSIZEBLOBCOPY: 6,\n FSEVENTWRAP: 7,\n FSREQCALLBACK: 8,\n FSREQPROMISE: 9,\n GETADDRINFOREQWRAP: 10,\n GETNAMEINFOREQWRAP: 11,\n HEAPSNAPSHOT: 12,\n HTTP2SESSION: 13,\n HTTP2STREAM: 14,\n HTTP2PING: 15,\n HTTP2SETTINGS: 16,\n HTTPINCOMINGMESSAGE: 17,\n HTTPCLIENTREQUEST: 18,\n JSSTREAM: 19,\n JSUDPWRAP: 20,\n MESSAGEPORT: 21,\n PIPECONNECTWRAP: 22,\n PIPESERVERWRAP: 23,\n PIPEWRAP: 24,\n PROCESSWRAP: 25,\n PROMISE: 26,\n QUERYWRAP: 27,\n SHUTDOWNWRAP: 28,\n SIGNALWRAP: 29,\n STATWATCHER: 30,\n STREAMPIPE: 31,\n TCPCONNECTWRAP: 32,\n TCPSERVERWRAP: 33,\n TCPWRAP: 34,\n TTYWRAP: 35,\n UDPSENDWRAP: 36,\n UDPWRAP: 37,\n SIGINTWATCHDOG: 38,\n WORKER: 39,\n WORKERHEAPSNAPSHOT: 40,\n WRITEWRAP: 41,\n ZLIB: 42,\n CHECKPRIMEREQUEST: 43,\n PBKDF2REQUEST: 44,\n KEYPAIRGENREQUEST: 45,\n KEYGENREQUEST: 46,\n KEYEXPORTREQUEST: 47,\n CIPHERREQUEST: 48,\n DERIVEBITSREQUEST: 49,\n HASHREQUEST: 50,\n RANDOMBYTESREQUEST: 51,\n RANDOMPRIMEREQUEST: 52,\n SCRYPTREQUEST: 53,\n SIGNREQUEST: 54,\n TLSWRAP: 55,\n VERIFYREQUEST: 56,\n INSPECTORJSBINDING: 57\n};\n$ = {\n AsyncLocalStorage,\n createHook,\n executionAsyncId,\n triggerAsyncId,\n executionAsyncResource,\n asyncWrapProviders,\n AsyncResource\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeAsyncHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/async_hooks.ts\nvar get = function() {\n return @getInternalField(@asyncContext, 0);\n}, set = function(contextValue) {\n return @putInternalField(@asyncContext, 0, contextValue);\n}, createWarning = function(message) {\n let warned = !1;\n var wrapped = function() {\n if (warned)\n return;\n if (new Error().stack.includes(\"zx/build/core.js\"))\n return;\n warned = !0, console.warn(\"[bun] Warning:\", message);\n };\n return wrapped;\n}, createHook = function(callbacks) {\n return {\n enable: createHookNotImpl,\n disable: createHookNotImpl\n };\n}, executionAsyncId = function() {\n return executionAsyncIdNotImpl(), 0;\n}, triggerAsyncId = function() {\n return 0;\n}, executionAsyncResource = function() {\n return executionAsyncResourceWarning(), process.stdin;\n}, $, { cleanupLater, setAsyncHooksEnabled } = @lazy(\"async_hooks\");\n\nclass AsyncLocalStorage {\n #disableCalled = !1;\n constructor() {\n setAsyncHooksEnabled(!0);\n }\n static bind(fn, ...args) {\n return this.snapshot().bind(null, fn, ...args);\n }\n static snapshot() {\n var context = get();\n return (fn, ...args) => {\n var prev = get();\n set(context);\n try {\n return fn(...args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n };\n }\n enterWith(store) {\n cleanupLater();\n var context = get();\n if (!context) {\n set([this, store]);\n return;\n }\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n const clone = context.slice();\n clone[i + 1] = store, set(clone);\n return;\n }\n set(context.concat(this, store));\n }\n exit(cb, ...args) {\n return this.run(@undefined, cb, ...args);\n }\n run(store_value, callback, ...args) {\n var context = get(), hasPrevious = !1, previous_value, i = 0, contextWasAlreadyInit = !context;\n if (contextWasAlreadyInit)\n set(context = [this, store_value]);\n else {\n if (context = context.slice(), i = context.indexOf(this), i > -1)\n hasPrevious = !0, previous_value = context[i + 1], context[i + 1] = store_value;\n else\n i = context.length, context.push(this, store_value);\n set(context);\n }\n try {\n return callback(...args);\n } catch (e) {\n throw e;\n } finally {\n if (!this.#disableCalled) {\n var context2 = get();\n if (context2 === context && contextWasAlreadyInit)\n set(@undefined);\n else if (context2 = context2.slice(), hasPrevious)\n context2[i + 1] = previous_value, set(context2);\n else\n context2.splice(i, 2), set(context2.length \? context2 : @undefined);\n }\n }\n }\n disable() {\n if (!this.#disableCalled) {\n var context = get();\n if (context) {\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this) {\n context.splice(i, 2), set(context.length \? context : @undefined);\n break;\n }\n }\n this.#disableCalled = !0;\n }\n }\n getStore() {\n var context = get();\n if (!context)\n return;\n var { length } = context;\n for (var i = 0;i < length; i += 2)\n if (context[i] === this)\n return context[i + 1];\n }\n}\n\nclass AsyncResource {\n type;\n #snapshot;\n constructor(type, options) {\n if (typeof type !== \"string\")\n @throwTypeError('The \"type\" argument must be of type string. Received type ' + typeof type);\n setAsyncHooksEnabled(!0), this.type = type, this.#snapshot = get();\n }\n emitBefore() {\n return !0;\n }\n emitAfter() {\n return !0;\n }\n asyncId() {\n return 0;\n }\n triggerAsyncId() {\n return 0;\n }\n emitDestroy() {\n }\n runInAsyncScope(fn, thisArg, ...args) {\n var prev = get();\n set(this.#snapshot);\n try {\n return fn.@apply(thisArg, args);\n } catch (error) {\n throw error;\n } finally {\n set(prev);\n }\n }\n bind(fn, thisArg) {\n return this.runInAsyncScope.bind(this, fn, thisArg \?\? this);\n }\n static bind(fn, type, thisArg) {\n return type = type || fn.name, new AsyncResource(type || \"bound-anonymous-fn\").bind(fn, thisArg);\n }\n}\nvar createHookNotImpl = createWarning(\"async_hooks.createHook is not implemented in Bun. Hooks can still be created but will never be called.\"), executionAsyncIdNotImpl = createWarning(\"async_hooks.executionAsyncId/triggerAsyncId are not implemented in Bun. It will return 0 every time.\"), executionAsyncResourceWarning = createWarning(\"async_hooks.executionAsyncResource is not implemented in Bun. It returns a reference to process.stdin every time.\"), asyncWrapProviders = {\n NONE: 0,\n DIRHANDLE: 1,\n DNSCHANNEL: 2,\n ELDHISTOGRAM: 3,\n FILEHANDLE: 4,\n FILEHANDLECLOSEREQ: 5,\n FIXEDSIZEBLOBCOPY: 6,\n FSEVENTWRAP: 7,\n FSREQCALLBACK: 8,\n FSREQPROMISE: 9,\n GETADDRINFOREQWRAP: 10,\n GETNAMEINFOREQWRAP: 11,\n HEAPSNAPSHOT: 12,\n HTTP2SESSION: 13,\n HTTP2STREAM: 14,\n HTTP2PING: 15,\n HTTP2SETTINGS: 16,\n HTTPINCOMINGMESSAGE: 17,\n HTTPCLIENTREQUEST: 18,\n JSSTREAM: 19,\n JSUDPWRAP: 20,\n MESSAGEPORT: 21,\n PIPECONNECTWRAP: 22,\n PIPESERVERWRAP: 23,\n PIPEWRAP: 24,\n PROCESSWRAP: 25,\n PROMISE: 26,\n QUERYWRAP: 27,\n SHUTDOWNWRAP: 28,\n SIGNALWRAP: 29,\n STATWATCHER: 30,\n STREAMPIPE: 31,\n TCPCONNECTWRAP: 32,\n TCPSERVERWRAP: 33,\n TCPWRAP: 34,\n TTYWRAP: 35,\n UDPSENDWRAP: 36,\n UDPWRAP: 37,\n SIGINTWATCHDOG: 38,\n WORKER: 39,\n WORKERHEAPSNAPSHOT: 40,\n WRITEWRAP: 41,\n ZLIB: 42,\n CHECKPRIMEREQUEST: 43,\n PBKDF2REQUEST: 44,\n KEYPAIRGENREQUEST: 45,\n KEYGENREQUEST: 46,\n KEYEXPORTREQUEST: 47,\n CIPHERREQUEST: 48,\n DERIVEBITSREQUEST: 49,\n HASHREQUEST: 50,\n RANDOMBYTESREQUEST: 51,\n RANDOMPRIMEREQUEST: 52,\n SCRYPTREQUEST: 53,\n SIGNREQUEST: 54,\n TLSWRAP: 55,\n VERIFYREQUEST: 56,\n INSPECTORJSBINDING: 57\n};\n$ = {\n AsyncLocalStorage,\n createHook,\n executionAsyncId,\n triggerAsyncId,\n executionAsyncResource,\n asyncWrapProviders,\n AsyncResource\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeChildProcessCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/child_process.ts\nvar spawn = function(file, args, options) {\n options = normalizeSpawnArguments(file, args, options), validateTimeout(options.timeout), validateAbortSignal(options.signal, \"options.signal\");\n const killSignal2 = sanitizeKillSignal(options.killSignal), child = new ChildProcess;\n if (child.spawn(options), options.timeout > 0) {\n let timeoutId = setTimeout(() => {\n if (timeoutId) {\n try {\n child.kill(killSignal2);\n } catch (err) {\n child.emit(\"error\", err);\n }\n timeoutId = null;\n }\n });\n child.once(\"exit\", () => {\n if (timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n });\n }\n if (options.signal) {\n let onAbortListener2 = function() {\n abortChildProcess(child, killSignal2, options.signal.reason);\n };\n var onAbortListener = onAbortListener2;\n const signal = options.signal;\n if (signal.aborted)\n process.nextTick(onAbortListener2);\n else\n signal.addEventListener(\"abort\", onAbortListener2, { once: !0 }), child.once(\"exit\", () => signal.removeEventListener(\"abort\", onAbortListener2));\n }\n return child;\n}, execFile = function(file, args, options, callback) {\n ({ file, args, options, callback } = normalizeExecFileArgs(file, args, options, callback)), options = {\n encoding: \"utf8\",\n timeout: 0,\n maxBuffer: MAX_BUFFER,\n killSignal: \"SIGTERM\",\n cwd: null,\n env: null,\n shell: !1,\n ...options\n };\n const maxBuffer = options.maxBuffer;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const child = spawn(file, args, {\n cwd: options.cwd,\n env: options.env,\n shell: options.shell,\n signal: options.signal\n });\n let encoding;\n const _stdout = [], _stderr = [];\n if (options.encoding !== \"buffer\" && BufferIsEncoding(options.encoding))\n encoding = options.encoding;\n else\n encoding = null;\n let stdoutLen = 0, stderrLen = 0, killed = !1, exited = !1, timeoutId, encodedStdoutLen, encodedStderrLen, ex = null, cmd = file;\n function exitHandler(code, signal) {\n if (exited)\n return;\n if (exited = !0, timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n if (!callback)\n return;\n const readableEncoding = child\?.stdout\?.readableEncoding;\n let stdout, stderr;\n if (encoding || child.stdout && readableEncoding)\n stdout = ArrayPrototypeJoin.@call(_stdout, \"\");\n else\n stdout = BufferConcat(_stdout);\n if (encoding || child.stderr && readableEncoding)\n stderr = ArrayPrototypeJoin.@call(_stderr, \"\");\n else\n stderr = BufferConcat(_stderr);\n if (!ex && code === 0 && signal === null) {\n callback(null, stdout, stderr);\n return;\n }\n if (args\?.length)\n cmd += ` ${ArrayPrototypeJoin.@call(args, \" \")}`;\n if (!ex) {\n let message = `Command failed: ${cmd}`;\n if (stderr)\n message += `\\n${stderr}`;\n ex = genericNodeError(message, {\n code,\n killed: child.killed || killed,\n signal\n });\n }\n ex.cmd = cmd, callback(ex, stdout, stderr);\n }\n function errorHandler(e) {\n if (ex = e, child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n exitHandler();\n }\n function kill() {\n if (child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n killed = !0;\n try {\n child.kill(options.killSignal);\n } catch (e) {\n ex = e, exitHandler();\n }\n }\n if (options.timeout > 0)\n timeoutId = setTimeout(function delayedKill() {\n kill(), timeoutId = null;\n }, options.timeout);\n if (child.stdout) {\n if (encoding)\n child.stdout.setEncoding(encoding);\n child.stdout.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stdout, chunk);\n } : encoding \? function onChildStdoutEncoded(chunk) {\n if (stdoutLen += chunk.length, stdoutLen * 4 > maxBuffer) {\n const encoding2 = child.stdout.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStdoutLen === @undefined)\n for (let i = 0;i < _stdout.length; i++)\n encodedStdoutLen += @Buffer.byteLength(_stdout[i], encoding2);\n else\n encodedStdoutLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStdoutLen - actualLen);\n ArrayPrototypePush.@call(_stdout, StringPrototypeSlice.@apply(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n } : function onChildStdoutRaw(chunk) {\n if (stdoutLen += chunk.length, stdoutLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stdoutLen - chunk.length);\n ArrayPrototypePush.@call(_stdout, chunk.slice(0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n });\n }\n if (child.stderr) {\n if (encoding)\n child.stderr.setEncoding(encoding);\n child.stderr.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stderr, chunk);\n } : encoding \? function onChildStderrEncoded(chunk) {\n if (stderrLen += chunk.length, stderrLen * 4 > maxBuffer) {\n const encoding2 = child.stderr.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStderrLen === @undefined)\n for (let i = 0;i < _stderr.length; i++)\n encodedStderrLen += @Buffer.byteLength(_stderr[i], encoding2);\n else\n encodedStderrLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStderrLen - actualLen);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n } : function onChildStderrRaw(chunk) {\n if (stderrLen += chunk.length, stderrLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stderrLen - chunk.length);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n });\n }\n return child.addListener(\"close\", exitHandler), child.addListener(\"error\", errorHandler), child;\n}, exec = function(command, options, callback) {\n const opts = normalizeExecArgs(command, options, callback);\n return execFile(opts.file, opts.options, opts.callback);\n}, spawnSync = function(file, args, options) {\n options = {\n maxBuffer: MAX_BUFFER,\n ...normalizeSpawnArguments(file, args, options)\n };\n const { maxBuffer, encoding } = options;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const stdio = options.stdio || \"pipe\", bunStdio = getBunStdioFromOptions(stdio);\n var { input } = options;\n if (input)\n if (ArrayBufferIsView(input))\n bunStdio[0] = input;\n else if (typeof input === \"string\")\n bunStdio[0] = @Buffer.from(input, encoding || \"utf8\");\n else\n throw new ERR_INVALID_ARG_TYPE(\"options.stdio[0]\", [\"Buffer\", \"TypedArray\", \"DataView\", \"string\"], input);\n const { stdout, stderr, success, exitCode } = Bun.spawnSync({\n cmd: options.args,\n env: options.env || @undefined,\n cwd: options.cwd || @undefined,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2]\n }), result = {\n signal: null,\n status: exitCode,\n output: [null, stdout, stderr]\n };\n if (stdout && encoding && encoding !== \"buffer\")\n result.output[1] = result.output[1]\?.toString(encoding);\n if (stderr && encoding && encoding !== \"buffer\")\n result.output[2] = result.output[2]\?.toString(encoding);\n if (result.stdout = result.output[1], result.stderr = result.output[2], !success)\n result.error = new SystemError(result.output[2], options.file, \"spawnSync\", -1, result.status), result.error.spawnargs = ArrayPrototypeSlice.@call(options.args, 1);\n return result;\n}, execFileSync = function(file, args, options) {\n ({ file, args, options } = normalizeExecFileArgs(file, args, options));\n const ret = spawnSync(file, args, options), errArgs = [options.argv0 || file];\n ArrayPrototypePush.@apply(errArgs, args);\n const err = checkExecSyncError(ret, errArgs);\n if (err)\n throw err;\n return ret.stdout;\n}, execSync = function(command, options) {\n const opts = normalizeExecArgs(command, options, null), ret = spawnSync(opts.file, opts.options), err = checkExecSyncError(ret, @undefined, command);\n if (err)\n throw err;\n return ret.stdout;\n}, stdioStringToArray = function(stdio, channel) {\n const options = [];\n switch (stdio) {\n case \"ignore\":\n case \"overlapped\":\n case \"pipe\":\n ArrayPrototypePush.@call(options, stdio, stdio, stdio);\n break;\n case \"inherit\":\n ArrayPrototypePush.@call(options, 0, 1, 2);\n break;\n default:\n throw new ERR_INVALID_ARG_VALUE(\"stdio\", stdio);\n }\n if (channel)\n ArrayPrototypePush.@call(options, channel);\n return options;\n}, fork = function(modulePath, args = [], options) {\n modulePath = getValidatedPath(modulePath, \"modulePath\");\n let execArgv;\n if (args == null)\n args = [];\n else if (typeof args === \"object\" && !ArrayIsArray(args))\n options = args, args = [];\n else\n validateArray(args, \"args\");\n if (options != null)\n validateObject(options, \"options\");\n if (options = { __proto__: null, ...options, shell: !1 }, options.execPath = options.execPath || process.execPath, validateArgumentNullCheck(options.execPath, \"options.execPath\"), args = [modulePath, ...args], typeof options.stdio === \"string\")\n options.stdio = stdioStringToArray(options.stdio, \"ipc\");\n else if (!ArrayIsArray(options.stdio))\n options.stdio = stdioStringToArray(options.silent \? \"pipe\" : \"inherit\", \"ipc\");\n else if (!ArrayPrototypeIncludes.@call(options.stdio, \"ipc\"))\n throw new ERR_CHILD_PROCESS_IPC_REQUIRED(\"options.stdio\");\n return spawn(options.execPath, args, options);\n}, convertToValidSignal = function(signal) {\n if (typeof signal === \"number\" && getSignalsToNamesMapping()[signal])\n return signal;\n if (typeof signal === \"string\") {\n const signalName = signals[StringPrototypeToUpperCase.@call(signal)];\n if (signalName)\n return signalName;\n }\n throw new ERR_UNKNOWN_SIGNAL(signal);\n}, sanitizeKillSignal = function(killSignal2) {\n if (typeof killSignal2 === \"string\" || typeof killSignal2 === \"number\")\n return convertToValidSignal(killSignal2);\n else if (killSignal2 != null)\n throw new ERR_INVALID_ARG_TYPE(\"options.killSignal\", [\"string\", \"number\"], killSignal2);\n}, getSignalsToNamesMapping = function() {\n if (signalsToNamesMapping !== @undefined)\n return signalsToNamesMapping;\n signalsToNamesMapping = ObjectCreate(null);\n for (let key in signals)\n signalsToNamesMapping[signals[key]] = key;\n return signalsToNamesMapping;\n}, normalizeExecFileArgs = function(file, args, options, callback) {\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args != null && typeof args === \"object\")\n callback = options, options = args, args = null;\n else if (typeof args === \"function\")\n callback = args, options = null, args = null;\n if (args == null)\n args = [];\n if (typeof options === \"function\")\n callback = options;\n else if (options != null)\n validateObject(options, \"options\");\n if (options == null)\n options = kEmptyObject;\n if (callback != null)\n validateFunction(callback, \"callback\");\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n return { file, args, options, callback };\n}, normalizeExecArgs = function(command, options, callback) {\n if (validateString(command, \"command\"), validateArgumentNullCheck(command, \"command\"), typeof options === \"function\")\n callback = options, options = @undefined;\n return options = { ...options }, options.shell = typeof options.shell === \"string\" \? options.shell : !0, {\n file: command,\n options,\n callback\n };\n}, normalizeSpawnArguments = function(file, args, options) {\n if (validateString(file, \"file\"), validateArgumentNullCheck(file, \"file\"), file.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"file\", file, \"cannot be empty\");\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args == null)\n args = [];\n else if (typeof args !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"args\", \"object\", args);\n else\n options = args, args = [];\n if (validateArgumentsNullCheck(args, \"args\"), options === @undefined)\n options = {};\n else\n validateObject(options, \"options\");\n let cwd = options.cwd;\n if (cwd != null)\n cwd = getValidatedPath(cwd, \"options.cwd\");\n var detached = !1;\n const { detached: detachedOption } = options;\n if (detachedOption != null)\n detached = !!detachedOption;\n if (options.shell != null && typeof options.shell !== \"boolean\" && typeof options.shell !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(\"options.shell\", [\"boolean\", \"string\"], options.shell);\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n if (options.shell) {\n validateArgumentNullCheck(options.shell, \"options.shell\");\n const command = ArrayPrototypeJoin.@call([file, ...args], \" \");\n if (typeof options.shell === \"string\")\n file = options.shell;\n else\n file = \"sh\";\n args = [\"-c\", command];\n }\n if (typeof options.argv0 === \"string\")\n ArrayPrototypeUnshift.@call(args, options.argv0);\n else\n ArrayPrototypeUnshift.@call(args, file);\n const envPairs = options.env || process.env;\n return { ...options, detached, file, args, cwd, envPairs };\n}, checkExecSyncError = function(ret, args, cmd) {\n let err;\n if (ret.error)\n err = ret.error, ObjectAssign(err, ret);\n else if (ret.status !== 0) {\n let msg = \"Command failed: \";\n if (msg += cmd || ArrayPrototypeJoin.@call(args, \" \"), ret.stderr && ret.stderr.length > 0)\n msg += `\\n${ret.stderr.toString()}`;\n err = genericNodeError(msg, ret);\n }\n return err;\n}, nodeToBun = function(item) {\n if (typeof item === \"number\")\n return item;\n else {\n const result = nodeToBunLookup[item];\n if (result === @undefined)\n throw new Error(`Invalid stdio option \"${item}\"`);\n return result;\n }\n}, fdToStdioName = function(fd) {\n switch (fd) {\n case 0:\n return \"stdin\";\n case 1:\n return \"stdout\";\n case 2:\n return \"stderr\";\n default:\n return null;\n }\n}, getBunStdioFromOptions = function(stdio) {\n return normalizeStdio(stdio).map((item) => nodeToBun(item));\n}, normalizeStdio = function(stdio) {\n if (typeof stdio === \"string\")\n switch (stdio) {\n case \"ignore\":\n return [\"ignore\", \"ignore\", \"ignore\"];\n case \"pipe\":\n return [\"pipe\", \"pipe\", \"pipe\"];\n case \"inherit\":\n return [\"inherit\", \"inherit\", \"inherit\"];\n default:\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n }\n else if (ArrayIsArray(stdio)) {\n let processedStdio;\n if (stdio.length === 0)\n processedStdio = [\"pipe\", \"pipe\", \"pipe\"];\n else if (stdio.length === 1)\n processedStdio = [stdio[0], \"pipe\", \"pipe\"];\n else if (stdio.length === 2)\n processedStdio = [stdio[0], stdio[1], \"pipe\"];\n else if (stdio.length >= 3)\n processedStdio = [stdio[0], stdio[1], stdio[2]];\n return processedStdio.map((item) => !item \? \"pipe\" : item);\n } else\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n}, flushStdio = function(subprocess) {\n const stdio = subprocess.stdio;\n if (stdio == null)\n return;\n for (let i = 0;i < stdio.length; i++) {\n const stream = stdio[i];\n if (!stream || !stream.readable)\n continue;\n stream.resume();\n }\n}, onSpawnNT = function(self) {\n self.emit(\"spawn\");\n}, abortChildProcess = function(child, killSignal2, reason) {\n if (!child)\n return;\n try {\n if (child.kill(killSignal2))\n child.emit(\"error\", new AbortError(@undefined, { cause: reason }));\n } catch (err) {\n child.emit(\"error\", err);\n }\n}, validateMaxBuffer = function(maxBuffer) {\n if (maxBuffer != null && !(typeof maxBuffer === \"number\" && maxBuffer >= 0))\n throw new ERR_OUT_OF_RANGE(\"options.maxBuffer\", \"a positive number\", maxBuffer);\n}, validateArgumentNullCheck = function(arg, propName) {\n if (typeof arg === \"string\" && StringPrototypeIncludes.@call(arg, \"\\0\"))\n throw new ERR_INVALID_ARG_VALUE(propName, arg, \"must be a string without null bytes\");\n}, validateArgumentsNullCheck = function(args, propName) {\n for (let i = 0;i < args.length; ++i)\n validateArgumentNullCheck(args[i], `${propName}[${i}]`);\n}, validateTimeout = function(timeout) {\n if (timeout != null && !(NumberIsInteger(timeout) && timeout >= 0))\n throw new ERR_OUT_OF_RANGE(\"timeout\", \"an unsigned integer\", timeout);\n};\nvar validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, nullCheck = function(path, propName, throwError = !0) {\n const pathIsString = typeof path === \"string\", pathIsUint8Array = isUint8Array(path);\n if (!pathIsString && !pathIsUint8Array || pathIsString && !StringPrototypeIncludes.@call(path, \"\\0\") || pathIsUint8Array && !Uint8ArrayPrototypeIncludes.@call(path, 0))\n return;\n const err = new ERR_INVALID_ARG_VALUE(propName, path, \"must be a string or Uint8Array without null bytes\");\n if (throwError)\n throw err;\n return err;\n}, validatePath = function(path, propName = \"path\") {\n if (typeof path !== \"string\" && !isUint8Array(path))\n throw new ERR_INVALID_ARG_TYPE(propName, [\"string\", \"Buffer\", \"URL\"], path);\n const err = nullCheck(path, propName, !1);\n if (err !== @undefined)\n throw err;\n}, getValidatedPath = function(fileURLOrPath, propName = \"path\") {\n const path = toPathIfFileURL(fileURLOrPath);\n return validatePath(path, propName), path;\n}, isUint8Array = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @Uint8Array;\n}, isURLInstance = function(fileURLOrPath) {\n return fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.origin;\n}, toPathIfFileURL = function(fileURLOrPath) {\n if (!isURLInstance(fileURLOrPath))\n return fileURLOrPath;\n return Bun.fileURLToPath(fileURLOrPath);\n}, genericNodeError = function(message, options) {\n const err = new Error(message);\n return err.code = options.code, err.killed = options.killed, err.signal = options.signal, err;\n}, ERR_OUT_OF_RANGE = function(str, range, input, replaceDefaultBoolean = !1) {\n return new RangeError(`The value of ${str} is out of range. It must be ${range}. Received ${input}`);\n}, ERR_CHILD_PROCESS_STDIO_MAXBUFFER = function(stdio) {\n return Error(`${stdio} maxBuffer length exceeded`);\n}, ERR_UNKNOWN_SIGNAL = function(name) {\n const err = @makeTypeError(`Unknown signal: ${name}`);\n return err.code = \"ERR_UNKNOWN_SIGNAL\", err;\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value\?.toString()}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_INVALID_OPT_VALUE = function(name, value) {\n return @makeTypeError(`The value \"${value}\" is invalid for option \"${name}\"`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value \"${value}\" is invalid for argument '${name}'. Reason: ${reason}`);\n}, ERR_CHILD_PROCESS_IPC_REQUIRED = function(name) {\n const err = @makeTypeError(`Forked processes must have an IPC channel, missing value 'ipc' in ${name}`);\n return err.code = \"ERR_CHILD_PROCESS_IPC_REQUIRED\", err;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), {\n constants: { signals }\n} = @getInternalField(@internalModuleRegistry, 28) || @createInternalModuleById(28), { promisify } = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), ObjectCreate = Object.create, ObjectAssign = Object.assign, ObjectDefineProperty = Object.defineProperty, BufferConcat = @Buffer.concat, BufferIsEncoding = @Buffer.isEncoding, kEmptyObject = ObjectCreate(null), ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeUnshift = @Array.prototype.unshift, ArrayPrototypeLastIndexOf = @Array.prototype.lastIndexOf, ArrayPrototypeSplice = @Array.prototype.splice, ArrayIsArray = @Array.isArray, ArrayBufferIsView = @ArrayBuffer.isView, NumberIsInteger = Number.isInteger;\nvar StringPrototypeToUpperCase = @String.prototype.toUpperCase, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSlice = @String.prototype.slice, Uint8ArrayPrototypeIncludes = @Uint8Array.prototype.includes, MAX_BUFFER = 1048576, NativeWritable, ReadableFromWeb, customPromiseExecFunction = (orig) => {\n return (...args) => {\n let resolve, reject;\n const promise = new @Promise((res, rej) => {\n resolve = res, reject = rej;\n });\n return promise.child = orig(...args, (err, stdout, stderr) => {\n if (err !== null)\n err.stdout = stdout, err.stderr = stderr, reject(err);\n else\n resolve({ stdout, stderr });\n }), promise;\n };\n};\nObjectDefineProperty(exec, promisify.custom, {\n __proto__: null,\n enumerable: !1,\n value: customPromiseExecFunction(exec)\n});\nvar signalsToNamesMapping;\n\nclass ChildProcess extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n #handle;\n #exited = !1;\n #closesNeeded = 1;\n #closesGot = 0;\n connected = !1;\n signalCode = null;\n exitCode = null;\n spawnfile;\n spawnargs;\n pid;\n channel;\n get killed() {\n if (this.#handle == null)\n return !1;\n }\n #handleOnExit(exitCode, signalCode, err) {\n if (this.#exited)\n return;\n if (signalCode)\n this.signalCode = signalCode;\n else\n this.exitCode = exitCode;\n if (this.#stdin)\n this.#stdin.destroy();\n if (this.#handle)\n this.#handle = null;\n if (exitCode < 0) {\n const err2 = new SystemError(`Spawned process exited with error code: ${exitCode}`, @undefined, \"spawn\", \"EUNKNOWN\", \"ERR_CHILD_PROCESS_UNKNOWN_ERROR\");\n if (this.spawnfile)\n err2.path = this.spawnfile;\n err2.spawnargs = ArrayPrototypeSlice.@call(this.spawnargs, 1), this.emit(\"error\", err2);\n } else\n this.emit(\"exit\", this.exitCode, this.signalCode);\n process.nextTick(flushStdio, this), this.#maybeClose(), this.#exited = !0, this.#stdioOptions = [\"destroyed\", \"destroyed\", \"destroyed\"];\n }\n #getBunSpawnIo(i, encoding) {\n NativeWritable ||= StreamModule.NativeWritable, ReadableFromWeb ||= StreamModule.Readable.fromWeb;\n const io = this.#stdioOptions[i];\n switch (i) {\n case 0:\n switch (io) {\n case \"pipe\":\n return new NativeWritable(this.#handle.stdin);\n case \"inherit\":\n return process.stdin || null;\n case \"destroyed\":\n return new ShimmedStdin;\n default:\n return null;\n }\n case 2:\n case 1:\n switch (io) {\n case \"pipe\":\n return ReadableFromWeb(this.#handle[fdToStdioName(i)], { encoding });\n case \"inherit\":\n return process[fdToStdioName(i)] || null;\n case \"destroyed\":\n return new ShimmedStdioOutStream;\n default:\n return null;\n }\n }\n }\n #stdin;\n #stdout;\n #stderr;\n #stdioObject;\n #encoding;\n #stdioOptions;\n #createStdioObject() {\n return Object.create(null, {\n 0: {\n get: () => this.stdin\n },\n 1: {\n get: () => this.stdout\n },\n 2: {\n get: () => this.stderr\n }\n });\n }\n get stdin() {\n return this.#stdin \?\?= this.#getBunSpawnIo(0, this.#encoding);\n }\n get stdout() {\n return this.#stdout \?\?= this.#getBunSpawnIo(1, this.#encoding);\n }\n get stderr() {\n return this.#stderr \?\?= this.#getBunSpawnIo(2, this.#encoding);\n }\n get stdio() {\n return this.#stdioObject \?\?= this.#createStdioObject();\n }\n spawn(options) {\n validateObject(options, \"options\"), validateString(options.file, \"options.file\");\n var file = this.spawnfile = options.file, spawnargs;\n if (options.args == null)\n spawnargs = this.spawnargs = [];\n else\n validateArray(options.args, \"options.args\"), spawnargs = this.spawnargs = options.args;\n const stdio = options.stdio || [\"pipe\", \"pipe\", \"pipe\"], bunStdio = getBunStdioFromOptions(stdio), ipc = @isArray(stdio) && stdio[3] === \"ipc\";\n var env = options.envPairs || @undefined;\n const detachedOption = options.detached;\n if (this.#encoding = options.encoding || @undefined, this.#stdioOptions = bunStdio, this.#handle = Bun.spawn({\n cmd: spawnargs,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2],\n cwd: options.cwd || @undefined,\n env: env || process.env,\n detached: typeof detachedOption !== \"undefined\" \? !!detachedOption : !1,\n onExit: (handle, exitCode, signalCode, err) => {\n this.#handle = handle, this.pid = this.#handle.pid, process.nextTick((exitCode2, signalCode2, err2) => this.#handleOnExit(exitCode2, signalCode2, err2), exitCode, signalCode, err);\n },\n lazy: !0,\n ipc: ipc \? this.#emitIpcMessage.bind(this) : @undefined\n }), this.pid = this.#handle.pid, onSpawnNT(this), ipc)\n this.send = this.#send, this.disconnect = this.#disconnect;\n }\n #emitIpcMessage(message) {\n this.emit(\"message\", message);\n }\n #send(message, handle, options, callback) {\n if (typeof handle === \"function\")\n callback = handle, handle = @undefined, options = @undefined;\n else if (typeof options === \"function\")\n callback = options, options = @undefined;\n else if (options !== @undefined) {\n if (typeof options !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n }\n if (!this.#handle) {\n if (callback)\n process.nextTick(callback, @makeTypeError(\"Process was closed while trying to send message\"));\n else\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return !1;\n }\n try {\n if (this.#handle.send(message), callback)\n process.nextTick(callback);\n return !0;\n } catch (error) {\n if (callback)\n process.nextTick(callback, error);\n else\n this.emit(\"error\", error);\n return !1;\n }\n }\n #disconnect() {\n if (!this.connected) {\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return;\n }\n this.connected = !1, this.#handle.disconnect();\n }\n kill(sig) {\n const signal = sig === 0 \? sig : convertToValidSignal(sig === @undefined \? \"SIGTERM\" : sig);\n if (this.#handle)\n this.#handle.kill(signal);\n return this.#maybeClose(), !0;\n }\n #maybeClose() {\n if (this.#closesGot++, this.#closesGot === this.#closesNeeded)\n this.emit(\"close\", this.exitCode, this.signalCode);\n }\n ref() {\n if (this.#handle)\n this.#handle.ref();\n }\n unref() {\n if (this.#handle)\n this.#handle.unref();\n }\n}\nvar nodeToBunLookup = {\n ignore: null,\n pipe: \"pipe\",\n overlapped: \"pipe\",\n inherit: \"inherit\"\n};\n\nclass ShimmedStdin extends EventEmitter {\n constructor() {\n super();\n }\n write() {\n return !1;\n }\n destroy() {\n }\n end() {\n }\n pipe() {\n }\n}\n\nclass ShimmedStdioOutStream extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n pipe() {\n }\n}\nvar validateAbortSignal = (signal, name) => {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n};\nvar validateObject = (value, name, options = null) => {\n const allowArray = options\?.allowArray \?\? !1, allowFunction = options\?.allowFunction \?\? !1;\n if (!(options\?.nullable \?\? !1) && value === null || !allowArray && ArrayIsArray.@call(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE(name, \"object\", value);\n}, validateArray = (value, name, minLength = 0) => {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, Error = globalThis.Error, TypeError = globalThis.TypeError, RangeError = globalThis.RangeError;\n\nclass AbortError extends Error {\n code = \"ABORT_ERR\";\n name = \"AbortError\";\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n }\n}\n\nclass SystemError extends Error {\n path;\n syscall;\n errno;\n code;\n constructor(message, path, syscall, errno, code) {\n super(message);\n this.path = path, this.syscall = syscall, this.errno = errno, this.code = code;\n }\n get name() {\n return \"SystemError\";\n }\n}\n$ = {\n ChildProcess,\n spawn,\n execFile,\n exec,\n fork,\n spawnSync,\n execFileSync,\n execSync\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeChildProcessCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/child_process.ts\nvar spawn = function(file, args, options) {\n options = normalizeSpawnArguments(file, args, options), validateTimeout(options.timeout), validateAbortSignal(options.signal, \"options.signal\");\n const killSignal2 = sanitizeKillSignal(options.killSignal), child = new ChildProcess;\n if (child.spawn(options), options.timeout > 0) {\n let timeoutId = setTimeout(() => {\n if (timeoutId) {\n try {\n child.kill(killSignal2);\n } catch (err) {\n child.emit(\"error\", err);\n }\n timeoutId = null;\n }\n });\n child.once(\"exit\", () => {\n if (timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n });\n }\n if (options.signal) {\n let onAbortListener2 = function() {\n abortChildProcess(child, killSignal2, options.signal.reason);\n };\n var onAbortListener = onAbortListener2;\n const signal = options.signal;\n if (signal.aborted)\n process.nextTick(onAbortListener2);\n else\n signal.addEventListener(\"abort\", onAbortListener2, { once: !0 }), child.once(\"exit\", () => signal.removeEventListener(\"abort\", onAbortListener2));\n }\n return child;\n}, execFile = function(file, args, options, callback) {\n ({ file, args, options, callback } = normalizeExecFileArgs(file, args, options, callback)), options = {\n encoding: \"utf8\",\n timeout: 0,\n maxBuffer: MAX_BUFFER,\n killSignal: \"SIGTERM\",\n cwd: null,\n env: null,\n shell: !1,\n ...options\n };\n const maxBuffer = options.maxBuffer;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const child = spawn(file, args, {\n cwd: options.cwd,\n env: options.env,\n shell: options.shell,\n signal: options.signal\n });\n let encoding;\n const _stdout = [], _stderr = [];\n if (options.encoding !== \"buffer\" && BufferIsEncoding(options.encoding))\n encoding = options.encoding;\n else\n encoding = null;\n let stdoutLen = 0, stderrLen = 0, killed = !1, exited = !1, timeoutId, encodedStdoutLen, encodedStderrLen, ex = null, cmd = file;\n function exitHandler(code, signal) {\n if (exited)\n return;\n if (exited = !0, timeoutId)\n clearTimeout(timeoutId), timeoutId = null;\n if (!callback)\n return;\n const readableEncoding = child\?.stdout\?.readableEncoding;\n let stdout, stderr;\n if (encoding || child.stdout && readableEncoding)\n stdout = ArrayPrototypeJoin.@call(_stdout, \"\");\n else\n stdout = BufferConcat(_stdout);\n if (encoding || child.stderr && readableEncoding)\n stderr = ArrayPrototypeJoin.@call(_stderr, \"\");\n else\n stderr = BufferConcat(_stderr);\n if (!ex && code === 0 && signal === null) {\n callback(null, stdout, stderr);\n return;\n }\n if (args\?.length)\n cmd += ` ${ArrayPrototypeJoin.@call(args, \" \")}`;\n if (!ex) {\n let message = `Command failed: ${cmd}`;\n if (stderr)\n message += `\\n${stderr}`;\n ex = genericNodeError(message, {\n code,\n killed: child.killed || killed,\n signal\n });\n }\n ex.cmd = cmd, callback(ex, stdout, stderr);\n }\n function errorHandler(e) {\n if (ex = e, child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n exitHandler();\n }\n function kill() {\n if (child.stdout)\n child.stdout.destroy();\n if (child.stderr)\n child.stderr.destroy();\n killed = !0;\n try {\n child.kill(options.killSignal);\n } catch (e) {\n ex = e, exitHandler();\n }\n }\n if (options.timeout > 0)\n timeoutId = setTimeout(function delayedKill() {\n kill(), timeoutId = null;\n }, options.timeout);\n if (child.stdout) {\n if (encoding)\n child.stdout.setEncoding(encoding);\n child.stdout.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stdout, chunk);\n } : encoding \? function onChildStdoutEncoded(chunk) {\n if (stdoutLen += chunk.length, stdoutLen * 4 > maxBuffer) {\n const encoding2 = child.stdout.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStdoutLen === @undefined)\n for (let i = 0;i < _stdout.length; i++)\n encodedStdoutLen += @Buffer.byteLength(_stdout[i], encoding2);\n else\n encodedStdoutLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStdoutLen - actualLen);\n ArrayPrototypePush.@call(_stdout, StringPrototypeSlice.@apply(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n } : function onChildStdoutRaw(chunk) {\n if (stdoutLen += chunk.length, stdoutLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stdoutLen - chunk.length);\n ArrayPrototypePush.@call(_stdout, chunk.slice(0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"), kill();\n } else\n ArrayPrototypePush.@call(_stdout, chunk);\n });\n }\n if (child.stderr) {\n if (encoding)\n child.stderr.setEncoding(encoding);\n child.stderr.on(\"data\", maxBuffer === @Infinity \? function onUnlimitedSizeBufferedData(chunk) {\n ArrayPrototypePush.@call(_stderr, chunk);\n } : encoding \? function onChildStderrEncoded(chunk) {\n if (stderrLen += chunk.length, stderrLen * 4 > maxBuffer) {\n const encoding2 = child.stderr.readableEncoding, actualLen = @Buffer.byteLength(chunk, encoding2);\n if (encodedStderrLen === @undefined)\n for (let i = 0;i < _stderr.length; i++)\n encodedStderrLen += @Buffer.byteLength(_stderr[i], encoding2);\n else\n encodedStderrLen += actualLen;\n const truncatedLen = maxBuffer - (encodedStderrLen - actualLen);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n } : function onChildStderrRaw(chunk) {\n if (stderrLen += chunk.length, stderrLen > maxBuffer) {\n const truncatedLen = maxBuffer - (stderrLen - chunk.length);\n ArrayPrototypePush.@call(_stderr, StringPrototypeSlice.@call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"), kill();\n } else\n ArrayPrototypePush.@call(_stderr, chunk);\n });\n }\n return child.addListener(\"close\", exitHandler), child.addListener(\"error\", errorHandler), child;\n}, exec = function(command, options, callback) {\n const opts = normalizeExecArgs(command, options, callback);\n return execFile(opts.file, opts.options, opts.callback);\n}, spawnSync = function(file, args, options) {\n options = {\n maxBuffer: MAX_BUFFER,\n ...normalizeSpawnArguments(file, args, options)\n };\n const { maxBuffer, encoding } = options;\n validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal);\n const stdio = options.stdio || \"pipe\", bunStdio = getBunStdioFromOptions(stdio);\n var { input } = options;\n if (input)\n if (ArrayBufferIsView(input))\n bunStdio[0] = input;\n else if (typeof input === \"string\")\n bunStdio[0] = @Buffer.from(input, encoding || \"utf8\");\n else\n throw new ERR_INVALID_ARG_TYPE(\"options.stdio[0]\", [\"Buffer\", \"TypedArray\", \"DataView\", \"string\"], input);\n const { stdout, stderr, success, exitCode } = Bun.spawnSync({\n cmd: options.args,\n env: options.env || @undefined,\n cwd: options.cwd || @undefined,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2]\n }), result = {\n signal: null,\n status: exitCode,\n output: [null, stdout, stderr]\n };\n if (stdout && encoding && encoding !== \"buffer\")\n result.output[1] = result.output[1]\?.toString(encoding);\n if (stderr && encoding && encoding !== \"buffer\")\n result.output[2] = result.output[2]\?.toString(encoding);\n if (result.stdout = result.output[1], result.stderr = result.output[2], !success)\n result.error = new SystemError(result.output[2], options.file, \"spawnSync\", -1, result.status), result.error.spawnargs = ArrayPrototypeSlice.@call(options.args, 1);\n return result;\n}, execFileSync = function(file, args, options) {\n ({ file, args, options } = normalizeExecFileArgs(file, args, options));\n const ret = spawnSync(file, args, options), errArgs = [options.argv0 || file];\n ArrayPrototypePush.@apply(errArgs, args);\n const err = checkExecSyncError(ret, errArgs);\n if (err)\n throw err;\n return ret.stdout;\n}, execSync = function(command, options) {\n const opts = normalizeExecArgs(command, options, null), ret = spawnSync(opts.file, opts.options), err = checkExecSyncError(ret, @undefined, command);\n if (err)\n throw err;\n return ret.stdout;\n}, stdioStringToArray = function(stdio, channel) {\n const options = [];\n switch (stdio) {\n case \"ignore\":\n case \"overlapped\":\n case \"pipe\":\n ArrayPrototypePush.@call(options, stdio, stdio, stdio);\n break;\n case \"inherit\":\n ArrayPrototypePush.@call(options, 0, 1, 2);\n break;\n default:\n throw new ERR_INVALID_ARG_VALUE(\"stdio\", stdio);\n }\n if (channel)\n ArrayPrototypePush.@call(options, channel);\n return options;\n}, fork = function(modulePath, args = [], options) {\n modulePath = getValidatedPath(modulePath, \"modulePath\");\n let execArgv;\n if (args == null)\n args = [];\n else if (typeof args === \"object\" && !ArrayIsArray(args))\n options = args, args = [];\n else\n validateArray(args, \"args\");\n if (options != null)\n validateObject(options, \"options\");\n if (options = { __proto__: null, ...options, shell: !1 }, options.execPath = options.execPath || process.execPath, validateArgumentNullCheck(options.execPath, \"options.execPath\"), args = [modulePath, ...args], typeof options.stdio === \"string\")\n options.stdio = stdioStringToArray(options.stdio, \"ipc\");\n else if (!ArrayIsArray(options.stdio))\n options.stdio = stdioStringToArray(options.silent \? \"pipe\" : \"inherit\", \"ipc\");\n else if (!ArrayPrototypeIncludes.@call(options.stdio, \"ipc\"))\n throw new ERR_CHILD_PROCESS_IPC_REQUIRED(\"options.stdio\");\n return spawn(options.execPath, args, options);\n}, convertToValidSignal = function(signal) {\n if (typeof signal === \"number\" && getSignalsToNamesMapping()[signal])\n return signal;\n if (typeof signal === \"string\") {\n const signalName = signals[StringPrototypeToUpperCase.@call(signal)];\n if (signalName)\n return signalName;\n }\n throw new ERR_UNKNOWN_SIGNAL(signal);\n}, sanitizeKillSignal = function(killSignal2) {\n if (typeof killSignal2 === \"string\" || typeof killSignal2 === \"number\")\n return convertToValidSignal(killSignal2);\n else if (killSignal2 != null)\n throw new ERR_INVALID_ARG_TYPE(\"options.killSignal\", [\"string\", \"number\"], killSignal2);\n}, getSignalsToNamesMapping = function() {\n if (signalsToNamesMapping !== @undefined)\n return signalsToNamesMapping;\n signalsToNamesMapping = ObjectCreate(null);\n for (let key in signals)\n signalsToNamesMapping[signals[key]] = key;\n return signalsToNamesMapping;\n}, normalizeExecFileArgs = function(file, args, options, callback) {\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args != null && typeof args === \"object\")\n callback = options, options = args, args = null;\n else if (typeof args === \"function\")\n callback = args, options = null, args = null;\n if (args == null)\n args = [];\n if (typeof options === \"function\")\n callback = options;\n else if (options != null)\n validateObject(options, \"options\");\n if (options == null)\n options = kEmptyObject;\n if (callback != null)\n validateFunction(callback, \"callback\");\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n return { file, args, options, callback };\n}, normalizeExecArgs = function(command, options, callback) {\n if (validateString(command, \"command\"), validateArgumentNullCheck(command, \"command\"), typeof options === \"function\")\n callback = options, options = @undefined;\n return options = { ...options }, options.shell = typeof options.shell === \"string\" \? options.shell : !0, {\n file: command,\n options,\n callback\n };\n}, normalizeSpawnArguments = function(file, args, options) {\n if (validateString(file, \"file\"), validateArgumentNullCheck(file, \"file\"), file.length === 0)\n throw new ERR_INVALID_ARG_VALUE(\"file\", file, \"cannot be empty\");\n if (ArrayIsArray(args))\n args = ArrayPrototypeSlice.@call(args);\n else if (args == null)\n args = [];\n else if (typeof args !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"args\", \"object\", args);\n else\n options = args, args = [];\n if (validateArgumentsNullCheck(args, \"args\"), options === @undefined)\n options = {};\n else\n validateObject(options, \"options\");\n let cwd = options.cwd;\n if (cwd != null)\n cwd = getValidatedPath(cwd, \"options.cwd\");\n var detached = !1;\n const { detached: detachedOption } = options;\n if (detachedOption != null)\n detached = !!detachedOption;\n if (options.shell != null && typeof options.shell !== \"boolean\" && typeof options.shell !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(\"options.shell\", [\"boolean\", \"string\"], options.shell);\n if (options.argv0 != null)\n validateString(options.argv0, \"options.argv0\"), validateArgumentNullCheck(options.argv0, \"options.argv0\");\n if (options.shell) {\n validateArgumentNullCheck(options.shell, \"options.shell\");\n const command = ArrayPrototypeJoin.@call([file, ...args], \" \");\n if (typeof options.shell === \"string\")\n file = options.shell;\n else\n file = \"sh\";\n args = [\"-c\", command];\n }\n if (typeof options.argv0 === \"string\")\n ArrayPrototypeUnshift.@call(args, options.argv0);\n else\n ArrayPrototypeUnshift.@call(args, file);\n const envPairs = options.env || process.env;\n return { ...options, detached, file, args, cwd, envPairs };\n}, checkExecSyncError = function(ret, args, cmd) {\n let err;\n if (ret.error)\n err = ret.error, ObjectAssign(err, ret);\n else if (ret.status !== 0) {\n let msg = \"Command failed: \";\n if (msg += cmd || ArrayPrototypeJoin.@call(args, \" \"), ret.stderr && ret.stderr.length > 0)\n msg += `\\n${ret.stderr.toString()}`;\n err = genericNodeError(msg, ret);\n }\n return err;\n}, nodeToBun = function(item) {\n if (typeof item === \"number\")\n return item;\n else {\n const result = nodeToBunLookup[item];\n if (result === @undefined)\n throw new Error(`Invalid stdio option \"${item}\"`);\n return result;\n }\n}, fdToStdioName = function(fd) {\n switch (fd) {\n case 0:\n return \"stdin\";\n case 1:\n return \"stdout\";\n case 2:\n return \"stderr\";\n default:\n return null;\n }\n}, getBunStdioFromOptions = function(stdio) {\n return normalizeStdio(stdio).map((item) => nodeToBun(item));\n}, normalizeStdio = function(stdio) {\n if (typeof stdio === \"string\")\n switch (stdio) {\n case \"ignore\":\n return [\"ignore\", \"ignore\", \"ignore\"];\n case \"pipe\":\n return [\"pipe\", \"pipe\", \"pipe\"];\n case \"inherit\":\n return [\"inherit\", \"inherit\", \"inherit\"];\n default:\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n }\n else if (ArrayIsArray(stdio)) {\n let processedStdio;\n if (stdio.length === 0)\n processedStdio = [\"pipe\", \"pipe\", \"pipe\"];\n else if (stdio.length === 1)\n processedStdio = [stdio[0], \"pipe\", \"pipe\"];\n else if (stdio.length === 2)\n processedStdio = [stdio[0], stdio[1], \"pipe\"];\n else if (stdio.length >= 3)\n processedStdio = [stdio[0], stdio[1], stdio[2]];\n return processedStdio.map((item) => !item \? \"pipe\" : item);\n } else\n throw new ERR_INVALID_OPT_VALUE(\"stdio\", stdio);\n}, flushStdio = function(subprocess) {\n const stdio = subprocess.stdio;\n if (stdio == null)\n return;\n for (let i = 0;i < stdio.length; i++) {\n const stream = stdio[i];\n if (!stream || !stream.readable)\n continue;\n stream.resume();\n }\n}, onSpawnNT = function(self) {\n self.emit(\"spawn\");\n}, abortChildProcess = function(child, killSignal2, reason) {\n if (!child)\n return;\n try {\n if (child.kill(killSignal2))\n child.emit(\"error\", new AbortError(@undefined, { cause: reason }));\n } catch (err) {\n child.emit(\"error\", err);\n }\n}, validateMaxBuffer = function(maxBuffer) {\n if (maxBuffer != null && !(typeof maxBuffer === \"number\" && maxBuffer >= 0))\n throw new ERR_OUT_OF_RANGE(\"options.maxBuffer\", \"a positive number\", maxBuffer);\n}, validateArgumentNullCheck = function(arg, propName) {\n if (typeof arg === \"string\" && StringPrototypeIncludes.@call(arg, \"\\0\"))\n throw new ERR_INVALID_ARG_VALUE(propName, arg, \"must be a string without null bytes\");\n}, validateArgumentsNullCheck = function(args, propName) {\n for (let i = 0;i < args.length; ++i)\n validateArgumentNullCheck(args[i], `${propName}[${i}]`);\n}, validateTimeout = function(timeout) {\n if (timeout != null && !(NumberIsInteger(timeout) && timeout >= 0))\n throw new ERR_OUT_OF_RANGE(\"timeout\", \"an unsigned integer\", timeout);\n};\nvar validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, nullCheck = function(path, propName, throwError = !0) {\n const pathIsString = typeof path === \"string\", pathIsUint8Array = isUint8Array(path);\n if (!pathIsString && !pathIsUint8Array || pathIsString && !StringPrototypeIncludes.@call(path, \"\\0\") || pathIsUint8Array && !Uint8ArrayPrototypeIncludes.@call(path, 0))\n return;\n const err = new ERR_INVALID_ARG_VALUE(propName, path, \"must be a string or Uint8Array without null bytes\");\n if (throwError)\n throw err;\n return err;\n}, validatePath = function(path, propName = \"path\") {\n if (typeof path !== \"string\" && !isUint8Array(path))\n throw new ERR_INVALID_ARG_TYPE(propName, [\"string\", \"Buffer\", \"URL\"], path);\n const err = nullCheck(path, propName, !1);\n if (err !== @undefined)\n throw err;\n}, getValidatedPath = function(fileURLOrPath, propName = \"path\") {\n const path = toPathIfFileURL(fileURLOrPath);\n return validatePath(path, propName), path;\n}, isUint8Array = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @Uint8Array;\n}, isURLInstance = function(fileURLOrPath) {\n return fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.origin;\n}, toPathIfFileURL = function(fileURLOrPath) {\n if (!isURLInstance(fileURLOrPath))\n return fileURLOrPath;\n return Bun.fileURLToPath(fileURLOrPath);\n}, genericNodeError = function(message, options) {\n const err = new Error(message);\n return err.code = options.code, err.killed = options.killed, err.signal = options.signal, err;\n}, ERR_OUT_OF_RANGE = function(str, range, input, replaceDefaultBoolean = !1) {\n return new RangeError(`The value of ${str} is out of range. It must be ${range}. Received ${input}`);\n}, ERR_CHILD_PROCESS_STDIO_MAXBUFFER = function(stdio) {\n return Error(`${stdio} maxBuffer length exceeded`);\n}, ERR_UNKNOWN_SIGNAL = function(name) {\n const err = @makeTypeError(`Unknown signal: ${name}`);\n return err.code = \"ERR_UNKNOWN_SIGNAL\", err;\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value\?.toString()}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_INVALID_OPT_VALUE = function(name, value) {\n return @makeTypeError(`The value \"${value}\" is invalid for option \"${name}\"`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value \"${value}\" is invalid for argument '${name}'. Reason: ${reason}`);\n}, ERR_CHILD_PROCESS_IPC_REQUIRED = function(name) {\n const err = @makeTypeError(`Forked processes must have an IPC channel, missing value 'ipc' in ${name}`);\n return err.code = \"ERR_CHILD_PROCESS_IPC_REQUIRED\", err;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), {\n constants: { signals }\n} = @getInternalField(@internalModuleRegistry, 28) || @createInternalModuleById(28), { promisify } = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), ObjectCreate = Object.create, ObjectAssign = Object.assign, ObjectDefineProperty = Object.defineProperty, BufferConcat = @Buffer.concat, BufferIsEncoding = @Buffer.isEncoding, kEmptyObject = ObjectCreate(null), ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeUnshift = @Array.prototype.unshift, ArrayPrototypeLastIndexOf = @Array.prototype.lastIndexOf, ArrayPrototypeSplice = @Array.prototype.splice, ArrayIsArray = @Array.isArray, ArrayBufferIsView = @ArrayBuffer.isView, NumberIsInteger = Number.isInteger;\nvar StringPrototypeToUpperCase = @String.prototype.toUpperCase, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSlice = @String.prototype.slice, Uint8ArrayPrototypeIncludes = @Uint8Array.prototype.includes, MAX_BUFFER = 1048576, NativeWritable, ReadableFromWeb, customPromiseExecFunction = (orig) => {\n return (...args) => {\n let resolve, reject;\n const promise = new @Promise((res, rej) => {\n resolve = res, reject = rej;\n });\n return promise.child = orig(...args, (err, stdout, stderr) => {\n if (err !== null)\n err.stdout = stdout, err.stderr = stderr, reject(err);\n else\n resolve({ stdout, stderr });\n }), promise;\n };\n};\nObjectDefineProperty(exec, promisify.custom, {\n __proto__: null,\n enumerable: !1,\n value: customPromiseExecFunction(exec)\n});\nvar signalsToNamesMapping;\n\nclass ChildProcess extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n #handle;\n #exited = !1;\n #closesNeeded = 1;\n #closesGot = 0;\n connected = !1;\n signalCode = null;\n exitCode = null;\n spawnfile;\n spawnargs;\n pid;\n channel;\n get killed() {\n if (this.#handle == null)\n return !1;\n }\n #handleOnExit(exitCode, signalCode, err) {\n if (this.#exited)\n return;\n if (signalCode)\n this.signalCode = signalCode;\n else\n this.exitCode = exitCode;\n if (this.#stdin)\n this.#stdin.destroy();\n if (this.#handle)\n this.#handle = null;\n if (exitCode < 0) {\n const err2 = new SystemError(`Spawned process exited with error code: ${exitCode}`, @undefined, \"spawn\", \"EUNKNOWN\", \"ERR_CHILD_PROCESS_UNKNOWN_ERROR\");\n if (this.spawnfile)\n err2.path = this.spawnfile;\n err2.spawnargs = ArrayPrototypeSlice.@call(this.spawnargs, 1), this.emit(\"error\", err2);\n } else\n this.emit(\"exit\", this.exitCode, this.signalCode);\n process.nextTick(flushStdio, this), this.#maybeClose(), this.#exited = !0, this.#stdioOptions = [\"destroyed\", \"destroyed\", \"destroyed\"];\n }\n #getBunSpawnIo(i, encoding) {\n NativeWritable ||= StreamModule.NativeWritable, ReadableFromWeb ||= StreamModule.Readable.fromWeb;\n const io = this.#stdioOptions[i];\n switch (i) {\n case 0:\n switch (io) {\n case \"pipe\":\n return new NativeWritable(this.#handle.stdin);\n case \"inherit\":\n return process.stdin || null;\n case \"destroyed\":\n return new ShimmedStdin;\n default:\n return null;\n }\n case 2:\n case 1:\n switch (io) {\n case \"pipe\":\n return ReadableFromWeb(this.#handle[fdToStdioName(i)], { encoding });\n case \"inherit\":\n return process[fdToStdioName(i)] || null;\n case \"destroyed\":\n return new ShimmedStdioOutStream;\n default:\n return null;\n }\n }\n }\n #stdin;\n #stdout;\n #stderr;\n #stdioObject;\n #encoding;\n #stdioOptions;\n #createStdioObject() {\n return Object.create(null, {\n 0: {\n get: () => this.stdin\n },\n 1: {\n get: () => this.stdout\n },\n 2: {\n get: () => this.stderr\n }\n });\n }\n get stdin() {\n return this.#stdin \?\?= this.#getBunSpawnIo(0, this.#encoding);\n }\n get stdout() {\n return this.#stdout \?\?= this.#getBunSpawnIo(1, this.#encoding);\n }\n get stderr() {\n return this.#stderr \?\?= this.#getBunSpawnIo(2, this.#encoding);\n }\n get stdio() {\n return this.#stdioObject \?\?= this.#createStdioObject();\n }\n spawn(options) {\n validateObject(options, \"options\"), validateString(options.file, \"options.file\");\n var file = this.spawnfile = options.file, spawnargs;\n if (options.args == null)\n spawnargs = this.spawnargs = [];\n else\n validateArray(options.args, \"options.args\"), spawnargs = this.spawnargs = options.args;\n const stdio = options.stdio || [\"pipe\", \"pipe\", \"pipe\"], bunStdio = getBunStdioFromOptions(stdio), ipc = @isArray(stdio) && stdio[3] === \"ipc\";\n var env = options.envPairs || @undefined;\n const detachedOption = options.detached;\n if (this.#encoding = options.encoding || @undefined, this.#stdioOptions = bunStdio, this.#handle = Bun.spawn({\n cmd: spawnargs,\n stdin: bunStdio[0],\n stdout: bunStdio[1],\n stderr: bunStdio[2],\n cwd: options.cwd || @undefined,\n env: env || process.env,\n detached: typeof detachedOption !== \"undefined\" \? !!detachedOption : !1,\n onExit: (handle, exitCode, signalCode, err) => {\n this.#handle = handle, this.pid = this.#handle.pid, process.nextTick((exitCode2, signalCode2, err2) => this.#handleOnExit(exitCode2, signalCode2, err2), exitCode, signalCode, err);\n },\n lazy: !0,\n ipc: ipc \? this.#emitIpcMessage.bind(this) : @undefined\n }), this.pid = this.#handle.pid, onSpawnNT(this), ipc)\n this.send = this.#send, this.disconnect = this.#disconnect;\n }\n #emitIpcMessage(message) {\n this.emit(\"message\", message);\n }\n #send(message, handle, options, callback) {\n if (typeof handle === \"function\")\n callback = handle, handle = @undefined, options = @undefined;\n else if (typeof options === \"function\")\n callback = options, options = @undefined;\n else if (options !== @undefined) {\n if (typeof options !== \"object\" || options === null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n }\n if (!this.#handle) {\n if (callback)\n process.nextTick(callback, @makeTypeError(\"Process was closed while trying to send message\"));\n else\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return !1;\n }\n try {\n if (this.#handle.send(message), callback)\n process.nextTick(callback);\n return !0;\n } catch (error) {\n if (callback)\n process.nextTick(callback, error);\n else\n this.emit(\"error\", error);\n return !1;\n }\n }\n #disconnect() {\n if (!this.connected) {\n this.emit(\"error\", @makeTypeError(\"Process was closed while trying to send message\"));\n return;\n }\n this.connected = !1, this.#handle.disconnect();\n }\n kill(sig) {\n const signal = sig === 0 \? sig : convertToValidSignal(sig === @undefined \? \"SIGTERM\" : sig);\n if (this.#handle)\n this.#handle.kill(signal);\n return this.#maybeClose(), !0;\n }\n #maybeClose() {\n if (this.#closesGot++, this.#closesGot === this.#closesNeeded)\n this.emit(\"close\", this.exitCode, this.signalCode);\n }\n ref() {\n if (this.#handle)\n this.#handle.ref();\n }\n unref() {\n if (this.#handle)\n this.#handle.unref();\n }\n}\nvar nodeToBunLookup = {\n ignore: null,\n pipe: \"pipe\",\n overlapped: \"pipe\",\n inherit: \"inherit\"\n};\n\nclass ShimmedStdin extends EventEmitter {\n constructor() {\n super();\n }\n write() {\n return !1;\n }\n destroy() {\n }\n end() {\n }\n pipe() {\n }\n}\n\nclass ShimmedStdioOutStream extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n pipe() {\n }\n}\nvar validateAbortSignal = (signal, name) => {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n};\nvar validateObject = (value, name, options = null) => {\n const allowArray = options\?.allowArray \?\? !1, allowFunction = options\?.allowFunction \?\? !1;\n if (!(options\?.nullable \?\? !1) && value === null || !allowArray && ArrayIsArray.@call(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE(name, \"object\", value);\n}, validateArray = (value, name, minLength = 0) => {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, Error = globalThis.Error, TypeError = globalThis.TypeError, RangeError = globalThis.RangeError;\n\nclass AbortError extends Error {\n code = \"ABORT_ERR\";\n name = \"AbortError\";\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n }\n}\n\nclass SystemError extends Error {\n path;\n syscall;\n errno;\n code;\n constructor(message, path, syscall, errno, code) {\n super(message);\n this.path = path, this.syscall = syscall, this.errno = errno, this.code = code;\n }\n get name() {\n return \"SystemError\";\n }\n}\n$ = {\n ChildProcess,\n spawn,\n execFile,\n exec,\n fork,\n spawnSync,\n execFileSync,\n execSync\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeClusterCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/cluster.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n\nclass Cluster extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n isWorker = !1;\n isPrimary = !0;\n isMaster = !0;\n workers = {};\n settings = {};\n SCHED_NONE = 1;\n SCHED_RR = 2;\n schedulingPolicy = 2;\n Worker = function Worker() {\n throwNotImplemented(\"node:cluster Worker\", 2428);\n };\n setupPrimary() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n setupMaster() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n fork() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n disconnect() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n}\nreturn new Cluster})\n"); +static constexpr ASCIILiteral NodeClusterCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/cluster.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n\nclass Cluster extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n isWorker = !1;\n isPrimary = !0;\n isMaster = !0;\n workers = {};\n settings = {};\n SCHED_NONE = 1;\n SCHED_RR = 2;\n schedulingPolicy = 2;\n Worker = function Worker() {\n throwNotImplemented(\"node:cluster Worker\", 2428);\n };\n setupPrimary() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n setupMaster() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n fork() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n disconnect() {\n throwNotImplemented(\"node:cluster\", 2428);\n }\n}\nreturn new Cluster})\n"); // // -static constexpr ASCIILiteral NodeConsoleCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/console.ts\nreturn console})\n"); +static constexpr ASCIILiteral NodeConsoleCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/console.ts\nreturn console})\n"); // // -static constexpr ASCIILiteral NodeCryptoCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/crypto.ts\nvar exportIfKeyObject = function(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n return key2;\n}, getKeyFrom = function(key2, type) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n else if (!Buffer.isBuffer(key2) && typeof key2 === \"object\") {\n if ((typeof key2.format === \"string\" || typeof key2.passphrase === \"string\") && typeof key2.key !== \"undefined\")\n key2 = type === \"public\" \? _createPublicKey(key2).export() : _createPrivateKey(key2).export();\n } else if (typeof key2 === \"string\" && type === \"public\")\n key2.indexOf(\"PRIVATE KEY-----\") !== -1 && (key2 = _createPublicKey(key2).export());\n return key2;\n}, getArrayBufferOrView = function(buffer, name, encoding) {\n if (buffer instanceof KeyObject) {\n if (buffer.type !== \"secret\") {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key.type}, expected secret`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n buffer = buffer.export();\n }\n if (isAnyArrayBuffer(buffer))\n return buffer;\n if (typeof buffer === \"string\") {\n if (encoding === \"buffer\")\n encoding = \"utf8\";\n return Buffer.from(buffer, encoding);\n }\n if (!isArrayBufferView(buffer)) {\n var error = @makeTypeError(`ERR_INVALID_ARG_TYPE: The \"${name}\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received ` + buffer);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n return buffer;\n}, getCurves = function() {\n return harcoded_curves;\n}, _generateKeyPairSync = function(algorithm, options) {\n const result = generateKeyPairSync(algorithm, options);\n if (result) {\n const publicKeyEncoding = options\?.publicKeyEncoding, privateKeyEncoding = options\?.privateKeyEncoding;\n result.publicKey = publicKeyEncoding \? KeyObject.from(result.publicKey).export(publicKeyEncoding) : KeyObject.from(result.publicKey), result.privateKey = privateKeyEncoding \? KeyObject.from(result.privateKey).export(privateKeyEncoding) : KeyObject.from(result.privateKey);\n }\n return result;\n}, _createPrivateKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + actual_key);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPrivateKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, _createPublicKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type === \"private\")\n return KeyObject.from(createPublicKey({ key: key2[kCryptoKey] || key2, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n if (key2.passphrase) {\n let actual_key2 = key2.key;\n if (typeof actual_key2 === \"string\")\n actual_key2 = Buffer.from(actual_key2, key2.encoding || \"utf8\");\n return KeyObject.from(createPublicKey({\n key: createPrivateKey({ key: actual_key2, format: key2.format, passphrase: key2.passphrase }),\n format: \"\"\n }));\n }\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n if (actual_key.type === \"private\")\n return KeyObject.from(createPublicKey({ key: actual_key[kCryptoKey] || actual_key, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${actual_key.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPublicKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, $, __defProp = Object.defineProperty, __getOwnPropNames = Object.getOwnPropertyNames, StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), BufferModule = @requireNativeModule(\"buffer\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, MAX_STRING_LENGTH = 536870888, Buffer = globalThis.Buffer, EMPTY_BUFFER = Buffer.alloc(0), { isAnyArrayBuffer, isArrayBufferView } = @requireNativeModule(\"util/types\"), crypto = globalThis.crypto, globalCrypto = crypto, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, require_safe_buffer = __commonJS({\n \"node_modules/safe-buffer/index.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src)\n dst[key2] = src[key2];\n }\n Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow \? module.exports = buffer : (copyProps(buffer, exports), exports.Buffer = SafeBuffer);\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer2(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer2.prototype), copyProps(Buffer2, SafeBuffer), SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg == \"number\")\n @throwTypeError(\"Argument must not be a number\");\n return Buffer2(arg, encodingOrOffset, length);\n }, SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n var buf = Buffer2(size);\n return fill !== void 0 \? typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill) : buf.fill(0), buf;\n }, SafeBuffer.allocUnsafe = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return Buffer2(size);\n }, SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return buffer.SlowBuffer(size);\n };\n }\n}), require_browser = __commonJS({\n \"node_modules/randombytes/browser.js\"(exports, module) {\n var MAX_BYTES = 65536, MAX_UINT32 = 4294967295;\n function oldBrowser() {\n throw new Error(`Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11`);\n }\n var Buffer2 = require_safe_buffer().Buffer, crypto2 = globalCrypto;\n crypto2 && crypto2.getRandomValues \? module.exports = randomBytes : module.exports = oldBrowser;\n function randomBytes(size, cb) {\n if (size > MAX_UINT32)\n @throwRangeError(\"requested too many random bytes\");\n var bytes = Buffer2.allocUnsafe(size);\n if (size > 0)\n if (size > MAX_BYTES)\n for (var generated = 0;generated < size; generated += MAX_BYTES)\n crypto2.getRandomValues(bytes.slice(generated, generated + MAX_BYTES));\n else\n crypto2.getRandomValues(bytes);\n return typeof cb == \"function\" \? process.nextTick(function() {\n cb(null, bytes);\n }) : bytes;\n }\n }\n}), require_inherits_browser = __commonJS({\n \"node_modules/inherits/inherits_browser.js\"(exports, module) {\n module.exports = function(ctor, superCtor) {\n superCtor && (ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }));\n };\n }\n}), require_hash_base = __commonJS({\n \"node_modules/hash-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function throwIfNotStringOrBuffer(val, prefix) {\n if (!Buffer2.isBuffer(val) && typeof val != \"string\")\n @throwTypeError(prefix + \" must be a string or a buffer\");\n }\n function HashBase(blockSize) {\n StreamModule.Transform.@call(this), this._block = Buffer2.allocUnsafe(blockSize), this._blockSize = blockSize, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1;\n }\n inherits(HashBase, StreamModule.Transform), HashBase.prototype._transform = function(chunk, encoding, callback) {\n var error = null;\n try {\n this.update(chunk, encoding);\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype._flush = function(callback) {\n var error = null;\n try {\n this.push(this.digest());\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype.update = function(data, encoding) {\n if (throwIfNotStringOrBuffer(data, \"Data\"), this._finalized)\n throw new Error(\"Digest already called\");\n Buffer2.isBuffer(data) || (data = Buffer2.from(data, encoding));\n for (var block = this._block, offset = 0;this._blockOffset + data.length - offset >= this._blockSize; ) {\n for (var i = this._blockOffset;i < this._blockSize; )\n block[i++] = data[offset++];\n this._update(), this._blockOffset = 0;\n }\n for (;offset < data.length; )\n block[this._blockOffset++] = data[offset++];\n for (var j = 0, carry = data.length * 8;carry > 0; ++j)\n this._length[j] += carry, carry = this._length[j] / 4294967296 | 0, carry > 0 && (this._length[j] -= 4294967296 * carry);\n return this;\n }, HashBase.prototype._update = function() {\n throw new Error(\"_update is not implemented\");\n }, HashBase.prototype.digest = function(encoding) {\n if (this._finalized)\n throw new Error(\"Digest already called\");\n this._finalized = !0;\n var digest = this._digest();\n encoding !== void 0 && (digest = digest.toString(encoding)), this._block.fill(0), this._blockOffset = 0;\n for (var i = 0;i < 4; ++i)\n this._length[i] = 0;\n return digest;\n }, HashBase.prototype._digest = function() {\n throw new Error(\"_digest is not implemented\");\n }, module.exports = HashBase;\n }\n}), require_md5 = __commonJS({\n \"node_modules/md5.js/index.js\"(exports, module) {\n var inherits = require_inherits_browser(), HashBase = require_hash_base(), Buffer2 = require_safe_buffer().Buffer, ARRAY16 = new @Array(16);\n function MD5() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878;\n }\n inherits(MD5, HashBase), MD5.prototype._update = function() {\n for (var M = ARRAY16, i = 0;i < 16; ++i)\n M[i] = this._block.readInt32LE(i * 4);\n var a = this._a, b = this._b, c = this._c, d = this._d;\n a = fnF(a, b, c, d, M[0], 3614090360, 7), d = fnF(d, a, b, c, M[1], 3905402710, 12), c = fnF(c, d, a, b, M[2], 606105819, 17), b = fnF(b, c, d, a, M[3], 3250441966, 22), a = fnF(a, b, c, d, M[4], 4118548399, 7), d = fnF(d, a, b, c, M[5], 1200080426, 12), c = fnF(c, d, a, b, M[6], 2821735955, 17), b = fnF(b, c, d, a, M[7], 4249261313, 22), a = fnF(a, b, c, d, M[8], 1770035416, 7), d = fnF(d, a, b, c, M[9], 2336552879, 12), c = fnF(c, d, a, b, M[10], 4294925233, 17), b = fnF(b, c, d, a, M[11], 2304563134, 22), a = fnF(a, b, c, d, M[12], 1804603682, 7), d = fnF(d, a, b, c, M[13], 4254626195, 12), c = fnF(c, d, a, b, M[14], 2792965006, 17), b = fnF(b, c, d, a, M[15], 1236535329, 22), a = fnG(a, b, c, d, M[1], 4129170786, 5), d = fnG(d, a, b, c, M[6], 3225465664, 9), c = fnG(c, d, a, b, M[11], 643717713, 14), b = fnG(b, c, d, a, M[0], 3921069994, 20), a = fnG(a, b, c, d, M[5], 3593408605, 5), d = fnG(d, a, b, c, M[10], 38016083, 9), c = fnG(c, d, a, b, M[15], 3634488961, 14), b = fnG(b, c, d, a, M[4], 3889429448, 20), a = fnG(a, b, c, d, M[9], 568446438, 5), d = fnG(d, a, b, c, M[14], 3275163606, 9), c = fnG(c, d, a, b, M[3], 4107603335, 14), b = fnG(b, c, d, a, M[8], 1163531501, 20), a = fnG(a, b, c, d, M[13], 2850285829, 5), d = fnG(d, a, b, c, M[2], 4243563512, 9), c = fnG(c, d, a, b, M[7], 1735328473, 14), b = fnG(b, c, d, a, M[12], 2368359562, 20), a = fnH(a, b, c, d, M[5], 4294588738, 4), d = fnH(d, a, b, c, M[8], 2272392833, 11), c = fnH(c, d, a, b, M[11], 1839030562, 16), b = fnH(b, c, d, a, M[14], 4259657740, 23), a = fnH(a, b, c, d, M[1], 2763975236, 4), d = fnH(d, a, b, c, M[4], 1272893353, 11), c = fnH(c, d, a, b, M[7], 4139469664, 16), b = fnH(b, c, d, a, M[10], 3200236656, 23), a = fnH(a, b, c, d, M[13], 681279174, 4), d = fnH(d, a, b, c, M[0], 3936430074, 11), c = fnH(c, d, a, b, M[3], 3572445317, 16), b = fnH(b, c, d, a, M[6], 76029189, 23), a = fnH(a, b, c, d, M[9], 3654602809, 4), d = fnH(d, a, b, c, M[12], 3873151461, 11), c = fnH(c, d, a, b, M[15], 530742520, 16), b = fnH(b, c, d, a, M[2], 3299628645, 23), a = fnI(a, b, c, d, M[0], 4096336452, 6), d = fnI(d, a, b, c, M[7], 1126891415, 10), c = fnI(c, d, a, b, M[14], 2878612391, 15), b = fnI(b, c, d, a, M[5], 4237533241, 21), a = fnI(a, b, c, d, M[12], 1700485571, 6), d = fnI(d, a, b, c, M[3], 2399980690, 10), c = fnI(c, d, a, b, M[10], 4293915773, 15), b = fnI(b, c, d, a, M[1], 2240044497, 21), a = fnI(a, b, c, d, M[8], 1873313359, 6), d = fnI(d, a, b, c, M[15], 4264355552, 10), c = fnI(c, d, a, b, M[6], 2734768916, 15), b = fnI(b, c, d, a, M[13], 1309151649, 21), a = fnI(a, b, c, d, M[4], 4149444226, 6), d = fnI(d, a, b, c, M[11], 3174756917, 10), c = fnI(c, d, a, b, M[2], 718787259, 15), b = fnI(b, c, d, a, M[9], 3951481745, 21), this._a = this._a + a | 0, this._b = this._b + b | 0, this._c = this._c + c | 0, this._d = this._d + d | 0;\n }, MD5.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.allocUnsafe(16);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fnF(a, b, c, d, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + b | 0;\n }\n function fnG(a, b, c, d, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + b | 0;\n }\n function fnH(a, b, c, d, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + b | 0;\n }\n function fnI(a, b, c, d, m, k, s) {\n return rotl(a + (c ^ (b | ~d)) + m + k | 0, s) + b | 0;\n }\n module.exports = MD5;\n }\n}), require_ripemd160 = __commonJS({\n \"node_modules/ripemd160/index.js\"(exports, module) {\n var Buffer2 = Buffer, inherits = require_inherits_browser(), HashBase = require_hash_base(), ARRAY16 = new @Array(16), zl = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], zr = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], sl = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sr = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ], hl = [0, 1518500249, 1859775393, 2400959708, 2840853838], hr = [1352829926, 1548603684, 1836072691, 2053994217, 0];\n function RIPEMD160() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520;\n }\n inherits(RIPEMD160, HashBase), RIPEMD160.prototype._update = function() {\n for (var words = ARRAY16, j = 0;j < 16; ++j)\n words[j] = this._block.readInt32LE(j * 4);\n for (var al = this._a | 0, bl = this._b | 0, cl = this._c | 0, dl = this._d | 0, el = this._e | 0, ar = this._a | 0, br = this._b | 0, cr = this._c | 0, dr = this._d | 0, er = this._e | 0, i = 0;i < 80; i += 1) {\n var tl, tr;\n i < 16 \? (tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i]), tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])) : i < 32 \? (tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i]), tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])) : i < 48 \? (tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i]), tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])) : i < 64 \? (tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i]), tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])) : (tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i]), tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])), al = el, el = dl, dl = rotl(cl, 10), cl = bl, bl = tl, ar = er, er = dr, dr = rotl(cr, 10), cr = br, br = tr;\n }\n var t = this._b + cl + dr | 0;\n this._b = this._c + dl + er | 0, this._c = this._d + el + ar | 0, this._d = this._e + al + br | 0, this._e = this._a + bl + cr | 0, this._a = t;\n }, RIPEMD160.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.alloc \? Buffer2.alloc(20) : new Buffer2(20);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer.writeInt32LE(this._e, 16), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fn1(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + e | 0;\n }\n function fn2(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + e | 0;\n }\n function fn3(a, b, c, d, e, m, k, s) {\n return rotl(a + ((b | ~c) ^ d) + m + k | 0, s) + e | 0;\n }\n function fn4(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + e | 0;\n }\n function fn5(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ (c | ~d)) + m + k | 0, s) + e | 0;\n }\n module.exports = RIPEMD160;\n }\n}), require_hash = __commonJS({\n \"node_modules/sha.js/hash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function Hash(blockSize, finalSize) {\n this._block = Buffer2.alloc(blockSize), this._finalSize = finalSize, this._blockSize = blockSize, this._len = 0;\n }\n Hash.prototype = {}, Hash.prototype.update = function(data, enc) {\n typeof data == \"string\" && (enc = enc || \"utf8\", data = Buffer2.from(data, enc));\n for (var block = this._block, blockSize = this._blockSize, length = data.length, accum = this._len, offset = 0;offset < length; ) {\n for (var assigned = accum % blockSize, remainder = Math.min(length - offset, blockSize - assigned), i = 0;i < remainder; i++)\n block[assigned + i] = data[offset + i];\n accum += remainder, offset += remainder, accum % blockSize === 0 && this._update(block);\n }\n return this._len += length, this;\n }, Hash.prototype.digest = function(enc) {\n var rem = this._len % this._blockSize;\n this._block[rem] = 128, this._block.fill(0, rem + 1), rem >= this._finalSize && (this._update(this._block), this._block.fill(0));\n var bits = this._len * 8;\n if (bits <= 4294967295)\n this._block.writeUInt32BE(bits, this._blockSize - 4);\n else {\n var lowBits = (bits & 4294967295) >>> 0, highBits = (bits - lowBits) / 4294967296;\n this._block.writeUInt32BE(highBits, this._blockSize - 8), this._block.writeUInt32BE(lowBits, this._blockSize - 4);\n }\n this._update(this._block);\n var hash = this._hash();\n return enc \? hash.toString(enc) : hash;\n }, Hash.prototype._update = function() {\n throw new Error(\"_update must be implemented by subclass\");\n }, module.exports = Hash;\n }\n}), require_sha = __commonJS({\n \"node_modules/sha.js/sha.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha, Hash), Sha.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16];\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha;\n }\n}), require_sha1 = __commonJS({\n \"node_modules/sha.js/sha1.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha1() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha1, Hash), Sha1.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl1(num) {\n return num << 1 | num >>> 31;\n }\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha1.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = rotl1(W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16]);\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha1.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha1;\n }\n}), require_sha256 = __commonJS({\n \"node_modules/sha.js/sha256.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ], W = new @Array(64);\n function Sha256() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha256, Hash), Sha256.prototype.init = function() {\n return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this;\n };\n function ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10);\n }\n function sigma1(x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7);\n }\n function gamma0(x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3;\n }\n function gamma1(x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10;\n }\n Sha256.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, f = this._f | 0, g = this._g | 0, h = this._h | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 64; ++i)\n W2[i] = gamma1(W2[i - 2]) + W2[i - 7] + gamma0(W2[i - 15]) + W2[i - 16] | 0;\n for (var j = 0;j < 64; ++j) {\n var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W2[j] | 0, T2 = sigma0(a) + maj(a, b, c) | 0;\n h = g, g = f, f = e, e = d + T1 | 0, d = c, c = b, b = a, a = T1 + T2 | 0;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0, this._f = f + this._f | 0, this._g = g + this._g | 0, this._h = h + this._h | 0;\n }, Sha256.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(32);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H.writeInt32BE(this._h, 28), H;\n }, module.exports = Sha256;\n }\n}), require_sha224 = __commonJS({\n \"node_modules/sha.js/sha224.js\"(exports, module) {\n var inherits = require_inherits_browser(), Sha256 = require_sha256(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(64);\n function Sha224() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha224, Sha256), Sha224.prototype.init = function() {\n return this._a = 3238371032, this._b = 914150663, this._c = 812702999, this._d = 4144912697, this._e = 4290775857, this._f = 1750603025, this._g = 1694076839, this._h = 3204075428, this;\n }, Sha224.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(28);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H;\n }, module.exports = Sha224;\n }\n}), require_sha512 = __commonJS({\n \"node_modules/sha.js/sha512.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ], W = new @Array(160);\n function Sha512() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha512, Hash), Sha512.prototype.init = function() {\n return this._ah = 1779033703, this._bh = 3144134277, this._ch = 1013904242, this._dh = 2773480762, this._eh = 1359893119, this._fh = 2600822924, this._gh = 528734635, this._hh = 1541459225, this._al = 4089235720, this._bl = 2227873595, this._cl = 4271175723, this._dl = 1595750129, this._el = 2917565137, this._fl = 725511199, this._gl = 4215389547, this._hl = 327033209, this;\n };\n function Ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25);\n }\n function sigma1(x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23);\n }\n function Gamma0(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7;\n }\n function Gamma0l(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25);\n }\n function Gamma1(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6;\n }\n function Gamma1l(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26);\n }\n function getCarry(a, b) {\n return a >>> 0 < b >>> 0 \? 1 : 0;\n }\n Sha512.prototype._update = function(M) {\n for (var W2 = this._w, ah = this._ah | 0, bh = this._bh | 0, ch = this._ch | 0, dh = this._dh | 0, eh = this._eh | 0, fh = this._fh | 0, gh = this._gh | 0, hh = this._hh | 0, al = this._al | 0, bl = this._bl | 0, cl = this._cl | 0, dl = this._dl | 0, el = this._el | 0, fl = this._fl | 0, gl = this._gl | 0, hl = this._hl | 0, i = 0;i < 32; i += 2)\n W2[i] = M.readInt32BE(i * 4), W2[i + 1] = M.readInt32BE(i * 4 + 4);\n for (;i < 160; i += 2) {\n var xh = W2[i - 30], xl = W2[i - 30 + 1], gamma0 = Gamma0(xh, xl), gamma0l = Gamma0l(xl, xh);\n xh = W2[i - 4], xl = W2[i - 4 + 1];\n var gamma1 = Gamma1(xh, xl), gamma1l = Gamma1l(xl, xh), Wi7h = W2[i - 14], Wi7l = W2[i - 14 + 1], Wi16h = W2[i - 32], Wi16l = W2[i - 32 + 1], Wil = gamma0l + Wi7l | 0, Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0;\n Wil = Wil + gamma1l | 0, Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0, Wil = Wil + Wi16l | 0, Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0, W2[i] = Wih, W2[i + 1] = Wil;\n }\n for (var j = 0;j < 160; j += 2) {\n Wih = W2[j], Wil = W2[j + 1];\n var majh = maj(ah, bh, ch), majl = maj(al, bl, cl), sigma0h = sigma0(ah, al), sigma0l = sigma0(al, ah), sigma1h = sigma1(eh, el), sigma1l = sigma1(el, eh), Kih = K[j], Kil = K[j + 1], chh = Ch(eh, fh, gh), chl = Ch(el, fl, gl), t1l = hl + sigma1l | 0, t1h = hh + sigma1h + getCarry(t1l, hl) | 0;\n t1l = t1l + chl | 0, t1h = t1h + chh + getCarry(t1l, chl) | 0, t1l = t1l + Kil | 0, t1h = t1h + Kih + getCarry(t1l, Kil) | 0, t1l = t1l + Wil | 0, t1h = t1h + Wih + getCarry(t1l, Wil) | 0;\n var t2l = sigma0l + majl | 0, t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0;\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, el = dl + t1l | 0, eh = dh + t1h + getCarry(el, dl) | 0, dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, al = t1l + t2l | 0, ah = t1h + t2h + getCarry(al, t1l) | 0;\n }\n this._al = this._al + al | 0, this._bl = this._bl + bl | 0, this._cl = this._cl + cl | 0, this._dl = this._dl + dl | 0, this._el = this._el + el | 0, this._fl = this._fl + fl | 0, this._gl = this._gl + gl | 0, this._hl = this._hl + hl | 0, this._ah = this._ah + ah + getCarry(this._al, al) | 0, this._bh = this._bh + bh + getCarry(this._bl, bl) | 0, this._ch = this._ch + ch + getCarry(this._cl, cl) | 0, this._dh = this._dh + dh + getCarry(this._dl, dl) | 0, this._eh = this._eh + eh + getCarry(this._el, el) | 0, this._fh = this._fh + fh + getCarry(this._fl, fl) | 0, this._gh = this._gh + gh + getCarry(this._gl, gl) | 0, this._hh = this._hh + hh + getCarry(this._hl, hl) | 0;\n }, Sha512.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(64);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), writeInt64BE(this._gh, this._gl, 48), writeInt64BE(this._hh, this._hl, 56), H;\n }, module.exports = Sha512;\n }\n}), require_sha384 = __commonJS({\n \"node_modules/sha.js/sha384.js\"(exports, module) {\n var inherits = require_inherits_browser(), SHA512 = require_sha512(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(160);\n function Sha384() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha384, SHA512), Sha384.prototype.init = function() {\n return this._ah = 3418070365, this._bh = 1654270250, this._ch = 2438529370, this._dh = 355462360, this._eh = 1731405415, this._fh = 2394180231, this._gh = 3675008525, this._hh = 1203062813, this._al = 3238371032, this._bl = 914150663, this._cl = 812702999, this._dl = 4144912697, this._el = 4290775857, this._fl = 1750603025, this._gl = 1694076839, this._hl = 3204075428, this;\n }, Sha384.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(48);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), H;\n }, module.exports = Sha384;\n }\n}), require_sha2 = __commonJS({\n \"node_modules/sha.js/index.js\"(exports, module) {\n var exports = module.exports = function(algorithm) {\n algorithm = algorithm.toLowerCase();\n var Algorithm = exports[algorithm];\n if (!Algorithm)\n throw new Error(algorithm + \" is not supported (we accept pull requests)\");\n return new Algorithm;\n };\n exports.sha = require_sha(), exports.sha1 = require_sha1(), exports.sha224 = require_sha224(), exports.sha256 = require_sha256(), exports.sha384 = require_sha384(), exports.sha512 = require_sha512();\n }\n}), require_cipher_base = __commonJS({\n \"node_modules/cipher-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function CipherBase(hashMode) {\n StreamModule.Transform.@call(this), this.hashMode = typeof hashMode == \"string\", this.hashMode \? this[hashMode] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null, this._finalized = !1;\n }\n inherits(CipherBase, StreamModule.Transform), CipherBase.prototype.update = function(data, inputEnc, outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n typeof data == \"string\" && (data = Buffer2.from(data, inputEnc));\n var outData = this._update(data);\n return this.hashMode \? this : (outputEnc && (outData = this._toString(outData, outputEnc)), outData);\n }, CipherBase.prototype.setAutoPadding = function() {\n }, CipherBase.prototype.getAuthTag = function() {\n throw new Error(\"trying to get auth tag in unsupported state\");\n }, CipherBase.prototype.setAuthTag = function() {\n throw new Error(\"trying to set auth tag in unsupported state\");\n }, CipherBase.prototype.setAAD = function() {\n throw new Error(\"trying to set aad in unsupported state\");\n }, CipherBase.prototype._transform = function(data, _, next) {\n var err;\n try {\n this.hashMode \? this._update(data) : this.push(this._update(data));\n } catch (e) {\n err = e;\n } finally {\n next(err);\n }\n }, CipherBase.prototype._flush = function(done) {\n var err;\n try {\n this.push(this.__final());\n } catch (e) {\n err = e;\n }\n done(err);\n }, CipherBase.prototype._finalOrDigest = function(outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n if (this._finalized) {\n if (!this._encoding)\n return Buffer2.alloc(0);\n return \"\";\n }\n this._finalized = !0;\n var outData = this.__final() || Buffer2.alloc(0);\n return outputEnc && (outData = this._toString(outData, outputEnc, !0)), outData;\n }, CipherBase.prototype._toString = function(value, enc, fin) {\n if (this._decoder || (this._decoder = new StringDecoder(enc), this._encoding = enc), this._encoding !== enc)\n throw new Error(\"can't switch encodings\");\n var out = this._decoder.write(value);\n return fin && (out += this._decoder.end()), out;\n }, module.exports = CipherBase;\n }\n}), require_browser2 = __commonJS({\n \"node_modules/create-hash/browser.js\"(exports, module) {\n const LazyHash = function Hash(algorithm, options) {\n this._options = options, this._hasher = new CryptoHasher(algorithm, options), this._finalized = !1;\n };\n LazyHash.prototype = Object.create(StreamModule.Transform.prototype), LazyHash.prototype.update = function update(data, encoding) {\n return this._checkFinalized(), this._hasher.update(data, encoding), this;\n }, LazyHash.prototype.digest = function update(data, encoding) {\n return this._checkFinalized(), this._finalized = !0, this._hasher.digest(data, encoding);\n }, LazyHash.prototype._checkFinalized = function _checkFinalized() {\n if (this._finalized) {\n var err = new Error(\"Digest already called\");\n throw err.code = \"ERR_CRYPTO_HASH_FINALIZED\", err;\n }\n }, LazyHash.prototype.copy = function copy() {\n const copy = Object.create(LazyHash.prototype);\n return copy._options = this._options, copy._hasher = this._hasher.copy(), copy._finalized = this._finalized, copy;\n };\n const lazyHashFullInitProto = {\n __proto__: StreamModule.Transform.prototype,\n ...LazyHash.prototype,\n _transform(data, encoding, callback) {\n this.update(data, encoding), callback && callback();\n },\n _flush(callback) {\n this.push(this.digest()), callback();\n }\n }, triggerMethods = [\n \"_events\",\n \"_eventsCount\",\n \"_final\",\n \"_maxListeners\",\n \"_maxListeners\",\n \"_read\",\n \"_undestroy\",\n \"_writableState\",\n \"_write\",\n \"_writev\",\n \"addListener\",\n \"asIndexedPairs\",\n \"closed\",\n \"compose\",\n \"constructor\",\n \"cork\",\n \"destroy\",\n \"destroyed\",\n \"drop\",\n \"emit\",\n \"end\",\n \"errored\",\n \"eventNames\",\n \"every\",\n \"filter\",\n \"find\",\n \"flatMap\",\n \"forEach\",\n \"getMaxListeners\",\n \"hasOwnProperty\",\n \"isPaused\",\n \"isPrototypeOf\",\n \"iterator\",\n \"listenerCount\",\n \"listeners\",\n \"map\",\n \"off\",\n \"on\",\n \"once\",\n \"pause\",\n \"pipe\",\n \"prependListener\",\n \"prependOnceListener\",\n \"propertyIsEnumerable\",\n \"push\",\n \"rawListeners\",\n \"read\",\n \"readable\",\n \"readableAborted\",\n \"readableBuffer\",\n \"readableDidRead\",\n \"readableEncoding\",\n \"readableEnded\",\n \"readableFlowing\",\n \"readableHighWaterMark\",\n \"readableLength\",\n \"readableObjectMode\",\n \"reduce\",\n \"removeAllListeners\",\n \"removeListener\",\n \"resume\",\n \"setDefaultEncoding\",\n \"setEncoding\",\n \"setMaxListeners\",\n \"some\",\n \"take\",\n \"toArray\",\n \"toLocaleString\",\n \"toString\",\n \"uncork\",\n \"unpipe\",\n \"unshift\",\n \"valueOf\",\n \"wrap\",\n \"writable\",\n \"writableBuffer\",\n \"writableCorked\",\n \"writableEnded\",\n \"writableFinished\",\n \"writableHighWaterMark\",\n \"writableLength\",\n \"writableNeedDrain\",\n \"writableObjectMode\",\n \"write\"\n ];\n for (let method of triggerMethods)\n Object.defineProperty(LazyHash.prototype, method, {\n get() {\n return Object.setPrototypeOf(this, lazyHashFullInitProto), StreamModule.Transform.@call(this, this._options), this[method];\n },\n enumerable: !1,\n configurable: !0\n });\n module.exports = function createHash(algorithm) {\n return new LazyHash(algorithm);\n }, module.exports.createHash = module.exports, module.exports.Hash = LazyHash;\n }\n}), require_legacy = __commonJS({\n \"node_modules/create-hmac/legacy.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, Base = require_cipher_base(), ZEROS = Buffer2.alloc(128), blocksize = 64;\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2)), this._alg = alg, this._key = key2, key2.length > blocksize \? key2 = alg(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = [ipad];\n }\n Hmac.prototype = {}, inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.push(data);\n }, Hmac.prototype._final = function() {\n var h = this._alg(Buffer2.concat(this._hash));\n return this._alg(Buffer2.concat([this._opad, h]));\n }, module.exports = Hmac;\n }\n}), require_md52 = __commonJS({\n \"node_modules/create-hash/md5.js\"(exports, module) {\n var MD5 = require_md5();\n module.exports = function(buffer) {\n return new MD5().update(buffer).digest();\n };\n }\n}), require_browser3 = __commonJS({\n \"node_modules/create-hmac/browser.js\"(exports, module) {\n var inherits = require_inherits_browser(), Legacy = require_legacy(), Base = require_cipher_base(), Buffer2 = require_safe_buffer().Buffer, md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), ZEROS = Buffer2.alloc(128);\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2));\n var blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n if (this._alg = alg, this._key = key2, key2.length > blocksize) {\n var hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg);\n key2 = hash.update(key2).digest();\n } else\n key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg), this._hash.update(ipad);\n }\n inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.update(data);\n }, Hmac.prototype._final = function() {\n var h = this._hash.digest(), hash = this._alg === \"rmd160\" \? new RIPEMD160 : sha(this._alg);\n return hash.update(this._opad).update(h).digest();\n }, module.exports = function(alg, key2) {\n return key2 = exportIfKeyObject(key2), alg = alg.toLowerCase(), alg === \"rmd160\" || alg === \"ripemd160\" \? new Hmac(\"rmd160\", key2) : alg === \"md5\" \? new Legacy(md5, key2) : new Hmac(alg, key2);\n };\n }\n}), require_algorithms = __commonJS({\n \"node_modules/browserify-sign/browser/algorithms.json\"(exports, module) {\n module.exports = {\n sha224WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n \"RSA-SHA224\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n sha256WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n \"RSA-SHA256\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n sha384WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n \"RSA-SHA384\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n sha512WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA512\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA1\": {\n sign: \"rsa\",\n hash: \"sha1\",\n id: \"3021300906052b0e03021a05000414\"\n },\n \"ecdsa-with-SHA1\": {\n sign: \"ecdsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha1: {\n sign: \"ecdsa/rsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha256: {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"\"\n },\n sha224: {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"\"\n },\n sha384: {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"\"\n },\n sha512: {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-SHA1\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n DSA: {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-WITH-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-WITH-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-WITH-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-WITH-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-RIPEMD160\": {\n sign: \"dsa\",\n hash: \"rmd160\",\n id: \"\"\n },\n ripemd160WithRSA: {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n \"RSA-RIPEMD160\": {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n md5WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n },\n \"RSA-MD5\": {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n }\n };\n }\n}), require_algos = __commonJS({\n \"node_modules/browserify-sign/algos.js\"(exports, module) {\n module.exports = require_algorithms();\n }\n}), require_precondition = __commonJS({\n \"node_modules/pbkdf2/lib/precondition.js\"(exports, module) {\n var MAX_ALLOC = Math.pow(2, 30) - 1;\n module.exports = function(iterations, keylen) {\n if (typeof iterations != \"number\")\n @throwTypeError(\"Iterations not a number\");\n if (iterations < 0)\n @throwTypeError(\"Bad iterations\");\n if (typeof keylen != \"number\")\n @throwTypeError(\"Key length not a number\");\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen)\n @throwTypeError(\"Bad key length\");\n };\n }\n}), require_default_encoding = __commonJS({\n \"node_modules/pbkdf2/lib/default-encoding.js\"(exports, module) {\n var defaultEncoding;\n global.process && global.process.browser \? defaultEncoding = \"utf-8\" : global.process && global.process.version \? (pVersionMajor = parseInt(process.version.split(\".\")[0].slice(1), 10), defaultEncoding = pVersionMajor >= 6 \? \"utf-8\" : \"binary\") : defaultEncoding = \"utf-8\";\n var pVersionMajor;\n module.exports = defaultEncoding;\n }\n}), require_to_buffer = __commonJS({\n \"node_modules/pbkdf2/lib/to-buffer.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(thing, encoding, name) {\n if (Buffer2.isBuffer(thing))\n return thing;\n if (typeof thing == \"string\")\n return Buffer2.from(thing, encoding);\n if (@ArrayBuffer.isView(thing))\n return Buffer2.from(thing.buffer);\n @throwTypeError(name + \" must be a string, a Buffer, a typed array or a DataView\");\n };\n }\n}), require_sync_browser = __commonJS({\n \"node_modules/pbkdf2/lib/sync-browser.js\"(exports, module) {\n var md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), toBuffer = require_to_buffer(), ZEROS = Buffer2.alloc(128), sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n };\n function Hmac(alg, key2, saltLen) {\n key2 = exportIfKeyObject(key2);\n var hash = getDigest(alg), blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n key2.length > blocksize \? key2 = hash(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = Buffer2.allocUnsafe(blocksize + sizes[alg]), opad = Buffer2.allocUnsafe(blocksize + sizes[alg]), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n var ipad1 = Buffer2.allocUnsafe(blocksize + saltLen + 4);\n ipad.copy(ipad1, 0, 0, blocksize), this.ipad1 = ipad1, this.ipad2 = ipad, this.opad = opad, this.alg = alg, this.blocksize = blocksize, this.hash = hash, this.size = sizes[alg];\n }\n Hmac.prototype = {}, Hmac.prototype.run = function(data, ipad) {\n data.copy(ipad, this.blocksize);\n var h = this.hash(ipad);\n return h.copy(this.opad, this.blocksize), this.hash(this.opad);\n };\n function getDigest(alg) {\n function shaFunc(data) {\n return sha(alg).update(data).digest();\n }\n function rmd160Func(data) {\n return new RIPEMD160().update(data).digest();\n }\n return alg === \"rmd160\" || alg === \"ripemd160\" \? rmd160Func : alg === \"md5\" \? md5 : shaFunc;\n }\n function pbkdf2(password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), digest = digest || \"sha1\";\n var hmac = new Hmac(digest, password, salt.length), DK = Buffer2.allocUnsafe(keylen), block1 = Buffer2.allocUnsafe(salt.length + 4);\n salt.copy(block1, 0, 0, salt.length);\n for (var destPos = 0, hLen = sizes[digest], l = Math.ceil(keylen / hLen), i = 1;i <= l; i++) {\n block1.writeUInt32BE(i, salt.length);\n for (var T = hmac.run(block1, hmac.ipad1), U = T, j = 1;j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2);\n for (var k = 0;k < hLen; k++)\n T[k] ^= U[k];\n }\n T.copy(DK, destPos), destPos += hLen;\n }\n return DK;\n }\n module.exports = pbkdf2;\n }\n}), require_async = __commonJS({\n \"node_modules/pbkdf2/lib/async.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), sync = require_sync_browser(), toBuffer = require_to_buffer(), ZERO_BUF, subtle = globalCrypto.subtle, toBrowser = {\n sha: \"SHA-1\",\n \"sha-1\": \"SHA-1\",\n sha1: \"SHA-1\",\n sha256: \"SHA-256\",\n \"sha-256\": \"SHA-256\",\n sha384: \"SHA-384\",\n \"sha-384\": \"SHA-384\",\n \"sha-512\": \"SHA-512\",\n sha512: \"SHA-512\"\n }, checks = [];\n function checkNative(algo) {\n if (global.process && !global.process.browser || !subtle || !subtle.importKey || !subtle.deriveBits)\n return @Promise.resolve(!1);\n if (checks[algo] !== void 0)\n return checks[algo];\n ZERO_BUF = ZERO_BUF || Buffer2.alloc(8);\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo).then(function() {\n return !0;\n }).catch(function() {\n return !1;\n });\n return checks[algo] = prom, prom;\n }\n var nextTick;\n function getNextTick() {\n return nextTick || (global.process && global.process.nextTick \? nextTick = global.process.nextTick : global.queueMicrotask \? nextTick = global.queueMicrotask : global.setImmediate \? nextTick = global.setImmediate : nextTick = global.setTimeout, nextTick);\n }\n function browserPbkdf2(password, salt, iterations, length, algo) {\n return subtle.importKey(\"raw\", password, { name: \"PBKDF2\" }, !1, [\"deriveBits\"]).then(function(key2) {\n return subtle.deriveBits({\n name: \"PBKDF2\",\n salt,\n iterations,\n hash: {\n name: algo\n }\n }, key2, length << 3);\n }).then(function(res) {\n return Buffer2.from(res);\n });\n }\n function resolvePromise(promise, callback) {\n promise.then(function(out) {\n getNextTick()(function() {\n callback(null, out);\n });\n }, function(e) {\n getNextTick()(function() {\n callback(e);\n });\n });\n }\n module.exports = function(password, salt, iterations, keylen, digest, callback) {\n typeof digest == \"function\" && (callback = digest, digest = void 0), digest = digest || \"sha1\";\n var algo = toBrowser[digest.toLowerCase()];\n if (!algo || typeof global.Promise != \"function\") {\n getNextTick()(function() {\n var out;\n try {\n out = sync(password, salt, iterations, keylen, digest);\n } catch (e) {\n return callback(e);\n }\n callback(null, out);\n });\n return;\n }\n if (checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), typeof callback != \"function\")\n throw new Error(\"No callback provided to pbkdf2\");\n resolvePromise(checkNative(algo).then(function(resp) {\n return resp \? browserPbkdf2(password, salt, iterations, keylen, algo) : sync(password, salt, iterations, keylen, digest);\n }), callback);\n };\n }\n}), require_browser4 = __commonJS({\n \"node_modules/pbkdf2/browser.js\"(exports) {\n exports.pbkdf2 = require_async(), exports.pbkdf2Sync = require_sync_browser();\n }\n}), require_utils = __commonJS({\n \"node_modules/des.js/lib/des/utils.js\"(exports) {\n exports.readUInt32BE = function(bytes, off) {\n var res = bytes[0 + off] << 24 | bytes[1 + off] << 16 | bytes[2 + off] << 8 | bytes[3 + off];\n return res >>> 0;\n }, exports.writeUInt32BE = function(bytes, value, off) {\n bytes[0 + off] = value >>> 24, bytes[1 + off] = value >>> 16 & 255, bytes[2 + off] = value >>> 8 & 255, bytes[3 + off] = value & 255;\n }, exports.ip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 6;i >= 0; i -= 2) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >>> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >>> j + i & 1;\n }\n for (var i = 6;i >= 0; i -= 2) {\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inR >>> j + i & 1;\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inL >>> j + i & 1;\n }\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.rip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 0;i < 4; i++)\n for (var j = 24;j >= 0; j -= 8)\n outL <<= 1, outL |= inR >>> j + i & 1, outL <<= 1, outL |= inL >>> j + i & 1;\n for (var i = 4;i < 8; i++)\n for (var j = 24;j >= 0; j -= 8)\n outR <<= 1, outR |= inR >>> j + i & 1, outR <<= 1, outR |= inL >>> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.pc1 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 7;i >= 5; i--) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var i = 1;i <= 3; i++) {\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.r28shl = function(num, shift) {\n return num << shift & 268435455 | num >>> 28 - shift;\n };\n var pc2table = [\n 14,\n 11,\n 17,\n 4,\n 27,\n 23,\n 25,\n 0,\n 13,\n 22,\n 7,\n 18,\n 5,\n 9,\n 16,\n 24,\n 2,\n 20,\n 12,\n 21,\n 1,\n 8,\n 15,\n 26,\n 15,\n 4,\n 25,\n 19,\n 9,\n 1,\n 26,\n 16,\n 5,\n 11,\n 23,\n 8,\n 12,\n 7,\n 17,\n 0,\n 22,\n 3,\n 10,\n 14,\n 6,\n 20,\n 27,\n 24\n ];\n exports.pc2 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, len = pc2table.length >>> 1, i = 0;i < len; i++)\n outL <<= 1, outL |= inL >>> pc2table[i] & 1;\n for (var i = len;i < pc2table.length; i++)\n outR <<= 1, outR |= inR >>> pc2table[i] & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.expand = function(r, out, off) {\n var outL = 0, outR = 0;\n outL = (r & 1) << 5 | r >>> 27;\n for (var i = 23;i >= 15; i -= 4)\n outL <<= 6, outL |= r >>> i & 63;\n for (var i = 11;i >= 3; i -= 4)\n outR |= r >>> i & 63, outR <<= 6;\n outR |= (r & 31) << 1 | r >>> 31, out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n };\n var sTable = [\n 14,\n 0,\n 4,\n 15,\n 13,\n 7,\n 1,\n 4,\n 2,\n 14,\n 15,\n 2,\n 11,\n 13,\n 8,\n 1,\n 3,\n 10,\n 10,\n 6,\n 6,\n 12,\n 12,\n 11,\n 5,\n 9,\n 9,\n 5,\n 0,\n 3,\n 7,\n 8,\n 4,\n 15,\n 1,\n 12,\n 14,\n 8,\n 8,\n 2,\n 13,\n 4,\n 6,\n 9,\n 2,\n 1,\n 11,\n 7,\n 15,\n 5,\n 12,\n 11,\n 9,\n 3,\n 7,\n 14,\n 3,\n 10,\n 10,\n 0,\n 5,\n 6,\n 0,\n 13,\n 15,\n 3,\n 1,\n 13,\n 8,\n 4,\n 14,\n 7,\n 6,\n 15,\n 11,\n 2,\n 3,\n 8,\n 4,\n 14,\n 9,\n 12,\n 7,\n 0,\n 2,\n 1,\n 13,\n 10,\n 12,\n 6,\n 0,\n 9,\n 5,\n 11,\n 10,\n 5,\n 0,\n 13,\n 14,\n 8,\n 7,\n 10,\n 11,\n 1,\n 10,\n 3,\n 4,\n 15,\n 13,\n 4,\n 1,\n 2,\n 5,\n 11,\n 8,\n 6,\n 12,\n 7,\n 6,\n 12,\n 9,\n 0,\n 3,\n 5,\n 2,\n 14,\n 15,\n 9,\n 10,\n 13,\n 0,\n 7,\n 9,\n 0,\n 14,\n 9,\n 6,\n 3,\n 3,\n 4,\n 15,\n 6,\n 5,\n 10,\n 1,\n 2,\n 13,\n 8,\n 12,\n 5,\n 7,\n 14,\n 11,\n 12,\n 4,\n 11,\n 2,\n 15,\n 8,\n 1,\n 13,\n 1,\n 6,\n 10,\n 4,\n 13,\n 9,\n 0,\n 8,\n 6,\n 15,\n 9,\n 3,\n 8,\n 0,\n 7,\n 11,\n 4,\n 1,\n 15,\n 2,\n 14,\n 12,\n 3,\n 5,\n 11,\n 10,\n 5,\n 14,\n 2,\n 7,\n 12,\n 7,\n 13,\n 13,\n 8,\n 14,\n 11,\n 3,\n 5,\n 0,\n 6,\n 6,\n 15,\n 9,\n 0,\n 10,\n 3,\n 1,\n 4,\n 2,\n 7,\n 8,\n 2,\n 5,\n 12,\n 11,\n 1,\n 12,\n 10,\n 4,\n 14,\n 15,\n 9,\n 10,\n 3,\n 6,\n 15,\n 9,\n 0,\n 0,\n 6,\n 12,\n 10,\n 11,\n 1,\n 7,\n 13,\n 13,\n 8,\n 15,\n 9,\n 1,\n 4,\n 3,\n 5,\n 14,\n 11,\n 5,\n 12,\n 2,\n 7,\n 8,\n 2,\n 4,\n 14,\n 2,\n 14,\n 12,\n 11,\n 4,\n 2,\n 1,\n 12,\n 7,\n 4,\n 10,\n 7,\n 11,\n 13,\n 6,\n 1,\n 8,\n 5,\n 5,\n 0,\n 3,\n 15,\n 15,\n 10,\n 13,\n 3,\n 0,\n 9,\n 14,\n 8,\n 9,\n 6,\n 4,\n 11,\n 2,\n 8,\n 1,\n 12,\n 11,\n 7,\n 10,\n 1,\n 13,\n 14,\n 7,\n 2,\n 8,\n 13,\n 15,\n 6,\n 9,\n 15,\n 12,\n 0,\n 5,\n 9,\n 6,\n 10,\n 3,\n 4,\n 0,\n 5,\n 14,\n 3,\n 12,\n 10,\n 1,\n 15,\n 10,\n 4,\n 15,\n 2,\n 9,\n 7,\n 2,\n 12,\n 6,\n 9,\n 8,\n 5,\n 0,\n 6,\n 13,\n 1,\n 3,\n 13,\n 4,\n 14,\n 14,\n 0,\n 7,\n 11,\n 5,\n 3,\n 11,\n 8,\n 9,\n 4,\n 14,\n 3,\n 15,\n 2,\n 5,\n 12,\n 2,\n 9,\n 8,\n 5,\n 12,\n 15,\n 3,\n 10,\n 7,\n 11,\n 0,\n 14,\n 4,\n 1,\n 10,\n 7,\n 1,\n 6,\n 13,\n 0,\n 11,\n 8,\n 6,\n 13,\n 4,\n 13,\n 11,\n 0,\n 2,\n 11,\n 14,\n 7,\n 15,\n 4,\n 0,\n 9,\n 8,\n 1,\n 13,\n 10,\n 3,\n 14,\n 12,\n 3,\n 9,\n 5,\n 7,\n 12,\n 5,\n 2,\n 10,\n 15,\n 6,\n 8,\n 1,\n 6,\n 1,\n 6,\n 4,\n 11,\n 11,\n 13,\n 13,\n 8,\n 12,\n 1,\n 3,\n 4,\n 7,\n 10,\n 14,\n 7,\n 10,\n 9,\n 15,\n 5,\n 6,\n 0,\n 8,\n 15,\n 0,\n 14,\n 5,\n 2,\n 9,\n 3,\n 2,\n 12,\n 13,\n 1,\n 2,\n 15,\n 8,\n 13,\n 4,\n 8,\n 6,\n 10,\n 15,\n 3,\n 11,\n 7,\n 1,\n 4,\n 10,\n 12,\n 9,\n 5,\n 3,\n 6,\n 14,\n 11,\n 5,\n 0,\n 0,\n 14,\n 12,\n 9,\n 7,\n 2,\n 7,\n 2,\n 11,\n 1,\n 4,\n 14,\n 1,\n 7,\n 9,\n 4,\n 12,\n 10,\n 14,\n 8,\n 2,\n 13,\n 0,\n 15,\n 6,\n 12,\n 10,\n 9,\n 13,\n 0,\n 15,\n 3,\n 3,\n 5,\n 5,\n 6,\n 8,\n 11\n ];\n exports.substitute = function(inL, inR) {\n for (var out = 0, i = 0;i < 4; i++) {\n var b = inL >>> 18 - i * 6 & 63, sb = sTable[i * 64 + b];\n out <<= 4, out |= sb;\n }\n for (var i = 0;i < 4; i++) {\n var b = inR >>> 18 - i * 6 & 63, sb = sTable[256 + i * 64 + b];\n out <<= 4, out |= sb;\n }\n return out >>> 0;\n };\n var permuteTable = [\n 16,\n 25,\n 12,\n 11,\n 3,\n 20,\n 4,\n 15,\n 31,\n 17,\n 9,\n 6,\n 27,\n 14,\n 1,\n 22,\n 30,\n 24,\n 8,\n 18,\n 0,\n 5,\n 29,\n 23,\n 13,\n 19,\n 2,\n 26,\n 10,\n 21,\n 28,\n 7\n ];\n exports.permute = function(num) {\n for (var out = 0, i = 0;i < permuteTable.length; i++)\n out <<= 1, out |= num >>> permuteTable[i] & 1;\n return out >>> 0;\n }, exports.padSplit = function(num, size, group) {\n for (var str = num.toString(2);str.length < size; )\n str = \"0\" + str;\n for (var out = [], i = 0;i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(\" \");\n };\n }\n}), require_minimalistic_assert = __commonJS({\n \"node_modules/minimalistic-assert/index.js\"(exports, module) {\n module.exports = assert;\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n assert.equal = function(l, r, msg) {\n if (l != r)\n throw new Error(msg || \"Assertion failed: \" + l + \" != \" + r);\n };\n }\n}), require_cipher = __commonJS({\n \"node_modules/des.js/lib/des/cipher.js\"(exports, module) {\n var assert = require_minimalistic_assert();\n function Cipher(options) {\n this.options = options, this.type = this.options.type, this.blockSize = 8, this._init(), this.buffer = new @Array(this.blockSize), this.bufferOff = 0;\n }\n Cipher.prototype = {}, module.exports = Cipher, Cipher.prototype._init = function() {\n }, Cipher.prototype.update = function(data) {\n return data.length === 0 \? [] : this.type === \"decrypt\" \? this._updateDecrypt(data) : this._updateEncrypt(data);\n }, Cipher.prototype._buffer = function(data, off) {\n for (var min = Math.min(this.buffer.length - this.bufferOff, data.length - off), i = 0;i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n return this.bufferOff += min, min;\n }, Cipher.prototype._flushBuffer = function(out, off) {\n return this._update(this.buffer, 0, out, off), this.bufferOff = 0, this.blockSize;\n }, Cipher.prototype._updateEncrypt = function(data) {\n var inputOff = 0, outputOff = 0, count = (this.bufferOff + data.length) / this.blockSize | 0, out = new @Array(count * this.blockSize);\n this.bufferOff !== 0 && (inputOff += this._buffer(data, inputOff), this.bufferOff === this.buffer.length && (outputOff += this._flushBuffer(out, outputOff)));\n for (var max = data.length - (data.length - inputOff) % this.blockSize;inputOff < max; inputOff += this.blockSize)\n this._update(data, inputOff, out, outputOff), outputOff += this.blockSize;\n for (;inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n return out;\n }, Cipher.prototype._updateDecrypt = function(data) {\n for (var inputOff = 0, outputOff = 0, count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1, out = new @Array(count * this.blockSize);count > 0; count--)\n inputOff += this._buffer(data, inputOff), outputOff += this._flushBuffer(out, outputOff);\n return inputOff += this._buffer(data, inputOff), out;\n }, Cipher.prototype.final = function(buffer) {\n var first;\n buffer && (first = this.update(buffer));\n var last;\n return this.type === \"encrypt\" \? last = this._finalEncrypt() : last = this._finalDecrypt(), first \? first.concat(last) : last;\n }, Cipher.prototype._pad = function(buffer, off) {\n if (off === 0)\n return !1;\n for (;off < buffer.length; )\n buffer[off++] = 0;\n return !0;\n }, Cipher.prototype._finalEncrypt = function() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n var out = new @Array(this.blockSize);\n return this._update(this.buffer, 0, out, 0), out;\n }, Cipher.prototype._unpad = function(buffer) {\n return buffer;\n }, Cipher.prototype._finalDecrypt = function() {\n assert.equal(this.bufferOff, this.blockSize, \"Not enough data to decrypt\");\n var out = new @Array(this.blockSize);\n return this._flushBuffer(out, 0), this._unpad(out);\n };\n }\n}), require_des = __commonJS({\n \"node_modules/des.js/lib/des/des.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), utils = require_utils(), Cipher = require_cipher();\n function DESState() {\n this.tmp = new @Array(2), this.keys = null;\n }\n function DES(options) {\n Cipher.@call(this, options);\n var state = new DESState;\n this._desState = state, this.deriveKeys(state, options.key);\n }\n inherits(DES, Cipher), module.exports = DES, DES.create = function(options) {\n return new DES(options);\n };\n var shiftTable = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];\n DES.prototype.deriveKeys = function(state, key2) {\n state.keys = new @Array(32), assert.equal(key2.length, this.blockSize, \"Invalid key length\");\n var kL = utils.readUInt32BE(key2, 0), kR = utils.readUInt32BE(key2, 4);\n utils.pc1(kL, kR, state.tmp, 0), kL = state.tmp[0], kR = state.tmp[1];\n for (var i = 0;i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift), kR = utils.r28shl(kR, shift), utils.pc2(kL, kR, state.keys, i);\n }\n }, DES.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._desState, l = utils.readUInt32BE(inp, inOff), r = utils.readUInt32BE(inp, inOff + 4);\n utils.ip(l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], this.type === \"encrypt\" \? this._encrypt(state, l, r, state.tmp, 0) : this._decrypt(state, l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], utils.writeUInt32BE(out, l, outOff), utils.writeUInt32BE(out, r, outOff + 4);\n }, DES.prototype._pad = function(buffer, off) {\n for (var value = buffer.length - off, i = off;i < buffer.length; i++)\n buffer[i] = value;\n return !0;\n }, DES.prototype._unpad = function(buffer) {\n for (var pad = buffer[buffer.length - 1], i = buffer.length - pad;i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n return buffer.slice(0, buffer.length - pad);\n }, DES.prototype._encrypt = function(state, lStart, rStart, out, off) {\n for (var l = lStart, r = rStart, i = 0;i < state.keys.length; i += 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(r, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = r;\n r = (l ^ f) >>> 0, l = t;\n }\n utils.rip(r, l, out, off);\n }, DES.prototype._decrypt = function(state, lStart, rStart, out, off) {\n for (var l = rStart, r = lStart, i = state.keys.length - 2;i >= 0; i -= 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(l, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = l;\n l = (r ^ f) >>> 0, r = t;\n }\n utils.rip(l, r, out, off);\n };\n }\n}), require_cbc = __commonJS({\n \"node_modules/des.js/lib/des/cbc.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), proto = {};\n function CBCState(iv) {\n assert.equal(iv.length, 8, \"Invalid IV length\"), this.iv = new @Array(8);\n for (var i = 0;i < this.iv.length; i++)\n this.iv[i] = iv[i];\n }\n function instantiate(Base) {\n function CBC(options) {\n Base.@call(this, options), this._cbcInit();\n }\n inherits(CBC, Base);\n for (var keys = Object.keys(proto), i = 0;i < keys.length; i++) {\n var key2 = keys[i];\n CBC.prototype[key2] = proto[key2];\n }\n return CBC.create = function(options) {\n return new CBC(options);\n }, CBC;\n }\n exports.instantiate = instantiate, proto._cbcInit = function() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n }, proto._update = function(inp, inOff, out, outOff) {\n var state = this._cbcState, superProto = this.constructor.super_.prototype, iv = state.iv;\n if (this.type === \"encrypt\") {\n for (var i = 0;i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n superProto._update.@call(this, iv, 0, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.@call(this, inp, inOff, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n };\n }\n}), require_ede = __commonJS({\n \"node_modules/des.js/lib/des/ede.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), Cipher = require_cipher(), DES = require_des();\n function EDEState(type, key2) {\n assert.equal(key2.length, 24, \"Invalid key length\");\n var k1 = key2.slice(0, 8), k2 = key2.slice(8, 16), k3 = key2.slice(16, 24);\n type === \"encrypt\" \? this.ciphers = [\n DES.create({ type: \"encrypt\", key: k1 }),\n DES.create({ type: \"decrypt\", key: k2 }),\n DES.create({ type: \"encrypt\", key: k3 })\n ] : this.ciphers = [\n DES.create({ type: \"decrypt\", key: k3 }),\n DES.create({ type: \"encrypt\", key: k2 }),\n DES.create({ type: \"decrypt\", key: k1 })\n ];\n }\n function EDE(options) {\n Cipher.@call(this, options);\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n }\n inherits(EDE, Cipher), module.exports = EDE, EDE.create = function(options) {\n return new EDE(options);\n }, EDE.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._edeState;\n state.ciphers[0]._update(inp, inOff, out, outOff), state.ciphers[1]._update(out, outOff, out, outOff), state.ciphers[2]._update(out, outOff, out, outOff);\n }, EDE.prototype._pad = DES.prototype._pad, EDE.prototype._unpad = DES.prototype._unpad;\n }\n}), require_des2 = __commonJS({\n \"node_modules/des.js/lib/des.js\"(exports) {\n exports.utils = require_utils(), exports.Cipher = require_cipher(), exports.DES = require_des(), exports.CBC = require_cbc(), exports.EDE = require_ede();\n }\n}), require_browserify_des = __commonJS({\n \"node_modules/browserify-des/index.js\"(exports, module) {\n var CipherBase = require_cipher_base(), des = require_des2(), inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, modes = {\n \"des-ede3-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede3\": des.EDE,\n \"des-ede-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede\": des.EDE,\n \"des-cbc\": des.CBC.instantiate(des.DES),\n \"des-ecb\": des.DES\n };\n modes.des = modes[\"des-cbc\"], modes.des3 = modes[\"des-ede3-cbc\"], module.exports = DES, inherits(DES, CipherBase);\n function DES(opts) {\n CipherBase.@call(this);\n var modeName = opts.mode.toLowerCase(), mode = modes[modeName], type;\n opts.decrypt \? type = \"decrypt\" : type = \"encrypt\";\n var key2 = opts.key;\n Buffer2.isBuffer(key2) || (key2 = Buffer2.from(key2)), (modeName === \"des-ede\" || modeName === \"des-ede-cbc\") && (key2 = Buffer2.concat([key2, key2.slice(0, 8)]));\n var iv = opts.iv;\n Buffer2.isBuffer(iv) || (iv = Buffer2.from(iv)), this._des = mode.create({\n key: key2,\n iv,\n type\n });\n }\n DES.prototype._update = function(data) {\n return Buffer2.from(this._des.update(data));\n }, DES.prototype._final = function() {\n return Buffer2.from(this._des.final());\n };\n }\n}), require_ecb = __commonJS({\n \"node_modules/browserify-aes/modes/ecb.js\"(exports) {\n exports.encrypt = function(self2, block) {\n return self2._cipher.encryptBlock(block);\n }, exports.decrypt = function(self2, block) {\n return self2._cipher.decryptBlock(block);\n };\n }\n}), require_buffer_xor = __commonJS({\n \"node_modules/buffer-xor/index.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var length = Math.min(a.length, b.length), buffer = new Buffer(length), i = 0;i < length; ++i)\n buffer[i] = a[i] ^ b[i];\n return buffer;\n };\n }\n}), require_cbc2 = __commonJS({\n \"node_modules/browserify-aes/modes/cbc.js\"(exports) {\n var xor = require_buffer_xor();\n exports.encrypt = function(self2, block) {\n var data = xor(block, self2._prev);\n return self2._prev = self2._cipher.encryptBlock(data), self2._prev;\n }, exports.decrypt = function(self2, block) {\n var pad = self2._prev;\n self2._prev = block;\n var out = self2._cipher.decryptBlock(block);\n return xor(out, pad);\n };\n }\n}), require_cfb = __commonJS({\n \"node_modules/browserify-aes/modes/cfb.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer, xor = require_buffer_xor();\n function encryptStart(self2, data, decrypt) {\n var len = data.length, out = xor(data, self2._cache);\n return self2._cache = self2._cache.slice(len), self2._prev = Buffer2.concat([self2._prev, decrypt \? data : out]), out;\n }\n exports.encrypt = function(self2, data, decrypt) {\n for (var out = Buffer2.allocUnsafe(0), len;data.length; )\n if (self2._cache.length === 0 && (self2._cache = self2._cipher.encryptBlock(self2._prev), self2._prev = Buffer2.allocUnsafe(0)), self2._cache.length <= data.length)\n len = self2._cache.length, out = Buffer2.concat([out, encryptStart(self2, data.slice(0, len), decrypt)]), data = data.slice(len);\n else {\n out = Buffer2.concat([out, encryptStart(self2, data, decrypt)]);\n break;\n }\n return out;\n };\n }\n}), require_cfb8 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb8.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n var pad = self2._cipher.encryptBlock(self2._prev), out = pad[0] ^ byteParam;\n return self2._prev = Buffer2.concat([self2._prev.slice(1), Buffer2.from([decrypt \? byteParam : out])]), out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_cfb1 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb1.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n for (var pad, i = -1, len = 8, out = 0, bit, value;++i < len; )\n pad = self2._cipher.encryptBlock(self2._prev), bit = byteParam & 1 << 7 - i \? 128 : 0, value = pad[0] ^ bit, out += (value & 128) >> i % 8, self2._prev = shiftIn(self2._prev, decrypt \? bit : value);\n return out;\n }\n function shiftIn(buffer, value) {\n var len = buffer.length, i = -1, out = Buffer2.allocUnsafe(buffer.length);\n for (buffer = Buffer2.concat([buffer, Buffer2.from([value])]);++i < len; )\n out[i] = buffer[i] << 1 | buffer[i + 1] >> 7;\n return out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_ofb = __commonJS({\n \"node_modules/browserify-aes/modes/ofb.js\"(exports) {\n var xor = require_buffer_xor();\n function getBlock(self2) {\n return self2._prev = self2._cipher.encryptBlock(self2._prev), self2._prev;\n }\n exports.encrypt = function(self2, chunk) {\n for (;self2._cache.length < chunk.length; )\n self2._cache = Buffer.concat([self2._cache, getBlock(self2)]);\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_incr32 = __commonJS({\n \"node_modules/browserify-aes/incr32.js\"(exports, module) {\n function incr32(iv) {\n for (var len = iv.length, item;len--; )\n if (item = iv.readUInt8(len), item === 255)\n iv.writeUInt8(0, len);\n else {\n item++, iv.writeUInt8(item, len);\n break;\n }\n }\n module.exports = incr32;\n }\n}), require_ctr = __commonJS({\n \"node_modules/browserify-aes/modes/ctr.js\"(exports) {\n var xor = require_buffer_xor(), Buffer2 = require_safe_buffer().Buffer, incr32 = require_incr32();\n function getBlock(self2) {\n var out = self2._cipher.encryptBlockRaw(self2._prev);\n return incr32(self2._prev), out;\n }\n var blockSize = 16;\n exports.encrypt = function(self2, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize), start = self2._cache.length;\n self2._cache = Buffer2.concat([self2._cache, Buffer2.allocUnsafe(chunkNum * blockSize)]);\n for (var i = 0;i < chunkNum; i++) {\n var out = getBlock(self2), offset = start + i * blockSize;\n self2._cache.writeUInt32BE(out[0], offset + 0), self2._cache.writeUInt32BE(out[1], offset + 4), self2._cache.writeUInt32BE(out[2], offset + 8), self2._cache.writeUInt32BE(out[3], offset + 12);\n }\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_list = __commonJS({\n \"node_modules/browserify-aes/modes/list.json\"(exports, module) {\n module.exports = {\n \"aes-128-ecb\": {\n cipher: \"AES\",\n key: 128,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-192-ecb\": {\n cipher: \"AES\",\n key: 192,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-256-ecb\": {\n cipher: \"AES\",\n key: 256,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-128-cbc\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-192-cbc\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-256-cbc\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes128: {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes192: {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes256: {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-128-cfb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-192-cfb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-256-cfb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-128-cfb8\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-192-cfb8\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-256-cfb8\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-128-cfb1\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-192-cfb1\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-256-cfb1\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-128-ofb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-192-ofb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-256-ofb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-128-ctr\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-192-ctr\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-256-ctr\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-128-gcm\": {\n cipher: \"AES\",\n key: 128,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-192-gcm\": {\n cipher: \"AES\",\n key: 192,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-256-gcm\": {\n cipher: \"AES\",\n key: 256,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n }\n };\n }\n}), require_modes = __commonJS({\n \"node_modules/browserify-aes/modes/index.js\"(exports, module) {\n var modeModules = {\n ECB: require_ecb(),\n CBC: require_cbc2(),\n CFB: require_cfb(),\n CFB8: require_cfb8(),\n CFB1: require_cfb1(),\n OFB: require_ofb(),\n CTR: require_ctr(),\n GCM: require_ctr()\n }, modes = require_list();\n for (key2 in modes)\n modes[key2].module = modeModules[modes[key2].mode];\n var key2;\n module.exports = modes;\n }\n}), require_aes = __commonJS({\n \"node_modules/browserify-aes/aes.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function asUInt32Array(buf) {\n if (buf instanceof KeyObject)\n buf = buf.export();\n else if (buf instanceof CryptoKey)\n buf = KeyObject.from(buf).export();\n Buffer2.isBuffer(buf) || (buf = Buffer2.from(buf));\n for (var len = buf.length / 4 | 0, out = new @Array(len), i = 0;i < len; i++)\n out[i] = buf.readUInt32BE(i * 4);\n return out;\n }\n function scrubVec(v) {\n for (var i = 0;i < v.length; v++)\n v[i] = 0;\n }\n function cryptBlock(M, keySchedule, SUB_MIX, SBOX, nRounds) {\n for (var SUB_MIX0 = SUB_MIX[0], SUB_MIX1 = SUB_MIX[1], SUB_MIX2 = SUB_MIX[2], SUB_MIX3 = SUB_MIX[3], s0 = M[0] ^ keySchedule[0], s1 = M[1] ^ keySchedule[1], s2 = M[2] ^ keySchedule[2], s3 = M[3] ^ keySchedule[3], t0, t1, t2, t3, ksRow = 4, round = 1;round < nRounds; round++)\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[s1 >>> 16 & 255] ^ SUB_MIX2[s2 >>> 8 & 255] ^ SUB_MIX3[s3 & 255] ^ keySchedule[ksRow++], t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[s2 >>> 16 & 255] ^ SUB_MIX2[s3 >>> 8 & 255] ^ SUB_MIX3[s0 & 255] ^ keySchedule[ksRow++], t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[s3 >>> 16 & 255] ^ SUB_MIX2[s0 >>> 8 & 255] ^ SUB_MIX3[s1 & 255] ^ keySchedule[ksRow++], t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[s0 >>> 16 & 255] ^ SUB_MIX2[s1 >>> 8 & 255] ^ SUB_MIX3[s2 & 255] ^ keySchedule[ksRow++], s0 = t0, s1 = t1, s2 = t2, s3 = t3;\n return t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 255] << 16 | SBOX[s2 >>> 8 & 255] << 8 | SBOX[s3 & 255]) ^ keySchedule[ksRow++], t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 255] << 16 | SBOX[s3 >>> 8 & 255] << 8 | SBOX[s0 & 255]) ^ keySchedule[ksRow++], t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 255] << 16 | SBOX[s0 >>> 8 & 255] << 8 | SBOX[s1 & 255]) ^ keySchedule[ksRow++], t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 255] << 16 | SBOX[s1 >>> 8 & 255] << 8 | SBOX[s2 & 255]) ^ keySchedule[ksRow++], t0 = t0 >>> 0, t1 = t1 >>> 0, t2 = t2 >>> 0, t3 = t3 >>> 0, [t0, t1, t2, t3];\n }\n var RCON = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], G = function() {\n for (var d = new @Array(256), j = 0;j < 256; j++)\n j < 128 \? d[j] = j << 1 : d[j] = j << 1 ^ 283;\n for (var SBOX = [], INV_SBOX = [], SUB_MIX = [[], [], [], []], INV_SUB_MIX = [[], [], [], []], x = 0, xi = 0, i = 0;i < 256; ++i) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 255 ^ 99, SBOX[x] = sx, INV_SBOX[sx] = x;\n var x2 = d[x], x4 = d[x2], x8 = d[x4], t = d[sx] * 257 ^ sx * 16843008;\n SUB_MIX[0][x] = t << 24 | t >>> 8, SUB_MIX[1][x] = t << 16 | t >>> 16, SUB_MIX[2][x] = t << 8 | t >>> 24, SUB_MIX[3][x] = t, t = x8 * 16843009 ^ x4 * 65537 ^ x2 * 257 ^ x * 16843008, INV_SUB_MIX[0][sx] = t << 24 | t >>> 8, INV_SUB_MIX[1][sx] = t << 16 | t >>> 16, INV_SUB_MIX[2][sx] = t << 8 | t >>> 24, INV_SUB_MIX[3][sx] = t, x === 0 \? x = xi = 1 : (x = x2 ^ d[d[d[x8 ^ x2]]], xi ^= d[d[xi]]);\n }\n return {\n SBOX,\n INV_SBOX,\n SUB_MIX,\n INV_SUB_MIX\n };\n }();\n function AES(key2) {\n this._key = asUInt32Array(key2), this._reset();\n }\n AES.prototype = {}, AES.blockSize = 16, AES.keySize = 32, AES.prototype.blockSize = AES.blockSize, AES.prototype.keySize = AES.keySize, AES.prototype._reset = function() {\n for (var keyWords = this._key, keySize = keyWords.length, nRounds = keySize + 6, ksRows = (nRounds + 1) * 4, keySchedule = [], k = 0;k < keySize; k++)\n keySchedule[k] = keyWords[k];\n for (k = keySize;k < ksRows; k++) {\n var t = keySchedule[k - 1];\n k % keySize === 0 \? (t = t << 8 | t >>> 24, t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255], t ^= RCON[k / keySize | 0] << 24) : keySize > 6 && k % keySize === 4 && (t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255]), keySchedule[k] = keySchedule[k - keySize] ^ t;\n }\n for (var invKeySchedule = [], ik = 0;ik < ksRows; ik++) {\n var ksR = ksRows - ik, tt = keySchedule[ksR - (ik % 4 \? 0 : 4)];\n ik < 4 || ksR <= 4 \? invKeySchedule[ik] = tt : invKeySchedule[ik] = G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[tt >>> 16 & 255]] ^ G.INV_SUB_MIX[2][G.SBOX[tt >>> 8 & 255]] ^ G.INV_SUB_MIX[3][G.SBOX[tt & 255]];\n }\n this._nRounds = nRounds, this._keySchedule = keySchedule, this._invKeySchedule = invKeySchedule;\n }, AES.prototype.encryptBlockRaw = function(M) {\n return M = asUInt32Array(M), cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds);\n }, AES.prototype.encryptBlock = function(M) {\n var out = this.encryptBlockRaw(M), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[1], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[3], 12), buf;\n }, AES.prototype.decryptBlock = function(M) {\n M = asUInt32Array(M);\n var m1 = M[1];\n M[1] = M[3], M[3] = m1;\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[3], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[1], 12), buf;\n }, AES.prototype.scrub = function() {\n scrubVec(this._keySchedule), scrubVec(this._invKeySchedule), scrubVec(this._key);\n }, module.exports.AES = AES;\n }\n}), require_ghash = __commonJS({\n \"node_modules/browserify-aes/ghash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, ZEROES = Buffer2.alloc(16, 0);\n function toArray(buf) {\n return [buf.readUInt32BE(0), buf.readUInt32BE(4), buf.readUInt32BE(8), buf.readUInt32BE(12)];\n }\n function fromArray(out) {\n var buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0] >>> 0, 0), buf.writeUInt32BE(out[1] >>> 0, 4), buf.writeUInt32BE(out[2] >>> 0, 8), buf.writeUInt32BE(out[3] >>> 0, 12), buf;\n }\n function GHASH(key2) {\n this.h = key2, this.state = Buffer2.alloc(16, 0), this.cache = Buffer2.allocUnsafe(0);\n }\n GHASH.prototype = {}, GHASH.prototype.ghash = function(block) {\n for (var i = -1;++i < block.length; )\n this.state[i] ^= block[i];\n this._multiply();\n }, GHASH.prototype._multiply = function() {\n for (var Vi = toArray(this.h), Zi = [0, 0, 0, 0], j, xi, lsbVi, i = -1;++i < 128; ) {\n for (xi = (this.state[~~(i / 8)] & 1 << 7 - i % 8) !== 0, xi && (Zi[0] ^= Vi[0], Zi[1] ^= Vi[1], Zi[2] ^= Vi[2], Zi[3] ^= Vi[3]), lsbVi = (Vi[3] & 1) !== 0, j = 3;j > 0; j--)\n Vi[j] = Vi[j] >>> 1 | (Vi[j - 1] & 1) << 31;\n Vi[0] = Vi[0] >>> 1, lsbVi && (Vi[0] = Vi[0] ^ 225 << 24);\n }\n this.state = fromArray(Zi);\n }, GHASH.prototype.update = function(buf) {\n this.cache = Buffer2.concat([this.cache, buf]);\n for (var chunk;this.cache.length >= 16; )\n chunk = this.cache.slice(0, 16), this.cache = this.cache.slice(16), this.ghash(chunk);\n }, GHASH.prototype.final = function(abl, bl) {\n return this.cache.length && this.ghash(Buffer2.concat([this.cache, ZEROES], 16)), this.ghash(fromArray([0, abl, 0, bl])), this.state;\n }, module.exports = GHASH;\n }\n}), require_authCipher = __commonJS({\n \"node_modules/browserify-aes/authCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser(), GHASH = require_ghash(), xor = require_buffer_xor(), incr32 = require_incr32();\n function xorTest(a, b) {\n var out = 0;\n a.length !== b.length && out++;\n for (var len = Math.min(a.length, b.length), i = 0;i < len; ++i)\n out += a[i] ^ b[i];\n return out;\n }\n function calcIv(self2, iv, ck) {\n if (iv.length === 12)\n return self2._finID = Buffer2.concat([iv, Buffer2.from([0, 0, 0, 1])]), Buffer2.concat([iv, Buffer2.from([0, 0, 0, 2])]);\n var ghash = new GHASH(ck), len = iv.length, toPad = len % 16;\n ghash.update(iv), toPad && (toPad = 16 - toPad, ghash.update(Buffer2.alloc(toPad, 0))), ghash.update(Buffer2.alloc(8, 0));\n var ivBits = len * 8, tail = Buffer2.alloc(8);\n tail.writeUIntBE(ivBits, 0, 8), ghash.update(tail), self2._finID = ghash.state;\n var out = Buffer2.from(self2._finID);\n return incr32(out), out;\n }\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this);\n var h = Buffer2.alloc(4, 0);\n this._cipher = new aes.AES(key2);\n var ck = this._cipher.encryptBlock(h);\n this._ghash = new GHASH(ck), iv = calcIv(this, iv, ck), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._alen = 0, this._len = 0, this._mode = mode, this._authTag = null, this._called = !1;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - this._alen % 16;\n rump < 16 && (rump = Buffer2.alloc(rump, 0), this._ghash.update(rump));\n }\n this._called = !0;\n var out = this._mode.encrypt(this, chunk);\n return this._decrypt \? this._ghash.update(chunk) : this._ghash.update(out), this._len += chunk.length, out;\n }, StreamCipher.prototype._final = function() {\n if (this._decrypt && !this._authTag)\n throw new Error(\"Unsupported state or unable to authenticate data\");\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID));\n if (this._decrypt && xorTest(tag, this._authTag))\n throw new Error(\"Unsupported state or unable to authenticate data\");\n this._authTag = tag, this._cipher.scrub();\n }, StreamCipher.prototype.getAuthTag = function() {\n if (this._decrypt || !Buffer2.isBuffer(this._authTag))\n throw new Error(\"Attempting to get auth tag in unsupported state\");\n return this._authTag;\n }, StreamCipher.prototype.setAuthTag = function(tag) {\n if (!this._decrypt)\n throw new Error(\"Attempting to set auth tag in unsupported state\");\n this._authTag = tag;\n }, StreamCipher.prototype.setAAD = function(buf) {\n if (this._called)\n throw new Error(\"Attempting to set AAD in unsupported state\");\n this._ghash.update(buf), this._alen += buf.length;\n }, module.exports = StreamCipher;\n }\n}), require_streamCipher = __commonJS({\n \"node_modules/browserify-aes/streamCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser();\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this), this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._mode = mode;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt);\n }, StreamCipher.prototype._final = function() {\n this._cipher.scrub();\n }, module.exports = StreamCipher;\n }\n}), require_evp_bytestokey = __commonJS({\n \"node_modules/evp_bytestokey/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, MD5 = require_md5();\n function EVP_BytesToKey(password, salt, keyBits, ivLen) {\n if (Buffer2.isBuffer(password) || (password = Buffer2.from(password, \"binary\")), salt && (Buffer2.isBuffer(salt) || (salt = Buffer2.from(salt, \"binary\")), salt.length !== 8))\n @throwRangeError(\"salt should be Buffer with 8 byte length\");\n for (var keyLen = keyBits / 8, key2 = Buffer2.alloc(keyLen), iv = Buffer2.alloc(ivLen || 0), tmp = Buffer2.alloc(0);keyLen > 0 || ivLen > 0; ) {\n var hash = new MD5;\n hash.update(tmp), hash.update(password), salt && hash.update(salt), tmp = hash.digest();\n var used = 0;\n if (keyLen > 0) {\n var keyStart = key2.length - keyLen;\n used = Math.min(keyLen, tmp.length), tmp.copy(key2, keyStart, 0, used), keyLen -= used;\n }\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen, length = Math.min(ivLen, tmp.length - used);\n tmp.copy(iv, ivStart, used, used + length), ivLen -= length;\n }\n }\n return tmp.fill(0), { key: key2, iv };\n }\n module.exports = EVP_BytesToKey;\n }\n}), require_encrypter = __commonJS({\n \"node_modules/browserify-aes/encrypter.js\"(exports) {\n var MODES = require_modes(), AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Cipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Cipher, Transform), Cipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(); )\n thing = this._mode.encrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n };\n var PADDING = Buffer2.alloc(16, 16);\n Cipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return chunk = this._mode.encrypt(this, chunk), this._cipher.scrub(), chunk;\n if (!chunk.equals(PADDING))\n throw this._cipher.scrub(), new Error(\"data not multiple of block length\");\n }, Cipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function() {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16);\n return this.cache = this.cache.slice(16), out;\n }\n return null;\n }, Splitter.prototype.flush = function() {\n for (var len = 16 - this.cache.length, padBuff = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n padBuff.writeUInt8(len, i);\n return Buffer2.concat([this.cache, padBuff]);\n };\n function createCipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), password\?.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv) : new Cipher(config.module, password, iv);\n }\n function createCipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n exports.createCipheriv = createCipheriv, exports.createCipher = createCipher;\n }\n}), require_decrypter = __commonJS({\n \"node_modules/browserify-aes/decrypter.js\"(exports) {\n var AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, MODES = require_modes(), StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Decipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._last = void 0, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Decipher, Transform), Decipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(this._autopadding); )\n thing = this._mode.decrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n }, Decipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return unpad(this._mode.decrypt(this, chunk));\n if (chunk)\n throw new Error(\"data not multiple of block length\");\n }, Decipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function(autoPadding) {\n var out;\n if (autoPadding) {\n if (this.cache.length > 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n } else if (this.cache.length >= 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n return null;\n }, Splitter.prototype.flush = function() {\n if (this.cache.length)\n return this.cache;\n };\n function unpad(last) {\n var padded = last[15];\n if (padded < 1 || padded > 16)\n throw new Error(\"unable to decrypt data\");\n for (var i = -1;++i < padded; )\n if (last[i + (16 - padded)] !== padded)\n throw new Error(\"unable to decrypt data\");\n if (padded !== 16)\n return last.slice(0, 16 - padded);\n }\n function createDecipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (password.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv, !0) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv, !0) : new Decipher(config.module, password, iv);\n }\n function createDecipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n exports.createDecipher = createDecipher, exports.createDecipheriv = createDecipheriv;\n }\n}), require_browser5 = __commonJS({\n \"node_modules/browserify-aes/browser.js\"(exports) {\n var ciphers = require_encrypter(), deciphers = require_decrypter(), modes = require_list();\n function getCiphers() {\n return Object.keys(modes);\n }\n exports.createCipher = exports.Cipher = ciphers.createCipher, exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv, exports.createDecipher = exports.Decipher = deciphers.createDecipher, exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_modes2 = __commonJS({\n \"node_modules/browserify-des/modes.js\"(exports) {\n exports[\"des-ecb\"] = {\n key: 8,\n iv: 0\n }, exports[\"des-cbc\"] = exports.des = {\n key: 8,\n iv: 8\n }, exports[\"des-ede3-cbc\"] = exports.des3 = {\n key: 24,\n iv: 8\n }, exports[\"des-ede3\"] = {\n key: 24,\n iv: 0\n }, exports[\"des-ede-cbc\"] = {\n key: 16,\n iv: 8\n }, exports[\"des-ede\"] = {\n key: 16,\n iv: 0\n };\n }\n}), require_browser6 = __commonJS({\n \"node_modules/browserify-cipher/browser.js\"(exports) {\n var DES = require_browserify_des(), aes = require_browser5(), aesModes = require_modes(), desModes = require_modes2(), ebtk = require_evp_bytestokey();\n function createCipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n function createDecipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n function createCipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createCipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite });\n @throwTypeError(\"invalid suite type\");\n }\n function createDecipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createDecipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite, decrypt: !0 });\n @throwTypeError(\"invalid suite type\");\n }\n function getCiphers() {\n return Object.keys(desModes).concat(aes.getCiphers());\n }\n exports.createCipher = exports.Cipher = createCipher, exports.createCipheriv = exports.Cipheriv = createCipheriv, exports.createDecipher = exports.Decipher = createDecipher, exports.createDecipheriv = exports.Decipheriv = createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_bn = __commonJS({\n \"node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js\"(exports, module) {\n (function(module2, exports2) {\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype, ctor.prototype = new TempCtor, ctor.prototype.constructor = ctor;\n }\n function BN(number, base, endian) {\n if (BN.isBN(number))\n return number;\n this.negative = 0, this.words = null, this.length = 0, this.red = null, number !== null && ((base === \"le\" || base === \"be\") && (endian = base, base = 10), this._init(number || 0, base || 10, endian || \"be\"));\n }\n BN.prototype = {}, typeof module2 == \"object\" \? module2.exports = BN : exports2.BN = BN, BN.BN = BN, BN.wordSize = 26;\n var Buffer2 = Buffer;\n BN.isBN = function(num) {\n return num instanceof BN \? !0 : num !== null && typeof num == \"object\" && num.constructor.wordSize === BN.wordSize && @Array.isArray(num.words);\n }, BN.max = function(left, right) {\n return left.cmp(right) > 0 \? left : right;\n }, BN.min = function(left, right) {\n return left.cmp(right) < 0 \? left : right;\n }, BN.prototype._init = function(number, base, endian) {\n if (typeof number == \"number\")\n return this._initNumber(number, base, endian);\n if (typeof number == \"object\")\n return this._initArray(number, base, endian);\n base === \"hex\" && (base = 16), assert(base === (base | 0) && base >= 2 && base <= 36), number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n number[0] === \"-\" && (start++, this.negative = 1), start < number.length && (base === 16 \? this._parseHex(number, start, endian) : (this._parseBase(number, base, start), endian === \"le\" && this._initArray(this.toArray(), base, endian)));\n }, BN.prototype._initNumber = function(number, base, endian) {\n number < 0 && (this.negative = 1, number = -number), number < 67108864 \? (this.words = [number & 67108863], this.length = 1) : number < 4503599627370496 \? (this.words = [number & 67108863, number / 67108864 & 67108863], this.length = 2) : (assert(number < 9007199254740992), this.words = [number & 67108863, number / 67108864 & 67108863, 1], this.length = 3), endian === \"le\" && this._initArray(this.toArray(), base, endian);\n }, BN.prototype._initArray = function(number, base, endian) {\n if (assert(typeof number.length == \"number\"), number.length <= 0)\n return this.words = [0], this.length = 1, this;\n this.length = Math.ceil(number.length / 3), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var j, w, off = 0;\n if (endian === \"be\")\n for (i = number.length - 1, j = 0;i >= 0; i -= 3)\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n else if (endian === \"le\")\n for (i = 0, j = 0;i < number.length; i += 3)\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n return this.strip();\n };\n function parseHex4Bits(string, index) {\n var c = string.charCodeAt(index);\n return c >= 65 && c <= 70 \? c - 55 : c >= 97 && c <= 102 \? c - 87 : c - 48 & 15;\n }\n function parseHexByte(string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n return index - 1 >= lowerBound && (r |= parseHex4Bits(string, index - 1) << 4), r;\n }\n BN.prototype._parseHex = function(number, start, endian) {\n this.length = Math.ceil((number.length - start) / 6), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var off = 0, j = 0, w;\n if (endian === \"be\")\n for (i = number.length - 1;i >= start; i -= 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 \? start + 1 : start;i < number.length; i += 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n }\n this.strip();\n };\n function parseBase(str, start, end, mul) {\n for (var r = 0, len = Math.min(str.length, end), i = start;i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n r *= mul, c >= 49 \? r += c - 49 + 10 : c >= 17 \? r += c - 17 + 10 : r += c;\n }\n return r;\n }\n BN.prototype._parseBase = function(number, base, start) {\n this.words = [0], this.length = 1;\n for (var limbLen = 0, limbPow = 1;limbPow <= 67108863; limbPow *= base)\n limbLen++;\n limbLen--, limbPow = limbPow / base | 0;\n for (var total = number.length - start, mod = total % limbLen, end = Math.min(total, total - mod) + start, word = 0, i = start;i < end; i += limbLen)\n word = parseBase(number, i, i + limbLen, base), this.imuln(limbPow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n if (mod !== 0) {\n var pow = 1;\n for (word = parseBase(number, i, number.length, base), i = 0;i < mod; i++)\n pow *= base;\n this.imuln(pow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n }\n this.strip();\n }, BN.prototype.copy = function(dest) {\n dest.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n dest.words[i] = this.words[i];\n dest.length = this.length, dest.negative = this.negative, dest.red = this.red;\n }, BN.prototype.clone = function() {\n var r = new BN(null);\n return this.copy(r), r;\n }, BN.prototype._expand = function(size) {\n for (;this.length < size; )\n this.words[this.length++] = 0;\n return this;\n }, BN.prototype.strip = function() {\n for (;this.length > 1 && this.words[this.length - 1] === 0; )\n this.length--;\n return this._normSign();\n }, BN.prototype._normSign = function() {\n return this.length === 1 && this.words[0] === 0 && (this.negative = 0), this;\n }, BN.prototype.inspect = function() {\n return (this.red \? \"<BN-R: \" : \"<BN: \") + this.toString(16) + \">\";\n };\n var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ], groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ], groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 1e7,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function(base, padding) {\n base = base || 10, padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n for (var off = 0, carry = 0, i = 0;i < this.length; i++) {\n var w = this.words[i], word = ((w << off | carry) & 16777215).toString(16);\n carry = w >>> 24 - off & 16777215, carry !== 0 || i !== this.length - 1 \? out = zeros[6 - word.length] + word + out : out = word + out, off += 2, off >= 26 && (off -= 26, i--);\n }\n for (carry !== 0 && (out = carry.toString(16) + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n var groupSize = groupSizes[base], groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n for (c.negative = 0;!c.isZero(); ) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase), c.isZero() \? out = r + out : out = zeros[groupSize - r.length] + r + out;\n }\n for (this.isZero() && (out = \"0\" + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n assert(!1, \"Base should be between 2 and 36\");\n }, BN.prototype.toNumber = function() {\n var ret = this.words[0];\n return this.length === 2 \? ret += this.words[1] * 67108864 : this.length === 3 && this.words[2] === 1 \? ret += 4503599627370496 + this.words[1] * 67108864 : this.length > 2 && assert(!1, \"Number can only safely store up to 53 bits\"), this.negative !== 0 \? -ret : ret;\n }, BN.prototype.toJSON = function() {\n return this.toString(16);\n }, BN.prototype.toBuffer = function(endian, length) {\n return assert(typeof Buffer2 < \"u\"), this.toArrayLike(Buffer2, endian, length);\n }, BN.prototype.toArray = function(endian, length) {\n return this.toArrayLike(@Array, endian, length);\n }, BN.prototype.toArrayLike = function(ArrayType, endian, length) {\n var byteLength = this.byteLength(), reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\"), assert(reqLength > 0, \"Requested array length <= 0\"), this.strip();\n var littleEndian = endian === \"le\", res = new ArrayType(reqLength), b, i, q = this.clone();\n if (littleEndian) {\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[i] = b;\n for (;i < reqLength; i++)\n res[i] = 0;\n } else {\n for (i = 0;i < reqLength - byteLength; i++)\n res[i] = 0;\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[reqLength - i - 1] = b;\n }\n return res;\n }, Math.clz32 \? BN.prototype._countBits = function(w) {\n return 32 - Math.clz32(w);\n } : BN.prototype._countBits = function(w) {\n var t = w, r = 0;\n return t >= 4096 && (r += 13, t >>>= 13), t >= 64 && (r += 7, t >>>= 7), t >= 8 && (r += 4, t >>>= 4), t >= 2 && (r += 2, t >>>= 2), r + t;\n }, BN.prototype._zeroBits = function(w) {\n if (w === 0)\n return 26;\n var t = w, r = 0;\n return (t & 8191) === 0 && (r += 13, t >>>= 13), (t & 127) === 0 && (r += 7, t >>>= 7), (t & 15) === 0 && (r += 4, t >>>= 4), (t & 3) === 0 && (r += 2, t >>>= 2), (t & 1) === 0 && r++, r;\n }, BN.prototype.bitLength = function() {\n var w = this.words[this.length - 1], hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n for (var w = new @Array(num.bitLength()), bit = 0;bit < w.length; bit++) {\n var off = bit / 26 | 0, wbit = bit % 26;\n w[bit] = (num.words[off] & 1 << wbit) >>> wbit;\n }\n return w;\n }\n BN.prototype.zeroBits = function() {\n if (this.isZero())\n return 0;\n for (var r = 0, i = 0;i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n if (r += b, b !== 26)\n break;\n }\n return r;\n }, BN.prototype.byteLength = function() {\n return Math.ceil(this.bitLength() / 8);\n }, BN.prototype.toTwos = function(width) {\n return this.negative !== 0 \? this.abs().inotn(width).iaddn(1) : this.clone();\n }, BN.prototype.fromTwos = function(width) {\n return this.testn(width - 1) \? this.notn(width).iaddn(1).ineg() : this.clone();\n }, BN.prototype.isNeg = function() {\n return this.negative !== 0;\n }, BN.prototype.neg = function() {\n return this.clone().ineg();\n }, BN.prototype.ineg = function() {\n return this.isZero() || (this.negative ^= 1), this;\n }, BN.prototype.iuor = function(num) {\n for (;this.length < num.length; )\n this.words[this.length++] = 0;\n for (var i = 0;i < num.length; i++)\n this.words[i] = this.words[i] | num.words[i];\n return this.strip();\n }, BN.prototype.ior = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuor(num);\n }, BN.prototype.or = function(num) {\n return this.length > num.length \? this.clone().ior(num) : num.clone().ior(this);\n }, BN.prototype.uor = function(num) {\n return this.length > num.length \? this.clone().iuor(num) : num.clone().iuor(this);\n }, BN.prototype.iuand = function(num) {\n var b;\n this.length > num.length \? b = num : b = this;\n for (var i = 0;i < b.length; i++)\n this.words[i] = this.words[i] & num.words[i];\n return this.length = b.length, this.strip();\n }, BN.prototype.iand = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuand(num);\n }, BN.prototype.and = function(num) {\n return this.length > num.length \? this.clone().iand(num) : num.clone().iand(this);\n }, BN.prototype.uand = function(num) {\n return this.length > num.length \? this.clone().iuand(num) : num.clone().iuand(this);\n }, BN.prototype.iuxor = function(num) {\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var i = 0;i < b.length; i++)\n this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = a.length, this.strip();\n }, BN.prototype.ixor = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuxor(num);\n }, BN.prototype.xor = function(num) {\n return this.length > num.length \? this.clone().ixor(num) : num.clone().ixor(this);\n }, BN.prototype.uxor = function(num) {\n return this.length > num.length \? this.clone().iuxor(num) : num.clone().iuxor(this);\n }, BN.prototype.inotn = function(width) {\n assert(typeof width == \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0, bitsLeft = width % 26;\n this._expand(bytesNeeded), bitsLeft > 0 && bytesNeeded--;\n for (var i = 0;i < bytesNeeded; i++)\n this.words[i] = ~this.words[i] & 67108863;\n return bitsLeft > 0 && (this.words[i] = ~this.words[i] & 67108863 >> 26 - bitsLeft), this.strip();\n }, BN.prototype.notn = function(width) {\n return this.clone().inotn(width);\n }, BN.prototype.setn = function(bit, val) {\n assert(typeof bit == \"number\" && bit >= 0);\n var off = bit / 26 | 0, wbit = bit % 26;\n return this._expand(off + 1), val \? this.words[off] = this.words[off] | 1 << wbit : this.words[off] = this.words[off] & ~(1 << wbit), this.strip();\n }, BN.prototype.iadd = function(num) {\n var r;\n if (this.negative !== 0 && num.negative === 0)\n return this.negative = 0, r = this.isub(num), this.negative ^= 1, this._normSign();\n if (this.negative === 0 && num.negative !== 0)\n return num.negative = 0, r = this.isub(num), num.negative = 1, r._normSign();\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n if (this.length = a.length, carry !== 0)\n this.words[this.length] = carry, this.length++;\n else if (a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this;\n }, BN.prototype.add = function(num) {\n var res;\n return num.negative !== 0 && this.negative === 0 \? (num.negative = 0, res = this.sub(num), num.negative ^= 1, res) : num.negative === 0 && this.negative !== 0 \? (this.negative = 0, res = num.sub(this), this.negative = 1, res) : this.length > num.length \? this.clone().iadd(num) : num.clone().iadd(this);\n }, BN.prototype.isub = function(num) {\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n return num.negative = 1, r._normSign();\n } else if (this.negative !== 0)\n return this.negative = 0, this.iadd(num), this.negative = 1, this._normSign();\n var cmp = this.cmp(num);\n if (cmp === 0)\n return this.negative = 0, this.length = 1, this.words[0] = 0, this;\n var a, b;\n cmp > 0 \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n if (carry === 0 && i < a.length && a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = Math.max(this.length, i), a !== this && (this.negative = 1), this.strip();\n }, BN.prototype.sub = function(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative;\n var len = self2.length + num.length | 0;\n out.length = len, len = len - 1 | 0;\n var a = self2.words[0] | 0, b = num.words[0] | 0, r = a * b, lo = r & 67108863, carry = r / 67108864 | 0;\n out.words[0] = lo;\n for (var k = 1;k < len; k++) {\n for (var ncarry = carry >>> 26, rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j | 0;\n a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b + rword, ncarry += r / 67108864 | 0, rword = r & 67108863;\n }\n out.words[k] = rword | 0, carry = ncarry | 0;\n }\n return carry !== 0 \? out.words[k] = carry | 0 : out.length--, out.strip();\n }\n var comb10MulTo = function(self2, num, out) {\n var a = self2.words, b = num.words, o = out.words, c = 0, lo, mid, hi, a0 = a[0] | 0, al0 = a0 & 8191, ah0 = a0 >>> 13, a1 = a[1] | 0, al1 = a1 & 8191, ah1 = a1 >>> 13, a2 = a[2] | 0, al2 = a2 & 8191, ah2 = a2 >>> 13, a3 = a[3] | 0, al3 = a3 & 8191, ah3 = a3 >>> 13, a4 = a[4] | 0, al4 = a4 & 8191, ah4 = a4 >>> 13, a5 = a[5] | 0, al5 = a5 & 8191, ah5 = a5 >>> 13, a6 = a[6] | 0, al6 = a6 & 8191, ah6 = a6 >>> 13, a7 = a[7] | 0, al7 = a7 & 8191, ah7 = a7 >>> 13, a8 = a[8] | 0, al8 = a8 & 8191, ah8 = a8 >>> 13, a9 = a[9] | 0, al9 = a9 & 8191, ah9 = a9 >>> 13, b0 = b[0] | 0, bl0 = b0 & 8191, bh0 = b0 >>> 13, b1 = b[1] | 0, bl1 = b1 & 8191, bh1 = b1 >>> 13, b2 = b[2] | 0, bl2 = b2 & 8191, bh2 = b2 >>> 13, b3 = b[3] | 0, bl3 = b3 & 8191, bh3 = b3 >>> 13, b4 = b[4] | 0, bl4 = b4 & 8191, bh4 = b4 >>> 13, b5 = b[5] | 0, bl5 = b5 & 8191, bh5 = b5 >>> 13, b6 = b[6] | 0, bl6 = b6 & 8191, bh6 = b6 >>> 13, b7 = b[7] | 0, bl7 = b7 & 8191, bh7 = b7 >>> 13, b8 = b[8] | 0, bl8 = b8 & 8191, bh8 = b8 >>> 13, b9 = b[9] | 0, bl9 = b9 & 8191, bh9 = b9 >>> 13;\n out.negative = self2.negative ^ num.negative, out.length = 19, lo = Math.imul(al0, bl0), mid = Math.imul(al0, bh0), mid = mid + Math.imul(ah0, bl0) | 0, hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0, w0 &= 67108863, lo = Math.imul(al1, bl0), mid = Math.imul(al1, bh0), mid = mid + Math.imul(ah1, bl0) | 0, hi = Math.imul(ah1, bh0), lo = lo + Math.imul(al0, bl1) | 0, mid = mid + Math.imul(al0, bh1) | 0, mid = mid + Math.imul(ah0, bl1) | 0, hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0, w1 &= 67108863, lo = Math.imul(al2, bl0), mid = Math.imul(al2, bh0), mid = mid + Math.imul(ah2, bl0) | 0, hi = Math.imul(ah2, bh0), lo = lo + Math.imul(al1, bl1) | 0, mid = mid + Math.imul(al1, bh1) | 0, mid = mid + Math.imul(ah1, bl1) | 0, hi = hi + Math.imul(ah1, bh1) | 0, lo = lo + Math.imul(al0, bl2) | 0, mid = mid + Math.imul(al0, bh2) | 0, mid = mid + Math.imul(ah0, bl2) | 0, hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0, w2 &= 67108863, lo = Math.imul(al3, bl0), mid = Math.imul(al3, bh0), mid = mid + Math.imul(ah3, bl0) | 0, hi = Math.imul(ah3, bh0), lo = lo + Math.imul(al2, bl1) | 0, mid = mid + Math.imul(al2, bh1) | 0, mid = mid + Math.imul(ah2, bl1) | 0, hi = hi + Math.imul(ah2, bh1) | 0, lo = lo + Math.imul(al1, bl2) | 0, mid = mid + Math.imul(al1, bh2) | 0, mid = mid + Math.imul(ah1, bl2) | 0, hi = hi + Math.imul(ah1, bh2) | 0, lo = lo + Math.imul(al0, bl3) | 0, mid = mid + Math.imul(al0, bh3) | 0, mid = mid + Math.imul(ah0, bl3) | 0, hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0, w3 &= 67108863, lo = Math.imul(al4, bl0), mid = Math.imul(al4, bh0), mid = mid + Math.imul(ah4, bl0) | 0, hi = Math.imul(ah4, bh0), lo = lo + Math.imul(al3, bl1) | 0, mid = mid + Math.imul(al3, bh1) | 0, mid = mid + Math.imul(ah3, bl1) | 0, hi = hi + Math.imul(ah3, bh1) | 0, lo = lo + Math.imul(al2, bl2) | 0, mid = mid + Math.imul(al2, bh2) | 0, mid = mid + Math.imul(ah2, bl2) | 0, hi = hi + Math.imul(ah2, bh2) | 0, lo = lo + Math.imul(al1, bl3) | 0, mid = mid + Math.imul(al1, bh3) | 0, mid = mid + Math.imul(ah1, bl3) | 0, hi = hi + Math.imul(ah1, bh3) | 0, lo = lo + Math.imul(al0, bl4) | 0, mid = mid + Math.imul(al0, bh4) | 0, mid = mid + Math.imul(ah0, bl4) | 0, hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0, w4 &= 67108863, lo = Math.imul(al5, bl0), mid = Math.imul(al5, bh0), mid = mid + Math.imul(ah5, bl0) | 0, hi = Math.imul(ah5, bh0), lo = lo + Math.imul(al4, bl1) | 0, mid = mid + Math.imul(al4, bh1) | 0, mid = mid + Math.imul(ah4, bl1) | 0, hi = hi + Math.imul(ah4, bh1) | 0, lo = lo + Math.imul(al3, bl2) | 0, mid = mid + Math.imul(al3, bh2) | 0, mid = mid + Math.imul(ah3, bl2) | 0, hi = hi + Math.imul(ah3, bh2) | 0, lo = lo + Math.imul(al2, bl3) | 0, mid = mid + Math.imul(al2, bh3) | 0, mid = mid + Math.imul(ah2, bl3) | 0, hi = hi + Math.imul(ah2, bh3) | 0, lo = lo + Math.imul(al1, bl4) | 0, mid = mid + Math.imul(al1, bh4) | 0, mid = mid + Math.imul(ah1, bl4) | 0, hi = hi + Math.imul(ah1, bh4) | 0, lo = lo + Math.imul(al0, bl5) | 0, mid = mid + Math.imul(al0, bh5) | 0, mid = mid + Math.imul(ah0, bl5) | 0, hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0, w5 &= 67108863, lo = Math.imul(al6, bl0), mid = Math.imul(al6, bh0), mid = mid + Math.imul(ah6, bl0) | 0, hi = Math.imul(ah6, bh0), lo = lo + Math.imul(al5, bl1) | 0, mid = mid + Math.imul(al5, bh1) | 0, mid = mid + Math.imul(ah5, bl1) | 0, hi = hi + Math.imul(ah5, bh1) | 0, lo = lo + Math.imul(al4, bl2) | 0, mid = mid + Math.imul(al4, bh2) | 0, mid = mid + Math.imul(ah4, bl2) | 0, hi = hi + Math.imul(ah4, bh2) | 0, lo = lo + Math.imul(al3, bl3) | 0, mid = mid + Math.imul(al3, bh3) | 0, mid = mid + Math.imul(ah3, bl3) | 0, hi = hi + Math.imul(ah3, bh3) | 0, lo = lo + Math.imul(al2, bl4) | 0, mid = mid + Math.imul(al2, bh4) | 0, mid = mid + Math.imul(ah2, bl4) | 0, hi = hi + Math.imul(ah2, bh4) | 0, lo = lo + Math.imul(al1, bl5) | 0, mid = mid + Math.imul(al1, bh5) | 0, mid = mid + Math.imul(ah1, bl5) | 0, hi = hi + Math.imul(ah1, bh5) | 0, lo = lo + Math.imul(al0, bl6) | 0, mid = mid + Math.imul(al0, bh6) | 0, mid = mid + Math.imul(ah0, bl6) | 0, hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0, w6 &= 67108863, lo = Math.imul(al7, bl0), mid = Math.imul(al7, bh0), mid = mid + Math.imul(ah7, bl0) | 0, hi = Math.imul(ah7, bh0), lo = lo + Math.imul(al6, bl1) | 0, mid = mid + Math.imul(al6, bh1) | 0, mid = mid + Math.imul(ah6, bl1) | 0, hi = hi + Math.imul(ah6, bh1) | 0, lo = lo + Math.imul(al5, bl2) | 0, mid = mid + Math.imul(al5, bh2) | 0, mid = mid + Math.imul(ah5, bl2) | 0, hi = hi + Math.imul(ah5, bh2) | 0, lo = lo + Math.imul(al4, bl3) | 0, mid = mid + Math.imul(al4, bh3) | 0, mid = mid + Math.imul(ah4, bl3) | 0, hi = hi + Math.imul(ah4, bh3) | 0, lo = lo + Math.imul(al3, bl4) | 0, mid = mid + Math.imul(al3, bh4) | 0, mid = mid + Math.imul(ah3, bl4) | 0, hi = hi + Math.imul(ah3, bh4) | 0, lo = lo + Math.imul(al2, bl5) | 0, mid = mid + Math.imul(al2, bh5) | 0, mid = mid + Math.imul(ah2, bl5) | 0, hi = hi + Math.imul(ah2, bh5) | 0, lo = lo + Math.imul(al1, bl6) | 0, mid = mid + Math.imul(al1, bh6) | 0, mid = mid + Math.imul(ah1, bl6) | 0, hi = hi + Math.imul(ah1, bh6) | 0, lo = lo + Math.imul(al0, bl7) | 0, mid = mid + Math.imul(al0, bh7) | 0, mid = mid + Math.imul(ah0, bl7) | 0, hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0, w7 &= 67108863, lo = Math.imul(al8, bl0), mid = Math.imul(al8, bh0), mid = mid + Math.imul(ah8, bl0) | 0, hi = Math.imul(ah8, bh0), lo = lo + Math.imul(al7, bl1) | 0, mid = mid + Math.imul(al7, bh1) | 0, mid = mid + Math.imul(ah7, bl1) | 0, hi = hi + Math.imul(ah7, bh1) | 0, lo = lo + Math.imul(al6, bl2) | 0, mid = mid + Math.imul(al6, bh2) | 0, mid = mid + Math.imul(ah6, bl2) | 0, hi = hi + Math.imul(ah6, bh2) | 0, lo = lo + Math.imul(al5, bl3) | 0, mid = mid + Math.imul(al5, bh3) | 0, mid = mid + Math.imul(ah5, bl3) | 0, hi = hi + Math.imul(ah5, bh3) | 0, lo = lo + Math.imul(al4, bl4) | 0, mid = mid + Math.imul(al4, bh4) | 0, mid = mid + Math.imul(ah4, bl4) | 0, hi = hi + Math.imul(ah4, bh4) | 0, lo = lo + Math.imul(al3, bl5) | 0, mid = mid + Math.imul(al3, bh5) | 0, mid = mid + Math.imul(ah3, bl5) | 0, hi = hi + Math.imul(ah3, bh5) | 0, lo = lo + Math.imul(al2, bl6) | 0, mid = mid + Math.imul(al2, bh6) | 0, mid = mid + Math.imul(ah2, bl6) | 0, hi = hi + Math.imul(ah2, bh6) | 0, lo = lo + Math.imul(al1, bl7) | 0, mid = mid + Math.imul(al1, bh7) | 0, mid = mid + Math.imul(ah1, bl7) | 0, hi = hi + Math.imul(ah1, bh7) | 0, lo = lo + Math.imul(al0, bl8) | 0, mid = mid + Math.imul(al0, bh8) | 0, mid = mid + Math.imul(ah0, bl8) | 0, hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0, w8 &= 67108863, lo = Math.imul(al9, bl0), mid = Math.imul(al9, bh0), mid = mid + Math.imul(ah9, bl0) | 0, hi = Math.imul(ah9, bh0), lo = lo + Math.imul(al8, bl1) | 0, mid = mid + Math.imul(al8, bh1) | 0, mid = mid + Math.imul(ah8, bl1) | 0, hi = hi + Math.imul(ah8, bh1) | 0, lo = lo + Math.imul(al7, bl2) | 0, mid = mid + Math.imul(al7, bh2) | 0, mid = mid + Math.imul(ah7, bl2) | 0, hi = hi + Math.imul(ah7, bh2) | 0, lo = lo + Math.imul(al6, bl3) | 0, mid = mid + Math.imul(al6, bh3) | 0, mid = mid + Math.imul(ah6, bl3) | 0, hi = hi + Math.imul(ah6, bh3) | 0, lo = lo + Math.imul(al5, bl4) | 0, mid = mid + Math.imul(al5, bh4) | 0, mid = mid + Math.imul(ah5, bl4) | 0, hi = hi + Math.imul(ah5, bh4) | 0, lo = lo + Math.imul(al4, bl5) | 0, mid = mid + Math.imul(al4, bh5) | 0, mid = mid + Math.imul(ah4, bl5) | 0, hi = hi + Math.imul(ah4, bh5) | 0, lo = lo + Math.imul(al3, bl6) | 0, mid = mid + Math.imul(al3, bh6) | 0, mid = mid + Math.imul(ah3, bl6) | 0, hi = hi + Math.imul(ah3, bh6) | 0, lo = lo + Math.imul(al2, bl7) | 0, mid = mid + Math.imul(al2, bh7) | 0, mid = mid + Math.imul(ah2, bl7) | 0, hi = hi + Math.imul(ah2, bh7) | 0, lo = lo + Math.imul(al1, bl8) | 0, mid = mid + Math.imul(al1, bh8) | 0, mid = mid + Math.imul(ah1, bl8) | 0, hi = hi + Math.imul(ah1, bh8) | 0, lo = lo + Math.imul(al0, bl9) | 0, mid = mid + Math.imul(al0, bh9) | 0, mid = mid + Math.imul(ah0, bl9) | 0, hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0, w9 &= 67108863, lo = Math.imul(al9, bl1), mid = Math.imul(al9, bh1), mid = mid + Math.imul(ah9, bl1) | 0, hi = Math.imul(ah9, bh1), lo = lo + Math.imul(al8, bl2) | 0, mid = mid + Math.imul(al8, bh2) | 0, mid = mid + Math.imul(ah8, bl2) | 0, hi = hi + Math.imul(ah8, bh2) | 0, lo = lo + Math.imul(al7, bl3) | 0, mid = mid + Math.imul(al7, bh3) | 0, mid = mid + Math.imul(ah7, bl3) | 0, hi = hi + Math.imul(ah7, bh3) | 0, lo = lo + Math.imul(al6, bl4) | 0, mid = mid + Math.imul(al6, bh4) | 0, mid = mid + Math.imul(ah6, bl4) | 0, hi = hi + Math.imul(ah6, bh4) | 0, lo = lo + Math.imul(al5, bl5) | 0, mid = mid + Math.imul(al5, bh5) | 0, mid = mid + Math.imul(ah5, bl5) | 0, hi = hi + Math.imul(ah5, bh5) | 0, lo = lo + Math.imul(al4, bl6) | 0, mid = mid + Math.imul(al4, bh6) | 0, mid = mid + Math.imul(ah4, bl6) | 0, hi = hi + Math.imul(ah4, bh6) | 0, lo = lo + Math.imul(al3, bl7) | 0, mid = mid + Math.imul(al3, bh7) | 0, mid = mid + Math.imul(ah3, bl7) | 0, hi = hi + Math.imul(ah3, bh7) | 0, lo = lo + Math.imul(al2, bl8) | 0, mid = mid + Math.imul(al2, bh8) | 0, mid = mid + Math.imul(ah2, bl8) | 0, hi = hi + Math.imul(ah2, bh8) | 0, lo = lo + Math.imul(al1, bl9) | 0, mid = mid + Math.imul(al1, bh9) | 0, mid = mid + Math.imul(ah1, bl9) | 0, hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0, w10 &= 67108863, lo = Math.imul(al9, bl2), mid = Math.imul(al9, bh2), mid = mid + Math.imul(ah9, bl2) | 0, hi = Math.imul(ah9, bh2), lo = lo + Math.imul(al8, bl3) | 0, mid = mid + Math.imul(al8, bh3) | 0, mid = mid + Math.imul(ah8, bl3) | 0, hi = hi + Math.imul(ah8, bh3) | 0, lo = lo + Math.imul(al7, bl4) | 0, mid = mid + Math.imul(al7, bh4) | 0, mid = mid + Math.imul(ah7, bl4) | 0, hi = hi + Math.imul(ah7, bh4) | 0, lo = lo + Math.imul(al6, bl5) | 0, mid = mid + Math.imul(al6, bh5) | 0, mid = mid + Math.imul(ah6, bl5) | 0, hi = hi + Math.imul(ah6, bh5) | 0, lo = lo + Math.imul(al5, bl6) | 0, mid = mid + Math.imul(al5, bh6) | 0, mid = mid + Math.imul(ah5, bl6) | 0, hi = hi + Math.imul(ah5, bh6) | 0, lo = lo + Math.imul(al4, bl7) | 0, mid = mid + Math.imul(al4, bh7) | 0, mid = mid + Math.imul(ah4, bl7) | 0, hi = hi + Math.imul(ah4, bh7) | 0, lo = lo + Math.imul(al3, bl8) | 0, mid = mid + Math.imul(al3, bh8) | 0, mid = mid + Math.imul(ah3, bl8) | 0, hi = hi + Math.imul(ah3, bh8) | 0, lo = lo + Math.imul(al2, bl9) | 0, mid = mid + Math.imul(al2, bh9) | 0, mid = mid + Math.imul(ah2, bl9) | 0, hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0, w11 &= 67108863, lo = Math.imul(al9, bl3), mid = Math.imul(al9, bh3), mid = mid + Math.imul(ah9, bl3) | 0, hi = Math.imul(ah9, bh3), lo = lo + Math.imul(al8, bl4) | 0, mid = mid + Math.imul(al8, bh4) | 0, mid = mid + Math.imul(ah8, bl4) | 0, hi = hi + Math.imul(ah8, bh4) | 0, lo = lo + Math.imul(al7, bl5) | 0, mid = mid + Math.imul(al7, bh5) | 0, mid = mid + Math.imul(ah7, bl5) | 0, hi = hi + Math.imul(ah7, bh5) | 0, lo = lo + Math.imul(al6, bl6) | 0, mid = mid + Math.imul(al6, bh6) | 0, mid = mid + Math.imul(ah6, bl6) | 0, hi = hi + Math.imul(ah6, bh6) | 0, lo = lo + Math.imul(al5, bl7) | 0, mid = mid + Math.imul(al5, bh7) | 0, mid = mid + Math.imul(ah5, bl7) | 0, hi = hi + Math.imul(ah5, bh7) | 0, lo = lo + Math.imul(al4, bl8) | 0, mid = mid + Math.imul(al4, bh8) | 0, mid = mid + Math.imul(ah4, bl8) | 0, hi = hi + Math.imul(ah4, bh8) | 0, lo = lo + Math.imul(al3, bl9) | 0, mid = mid + Math.imul(al3, bh9) | 0, mid = mid + Math.imul(ah3, bl9) | 0, hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0, w12 &= 67108863, lo = Math.imul(al9, bl4), mid = Math.imul(al9, bh4), mid = mid + Math.imul(ah9, bl4) | 0, hi = Math.imul(ah9, bh4), lo = lo + Math.imul(al8, bl5) | 0, mid = mid + Math.imul(al8, bh5) | 0, mid = mid + Math.imul(ah8, bl5) | 0, hi = hi + Math.imul(ah8, bh5) | 0, lo = lo + Math.imul(al7, bl6) | 0, mid = mid + Math.imul(al7, bh6) | 0, mid = mid + Math.imul(ah7, bl6) | 0, hi = hi + Math.imul(ah7, bh6) | 0, lo = lo + Math.imul(al6, bl7) | 0, mid = mid + Math.imul(al6, bh7) | 0, mid = mid + Math.imul(ah6, bl7) | 0, hi = hi + Math.imul(ah6, bh7) | 0, lo = lo + Math.imul(al5, bl8) | 0, mid = mid + Math.imul(al5, bh8) | 0, mid = mid + Math.imul(ah5, bl8) | 0, hi = hi + Math.imul(ah5, bh8) | 0, lo = lo + Math.imul(al4, bl9) | 0, mid = mid + Math.imul(al4, bh9) | 0, mid = mid + Math.imul(ah4, bl9) | 0, hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0, w13 &= 67108863, lo = Math.imul(al9, bl5), mid = Math.imul(al9, bh5), mid = mid + Math.imul(ah9, bl5) | 0, hi = Math.imul(ah9, bh5), lo = lo + Math.imul(al8, bl6) | 0, mid = mid + Math.imul(al8, bh6) | 0, mid = mid + Math.imul(ah8, bl6) | 0, hi = hi + Math.imul(ah8, bh6) | 0, lo = lo + Math.imul(al7, bl7) | 0, mid = mid + Math.imul(al7, bh7) | 0, mid = mid + Math.imul(ah7, bl7) | 0, hi = hi + Math.imul(ah7, bh7) | 0, lo = lo + Math.imul(al6, bl8) | 0, mid = mid + Math.imul(al6, bh8) | 0, mid = mid + Math.imul(ah6, bl8) | 0, hi = hi + Math.imul(ah6, bh8) | 0, lo = lo + Math.imul(al5, bl9) | 0, mid = mid + Math.imul(al5, bh9) | 0, mid = mid + Math.imul(ah5, bl9) | 0, hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0, w14 &= 67108863, lo = Math.imul(al9, bl6), mid = Math.imul(al9, bh6), mid = mid + Math.imul(ah9, bl6) | 0, hi = Math.imul(ah9, bh6), lo = lo + Math.imul(al8, bl7) | 0, mid = mid + Math.imul(al8, bh7) | 0, mid = mid + Math.imul(ah8, bl7) | 0, hi = hi + Math.imul(ah8, bh7) | 0, lo = lo + Math.imul(al7, bl8) | 0, mid = mid + Math.imul(al7, bh8) | 0, mid = mid + Math.imul(ah7, bl8) | 0, hi = hi + Math.imul(ah7, bh8) | 0, lo = lo + Math.imul(al6, bl9) | 0, mid = mid + Math.imul(al6, bh9) | 0, mid = mid + Math.imul(ah6, bl9) | 0, hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0, w15 &= 67108863, lo = Math.imul(al9, bl7), mid = Math.imul(al9, bh7), mid = mid + Math.imul(ah9, bl7) | 0, hi = Math.imul(ah9, bh7), lo = lo + Math.imul(al8, bl8) | 0, mid = mid + Math.imul(al8, bh8) | 0, mid = mid + Math.imul(ah8, bl8) | 0, hi = hi + Math.imul(ah8, bh8) | 0, lo = lo + Math.imul(al7, bl9) | 0, mid = mid + Math.imul(al7, bh9) | 0, mid = mid + Math.imul(ah7, bl9) | 0, hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0, w16 &= 67108863, lo = Math.imul(al9, bl8), mid = Math.imul(al9, bh8), mid = mid + Math.imul(ah9, bl8) | 0, hi = Math.imul(ah9, bh8), lo = lo + Math.imul(al8, bl9) | 0, mid = mid + Math.imul(al8, bh9) | 0, mid = mid + Math.imul(ah8, bl9) | 0, hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0, w17 &= 67108863, lo = Math.imul(al9, bl9), mid = Math.imul(al9, bh9), mid = mid + Math.imul(ah9, bl9) | 0, hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n return c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0, w18 &= 67108863, o[0] = w0, o[1] = w1, o[2] = w2, o[3] = w3, o[4] = w4, o[5] = w5, o[6] = w6, o[7] = w7, o[8] = w8, o[9] = w9, o[10] = w10, o[11] = w11, o[12] = w12, o[13] = w13, o[14] = w14, o[15] = w15, o[16] = w16, o[17] = w17, o[18] = w18, c !== 0 && (o[19] = c, out.length++), out;\n };\n Math.imul || (comb10MulTo = smallMulTo);\n function bigMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative, out.length = self2.length + num.length;\n for (var carry = 0, hncarry = 0, k = 0;k < out.length - 1; k++) {\n var ncarry = hncarry;\n hncarry = 0;\n for (var rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j, a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b, lo = r & 67108863;\n ncarry = ncarry + (r / 67108864 | 0) | 0, lo = lo + rword | 0, rword = lo & 67108863, ncarry = ncarry + (lo >>> 26) | 0, hncarry += ncarry >>> 26, ncarry &= 67108863;\n }\n out.words[k] = rword, carry = ncarry, ncarry = hncarry;\n }\n return carry !== 0 \? out.words[k] = carry : out.length--, out.strip();\n }\n function jumboMulTo(self2, num, out) {\n var fftm = new FFTM;\n return fftm.mulp(self2, num, out);\n }\n BN.prototype.mulTo = function(num, out) {\n var res, len = this.length + num.length;\n return this.length === 10 && num.length === 10 \? res = comb10MulTo(this, num, out) : len < 63 \? res = smallMulTo(this, num, out) : len < 1024 \? res = bigMulTo(this, num, out) : res = jumboMulTo(this, num, out), res;\n };\n function FFTM(x, y) {\n this.x = x, this.y = y;\n }\n FFTM.prototype = {}, FFTM.prototype.makeRBT = function(N) {\n for (var t = new @Array(N), l = BN.prototype._countBits(N) - 1, i = 0;i < N; i++)\n t[i] = this.revBin(i, l, N);\n return t;\n }, FFTM.prototype.revBin = function(x, l, N) {\n if (x === 0 || x === N - 1)\n return x;\n for (var rb = 0, i = 0;i < l; i++)\n rb |= (x & 1) << l - i - 1, x >>= 1;\n return rb;\n }, FFTM.prototype.permute = function(rbt, rws, iws, rtws, itws, N) {\n for (var i = 0;i < N; i++)\n rtws[i] = rws[rbt[i]], itws[i] = iws[rbt[i]];\n }, FFTM.prototype.transform = function(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for (var s = 1;s < N; s <<= 1)\n for (var l = s << 1, rtwdf = Math.cos(2 * Math.PI / l), itwdf = Math.sin(2 * Math.PI / l), p = 0;p < N; p += l)\n for (var rtwdf_ = rtwdf, itwdf_ = itwdf, j = 0;j < s; j++) {\n var re = rtws[p + j], ie = itws[p + j], ro = rtws[p + j + s], io = itws[p + j + s], rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro, ro = rx, rtws[p + j] = re + ro, itws[p + j] = ie + io, rtws[p + j + s] = re - ro, itws[p + j + s] = ie - io, j !== l && (rx = rtwdf * rtwdf_ - itwdf * itwdf_, itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_, rtwdf_ = rx);\n }\n }, FFTM.prototype.guessLen13b = function(n, m) {\n var N = Math.max(m, n) | 1, odd = N & 1, i = 0;\n for (N = N / 2 | 0;N; N = N >>> 1)\n i++;\n return 1 << i + 1 + odd;\n }, FFTM.prototype.conjugate = function(rws, iws, N) {\n if (!(N <= 1))\n for (var i = 0;i < N / 2; i++) {\n var t = rws[i];\n rws[i] = rws[N - i - 1], rws[N - i - 1] = t, t = iws[i], iws[i] = -iws[N - i - 1], iws[N - i - 1] = -t;\n }\n }, FFTM.prototype.normalize13b = function(ws, N) {\n for (var carry = 0, i = 0;i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 8192 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 67108863, w < 67108864 \? carry = 0 : carry = w / 67108864 | 0;\n }\n return ws;\n }, FFTM.prototype.convert13b = function(ws, len, rws, N) {\n for (var carry = 0, i = 0;i < len; i++)\n carry = carry + (ws[i] | 0), rws[2 * i] = carry & 8191, carry = carry >>> 13, rws[2 * i + 1] = carry & 8191, carry = carry >>> 13;\n for (i = 2 * len;i < N; ++i)\n rws[i] = 0;\n assert(carry === 0), assert((carry & -8192) === 0);\n }, FFTM.prototype.stub = function(N) {\n for (var ph = new @Array(N), i = 0;i < N; i++)\n ph[i] = 0;\n return ph;\n }, FFTM.prototype.mulp = function(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length), rbt = this.makeRBT(N), _ = this.stub(N), rws = new @Array(N), rwst = new @Array(N), iwst = new @Array(N), nrws = new @Array(N), nrwst = new @Array(N), niwst = new @Array(N), rmws = out.words;\n rmws.length = N, this.convert13b(x.words, x.length, rws, N), this.convert13b(y.words, y.length, nrws, N), this.transform(rws, _, rwst, iwst, N, rbt), this.transform(nrws, _, nrwst, niwst, N, rbt);\n for (var i = 0;i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i], rwst[i] = rx;\n }\n return this.conjugate(rwst, iwst, N), this.transform(rwst, iwst, rmws, _, N, rbt), this.conjugate(rmws, _, N), this.normalize13b(rmws, N), out.negative = x.negative ^ y.negative, out.length = x.length + y.length, out.strip();\n }, BN.prototype.mul = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), this.mulTo(num, out);\n }, BN.prototype.mulf = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), jumboMulTo(this, num, out);\n }, BN.prototype.imul = function(num) {\n return this.clone().mulTo(num, this);\n }, BN.prototype.imuln = function(num) {\n assert(typeof num == \"number\"), assert(num < 67108864);\n for (var carry = 0, i = 0;i < this.length; i++) {\n var w = (this.words[i] | 0) * num, lo = (w & 67108863) + (carry & 67108863);\n carry >>= 26, carry += w / 67108864 | 0, carry += lo >>> 26, this.words[i] = lo & 67108863;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.muln = function(num) {\n return this.clone().imuln(num);\n }, BN.prototype.sqr = function() {\n return this.mul(this);\n }, BN.prototype.isqr = function() {\n return this.imul(this.clone());\n }, BN.prototype.pow = function(num) {\n var w = toBitArray(num);\n if (w.length === 0)\n return new BN(1);\n for (var res = this, i = 0;i < w.length && w[i] === 0; i++, res = res.sqr())\n ;\n if (++i < w.length)\n for (var q = res.sqr();i < w.length; i++, q = q.sqr())\n w[i] !== 0 && (res = res.mul(q));\n return res;\n }, BN.prototype.iushln = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26, carryMask = 67108863 >>> 26 - r << 26 - r, i;\n if (r !== 0) {\n var carry = 0;\n for (i = 0;i < this.length; i++) {\n var newCarry = this.words[i] & carryMask, c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry, carry = newCarry >>> 26 - r;\n }\n carry && (this.words[i] = carry, this.length++);\n }\n if (s !== 0) {\n for (i = this.length - 1;i >= 0; i--)\n this.words[i + s] = this.words[i];\n for (i = 0;i < s; i++)\n this.words[i] = 0;\n this.length += s;\n }\n return this.strip();\n }, BN.prototype.ishln = function(bits) {\n return assert(this.negative === 0), this.iushln(bits);\n }, BN.prototype.iushrn = function(bits, hint, extended) {\n assert(typeof bits == \"number\" && bits >= 0);\n var h;\n hint \? h = (hint - hint % 26) / 26 : h = 0;\n var r = bits % 26, s = Math.min((bits - r) / 26, this.length), mask = 67108863 ^ 67108863 >>> r << r, maskedWords = extended;\n if (h -= s, h = Math.max(0, h), maskedWords) {\n for (var i = 0;i < s; i++)\n maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s !== 0)\n if (this.length > s)\n for (this.length -= s, i = 0;i < this.length; i++)\n this.words[i] = this.words[i + s];\n else\n this.words[0] = 0, this.length = 1;\n var carry = 0;\n for (i = this.length - 1;i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r, carry = word & mask;\n }\n return maskedWords && carry !== 0 && (maskedWords.words[maskedWords.length++] = carry), this.length === 0 && (this.words[0] = 0, this.length = 1), this.strip();\n }, BN.prototype.ishrn = function(bits, hint, extended) {\n return assert(this.negative === 0), this.iushrn(bits, hint, extended);\n }, BN.prototype.shln = function(bits) {\n return this.clone().ishln(bits);\n }, BN.prototype.ushln = function(bits) {\n return this.clone().iushln(bits);\n }, BN.prototype.shrn = function(bits) {\n return this.clone().ishrn(bits);\n }, BN.prototype.ushrn = function(bits) {\n return this.clone().iushrn(bits);\n }, BN.prototype.testn = function(bit) {\n assert(typeof bit == \"number\" && bit >= 0);\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return !1;\n var w = this.words[s];\n return !!(w & q);\n }, BN.prototype.imaskn = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26;\n if (assert(this.negative === 0, \"imaskn works only with positive numbers\"), this.length <= s)\n return this;\n if (r !== 0 && s++, this.length = Math.min(s, this.length), r !== 0) {\n var mask = 67108863 ^ 67108863 >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this.strip();\n }, BN.prototype.maskn = function(bits) {\n return this.clone().imaskn(bits);\n }, BN.prototype.iaddn = function(num) {\n return assert(typeof num == \"number\"), assert(num < 67108864), num < 0 \? this.isubn(-num) : this.negative !== 0 \? this.length === 1 && (this.words[0] | 0) < num \? (this.words[0] = num - (this.words[0] | 0), this.negative = 0, this) : (this.negative = 0, this.isubn(num), this.negative = 1, this) : this._iaddn(num);\n }, BN.prototype._iaddn = function(num) {\n this.words[0] += num;\n for (var i = 0;i < this.length && this.words[i] >= 67108864; i++)\n this.words[i] -= 67108864, i === this.length - 1 \? this.words[i + 1] = 1 : this.words[i + 1]++;\n return this.length = Math.max(this.length, i + 1), this;\n }, BN.prototype.isubn = function(num) {\n if (assert(typeof num == \"number\"), assert(num < 67108864), num < 0)\n return this.iaddn(-num);\n if (this.negative !== 0)\n return this.negative = 0, this.iaddn(num), this.negative = 1, this;\n if (this.words[0] -= num, this.length === 1 && this.words[0] < 0)\n this.words[0] = -this.words[0], this.negative = 1;\n else\n for (var i = 0;i < this.length && this.words[i] < 0; i++)\n this.words[i] += 67108864, this.words[i + 1] -= 1;\n return this.strip();\n }, BN.prototype.addn = function(num) {\n return this.clone().iaddn(num);\n }, BN.prototype.subn = function(num) {\n return this.clone().isubn(num);\n }, BN.prototype.iabs = function() {\n return this.negative = 0, this;\n }, BN.prototype.abs = function() {\n return this.clone().iabs();\n }, BN.prototype._ishlnsubmul = function(num, mul, shift) {\n var len = num.length + shift, i;\n this._expand(len);\n var w, carry = 0;\n for (i = 0;i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 67108863, carry = (w >> 26) - (right / 67108864 | 0), this.words[i + shift] = w & 67108863;\n }\n for (;i < this.length - shift; i++)\n w = (this.words[i + shift] | 0) + carry, carry = w >> 26, this.words[i + shift] = w & 67108863;\n if (carry === 0)\n return this.strip();\n for (assert(carry === -1), carry = 0, i = 0;i < this.length; i++)\n w = -(this.words[i] | 0) + carry, carry = w >> 26, this.words[i] = w & 67108863;\n return this.negative = 1, this.strip();\n }, BN.prototype._wordDiv = function(num, mode) {\n var shift = this.length - num.length, a = this.clone(), b = num, bhi = b.words[b.length - 1] | 0, bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits, shift !== 0 && (b = b.ushln(shift), a.iushln(shift), bhi = b.words[b.length - 1] | 0);\n var m = a.length - b.length, q;\n if (mode !== \"mod\") {\n q = new BN(null), q.length = m + 1, q.words = new @Array(q.length);\n for (var i = 0;i < q.length; i++)\n q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n diff.negative === 0 && (a = diff, q && (q.words[m] = 1));\n for (var j = m - 1;j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 67108864 + (a.words[b.length + j - 1] | 0);\n for (qj = Math.min(qj / bhi | 0, 67108863), a._ishlnsubmul(b, qj, j);a.negative !== 0; )\n qj--, a.negative = 0, a._ishlnsubmul(b, 1, j), a.isZero() || (a.negative ^= 1);\n q && (q.words[j] = qj);\n }\n return q && q.strip(), a.strip(), mode !== \"div\" && shift !== 0 && a.iushrn(shift), {\n div: q || null,\n mod: a\n };\n }, BN.prototype.divmod = function(num, mode, positive) {\n if (assert(!num.isZero()), this.isZero())\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n return this.negative !== 0 && num.negative === 0 \? (res = this.neg().divmod(num, mode), mode !== \"mod\" && (div = res.div.neg()), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.iadd(num)), {\n div,\n mod\n }) : this.negative === 0 && num.negative !== 0 \? (res = this.divmod(num.neg(), mode), mode !== \"mod\" && (div = res.div.neg()), {\n div,\n mod: res.mod\n }) : (this.negative & num.negative) !== 0 \? (res = this.neg().divmod(num.neg(), mode), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.isub(num)), {\n div: res.div,\n mod\n }) : num.length > this.length || this.cmp(num) < 0 \? {\n div: new BN(0),\n mod: this\n } : num.length === 1 \? mode === \"div\" \? {\n div: this.divn(num.words[0]),\n mod: null\n } : mode === \"mod\" \? {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n } : {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n } : this._wordDiv(num, mode);\n }, BN.prototype.div = function(num) {\n return this.divmod(num, \"div\", !1).div;\n }, BN.prototype.mod = function(num) {\n return this.divmod(num, \"mod\", !1).mod;\n }, BN.prototype.umod = function(num) {\n return this.divmod(num, \"mod\", !0).mod;\n }, BN.prototype.divRound = function(num) {\n var dm = this.divmod(num);\n if (dm.mod.isZero())\n return dm.div;\n var mod = dm.div.negative !== 0 \? dm.mod.isub(num) : dm.mod, half = num.ushrn(1), r2 = num.andln(1), cmp = mod.cmp(half);\n return cmp < 0 || r2 === 1 && cmp === 0 \? dm.div : dm.div.negative !== 0 \? dm.div.isubn(1) : dm.div.iaddn(1);\n }, BN.prototype.modn = function(num) {\n assert(num <= 67108863);\n for (var p = (1 << 26) % num, acc = 0, i = this.length - 1;i >= 0; i--)\n acc = (p * acc + (this.words[i] | 0)) % num;\n return acc;\n }, BN.prototype.idivn = function(num) {\n assert(num <= 67108863);\n for (var carry = 0, i = this.length - 1;i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 67108864;\n this.words[i] = w / num | 0, carry = w % num;\n }\n return this.strip();\n }, BN.prototype.divn = function(num) {\n return this.clone().idivn(num);\n }, BN.prototype.egcd = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var x = this, y = p.clone();\n x.negative !== 0 \? x = x.umod(p) : x = x.clone();\n for (var A = new BN(1), B = new BN(0), C = new BN(0), D = new BN(1), g = 0;x.isEven() && y.isEven(); )\n x.iushrn(1), y.iushrn(1), ++g;\n for (var yp = y.clone(), xp = x.clone();!x.isZero(); ) {\n for (var i = 0, im = 1;(x.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (x.iushrn(i);i-- > 0; )\n (A.isOdd() || B.isOdd()) && (A.iadd(yp), B.isub(xp)), A.iushrn(1), B.iushrn(1);\n for (var j = 0, jm = 1;(y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (y.iushrn(j);j-- > 0; )\n (C.isOdd() || D.isOdd()) && (C.iadd(yp), D.isub(xp)), C.iushrn(1), D.iushrn(1);\n x.cmp(y) >= 0 \? (x.isub(y), A.isub(C), B.isub(D)) : (y.isub(x), C.isub(A), D.isub(B));\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n }, BN.prototype._invmp = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var a = this, b = p.clone();\n a.negative !== 0 \? a = a.umod(p) : a = a.clone();\n for (var x1 = new BN(1), x2 = new BN(0), delta = b.clone();a.cmpn(1) > 0 && b.cmpn(1) > 0; ) {\n for (var i = 0, im = 1;(a.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (a.iushrn(i);i-- > 0; )\n x1.isOdd() && x1.iadd(delta), x1.iushrn(1);\n for (var j = 0, jm = 1;(b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (b.iushrn(j);j-- > 0; )\n x2.isOdd() && x2.iadd(delta), x2.iushrn(1);\n a.cmp(b) >= 0 \? (a.isub(b), x1.isub(x2)) : (b.isub(a), x2.isub(x1));\n }\n var res;\n return a.cmpn(1) === 0 \? res = x1 : res = x2, res.cmpn(0) < 0 && res.iadd(p), res;\n }, BN.prototype.gcd = function(num) {\n if (this.isZero())\n return num.abs();\n if (num.isZero())\n return this.abs();\n var a = this.clone(), b = num.clone();\n a.negative = 0, b.negative = 0;\n for (var shift = 0;a.isEven() && b.isEven(); shift++)\n a.iushrn(1), b.iushrn(1);\n do {\n for (;a.isEven(); )\n a.iushrn(1);\n for (;b.isEven(); )\n b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n var t = a;\n a = b, b = t;\n } else if (r === 0 || b.cmpn(1) === 0)\n break;\n a.isub(b);\n } while (!0);\n return b.iushln(shift);\n }, BN.prototype.invm = function(num) {\n return this.egcd(num).a.umod(num);\n }, BN.prototype.isEven = function() {\n return (this.words[0] & 1) === 0;\n }, BN.prototype.isOdd = function() {\n return (this.words[0] & 1) === 1;\n }, BN.prototype.andln = function(num) {\n return this.words[0] & num;\n }, BN.prototype.bincn = function(bit) {\n assert(typeof bit == \"number\");\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return this._expand(s + 1), this.words[s] |= q, this;\n for (var carry = q, i = s;carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry, carry = w >>> 26, w &= 67108863, this.words[i] = w;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.isZero = function() {\n return this.length === 1 && this.words[0] === 0;\n }, BN.prototype.cmpn = function(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative)\n return -1;\n if (this.negative === 0 && negative)\n return 1;\n this.strip();\n var res;\n if (this.length > 1)\n res = 1;\n else {\n negative && (num = -num), assert(num <= 67108863, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num \? 0 : w < num \? -1 : 1;\n }\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.cmp = function(num) {\n if (this.negative !== 0 && num.negative === 0)\n return -1;\n if (this.negative === 0 && num.negative !== 0)\n return 1;\n var res = this.ucmp(num);\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.ucmp = function(num) {\n if (this.length > num.length)\n return 1;\n if (this.length < num.length)\n return -1;\n for (var res = 0, i = this.length - 1;i >= 0; i--) {\n var a = this.words[i] | 0, b = num.words[i] | 0;\n if (a !== b) {\n a < b \? res = -1 : a > b && (res = 1);\n break;\n }\n }\n return res;\n }, BN.prototype.gtn = function(num) {\n return this.cmpn(num) === 1;\n }, BN.prototype.gt = function(num) {\n return this.cmp(num) === 1;\n }, BN.prototype.gten = function(num) {\n return this.cmpn(num) >= 0;\n }, BN.prototype.gte = function(num) {\n return this.cmp(num) >= 0;\n }, BN.prototype.ltn = function(num) {\n return this.cmpn(num) === -1;\n }, BN.prototype.lt = function(num) {\n return this.cmp(num) === -1;\n }, BN.prototype.lten = function(num) {\n return this.cmpn(num) <= 0;\n }, BN.prototype.lte = function(num) {\n return this.cmp(num) <= 0;\n }, BN.prototype.eqn = function(num) {\n return this.cmpn(num) === 0;\n }, BN.prototype.eq = function(num) {\n return this.cmp(num) === 0;\n }, BN.red = function(num) {\n return new Red(num);\n }, BN.prototype.toRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), assert(this.negative === 0, \"red works only with positives\"), ctx.convertTo(this)._forceRed(ctx);\n }, BN.prototype.fromRed = function() {\n return assert(this.red, \"fromRed works only with numbers in reduction context\"), this.red.convertFrom(this);\n }, BN.prototype._forceRed = function(ctx) {\n return this.red = ctx, this;\n }, BN.prototype.forceRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), this._forceRed(ctx);\n }, BN.prototype.redAdd = function(num) {\n return assert(this.red, \"redAdd works only with red numbers\"), this.red.add(this, num);\n }, BN.prototype.redIAdd = function(num) {\n return assert(this.red, \"redIAdd works only with red numbers\"), this.red.iadd(this, num);\n }, BN.prototype.redSub = function(num) {\n return assert(this.red, \"redSub works only with red numbers\"), this.red.sub(this, num);\n }, BN.prototype.redISub = function(num) {\n return assert(this.red, \"redISub works only with red numbers\"), this.red.isub(this, num);\n }, BN.prototype.redShl = function(num) {\n return assert(this.red, \"redShl works only with red numbers\"), this.red.shl(this, num);\n }, BN.prototype.redMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.mul(this, num);\n }, BN.prototype.redIMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.imul(this, num);\n }, BN.prototype.redSqr = function() {\n return assert(this.red, \"redSqr works only with red numbers\"), this.red._verify1(this), this.red.sqr(this);\n }, BN.prototype.redISqr = function() {\n return assert(this.red, \"redISqr works only with red numbers\"), this.red._verify1(this), this.red.isqr(this);\n }, BN.prototype.redSqrt = function() {\n return assert(this.red, \"redSqrt works only with red numbers\"), this.red._verify1(this), this.red.sqrt(this);\n }, BN.prototype.redInvm = function() {\n return assert(this.red, \"redInvm works only with red numbers\"), this.red._verify1(this), this.red.invm(this);\n }, BN.prototype.redNeg = function() {\n return assert(this.red, \"redNeg works only with red numbers\"), this.red._verify1(this), this.red.neg(this);\n }, BN.prototype.redPow = function(num) {\n return assert(this.red && !num.red, \"redPow(normalNum)\"), this.red._verify1(this), this.red.pow(this, num);\n };\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n function MPrime(name, p) {\n this.name = name, this.p = new BN(p, 16), this.n = this.p.bitLength(), this.k = new BN(1).iushln(this.n).isub(this.p), this.tmp = this._tmp();\n }\n MPrime.prototype = {}, MPrime.prototype._tmp = function() {\n var tmp = new BN(null);\n return tmp.words = new @Array(Math.ceil(this.n / 13)), tmp;\n }, MPrime.prototype.ireduce = function(num) {\n var r = num, rlen;\n do\n this.split(r, this.tmp), r = this.imulK(r), r = r.iadd(this.tmp), rlen = r.bitLength();\n while (rlen > this.n);\n var cmp = rlen < this.n \? -1 : r.ucmp(this.p);\n return cmp === 0 \? (r.words[0] = 0, r.length = 1) : cmp > 0 \? r.isub(this.p) : r.strip !== void 0 \? r.strip() : r._strip(), r;\n }, MPrime.prototype.split = function(input, out) {\n input.iushrn(this.n, 0, out);\n }, MPrime.prototype.imulK = function(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.@call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime), K256.prototype.split = function(input, output) {\n for (var mask = 4194303, outLen = Math.min(input.length, 9), i = 0;i < outLen; i++)\n output.words[i] = input.words[i];\n if (output.length = outLen, input.length <= 9) {\n input.words[0] = 0, input.length = 1;\n return;\n }\n var prev = input.words[9];\n for (output.words[output.length++] = prev & mask, i = 10;i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22, prev = next;\n }\n prev >>>= 22, input.words[i - 10] = prev, prev === 0 && input.length > 10 \? input.length -= 10 : input.length -= 9;\n }, K256.prototype.imulK = function(num) {\n num.words[num.length] = 0, num.words[num.length + 1] = 0, num.length += 2;\n for (var lo = 0, i = 0;i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 977, num.words[i] = lo & 67108863, lo = w * 64 + (lo / 67108864 | 0);\n }\n return num.words[num.length - 1] === 0 && (num.length--, num.words[num.length - 1] === 0 && num.length--), num;\n };\n function P224() {\n MPrime.@call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.@call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n MPrime.@call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime), P25519.prototype.imulK = function(num) {\n for (var carry = 0, i = 0;i < num.length; i++) {\n var hi = (num.words[i] | 0) * 19 + carry, lo = hi & 67108863;\n hi >>>= 26, num.words[i] = lo, carry = hi;\n }\n return carry !== 0 && (num.words[num.length++] = carry), num;\n }, BN._prime = function(name) {\n if (primes[name])\n return primes[name];\n var prime2;\n if (name === \"k256\")\n prime2 = new K256;\n else if (name === \"p224\")\n prime2 = new P224;\n else if (name === \"p192\")\n prime2 = new P192;\n else if (name === \"p25519\")\n prime2 = new P25519;\n else\n throw new Error(\"Unknown prime \" + name);\n return primes[name] = prime2, prime2;\n };\n function Red(m) {\n if (typeof m == \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p, this.prime = prime;\n } else\n assert(m.gtn(1), \"modulus must be greater than 1\"), this.m = m, this.prime = null;\n }\n Red.prototype = {}, Red.prototype._verify1 = function(a) {\n assert(a.negative === 0, \"red works only with positives\"), assert(a.red, \"red works only with red numbers\");\n }, Red.prototype._verify2 = function(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\"), assert(a.red && a.red === b.red, \"red works only with red numbers\");\n }, Red.prototype.imod = function(a) {\n return this.prime \? this.prime.ireduce(a)._forceRed(this) : a.umod(this.m)._forceRed(this);\n }, Red.prototype.neg = function(a) {\n return a.isZero() \? a.clone() : this.m.sub(a)._forceRed(this);\n }, Red.prototype.add = function(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res._forceRed(this);\n }, Red.prototype.iadd = function(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res;\n }, Red.prototype.sub = function(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res._forceRed(this);\n }, Red.prototype.isub = function(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res;\n }, Red.prototype.shl = function(a, num) {\n return this._verify1(a), this.imod(a.ushln(num));\n }, Red.prototype.imul = function(a, b) {\n return this._verify2(a, b), this.imod(a.imul(b));\n }, Red.prototype.mul = function(a, b) {\n return this._verify2(a, b), this.imod(a.mul(b));\n }, Red.prototype.isqr = function(a) {\n return this.imul(a, a.clone());\n }, Red.prototype.sqr = function(a) {\n return this.mul(a, a);\n }, Red.prototype.sqrt = function(a) {\n if (a.isZero())\n return a.clone();\n var mod3 = this.m.andln(3);\n if (assert(mod3 % 2 === 1), mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n for (var q = this.m.subn(1), s = 0;!q.isZero() && q.andln(1) === 0; )\n s++, q.iushrn(1);\n assert(!q.isZero());\n var one = new BN(1).toRed(this), nOne = one.redNeg(), lpow = this.m.subn(1).iushrn(1), z = this.m.bitLength();\n for (z = new BN(2 * z * z).toRed(this);this.pow(z, lpow).cmp(nOne) !== 0; )\n z.redIAdd(nOne);\n for (var c = this.pow(z, q), r = this.pow(a, q.addn(1).iushrn(1)), t = this.pow(a, q), m = s;t.cmp(one) !== 0; ) {\n for (var tmp = t, i = 0;tmp.cmp(one) !== 0; i++)\n tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b), c = b.redSqr(), t = t.redMul(c), m = i;\n }\n return r;\n }, Red.prototype.invm = function(a) {\n var inv = a._invmp(this.m);\n return inv.negative !== 0 \? (inv.negative = 0, this.imod(inv).redNeg()) : this.imod(inv);\n }, Red.prototype.pow = function(a, num) {\n if (num.isZero())\n return new BN(1).toRed(this);\n if (num.cmpn(1) === 0)\n return a.clone();\n var windowSize = 4, wnd = new @Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this), wnd[1] = a;\n for (var i = 2;i < wnd.length; i++)\n wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0], current = 0, currentLen = 0, start = num.bitLength() % 26;\n for (start === 0 && (start = 26), i = num.length - 1;i >= 0; i--) {\n for (var word = num.words[i], j = start - 1;j >= 0; j--) {\n var bit = word >> j & 1;\n if (res !== wnd[0] && (res = this.sqr(res)), bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1, current |= bit, currentLen++, !(currentLen !== windowSize && (i !== 0 || j !== 0)) && (res = this.mul(res, wnd[current]), currentLen = 0, current = 0);\n }\n start = 26;\n }\n return res;\n }, Red.prototype.convertTo = function(num) {\n var r = num.umod(this.m);\n return r === num \? r.clone() : r;\n }, Red.prototype.convertFrom = function(num) {\n var res = num.clone();\n return res.red = null, res;\n }, BN.mont = function(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.@call(this, m), this.shift = this.m.bitLength(), this.shift % 26 !== 0 && (this.shift += 26 - this.shift % 26), this.r = new BN(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red), Mont.prototype.convertTo = function(num) {\n return this.imod(num.ushln(this.shift));\n }, Mont.prototype.convertFrom = function(num) {\n var r = this.imod(num.mul(this.rinv));\n return r.red = null, r;\n }, Mont.prototype.imul = function(a, b) {\n if (a.isZero() || b.isZero())\n return a.words[0] = 0, a.length = 1, a;\n var t = a.imul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.mul = function(a, b) {\n if (a.isZero() || b.isZero())\n return new BN(0)._forceRed(this);\n var t = a.mul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.invm = function(a) {\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n })(typeof module > \"u\" || module, exports);\n }\n}), require_bn2 = require_bn, require_brorand = __commonJS({\n \"node_modules/brorand/index.js\"(exports, module) {\n var r;\n module.exports = function(len) {\n return r || (r = new Rand(null)), r.generate(len);\n };\n function Rand(rand) {\n this.rand = rand;\n }\n Rand.prototype = {}, module.exports.Rand = Rand, Rand.prototype.generate = function(len) {\n return this._rand(len);\n }, Rand.prototype._rand = function(n) {\n var out = new Buffer(n);\n return crypto.getRandomValues(out), out;\n };\n }\n}), require_mr = __commonJS({\n \"node_modules/miller-rabin/lib/mr.js\"(exports, module) {\n var bn = require_bn2(), brorand = require_brorand();\n function MillerRabin(rand) {\n this.rand = rand || new brorand.Rand;\n }\n module.exports = MillerRabin, MillerRabin.create = function(rand) {\n return new MillerRabin(rand);\n }, MillerRabin.prototype = {}, MillerRabin.prototype._randbelow = function(n) {\n var len = n.bitLength(), min_bytes = Math.ceil(len / 8);\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n return a;\n }, MillerRabin.prototype._randrange = function(start, stop) {\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n }, MillerRabin.prototype.test = function(n, k, cb) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red), prime = !0;k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n cb && cb(a);\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return !1;\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return !1;\n }\n }\n return prime;\n }, MillerRabin.prototype.getDivisor = function(n, k) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red);k > 0; k--) {\n var a = this._randrange(new bn(2), n1), g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return x = x.redSqr(), x.fromRed().subn(1).gcd(n);\n }\n }\n return !1;\n };\n }\n}), require_generatePrime = __commonJS({\n \"node_modules/diffie-hellman/lib/generatePrime.js\"(exports, module) {\n var randomBytes = require_browser();\n module.exports = findPrime, findPrime.simpleSieve = simpleSieve, findPrime.fermatTest = fermatTest;\n var BN = require_bn(), TWENTYFOUR = new BN(24), MillerRabin = require_mr(), millerRabin = new MillerRabin, ONE = new BN(1), TWO = new BN(2), FIVE = new BN(5), SIXTEEN = new BN(16), EIGHT = new BN(8), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), ELEVEN = new BN(11), FOUR = new BN(4), TWELVE = new BN(12), primes = null;\n function _getPrimes() {\n if (primes !== null)\n return primes;\n var limit = 1048576, res = [];\n res[0] = 2;\n for (var i = 1, k = 3;k < limit; k += 2) {\n for (var sqrt = Math.ceil(Math.sqrt(k)), j = 0;j < i && res[j] <= sqrt && k % res[j] !== 0; j++)\n ;\n i !== j && res[j] <= sqrt || (res[i++] = k);\n }\n return primes = res, res;\n }\n function simpleSieve(p) {\n for (var primes2 = _getPrimes(), i = 0;i < primes2.length; i++)\n if (p.modn(primes2[i]) === 0)\n return p.cmpn(primes2[i]) === 0;\n return !0;\n }\n function fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n }\n function findPrime(bits, gen) {\n if (bits < 16)\n return gen === 2 || gen === 5 \? new BN([140, 123]) : new BN([140, 39]);\n gen = new BN(gen);\n for (var num, n2;; ) {\n for (num = new BN(randomBytes(Math.ceil(bits / 8)));num.bitLength() > bits; )\n num.ishrn(1);\n if (num.isEven() && num.iadd(ONE), num.testn(1) || num.iadd(TWO), gen.cmp(TWO)) {\n if (!gen.cmp(FIVE))\n for (;num.mod(TEN).cmp(THREE); )\n num.iadd(FOUR);\n } else\n for (;num.mod(TWENTYFOUR).cmp(ELEVEN); )\n num.iadd(FOUR);\n if (n2 = num.shrn(1), simpleSieve(n2) && simpleSieve(num) && fermatTest(n2) && fermatTest(num) && millerRabin.test(n2) && millerRabin.test(num))\n return num;\n }\n }\n }\n}), require_primes = __commonJS({\n \"node_modules/diffie-hellman/lib/primes.json\"(exports, module) {\n module.exports = {\n modp1: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"\n },\n modp2: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"\n },\n modp5: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"\n },\n modp14: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"\n },\n modp15: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"\n },\n modp16: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"\n },\n modp17: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"\n },\n modp18: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"\n }\n };\n }\n}), require_dh = __commonJS({\n \"node_modules/diffie-hellman/lib/dh.js\"(exports, module) {\n var BN = require_bn(), MillerRabin = require_mr(), millerRabin = new MillerRabin, TWENTYFOUR = new BN(24), ELEVEN = new BN(11), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), primes = require_generatePrime(), randomBytes = require_browser();\n module.exports = DH;\n function setPublicKey(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this._pub = new BN(pub), this;\n }\n function setPrivateKey(priv, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc)), this._priv = new BN(priv), this;\n }\n var primeCache = {};\n function checkPrime(prime, generator) {\n var gen = generator.toString(\"hex\"), hex = [gen, prime.toString(16)].join(\"_\");\n if (hex in primeCache)\n return primeCache[hex];\n var error = 0;\n if (prime.isEven() || !primes.simpleSieve || !primes.fermatTest(prime) || !millerRabin.test(prime))\n return error += 1, gen === \"02\" || gen === \"05\" \? error += 8 : error += 4, primeCache[hex] = error, error;\n millerRabin.test(prime.shrn(1)) || (error += 2);\n var rem;\n switch (gen) {\n case \"02\":\n prime.mod(TWENTYFOUR).cmp(ELEVEN) && (error += 8);\n break;\n case \"05\":\n rem = prime.mod(TEN), rem.cmp(THREE) && rem.cmp(SEVEN) && (error += 8);\n break;\n default:\n error += 4;\n }\n return primeCache[hex] = error, error;\n }\n function DH(prime, generator, malleable) {\n this.setGenerator(generator), this.__prime = new BN(prime), this._prime = BN.mont(this.__prime), this._primeLen = prime.length, this._pub = void 0, this._priv = void 0, this._primeCode = void 0, malleable \? (this.setPublicKey = setPublicKey, this.setPrivateKey = setPrivateKey) : this._primeCode = 8;\n }\n DH.prototype = {}, Object.defineProperty(DH.prototype, \"verifyError\", {\n enumerable: !0,\n get: function() {\n return typeof this._primeCode != \"number\" && (this._primeCode = checkPrime(this.__prime, this.__gen)), this._primeCode;\n }\n }), DH.prototype.generateKeys = function() {\n return this._priv || (this._priv = new BN(randomBytes(this._primeLen))), this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(), this.getPublicKey();\n }, DH.prototype.computeSecret = function(other) {\n other = new BN(other), other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed(), out = new Buffer(secret.toArray()), prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0), out = Buffer.concat([front, out]);\n }\n return out;\n }, DH.prototype.getPublicKey = function(enc) {\n return formatReturnValue(this._pub, enc);\n }, DH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this._priv, enc);\n }, DH.prototype.getPrime = function(enc) {\n return formatReturnValue(this.__prime, enc);\n }, DH.prototype.getGenerator = function(enc) {\n return formatReturnValue(this._gen, enc);\n }, DH.prototype.setGenerator = function(gen, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(gen) || (gen = new Buffer(gen, enc)), this.__gen = gen, this._gen = new BN(gen), this;\n };\n function formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_browser7 = __commonJS({\n \"node_modules/diffie-hellman/browser.js\"(exports) {\n var generatePrime = require_generatePrime(), primes = require_primes(), DH = require_dh();\n function getDiffieHellman(mod) {\n var prime = new Buffer(primes[mod].prime, \"hex\"), gen = new Buffer(primes[mod].gen, \"hex\");\n return new DH(prime, gen);\n }\n var ENCODINGS = {\n binary: !0,\n hex: !0,\n base64: !0\n };\n function createDiffieHellman(prime, enc, generator, genc) {\n return Buffer.isBuffer(enc) || ENCODINGS[enc] === void 0 \? createDiffieHellman(prime, \"binary\", enc, generator) : (enc = enc || \"binary\", genc = genc || \"binary\", generator = generator || new Buffer([2]), Buffer.isBuffer(generator) || (generator = new Buffer(generator, genc)), typeof prime == \"number\" \? new DH(generatePrime(prime, generator), generator, !0) : (Buffer.isBuffer(prime) || (prime = new Buffer(prime, enc)), new DH(prime, generator, !0)));\n }\n exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman, exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman;\n }\n}), require_bn3 = require_bn, require_browserify_rsa = __commonJS({\n \"node_modules/browserify-rsa/index.js\"(exports, module) {\n var BN = require_bn3(), randomBytes = require_browser();\n function blind(priv) {\n var r = getr(priv), blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();\n return { blinder, unblinder: r.invm(priv.modulus) };\n }\n function getr(priv) {\n var len = priv.modulus.byteLength(), r;\n do\n r = new BN(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2));\n return r;\n }\n function crt(msg, priv) {\n var blinds = blind(priv), len = priv.modulus.byteLength(), blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus), c1 = blinded.toRed(BN.mont(priv.prime1)), c2 = blinded.toRed(BN.mont(priv.prime2)), qinv = priv.coefficient, p = priv.prime1, q = priv.prime2, m1 = c1.redPow(priv.exponent1).fromRed(), m2 = c2.redPow(priv.exponent2).fromRed(), h = m1.isub(m2).imul(qinv).umod(p).imul(q);\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, \"be\", len);\n }\n crt.getr = getr, module.exports = crt;\n }\n}), require_package = __commonJS({\n \"node_modules/elliptic/package.json\"(exports, module) {\n module.exports = {\n name: \"elliptic\",\n version: \"6.5.4\",\n description: \"EC cryptography\",\n main: \"lib/elliptic.js\",\n files: [\"lib\"],\n scripts: {\n lint: \"eslint lib test\",\n \"lint:fix\": \"npm run lint -- --fix\",\n unit: \"istanbul test _mocha --reporter=spec test/index.js\",\n test: \"npm run lint && npm run unit\",\n version: \"grunt dist && git add dist/\"\n },\n repository: {\n type: \"git\",\n url: \"git@github.com:indutny/elliptic\"\n },\n keywords: [\"EC\", \"Elliptic\", \"curve\", \"Cryptography\"],\n author: \"Fedor Indutny <fedor@indutny.com>\",\n license: \"MIT\",\n bugs: {\n url: \"https://github.com/indutny/elliptic/issues\"\n },\n homepage: \"https://github.com/indutny/elliptic\",\n devDependencies: {\n brfs: \"^2.0.2\",\n coveralls: \"^3.1.0\",\n eslint: \"^7.6.0\",\n grunt: \"^1.2.1\",\n \"grunt-browserify\": \"^5.3.0\",\n \"grunt-cli\": \"^1.3.2\",\n \"grunt-contrib-connect\": \"^3.0.0\",\n \"grunt-contrib-copy\": \"^1.0.0\",\n \"grunt-contrib-uglify\": \"^5.0.0\",\n \"grunt-mocha-istanbul\": \"^5.0.2\",\n \"grunt-saucelabs\": \"^9.0.1\",\n istanbul: \"^0.4.5\",\n mocha: \"^8.0.1\"\n },\n dependencies: {\n \"bn.js\": \"^4.11.9\",\n brorand: \"^1.1.0\",\n \"hash.js\": \"^1.0.0\",\n \"hmac-drbg\": \"^1.0.1\",\n inherits: \"^2.0.4\",\n \"minimalistic-assert\": \"^1.0.1\",\n \"minimalistic-crypto-utils\": \"^1.0.1\"\n }\n };\n }\n}), require_bn4 = require_bn, require_utils2 = __commonJS({\n \"node_modules/minimalistic-crypto-utils/lib/utils.js\"(exports) {\n var utils = exports;\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg != \"string\") {\n for (var i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg);\n for (var i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i), hi = c >> 8, lo = c & 255;\n hi \? res.push(hi, lo) : res.push(lo);\n }\n return res;\n }\n utils.toArray = toArray;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n utils.zero2 = zero2;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n utils.toHex = toHex, utils.encode = function(arr, enc) {\n return enc === \"hex\" \? toHex(arr) : arr;\n };\n }\n}), require_utils3 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/utils.js\"(exports) {\n var utils = exports, BN = require_bn4(), minAssert = require_minimalistic_assert(), minUtils = require_utils2();\n utils.assert = minAssert, utils.toArray = minUtils.toArray, utils.zero2 = minUtils.zero2, utils.toHex = minUtils.toHex, utils.encode = minUtils.encode;\n function getNAF(num, w, bits) {\n var naf = new @Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n for (var ws = 1 << w + 1, k = num.clone(), i = 0;i < naf.length; i++) {\n var z, mod = k.andln(ws - 1);\n k.isOdd() \? (mod > (ws >> 1) - 1 \? z = (ws >> 1) - mod : z = mod, k.isubn(z)) : z = 0, naf[i] = z, k.iushrn(1);\n }\n return naf;\n }\n utils.getNAF = getNAF;\n function getJSF(k1, k2) {\n var jsf = [[], []];\n k1 = k1.clone(), k2 = k2.clone();\n for (var d1 = 0, d2 = 0, m8;k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0; ) {\n var m14 = k1.andln(3) + d1 & 3, m24 = k2.andln(3) + d2 & 3;\n m14 === 3 && (m14 = -1), m24 === 3 && (m24 = -1);\n var u1;\n (m14 & 1) === 0 \? u1 = 0 : (m8 = k1.andln(7) + d1 & 7, (m8 === 3 || m8 === 5) && m24 === 2 \? u1 = -m14 : u1 = m14), jsf[0].push(u1);\n var u2;\n (m24 & 1) === 0 \? u2 = 0 : (m8 = k2.andln(7) + d2 & 7, (m8 === 3 || m8 === 5) && m14 === 2 \? u2 = -m24 : u2 = m24), jsf[1].push(u2), 2 * d1 === u1 + 1 && (d1 = 1 - d1), 2 * d2 === u2 + 1 && (d2 = 1 - d2), k1.iushrn(1), k2.iushrn(1);\n }\n return jsf;\n }\n utils.getJSF = getJSF;\n function cachedProperty(obj, name, computer) {\n var key2 = \"_\" + name;\n obj.prototype[name] = function() {\n return this[key2] !== void 0 \? this[key2] : this[key2] = computer.@call(this);\n };\n }\n utils.cachedProperty = cachedProperty;\n function parseBytes(bytes) {\n if (bytes instanceof KeyObject)\n bytes = bytes.export();\n else if (bytes instanceof CryptoKey)\n bytes = KeyObject.from(bytes).export();\n return typeof bytes == \"string\" \? utils.toArray(bytes, \"hex\") : bytes;\n }\n utils.parseBytes = parseBytes;\n function intFromLE(bytes) {\n return new BN(bytes, \"hex\", \"le\");\n }\n utils.intFromLE = intFromLE;\n }\n}), require_base = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/base.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), getNAF = utils.getNAF, getJSF = utils.getJSF, assert = utils.assert;\n function BaseCurve(type, conf) {\n this.type = type, this.p = new BN(conf.p, 16), this.red = conf.prime \? BN.red(conf.prime) : BN.mont(this.p), this.zero = new BN(0).toRed(this.red), this.one = new BN(1).toRed(this.red), this.two = new BN(2).toRed(this.red), this.n = conf.n && new BN(conf.n, 16), this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed), this._wnafT1 = new @Array(4), this._wnafT2 = new @Array(4), this._wnafT3 = new @Array(4), this._wnafT4 = new @Array(4), this._bitLength = this.n \? this.n.bitLength() : 0;\n var adjustCount = this.n && this.p.div(this.n);\n !adjustCount || adjustCount.cmpn(100) > 0 \? this.redN = null : (this._maxwellTrick = !0, this.redN = this.n.toRed(this.red));\n }\n module.exports = BaseCurve, BaseCurve.prototype = {}, BaseCurve.prototype.point = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype.validate = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype._fixedNafMul = function(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles(), naf = getNAF(k, 1, this._bitLength), I = (1 << doubles.step + 1) - (doubles.step % 2 === 0 \? 2 : 1);\n I /= 3;\n var repr = [], j, nafW;\n for (j = 0;j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1;l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n for (var a = this.jpoint(null, null, null), b = this.jpoint(null, null, null), i = I;i > 0; i--) {\n for (j = 0;j < repr.length; j++)\n nafW = repr[j], nafW === i \? b = b.mixedAdd(doubles.points[j]) : nafW === -i && (b = b.mixedAdd(doubles.points[j].neg()));\n a = a.add(b);\n }\n return a.toP();\n }, BaseCurve.prototype._wnafMul = function(p, k) {\n var w = 4, nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n for (var wnd = nafPoints.points, naf = getNAF(k, w, this._bitLength), acc = this.jpoint(null, null, null), i = naf.length - 1;i >= 0; i--) {\n for (var l = 0;i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0 && l++, acc = acc.dblp(l), i < 0)\n break;\n var z = naf[i];\n assert(z !== 0), p.type === \"affine\" \? z > 0 \? acc = acc.mixedAdd(wnd[z - 1 >> 1]) : acc = acc.mixedAdd(wnd[-z - 1 >> 1].neg()) : z > 0 \? acc = acc.add(wnd[z - 1 >> 1]) : acc = acc.add(wnd[-z - 1 >> 1].neg());\n }\n return p.type === \"affine\" \? acc.toP() : acc;\n }, BaseCurve.prototype._wnafMulAdd = function(defW, points, coeffs, len, jacobianResult) {\n var wndWidth = this._wnafT1, wnd = this._wnafT2, naf = this._wnafT3, max = 0, i, j, p;\n for (i = 0;i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd, wnd[i] = nafPoints.points;\n }\n for (i = len - 1;i >= 1; i -= 2) {\n var a = i - 1, b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength), naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength), max = Math.max(naf[a].length, max), max = Math.max(naf[b].length, max);\n continue;\n }\n var comb = [points[a], null, null, points[b]];\n points[a].y.cmp(points[b].y) === 0 \? (comb[1] = points[a].add(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg())) : points[a].y.cmp(points[b].y.redNeg()) === 0 \? (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].add(points[b].neg())) : (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg()));\n var index = [-3, -1, -5, -7, 0, 7, 5, 1, 3], jsf = getJSF(coeffs[a], coeffs[b]);\n for (max = Math.max(jsf[0].length, max), naf[a] = new @Array(max), naf[b] = new @Array(max), j = 0;j < max; j++) {\n var ja = jsf[0][j] | 0, jb = jsf[1][j] | 0;\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)], naf[b][j] = 0, wnd[a] = comb;\n }\n }\n var acc = this.jpoint(null, null, null), tmp = this._wnafT4;\n for (i = max;i >= 0; i--) {\n for (var k = 0;i >= 0; ) {\n var zero = !0;\n for (j = 0;j < len; j++)\n tmp[j] = naf[j][i] | 0, tmp[j] !== 0 && (zero = !1);\n if (!zero)\n break;\n k++, i--;\n }\n if (i >= 0 && k++, acc = acc.dblp(k), i < 0)\n break;\n for (j = 0;j < len; j++) {\n var z = tmp[j];\n z !== 0 && (z > 0 \? p = wnd[j][z - 1 >> 1] : z < 0 && (p = wnd[j][-z - 1 >> 1].neg()), p.type === \"affine\" \? acc = acc.mixedAdd(p) : acc = acc.add(p));\n }\n }\n for (i = 0;i < len; i++)\n wnd[i] = null;\n return jacobianResult \? acc : acc.toP();\n };\n function BasePoint(curve, type) {\n this.curve = curve, this.type = type, this.precomputed = null;\n }\n BasePoint.prototype = {}, BaseCurve.BasePoint = BasePoint, BasePoint.prototype.eq = function() {\n throw new Error(\"Not implemented\");\n }, BasePoint.prototype.validate = function() {\n return this.curve.validate(this);\n }, BaseCurve.prototype.decodePoint = function(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n var len = this.p.byteLength();\n if ((bytes[0] === 4 || bytes[0] === 6 || bytes[0] === 7) && bytes.length - 1 === 2 * len) {\n bytes[0] === 6 \? assert(bytes[bytes.length - 1] % 2 === 0) : bytes[0] === 7 && assert(bytes[bytes.length - 1] % 2 === 1);\n var res = this.point(bytes.slice(1, 1 + len), bytes.slice(1 + len, 1 + 2 * len));\n return res;\n } else if ((bytes[0] === 2 || bytes[0] === 3) && bytes.length - 1 === len)\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 3);\n throw new Error(\"Unknown point format\");\n }, BasePoint.prototype.encodeCompressed = function(enc) {\n return this.encode(enc, !0);\n }, BasePoint.prototype._encode = function(compact) {\n var len = this.curve.p.byteLength(), x = this.getX().toArray(\"be\", len);\n return compact \? [this.getY().isEven() \? 2 : 3].concat(x) : [4].concat(x, this.getY().toArray(\"be\", len));\n }, BasePoint.prototype.encode = function(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n }, BasePoint.prototype.precompute = function(power) {\n if (this.precomputed)\n return this;\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n return precomputed.naf = this._getNAFPoints(8), precomputed.doubles = this._getDoubles(4, power), precomputed.beta = this._getBeta(), this.precomputed = precomputed, this;\n }, BasePoint.prototype._hasDoubles = function(k) {\n if (!this.precomputed)\n return !1;\n var doubles = this.precomputed.doubles;\n return doubles \? doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step) : !1;\n }, BasePoint.prototype._getDoubles = function(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n for (var doubles = [this], acc = this, i = 0;i < power; i += step) {\n for (var j = 0;j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step,\n points: doubles\n };\n }, BasePoint.prototype._getNAFPoints = function(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n for (var res = [this], max = (1 << wnd) - 1, dbl = max === 1 \? null : this.dbl(), i = 1;i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd,\n points: res\n };\n }, BasePoint.prototype._getBeta = function() {\n return null;\n }, BasePoint.prototype.dblp = function(k) {\n for (var r = this, i = 0;i < k; i++)\n r = r.dbl();\n return r;\n };\n }\n}), require_short = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/short.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function ShortCurve(conf) {\n Base.@call(this, \"short\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.tinv = this.two.redInvm(), this.zeroA = this.a.fromRed().cmpn(0) === 0, this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0, this.endo = this._getEndomorphism(conf), this._endoWnafT1 = new @Array(4), this._endoWnafT2 = new @Array(4);\n }\n inherits(ShortCurve, Base), module.exports = ShortCurve, ShortCurve.prototype._getEndomorphism = function(conf) {\n if (!(!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)) {\n var beta, lambda;\n if (conf.beta)\n beta = new BN(conf.beta, 16).toRed(this.red);\n else {\n var betas = this._getEndoRoots(this.p);\n beta = betas[0].cmp(betas[1]) < 0 \? betas[0] : betas[1], beta = beta.toRed(this.red);\n }\n if (conf.lambda)\n lambda = new BN(conf.lambda, 16);\n else {\n var lambdas = this._getEndoRoots(this.n);\n this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0 \? lambda = lambdas[0] : (lambda = lambdas[1], assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0));\n }\n var basis;\n return conf.basis \? basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n }) : basis = this._getEndoBasis(lambda), {\n beta,\n lambda,\n basis\n };\n }\n }, ShortCurve.prototype._getEndoRoots = function(num) {\n var red = num === this.p \? this.red : BN.mont(num), tinv = new BN(2).toRed(red).redInvm(), ntinv = tinv.redNeg(), s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv), l1 = ntinv.redAdd(s).fromRed(), l2 = ntinv.redSub(s).fromRed();\n return [l1, l2];\n }, ShortCurve.prototype._getEndoBasis = function(lambda) {\n for (var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)), u = lambda, v = this.n.clone(), x1 = new BN(1), y1 = new BN(0), x2 = new BN(0), y2 = new BN(1), a0, b0, a1, b1, a2, b2, prevR, i = 0, r, x;u.cmpn(0) !== 0; ) {\n var q = v.div(u);\n r = v.sub(q.mul(u)), x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n if (!a1 && r.cmp(aprxSqrt) < 0)\n a0 = prevR.neg(), b0 = x1, a1 = r.neg(), b1 = x;\n else if (a1 && ++i === 2)\n break;\n prevR = r, v = u, u = r, x2 = x1, x1 = x, y2 = y1, y1 = y;\n }\n a2 = r.neg(), b2 = x;\n var len1 = a1.sqr().add(b1.sqr()), len2 = a2.sqr().add(b2.sqr());\n return len2.cmp(len1) >= 0 && (a2 = a0, b2 = b0), a1.negative && (a1 = a1.neg(), b1 = b1.neg()), a2.negative && (a2 = a2.neg(), b2 = b2.neg()), [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n }, ShortCurve.prototype._endoSplit = function(k) {\n var basis = this.endo.basis, v1 = basis[0], v2 = basis[1], c1 = v2.b.mul(k).divRound(this.n), c2 = v1.b.neg().mul(k).divRound(this.n), p1 = c1.mul(v1.a), p2 = c2.mul(v2.a), q1 = c1.mul(v1.b), q2 = c2.mul(v2.b), k1 = k.sub(p1).sub(p2), k2 = q1.add(q2).neg();\n return { k1, k2 };\n }, ShortCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, ShortCurve.prototype.validate = function(point) {\n if (point.inf)\n return !0;\n var { x, y } = point, ax = this.a.redMul(x), rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n }, ShortCurve.prototype._endoWnafMulAdd = function(points, coeffs, jacobianResult) {\n for (var npoints = this._endoWnafT1, ncoeffs = this._endoWnafT2, i = 0;i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]), p = points[i], beta = p._getBeta();\n split.k1.negative && (split.k1.ineg(), p = p.neg(!0)), split.k2.negative && (split.k2.ineg(), beta = beta.neg(!0)), npoints[i * 2] = p, npoints[i * 2 + 1] = beta, ncoeffs[i * 2] = split.k1, ncoeffs[i * 2 + 1] = split.k2;\n }\n for (var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult), j = 0;j < i * 2; j++)\n npoints[j] = null, ncoeffs[j] = null;\n return res;\n };\n function Point(curve, x, y, isRed) {\n Base.BasePoint.@call(this, curve, \"affine\"), x === null && y === null \? (this.x = null, this.y = null, this.inf = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), isRed && (this.x.forceRed(this.curve.red), this.y.forceRed(this.curve.red)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.inf = !1);\n }\n inherits(Point, Base.BasePoint), ShortCurve.prototype.point = function(x, y, isRed) {\n return new Point(this, x, y, isRed);\n }, ShortCurve.prototype.pointFromJSON = function(obj, red) {\n return Point.fromJSON(this, obj, red);\n }, Point.prototype._getBeta = function() {\n if (this.curve.endo) {\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve, endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta, beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n }\n }, Point.prototype.toJSON = function() {\n return this.precomputed \? [\n this.x,\n this.y,\n this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n }\n ] : [this.x, this.y];\n }, Point.fromJSON = function(curve, obj, red) {\n typeof obj == \"string\" && (obj = JSON.parse(obj));\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n function obj2point(obj2) {\n return curve.point(obj2[0], obj2[1], red);\n }\n var pre = obj[2];\n return res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [res].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [res].concat(pre.naf.points.map(obj2point))\n }\n }, res;\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.inf;\n }, Point.prototype.add = function(p) {\n if (this.inf)\n return p;\n if (p.inf)\n return this;\n if (this.eq(p))\n return this.dbl();\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n var c = this.y.redSub(p.y);\n c.cmpn(0) !== 0 && (c = c.redMul(this.x.redSub(p.x).redInvm()));\n var nx = c.redSqr().redISub(this.x).redISub(p.x), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.dbl = function() {\n if (this.inf)\n return this;\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n var a = this.curve.a, x2 = this.x.redSqr(), dyinv = ys1.redInvm(), c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv), nx = c.redSqr().redISub(this.x.redAdd(this.x)), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.getX = function() {\n return this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.y.fromRed();\n }, Point.prototype.mul = function(k) {\n return k = new BN(k, 16), this.isInfinity() \? this : this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve.endo \? this.curve._endoWnafMulAdd([this], [k]) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs) : this.curve._wnafMulAdd(1, points, coeffs, 2);\n }, Point.prototype.jmulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs, !0) : this.curve._wnafMulAdd(1, points, coeffs, 2, !0);\n }, Point.prototype.eq = function(p) {\n return this === p || this.inf === p.inf && (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n }, Point.prototype.neg = function(_precompute) {\n if (this.inf)\n return this;\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed, negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n }, Point.prototype.toJ = function() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n };\n function JPoint(curve, x, y, z) {\n Base.BasePoint.@call(this, curve, \"jacobian\"), x === null && y === null && z === null \? (this.x = this.curve.one, this.y = this.curve.one, this.z = new BN(0)) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = new BN(z, 16)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.zOne = this.z === this.curve.one;\n }\n inherits(JPoint, Base.BasePoint), ShortCurve.prototype.jpoint = function(x, y, z) {\n return new JPoint(this, x, y, z);\n }, JPoint.prototype.toP = function() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n var zinv = this.z.redInvm(), zinv2 = zinv.redSqr(), ax = this.x.redMul(zinv2), ay = this.y.redMul(zinv2).redMul(zinv);\n return this.curve.point(ax, ay);\n }, JPoint.prototype.neg = function() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n }, JPoint.prototype.add = function(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n var pz2 = p.z.redSqr(), z2 = this.z.redSqr(), u1 = this.x.redMul(pz2), u2 = p.x.redMul(z2), s1 = this.y.redMul(pz2.redMul(p.z)), s2 = p.y.redMul(z2.redMul(this.z)), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(p.z).redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mixedAdd = function(p) {\n if (this.isInfinity())\n return p.toJ();\n if (p.isInfinity())\n return this;\n var z2 = this.z.redSqr(), u1 = this.x, u2 = p.x.redMul(z2), s1 = this.y, s2 = p.y.redMul(z2).redMul(this.z), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.dblp = function(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0;i < pow; i++)\n r = r.dbl();\n return r;\n }\n var a = this.curve.a, tinv = this.curve.tinv, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jyd = jy.redAdd(jy);\n for (i = 0;i < pow; i++) {\n var jx2 = jx.redSqr(), jyd2 = jyd.redSqr(), jyd4 = jyd2.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), t1 = jx.redMul(jyd2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n i + 1 < pow && (jz4 = jz4.redMul(jyd4)), jx = nx, jz = nz, jyd = dny;\n }\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n }, JPoint.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.zeroA \? this._zeroDbl() : this.curve.threeA \? this._threeDbl() : this._dbl();\n }, JPoint.prototype._zeroDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx), t = m.redSqr().redISub(s).redISub(s), yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), nx = t, ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = b.redSqr(), d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n var e = a.redAdd(a).redIAdd(a), f = e.redSqr(), c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8), c8 = c8.redIAdd(c8), nx = f.redISub(d).redISub(d), ny = e.redMul(d.redISub(nx)).redISub(c8), nz = this.y.redMul(this.z), nz = nz.redIAdd(nz);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._threeDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a), t = m.redSqr().redISub(s).redISub(s);\n nx = t;\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var delta = this.z.redSqr(), gamma = this.y.redSqr(), beta = this.x.redMul(gamma), alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8), nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._dbl = function() {\n var a = this.curve.a, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jx2 = jx.redSqr(), jy2 = jy.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8), nz = jy.redAdd(jy).redMul(jz);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.trpl = function() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n var xx = this.x.redSqr(), yy = this.y.redSqr(), zz = this.z.redSqr(), yyyy = yy.redSqr(), m = xx.redAdd(xx).redIAdd(xx), mm = m.redSqr(), e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e), e = e.redAdd(e).redIAdd(e), e = e.redISub(mm);\n var ee = e.redSqr(), t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t), t = t.redIAdd(t), t = t.redIAdd(t);\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t), yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4), yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx), nx = nx.redIAdd(nx);\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny), ny = ny.redIAdd(ny), ny = ny.redIAdd(ny);\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mul = function(k, kbase) {\n return k = new BN(k, kbase), this.curve._wnafMul(this, k);\n }, JPoint.prototype.eq = function(p) {\n if (p.type === \"affine\")\n return this.eq(p.toJ());\n if (this === p)\n return !0;\n var z2 = this.z.redSqr(), pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return !1;\n var z3 = z2.redMul(this.z), pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n }, JPoint.prototype.eqXToP = function(x) {\n var zs = this.z.redSqr(), rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(zs);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, JPoint.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC JPoint Infinity>\" : \"<EC JPoint x: \" + this.x.toString(16, 2) + \" y: \" + this.y.toString(16, 2) + \" z: \" + this.z.toString(16, 2) + \">\";\n }, JPoint.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n };\n }\n}), require_mont = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/mont.js\"(exports, module) {\n var BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), utils = require_utils3();\n function MontCurve(conf) {\n Base.@call(this, \"mont\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.i4 = new BN(4).toRed(this.red).redInvm(), this.two = new BN(2).toRed(this.red), this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n }\n inherits(MontCurve, Base), module.exports = MontCurve, MontCurve.prototype.validate = function(point) {\n var x = point.normalize().x, x2 = x.redSqr(), rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x), y = rhs.redSqrt();\n return y.redSqr().cmp(rhs) === 0;\n };\n function Point(curve, x, z) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && z === null \? (this.x = this.curve.one, this.z = this.curve.zero) : (this.x = new BN(x, 16), this.z = new BN(z, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)));\n }\n inherits(Point, Base.BasePoint), MontCurve.prototype.decodePoint = function(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n }, MontCurve.prototype.point = function(x, z) {\n return new Point(this, x, z);\n }, MontCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, Point.prototype.precompute = function() {\n }, Point.prototype._encode = function() {\n return this.getX().toArray(\"be\", this.curve.p.byteLength());\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n }, Point.prototype.dbl = function() {\n var a = this.x.redAdd(this.z), aa = a.redSqr(), b = this.x.redSub(this.z), bb = b.redSqr(), c = aa.redSub(bb), nx = aa.redMul(bb), nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n }, Point.prototype.add = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.diffAdd = function(p, diff) {\n var a = this.x.redAdd(this.z), b = this.x.redSub(this.z), c = p.x.redAdd(p.z), d = p.x.redSub(p.z), da = d.redMul(a), cb = c.redMul(b), nx = diff.z.redMul(da.redAdd(cb).redSqr()), nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n }, Point.prototype.mul = function(k) {\n for (var t = k.clone(), a = this, b = this.curve.point(null, null), c = this, bits = [];t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n for (var i = bits.length - 1;i >= 0; i--)\n bits[i] === 0 \? (a = a.diffAdd(b, c), b = b.dbl()) : (b = a.diffAdd(b, c), a = a.dbl());\n return b;\n }, Point.prototype.mulAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.jumlAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.eq = function(other) {\n return this.getX().cmp(other.getX()) === 0;\n }, Point.prototype.normalize = function() {\n return this.x = this.x.redMul(this.z.redInvm()), this.z = this.curve.one, this;\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n };\n }\n}), require_edwards = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/edwards.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function EdwardsCurve(conf) {\n this.twisted = (conf.a | 0) !== 1, this.mOneA = this.twisted && (conf.a | 0) === -1, this.extended = this.mOneA, Base.@call(this, \"edwards\", conf), this.a = new BN(conf.a, 16).umod(this.red.m), this.a = this.a.toRed(this.red), this.c = new BN(conf.c, 16).toRed(this.red), this.c2 = this.c.redSqr(), this.d = new BN(conf.d, 16).toRed(this.red), this.dd = this.d.redAdd(this.d), assert(!this.twisted || this.c.fromRed().cmpn(1) === 0), this.oneC = (conf.c | 0) === 1;\n }\n inherits(EdwardsCurve, Base), module.exports = EdwardsCurve, EdwardsCurve.prototype._mulA = function(num) {\n return this.mOneA \? num.redNeg() : this.a.redMul(num);\n }, EdwardsCurve.prototype._mulC = function(num) {\n return this.oneC \? num : this.c.redMul(num);\n }, EdwardsCurve.prototype.jpoint = function(x, y, z, t) {\n return this.point(x, y, z, t);\n }, EdwardsCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var x2 = x.redSqr(), rhs = this.c2.redSub(this.a.redMul(x2)), lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)), y2 = rhs.redMul(lhs.redInvm()), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.pointFromY = function(y, odd) {\n y = new BN(y, 16), y.red || (y = y.toRed(this.red));\n var y2 = y.redSqr(), lhs = y2.redSub(this.c2), rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a), x2 = lhs.redMul(rhs.redInvm());\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error(\"invalid point\");\n return this.point(this.zero, y);\n }\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n return x.fromRed().isOdd() !== odd && (x = x.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.validate = function(point) {\n if (point.isInfinity())\n return !0;\n point.normalize();\n var x2 = point.x.redSqr(), y2 = point.y.redSqr(), lhs = x2.redMul(this.a).redAdd(y2), rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n return lhs.cmp(rhs) === 0;\n };\n function Point(curve, x, y, z, t) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && y === null && z === null \? (this.x = this.curve.zero, this.y = this.curve.one, this.z = this.curve.one, this.t = this.curve.zero, this.zOne = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = z \? new BN(z, 16) : this.curve.one, this.t = t && new BN(t, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.t && !this.t.red && (this.t = this.t.toRed(this.curve.red)), this.zOne = this.z === this.curve.one, this.curve.extended && !this.t && (this.t = this.x.redMul(this.y), this.zOne || (this.t = this.t.redMul(this.z.redInvm()))));\n }\n inherits(Point, Base.BasePoint), EdwardsCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, EdwardsCurve.prototype.point = function(x, y, z, t) {\n return new Point(this, x, y, z, t);\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.x.cmpn(0) === 0 && (this.y.cmp(this.z) === 0 || this.zOne && this.y.cmp(this.curve.c) === 0);\n }, Point.prototype._extDbl = function() {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = this.z.redSqr();\n c = c.redIAdd(c);\n var d = this.curve._mulA(a), e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b), g = d.redAdd(b), f = g.redSub(c), h = d.redSub(b), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projDbl = function() {\n var b = this.x.redAdd(this.y).redSqr(), c = this.x.redSqr(), d = this.y.redSqr(), nx, ny, nz, e, h, j;\n if (this.curve.twisted) {\n e = this.curve._mulA(c);\n var f = e.redAdd(d);\n this.zOne \? (nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)), ny = f.redMul(e.redSub(d)), nz = f.redSqr().redSub(f).redSub(f)) : (h = this.z.redSqr(), j = f.redSub(h).redISub(h), nx = b.redSub(c).redISub(d).redMul(j), ny = f.redMul(e.redSub(d)), nz = f.redMul(j));\n } else\n e = c.redAdd(d), h = this.curve._mulC(this.z).redSqr(), j = e.redSub(h).redSub(h), nx = this.curve._mulC(b.redISub(e)).redMul(j), ny = this.curve._mulC(e).redMul(c.redISub(d)), nz = e.redMul(j);\n return this.curve.point(nx, ny, nz);\n }, Point.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.extended \? this._extDbl() : this._projDbl();\n }, Point.prototype._extAdd = function(p) {\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)), b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)), c = this.t.redMul(this.curve.dd).redMul(p.t), d = this.z.redMul(p.z.redAdd(p.z)), e = b.redSub(a), f = d.redSub(c), g = d.redAdd(c), h = b.redAdd(a), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projAdd = function(p) {\n var a = this.z.redMul(p.z), b = a.redSqr(), c = this.x.redMul(p.x), d = this.y.redMul(p.y), e = this.curve.d.redMul(c).redMul(d), f = b.redSub(e), g = b.redAdd(e), tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d), nx = a.redMul(f).redMul(tmp), ny, nz;\n return this.curve.twisted \? (ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))), nz = f.redMul(g)) : (ny = a.redMul(g).redMul(d.redSub(c)), nz = this.curve._mulC(f).redMul(g)), this.curve.point(nx, ny, nz);\n }, Point.prototype.add = function(p) {\n return this.isInfinity() \? p : p.isInfinity() \? this : this.curve.extended \? this._extAdd(p) : this._projAdd(p);\n }, Point.prototype.mul = function(k) {\n return this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !1);\n }, Point.prototype.jmulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !0);\n }, Point.prototype.normalize = function() {\n if (this.zOne)\n return this;\n var zi = this.z.redInvm();\n return this.x = this.x.redMul(zi), this.y = this.y.redMul(zi), this.t && (this.t = this.t.redMul(zi)), this.z = this.curve.one, this.zOne = !0, this;\n }, Point.prototype.neg = function() {\n return this.curve.point(this.x.redNeg(), this.y, this.z, this.t && this.t.redNeg());\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.normalize(), this.y.fromRed();\n }, Point.prototype.eq = function(other) {\n return this === other || this.getX().cmp(other.getX()) === 0 && this.getY().cmp(other.getY()) === 0;\n }, Point.prototype.eqXToP = function(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(this.z);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, Point.prototype.toP = Point.prototype.normalize, Point.prototype.mixedAdd = Point.prototype.add;\n }\n}), require_curve = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/index.js\"(exports) {\n var curve = exports;\n curve.base = require_base(), curve.short = require_short(), curve.mont = require_mont(), curve.edwards = require_edwards();\n }\n}), require_utils4 = __commonJS({\n \"node_modules/hash.js/lib/hash/utils.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser();\n exports.inherits = inherits;\n function isSurrogatePair(msg, i) {\n return (msg.charCodeAt(i) & 64512) !== 55296 || i < 0 || i + 1 >= msg.length \? !1 : (msg.charCodeAt(i + 1) & 64512) === 56320;\n }\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg == \"string\")\n if (enc) {\n if (enc === \"hex\")\n for (msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg), i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var p = 0, i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n c < 128 \? res[p++] = c : c < 2048 \? (res[p++] = c >> 6 | 192, res[p++] = c & 63 | 128) : isSurrogatePair(msg, i) \? (c = 65536 + ((c & 1023) << 10) + (msg.charCodeAt(++i) & 1023), res[p++] = c >> 18 | 240, res[p++] = c >> 12 & 63 | 128, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128) : (res[p++] = c >> 12 | 224, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128);\n }\n else\n for (i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n exports.toArray = toArray;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n exports.toHex = toHex;\n function htonl(w) {\n var res = w >>> 24 | w >>> 8 & 65280 | w << 8 & 16711680 | (w & 255) << 24;\n return res >>> 0;\n }\n exports.htonl = htonl;\n function toHex32(msg, endian) {\n for (var res = \"\", i = 0;i < msg.length; i++) {\n var w = msg[i];\n endian === \"little\" && (w = htonl(w)), res += zero8(w.toString(16));\n }\n return res;\n }\n exports.toHex32 = toHex32;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n exports.zero2 = zero2;\n function zero8(word) {\n return word.length === 7 \? \"0\" + word : word.length === 6 \? \"00\" + word : word.length === 5 \? \"000\" + word : word.length === 4 \? \"0000\" + word : word.length === 3 \? \"00000\" + word : word.length === 2 \? \"000000\" + word : word.length === 1 \? \"0000000\" + word : word;\n }\n exports.zero8 = zero8;\n function join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n for (var res = new @Array(len / 4), i = 0, k = start;i < res.length; i++, k += 4) {\n var w;\n endian === \"big\" \? w = msg[k] << 24 | msg[k + 1] << 16 | msg[k + 2] << 8 | msg[k + 3] : w = msg[k + 3] << 24 | msg[k + 2] << 16 | msg[k + 1] << 8 | msg[k], res[i] = w >>> 0;\n }\n return res;\n }\n exports.join32 = join32;\n function split32(msg, endian) {\n for (var res = new @Array(msg.length * 4), i = 0, k = 0;i < msg.length; i++, k += 4) {\n var m = msg[i];\n endian === \"big\" \? (res[k] = m >>> 24, res[k + 1] = m >>> 16 & 255, res[k + 2] = m >>> 8 & 255, res[k + 3] = m & 255) : (res[k + 3] = m >>> 24, res[k + 2] = m >>> 16 & 255, res[k + 1] = m >>> 8 & 255, res[k] = m & 255);\n }\n return res;\n }\n exports.split32 = split32;\n function rotr32(w, b) {\n return w >>> b | w << 32 - b;\n }\n exports.rotr32 = rotr32;\n function rotl32(w, b) {\n return w << b | w >>> 32 - b;\n }\n exports.rotl32 = rotl32;\n function sum32(a, b) {\n return a + b >>> 0;\n }\n exports.sum32 = sum32;\n function sum32_3(a, b, c) {\n return a + b + c >>> 0;\n }\n exports.sum32_3 = sum32_3;\n function sum32_4(a, b, c, d) {\n return a + b + c + d >>> 0;\n }\n exports.sum32_4 = sum32_4;\n function sum32_5(a, b, c, d, e) {\n return a + b + c + d + e >>> 0;\n }\n exports.sum32_5 = sum32_5;\n function sum64(buf, pos, ah, al) {\n var bh = buf[pos], bl = buf[pos + 1], lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0, buf[pos + 1] = lo;\n }\n exports.sum64 = sum64;\n function sum64_hi(ah, al, bh, bl) {\n var lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n return hi >>> 0;\n }\n exports.sum64_hi = sum64_hi;\n function sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n }\n exports.sum64_lo = sum64_lo;\n function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0;\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n }\n exports.sum64_4_hi = sum64_4_hi;\n function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n }\n exports.sum64_4_lo = sum64_4_lo;\n function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0, lo = lo + el >>> 0, carry += lo < el \? 1 : 0;\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n }\n exports.sum64_5_hi = sum64_5_hi;\n function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n return lo >>> 0;\n }\n exports.sum64_5_lo = sum64_5_lo;\n function rotr64_hi(ah, al, num) {\n var r = al << 32 - num | ah >>> num;\n return r >>> 0;\n }\n exports.rotr64_hi = rotr64_hi;\n function rotr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.rotr64_lo = rotr64_lo;\n function shr64_hi(ah, al, num) {\n return ah >>> num;\n }\n exports.shr64_hi = shr64_hi;\n function shr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.shr64_lo = shr64_lo;\n }\n}), require_common = __commonJS({\n \"node_modules/hash.js/lib/hash/common.js\"(exports) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function BlockHash() {\n this.pending = null, this.pendingTotal = 0, this.blockSize = this.constructor.blockSize, this.outSize = this.constructor.outSize, this.hmacStrength = this.constructor.hmacStrength, this.padLength = this.constructor.padLength / 8, this.endian = \"big\", this._delta8 = this.blockSize / 8, this._delta32 = this.blockSize / 32;\n }\n BlockHash.prototype = {}, exports.BlockHash = BlockHash, BlockHash.prototype.update = function(msg, enc) {\n if (msg = utils.toArray(msg, enc), this.pending \? this.pending = this.pending.concat(msg) : this.pending = msg, this.pendingTotal += msg.length, this.pending.length >= this._delta8) {\n msg = this.pending;\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length), this.pending.length === 0 && (this.pending = null), msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0;i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n return this;\n }, BlockHash.prototype.digest = function(enc) {\n return this.update(this._pad()), assert(this.pending === null), this._digest(enc);\n }, BlockHash.prototype._pad = function() {\n var len = this.pendingTotal, bytes = this._delta8, k = bytes - (len + this.padLength) % bytes, res = new @Array(k + this.padLength);\n res[0] = 128;\n for (var i = 1;i < k; i++)\n res[i] = 0;\n if (len <<= 3, this.endian === \"big\") {\n for (var t = 8;t < this.padLength; t++)\n res[i++] = 0;\n res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = len >>> 24 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 8 & 255, res[i++] = len & 255;\n } else\n for (res[i++] = len & 255, res[i++] = len >>> 8 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 24 & 255, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, t = 8;t < this.padLength; t++)\n res[i++] = 0;\n return res;\n };\n }\n}), require_common2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/common.js\"(exports) {\n var utils = require_utils4(), rotr32 = utils.rotr32;\n function ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n }\n exports.ft_1 = ft_1;\n function ch32(x, y, z) {\n return x & y ^ ~x & z;\n }\n exports.ch32 = ch32;\n function maj32(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n exports.maj32 = maj32;\n function p32(x, y, z) {\n return x ^ y ^ z;\n }\n exports.p32 = p32;\n function s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n }\n exports.s0_256 = s0_256;\n function s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n }\n exports.s1_256 = s1_256;\n function g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ x >>> 3;\n }\n exports.g0_256 = g0_256;\n function g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ x >>> 10;\n }\n exports.g1_256 = g1_256;\n }\n}), require__ = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/1.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_5 = utils.sum32_5, ft_1 = shaCommon.ft_1, BlockHash = common.BlockHash, sha1_K = [1518500249, 1859775393, 2400959708, 3395469782];\n function SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.W = new @Array(80);\n }\n utils.inherits(SHA1, BlockHash), module.exports = SHA1, SHA1.blockSize = 512, SHA1.outSize = 160, SHA1.hmacStrength = 80, SHA1.padLength = 64, SHA1.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4];\n for (i = 0;i < W.length; i++) {\n var s = ~~(i / 20), t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d, d = c, c = rotl32(b, 30), b = a, a = t;\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e);\n }, SHA1.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/256.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), assert = require_minimalistic_assert(), sum32 = utils.sum32, sum32_4 = utils.sum32_4, sum32_5 = utils.sum32_5, ch32 = shaCommon.ch32, maj32 = shaCommon.maj32, s0_256 = shaCommon.s0_256, s1_256 = shaCommon.s1_256, g0_256 = shaCommon.g0_256, g1_256 = shaCommon.g1_256, BlockHash = common.BlockHash, sha256_K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ];\n function SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256;\n BlockHash.@call(this), this.h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.k = sha256_K, this.W = new @Array(64);\n }\n utils.inherits(SHA256, BlockHash), module.exports = SHA256, SHA256.blockSize = 512, SHA256.outSize = 256, SHA256.hmacStrength = 192, SHA256.padLength = 64, SHA256.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4], f = this.h[5], g = this.h[6], h = this.h[7];\n for (assert(this.k.length === W.length), i = 0;i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]), T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g, g = f, f = e, e = sum32(d, T1), d = c, c = b, b = a, a = sum32(T1, T2);\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e), this.h[5] = sum32(this.h[5], f), this.h[6] = sum32(this.h[6], g), this.h[7] = sum32(this.h[7], h);\n }, SHA256.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/224.js\"(exports, module) {\n var utils = require_utils4(), SHA256 = require__2();\n function SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224;\n SHA256.@call(this), this.h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n }\n utils.inherits(SHA224, SHA256), module.exports = SHA224, SHA224.blockSize = 512, SHA224.outSize = 224, SHA224.hmacStrength = 192, SHA224.padLength = 64, SHA224.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 7), \"big\") : utils.split32(this.h.slice(0, 7), \"big\");\n };\n }\n}), require__4 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/512.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), assert = require_minimalistic_assert(), rotr64_hi = utils.rotr64_hi, rotr64_lo = utils.rotr64_lo, shr64_hi = utils.shr64_hi, shr64_lo = utils.shr64_lo, sum64 = utils.sum64, sum64_hi = utils.sum64_hi, sum64_lo = utils.sum64_lo, sum64_4_hi = utils.sum64_4_hi, sum64_4_lo = utils.sum64_4_lo, sum64_5_hi = utils.sum64_5_hi, sum64_5_lo = utils.sum64_5_lo, BlockHash = common.BlockHash, sha512_K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ];\n function SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512;\n BlockHash.@call(this), this.h = [\n 1779033703,\n 4089235720,\n 3144134277,\n 2227873595,\n 1013904242,\n 4271175723,\n 2773480762,\n 1595750129,\n 1359893119,\n 2917565137,\n 2600822924,\n 725511199,\n 528734635,\n 4215389547,\n 1541459225,\n 327033209\n ], this.k = sha512_K, this.W = new @Array(160);\n }\n utils.inherits(SHA512, BlockHash), module.exports = SHA512, SHA512.blockSize = 1024, SHA512.outSize = 512, SHA512.hmacStrength = 192, SHA512.padLength = 128, SHA512.prototype._prepareBlock = function(msg, start) {\n for (var W = this.W, i = 0;i < 32; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]), c0_lo = g1_512_lo(W[i - 4], W[i - 3]), c1_hi = W[i - 14], c1_lo = W[i - 13], c2_hi = g0_512_hi(W[i - 30], W[i - 29]), c2_lo = g0_512_lo(W[i - 30], W[i - 29]), c3_hi = W[i - 32], c3_lo = W[i - 31];\n W[i] = sum64_4_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo), W[i + 1] = sum64_4_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);\n }\n }, SHA512.prototype._update = function(msg, start) {\n this._prepareBlock(msg, start);\n var W = this.W, ah = this.h[0], al = this.h[1], bh = this.h[2], bl = this.h[3], ch = this.h[4], cl = this.h[5], dh = this.h[6], dl = this.h[7], eh = this.h[8], el = this.h[9], fh = this.h[10], fl = this.h[11], gh = this.h[12], gl = this.h[13], hh = this.h[14], hl = this.h[15];\n assert(this.k.length === W.length);\n for (var i = 0;i < W.length; i += 2) {\n var c0_hi = hh, c0_lo = hl, c1_hi = s1_512_hi(eh, el), c1_lo = s1_512_lo(eh, el), c2_hi = ch64_hi(eh, el, fh, fl, gh, gl), c2_lo = ch64_lo(eh, el, fh, fl, gh, gl), c3_hi = this.k[i], c3_lo = this.k[i + 1], c4_hi = W[i], c4_lo = W[i + 1], T1_hi = sum64_5_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo), T1_lo = sum64_5_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);\n c0_hi = s0_512_hi(ah, al), c0_lo = s0_512_lo(ah, al), c1_hi = maj64_hi(ah, al, bh, bl, ch, cl), c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo), T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, eh = sum64_hi(dh, dl, T1_hi, T1_lo), el = sum64_lo(dl, dl, T1_hi, T1_lo), dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo), al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n sum64(this.h, 0, ah, al), sum64(this.h, 2, bh, bl), sum64(this.h, 4, ch, cl), sum64(this.h, 6, dh, dl), sum64(this.h, 8, eh, el), sum64(this.h, 10, fh, fl), sum64(this.h, 12, gh, gl), sum64(this.h, 14, hh, hl);\n }, SHA512.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n function ch64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ ~xh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ ~xl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ xh & zh ^ yh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ xl & zl ^ yl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28), c1_hi = rotr64_hi(xl, xh, 2), c2_hi = rotr64_hi(xl, xh, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28), c1_lo = rotr64_lo(xl, xh, 2), c2_lo = rotr64_lo(xl, xh, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14), c1_hi = rotr64_hi(xh, xl, 18), c2_hi = rotr64_hi(xl, xh, 9), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14), c1_lo = rotr64_lo(xh, xl, 18), c2_lo = rotr64_lo(xl, xh, 9), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1), c1_hi = rotr64_hi(xh, xl, 8), c2_hi = shr64_hi(xh, xl, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1), c1_lo = rotr64_lo(xh, xl, 8), c2_lo = shr64_lo(xh, xl, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19), c1_hi = rotr64_hi(xl, xh, 29), c2_hi = shr64_hi(xh, xl, 6), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19), c1_lo = rotr64_lo(xl, xh, 29), c2_lo = shr64_lo(xh, xl, 6), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n }\n}), require__5 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/384.js\"(exports, module) {\n var utils = require_utils4(), SHA512 = require__4();\n function SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384;\n SHA512.@call(this), this.h = [\n 3418070365,\n 3238371032,\n 1654270250,\n 914150663,\n 2438529370,\n 812702999,\n 355462360,\n 4144912697,\n 1731405415,\n 4290775857,\n 2394180231,\n 1750603025,\n 3675008525,\n 1694076839,\n 1203062813,\n 3204075428\n ];\n }\n utils.inherits(SHA384, SHA512), module.exports = SHA384, SHA384.blockSize = 1024, SHA384.outSize = 384, SHA384.hmacStrength = 192, SHA384.padLength = 128, SHA384.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 12), \"big\") : utils.split32(this.h.slice(0, 12), \"big\");\n };\n }\n}), require_sha3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha.js\"(exports) {\n exports.sha1 = require__(), exports.sha224 = require__3(), exports.sha256 = require__2(), exports.sha384 = require__5(), exports.sha512 = require__4();\n }\n}), require_ripemd = __commonJS({\n \"node_modules/hash.js/lib/hash/ripemd.js\"(exports) {\n var utils = require_utils4(), common = require_common(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_3 = utils.sum32_3, sum32_4 = utils.sum32_4, BlockHash = common.BlockHash;\n function RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.endian = \"little\";\n }\n utils.inherits(RIPEMD160, BlockHash), exports.ripemd160 = RIPEMD160, RIPEMD160.blockSize = 512, RIPEMD160.outSize = 160, RIPEMD160.hmacStrength = 192, RIPEMD160.padLength = 64, RIPEMD160.prototype._update = function(msg, start) {\n for (var A = this.h[0], B = this.h[1], C = this.h[2], D = this.h[3], E = this.h[4], Ah = A, Bh = B, Ch = C, Dh = D, Eh = E, j = 0;j < 80; j++) {\n var T = sum32(rotl32(sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), s[j]), E);\n A = E, E = D, D = rotl32(C, 10), C = B, B = T, T = sum32(rotl32(sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), sh[j]), Eh), Ah = Eh, Eh = Dh, Dh = rotl32(Ch, 10), Ch = Bh, Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh), this.h[1] = sum32_3(this.h[2], D, Eh), this.h[2] = sum32_3(this.h[3], E, Ah), this.h[3] = sum32_3(this.h[4], A, Bh), this.h[4] = sum32_3(this.h[0], B, Ch), this.h[0] = T;\n }, RIPEMD160.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"little\") : utils.split32(this.h, \"little\");\n };\n function f(j, x, y, z) {\n return j <= 15 \? x ^ y ^ z : j <= 31 \? x & y | ~x & z : j <= 47 \? (x | ~y) ^ z : j <= 63 \? x & z | y & ~z : x ^ (y | ~z);\n }\n function K(j) {\n return j <= 15 \? 0 : j <= 31 \? 1518500249 : j <= 47 \? 1859775393 : j <= 63 \? 2400959708 : 2840853838;\n }\n function Kh(j) {\n return j <= 15 \? 1352829926 : j <= 31 \? 1548603684 : j <= 47 \? 1836072691 : j <= 63 \? 2053994217 : 0;\n }\n var r = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], rh = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], s = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sh = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ];\n }\n}), require_hmac = __commonJS({\n \"node_modules/hash.js/lib/hash/hmac.js\"(exports, module) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function Hmac(hash, key2, enc) {\n if (key2 = exportIfKeyObject(key2), !(this instanceof Hmac))\n return new Hmac(hash, key2, enc);\n this.Hash = hash, this.blockSize = hash.blockSize / 8, this.outSize = hash.outSize / 8, this.inner = null, this.outer = null, this._init(utils.toArray(key2, enc));\n }\n Hmac.prototype = {}, module.exports = Hmac, Hmac.prototype._init = function(key2) {\n key2.length > this.blockSize && (key2 = new this.Hash().update(key2).digest()), assert(key2.length <= this.blockSize);\n for (var i = key2.length;i < this.blockSize; i++)\n key2.push(0);\n for (i = 0;i < key2.length; i++)\n key2[i] ^= 54;\n for (this.inner = new this.Hash().update(key2), i = 0;i < key2.length; i++)\n key2[i] ^= 106;\n this.outer = new this.Hash().update(key2);\n }, Hmac.prototype.update = function(msg, enc) {\n return this.inner.update(msg, enc), this;\n }, Hmac.prototype.digest = function(enc) {\n return this.outer.update(this.inner.digest()), this.outer.digest(enc);\n };\n }\n}), require_hash2 = __commonJS({\n \"node_modules/hash.js/lib/hash.js\"(exports) {\n var hash = exports;\n hash.utils = require_utils4(), hash.common = require_common(), hash.sha = require_sha3(), hash.ripemd = require_ripemd(), hash.hmac = require_hmac(), hash.sha1 = hash.sha.sha1, hash.sha256 = hash.sha.sha256, hash.sha224 = hash.sha.sha224, hash.sha384 = hash.sha.sha384, hash.sha512 = hash.sha.sha512, hash.ripemd160 = hash.ripemd.ripemd160;\n }\n}), require_secp256k1 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\"(exports, module) {\n module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n \"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\n \"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"\n ],\n [\n \"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\n \"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"\n ],\n [\n \"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\n \"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"\n ],\n [\n \"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\n \"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"\n ],\n [\n \"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\n \"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"\n ],\n [\n \"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\n \"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"\n ],\n [\n \"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\n \"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"\n ],\n [\n \"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\n \"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"\n ],\n [\n \"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\n \"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"\n ],\n [\n \"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\n \"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"\n ],\n [\n \"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\n \"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"\n ],\n [\n \"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\n \"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"\n ],\n [\n \"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\n \"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"\n ],\n [\n \"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\n \"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"\n ],\n [\n \"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\n \"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"\n ],\n [\n \"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\n \"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"\n ],\n [\n \"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\n \"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"\n ],\n [\n \"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\n \"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"\n ],\n [\n \"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\n \"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"\n ],\n [\n \"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\n \"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"\n ],\n [\n \"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\n \"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"\n ],\n [\n \"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\n \"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"\n ],\n [\n \"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\n \"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"\n ],\n [\n \"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\n \"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"\n ],\n [\n \"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\n \"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"\n ],\n [\n \"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\n \"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"\n ],\n [\n \"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\n \"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"\n ],\n [\n \"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\n \"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"\n ],\n [\n \"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\n \"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"\n ],\n [\n \"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\n \"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"\n ],\n [\n \"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\n \"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"\n ],\n [\n \"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\n \"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"\n ],\n [\n \"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\n \"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"\n ],\n [\n \"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\n \"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"\n ],\n [\n \"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\n \"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"\n ],\n [\n \"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\n \"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"\n ],\n [\n \"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\n \"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"\n ],\n [\n \"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\n \"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"\n ],\n [\n \"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\n \"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"\n ],\n [\n \"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\n \"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"\n ],\n [\n \"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\n \"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"\n ],\n [\n \"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\n \"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"\n ],\n [\n \"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\n \"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"\n ],\n [\n \"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\n \"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"\n ],\n [\n \"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\n \"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"\n ],\n [\n \"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\n \"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"\n ],\n [\n \"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\n \"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"\n ],\n [\n \"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\n \"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"\n ],\n [\n \"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\n \"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"\n ],\n [\n \"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\n \"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"\n ],\n [\n \"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\n \"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"\n ],\n [\n \"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\n \"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"\n ],\n [\n \"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\n \"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"\n ],\n [\n \"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\n \"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"\n ],\n [\n \"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\n \"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"\n ],\n [\n \"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\n \"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"\n ],\n [\n \"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\n \"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"\n ],\n [\n \"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\n \"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"\n ],\n [\n \"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\n \"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"\n ],\n [\n \"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\n \"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"\n ],\n [\n \"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\n \"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"\n ],\n [\n \"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\n \"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"\n ],\n [\n \"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\n \"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"\n ],\n [\n \"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\n \"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"\n ],\n [\n \"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\n \"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n \"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\n \"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"\n ],\n [\n \"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\n \"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"\n ],\n [\n \"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\n \"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"\n ],\n [\n \"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\n \"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"\n ],\n [\n \"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\n \"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"\n ],\n [\n \"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\n \"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"\n ],\n [\n \"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\n \"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"\n ],\n [\n \"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\n \"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"\n ],\n [\n \"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\n \"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"\n ],\n [\n \"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\n \"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"\n ],\n [\n \"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\n \"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"\n ],\n [\n \"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\n \"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"\n ],\n [\n \"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\n \"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"\n ],\n [\n \"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\n \"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"\n ],\n [\n \"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\n \"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"\n ],\n [\n \"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\n \"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"\n ],\n [\n \"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\n \"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"\n ],\n [\n \"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\n \"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"\n ],\n [\n \"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\n \"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"\n ],\n [\n \"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\n \"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"\n ],\n [\n \"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\n \"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"\n ],\n [\n \"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\n \"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"\n ],\n [\n \"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\n \"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"\n ],\n [\n \"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\n \"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"\n ],\n [\n \"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\n \"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"\n ],\n [\n \"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\n \"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"\n ],\n [\n \"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\n \"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"\n ],\n [\n \"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\n \"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"\n ],\n [\n \"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\n \"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"\n ],\n [\n \"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\n \"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"\n ],\n [\n \"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\n \"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"\n ],\n [\n \"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\n \"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"\n ],\n [\n \"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\n \"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"\n ],\n [\n \"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\n \"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"\n ],\n [\n \"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\n \"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"\n ],\n [\n \"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\n \"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"\n ],\n [\n \"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\n \"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"\n ],\n [\n \"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\n \"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"\n ],\n [\n \"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\n \"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"\n ],\n [\n \"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\n \"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"\n ],\n [\n \"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\n \"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"\n ],\n [\n \"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\n \"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"\n ],\n [\n \"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\n \"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"\n ],\n [\n \"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\n \"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"\n ],\n [\n \"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\n \"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"\n ],\n [\n \"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\n \"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"\n ],\n [\n \"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\n \"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"\n ],\n [\n \"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\n \"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"\n ],\n [\n \"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\n \"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"\n ],\n [\n \"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\n \"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"\n ],\n [\n \"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\n \"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"\n ],\n [\n \"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\n \"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"\n ],\n [\n \"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\n \"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"\n ],\n [\n \"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\n \"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"\n ],\n [\n \"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\n \"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"\n ],\n [\n \"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\n \"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"\n ],\n [\n \"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\n \"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"\n ],\n [\n \"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\n \"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"\n ],\n [\n \"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\n \"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"\n ],\n [\n \"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\n \"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"\n ],\n [\n \"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\n \"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"\n ],\n [\n \"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\n \"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"\n ],\n [\n \"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\n \"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"\n ],\n [\n \"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\n \"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"\n ],\n [\n \"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\n \"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"\n ],\n [\n \"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\n \"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"\n ],\n [\n \"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\n \"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"\n ],\n [\n \"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\n \"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"\n ],\n [\n \"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\n \"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"\n ],\n [\n \"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\n \"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"\n ],\n [\n \"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\n \"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"\n ],\n [\n \"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\n \"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"\n ],\n [\n \"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\n \"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"\n ],\n [\n \"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\n \"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"\n ],\n [\n \"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\n \"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"\n ],\n [\n \"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\n \"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"\n ],\n [\n \"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\n \"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"\n ],\n [\n \"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\n \"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"\n ],\n [\n \"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\n \"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"\n ],\n [\n \"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\n \"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"\n ],\n [\n \"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\n \"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"\n ],\n [\n \"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\n \"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"\n ],\n [\n \"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\n \"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"\n ],\n [\n \"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\n \"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"\n ],\n [\n \"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\n \"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"\n ],\n [\n \"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\n \"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"\n ],\n [\n \"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\n \"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"\n ],\n [\n \"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\n \"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"\n ],\n [\n \"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\n \"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"\n ],\n [\n \"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\n \"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"\n ],\n [\n \"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\n \"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"\n ],\n [\n \"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\n \"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"\n ],\n [\n \"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\n \"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"\n ],\n [\n \"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\n \"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"\n ],\n [\n \"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\n \"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"\n ],\n [\n \"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\n \"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"\n ],\n [\n \"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\n \"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"\n ],\n [\n \"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\n \"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"\n ],\n [\n \"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\n \"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"\n ],\n [\n \"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\n \"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"\n ],\n [\n \"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\n \"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"\n ],\n [\n \"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\n \"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"\n ],\n [\n \"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\n \"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"\n ],\n [\n \"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\n \"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"\n ],\n [\n \"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\n \"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"\n ],\n [\n \"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\n \"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"\n ],\n [\n \"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\n \"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"\n ],\n [\n \"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\n \"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"\n ],\n [\n \"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\n \"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"\n ],\n [\n \"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\n \"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"\n ],\n [\n \"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\n \"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"\n ],\n [\n \"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\n \"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"\n ],\n [\n \"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\n \"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"\n ],\n [\n \"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\n \"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"\n ],\n [\n \"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\n \"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"\n ],\n [\n \"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\n \"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"\n ],\n [\n \"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\n \"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"\n ],\n [\n \"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\n \"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"\n ],\n [\n \"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\n \"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"\n ],\n [\n \"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\n \"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"\n ],\n [\n \"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\n \"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"\n ],\n [\n \"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\n \"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"\n ],\n [\n \"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\n \"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"\n ],\n [\n \"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\n \"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"\n ],\n [\n \"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\n \"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"\n ],\n [\n \"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\n \"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"\n ],\n [\n \"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\n \"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"\n ]\n ]\n }\n };\n }\n}), require_curves = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curves.js\"(exports) {\n var curves = exports, hash = require_hash2(), curve = require_curve(), utils = require_utils3(), assert = utils.assert;\n function PresetCurve(options) {\n options.type === \"short\" \? this.curve = new curve.short(options) : options.type === \"edwards\" \? this.curve = new curve.edwards(options) : this.curve = new curve.mont(options), this.g = this.curve.g, this.n = this.curve.n, this.hash = options.hash, assert(this.g.validate(), \"Invalid curve\"), assert(this.g.mul(this.n).isInfinity(), \"Invalid curve, G*N != O\");\n }\n PresetCurve.prototype = {}, curves.PresetCurve = PresetCurve;\n function defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n var curve2 = new PresetCurve(options);\n return Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n value: curve2\n }), curve2;\n }\n });\n }\n defineCurve(\"p192\", {\n type: \"short\",\n prime: \"p192\",\n p: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",\n b: \"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",\n n: \"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\n \"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"\n ]\n }), defineCurve(\"p224\", {\n type: \"short\",\n prime: \"p224\",\n p: \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",\n b: \"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",\n n: \"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\n \"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"\n ]\n }), defineCurve(\"p256\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",\n a: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",\n b: \"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",\n n: \"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\n \"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"\n ]\n }), defineCurve(\"p384\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",\n a: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",\n b: \"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",\n n: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",\n hash: hash.sha384,\n gRed: !1,\n g: [\n \"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\n \"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"\n ]\n }), defineCurve(\"p521\", {\n type: \"short\",\n prime: null,\n p: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",\n a: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",\n b: \"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",\n n: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",\n hash: hash.sha512,\n gRed: !1,\n g: [\n \"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\n \"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"\n ]\n }), defineCurve(\"curve25519\", {\n type: \"mont\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"76d06\",\n b: \"1\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\"9\"]\n }), defineCurve(\"ed25519\", {\n type: \"edwards\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"-1\",\n c: \"1\",\n d: \"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\n \"6666666666666666666666666666666666666666666666666666666666666658\"\n ]\n });\n var pre;\n try {\n pre = require_secp256k1();\n } catch {\n pre = void 0;\n }\n defineCurve(\"secp256k1\", {\n type: \"short\",\n prime: \"k256\",\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",\n a: \"0\",\n b: \"7\",\n n: \"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",\n h: \"1\",\n hash: hash.sha256,\n beta: \"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",\n lambda: \"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",\n basis: [\n {\n a: \"3086d221a7d46bcde86c90e49284eb15\",\n b: \"-e4437ed6010e88286f547fa90abfe4c3\"\n },\n {\n a: \"114ca50f7a8e2f3f657c1108d9d44cfd8\",\n b: \"3086d221a7d46bcde86c90e49284eb15\"\n }\n ],\n gRed: !1,\n g: [\n \"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n \"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",\n pre\n ]\n });\n }\n}), require_hmac_drbg = __commonJS({\n \"node_modules/hmac-drbg/lib/hmac-drbg.js\"(exports, module) {\n var hash = require_hash2(), utils = require_utils2(), assert = require_minimalistic_assert();\n function HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash, this.predResist = !!options.predResist, this.outLen = this.hash.outSize, this.minEntropy = options.minEntropy || this.hash.hmacStrength, this._reseed = null, this.reseedInterval = null, this.K = null, this.V = null;\n var entropy = utils.toArray(options.entropy, options.entropyEnc || \"hex\"), nonce = utils.toArray(options.nonce, options.nonceEnc || \"hex\"), pers = utils.toArray(options.pers, options.persEnc || \"hex\");\n assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._init(entropy, nonce, pers);\n }\n HmacDRBG.prototype = {}, module.exports = HmacDRBG, HmacDRBG.prototype._init = function(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n this.K = new @Array(this.outLen / 8), this.V = new @Array(this.outLen / 8);\n for (var i = 0;i < this.V.length; i++)\n this.K[i] = 0, this.V[i] = 1;\n this._update(seed), this._reseed = 1, this.reseedInterval = 281474976710656;\n }, HmacDRBG.prototype._hmac = function() {\n return new hash.hmac(this.hash, this.K);\n }, HmacDRBG.prototype._update = function(seed) {\n var kmac = this._hmac().update(this.V).update([0]);\n seed && (kmac = kmac.update(seed)), this.K = kmac.digest(), this.V = this._hmac().update(this.V).digest(), seed && (this.K = this._hmac().update(this.V).update([1]).update(seed).digest(), this.V = this._hmac().update(this.V).digest());\n }, HmacDRBG.prototype.reseed = function(entropy, entropyEnc, add, addEnc) {\n typeof entropyEnc != \"string\" && (addEnc = add, add = entropyEnc, entropyEnc = null), entropy = utils.toArray(entropy, entropyEnc), add = utils.toArray(add, addEnc), assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._update(entropy.concat(add || [])), this._reseed = 1;\n }, HmacDRBG.prototype.generate = function(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error(\"Reseed is required\");\n typeof enc != \"string\" && (addEnc = add, add = enc, enc = null), add && (add = utils.toArray(add, addEnc || \"hex\"), this._update(add));\n for (var temp = [];temp.length < len; )\n this.V = this._hmac().update(this.V).digest(), temp = temp.concat(this.V);\n var res = temp.slice(0, len);\n return this._update(add), this._reseed++, utils.encode(res, enc);\n };\n }\n}), require_key = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/key.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function KeyPair(ec, options) {\n this.ec = ec, this.priv = null, this.pub = null, options.priv && this._importPrivate(options.priv, options.privEnc), options.pub && this._importPublic(options.pub, options.pubEnc);\n }\n KeyPair.prototype = {}, module.exports = KeyPair, KeyPair.fromPublic = function(ec, pub, enc) {\n return pub instanceof KeyPair \? pub : new KeyPair(ec, {\n pub,\n pubEnc: enc\n });\n }, KeyPair.fromPrivate = function(ec, priv, enc) {\n return priv instanceof KeyPair \? priv : new KeyPair(ec, {\n priv,\n privEnc: enc\n });\n }, KeyPair.prototype.validate = function() {\n var pub = this.getPublic();\n return pub.isInfinity() \? { result: !1, reason: \"Invalid public key\" } : pub.validate() \? pub.mul(this.ec.curve.n).isInfinity() \? { result: !0, reason: null } : { result: !1, reason: \"Public key * N != O\" } : { result: !1, reason: \"Public key is not a point\" };\n }, KeyPair.prototype.getPublic = function(compact, enc) {\n return typeof compact == \"string\" && (enc = compact, compact = null), this.pub || (this.pub = this.ec.g.mul(this.priv)), enc \? this.pub.encode(enc, compact) : this.pub;\n }, KeyPair.prototype.getPrivate = function(enc) {\n return enc === \"hex\" \? this.priv.toString(16, 2) : this.priv;\n }, KeyPair.prototype._importPrivate = function(key2, enc) {\n this.priv = new BN(key2, enc || 16), this.priv = this.priv.umod(this.ec.curve.n);\n }, KeyPair.prototype._importPublic = function(key2, enc) {\n if (key2.x || key2.y) {\n this.ec.curve.type === \"mont\" \? assert(key2.x, \"Need x coordinate\") : (this.ec.curve.type === \"short\" || this.ec.curve.type === \"edwards\") && assert(key2.x && key2.y, \"Need both x and y coordinate\"), this.pub = this.ec.curve.point(key2.x, key2.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key2, enc);\n }, KeyPair.prototype.derive = function(pub) {\n return pub.validate() || assert(pub.validate(), \"public point not validated\"), pub.mul(this.priv).getX();\n }, KeyPair.prototype.sign = function(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n }, KeyPair.prototype.verify = function(msg, signature) {\n return this.ec.verify(msg, signature, this);\n }, KeyPair.prototype.inspect = function() {\n return \"<Key priv: \" + (this.priv && this.priv.toString(16, 2)) + \" pub: \" + (this.pub && this.pub.inspect()) + \" >\";\n };\n }\n}), require_signature = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n this._importDER(options, enc) || (assert(options.r && options.s, \"Signature without r or s\"), this.r = new BN(options.r, 16), this.s = new BN(options.s, 16), options.recoveryParam === void 0 \? this.recoveryParam = null : this.recoveryParam = options.recoveryParam);\n }\n Signature.prototype = {}, module.exports = Signature;\n function Position() {\n this.place = 0;\n }\n function getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 128))\n return initial;\n var octetLen = initial & 15;\n if (octetLen === 0 || octetLen > 4)\n return !1;\n for (var val = 0, i = 0, off = p.place;i < octetLen; i++, off++)\n val <<= 8, val |= buf[off], val >>>= 0;\n return val <= 127 \? !1 : (p.place = off, val);\n }\n function rmPadding(buf) {\n for (var i = 0, len = buf.length - 1;!buf[i] && !(buf[i + 1] & 128) && i < len; )\n i++;\n return i === 0 \? buf : buf.slice(i);\n }\n Signature.prototype._importDER = function(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position;\n if (data[p.place++] !== 48)\n return !1;\n var len = getLength(data, p);\n if (len === !1 || len + p.place !== data.length || data[p.place++] !== 2)\n return !1;\n var rlen = getLength(data, p);\n if (rlen === !1)\n return !1;\n var r = data.slice(p.place, rlen + p.place);\n if (p.place += rlen, data[p.place++] !== 2)\n return !1;\n var slen = getLength(data, p);\n if (slen === !1 || data.length !== slen + p.place)\n return !1;\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0)\n if (r[1] & 128)\n r = r.slice(1);\n else\n return !1;\n if (s[0] === 0)\n if (s[1] & 128)\n s = s.slice(1);\n else\n return !1;\n return this.r = new BN(r), this.s = new BN(s), this.recoveryParam = null, !0;\n };\n function constructLength(arr, len) {\n if (len < 128) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n for (arr.push(octets | 128);--octets; )\n arr.push(len >>> (octets << 3) & 255);\n arr.push(len);\n }\n Signature.prototype.toDER = function(enc) {\n var r = this.r.toArray(), s = this.s.toArray();\n for (r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s)), r = rmPadding(r), s = rmPadding(s);!s[0] && !(s[1] & 128); )\n s = s.slice(1);\n var arr = [2];\n constructLength(arr, r.length), arr = arr.concat(r), arr.push(2), constructLength(arr, s.length);\n var backHalf = arr.concat(s), res = [48];\n return constructLength(res, backHalf.length), res = res.concat(backHalf), utils.encode(res, enc);\n };\n }\n}), require_ec = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/index.js\"(exports, module) {\n var BN = require_bn4(), HmacDRBG = require_hmac_drbg(), utils = require_utils3(), curves = require_curves(), rand = require_brorand(), assert = utils.assert, KeyPair = require_key(), Signature = require_signature();\n function EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n typeof options == \"string\" && (assert(Object.prototype.hasOwnProperty.@call(curves, options), \"Unknown curve \" + options), options = curves[options]), options instanceof curves.PresetCurve && (options = { curve: options }), this.curve = options.curve.curve, this.n = this.curve.n, this.nh = this.n.ushrn(1), this.g = this.curve.g, this.g = options.curve.g, this.g.precompute(options.curve.n.bitLength() + 1), this.hash = options.hash || options.curve.hash;\n }\n EC.prototype = {}, module.exports = EC, EC.prototype.keyPair = function(options) {\n return new KeyPair(this, options);\n }, EC.prototype.keyFromPrivate = function(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n }, EC.prototype.keyFromPublic = function(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n }, EC.prototype.genKeyPair = function(options) {\n options || (options = {});\n for (var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\",\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || \"utf8\",\n nonce: this.n.toArray()\n }), bytes = this.n.byteLength(), ns2 = this.n.sub(new BN(2));; ) {\n var priv = new BN(drbg.generate(bytes));\n if (!(priv.cmp(ns2) > 0))\n return priv.iaddn(1), this.keyFromPrivate(priv);\n }\n }, EC.prototype._truncateToN = function(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n return delta > 0 && (msg = msg.ushrn(delta)), !truncOnly && msg.cmp(this.n) >= 0 \? msg.sub(this.n) : msg;\n }, EC.prototype.sign = function(msg, key2, enc, options) {\n typeof enc == \"object\" && (options = enc, enc = null), options || (options = {}), key2 = this.keyFromPrivate(key2, enc), msg = this._truncateToN(new BN(msg, 16));\n for (var bytes = this.n.byteLength(), bkey = key2.getPrivate().toArray(\"be\", bytes), nonce = msg.toArray(\"be\", bytes), drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\"\n }), ns1 = this.n.sub(new BN(1)), iter = 0;; iter++) {\n var k = options.k \? options.k(iter) : new BN(drbg.generate(this.n.byteLength()));\n if (k = this._truncateToN(k, !0), !(k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)) {\n var kp = this.g.mul(k);\n if (!kp.isInfinity()) {\n var kpX = kp.getX(), r = kpX.umod(this.n);\n if (r.cmpn(0) !== 0) {\n var s = k.invm(this.n).mul(r.mul(key2.getPrivate()).iadd(msg));\n if (s = s.umod(this.n), s.cmpn(0) !== 0) {\n var recoveryParam = (kp.getY().isOdd() \? 1 : 0) | (kpX.cmp(r) !== 0 \? 2 : 0);\n return options.canonical && s.cmp(this.nh) > 0 && (s = this.n.sub(s), recoveryParam ^= 1), new Signature({ r, s, recoveryParam });\n }\n }\n }\n }\n }\n }, EC.prototype.verify = function(msg, signature, key2, enc) {\n msg = this._truncateToN(new BN(msg, 16)), key2 = this.keyFromPublic(key2, enc), signature = new Signature(signature, \"hex\");\n var { r, s } = signature;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0 || s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return !1;\n var sinv = s.invm(this.n), u1 = sinv.mul(msg).umod(this.n), u2 = sinv.mul(r).umod(this.n), p;\n return this.curve._maxwellTrick \? (p = this.g.jmulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.eqXToP(r)) : (p = this.g.mulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.getX().umod(this.n).cmp(r) === 0);\n }, EC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, \"The recovery param is more than two bits\"), signature = new Signature(signature, enc);\n var n = this.n, e = new BN(msg), r = signature.r, s = signature.s, isYOdd = j & 1, isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error(\"Unable to find sencond key candinate\");\n isSecondKey \? r = this.curve.pointFromX(r.add(this.curve.n), isYOdd) : r = this.curve.pointFromX(r, isYOdd);\n var rInv = signature.r.invm(n), s1 = n.sub(e).mul(rInv).umod(n), s2 = s.mul(rInv).umod(n);\n return this.g.mulAdd(s1, r, s2);\n }, EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n if (signature = new Signature(signature, enc), signature.recoveryParam !== null)\n return signature.recoveryParam;\n for (var i = 0;i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch {\n continue;\n }\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error(\"Unable to find valid recovery factor\");\n };\n }\n}), require_key2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/key.js\"(exports, module) {\n var utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, cachedProperty = utils.cachedProperty;\n function KeyPair(eddsa, params) {\n this.eddsa = eddsa, this._secret = parseBytes(params.secret), eddsa.isPoint(params.pub) \? this._pub = params.pub : this._pubBytes = parseBytes(params.pub);\n }\n KeyPair.prototype = {}, KeyPair.fromPublic = function(eddsa, pub) {\n return pub instanceof KeyPair \? pub : new KeyPair(eddsa, { pub });\n }, KeyPair.fromSecret = function(eddsa, secret) {\n return secret instanceof KeyPair \? secret : new KeyPair(eddsa, { secret });\n }, KeyPair.prototype.secret = function() {\n return this._secret;\n }, cachedProperty(KeyPair, \"pubBytes\", function() {\n return this.eddsa.encodePoint(this.pub());\n }), cachedProperty(KeyPair, \"pub\", function() {\n return this._pubBytes \? this.eddsa.decodePoint(this._pubBytes) : this.eddsa.g.mul(this.priv());\n }), cachedProperty(KeyPair, \"privBytes\", function() {\n var eddsa = this.eddsa, hash = this.hash(), lastIx = eddsa.encodingLength - 1, a = hash.slice(0, eddsa.encodingLength);\n return a[0] &= 248, a[lastIx] &= 127, a[lastIx] |= 64, a;\n }), cachedProperty(KeyPair, \"priv\", function() {\n return this.eddsa.decodeInt(this.privBytes());\n }), cachedProperty(KeyPair, \"hash\", function() {\n return this.eddsa.hash().update(this.secret()).digest();\n }), cachedProperty(KeyPair, \"messagePrefix\", function() {\n return this.hash().slice(this.eddsa.encodingLength);\n }), KeyPair.prototype.sign = function(message) {\n return assert(this._secret, \"KeyPair can only verify\"), this.eddsa.sign(message, this);\n }, KeyPair.prototype.verify = function(message, sig) {\n return this.eddsa.verify(message, sig, this);\n }, KeyPair.prototype.getSecret = function(enc) {\n return assert(this._secret, \"KeyPair is public only\"), utils.encode(this.secret(), enc);\n }, KeyPair.prototype.getPublic = function(enc) {\n return utils.encode(this.pubBytes(), enc);\n }, module.exports = KeyPair;\n }\n}), require_signature2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert, cachedProperty = utils.cachedProperty, parseBytes = utils.parseBytes;\n function Signature(eddsa, sig) {\n this.eddsa = eddsa, typeof sig != \"object\" && (sig = parseBytes(sig)), @Array.isArray(sig) && (sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n }), assert(sig.R && sig.S, \"Signature without R or S\"), eddsa.isPoint(sig.R) && (this._R = sig.R), sig.S instanceof BN && (this._S = sig.S), this._Rencoded = @Array.isArray(sig.R) \? sig.R : sig.Rencoded, this._Sencoded = @Array.isArray(sig.S) \? sig.S : sig.Sencoded;\n }\n Signature.prototype = {}, cachedProperty(Signature, \"S\", function() {\n return this.eddsa.decodeInt(this.Sencoded());\n }), cachedProperty(Signature, \"R\", function() {\n return this.eddsa.decodePoint(this.Rencoded());\n }), cachedProperty(Signature, \"Rencoded\", function() {\n return this.eddsa.encodePoint(this.R());\n }), cachedProperty(Signature, \"Sencoded\", function() {\n return this.eddsa.encodeInt(this.S());\n }), Signature.prototype.toBytes = function() {\n return this.Rencoded().concat(this.Sencoded());\n }, Signature.prototype.toHex = function() {\n return utils.encode(this.toBytes(), \"hex\").toUpperCase();\n }, module.exports = Signature;\n }\n}), require_eddsa = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/index.js\"(exports, module) {\n var hash = require_hash2(), curves = require_curves(), utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, KeyPair = require_key2(), Signature = require_signature2();\n function EDDSA(curve) {\n if (assert(curve === \"ed25519\", \"only tested with ed25519 so far\"), !(this instanceof EDDSA))\n return new EDDSA(curve);\n curve = curves[curve].curve, this.curve = curve, this.g = curve.g, this.g.precompute(curve.n.bitLength() + 1), this.pointClass = curve.point().constructor, this.encodingLength = Math.ceil(curve.n.bitLength() / 8), this.hash = hash.sha512;\n }\n EDDSA.prototype = {}, module.exports = EDDSA, EDDSA.prototype.sign = function(message, secret) {\n message = parseBytes(message);\n var key2 = this.keyFromSecret(secret), r = this.hashInt(key2.messagePrefix(), message), R = this.g.mul(r), Rencoded = this.encodePoint(R), s_ = this.hashInt(Rencoded, key2.pubBytes(), message).mul(key2.priv()), S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R, S, Rencoded });\n }, EDDSA.prototype.verify = function(message, sig, pub) {\n message = parseBytes(message), sig = this.makeSignature(sig);\n var key2 = this.keyFromPublic(pub), h = this.hashInt(sig.Rencoded(), key2.pubBytes(), message), SG = this.g.mul(sig.S()), RplusAh = sig.R().add(key2.pub().mul(h));\n return RplusAh.eq(SG);\n }, EDDSA.prototype.hashInt = function() {\n for (var hash2 = this.hash(), i = 0;i < arguments.length; i++)\n hash2.update(arguments[i]);\n return utils.intFromLE(hash2.digest()).umod(this.curve.n);\n }, EDDSA.prototype.keyFromPublic = function(pub) {\n return KeyPair.fromPublic(this, pub);\n }, EDDSA.prototype.keyFromSecret = function(secret) {\n return KeyPair.fromSecret(this, secret);\n }, EDDSA.prototype.makeSignature = function(sig) {\n return sig instanceof Signature \? sig : new Signature(this, sig);\n }, EDDSA.prototype.encodePoint = function(point) {\n var enc = point.getY().toArray(\"le\", this.encodingLength);\n return enc[this.encodingLength - 1] |= point.getX().isOdd() \? 128 : 0, enc;\n }, EDDSA.prototype.decodePoint = function(bytes) {\n bytes = utils.parseBytes(bytes);\n var lastIx = bytes.length - 1, normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & -129), xIsOdd = (bytes[lastIx] & 128) !== 0, y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n }, EDDSA.prototype.encodeInt = function(num) {\n return num.toArray(\"le\", this.encodingLength);\n }, EDDSA.prototype.decodeInt = function(bytes) {\n return utils.intFromLE(bytes);\n }, EDDSA.prototype.isPoint = function(val) {\n return val instanceof this.pointClass;\n };\n }\n}), require_elliptic = __commonJS({\n \"node_modules/elliptic/lib/elliptic.js\"(exports) {\n var elliptic = exports;\n elliptic.version = require_package().version, elliptic.utils = require_utils3(), elliptic.rand = require_brorand(), elliptic.curve = require_curve(), elliptic.curves = require_curves(), elliptic.ec = require_ec(), elliptic.eddsa = require_eddsa();\n }\n}), require_bn5 = require_bn, require_safer = __commonJS({\n \"node_modules/safer-buffer/safer.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = Buffer, safer = {}, key2;\n for (key2 in buffer)\n !buffer.hasOwnProperty(key2) || key2 === \"SlowBuffer\" || key2 === \"Buffer\" || (safer[key2] = buffer[key2]);\n var Safer = safer.Buffer = {};\n for (key2 in Buffer2)\n !Buffer2.hasOwnProperty(key2) || key2 === \"allocUnsafe\" || key2 === \"allocUnsafeSlow\" || (Safer[key2] = Buffer2[key2]);\n if (safer.Buffer.prototype = Buffer2.prototype, (!Safer.from || Safer.from === @Uint8Array.from) && (Safer.from = function(value, encodingOrOffset, length) {\n if (typeof value == \"number\")\n @throwTypeError('The \"value\" argument must not be of type number. Received type ' + typeof value);\n if (value && typeof value.length > \"u\")\n @throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n return Buffer2(value, encodingOrOffset, length);\n }), Safer.alloc || (Safer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError('The \"size\" argument must be of type number. Received type ' + typeof size);\n if (size < 0 || size >= 2 * (1 << 30))\n @throwRangeError('The value \"' + size + '\" is invalid for option \"size\"');\n var buf = Buffer2(size);\n return !fill || fill.length === 0 \? buf.fill(0) : typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill), buf;\n }), !safer.kStringMaxLength)\n try {\n safer.kStringMaxLength = MAX_STRING_LENGTH;\n } catch {\n }\n safer.constants || (safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }, safer.kStringMaxLength && (safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength)), module.exports = safer;\n }\n}), require_reporter = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/reporter.js\"(exports) {\n var inherits = require_inherits_browser();\n function Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n }\n Reporter.prototype = {}, exports.Reporter = Reporter, Reporter.prototype.isError = function(obj) {\n return obj instanceof ReporterError;\n }, Reporter.prototype.save = function() {\n let state = this._reporterState;\n return { obj: state.obj, pathLen: state.path.length };\n }, Reporter.prototype.restore = function(data) {\n let state = this._reporterState;\n state.obj = data.obj, state.path = state.path.slice(0, data.pathLen);\n }, Reporter.prototype.enterKey = function(key2) {\n return this._reporterState.path.push(key2);\n }, Reporter.prototype.exitKey = function(index) {\n let state = this._reporterState;\n state.path = state.path.slice(0, index - 1);\n }, Reporter.prototype.leaveKey = function(index, key2, value) {\n let state = this._reporterState;\n this.exitKey(index), state.obj !== null && (state.obj[key2] = value);\n }, Reporter.prototype.path = function() {\n return this._reporterState.path.join(\"/\");\n }, Reporter.prototype.enterObject = function() {\n let state = this._reporterState, prev = state.obj;\n return state.obj = {}, prev;\n }, Reporter.prototype.leaveObject = function(prev) {\n let state = this._reporterState, now = state.obj;\n return state.obj = prev, now;\n }, Reporter.prototype.error = function(msg) {\n let err, state = this._reporterState, inherited = msg instanceof ReporterError;\n if (inherited \? err = msg : err = new ReporterError(state.path.map(function(elem) {\n return \"[\" + JSON.stringify(elem) + \"]\";\n }).join(\"\"), msg.message || msg, msg.stack), !state.options.partial)\n throw err;\n return inherited || state.errors.push(err), err;\n }, Reporter.prototype.wrapResult = function(result) {\n let state = this._reporterState;\n return state.options.partial \? {\n result: this.isError(result) \? null : result,\n errors: state.errors\n } : result;\n };\n function ReporterError(path, msg) {\n this.path = path, this.rethrow(msg);\n }\n inherits(ReporterError, Error), ReporterError.prototype.rethrow = function(msg) {\n if (this.message = msg + \" at: \" + (this.path || \"(shallow)\"), Error.captureStackTrace && Error.captureStackTrace(this, ReporterError), !this.stack)\n try {\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n return this;\n };\n }\n}), require_buffer = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/buffer.js\"(exports) {\n var inherits = require_inherits_browser(), Reporter = require_reporter().Reporter, Buffer2 = require_safer().Buffer;\n function DecoderBuffer(base, options) {\n if (Reporter.@call(this, options), !Buffer2.isBuffer(base)) {\n this.error(\"Input not Buffer\");\n return;\n }\n this.base = base, this.offset = 0, this.length = base.length;\n }\n inherits(DecoderBuffer, Reporter), exports.DecoderBuffer = DecoderBuffer, DecoderBuffer.isDecoderBuffer = function(data) {\n return data instanceof DecoderBuffer \? !0 : typeof data == \"object\" && Buffer2.isBuffer(data.base) && data.constructor.name === \"DecoderBuffer\" && typeof data.offset == \"number\" && typeof data.length == \"number\" && typeof data.save == \"function\" && typeof data.restore == \"function\" && typeof data.isEmpty == \"function\" && typeof data.readUInt8 == \"function\" && typeof data.skip == \"function\" && typeof data.raw == \"function\";\n }, DecoderBuffer.prototype.save = function() {\n return {\n offset: this.offset,\n reporter: Reporter.prototype.save.@call(this)\n };\n }, DecoderBuffer.prototype.restore = function(save) {\n let res = new DecoderBuffer(this.base);\n return res.offset = save.offset, res.length = this.offset, this.offset = save.offset, Reporter.prototype.restore.@call(this, save.reporter), res;\n }, DecoderBuffer.prototype.isEmpty = function() {\n return this.offset === this.length;\n }, DecoderBuffer.prototype.readUInt8 = function(fail) {\n return this.offset + 1 <= this.length \? this.base.readUInt8(this.offset++, !0) : this.error(fail || \"DecoderBuffer overrun\");\n }, DecoderBuffer.prototype.skip = function(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || \"DecoderBuffer overrun\");\n let res = new DecoderBuffer(this.base);\n return res._reporterState = this._reporterState, res.offset = this.offset, res.length = this.offset + bytes, this.offset += bytes, res;\n }, DecoderBuffer.prototype.raw = function(save) {\n return this.base.slice(save \? save.offset : this.offset, this.length);\n };\n function EncoderBuffer(value, reporter) {\n if (@Array.isArray(value))\n this.length = 0, this.value = value.map(function(item) {\n return EncoderBuffer.isEncoderBuffer(item) || (item = new EncoderBuffer(item, reporter)), this.length += item.length, item;\n }, this);\n else if (typeof value == \"number\") {\n if (!(0 <= value && value <= 255))\n return reporter.error(\"non-byte EncoderBuffer value\");\n this.value = value, this.length = 1;\n } else if (typeof value == \"string\")\n this.value = value, this.length = Buffer2.byteLength(value);\n else if (Buffer2.isBuffer(value))\n this.value = value, this.length = value.length;\n else\n return reporter.error(\"Unsupported type: \" + typeof value);\n }\n EncoderBuffer.prototype = {}, exports.EncoderBuffer = EncoderBuffer, EncoderBuffer.isEncoderBuffer = function(data) {\n return data instanceof EncoderBuffer \? !0 : typeof data == \"object\" && data.constructor.name === \"EncoderBuffer\" && typeof data.length == \"number\" && typeof data.join == \"function\";\n }, EncoderBuffer.prototype.join = function(out, offset) {\n return out || (out = Buffer2.alloc(this.length)), offset || (offset = 0), this.length === 0 || (@Array.isArray(this.value) \? this.value.forEach(function(item) {\n item.join(out, offset), offset += item.length;\n }) : (typeof this.value == \"number\" \? out[offset] = this.value : typeof this.value == \"string\" \? out.write(this.value, offset) : Buffer2.isBuffer(this.value) && this.value.copy(out, offset), offset += this.length)), out;\n };\n }\n}), require_node = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/node.js\"(exports, module) {\n var Reporter = require_reporter().Reporter, EncoderBuffer = require_buffer().EncoderBuffer, DecoderBuffer = require_buffer().DecoderBuffer, assert = require_minimalistic_assert(), tags = [\n \"seq\",\n \"seqof\",\n \"set\",\n \"setof\",\n \"objid\",\n \"bool\",\n \"gentime\",\n \"utctime\",\n \"null_\",\n \"enum\",\n \"int\",\n \"objDesc\",\n \"bitstr\",\n \"bmpstr\",\n \"charstr\",\n \"genstr\",\n \"graphstr\",\n \"ia5str\",\n \"iso646str\",\n \"numstr\",\n \"octstr\",\n \"printstr\",\n \"t61str\",\n \"unistr\",\n \"utf8str\",\n \"videostr\"\n ], methods = [\"key\", \"obj\", \"use\", \"optional\", \"explicit\", \"implicit\", \"def\", \"choice\", \"any\", \"contains\"].concat(tags), overrided = [\n \"_peekTag\",\n \"_decodeTag\",\n \"_use\",\n \"_decodeStr\",\n \"_decodeObjid\",\n \"_decodeTime\",\n \"_decodeNull\",\n \"_decodeInt\",\n \"_decodeBool\",\n \"_decodeList\",\n \"_encodeComposite\",\n \"_encodeStr\",\n \"_encodeObjid\",\n \"_encodeTime\",\n \"_encodeNull\",\n \"_encodeInt\",\n \"_encodeBool\"\n ];\n function Node(enc, parent, name) {\n let state = {};\n this._baseState = state, state.name = name, state.enc = enc, state.parent = parent || null, state.children = null, state.tag = null, state.args = null, state.reverseArgs = null, state.choice = null, state.optional = !1, state.any = !1, state.obj = !1, state.use = null, state.useDecoder = null, state.key = null, state.default = null, state.explicit = null, state.implicit = null, state.contains = null, state.parent || (state.children = [], this._wrap());\n }\n Node.prototype = {}, module.exports = Node;\n var stateProps = [\n \"enc\",\n \"parent\",\n \"children\",\n \"tag\",\n \"args\",\n \"reverseArgs\",\n \"choice\",\n \"optional\",\n \"any\",\n \"obj\",\n \"use\",\n \"alteredUse\",\n \"key\",\n \"default\",\n \"explicit\",\n \"implicit\",\n \"contains\"\n ];\n Node.prototype.clone = function() {\n let state = this._baseState, cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n let res = new this.constructor(cstate.parent);\n return res._baseState = cstate, res;\n }, Node.prototype._wrap = function() {\n let state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function() {\n let clone = new this.constructor(this);\n return state.children.push(clone), clone[method].@apply(clone, arguments);\n };\n }, this);\n }, Node.prototype._init = function(body) {\n let state = this._baseState;\n assert(state.parent === null), body.@call(this), state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this), assert.equal(state.children.length, 1, \"Root node can have only one child\");\n }, Node.prototype._useArgs = function(args) {\n let state = this._baseState, children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this), children.length !== 0 && (assert(state.children === null), state.children = children, children.forEach(function(child) {\n child._baseState.parent = this;\n }, this)), args.length !== 0 && (assert(state.args === null), state.args = args, state.reverseArgs = args.map(function(arg) {\n if (typeof arg != \"object\" || arg.constructor !== Object)\n return arg;\n let res = {};\n return Object.keys(arg).forEach(function(key2) {\n key2 == (key2 | 0) && (key2 |= 0);\n let value = arg[key2];\n res[value] = key2;\n }), res;\n }));\n }, overrided.forEach(function(method) {\n Node.prototype[method] = function() {\n let state = this._baseState;\n throw new Error(method + \" not implemented for encoding: \" + state.enc);\n };\n }), tags.forEach(function(tag) {\n Node.prototype[tag] = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return assert(state.tag === null), state.tag = tag, this._useArgs(args), this;\n };\n }), Node.prototype.use = function(item) {\n assert(item);\n let state = this._baseState;\n return assert(state.use === null), state.use = item, this;\n }, Node.prototype.optional = function() {\n let state = this._baseState;\n return state.optional = !0, this;\n }, Node.prototype.def = function(val) {\n let state = this._baseState;\n return assert(state.default === null), state.default = val, state.optional = !0, this;\n }, Node.prototype.explicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.explicit = num, this;\n }, Node.prototype.implicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.implicit = num, this;\n }, Node.prototype.obj = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return state.obj = !0, args.length !== 0 && this._useArgs(args), this;\n }, Node.prototype.key = function(newKey) {\n let state = this._baseState;\n return assert(state.key === null), state.key = newKey, this;\n }, Node.prototype.any = function() {\n let state = this._baseState;\n return state.any = !0, this;\n }, Node.prototype.choice = function(obj) {\n let state = this._baseState;\n return assert(state.choice === null), state.choice = obj, this._useArgs(Object.keys(obj).map(function(key2) {\n return obj[key2];\n })), this;\n }, Node.prototype.contains = function(item) {\n let state = this._baseState;\n return assert(state.use === null), state.contains = item, this;\n }, Node.prototype._decode = function(input, options) {\n let state = this._baseState;\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n let result = state.default, present = !0, prevKey = null;\n if (state.key !== null && (prevKey = input.enterKey(state.key)), state.optional) {\n let tag = null;\n if (state.explicit !== null \? tag = state.explicit : state.implicit !== null \? tag = state.implicit : state.tag !== null && (tag = state.tag), tag === null && !state.any) {\n let save = input.save();\n try {\n state.choice === null \? this._decodeGeneric(state.tag, input, options) : this._decodeChoice(input, options), present = !0;\n } catch {\n present = !1;\n }\n input.restore(save);\n } else if (present = this._peekTag(input, tag, state.any), input.isError(present))\n return present;\n }\n let prevObj;\n if (state.obj && present && (prevObj = input.enterObject()), present) {\n if (state.explicit !== null) {\n let explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n let start = input.offset;\n if (state.use === null && state.choice === null) {\n let save;\n state.any && (save = input.save());\n let body = this._decodeTag(input, state.implicit !== null \? state.implicit : state.tag, state.any);\n if (input.isError(body))\n return body;\n state.any \? result = input.raw(save) : input = body;\n }\n if (options && options.track && state.tag !== null && options.track(input.path(), start, input.length, \"tagged\"), options && options.track && state.tag !== null && options.track(input.path(), input.offset, input.length, \"content\"), state.any || (state.choice === null \? result = this._decodeGeneric(state.tag, input, options) : result = this._decodeChoice(input, options)), input.isError(result))\n return result;\n if (!state.any && state.choice === null && state.children !== null && state.children.forEach(function(child) {\n child._decode(input, options);\n }), state.contains && (state.tag === \"octstr\" || state.tag === \"bitstr\")) {\n let data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)._decode(data, options);\n }\n }\n return state.obj && present && (result = input.leaveObject(prevObj)), state.key !== null && (result !== null || present === !0) \? input.leaveKey(prevKey, state.key, result) : prevKey !== null && input.exitKey(prevKey), result;\n }, Node.prototype._decodeGeneric = function(tag, input, options) {\n let state = this._baseState;\n return tag === \"seq\" || tag === \"set\" \? null : tag === \"seqof\" || tag === \"setof\" \? this._decodeList(input, tag, state.args[0], options) : /str$/.test(tag) \? this._decodeStr(input, tag, options) : tag === \"objid\" && state.args \? this._decodeObjid(input, state.args[0], state.args[1], options) : tag === \"objid\" \? this._decodeObjid(input, null, null, options) : tag === \"gentime\" || tag === \"utctime\" \? this._decodeTime(input, tag, options) : tag === \"null_\" \? this._decodeNull(input, options) : tag === \"bool\" \? this._decodeBool(input, options) : tag === \"objDesc\" \? this._decodeStr(input, tag, options) : tag === \"int\" || tag === \"enum\" \? this._decodeInt(input, state.args && state.args[0], options) : state.use !== null \? this._getUse(state.use, input._reporterState.obj)._decode(input, options) : input.error(\"unknown tag: \" + tag);\n }, Node.prototype._getUse = function(entity, obj) {\n let state = this._baseState;\n return state.useDecoder = this._use(entity, obj), assert(state.useDecoder._baseState.parent === null), state.useDecoder = state.useDecoder._baseState.children[0], state.implicit !== state.useDecoder._baseState.implicit && (state.useDecoder = state.useDecoder.clone(), state.useDecoder._baseState.implicit = state.implicit), state.useDecoder;\n }, Node.prototype._decodeChoice = function(input, options) {\n let state = this._baseState, result = null, match = !1;\n return Object.keys(state.choice).some(function(key2) {\n let save = input.save(), node = state.choice[key2];\n try {\n let value = node._decode(input, options);\n if (input.isError(value))\n return !1;\n result = { type: key2, value }, match = !0;\n } catch {\n return input.restore(save), !1;\n }\n return !0;\n }, this), match \? result : input.error(\"Choice not matched\");\n }, Node.prototype._createEncoderBuffer = function(data) {\n return new EncoderBuffer(data, this.reporter);\n }, Node.prototype._encode = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.default !== null && state.default === data)\n return;\n let result = this._encodeValue(data, reporter, parent);\n if (result !== void 0 && !this._skipDefault(result, reporter, parent))\n return result;\n }, Node.prototype._encodeValue = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter);\n let result = null;\n if (this.reporter = reporter, state.optional && data === void 0)\n if (state.default !== null)\n data = state.default;\n else\n return;\n let content = null, primitive = !1;\n if (state.any)\n result = this._createEncoderBuffer(data);\n else if (state.choice)\n result = this._encodeChoice(data, reporter);\n else if (state.contains)\n content = this._getUse(state.contains, parent)._encode(data, reporter), primitive = !0;\n else if (state.children)\n content = state.children.map(function(child) {\n if (child._baseState.tag === \"null_\")\n return child._encode(null, reporter, data);\n if (child._baseState.key === null)\n return reporter.error(\"Child should have a key\");\n let prevKey = reporter.enterKey(child._baseState.key);\n if (typeof data != \"object\")\n return reporter.error(\"Child expected, but input is not object\");\n let res = child._encode(data[child._baseState.key], reporter, data);\n return reporter.leaveKey(prevKey), res;\n }, this).filter(function(child) {\n return child;\n }), content = this._createEncoderBuffer(content);\n else if (state.tag === \"seqof\" || state.tag === \"setof\") {\n if (!(state.args && state.args.length === 1))\n return reporter.error(\"Too many args for : \" + state.tag);\n if (!@Array.isArray(data))\n return reporter.error(\"seqof/setof, but data is not Array\");\n let child = this.clone();\n child._baseState.implicit = null, content = this._createEncoderBuffer(data.map(function(item) {\n let state2 = this._baseState;\n return this._getUse(state2.args[0], data)._encode(item, reporter);\n }, child));\n } else\n state.use !== null \? result = this._getUse(state.use, parent)._encode(data, reporter) : (content = this._encodePrimitive(state.tag, data), primitive = !0);\n if (!state.any && state.choice === null) {\n let tag = state.implicit !== null \? state.implicit : state.tag, cls = state.implicit === null \? \"universal\" : \"context\";\n tag === null \? state.use === null && reporter.error(\"Tag could be omitted only for .use()\") : state.use === null && (result = this._encodeComposite(tag, primitive, cls, content));\n }\n return state.explicit !== null && (result = this._encodeComposite(state.explicit, !1, \"context\", result)), result;\n }, Node.prototype._encodeChoice = function(data, reporter) {\n let state = this._baseState, node = state.choice[data.type];\n return node || assert(!1, data.type + \" not found in \" + JSON.stringify(Object.keys(state.choice))), node._encode(data.value, reporter);\n }, Node.prototype._encodePrimitive = function(tag, data) {\n let state = this._baseState;\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n if (tag === \"objid\" && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n if (tag === \"objid\")\n return this._encodeObjid(data, null, null);\n if (tag === \"gentime\" || tag === \"utctime\")\n return this._encodeTime(data, tag);\n if (tag === \"null_\")\n return this._encodeNull();\n if (tag === \"int\" || tag === \"enum\")\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n if (tag === \"bool\")\n return this._encodeBool(data);\n if (tag === \"objDesc\")\n return this._encodeStr(data, tag);\n throw new Error(\"Unsupported tag: \" + tag);\n }, Node.prototype._isNumstr = function(str) {\n return /^[0-9 ]*$/.test(str);\n }, Node.prototype._isPrintstr = function(str) {\n return /^[A-Za-z0-9 '()+,-./:=\?]*$/.test(str);\n };\n }\n}), require_der = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/der.js\"(exports) {\n function reverse(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }\n exports.tagClass = {\n 0: \"universal\",\n 1: \"application\",\n 2: \"context\",\n 3: \"private\"\n }, exports.tagClassByName = reverse(exports.tagClass), exports.tag = {\n 0: \"end\",\n 1: \"bool\",\n 2: \"int\",\n 3: \"bitstr\",\n 4: \"octstr\",\n 5: \"null_\",\n 6: \"objid\",\n 7: \"objDesc\",\n 8: \"external\",\n 9: \"real\",\n 10: \"enum\",\n 11: \"embed\",\n 12: \"utf8str\",\n 13: \"relativeOid\",\n 16: \"seq\",\n 17: \"set\",\n 18: \"numstr\",\n 19: \"printstr\",\n 20: \"t61str\",\n 21: \"videostr\",\n 22: \"ia5str\",\n 23: \"utctime\",\n 24: \"gentime\",\n 25: \"graphstr\",\n 26: \"iso646str\",\n 27: \"genstr\",\n 28: \"unistr\",\n 29: \"charstr\",\n 30: \"bmpstr\"\n }, exports.tagByName = reverse(exports.tag);\n }\n}), require_der2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, Node = require_node(), der = require_der();\n function DEREncoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DEREncoder.prototype = {}, module.exports = DEREncoder, DEREncoder.prototype.encode = function(data, reporter) {\n return this.tree._encode(data, reporter).join();\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._encodeComposite = function(tag, primitive, cls, content) {\n let encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n if (content.length < 128) {\n let header2 = Buffer2.alloc(2);\n return header2[0] = encodedTag, header2[1] = content.length, this._createEncoderBuffer([header2, content]);\n }\n let lenOctets = 1;\n for (let i = content.length;i >= 256; i >>= 8)\n lenOctets++;\n let header = Buffer2.alloc(2 + lenOctets);\n header[0] = encodedTag, header[1] = 128 | lenOctets;\n for (let i = 1 + lenOctets, j = content.length;j > 0; i--, j >>= 8)\n header[i] = j & 255;\n return this._createEncoderBuffer([header, content]);\n }, DERNode.prototype._encodeStr = function(str, tag) {\n if (tag === \"bitstr\")\n return this._createEncoderBuffer([str.unused | 0, str.data]);\n if (tag === \"bmpstr\") {\n let buf = Buffer2.alloc(str.length * 2);\n for (let i = 0;i < str.length; i++)\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n return this._createEncoderBuffer(buf);\n } else\n return tag === \"numstr\" \? this._isNumstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: numstr supports only digits and space\") : tag === \"printstr\" \? this._isPrintstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\") : /str$/.test(tag) \? this._createEncoderBuffer(str) : tag === \"objDesc\" \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: \" + tag + \" unsupported\");\n }, DERNode.prototype._encodeObjid = function(id, values, relative) {\n if (typeof id == \"string\") {\n if (!values)\n return this.reporter.error(\"string objid given, but no values map found\");\n if (!values.hasOwnProperty(id))\n return this.reporter.error(\"objid not found in values map\");\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n } else if (@Array.isArray(id)) {\n id = id.slice();\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n }\n if (!@Array.isArray(id))\n return this.reporter.error(\"objid() should be either array or string, got: \" + JSON.stringify(id));\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error(\"Second objid identifier OOB\");\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n let size = 0;\n for (let i = 0;i < id.length; i++) {\n let ident = id[i];\n for (size++;ident >= 128; ident >>= 7)\n size++;\n }\n let objid = Buffer2.alloc(size), offset = objid.length - 1;\n for (let i = id.length - 1;i >= 0; i--) {\n let ident = id[i];\n for (objid[offset--] = ident & 127;(ident >>= 7) > 0; )\n objid[offset--] = 128 | ident & 127;\n }\n return this._createEncoderBuffer(objid);\n };\n function two(num) {\n return num < 10 \? \"0\" + num : num;\n }\n DERNode.prototype._encodeTime = function(time, tag) {\n let str, date = new Date(time);\n return tag === \"gentime\" \? str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : tag === \"utctime\" \? str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : this.reporter.error(\"Encoding \" + tag + \" time is not supported yet\"), this._encodeStr(str, \"octstr\");\n }, DERNode.prototype._encodeNull = function() {\n return this._createEncoderBuffer(\"\");\n }, DERNode.prototype._encodeInt = function(num, values) {\n if (typeof num == \"string\") {\n if (!values)\n return this.reporter.error(\"String int or enum given, but no values map\");\n if (!values.hasOwnProperty(num))\n return this.reporter.error(\"Values map doesn't contain: \" + JSON.stringify(num));\n num = values[num];\n }\n if (typeof num != \"number\" && !Buffer2.isBuffer(num)) {\n let numArray = num.toArray();\n !num.sign && numArray[0] & 128 && numArray.unshift(0), num = Buffer2.from(numArray);\n }\n if (Buffer2.isBuffer(num)) {\n let size2 = num.length;\n num.length === 0 && size2++;\n let out2 = Buffer2.alloc(size2);\n return num.copy(out2), num.length === 0 && (out2[0] = 0), this._createEncoderBuffer(out2);\n }\n if (num < 128)\n return this._createEncoderBuffer(num);\n if (num < 256)\n return this._createEncoderBuffer([0, num]);\n let size = 1;\n for (let i = num;i >= 256; i >>= 8)\n size++;\n let out = new @Array(size);\n for (let i = out.length - 1;i >= 0; i--)\n out[i] = num & 255, num >>= 8;\n return out[0] & 128 && out.unshift(0), this._createEncoderBuffer(Buffer2.from(out));\n }, DERNode.prototype._encodeBool = function(value) {\n return this._createEncoderBuffer(value \? 255 : 0);\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getEncoder(\"der\").tree;\n }, DERNode.prototype._skipDefault = function(dataBuffer, reporter, parent) {\n let state = this._baseState, i;\n if (state.default === null)\n return !1;\n let data = dataBuffer.join();\n if (state.defaultBuffer === void 0 && (state.defaultBuffer = this._encodeValue(state.default, reporter, parent).join()), data.length !== state.defaultBuffer.length)\n return !1;\n for (i = 0;i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return !1;\n return !0;\n };\n function encodeTag(tag, primitive, cls, reporter) {\n let res;\n if (tag === \"seqof\" \? tag = \"seq\" : tag === \"setof\" && (tag = \"set\"), der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag == \"number\" && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error(\"Unknown tag: \" + tag);\n return res >= 31 \? reporter.error(\"Multi-octet tag encoding unsupported\") : (primitive || (res |= 32), res |= der.tagClassByName[cls || \"universal\"] << 6, res);\n }\n }\n}), require_pem = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), DEREncoder = require_der2();\n function PEMEncoder(entity) {\n DEREncoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMEncoder, DEREncoder), module.exports = PEMEncoder, PEMEncoder.prototype.encode = function(data, options) {\n let p = DEREncoder.prototype.encode.@call(this, data).toString(\"base64\"), out = [\"-----BEGIN \" + options.label + \"-----\"];\n for (let i = 0;i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n return out.push(\"-----END \" + options.label + \"-----\"), out.join(`\n`);\n };\n }\n}), require_encoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/index.js\"(exports) {\n var encoders = exports;\n encoders.der = require_der2(), encoders.pem = require_pem();\n }\n}), require_der3 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), bignum = require_bn5(), DecoderBuffer = require_buffer().DecoderBuffer, Node = require_node(), der = require_der();\n function DERDecoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DERDecoder.prototype = {}, module.exports = DERDecoder, DERDecoder.prototype.decode = function(data, options) {\n return DecoderBuffer.isDecoderBuffer(data) || (data = new DecoderBuffer(data, options)), this.tree._decode(data, options);\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._peekTag = function(buffer, tag, any) {\n if (buffer.isEmpty())\n return !1;\n let state = buffer.save(), decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n return buffer.isError(decodedTag) \? decodedTag : (buffer.restore(state), decodedTag.tag === tag || decodedTag.tagStr === tag || decodedTag.tagStr + \"of\" === tag || any);\n }, DERNode.prototype._decodeTag = function(buffer, tag, any) {\n let decodedTag = derDecodeTag(buffer, 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n let len = derDecodeLen(buffer, decodedTag.primitive, 'Failed to get length of \"' + tag + '\"');\n if (buffer.isError(len))\n return len;\n if (!any && decodedTag.tag !== tag && decodedTag.tagStr !== tag && decodedTag.tagStr + \"of\" !== tag)\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n let state = buffer.save(), res = this._skipUntilEnd(buffer, 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n return buffer.isError(res) \? res : (len = buffer.offset - state.offset, buffer.restore(state), buffer.skip(len, 'Failed to match body of: \"' + tag + '\"'));\n }, DERNode.prototype._skipUntilEnd = function(buffer, fail) {\n for (;; ) {\n let tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n let len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n let res;\n if (tag.primitive || len !== null \? res = buffer.skip(len) : res = this._skipUntilEnd(buffer, fail), buffer.isError(res))\n return res;\n if (tag.tagStr === \"end\")\n break;\n }\n }, DERNode.prototype._decodeList = function(buffer, tag, decoder, options) {\n let result = [];\n for (;!buffer.isEmpty(); ) {\n let possibleEnd = this._peekTag(buffer, \"end\");\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n let res = decoder.decode(buffer, \"der\", options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n }, DERNode.prototype._decodeStr = function(buffer, tag) {\n if (tag === \"bitstr\") {\n let unused = buffer.readUInt8();\n return buffer.isError(unused) \? unused : { unused, data: buffer.raw() };\n } else if (tag === \"bmpstr\") {\n let raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error(\"Decoding of string type: bmpstr length mismatch\");\n let str = \"\";\n for (let i = 0;i < raw.length / 2; i++)\n str += @String.fromCharCode(raw.readUInt16BE(i * 2));\n return str;\n } else if (tag === \"numstr\") {\n let numstr = buffer.raw().toString(\"ascii\");\n return this._isNumstr(numstr) \? numstr : buffer.error(\"Decoding of string type: numstr unsupported characters\");\n } else {\n if (tag === \"octstr\")\n return buffer.raw();\n if (tag === \"objDesc\")\n return buffer.raw();\n if (tag === \"printstr\") {\n let printstr = buffer.raw().toString(\"ascii\");\n return this._isPrintstr(printstr) \? printstr : buffer.error(\"Decoding of string type: printstr unsupported characters\");\n } else\n return /str$/.test(tag) \? buffer.raw().toString() : buffer.error(\"Decoding of string type: \" + tag + \" unsupported\");\n }\n }, DERNode.prototype._decodeObjid = function(buffer, values, relative) {\n let result, identifiers = [], ident = 0, subident = 0;\n for (;!buffer.isEmpty(); )\n subident = buffer.readUInt8(), ident <<= 7, ident |= subident & 127, (subident & 128) === 0 && (identifiers.push(ident), ident = 0);\n subident & 128 && identifiers.push(ident);\n let first = identifiers[0] / 40 | 0, second = identifiers[0] % 40;\n if (relative \? result = identifiers : result = [first, second].concat(identifiers.slice(1)), values) {\n let tmp = values[result.join(\" \")];\n tmp === void 0 && (tmp = values[result.join(\".\")]), tmp !== void 0 && (result = tmp);\n }\n return result;\n }, DERNode.prototype._decodeTime = function(buffer, tag) {\n let str = buffer.raw().toString(), year, mon, day, hour, min, sec;\n if (tag === \"gentime\")\n year = str.slice(0, 4) | 0, mon = str.slice(4, 6) | 0, day = str.slice(6, 8) | 0, hour = str.slice(8, 10) | 0, min = str.slice(10, 12) | 0, sec = str.slice(12, 14) | 0;\n else if (tag === \"utctime\")\n year = str.slice(0, 2) | 0, mon = str.slice(2, 4) | 0, day = str.slice(4, 6) | 0, hour = str.slice(6, 8) | 0, min = str.slice(8, 10) | 0, sec = str.slice(10, 12) | 0, year < 70 \? year = 2000 + year : year = 1900 + year;\n else\n return buffer.error(\"Decoding \" + tag + \" time is not supported yet\");\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n }, DERNode.prototype._decodeNull = function() {\n return null;\n }, DERNode.prototype._decodeBool = function(buffer) {\n let res = buffer.readUInt8();\n return buffer.isError(res) \? res : res !== 0;\n }, DERNode.prototype._decodeInt = function(buffer, values) {\n let raw = buffer.raw(), res = new bignum(raw);\n return values && (res = values[res.toString(10)] || res), res;\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getDecoder(\"der\").tree;\n };\n function derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n let cls = der.tagClass[tag >> 6], primitive = (tag & 32) === 0;\n if ((tag & 31) === 31) {\n let oct = tag;\n for (tag = 0;(oct & 128) === 128; ) {\n if (oct = buf.readUInt8(fail), buf.isError(oct))\n return oct;\n tag <<= 7, tag |= oct & 127;\n }\n } else\n tag &= 31;\n let tagStr = der.tag[tag];\n return {\n cls,\n primitive,\n tag,\n tagStr\n };\n }\n function derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n if (!primitive && len === 128)\n return null;\n if ((len & 128) === 0)\n return len;\n let num = len & 127;\n if (num > 4)\n return buf.error(\"length octect is too long\");\n len = 0;\n for (let i = 0;i < num; i++) {\n len <<= 8;\n let j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n return len;\n }\n }\n}), require_pem2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, DERDecoder = require_der3();\n function PEMDecoder(entity) {\n DERDecoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMDecoder, DERDecoder), module.exports = PEMDecoder, PEMDecoder.prototype.decode = function(data, options) {\n let lines = data.toString().split(/[\\r\\n]+/g), label = options.label.toUpperCase(), re = /^-----(BEGIN|END) ([^-]+)-----$/, start = -1, end = -1;\n for (let i = 0;i < lines.length; i++) {\n let match = lines[i].match(re);\n if (match !== null && match[2] === label)\n if (start === -1) {\n if (match[1] !== \"BEGIN\")\n break;\n start = i;\n } else {\n if (match[1] !== \"END\")\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error(\"PEM section not found for: \" + label);\n let base64 = lines.slice(start + 1, end).join(\"\");\n base64.replace(/[^a-z0-9+/=]+/gi, \"\");\n let input = Buffer2.from(base64, \"base64\");\n return DERDecoder.prototype.decode.@call(this, input, options);\n };\n }\n}), require_decoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/index.js\"(exports) {\n var decoders = exports;\n decoders.der = require_der3(), decoders.pem = require_pem2();\n }\n}), require_api = __commonJS({\n \"node_modules/asn1.js/lib/asn1/api.js\"(exports) {\n var encoders = require_encoders(), decoders = require_decoders(), inherits = require_inherits_browser(), api = exports;\n api.define = function(name, body) {\n return new Entity(name, body);\n };\n function Entity(name, body) {\n this.name = name, this.body = body, this.decoders = {}, this.encoders = {};\n }\n Entity.prototype = {}, Entity.prototype._createNamed = function(Base) {\n let name = this.name;\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n return inherits(Generated, Base), Generated.prototype._initNamed = function(entity, name2) {\n Base.@call(this, entity, name2);\n }, new Generated(this);\n }, Entity.prototype._getDecoder = function(enc) {\n return enc = enc || \"der\", this.decoders.hasOwnProperty(enc) || (this.decoders[enc] = this._createNamed(decoders[enc])), this.decoders[enc];\n }, Entity.prototype.decode = function(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n }, Entity.prototype._getEncoder = function(enc) {\n return enc = enc || \"der\", this.encoders.hasOwnProperty(enc) || (this.encoders[enc] = this._createNamed(encoders[enc])), this.encoders[enc];\n }, Entity.prototype.encode = function(data, enc, reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n };\n }\n}), require_base2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/index.js\"(exports) {\n var base = exports;\n base.Reporter = require_reporter().Reporter, base.DecoderBuffer = require_buffer().DecoderBuffer, base.EncoderBuffer = require_buffer().EncoderBuffer, base.Node = require_node();\n }\n}), require_constants = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/index.js\"(exports) {\n var constants = exports;\n constants._reverse = function(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }, constants.der = require_der();\n }\n}), require_asn1 = __commonJS({\n \"node_modules/asn1.js/lib/asn1.js\"(exports) {\n var asn1 = exports;\n asn1.bignum = require_bn5(), asn1.define = require_api().define, asn1.base = require_base2(), asn1.constants = require_constants(), asn1.decoders = require_decoders(), asn1.encoders = require_encoders();\n }\n}), require_certificate = __commonJS({\n \"node_modules/parse-asn1/certificate.js\"(exports, module) {\n var asn = require_asn1(), Time = asn.define(\"Time\", function() {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n });\n }), AttributeTypeValue = asn.define(\"AttributeTypeValue\", function() {\n this.seq().obj(this.key(\"type\").objid(), this.key(\"value\").any());\n }), AlgorithmIdentifier = asn.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"parameters\").optional(), this.key(\"curve\").objid().optional());\n }), SubjectPublicKeyInfo = asn.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n }), RelativeDistinguishedName = asn.define(\"RelativeDistinguishedName\", function() {\n this.setof(AttributeTypeValue);\n }), RDNSequence = asn.define(\"RDNSequence\", function() {\n this.seqof(RelativeDistinguishedName);\n }), Name = asn.define(\"Name\", function() {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n });\n }), Validity = asn.define(\"Validity\", function() {\n this.seq().obj(this.key(\"notBefore\").use(Time), this.key(\"notAfter\").use(Time));\n }), Extension = asn.define(\"Extension\", function() {\n this.seq().obj(this.key(\"extnID\").objid(), this.key(\"critical\").bool().def(!1), this.key(\"extnValue\").octstr());\n }), TBSCertificate = asn.define(\"TBSCertificate\", function() {\n this.seq().obj(this.key(\"version\").explicit(0).int().optional(), this.key(\"serialNumber\").int(), this.key(\"signature\").use(AlgorithmIdentifier), this.key(\"issuer\").use(Name), this.key(\"validity\").use(Validity), this.key(\"subject\").use(Name), this.key(\"subjectPublicKeyInfo\").use(SubjectPublicKeyInfo), this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(), this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(), this.key(\"extensions\").explicit(3).seqof(Extension).optional());\n }), X509Certificate = asn.define(\"X509Certificate\", function() {\n this.seq().obj(this.key(\"tbsCertificate\").use(TBSCertificate), this.key(\"signatureAlgorithm\").use(AlgorithmIdentifier), this.key(\"signatureValue\").bitstr());\n });\n module.exports = X509Certificate;\n }\n}), require_asn12 = __commonJS({\n \"node_modules/parse-asn1/asn1.js\"(exports) {\n var asn1 = require_asn1();\n exports.certificate = require_certificate();\n var RSAPrivateKey = asn1.define(\"RSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"modulus\").int(), this.key(\"publicExponent\").int(), this.key(\"privateExponent\").int(), this.key(\"prime1\").int(), this.key(\"prime2\").int(), this.key(\"exponent1\").int(), this.key(\"exponent2\").int(), this.key(\"coefficient\").int());\n });\n exports.RSAPrivateKey = RSAPrivateKey;\n var RSAPublicKey = asn1.define(\"RSAPublicKey\", function() {\n this.seq().obj(this.key(\"modulus\").int(), this.key(\"publicExponent\").int());\n });\n exports.RSAPublicKey = RSAPublicKey;\n var PublicKey = asn1.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n });\n exports.PublicKey = PublicKey;\n var AlgorithmIdentifier = asn1.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"none\").null_().optional(), this.key(\"curve\").objid().optional(), this.key(\"params\").seq().obj(this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int()).optional());\n }), PrivateKeyInfo = asn1.define(\"PrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.PrivateKey = PrivateKeyInfo;\n var EncryptedPrivateKeyInfo = asn1.define(\"EncryptedPrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(), this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(), this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(), this.key(\"iters\").int())), this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(), this.key(\"iv\").octstr()))), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo;\n var DSAPrivateKey = asn1.define(\"DSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int(), this.key(\"pub_key\").int(), this.key(\"priv_key\").int());\n });\n exports.DSAPrivateKey = DSAPrivateKey, exports.DSAparam = asn1.define(\"DSAparam\", function() {\n this.int();\n });\n var ECPrivateKey = asn1.define(\"ECPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"privateKey\").octstr(), this.key(\"parameters\").optional().explicit(0).use(ECParameters), this.key(\"publicKey\").optional().explicit(1).bitstr());\n });\n exports.ECPrivateKey = ECPrivateKey;\n var ECParameters = asn1.define(\"ECParameters\", function() {\n this.choice({\n namedCurve: this.objid()\n });\n });\n exports.signature = asn1.define(\"signature\", function() {\n this.seq().obj(this.key(\"r\").int(), this.key(\"s\").int());\n });\n }\n}), require_aesid = __commonJS({\n \"node_modules/parse-asn1/aesid.json\"(exports, module) {\n module.exports = {\n \"2.16.840.1.101.3.4.1.1\": \"aes-128-ecb\",\n \"2.16.840.1.101.3.4.1.2\": \"aes-128-cbc\",\n \"2.16.840.1.101.3.4.1.3\": \"aes-128-ofb\",\n \"2.16.840.1.101.3.4.1.4\": \"aes-128-cfb\",\n \"2.16.840.1.101.3.4.1.21\": \"aes-192-ecb\",\n \"2.16.840.1.101.3.4.1.22\": \"aes-192-cbc\",\n \"2.16.840.1.101.3.4.1.23\": \"aes-192-ofb\",\n \"2.16.840.1.101.3.4.1.24\": \"aes-192-cfb\",\n \"2.16.840.1.101.3.4.1.41\": \"aes-256-ecb\",\n \"2.16.840.1.101.3.4.1.42\": \"aes-256-cbc\",\n \"2.16.840.1.101.3.4.1.43\": \"aes-256-ofb\",\n \"2.16.840.1.101.3.4.1.44\": \"aes-256-cfb\"\n };\n }\n}), require_fixProc = __commonJS({\n \"node_modules/parse-asn1/fixProc.js\"(exports, module) {\n var findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((\?:128)|(\?:192)|(\?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m, startRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----/m, fullRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m, evp = require_evp_bytestokey(), ciphers = require_browser5(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(okey, password) {\n var key2 = okey.toString(), match = key2.match(findProc), decrypted;\n if (match) {\n var suite = \"aes\" + match[1], iv = Buffer2.from(match[2], \"hex\"), cipherText = Buffer2.from(match[3].replace(/[\\r\\n]/g, \"\"), \"base64\"), cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key, out = [], cipher = ciphers.createDecipheriv(suite, cipherKey, iv);\n out.push(cipher.update(cipherText)), out.push(cipher.final()), decrypted = Buffer2.concat(out);\n } else {\n var match2 = key2.match(fullRegex);\n decrypted = Buffer2.from(match2[2].replace(/[\\r\\n]/g, \"\"), \"base64\");\n }\n var tag = key2.match(startRegex)[1];\n return {\n tag,\n data: decrypted\n };\n };\n }\n}), require_parse_asn1 = __commonJS({\n \"node_modules/parse-asn1/index.js\"(exports, module) {\n var asn1 = require_asn12(), aesid = require_aesid(), fixProc = require_fixProc(), ciphers = require_browser5(), compat = require_browser4(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = parseKeys;\n function parseKeys(buffer) {\n var password;\n if (buffer instanceof KeyObject)\n buffer = buffer.export();\n else if (buffer instanceof CryptoKey)\n buffer = KeyObject.from(buffer).export();\n else if (typeof buffer == \"object\" && !Buffer2.isBuffer(buffer)) {\n if (password = buffer.passphrase, buffer = buffer.key, buffer instanceof KeyObject) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = buffer.export(options);\n } else if (buffer instanceof CryptoKey) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = KeyObject.from(buffer).export(options);\n }\n }\n typeof buffer == \"string\" && (buffer = Buffer2.from(buffer));\n var stripped = fixProc(buffer, password), type = stripped.tag, data = stripped.data, subtype, ndata;\n switch (type) {\n case \"CERTIFICATE\":\n ndata = asn1.certificate.decode(data, \"der\").tbsCertificate.subjectPublicKeyInfo;\n case \"PUBLIC KEY\":\n switch (ndata || (ndata = asn1.PublicKey.decode(data, \"der\")), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, \"der\");\n case \"1.2.840.10045.2.1\":\n return ndata.subjectPrivateKey = ndata.subjectPublicKey, {\n type: \"ec\",\n data: ndata\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, \"der\"), {\n type: \"dsa\",\n data: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"ENCRYPTED PRIVATE KEY\":\n data = asn1.EncryptedPrivateKey.decode(data, \"der\"), data = decrypt(data, password);\n case \"PRIVATE KEY\":\n switch (ndata = asn1.PrivateKey.decode(data, \"der\"), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, \"der\");\n case \"1.2.840.10045.2.1\":\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, \"der\").privateKey\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, \"der\"), {\n type: \"dsa\",\n params: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"RSA PUBLIC KEY\":\n return asn1.RSAPublicKey.decode(data, \"der\");\n case \"RSA PRIVATE KEY\":\n return asn1.RSAPrivateKey.decode(data, \"der\");\n case \"DSA PRIVATE KEY\":\n return {\n type: \"dsa\",\n params: asn1.DSAPrivateKey.decode(data, \"der\")\n };\n case \"EC PRIVATE KEY\":\n return data = asn1.ECPrivateKey.decode(data, \"der\"), {\n curve: data.parameters.value,\n privateKey: data.privateKey\n };\n default:\n throw new Error(\"unknown key type \" + type);\n }\n }\n parseKeys.signature = asn1.signature;\n function decrypt(data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt, iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10), algo = aesid[data.algorithm.decrypt.cipher.algo.join(\".\")], iv = data.algorithm.decrypt.cipher.iv, cipherText = data.subjectPrivateKey, keylen = parseInt(algo.split(\"-\")[1], 10) / 8, key2 = compat.pbkdf2Sync(password, salt, iters, keylen, \"sha1\"), cipher = ciphers.createDecipheriv(algo, key2, iv), out = [];\n return out.push(cipher.update(cipherText)), out.push(cipher.final()), Buffer2.concat(out);\n }\n }\n}), require_curves2 = __commonJS({\n \"node_modules/browserify-sign/browser/curves.json\"(exports, module) {\n module.exports = {\n \"1.3.132.0.10\": \"secp256k1\",\n \"1.3.132.0.33\": \"p224\",\n \"1.2.840.10045.3.1.1\": \"p192\",\n \"1.2.840.10045.3.1.7\": \"p256\",\n \"1.3.132.0.34\": \"p384\",\n \"1.3.132.0.35\": \"p521\"\n };\n }\n}), require_sign = __commonJS({\n \"node_modules/browserify-sign/browser/sign.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHmac = require_browser3(), crt = require_browserify_rsa(), EC = require_elliptic().ec, BN = require_bn3(), parseKeys = require_parse_asn1(), curves = require_curves2();\n function sign(hash, key2, hashType, signType, tag) {\n var priv = parseKeys(getKeyFrom(key2, \"private\"));\n if (priv.curve) {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n return ecSign(hash, priv);\n } else if (priv.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong private key type\");\n return dsaSign(hash, priv, hashType);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = priv.modulus.byteLength(), pad = [0, 1];hash.length + pad.length + 1 < len; )\n pad.push(255);\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n var out = crt(pad, priv);\n return out;\n }\n function ecSign(hash, priv) {\n var curveId = curves[priv.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + priv.curve.join(\".\"));\n var curve = new EC(curveId), key2 = curve.keyFromPrivate(priv.privateKey), out = key2.sign(hash);\n return Buffer2.from(out.toDER());\n }\n function dsaSign(hash, priv, algo) {\n for (var x = priv.params.priv_key, p = priv.params.p, q = priv.params.q, g = priv.params.g, r = new BN(0), k, H = bits2int(hash, q).mod(q), s = !1, kv = getKey(x, q, hash, algo);s === !1; )\n k = makeKey(q, kv, algo), r = makeR(g, k, p, q), s = k.invm(q).imul(H.add(x.mul(r))).mod(q), s.cmpn(0) === 0 && (s = !1, r = new BN(0));\n return toDER(r, s);\n }\n function toDER(r, s) {\n r = r.toArray(), s = s.toArray(), r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s));\n var total = r.length + s.length + 4, res = [48, total, 2, r.length];\n return res = res.concat(r, [2, s.length], s), Buffer2.from(res);\n }\n function getKey(x, q, hash, algo) {\n if (x = Buffer2.from(x.toArray()), x.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - x.length);\n x = Buffer2.concat([zeros, x]);\n }\n var hlen = hash.length, hbits = bits2octets(hash, q), v = Buffer2.alloc(hlen);\n v.fill(1);\n var k = Buffer2.alloc(hlen);\n return k = createHmac(algo, k).update(v).update(Buffer2.from([0])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), k = createHmac(algo, k).update(v).update(Buffer2.from([1])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), { k, v };\n }\n function bits2int(obits, q) {\n var bits = new BN(obits), shift = (obits.length << 3) - q.bitLength();\n return shift > 0 && bits.ishrn(shift), bits;\n }\n function bits2octets(bits, q) {\n bits = bits2int(bits, q), bits = bits.mod(q);\n var out = Buffer2.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - out.length);\n out = Buffer2.concat([zeros, out]);\n }\n return out;\n }\n function makeKey(q, kv, algo) {\n var t, k;\n do {\n for (t = Buffer2.alloc(0);t.length * 8 < q.bitLength(); )\n kv.v = createHmac(algo, kv.k).update(kv.v).digest(), t = Buffer2.concat([t, kv.v]);\n k = bits2int(t, q), kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer2.from([0])).digest(), kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n return k;\n }\n function makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n }\n module.exports = sign, module.exports.getKey = getKey, module.exports.makeKey = makeKey;\n }\n}), require_verify = __commonJS({\n \"node_modules/browserify-sign/browser/verify.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, BN = require_bn3(), EC = require_elliptic().ec, parseKeys = require_parse_asn1(), curves = require_curves2();\n function verify(sig, hash, key2, signType, tag) {\n var pub = parseKeys(getKeyFrom(key2, \"public\"));\n if (pub.type === \"ec\") {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n return ecVerify(sig, hash, pub);\n } else if (pub.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong public key type\");\n return dsaVerify(sig, hash, pub);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = pub.modulus.byteLength(), pad = [1], padNum = 0;hash.length + pad.length + 2 < len; )\n pad.push(255), padNum++;\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n pad = Buffer2.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red), sig = sig.redPow(new BN(pub.publicExponent)), sig = Buffer2.from(sig.fromRed().toArray());\n var out = padNum < 8 \? 1 : 0;\n for (len = Math.min(sig.length, pad.length), sig.length !== pad.length && (out = 1), i = -1;++i < len; )\n out |= sig[i] ^ pad[i];\n return out === 0;\n }\n function ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + pub.data.algorithm.curve.join(\".\"));\n var curve = new EC(curveId), pubkey = pub.data.subjectPrivateKey.data;\n return curve.verify(hash, sig, pubkey);\n }\n function dsaVerify(sig, hash, pub) {\n var p = pub.data.p, q = pub.data.q, g = pub.data.g, y = pub.data.pub_key, unpacked = parseKeys.signature.decode(sig, \"der\"), s = unpacked.s, r = unpacked.r;\n checkValue(s, q), checkValue(r, q);\n var montp = BN.mont(p), w = s.invm(q), v = g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q);\n return v.cmp(r) === 0;\n }\n function checkValue(b, q) {\n if (b.cmpn(0) <= 0)\n throw new Error(\"invalid sig\");\n if (b.cmp(q) >= q)\n throw new Error(\"invalid sig\");\n }\n module.exports = verify;\n }\n}), require_browser8 = __commonJS({\n \"node_modules/browserify-sign/browser/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHash = require_browser2(), inherits = require_inherits_browser(), sign = require_sign(), verify = require_verify(), algorithms = require_algorithms();\n Object.keys(algorithms).forEach(function(key2) {\n algorithms[key2].id = Buffer2.from(algorithms[key2].id, \"hex\"), algorithms[key2.toLowerCase()] = algorithms[key2];\n });\n function Sign(algorithm) {\n if (typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n StreamModule.Writable.@call(this);\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hashType = data.hash, this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Sign, StreamModule.Writable), Sign.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Sign.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Sign.prototype.sign = function(key2, enc) {\n this.end();\n var hash = this._hash.digest(), sig = sign(hash, key2, this._hashType, this._signType, this._tag);\n return enc \? sig.toString(enc) : sig;\n };\n function Verify(algorithm) {\n if (StreamModule.Writable.@call(this), typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Verify, StreamModule.Writable), Verify.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Verify.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Verify.prototype.verify = function(key2, sig, enc) {\n typeof sig == \"string\" && (sig = Buffer2.from(sig, enc)), this.end();\n var hash = this._hash.digest();\n return verify(sig, hash, key2, this._signType, this._tag);\n };\n function createSign(algorithm) {\n return new Sign(algorithm);\n }\n function createVerify(algorithm) {\n return new Verify(algorithm);\n }\n module.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign,\n createVerify\n };\n }\n}), require_bn6 = require_bn, require_browser9 = __commonJS({\n \"node_modules/create-ecdh/browser.js\"(exports, module) {\n var elliptic = require_elliptic(), BN = require_bn6();\n module.exports = function(curve) {\n return new ECDH(curve);\n };\n var aliases = {\n secp256k1: {\n name: \"secp256k1\",\n byteLength: 32\n },\n secp224r1: {\n name: \"p224\",\n byteLength: 28\n },\n prime256v1: {\n name: \"p256\",\n byteLength: 32\n },\n prime192v1: {\n name: \"p192\",\n byteLength: 24\n },\n ed25519: {\n name: \"ed25519\",\n byteLength: 32\n },\n secp384r1: {\n name: \"p384\",\n byteLength: 48\n },\n secp521r1: {\n name: \"p521\",\n byteLength: 66\n }\n };\n aliases.p224 = aliases.secp224r1, aliases.p256 = aliases.secp256r1 = aliases.prime256v1, aliases.p192 = aliases.secp192r1 = aliases.prime192v1, aliases.p384 = aliases.secp384r1, aliases.p521 = aliases.secp521r1;\n function ECDH(curve) {\n this.curveType = aliases[curve], this.curveType || (this.curveType = {\n name: curve\n }), this.curve = new elliptic.ec(this.curveType.name), this.keys = void 0;\n }\n ECDH.prototype = {}, ECDH.prototype.generateKeys = function(enc, format) {\n return this.keys = this.curve.genKeyPair(), this.getPublicKey(enc, format);\n }, ECDH.prototype.computeSecret = function(other, inenc, enc) {\n inenc = inenc || \"utf8\", Buffer.isBuffer(other) || (other = new Buffer(other, inenc));\n var otherPub = this.curve.keyFromPublic(other).getPublic(), out = otherPub.mul(this.keys.getPrivate()).getX();\n return formatReturnValue(out, enc, this.curveType.byteLength);\n }, ECDH.prototype.getPublicKey = function(enc, format) {\n var key2 = this.keys.getPublic(format === \"compressed\", !0);\n return format === \"hybrid\" && (key2[key2.length - 1] % 2 \? key2[0] = 7 : key2[0] = 6), formatReturnValue(key2, enc);\n }, ECDH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this.keys.getPrivate(), enc);\n }, ECDH.prototype.setPublicKey = function(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this.keys._importPublic(pub), this;\n }, ECDH.prototype.setPrivateKey = function(priv, enc) {\n enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc));\n var _priv = new BN(priv);\n return _priv = _priv.toString(16), this.keys = this.curve.genKeyPair(), this.keys._importPrivate(_priv), this;\n };\n function formatReturnValue(bn, enc, len) {\n @Array.isArray(bn) || (bn = bn.toArray());\n var buf = new Buffer(bn);\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length);\n zeros.fill(0), buf = Buffer.concat([zeros, buf]);\n }\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_mgf = __commonJS({\n \"node_modules/public-encrypt/mgf.js\"(exports, module) {\n var createHash = require_browser2(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(seed, len) {\n for (var t = Buffer2.alloc(0), i = 0, c;t.length < len; )\n c = i2ops(i++), t = Buffer2.concat([t, createHash(\"sha1\").update(seed).update(c).digest()]);\n return t.slice(0, len);\n };\n function i2ops(c) {\n var out = Buffer2.allocUnsafe(4);\n return out.writeUInt32BE(c, 0), out;\n }\n }\n}), require_xor = __commonJS({\n \"node_modules/public-encrypt/xor.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var len = a.length, i = -1;++i < len; )\n a[i] ^= b[i];\n return a;\n };\n }\n}), require_bn7 = require_bn, { CryptoHasher } = globalThis.Bun, require_withPublic = __commonJS({\n \"node_modules/public-encrypt/withPublic.js\"(exports, module) {\n var BN = require_bn7(), Buffer2 = require_safe_buffer().Buffer;\n function withPublic(paddedMsg, key2) {\n return Buffer2.from(paddedMsg.toRed(BN.mont(key2.modulus)).redPow(new BN(key2.publicExponent)).fromRed().toArray());\n }\n module.exports = withPublic;\n }\n}), require_publicEncrypt = __commonJS({\n \"node_modules/public-encrypt/publicEncrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), randomBytes = require_browser(), createHash = require_browser2(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), withPublic = require_withPublic(), crt = require_browserify_rsa(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(publicKey, msg, reverse) {\n var padding;\n publicKey.padding \? padding = publicKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(publicKey), paddedMsg;\n if (padding === 4)\n paddedMsg = oaep(key2, msg);\n else if (padding === 1)\n paddedMsg = pkcs1(key2, msg, reverse);\n else if (padding === 3) {\n if (paddedMsg = new BN(msg), paddedMsg.cmp(key2.modulus) >= 0)\n throw new Error(\"data too long for modulus\");\n } else\n throw new Error(\"unknown padding\");\n return reverse \? crt(paddedMsg, key2) : withPublic(paddedMsg, key2);\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), mLen = msg.length, iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length, hLen2 = 2 * hLen;\n if (mLen > k - hLen2 - 2)\n throw new Error(\"message too long\");\n var ps = Buffer2.alloc(k - mLen - hLen2 - 2), dblen = k - hLen - 1, seed = randomBytes(hLen), maskedDb = xor(Buffer2.concat([iHash, ps, Buffer2.alloc(1, 1), msg], dblen), mgf(seed, dblen)), maskedSeed = xor(seed, mgf(maskedDb, hLen));\n return new BN(Buffer2.concat([Buffer2.alloc(1), maskedSeed, maskedDb], k));\n }\n function pkcs1(key2, msg, reverse) {\n var mLen = msg.length, k = key2.modulus.byteLength();\n if (mLen > k - 11)\n throw new Error(\"message too long\");\n var ps;\n return reverse \? ps = Buffer2.alloc(k - mLen - 3, 255) : ps = nonZero(k - mLen - 3), new BN(Buffer2.concat([Buffer2.from([0, reverse \? 1 : 2]), ps, Buffer2.alloc(1), msg], k));\n }\n function nonZero(len) {\n for (var out = Buffer2.allocUnsafe(len), i = 0, cache = randomBytes(len * 2), cur = 0, num;i < len; )\n cur === cache.length && (cache = randomBytes(len * 2), cur = 0), num = cache[cur++], num && (out[i++] = num);\n return out;\n }\n }\n}), require_privateDecrypt = __commonJS({\n \"node_modules/public-encrypt/privateDecrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), crt = require_browserify_rsa(), createHash = require_browser2(), withPublic = require_withPublic(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(privateKey, enc, reverse) {\n var padding;\n privateKey.padding \? padding = privateKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(privateKey), k = key2.modulus.byteLength();\n if (enc.length > k || new BN(enc).cmp(key2.modulus) >= 0)\n throw new Error(\"decryption error\");\n var msg;\n reverse \? msg = withPublic(new BN(enc), key2) : msg = crt(enc, key2);\n var zBuffer = Buffer2.alloc(k - msg.length);\n if (msg = Buffer2.concat([zBuffer, msg], k), padding === 4)\n return oaep(key2, msg);\n if (padding === 1)\n return pkcs1(key2, msg, reverse);\n if (padding === 3)\n return msg;\n throw new Error(\"unknown padding\");\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length;\n if (msg[0] !== 0)\n throw new Error(\"decryption error\");\n var maskedSeed = msg.slice(1, hLen + 1), maskedDb = msg.slice(hLen + 1), seed = xor(maskedSeed, mgf(maskedDb, hLen)), db = xor(maskedDb, mgf(seed, k - hLen - 1));\n if (compare(iHash, db.slice(0, hLen)))\n throw new Error(\"decryption error\");\n for (var i = hLen;db[i] === 0; )\n i++;\n if (db[i++] !== 1)\n throw new Error(\"decryption error\");\n return db.slice(i);\n }\n function pkcs1(key2, msg, reverse) {\n for (var p1 = msg.slice(0, 2), i = 2, status = 0;msg[i++] !== 0; )\n if (i >= msg.length) {\n status++;\n break;\n }\n var ps = msg.slice(2, i - 1);\n if ((p1.toString(\"hex\") !== \"0002\" && !reverse || p1.toString(\"hex\") !== \"0001\" && reverse) && status++, ps.length < 8 && status++, status)\n throw new Error(\"decryption error\");\n return msg.slice(i);\n }\n function compare(a, b) {\n a = Buffer2.from(a), b = Buffer2.from(b);\n var dif = 0, len = a.length;\n a.length !== b.length && (dif++, len = Math.min(a.length, b.length));\n for (var i = -1;++i < len; )\n dif += a[i] ^ b[i];\n return dif;\n }\n }\n}), require_browser10 = __commonJS({\n \"node_modules/public-encrypt/browser.js\"(exports) {\n var publicEncrypt = require_publicEncrypt();\n exports.publicEncrypt = function(key2, buf, options) {\n return publicEncrypt(getKeyFrom(key2, \"public\"), buf, options);\n };\n var privateDecrypt = require_privateDecrypt();\n exports.privateDecrypt = function(key2, buf, options) {\n return privateDecrypt(getKeyFrom(key2, \"private\"), buf, options);\n }, exports.privateEncrypt = function(key2, buf) {\n return publicEncrypt(getKeyFrom(key2, \"private\"), buf, !0);\n }, exports.publicDecrypt = function(key2, buf) {\n return privateDecrypt(getKeyFrom(key2, \"public\"), buf, !0);\n };\n }\n}), require_browser11 = __commonJS({\n \"node_modules/randomfill/browser.js\"(exports) {\n var safeBuffer = require_safe_buffer(), randombytes = require_browser(), Buffer2 = safeBuffer.Buffer, kBufferMaxLength = safeBuffer.kMaxLength, kMaxUint32 = Math.pow(2, 32) - 1;\n function assertOffset(offset, length) {\n if (typeof offset != \"number\" || offset !== offset)\n @throwTypeError(\"offset must be a number\");\n if (offset > kMaxUint32 || offset < 0)\n @throwTypeError(\"offset must be a uint32\");\n if (offset > kBufferMaxLength || offset > length)\n @throwRangeError(\"offset out of range\");\n }\n function assertSize(size, offset, length) {\n if (typeof size != \"number\" || size !== size)\n @throwTypeError(\"size must be a number\");\n if (size > kMaxUint32 || size < 0)\n @throwTypeError(\"size must be a uint32\");\n if (size + offset > length || size > kBufferMaxLength)\n @throwRangeError(\"buffer too small\");\n }\n exports.randomFill = randomFill, exports.randomFillSync = randomFillSync;\n function randomFill(buf, offset, size, cb) {\n if (!Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n if (typeof offset == \"function\")\n cb = offset, offset = 0, size = buf.length;\n else if (typeof size == \"function\")\n cb = size, size = buf.length - offset;\n else if (typeof cb != \"function\")\n @throwTypeError('\"cb\" argument must be a function');\n return assertOffset(offset, buf.length), assertSize(size, offset, buf.length), actualFill(buf, offset, size, cb);\n }\n function actualFill(buf, offset, size, cb) {\n if (cb) {\n randombytes(size, function(err, bytes2) {\n if (err)\n return cb(err);\n bytes2.copy(buf, offset), cb(null, buf);\n });\n return;\n }\n var bytes = randombytes(size);\n return bytes.copy(buf, offset), buf;\n }\n function randomFillSync(buf, offset, size) {\n if (typeof offset > \"u\" && (offset = 0), !Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n return assertOffset(offset, buf.length), size === void 0 && (size = buf.length - offset), assertSize(size, offset, buf.length), actualFill(buf, offset, size);\n }\n }\n}), require_crypto_browserify2 = __commonJS({\n \"node_modules/crypto-browserify/index.js\"(exports) {\n exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require_browser(), exports.createHash = require_browser2(), exports.Hash = exports.createHash.Hash, exports.createHmac = exports.Hmac = require_browser3();\n var algos = require_algos(), algoKeys = Object.keys(algos), hashes = [\"sha1\", \"sha224\", \"sha256\", \"sha384\", \"sha512\", \"md5\", \"rmd160\"].concat(algoKeys);\n exports.getHashes = function() {\n return hashes;\n };\n var p = require_browser4();\n exports.pbkdf2 = p.pbkdf2, exports.pbkdf2Sync = p.pbkdf2Sync;\n var aes = require_browser6();\n exports.Cipher = aes.Cipher, exports.createCipher = aes.createCipher, exports.Cipheriv = aes.Cipheriv, exports.createCipheriv = aes.createCipheriv, exports.Decipher = aes.Decipher, exports.createDecipher = aes.createDecipher, exports.Decipheriv = aes.Decipheriv, exports.createDecipheriv = aes.createDecipheriv, exports.getCiphers = aes.getCiphers, exports.listCiphers = aes.listCiphers;\n var dh = require_browser7();\n exports.DiffieHellmanGroup = dh.DiffieHellmanGroup, exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup, exports.getDiffieHellman = dh.getDiffieHellman, exports.createDiffieHellman = dh.createDiffieHellman, exports.DiffieHellman = dh.DiffieHellman;\n var sign = require_browser8();\n exports.createSign = sign.createSign, exports.Sign = sign.Sign, exports.createVerify = sign.createVerify, exports.Verify = sign.Verify, exports.createECDH = require_browser9();\n var publicEncrypt = require_browser10();\n exports.publicEncrypt = publicEncrypt.publicEncrypt, exports.privateEncrypt = publicEncrypt.privateEncrypt, exports.publicDecrypt = publicEncrypt.publicDecrypt, exports.privateDecrypt = publicEncrypt.privateDecrypt, exports.getRandomValues = (values) => crypto.getRandomValues(values);\n var rf = require_browser11();\n exports.randomFill = rf.randomFill, exports.randomFillSync = rf.randomFillSync, exports.createCredentials = function() {\n throw new Error([\n \"sorry, createCredentials is not implemented yet\",\n \"we accept pull requests\",\n \"https://github.com/crypto-browserify/crypto-browserify\"\n ].join(`\n`));\n }, exports.constants = @processBindingConstants.crypto;\n }\n}), crypto_exports = require_crypto_browserify2(), DEFAULT_ENCODING = \"buffer\", getRandomValues = (array) => crypto.getRandomValues(array), randomUUID = () => crypto.randomUUID(), randomInt = (...args) => crypto.randomInt(...args), timingSafeEqual = \"timingSafeEqual\" in crypto \? (a, b) => {\n let { byteLength: byteLengthA } = a, { byteLength: byteLengthB } = b;\n if (typeof byteLengthA != \"number\" || typeof byteLengthB != \"number\")\n @throwTypeError(\"Input must be an array buffer view\");\n if (byteLengthA !== byteLengthB)\n @throwRangeError(\"Input buffers must have the same length\");\n return crypto.timingSafeEqual(a, b);\n} : void 0, scryptSync = \"scryptSync\" in crypto \? (password, salt, keylen, options) => {\n let res = crypto.scryptSync(password, salt, keylen, options);\n return DEFAULT_ENCODING !== \"buffer\" \? new Buffer(res).toString(DEFAULT_ENCODING) : new Buffer(res);\n} : void 0, scrypt = \"scryptSync\" in crypto \? function(password, salt, keylen, options, callback) {\n if (typeof options == \"function\" && (callback = options, options = void 0), typeof callback != \"function\") {\n var err = @makeTypeError(\"callback must be a function\");\n throw err.code = \"ERR_INVALID_CALLBACK\", err;\n }\n try {\n let result = crypto.scryptSync(password, salt, keylen, options);\n process.nextTick(callback, null, DEFAULT_ENCODING !== \"buffer\" \? new Buffer(result).toString(DEFAULT_ENCODING) : new Buffer(result));\n } catch (err2) {\n throw err2;\n }\n} : void 0;\ntimingSafeEqual && (Object.defineProperty(timingSafeEqual, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scrypt, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scryptSync, \"name\", {\n value: \"::bunternal::\"\n}));\nvar harcoded_curves = [\n \"p192\",\n \"p224\",\n \"p256\",\n \"p384\",\n \"p521\",\n \"curve25519\",\n \"ed25519\",\n \"secp256k1\",\n \"secp224r1\",\n \"prime256v1\",\n \"prime192v1\",\n \"ed25519\",\n \"secp384r1\",\n \"secp521r1\"\n], {\n symmetricKeySize,\n asymmetricKeyDetails,\n asymmetricKeyType,\n equals,\n exports,\n createSecretKey,\n createPublicKey,\n createPrivateKey,\n generateKeySync,\n generateKeyPairSync\n} = @lazy(\"internal/crypto\"), kCryptoKey = Symbol.for(\"::bunKeyObjectCryptoKey::\");\n\nclass KeyObject {\n [kCryptoKey];\n constructor(key2) {\n if (typeof key2 !== \"object\")\n @throwTypeError('The \"key\" argument must be an instance of CryptoKey.');\n this[kCryptoKey] = key2;\n }\n toString() {\n return \"[object KeyObject]\";\n }\n static from(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2[kCryptoKey];\n return new KeyObject(key2);\n }\n get asymmetricKeyDetails() {\n return asymmetricKeyDetails(this[kCryptoKey]);\n }\n get symmetricKeySize() {\n return symmetricKeySize(this[kCryptoKey]);\n }\n get asymmetricKeyType() {\n return asymmetricKeyType(this[kCryptoKey]);\n }\n [\"export\"](options) {\n switch (arguments.length) {\n case 0:\n switch (this.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\"\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\"\n };\n break;\n }\n break;\n case 1:\n if (typeof options === \"object\" && !options.format)\n switch (this.type) {\n case \"secret\":\n options.format = \"buffer\";\n break;\n default:\n options.format = \"pem\";\n break;\n }\n }\n return exports(this[kCryptoKey], options);\n }\n equals(otherKey) {\n if (!(otherKey instanceof KeyObject))\n @throwTypeError(\"otherKey must be a KeyObject\");\n return equals(this[kCryptoKey], otherKey[kCryptoKey]);\n }\n get type() {\n return this[kCryptoKey].type;\n }\n}\ncrypto_exports.generateKeySync = function(algorithm, options) {\n return KeyObject.from(generateKeySync(algorithm, options\?.length));\n};\ncrypto_exports.generateKey = function(algorithm, options, callback) {\n try {\n const key2 = KeyObject.from(generateKeySync(algorithm, options\?.length));\n typeof callback === \"function\" && callback(null, KeyObject.from(key2));\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.generateKeyPairSync = _generateKeyPairSync;\ncrypto_exports.generateKeyPair = function(algorithm, options, callback) {\n try {\n const result = _generateKeyPairSync(algorithm, options);\n typeof callback === \"function\" && callback(null, result.publicKey, result.privateKey);\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.createSecretKey = function(key2, encoding) {\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type !== \"secret\") {\n const error = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected secret`);\n throw error.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error;\n }\n return KeyObject.from(key2);\n }\n const buffer = getArrayBufferOrView(key2, encoding || \"utf8\");\n return KeyObject.from(createSecretKey(buffer));\n};\ncrypto_exports.createPrivateKey = _createPrivateKey;\ncrypto_exports.createPublicKey = _createPublicKey;\ncrypto_exports.KeyObject = KeyObject;\nvar _createSign = crypto_exports.createSign;\ncrypto_exports.sign = function(algorithm, data, key2, encoding, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n};\nvar _createVerify = crypto_exports.createVerify;\ncrypto_exports.verify = function(algorithm, data, key2, signature, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createVerify(algorithm).update(data).verify(key2, signature);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createVerify(algorithm).update(data).verify(key2, signature);\n};\nvar webcrypto = crypto;\n__export(crypto_exports, {\n DEFAULT_ENCODING: () => DEFAULT_ENCODING,\n getRandomValues: () => getRandomValues,\n randomUUID: () => randomUUID,\n randomInt: () => randomInt,\n getCurves: () => getCurves,\n scrypt: () => scrypt,\n scryptSync: () => scryptSync,\n timingSafeEqual: () => timingSafeEqual,\n webcrypto: () => webcrypto,\n subtle: () => webcrypto.subtle\n});\n$ = crypto_exports;\n/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nreturn $})\n"); +static constexpr ASCIILiteral NodeCryptoCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/crypto.ts\nvar exportIfKeyObject = function(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n return key2;\n}, getKeyFrom = function(key2, type) {\n if (key2 instanceof KeyObject)\n key2 = key2.export();\n else if (key2 instanceof CryptoKey)\n key2 = KeyObject.from(key2).export();\n else if (!Buffer.isBuffer(key2) && typeof key2 === \"object\") {\n if ((typeof key2.format === \"string\" || typeof key2.passphrase === \"string\") && typeof key2.key !== \"undefined\")\n key2 = type === \"public\" \? _createPublicKey(key2).export() : _createPrivateKey(key2).export();\n } else if (typeof key2 === \"string\" && type === \"public\")\n key2.indexOf(\"PRIVATE KEY-----\") !== -1 && (key2 = _createPublicKey(key2).export());\n return key2;\n}, getArrayBufferOrView = function(buffer, name, encoding) {\n if (buffer instanceof KeyObject) {\n if (buffer.type !== \"secret\") {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key.type}, expected secret`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n buffer = buffer.export();\n }\n if (isAnyArrayBuffer(buffer))\n return buffer;\n if (typeof buffer === \"string\") {\n if (encoding === \"buffer\")\n encoding = \"utf8\";\n return Buffer.from(buffer, encoding);\n }\n if (!isArrayBufferView(buffer)) {\n var error = @makeTypeError(`ERR_INVALID_ARG_TYPE: The \"${name}\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received ` + buffer);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n return buffer;\n}, getCurves = function() {\n return harcoded_curves;\n}, _generateKeyPairSync = function(algorithm, options) {\n const result = generateKeyPairSync(algorithm, options);\n if (result) {\n const publicKeyEncoding = options\?.publicKeyEncoding, privateKeyEncoding = options\?.privateKeyEncoding;\n result.publicKey = publicKeyEncoding \? KeyObject.from(result.publicKey).export(publicKeyEncoding) : KeyObject.from(result.publicKey), result.privateKey = privateKeyEncoding \? KeyObject.from(result.privateKey).export(privateKeyEncoding) : KeyObject.from(result.privateKey);\n }\n return result;\n}, _createPrivateKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPrivateKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + actual_key);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPrivateKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, _createPublicKey = function(key2) {\n if (typeof key2 === \"string\")\n return key2 = Buffer.from(key2, \"utf8\"), KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (isAnyArrayBuffer(key2) || isArrayBufferView(key2))\n return KeyObject.from(createPublicKey({ key: key2, format: \"pem\" }));\n else if (typeof key2 === \"object\")\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type === \"private\")\n return KeyObject.from(createPublicKey({ key: key2[kCryptoKey] || key2, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n } else {\n if (key2.passphrase) {\n let actual_key2 = key2.key;\n if (typeof actual_key2 === \"string\")\n actual_key2 = Buffer.from(actual_key2, key2.encoding || \"utf8\");\n return KeyObject.from(createPublicKey({\n key: createPrivateKey({ key: actual_key2, format: key2.format, passphrase: key2.passphrase }),\n format: \"\"\n }));\n }\n let actual_key = key2.key;\n if (typeof actual_key === \"string\")\n actual_key = Buffer.from(actual_key, key2.encoding || \"utf8\"), key2.key = actual_key;\n else if (actual_key instanceof KeyObject || actual_key instanceof CryptoKey) {\n if (actual_key.type === \"private\")\n return KeyObject.from(createPublicKey({ key: actual_key[kCryptoKey] || actual_key, format: \"\" }));\n const error2 = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${actual_key.type}, expected private`);\n throw error2.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error2;\n }\n if (!isAnyArrayBuffer(actual_key) && !isArrayBufferView(actual_key) && typeof actual_key !== \"object\") {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n if (!key2.format)\n key2.format = \"pem\";\n return KeyObject.from(createPublicKey(key2));\n }\n else {\n var error = @makeTypeError('ERR_INVALID_ARG_TYPE: The \"key\" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, DataView or object. Received ' + key2);\n throw error.code = \"ERR_INVALID_ARG_TYPE\", error;\n }\n}, $, __defProp = Object.defineProperty, __getOwnPropNames = Object.getOwnPropertyNames, StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), BufferModule = @requireNativeModule(\"buffer\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, MAX_STRING_LENGTH = 536870888, Buffer = globalThis.Buffer, EMPTY_BUFFER = Buffer.alloc(0), { isAnyArrayBuffer, isArrayBufferView } = @requireNativeModule(\"util/types\"), crypto = globalThis.crypto, globalCrypto = crypto, __commonJS = (cb, mod) => function() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, require_safe_buffer = __commonJS({\n \"node_modules/safe-buffer/index.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src)\n dst[key2] = src[key2];\n }\n Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow \? module.exports = buffer : (copyProps(buffer, exports), exports.Buffer = SafeBuffer);\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer2(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer2.prototype), copyProps(Buffer2, SafeBuffer), SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg == \"number\")\n @throwTypeError(\"Argument must not be a number\");\n return Buffer2(arg, encodingOrOffset, length);\n }, SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n var buf = Buffer2(size);\n return fill !== void 0 \? typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill) : buf.fill(0), buf;\n }, SafeBuffer.allocUnsafe = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return Buffer2(size);\n }, SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size != \"number\")\n @throwTypeError(\"Argument must be a number\");\n return buffer.SlowBuffer(size);\n };\n }\n}), require_browser = __commonJS({\n \"node_modules/randombytes/browser.js\"(exports, module) {\n var MAX_BYTES = 65536, MAX_UINT32 = 4294967295;\n function oldBrowser() {\n throw new Error(`Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11`);\n }\n var Buffer2 = require_safe_buffer().Buffer, crypto2 = globalCrypto;\n crypto2 && crypto2.getRandomValues \? module.exports = randomBytes : module.exports = oldBrowser;\n function randomBytes(size, cb) {\n if (size > MAX_UINT32)\n @throwRangeError(\"requested too many random bytes\");\n var bytes = Buffer2.allocUnsafe(size);\n if (size > 0)\n if (size > MAX_BYTES)\n for (var generated = 0;generated < size; generated += MAX_BYTES)\n crypto2.getRandomValues(bytes.slice(generated, generated + MAX_BYTES));\n else\n crypto2.getRandomValues(bytes);\n return typeof cb == \"function\" \? process.nextTick(function() {\n cb(null, bytes);\n }) : bytes;\n }\n }\n}), require_inherits_browser = __commonJS({\n \"node_modules/inherits/inherits_browser.js\"(exports, module) {\n module.exports = function(ctor, superCtor) {\n superCtor && (ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }));\n };\n }\n}), require_hash_base = __commonJS({\n \"node_modules/hash-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function throwIfNotStringOrBuffer(val, prefix) {\n if (!Buffer2.isBuffer(val) && typeof val != \"string\")\n @throwTypeError(prefix + \" must be a string or a buffer\");\n }\n function HashBase(blockSize) {\n StreamModule.Transform.@call(this), this._block = Buffer2.allocUnsafe(blockSize), this._blockSize = blockSize, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1;\n }\n inherits(HashBase, StreamModule.Transform), HashBase.prototype._transform = function(chunk, encoding, callback) {\n var error = null;\n try {\n this.update(chunk, encoding);\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype._flush = function(callback) {\n var error = null;\n try {\n this.push(this.digest());\n } catch (err) {\n error = err;\n }\n callback(error);\n }, HashBase.prototype.update = function(data, encoding) {\n if (throwIfNotStringOrBuffer(data, \"Data\"), this._finalized)\n throw new Error(\"Digest already called\");\n Buffer2.isBuffer(data) || (data = Buffer2.from(data, encoding));\n for (var block = this._block, offset = 0;this._blockOffset + data.length - offset >= this._blockSize; ) {\n for (var i = this._blockOffset;i < this._blockSize; )\n block[i++] = data[offset++];\n this._update(), this._blockOffset = 0;\n }\n for (;offset < data.length; )\n block[this._blockOffset++] = data[offset++];\n for (var j = 0, carry = data.length * 8;carry > 0; ++j)\n this._length[j] += carry, carry = this._length[j] / 4294967296 | 0, carry > 0 && (this._length[j] -= 4294967296 * carry);\n return this;\n }, HashBase.prototype._update = function() {\n throw new Error(\"_update is not implemented\");\n }, HashBase.prototype.digest = function(encoding) {\n if (this._finalized)\n throw new Error(\"Digest already called\");\n this._finalized = !0;\n var digest = this._digest();\n encoding !== void 0 && (digest = digest.toString(encoding)), this._block.fill(0), this._blockOffset = 0;\n for (var i = 0;i < 4; ++i)\n this._length[i] = 0;\n return digest;\n }, HashBase.prototype._digest = function() {\n throw new Error(\"_digest is not implemented\");\n }, module.exports = HashBase;\n }\n}), require_md5 = __commonJS({\n \"node_modules/md5.js/index.js\"(exports, module) {\n var inherits = require_inherits_browser(), HashBase = require_hash_base(), Buffer2 = require_safe_buffer().Buffer, ARRAY16 = new @Array(16);\n function MD5() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878;\n }\n inherits(MD5, HashBase), MD5.prototype._update = function() {\n for (var M = ARRAY16, i = 0;i < 16; ++i)\n M[i] = this._block.readInt32LE(i * 4);\n var a = this._a, b = this._b, c = this._c, d = this._d;\n a = fnF(a, b, c, d, M[0], 3614090360, 7), d = fnF(d, a, b, c, M[1], 3905402710, 12), c = fnF(c, d, a, b, M[2], 606105819, 17), b = fnF(b, c, d, a, M[3], 3250441966, 22), a = fnF(a, b, c, d, M[4], 4118548399, 7), d = fnF(d, a, b, c, M[5], 1200080426, 12), c = fnF(c, d, a, b, M[6], 2821735955, 17), b = fnF(b, c, d, a, M[7], 4249261313, 22), a = fnF(a, b, c, d, M[8], 1770035416, 7), d = fnF(d, a, b, c, M[9], 2336552879, 12), c = fnF(c, d, a, b, M[10], 4294925233, 17), b = fnF(b, c, d, a, M[11], 2304563134, 22), a = fnF(a, b, c, d, M[12], 1804603682, 7), d = fnF(d, a, b, c, M[13], 4254626195, 12), c = fnF(c, d, a, b, M[14], 2792965006, 17), b = fnF(b, c, d, a, M[15], 1236535329, 22), a = fnG(a, b, c, d, M[1], 4129170786, 5), d = fnG(d, a, b, c, M[6], 3225465664, 9), c = fnG(c, d, a, b, M[11], 643717713, 14), b = fnG(b, c, d, a, M[0], 3921069994, 20), a = fnG(a, b, c, d, M[5], 3593408605, 5), d = fnG(d, a, b, c, M[10], 38016083, 9), c = fnG(c, d, a, b, M[15], 3634488961, 14), b = fnG(b, c, d, a, M[4], 3889429448, 20), a = fnG(a, b, c, d, M[9], 568446438, 5), d = fnG(d, a, b, c, M[14], 3275163606, 9), c = fnG(c, d, a, b, M[3], 4107603335, 14), b = fnG(b, c, d, a, M[8], 1163531501, 20), a = fnG(a, b, c, d, M[13], 2850285829, 5), d = fnG(d, a, b, c, M[2], 4243563512, 9), c = fnG(c, d, a, b, M[7], 1735328473, 14), b = fnG(b, c, d, a, M[12], 2368359562, 20), a = fnH(a, b, c, d, M[5], 4294588738, 4), d = fnH(d, a, b, c, M[8], 2272392833, 11), c = fnH(c, d, a, b, M[11], 1839030562, 16), b = fnH(b, c, d, a, M[14], 4259657740, 23), a = fnH(a, b, c, d, M[1], 2763975236, 4), d = fnH(d, a, b, c, M[4], 1272893353, 11), c = fnH(c, d, a, b, M[7], 4139469664, 16), b = fnH(b, c, d, a, M[10], 3200236656, 23), a = fnH(a, b, c, d, M[13], 681279174, 4), d = fnH(d, a, b, c, M[0], 3936430074, 11), c = fnH(c, d, a, b, M[3], 3572445317, 16), b = fnH(b, c, d, a, M[6], 76029189, 23), a = fnH(a, b, c, d, M[9], 3654602809, 4), d = fnH(d, a, b, c, M[12], 3873151461, 11), c = fnH(c, d, a, b, M[15], 530742520, 16), b = fnH(b, c, d, a, M[2], 3299628645, 23), a = fnI(a, b, c, d, M[0], 4096336452, 6), d = fnI(d, a, b, c, M[7], 1126891415, 10), c = fnI(c, d, a, b, M[14], 2878612391, 15), b = fnI(b, c, d, a, M[5], 4237533241, 21), a = fnI(a, b, c, d, M[12], 1700485571, 6), d = fnI(d, a, b, c, M[3], 2399980690, 10), c = fnI(c, d, a, b, M[10], 4293915773, 15), b = fnI(b, c, d, a, M[1], 2240044497, 21), a = fnI(a, b, c, d, M[8], 1873313359, 6), d = fnI(d, a, b, c, M[15], 4264355552, 10), c = fnI(c, d, a, b, M[6], 2734768916, 15), b = fnI(b, c, d, a, M[13], 1309151649, 21), a = fnI(a, b, c, d, M[4], 4149444226, 6), d = fnI(d, a, b, c, M[11], 3174756917, 10), c = fnI(c, d, a, b, M[2], 718787259, 15), b = fnI(b, c, d, a, M[9], 3951481745, 21), this._a = this._a + a | 0, this._b = this._b + b | 0, this._c = this._c + c | 0, this._d = this._d + d | 0;\n }, MD5.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.allocUnsafe(16);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fnF(a, b, c, d, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + b | 0;\n }\n function fnG(a, b, c, d, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + b | 0;\n }\n function fnH(a, b, c, d, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + b | 0;\n }\n function fnI(a, b, c, d, m, k, s) {\n return rotl(a + (c ^ (b | ~d)) + m + k | 0, s) + b | 0;\n }\n module.exports = MD5;\n }\n}), require_ripemd160 = __commonJS({\n \"node_modules/ripemd160/index.js\"(exports, module) {\n var Buffer2 = Buffer, inherits = require_inherits_browser(), HashBase = require_hash_base(), ARRAY16 = new @Array(16), zl = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], zr = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], sl = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sr = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ], hl = [0, 1518500249, 1859775393, 2400959708, 2840853838], hr = [1352829926, 1548603684, 1836072691, 2053994217, 0];\n function RIPEMD160() {\n HashBase.@call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520;\n }\n inherits(RIPEMD160, HashBase), RIPEMD160.prototype._update = function() {\n for (var words = ARRAY16, j = 0;j < 16; ++j)\n words[j] = this._block.readInt32LE(j * 4);\n for (var al = this._a | 0, bl = this._b | 0, cl = this._c | 0, dl = this._d | 0, el = this._e | 0, ar = this._a | 0, br = this._b | 0, cr = this._c | 0, dr = this._d | 0, er = this._e | 0, i = 0;i < 80; i += 1) {\n var tl, tr;\n i < 16 \? (tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i]), tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])) : i < 32 \? (tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i]), tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])) : i < 48 \? (tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i]), tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])) : i < 64 \? (tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i]), tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])) : (tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i]), tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])), al = el, el = dl, dl = rotl(cl, 10), cl = bl, bl = tl, ar = er, er = dr, dr = rotl(cr, 10), cr = br, br = tr;\n }\n var t = this._b + cl + dr | 0;\n this._b = this._c + dl + er | 0, this._c = this._d + el + ar | 0, this._d = this._e + al + br | 0, this._e = this._a + bl + cr | 0, this._a = t;\n }, RIPEMD160.prototype._digest = function() {\n this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update();\n var buffer = Buffer2.alloc \? Buffer2.alloc(20) : new Buffer2(20);\n return buffer.writeInt32LE(this._a, 0), buffer.writeInt32LE(this._b, 4), buffer.writeInt32LE(this._c, 8), buffer.writeInt32LE(this._d, 12), buffer.writeInt32LE(this._e, 16), buffer;\n };\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n function fn1(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ c ^ d) + m + k | 0, s) + e | 0;\n }\n function fn2(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & c | ~b & d) + m + k | 0, s) + e | 0;\n }\n function fn3(a, b, c, d, e, m, k, s) {\n return rotl(a + ((b | ~c) ^ d) + m + k | 0, s) + e | 0;\n }\n function fn4(a, b, c, d, e, m, k, s) {\n return rotl(a + (b & d | c & ~d) + m + k | 0, s) + e | 0;\n }\n function fn5(a, b, c, d, e, m, k, s) {\n return rotl(a + (b ^ (c | ~d)) + m + k | 0, s) + e | 0;\n }\n module.exports = RIPEMD160;\n }\n}), require_hash = __commonJS({\n \"node_modules/sha.js/hash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function Hash(blockSize, finalSize) {\n this._block = Buffer2.alloc(blockSize), this._finalSize = finalSize, this._blockSize = blockSize, this._len = 0;\n }\n Hash.prototype = {}, Hash.prototype.update = function(data, enc) {\n typeof data == \"string\" && (enc = enc || \"utf8\", data = Buffer2.from(data, enc));\n for (var block = this._block, blockSize = this._blockSize, length = data.length, accum = this._len, offset = 0;offset < length; ) {\n for (var assigned = accum % blockSize, remainder = Math.min(length - offset, blockSize - assigned), i = 0;i < remainder; i++)\n block[assigned + i] = data[offset + i];\n accum += remainder, offset += remainder, accum % blockSize === 0 && this._update(block);\n }\n return this._len += length, this;\n }, Hash.prototype.digest = function(enc) {\n var rem = this._len % this._blockSize;\n this._block[rem] = 128, this._block.fill(0, rem + 1), rem >= this._finalSize && (this._update(this._block), this._block.fill(0));\n var bits = this._len * 8;\n if (bits <= 4294967295)\n this._block.writeUInt32BE(bits, this._blockSize - 4);\n else {\n var lowBits = (bits & 4294967295) >>> 0, highBits = (bits - lowBits) / 4294967296;\n this._block.writeUInt32BE(highBits, this._blockSize - 8), this._block.writeUInt32BE(lowBits, this._blockSize - 4);\n }\n this._update(this._block);\n var hash = this._hash();\n return enc \? hash.toString(enc) : hash;\n }, Hash.prototype._update = function() {\n throw new Error(\"_update must be implemented by subclass\");\n }, module.exports = Hash;\n }\n}), require_sha = __commonJS({\n \"node_modules/sha.js/sha.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha, Hash), Sha.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16];\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha;\n }\n}), require_sha1 = __commonJS({\n \"node_modules/sha.js/sha1.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [1518500249, 1859775393, -1894007588, -899497514], W = new @Array(80);\n function Sha1() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha1, Hash), Sha1.prototype.init = function() {\n return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this;\n };\n function rotl1(num) {\n return num << 1 | num >>> 31;\n }\n function rotl5(num) {\n return num << 5 | num >>> 27;\n }\n function rotl30(num) {\n return num << 30 | num >>> 2;\n }\n function ft(s, b, c, d) {\n return s === 0 \? b & c | ~b & d : s === 2 \? b & c | b & d | c & d : b ^ c ^ d;\n }\n Sha1.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 80; ++i)\n W2[i] = rotl1(W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16]);\n for (var j = 0;j < 80; ++j) {\n var s = ~~(j / 20), t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0;\n e = d, d = c, c = rotl30(b), b = a, a = t;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0;\n }, Sha1.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(20);\n return H.writeInt32BE(this._a | 0, 0), H.writeInt32BE(this._b | 0, 4), H.writeInt32BE(this._c | 0, 8), H.writeInt32BE(this._d | 0, 12), H.writeInt32BE(this._e | 0, 16), H;\n }, module.exports = Sha1;\n }\n}), require_sha256 = __commonJS({\n \"node_modules/sha.js/sha256.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ], W = new @Array(64);\n function Sha256() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha256, Hash), Sha256.prototype.init = function() {\n return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this;\n };\n function ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10);\n }\n function sigma1(x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7);\n }\n function gamma0(x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3;\n }\n function gamma1(x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10;\n }\n Sha256.prototype._update = function(M) {\n for (var W2 = this._w, a = this._a | 0, b = this._b | 0, c = this._c | 0, d = this._d | 0, e = this._e | 0, f = this._f | 0, g = this._g | 0, h = this._h | 0, i = 0;i < 16; ++i)\n W2[i] = M.readInt32BE(i * 4);\n for (;i < 64; ++i)\n W2[i] = gamma1(W2[i - 2]) + W2[i - 7] + gamma0(W2[i - 15]) + W2[i - 16] | 0;\n for (var j = 0;j < 64; ++j) {\n var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W2[j] | 0, T2 = sigma0(a) + maj(a, b, c) | 0;\n h = g, g = f, f = e, e = d + T1 | 0, d = c, c = b, b = a, a = T1 + T2 | 0;\n }\n this._a = a + this._a | 0, this._b = b + this._b | 0, this._c = c + this._c | 0, this._d = d + this._d | 0, this._e = e + this._e | 0, this._f = f + this._f | 0, this._g = g + this._g | 0, this._h = h + this._h | 0;\n }, Sha256.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(32);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H.writeInt32BE(this._h, 28), H;\n }, module.exports = Sha256;\n }\n}), require_sha224 = __commonJS({\n \"node_modules/sha.js/sha224.js\"(exports, module) {\n var inherits = require_inherits_browser(), Sha256 = require_sha256(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(64);\n function Sha224() {\n this.init(), this._w = W, Hash.@call(this, 64, 56);\n }\n inherits(Sha224, Sha256), Sha224.prototype.init = function() {\n return this._a = 3238371032, this._b = 914150663, this._c = 812702999, this._d = 4144912697, this._e = 4290775857, this._f = 1750603025, this._g = 1694076839, this._h = 3204075428, this;\n }, Sha224.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(28);\n return H.writeInt32BE(this._a, 0), H.writeInt32BE(this._b, 4), H.writeInt32BE(this._c, 8), H.writeInt32BE(this._d, 12), H.writeInt32BE(this._e, 16), H.writeInt32BE(this._f, 20), H.writeInt32BE(this._g, 24), H;\n }, module.exports = Sha224;\n }\n}), require_sha512 = __commonJS({\n \"node_modules/sha.js/sha512.js\"(exports, module) {\n var inherits = require_inherits_browser(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ], W = new @Array(160);\n function Sha512() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha512, Hash), Sha512.prototype.init = function() {\n return this._ah = 1779033703, this._bh = 3144134277, this._ch = 1013904242, this._dh = 2773480762, this._eh = 1359893119, this._fh = 2600822924, this._gh = 528734635, this._hh = 1541459225, this._al = 4089235720, this._bl = 2227873595, this._cl = 4271175723, this._dl = 1595750129, this._el = 2917565137, this._fl = 725511199, this._gl = 4215389547, this._hl = 327033209, this;\n };\n function Ch(x, y, z) {\n return z ^ x & (y ^ z);\n }\n function maj(x, y, z) {\n return x & y | z & (x | y);\n }\n function sigma0(x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25);\n }\n function sigma1(x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23);\n }\n function Gamma0(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7;\n }\n function Gamma0l(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25);\n }\n function Gamma1(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6;\n }\n function Gamma1l(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26);\n }\n function getCarry(a, b) {\n return a >>> 0 < b >>> 0 \? 1 : 0;\n }\n Sha512.prototype._update = function(M) {\n for (var W2 = this._w, ah = this._ah | 0, bh = this._bh | 0, ch = this._ch | 0, dh = this._dh | 0, eh = this._eh | 0, fh = this._fh | 0, gh = this._gh | 0, hh = this._hh | 0, al = this._al | 0, bl = this._bl | 0, cl = this._cl | 0, dl = this._dl | 0, el = this._el | 0, fl = this._fl | 0, gl = this._gl | 0, hl = this._hl | 0, i = 0;i < 32; i += 2)\n W2[i] = M.readInt32BE(i * 4), W2[i + 1] = M.readInt32BE(i * 4 + 4);\n for (;i < 160; i += 2) {\n var xh = W2[i - 30], xl = W2[i - 30 + 1], gamma0 = Gamma0(xh, xl), gamma0l = Gamma0l(xl, xh);\n xh = W2[i - 4], xl = W2[i - 4 + 1];\n var gamma1 = Gamma1(xh, xl), gamma1l = Gamma1l(xl, xh), Wi7h = W2[i - 14], Wi7l = W2[i - 14 + 1], Wi16h = W2[i - 32], Wi16l = W2[i - 32 + 1], Wil = gamma0l + Wi7l | 0, Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0;\n Wil = Wil + gamma1l | 0, Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0, Wil = Wil + Wi16l | 0, Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0, W2[i] = Wih, W2[i + 1] = Wil;\n }\n for (var j = 0;j < 160; j += 2) {\n Wih = W2[j], Wil = W2[j + 1];\n var majh = maj(ah, bh, ch), majl = maj(al, bl, cl), sigma0h = sigma0(ah, al), sigma0l = sigma0(al, ah), sigma1h = sigma1(eh, el), sigma1l = sigma1(el, eh), Kih = K[j], Kil = K[j + 1], chh = Ch(eh, fh, gh), chl = Ch(el, fl, gl), t1l = hl + sigma1l | 0, t1h = hh + sigma1h + getCarry(t1l, hl) | 0;\n t1l = t1l + chl | 0, t1h = t1h + chh + getCarry(t1l, chl) | 0, t1l = t1l + Kil | 0, t1h = t1h + Kih + getCarry(t1l, Kil) | 0, t1l = t1l + Wil | 0, t1h = t1h + Wih + getCarry(t1l, Wil) | 0;\n var t2l = sigma0l + majl | 0, t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0;\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, el = dl + t1l | 0, eh = dh + t1h + getCarry(el, dl) | 0, dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, al = t1l + t2l | 0, ah = t1h + t2h + getCarry(al, t1l) | 0;\n }\n this._al = this._al + al | 0, this._bl = this._bl + bl | 0, this._cl = this._cl + cl | 0, this._dl = this._dl + dl | 0, this._el = this._el + el | 0, this._fl = this._fl + fl | 0, this._gl = this._gl + gl | 0, this._hl = this._hl + hl | 0, this._ah = this._ah + ah + getCarry(this._al, al) | 0, this._bh = this._bh + bh + getCarry(this._bl, bl) | 0, this._ch = this._ch + ch + getCarry(this._cl, cl) | 0, this._dh = this._dh + dh + getCarry(this._dl, dl) | 0, this._eh = this._eh + eh + getCarry(this._el, el) | 0, this._fh = this._fh + fh + getCarry(this._fl, fl) | 0, this._gh = this._gh + gh + getCarry(this._gl, gl) | 0, this._hh = this._hh + hh + getCarry(this._hl, hl) | 0;\n }, Sha512.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(64);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), writeInt64BE(this._gh, this._gl, 48), writeInt64BE(this._hh, this._hl, 56), H;\n }, module.exports = Sha512;\n }\n}), require_sha384 = __commonJS({\n \"node_modules/sha.js/sha384.js\"(exports, module) {\n var inherits = require_inherits_browser(), SHA512 = require_sha512(), Hash = require_hash(), Buffer2 = require_safe_buffer().Buffer, W = new @Array(160);\n function Sha384() {\n this.init(), this._w = W, Hash.@call(this, 128, 112);\n }\n inherits(Sha384, SHA512), Sha384.prototype.init = function() {\n return this._ah = 3418070365, this._bh = 1654270250, this._ch = 2438529370, this._dh = 355462360, this._eh = 1731405415, this._fh = 2394180231, this._gh = 3675008525, this._hh = 1203062813, this._al = 3238371032, this._bl = 914150663, this._cl = 812702999, this._dl = 4144912697, this._el = 4290775857, this._fl = 1750603025, this._gl = 1694076839, this._hl = 3204075428, this;\n }, Sha384.prototype._hash = function() {\n var H = Buffer2.allocUnsafe(48);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset), H.writeInt32BE(l, offset + 4);\n }\n return writeInt64BE(this._ah, this._al, 0), writeInt64BE(this._bh, this._bl, 8), writeInt64BE(this._ch, this._cl, 16), writeInt64BE(this._dh, this._dl, 24), writeInt64BE(this._eh, this._el, 32), writeInt64BE(this._fh, this._fl, 40), H;\n }, module.exports = Sha384;\n }\n}), require_sha2 = __commonJS({\n \"node_modules/sha.js/index.js\"(exports, module) {\n var exports = module.exports = function(algorithm) {\n algorithm = algorithm.toLowerCase();\n var Algorithm = exports[algorithm];\n if (!Algorithm)\n throw new Error(algorithm + \" is not supported (we accept pull requests)\");\n return new Algorithm;\n };\n exports.sha = require_sha(), exports.sha1 = require_sha1(), exports.sha224 = require_sha224(), exports.sha256 = require_sha256(), exports.sha384 = require_sha384(), exports.sha512 = require_sha512();\n }\n}), require_cipher_base = __commonJS({\n \"node_modules/cipher-base/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, inherits = require_inherits_browser();\n function CipherBase(hashMode) {\n StreamModule.Transform.@call(this), this.hashMode = typeof hashMode == \"string\", this.hashMode \? this[hashMode] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null, this._finalized = !1;\n }\n inherits(CipherBase, StreamModule.Transform), CipherBase.prototype.update = function(data, inputEnc, outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n typeof data == \"string\" && (data = Buffer2.from(data, inputEnc));\n var outData = this._update(data);\n return this.hashMode \? this : (outputEnc && (outData = this._toString(outData, outputEnc)), outData);\n }, CipherBase.prototype.setAutoPadding = function() {\n }, CipherBase.prototype.getAuthTag = function() {\n throw new Error(\"trying to get auth tag in unsupported state\");\n }, CipherBase.prototype.setAuthTag = function() {\n throw new Error(\"trying to set auth tag in unsupported state\");\n }, CipherBase.prototype.setAAD = function() {\n throw new Error(\"trying to set aad in unsupported state\");\n }, CipherBase.prototype._transform = function(data, _, next) {\n var err;\n try {\n this.hashMode \? this._update(data) : this.push(this._update(data));\n } catch (e) {\n err = e;\n } finally {\n next(err);\n }\n }, CipherBase.prototype._flush = function(done) {\n var err;\n try {\n this.push(this.__final());\n } catch (e) {\n err = e;\n }\n done(err);\n }, CipherBase.prototype._finalOrDigest = function(outputEnc) {\n if (outputEnc === \"buffer\")\n outputEnc = @undefined;\n if (this._finalized) {\n if (!this._encoding)\n return Buffer2.alloc(0);\n return \"\";\n }\n this._finalized = !0;\n var outData = this.__final() || Buffer2.alloc(0);\n return outputEnc && (outData = this._toString(outData, outputEnc, !0)), outData;\n }, CipherBase.prototype._toString = function(value, enc, fin) {\n if (this._decoder || (this._decoder = new StringDecoder(enc), this._encoding = enc), this._encoding !== enc)\n throw new Error(\"can't switch encodings\");\n var out = this._decoder.write(value);\n return fin && (out += this._decoder.end()), out;\n }, module.exports = CipherBase;\n }\n}), require_browser2 = __commonJS({\n \"node_modules/create-hash/browser.js\"(exports, module) {\n const LazyHash = function Hash(algorithm, options) {\n this._options = options, this._hasher = new CryptoHasher(algorithm, options), this._finalized = !1;\n };\n LazyHash.prototype = Object.create(StreamModule.Transform.prototype), LazyHash.prototype.update = function update(data, encoding) {\n return this._checkFinalized(), this._hasher.update(data, encoding), this;\n }, LazyHash.prototype.digest = function update(data, encoding) {\n return this._checkFinalized(), this._finalized = !0, this._hasher.digest(data, encoding);\n }, LazyHash.prototype._checkFinalized = function _checkFinalized() {\n if (this._finalized) {\n var err = new Error(\"Digest already called\");\n throw err.code = \"ERR_CRYPTO_HASH_FINALIZED\", err;\n }\n }, LazyHash.prototype.copy = function copy() {\n const copy = Object.create(LazyHash.prototype);\n return copy._options = this._options, copy._hasher = this._hasher.copy(), copy._finalized = this._finalized, copy;\n };\n const lazyHashFullInitProto = {\n __proto__: StreamModule.Transform.prototype,\n ...LazyHash.prototype,\n _transform(data, encoding, callback) {\n this.update(data, encoding), callback && callback();\n },\n _flush(callback) {\n this.push(this.digest()), callback();\n }\n }, triggerMethods = [\n \"_events\",\n \"_eventsCount\",\n \"_final\",\n \"_maxListeners\",\n \"_maxListeners\",\n \"_read\",\n \"_undestroy\",\n \"_writableState\",\n \"_write\",\n \"_writev\",\n \"addListener\",\n \"asIndexedPairs\",\n \"closed\",\n \"compose\",\n \"constructor\",\n \"cork\",\n \"destroy\",\n \"destroyed\",\n \"drop\",\n \"emit\",\n \"end\",\n \"errored\",\n \"eventNames\",\n \"every\",\n \"filter\",\n \"find\",\n \"flatMap\",\n \"forEach\",\n \"getMaxListeners\",\n \"hasOwnProperty\",\n \"isPaused\",\n \"isPrototypeOf\",\n \"iterator\",\n \"listenerCount\",\n \"listeners\",\n \"map\",\n \"off\",\n \"on\",\n \"once\",\n \"pause\",\n \"pipe\",\n \"prependListener\",\n \"prependOnceListener\",\n \"propertyIsEnumerable\",\n \"push\",\n \"rawListeners\",\n \"read\",\n \"readable\",\n \"readableAborted\",\n \"readableBuffer\",\n \"readableDidRead\",\n \"readableEncoding\",\n \"readableEnded\",\n \"readableFlowing\",\n \"readableHighWaterMark\",\n \"readableLength\",\n \"readableObjectMode\",\n \"reduce\",\n \"removeAllListeners\",\n \"removeListener\",\n \"resume\",\n \"setDefaultEncoding\",\n \"setEncoding\",\n \"setMaxListeners\",\n \"some\",\n \"take\",\n \"toArray\",\n \"toLocaleString\",\n \"toString\",\n \"uncork\",\n \"unpipe\",\n \"unshift\",\n \"valueOf\",\n \"wrap\",\n \"writable\",\n \"writableBuffer\",\n \"writableCorked\",\n \"writableEnded\",\n \"writableFinished\",\n \"writableHighWaterMark\",\n \"writableLength\",\n \"writableNeedDrain\",\n \"writableObjectMode\",\n \"write\"\n ];\n for (let method of triggerMethods)\n Object.defineProperty(LazyHash.prototype, method, {\n get() {\n return Object.setPrototypeOf(this, lazyHashFullInitProto), StreamModule.Transform.@call(this, this._options), this[method];\n },\n enumerable: !1,\n configurable: !0\n });\n module.exports = function createHash(algorithm) {\n return new LazyHash(algorithm);\n }, module.exports.createHash = module.exports, module.exports.Hash = LazyHash;\n }\n}), require_legacy = __commonJS({\n \"node_modules/create-hmac/legacy.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, Base = require_cipher_base(), ZEROS = Buffer2.alloc(128), blocksize = 64;\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2)), this._alg = alg, this._key = key2, key2.length > blocksize \? key2 = alg(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = [ipad];\n }\n Hmac.prototype = {}, inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.push(data);\n }, Hmac.prototype._final = function() {\n var h = this._alg(Buffer2.concat(this._hash));\n return this._alg(Buffer2.concat([this._opad, h]));\n }, module.exports = Hmac;\n }\n}), require_md52 = __commonJS({\n \"node_modules/create-hash/md5.js\"(exports, module) {\n var MD5 = require_md5();\n module.exports = function(buffer) {\n return new MD5().update(buffer).digest();\n };\n }\n}), require_browser3 = __commonJS({\n \"node_modules/create-hmac/browser.js\"(exports, module) {\n var inherits = require_inherits_browser(), Legacy = require_legacy(), Base = require_cipher_base(), Buffer2 = require_safe_buffer().Buffer, md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), ZEROS = Buffer2.alloc(128);\n function Hmac(alg, key2) {\n key2 = exportIfKeyObject(key2), Base.@call(this, \"digest\"), typeof key2 == \"string\" && (key2 = Buffer2.from(key2));\n var blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n if (this._alg = alg, this._key = key2, key2.length > blocksize) {\n var hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg);\n key2 = hash.update(key2).digest();\n } else\n key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = this._ipad = Buffer2.allocUnsafe(blocksize), opad = this._opad = Buffer2.allocUnsafe(blocksize), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n this._hash = alg === \"rmd160\" \? new RIPEMD160 : sha(alg), this._hash.update(ipad);\n }\n inherits(Hmac, Base), Hmac.prototype._update = function(data) {\n this._hash.update(data);\n }, Hmac.prototype._final = function() {\n var h = this._hash.digest(), hash = this._alg === \"rmd160\" \? new RIPEMD160 : sha(this._alg);\n return hash.update(this._opad).update(h).digest();\n }, module.exports = function(alg, key2) {\n return key2 = exportIfKeyObject(key2), alg = alg.toLowerCase(), alg === \"rmd160\" || alg === \"ripemd160\" \? new Hmac(\"rmd160\", key2) : alg === \"md5\" \? new Legacy(md5, key2) : new Hmac(alg, key2);\n };\n }\n}), require_algorithms = __commonJS({\n \"node_modules/browserify-sign/browser/algorithms.json\"(exports, module) {\n module.exports = {\n sha224WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n \"RSA-SHA224\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"302d300d06096086480165030402040500041c\"\n },\n sha256WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n \"RSA-SHA256\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"3031300d060960864801650304020105000420\"\n },\n sha384WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n \"RSA-SHA384\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"3041300d060960864801650304020205000430\"\n },\n sha512WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA512\": {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA1\": {\n sign: \"rsa\",\n hash: \"sha1\",\n id: \"3021300906052b0e03021a05000414\"\n },\n \"ecdsa-with-SHA1\": {\n sign: \"ecdsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha1: {\n sign: \"ecdsa/rsa\",\n hash: \"sha1\",\n id: \"\"\n },\n sha256: {\n sign: \"ecdsa/rsa\",\n hash: \"sha256\",\n id: \"\"\n },\n sha224: {\n sign: \"ecdsa/rsa\",\n hash: \"sha224\",\n id: \"\"\n },\n sha384: {\n sign: \"ecdsa/rsa\",\n hash: \"sha384\",\n id: \"\"\n },\n sha512: {\n sign: \"ecdsa/rsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-SHA1\": {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n DSA: {\n sign: \"dsa\",\n hash: \"sha1\",\n id: \"\"\n },\n \"DSA-WITH-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-SHA224\": {\n sign: \"dsa\",\n hash: \"sha224\",\n id: \"\"\n },\n \"DSA-WITH-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-SHA256\": {\n sign: \"dsa\",\n hash: \"sha256\",\n id: \"\"\n },\n \"DSA-WITH-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-SHA384\": {\n sign: \"dsa\",\n hash: \"sha384\",\n id: \"\"\n },\n \"DSA-WITH-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-SHA512\": {\n sign: \"dsa\",\n hash: \"sha512\",\n id: \"\"\n },\n \"DSA-RIPEMD160\": {\n sign: \"dsa\",\n hash: \"rmd160\",\n id: \"\"\n },\n ripemd160WithRSA: {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n \"RSA-RIPEMD160\": {\n sign: \"rsa\",\n hash: \"rmd160\",\n id: \"3021300906052b2403020105000414\"\n },\n md5WithRSAEncryption: {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n },\n \"RSA-MD5\": {\n sign: \"rsa\",\n hash: \"md5\",\n id: \"3020300c06082a864886f70d020505000410\"\n }\n };\n }\n}), require_algos = __commonJS({\n \"node_modules/browserify-sign/algos.js\"(exports, module) {\n module.exports = require_algorithms();\n }\n}), require_precondition = __commonJS({\n \"node_modules/pbkdf2/lib/precondition.js\"(exports, module) {\n var MAX_ALLOC = Math.pow(2, 30) - 1;\n module.exports = function(iterations, keylen) {\n if (typeof iterations != \"number\")\n @throwTypeError(\"Iterations not a number\");\n if (iterations < 0)\n @throwTypeError(\"Bad iterations\");\n if (typeof keylen != \"number\")\n @throwTypeError(\"Key length not a number\");\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen)\n @throwTypeError(\"Bad key length\");\n };\n }\n}), require_default_encoding = __commonJS({\n \"node_modules/pbkdf2/lib/default-encoding.js\"(exports, module) {\n var defaultEncoding;\n global.process && global.process.browser \? defaultEncoding = \"utf-8\" : global.process && global.process.version \? (pVersionMajor = parseInt(process.version.split(\".\")[0].slice(1), 10), defaultEncoding = pVersionMajor >= 6 \? \"utf-8\" : \"binary\") : defaultEncoding = \"utf-8\";\n var pVersionMajor;\n module.exports = defaultEncoding;\n }\n}), require_to_buffer = __commonJS({\n \"node_modules/pbkdf2/lib/to-buffer.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(thing, encoding, name) {\n if (Buffer2.isBuffer(thing))\n return thing;\n if (typeof thing == \"string\")\n return Buffer2.from(thing, encoding);\n if (@ArrayBuffer.isView(thing))\n return Buffer2.from(thing.buffer);\n @throwTypeError(name + \" must be a string, a Buffer, a typed array or a DataView\");\n };\n }\n}), require_sync_browser = __commonJS({\n \"node_modules/pbkdf2/lib/sync-browser.js\"(exports, module) {\n var md5 = require_md52(), RIPEMD160 = require_ripemd160(), sha = require_sha2(), Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), toBuffer = require_to_buffer(), ZEROS = Buffer2.alloc(128), sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n };\n function Hmac(alg, key2, saltLen) {\n key2 = exportIfKeyObject(key2);\n var hash = getDigest(alg), blocksize = alg === \"sha512\" || alg === \"sha384\" \? 128 : 64;\n key2.length > blocksize \? key2 = hash(key2) : key2.length < blocksize && (key2 = Buffer2.concat([key2, ZEROS], blocksize));\n for (var ipad = Buffer2.allocUnsafe(blocksize + sizes[alg]), opad = Buffer2.allocUnsafe(blocksize + sizes[alg]), i = 0;i < blocksize; i++)\n ipad[i] = key2[i] ^ 54, opad[i] = key2[i] ^ 92;\n var ipad1 = Buffer2.allocUnsafe(blocksize + saltLen + 4);\n ipad.copy(ipad1, 0, 0, blocksize), this.ipad1 = ipad1, this.ipad2 = ipad, this.opad = opad, this.alg = alg, this.blocksize = blocksize, this.hash = hash, this.size = sizes[alg];\n }\n Hmac.prototype = {}, Hmac.prototype.run = function(data, ipad) {\n data.copy(ipad, this.blocksize);\n var h = this.hash(ipad);\n return h.copy(this.opad, this.blocksize), this.hash(this.opad);\n };\n function getDigest(alg) {\n function shaFunc(data) {\n return sha(alg).update(data).digest();\n }\n function rmd160Func(data) {\n return new RIPEMD160().update(data).digest();\n }\n return alg === \"rmd160\" || alg === \"ripemd160\" \? rmd160Func : alg === \"md5\" \? md5 : shaFunc;\n }\n function pbkdf2(password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), digest = digest || \"sha1\";\n var hmac = new Hmac(digest, password, salt.length), DK = Buffer2.allocUnsafe(keylen), block1 = Buffer2.allocUnsafe(salt.length + 4);\n salt.copy(block1, 0, 0, salt.length);\n for (var destPos = 0, hLen = sizes[digest], l = Math.ceil(keylen / hLen), i = 1;i <= l; i++) {\n block1.writeUInt32BE(i, salt.length);\n for (var T = hmac.run(block1, hmac.ipad1), U = T, j = 1;j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2);\n for (var k = 0;k < hLen; k++)\n T[k] ^= U[k];\n }\n T.copy(DK, destPos), destPos += hLen;\n }\n return DK;\n }\n module.exports = pbkdf2;\n }\n}), require_async = __commonJS({\n \"node_modules/pbkdf2/lib/async.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, checkParameters = require_precondition(), defaultEncoding = require_default_encoding(), sync = require_sync_browser(), toBuffer = require_to_buffer(), ZERO_BUF, subtle = globalCrypto.subtle, toBrowser = {\n sha: \"SHA-1\",\n \"sha-1\": \"SHA-1\",\n sha1: \"SHA-1\",\n sha256: \"SHA-256\",\n \"sha-256\": \"SHA-256\",\n sha384: \"SHA-384\",\n \"sha-384\": \"SHA-384\",\n \"sha-512\": \"SHA-512\",\n sha512: \"SHA-512\"\n }, checks = [];\n function checkNative(algo) {\n if (global.process && !global.process.browser || !subtle || !subtle.importKey || !subtle.deriveBits)\n return @Promise.resolve(!1);\n if (checks[algo] !== void 0)\n return checks[algo];\n ZERO_BUF = ZERO_BUF || Buffer2.alloc(8);\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo).then(function() {\n return !0;\n }).catch(function() {\n return !1;\n });\n return checks[algo] = prom, prom;\n }\n var nextTick;\n function getNextTick() {\n return nextTick || (global.process && global.process.nextTick \? nextTick = global.process.nextTick : global.queueMicrotask \? nextTick = global.queueMicrotask : global.setImmediate \? nextTick = global.setImmediate : nextTick = global.setTimeout, nextTick);\n }\n function browserPbkdf2(password, salt, iterations, length, algo) {\n return subtle.importKey(\"raw\", password, { name: \"PBKDF2\" }, !1, [\"deriveBits\"]).then(function(key2) {\n return subtle.deriveBits({\n name: \"PBKDF2\",\n salt,\n iterations,\n hash: {\n name: algo\n }\n }, key2, length << 3);\n }).then(function(res) {\n return Buffer2.from(res);\n });\n }\n function resolvePromise(promise, callback) {\n promise.then(function(out) {\n getNextTick()(function() {\n callback(null, out);\n });\n }, function(e) {\n getNextTick()(function() {\n callback(e);\n });\n });\n }\n module.exports = function(password, salt, iterations, keylen, digest, callback) {\n typeof digest == \"function\" && (callback = digest, digest = void 0), digest = digest || \"sha1\";\n var algo = toBrowser[digest.toLowerCase()];\n if (!algo || typeof global.Promise != \"function\") {\n getNextTick()(function() {\n var out;\n try {\n out = sync(password, salt, iterations, keylen, digest);\n } catch (e) {\n return callback(e);\n }\n callback(null, out);\n });\n return;\n }\n if (checkParameters(iterations, keylen), password = toBuffer(password, defaultEncoding, \"Password\"), salt = toBuffer(salt, defaultEncoding, \"Salt\"), typeof callback != \"function\")\n throw new Error(\"No callback provided to pbkdf2\");\n resolvePromise(checkNative(algo).then(function(resp) {\n return resp \? browserPbkdf2(password, salt, iterations, keylen, algo) : sync(password, salt, iterations, keylen, digest);\n }), callback);\n };\n }\n}), require_browser4 = __commonJS({\n \"node_modules/pbkdf2/browser.js\"(exports) {\n exports.pbkdf2 = require_async(), exports.pbkdf2Sync = require_sync_browser();\n }\n}), require_utils = __commonJS({\n \"node_modules/des.js/lib/des/utils.js\"(exports) {\n exports.readUInt32BE = function(bytes, off) {\n var res = bytes[0 + off] << 24 | bytes[1 + off] << 16 | bytes[2 + off] << 8 | bytes[3 + off];\n return res >>> 0;\n }, exports.writeUInt32BE = function(bytes, value, off) {\n bytes[0 + off] = value >>> 24, bytes[1 + off] = value >>> 16 & 255, bytes[2 + off] = value >>> 8 & 255, bytes[3 + off] = value & 255;\n }, exports.ip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 6;i >= 0; i -= 2) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >>> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >>> j + i & 1;\n }\n for (var i = 6;i >= 0; i -= 2) {\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inR >>> j + i & 1;\n for (var j = 1;j <= 25; j += 8)\n outR <<= 1, outR |= inL >>> j + i & 1;\n }\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.rip = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 0;i < 4; i++)\n for (var j = 24;j >= 0; j -= 8)\n outL <<= 1, outL |= inR >>> j + i & 1, outL <<= 1, outL |= inL >>> j + i & 1;\n for (var i = 4;i < 8; i++)\n for (var j = 24;j >= 0; j -= 8)\n outR <<= 1, outR |= inR >>> j + i & 1, outR <<= 1, outR |= inL >>> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.pc1 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, i = 7;i >= 5; i--) {\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outL <<= 1, outL |= inR >> j + i & 1;\n for (var i = 1;i <= 3; i++) {\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inR >> j + i & 1;\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n }\n for (var j = 0;j <= 24; j += 8)\n outR <<= 1, outR |= inL >> j + i & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.r28shl = function(num, shift) {\n return num << shift & 268435455 | num >>> 28 - shift;\n };\n var pc2table = [\n 14,\n 11,\n 17,\n 4,\n 27,\n 23,\n 25,\n 0,\n 13,\n 22,\n 7,\n 18,\n 5,\n 9,\n 16,\n 24,\n 2,\n 20,\n 12,\n 21,\n 1,\n 8,\n 15,\n 26,\n 15,\n 4,\n 25,\n 19,\n 9,\n 1,\n 26,\n 16,\n 5,\n 11,\n 23,\n 8,\n 12,\n 7,\n 17,\n 0,\n 22,\n 3,\n 10,\n 14,\n 6,\n 20,\n 27,\n 24\n ];\n exports.pc2 = function(inL, inR, out, off) {\n for (var outL = 0, outR = 0, len = pc2table.length >>> 1, i = 0;i < len; i++)\n outL <<= 1, outL |= inL >>> pc2table[i] & 1;\n for (var i = len;i < pc2table.length; i++)\n outR <<= 1, outR |= inR >>> pc2table[i] & 1;\n out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n }, exports.expand = function(r, out, off) {\n var outL = 0, outR = 0;\n outL = (r & 1) << 5 | r >>> 27;\n for (var i = 23;i >= 15; i -= 4)\n outL <<= 6, outL |= r >>> i & 63;\n for (var i = 11;i >= 3; i -= 4)\n outR |= r >>> i & 63, outR <<= 6;\n outR |= (r & 31) << 1 | r >>> 31, out[off + 0] = outL >>> 0, out[off + 1] = outR >>> 0;\n };\n var sTable = [\n 14,\n 0,\n 4,\n 15,\n 13,\n 7,\n 1,\n 4,\n 2,\n 14,\n 15,\n 2,\n 11,\n 13,\n 8,\n 1,\n 3,\n 10,\n 10,\n 6,\n 6,\n 12,\n 12,\n 11,\n 5,\n 9,\n 9,\n 5,\n 0,\n 3,\n 7,\n 8,\n 4,\n 15,\n 1,\n 12,\n 14,\n 8,\n 8,\n 2,\n 13,\n 4,\n 6,\n 9,\n 2,\n 1,\n 11,\n 7,\n 15,\n 5,\n 12,\n 11,\n 9,\n 3,\n 7,\n 14,\n 3,\n 10,\n 10,\n 0,\n 5,\n 6,\n 0,\n 13,\n 15,\n 3,\n 1,\n 13,\n 8,\n 4,\n 14,\n 7,\n 6,\n 15,\n 11,\n 2,\n 3,\n 8,\n 4,\n 14,\n 9,\n 12,\n 7,\n 0,\n 2,\n 1,\n 13,\n 10,\n 12,\n 6,\n 0,\n 9,\n 5,\n 11,\n 10,\n 5,\n 0,\n 13,\n 14,\n 8,\n 7,\n 10,\n 11,\n 1,\n 10,\n 3,\n 4,\n 15,\n 13,\n 4,\n 1,\n 2,\n 5,\n 11,\n 8,\n 6,\n 12,\n 7,\n 6,\n 12,\n 9,\n 0,\n 3,\n 5,\n 2,\n 14,\n 15,\n 9,\n 10,\n 13,\n 0,\n 7,\n 9,\n 0,\n 14,\n 9,\n 6,\n 3,\n 3,\n 4,\n 15,\n 6,\n 5,\n 10,\n 1,\n 2,\n 13,\n 8,\n 12,\n 5,\n 7,\n 14,\n 11,\n 12,\n 4,\n 11,\n 2,\n 15,\n 8,\n 1,\n 13,\n 1,\n 6,\n 10,\n 4,\n 13,\n 9,\n 0,\n 8,\n 6,\n 15,\n 9,\n 3,\n 8,\n 0,\n 7,\n 11,\n 4,\n 1,\n 15,\n 2,\n 14,\n 12,\n 3,\n 5,\n 11,\n 10,\n 5,\n 14,\n 2,\n 7,\n 12,\n 7,\n 13,\n 13,\n 8,\n 14,\n 11,\n 3,\n 5,\n 0,\n 6,\n 6,\n 15,\n 9,\n 0,\n 10,\n 3,\n 1,\n 4,\n 2,\n 7,\n 8,\n 2,\n 5,\n 12,\n 11,\n 1,\n 12,\n 10,\n 4,\n 14,\n 15,\n 9,\n 10,\n 3,\n 6,\n 15,\n 9,\n 0,\n 0,\n 6,\n 12,\n 10,\n 11,\n 1,\n 7,\n 13,\n 13,\n 8,\n 15,\n 9,\n 1,\n 4,\n 3,\n 5,\n 14,\n 11,\n 5,\n 12,\n 2,\n 7,\n 8,\n 2,\n 4,\n 14,\n 2,\n 14,\n 12,\n 11,\n 4,\n 2,\n 1,\n 12,\n 7,\n 4,\n 10,\n 7,\n 11,\n 13,\n 6,\n 1,\n 8,\n 5,\n 5,\n 0,\n 3,\n 15,\n 15,\n 10,\n 13,\n 3,\n 0,\n 9,\n 14,\n 8,\n 9,\n 6,\n 4,\n 11,\n 2,\n 8,\n 1,\n 12,\n 11,\n 7,\n 10,\n 1,\n 13,\n 14,\n 7,\n 2,\n 8,\n 13,\n 15,\n 6,\n 9,\n 15,\n 12,\n 0,\n 5,\n 9,\n 6,\n 10,\n 3,\n 4,\n 0,\n 5,\n 14,\n 3,\n 12,\n 10,\n 1,\n 15,\n 10,\n 4,\n 15,\n 2,\n 9,\n 7,\n 2,\n 12,\n 6,\n 9,\n 8,\n 5,\n 0,\n 6,\n 13,\n 1,\n 3,\n 13,\n 4,\n 14,\n 14,\n 0,\n 7,\n 11,\n 5,\n 3,\n 11,\n 8,\n 9,\n 4,\n 14,\n 3,\n 15,\n 2,\n 5,\n 12,\n 2,\n 9,\n 8,\n 5,\n 12,\n 15,\n 3,\n 10,\n 7,\n 11,\n 0,\n 14,\n 4,\n 1,\n 10,\n 7,\n 1,\n 6,\n 13,\n 0,\n 11,\n 8,\n 6,\n 13,\n 4,\n 13,\n 11,\n 0,\n 2,\n 11,\n 14,\n 7,\n 15,\n 4,\n 0,\n 9,\n 8,\n 1,\n 13,\n 10,\n 3,\n 14,\n 12,\n 3,\n 9,\n 5,\n 7,\n 12,\n 5,\n 2,\n 10,\n 15,\n 6,\n 8,\n 1,\n 6,\n 1,\n 6,\n 4,\n 11,\n 11,\n 13,\n 13,\n 8,\n 12,\n 1,\n 3,\n 4,\n 7,\n 10,\n 14,\n 7,\n 10,\n 9,\n 15,\n 5,\n 6,\n 0,\n 8,\n 15,\n 0,\n 14,\n 5,\n 2,\n 9,\n 3,\n 2,\n 12,\n 13,\n 1,\n 2,\n 15,\n 8,\n 13,\n 4,\n 8,\n 6,\n 10,\n 15,\n 3,\n 11,\n 7,\n 1,\n 4,\n 10,\n 12,\n 9,\n 5,\n 3,\n 6,\n 14,\n 11,\n 5,\n 0,\n 0,\n 14,\n 12,\n 9,\n 7,\n 2,\n 7,\n 2,\n 11,\n 1,\n 4,\n 14,\n 1,\n 7,\n 9,\n 4,\n 12,\n 10,\n 14,\n 8,\n 2,\n 13,\n 0,\n 15,\n 6,\n 12,\n 10,\n 9,\n 13,\n 0,\n 15,\n 3,\n 3,\n 5,\n 5,\n 6,\n 8,\n 11\n ];\n exports.substitute = function(inL, inR) {\n for (var out = 0, i = 0;i < 4; i++) {\n var b = inL >>> 18 - i * 6 & 63, sb = sTable[i * 64 + b];\n out <<= 4, out |= sb;\n }\n for (var i = 0;i < 4; i++) {\n var b = inR >>> 18 - i * 6 & 63, sb = sTable[256 + i * 64 + b];\n out <<= 4, out |= sb;\n }\n return out >>> 0;\n };\n var permuteTable = [\n 16,\n 25,\n 12,\n 11,\n 3,\n 20,\n 4,\n 15,\n 31,\n 17,\n 9,\n 6,\n 27,\n 14,\n 1,\n 22,\n 30,\n 24,\n 8,\n 18,\n 0,\n 5,\n 29,\n 23,\n 13,\n 19,\n 2,\n 26,\n 10,\n 21,\n 28,\n 7\n ];\n exports.permute = function(num) {\n for (var out = 0, i = 0;i < permuteTable.length; i++)\n out <<= 1, out |= num >>> permuteTable[i] & 1;\n return out >>> 0;\n }, exports.padSplit = function(num, size, group) {\n for (var str = num.toString(2);str.length < size; )\n str = \"0\" + str;\n for (var out = [], i = 0;i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(\" \");\n };\n }\n}), require_minimalistic_assert = __commonJS({\n \"node_modules/minimalistic-assert/index.js\"(exports, module) {\n module.exports = assert;\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n assert.equal = function(l, r, msg) {\n if (l != r)\n throw new Error(msg || \"Assertion failed: \" + l + \" != \" + r);\n };\n }\n}), require_cipher = __commonJS({\n \"node_modules/des.js/lib/des/cipher.js\"(exports, module) {\n var assert = require_minimalistic_assert();\n function Cipher(options) {\n this.options = options, this.type = this.options.type, this.blockSize = 8, this._init(), this.buffer = new @Array(this.blockSize), this.bufferOff = 0;\n }\n Cipher.prototype = {}, module.exports = Cipher, Cipher.prototype._init = function() {\n }, Cipher.prototype.update = function(data) {\n return data.length === 0 \? [] : this.type === \"decrypt\" \? this._updateDecrypt(data) : this._updateEncrypt(data);\n }, Cipher.prototype._buffer = function(data, off) {\n for (var min = Math.min(this.buffer.length - this.bufferOff, data.length - off), i = 0;i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n return this.bufferOff += min, min;\n }, Cipher.prototype._flushBuffer = function(out, off) {\n return this._update(this.buffer, 0, out, off), this.bufferOff = 0, this.blockSize;\n }, Cipher.prototype._updateEncrypt = function(data) {\n var inputOff = 0, outputOff = 0, count = (this.bufferOff + data.length) / this.blockSize | 0, out = new @Array(count * this.blockSize);\n this.bufferOff !== 0 && (inputOff += this._buffer(data, inputOff), this.bufferOff === this.buffer.length && (outputOff += this._flushBuffer(out, outputOff)));\n for (var max = data.length - (data.length - inputOff) % this.blockSize;inputOff < max; inputOff += this.blockSize)\n this._update(data, inputOff, out, outputOff), outputOff += this.blockSize;\n for (;inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n return out;\n }, Cipher.prototype._updateDecrypt = function(data) {\n for (var inputOff = 0, outputOff = 0, count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1, out = new @Array(count * this.blockSize);count > 0; count--)\n inputOff += this._buffer(data, inputOff), outputOff += this._flushBuffer(out, outputOff);\n return inputOff += this._buffer(data, inputOff), out;\n }, Cipher.prototype.final = function(buffer) {\n var first;\n buffer && (first = this.update(buffer));\n var last;\n return this.type === \"encrypt\" \? last = this._finalEncrypt() : last = this._finalDecrypt(), first \? first.concat(last) : last;\n }, Cipher.prototype._pad = function(buffer, off) {\n if (off === 0)\n return !1;\n for (;off < buffer.length; )\n buffer[off++] = 0;\n return !0;\n }, Cipher.prototype._finalEncrypt = function() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n var out = new @Array(this.blockSize);\n return this._update(this.buffer, 0, out, 0), out;\n }, Cipher.prototype._unpad = function(buffer) {\n return buffer;\n }, Cipher.prototype._finalDecrypt = function() {\n assert.equal(this.bufferOff, this.blockSize, \"Not enough data to decrypt\");\n var out = new @Array(this.blockSize);\n return this._flushBuffer(out, 0), this._unpad(out);\n };\n }\n}), require_des = __commonJS({\n \"node_modules/des.js/lib/des/des.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), utils = require_utils(), Cipher = require_cipher();\n function DESState() {\n this.tmp = new @Array(2), this.keys = null;\n }\n function DES(options) {\n Cipher.@call(this, options);\n var state = new DESState;\n this._desState = state, this.deriveKeys(state, options.key);\n }\n inherits(DES, Cipher), module.exports = DES, DES.create = function(options) {\n return new DES(options);\n };\n var shiftTable = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];\n DES.prototype.deriveKeys = function(state, key2) {\n state.keys = new @Array(32), assert.equal(key2.length, this.blockSize, \"Invalid key length\");\n var kL = utils.readUInt32BE(key2, 0), kR = utils.readUInt32BE(key2, 4);\n utils.pc1(kL, kR, state.tmp, 0), kL = state.tmp[0], kR = state.tmp[1];\n for (var i = 0;i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift), kR = utils.r28shl(kR, shift), utils.pc2(kL, kR, state.keys, i);\n }\n }, DES.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._desState, l = utils.readUInt32BE(inp, inOff), r = utils.readUInt32BE(inp, inOff + 4);\n utils.ip(l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], this.type === \"encrypt\" \? this._encrypt(state, l, r, state.tmp, 0) : this._decrypt(state, l, r, state.tmp, 0), l = state.tmp[0], r = state.tmp[1], utils.writeUInt32BE(out, l, outOff), utils.writeUInt32BE(out, r, outOff + 4);\n }, DES.prototype._pad = function(buffer, off) {\n for (var value = buffer.length - off, i = off;i < buffer.length; i++)\n buffer[i] = value;\n return !0;\n }, DES.prototype._unpad = function(buffer) {\n for (var pad = buffer[buffer.length - 1], i = buffer.length - pad;i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n return buffer.slice(0, buffer.length - pad);\n }, DES.prototype._encrypt = function(state, lStart, rStart, out, off) {\n for (var l = lStart, r = rStart, i = 0;i < state.keys.length; i += 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(r, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = r;\n r = (l ^ f) >>> 0, l = t;\n }\n utils.rip(r, l, out, off);\n }, DES.prototype._decrypt = function(state, lStart, rStart, out, off) {\n for (var l = rStart, r = lStart, i = state.keys.length - 2;i >= 0; i -= 2) {\n var keyL = state.keys[i], keyR = state.keys[i + 1];\n utils.expand(l, state.tmp, 0), keyL ^= state.tmp[0], keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR), f = utils.permute(s), t = l;\n l = (r ^ f) >>> 0, r = t;\n }\n utils.rip(l, r, out, off);\n };\n }\n}), require_cbc = __commonJS({\n \"node_modules/des.js/lib/des/cbc.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), proto = {};\n function CBCState(iv) {\n assert.equal(iv.length, 8, \"Invalid IV length\"), this.iv = new @Array(8);\n for (var i = 0;i < this.iv.length; i++)\n this.iv[i] = iv[i];\n }\n function instantiate(Base) {\n function CBC(options) {\n Base.@call(this, options), this._cbcInit();\n }\n inherits(CBC, Base);\n for (var keys = Object.keys(proto), i = 0;i < keys.length; i++) {\n var key2 = keys[i];\n CBC.prototype[key2] = proto[key2];\n }\n return CBC.create = function(options) {\n return new CBC(options);\n }, CBC;\n }\n exports.instantiate = instantiate, proto._cbcInit = function() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n }, proto._update = function(inp, inOff, out, outOff) {\n var state = this._cbcState, superProto = this.constructor.super_.prototype, iv = state.iv;\n if (this.type === \"encrypt\") {\n for (var i = 0;i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n superProto._update.@call(this, iv, 0, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.@call(this, inp, inOff, out, outOff);\n for (var i = 0;i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n for (var i = 0;i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n };\n }\n}), require_ede = __commonJS({\n \"node_modules/des.js/lib/des/ede.js\"(exports, module) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser(), Cipher = require_cipher(), DES = require_des();\n function EDEState(type, key2) {\n assert.equal(key2.length, 24, \"Invalid key length\");\n var k1 = key2.slice(0, 8), k2 = key2.slice(8, 16), k3 = key2.slice(16, 24);\n type === \"encrypt\" \? this.ciphers = [\n DES.create({ type: \"encrypt\", key: k1 }),\n DES.create({ type: \"decrypt\", key: k2 }),\n DES.create({ type: \"encrypt\", key: k3 })\n ] : this.ciphers = [\n DES.create({ type: \"decrypt\", key: k3 }),\n DES.create({ type: \"encrypt\", key: k2 }),\n DES.create({ type: \"decrypt\", key: k1 })\n ];\n }\n function EDE(options) {\n Cipher.@call(this, options);\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n }\n inherits(EDE, Cipher), module.exports = EDE, EDE.create = function(options) {\n return new EDE(options);\n }, EDE.prototype._update = function(inp, inOff, out, outOff) {\n var state = this._edeState;\n state.ciphers[0]._update(inp, inOff, out, outOff), state.ciphers[1]._update(out, outOff, out, outOff), state.ciphers[2]._update(out, outOff, out, outOff);\n }, EDE.prototype._pad = DES.prototype._pad, EDE.prototype._unpad = DES.prototype._unpad;\n }\n}), require_des2 = __commonJS({\n \"node_modules/des.js/lib/des.js\"(exports) {\n exports.utils = require_utils(), exports.Cipher = require_cipher(), exports.DES = require_des(), exports.CBC = require_cbc(), exports.EDE = require_ede();\n }\n}), require_browserify_des = __commonJS({\n \"node_modules/browserify-des/index.js\"(exports, module) {\n var CipherBase = require_cipher_base(), des = require_des2(), inherits = require_inherits_browser(), Buffer2 = require_safe_buffer().Buffer, modes = {\n \"des-ede3-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede3\": des.EDE,\n \"des-ede-cbc\": des.CBC.instantiate(des.EDE),\n \"des-ede\": des.EDE,\n \"des-cbc\": des.CBC.instantiate(des.DES),\n \"des-ecb\": des.DES\n };\n modes.des = modes[\"des-cbc\"], modes.des3 = modes[\"des-ede3-cbc\"], module.exports = DES, inherits(DES, CipherBase);\n function DES(opts) {\n CipherBase.@call(this);\n var modeName = opts.mode.toLowerCase(), mode = modes[modeName], type;\n opts.decrypt \? type = \"decrypt\" : type = \"encrypt\";\n var key2 = opts.key;\n Buffer2.isBuffer(key2) || (key2 = Buffer2.from(key2)), (modeName === \"des-ede\" || modeName === \"des-ede-cbc\") && (key2 = Buffer2.concat([key2, key2.slice(0, 8)]));\n var iv = opts.iv;\n Buffer2.isBuffer(iv) || (iv = Buffer2.from(iv)), this._des = mode.create({\n key: key2,\n iv,\n type\n });\n }\n DES.prototype._update = function(data) {\n return Buffer2.from(this._des.update(data));\n }, DES.prototype._final = function() {\n return Buffer2.from(this._des.final());\n };\n }\n}), require_ecb = __commonJS({\n \"node_modules/browserify-aes/modes/ecb.js\"(exports) {\n exports.encrypt = function(self2, block) {\n return self2._cipher.encryptBlock(block);\n }, exports.decrypt = function(self2, block) {\n return self2._cipher.decryptBlock(block);\n };\n }\n}), require_buffer_xor = __commonJS({\n \"node_modules/buffer-xor/index.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var length = Math.min(a.length, b.length), buffer = new Buffer(length), i = 0;i < length; ++i)\n buffer[i] = a[i] ^ b[i];\n return buffer;\n };\n }\n}), require_cbc2 = __commonJS({\n \"node_modules/browserify-aes/modes/cbc.js\"(exports) {\n var xor = require_buffer_xor();\n exports.encrypt = function(self2, block) {\n var data = xor(block, self2._prev);\n return self2._prev = self2._cipher.encryptBlock(data), self2._prev;\n }, exports.decrypt = function(self2, block) {\n var pad = self2._prev;\n self2._prev = block;\n var out = self2._cipher.decryptBlock(block);\n return xor(out, pad);\n };\n }\n}), require_cfb = __commonJS({\n \"node_modules/browserify-aes/modes/cfb.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer, xor = require_buffer_xor();\n function encryptStart(self2, data, decrypt) {\n var len = data.length, out = xor(data, self2._cache);\n return self2._cache = self2._cache.slice(len), self2._prev = Buffer2.concat([self2._prev, decrypt \? data : out]), out;\n }\n exports.encrypt = function(self2, data, decrypt) {\n for (var out = Buffer2.allocUnsafe(0), len;data.length; )\n if (self2._cache.length === 0 && (self2._cache = self2._cipher.encryptBlock(self2._prev), self2._prev = Buffer2.allocUnsafe(0)), self2._cache.length <= data.length)\n len = self2._cache.length, out = Buffer2.concat([out, encryptStart(self2, data.slice(0, len), decrypt)]), data = data.slice(len);\n else {\n out = Buffer2.concat([out, encryptStart(self2, data, decrypt)]);\n break;\n }\n return out;\n };\n }\n}), require_cfb8 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb8.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n var pad = self2._cipher.encryptBlock(self2._prev), out = pad[0] ^ byteParam;\n return self2._prev = Buffer2.concat([self2._prev.slice(1), Buffer2.from([decrypt \? byteParam : out])]), out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_cfb1 = __commonJS({\n \"node_modules/browserify-aes/modes/cfb1.js\"(exports) {\n var Buffer2 = require_safe_buffer().Buffer;\n function encryptByte(self2, byteParam, decrypt) {\n for (var pad, i = -1, len = 8, out = 0, bit, value;++i < len; )\n pad = self2._cipher.encryptBlock(self2._prev), bit = byteParam & 1 << 7 - i \? 128 : 0, value = pad[0] ^ bit, out += (value & 128) >> i % 8, self2._prev = shiftIn(self2._prev, decrypt \? bit : value);\n return out;\n }\n function shiftIn(buffer, value) {\n var len = buffer.length, i = -1, out = Buffer2.allocUnsafe(buffer.length);\n for (buffer = Buffer2.concat([buffer, Buffer2.from([value])]);++i < len; )\n out[i] = buffer[i] << 1 | buffer[i + 1] >> 7;\n return out;\n }\n exports.encrypt = function(self2, chunk, decrypt) {\n for (var len = chunk.length, out = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n out[i] = encryptByte(self2, chunk[i], decrypt);\n return out;\n };\n }\n}), require_ofb = __commonJS({\n \"node_modules/browserify-aes/modes/ofb.js\"(exports) {\n var xor = require_buffer_xor();\n function getBlock(self2) {\n return self2._prev = self2._cipher.encryptBlock(self2._prev), self2._prev;\n }\n exports.encrypt = function(self2, chunk) {\n for (;self2._cache.length < chunk.length; )\n self2._cache = Buffer.concat([self2._cache, getBlock(self2)]);\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_incr32 = __commonJS({\n \"node_modules/browserify-aes/incr32.js\"(exports, module) {\n function incr32(iv) {\n for (var len = iv.length, item;len--; )\n if (item = iv.readUInt8(len), item === 255)\n iv.writeUInt8(0, len);\n else {\n item++, iv.writeUInt8(item, len);\n break;\n }\n }\n module.exports = incr32;\n }\n}), require_ctr = __commonJS({\n \"node_modules/browserify-aes/modes/ctr.js\"(exports) {\n var xor = require_buffer_xor(), Buffer2 = require_safe_buffer().Buffer, incr32 = require_incr32();\n function getBlock(self2) {\n var out = self2._cipher.encryptBlockRaw(self2._prev);\n return incr32(self2._prev), out;\n }\n var blockSize = 16;\n exports.encrypt = function(self2, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize), start = self2._cache.length;\n self2._cache = Buffer2.concat([self2._cache, Buffer2.allocUnsafe(chunkNum * blockSize)]);\n for (var i = 0;i < chunkNum; i++) {\n var out = getBlock(self2), offset = start + i * blockSize;\n self2._cache.writeUInt32BE(out[0], offset + 0), self2._cache.writeUInt32BE(out[1], offset + 4), self2._cache.writeUInt32BE(out[2], offset + 8), self2._cache.writeUInt32BE(out[3], offset + 12);\n }\n var pad = self2._cache.slice(0, chunk.length);\n return self2._cache = self2._cache.slice(chunk.length), xor(chunk, pad);\n };\n }\n}), require_list = __commonJS({\n \"node_modules/browserify-aes/modes/list.json\"(exports, module) {\n module.exports = {\n \"aes-128-ecb\": {\n cipher: \"AES\",\n key: 128,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-192-ecb\": {\n cipher: \"AES\",\n key: 192,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-256-ecb\": {\n cipher: \"AES\",\n key: 256,\n iv: 0,\n mode: \"ECB\",\n type: \"block\"\n },\n \"aes-128-cbc\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-192-cbc\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-256-cbc\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes128: {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes192: {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n aes256: {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CBC\",\n type: \"block\"\n },\n \"aes-128-cfb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-192-cfb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-256-cfb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB\",\n type: \"stream\"\n },\n \"aes-128-cfb8\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-192-cfb8\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-256-cfb8\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB8\",\n type: \"stream\"\n },\n \"aes-128-cfb1\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-192-cfb1\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-256-cfb1\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CFB1\",\n type: \"stream\"\n },\n \"aes-128-ofb\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-192-ofb\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-256-ofb\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"OFB\",\n type: \"stream\"\n },\n \"aes-128-ctr\": {\n cipher: \"AES\",\n key: 128,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-192-ctr\": {\n cipher: \"AES\",\n key: 192,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-256-ctr\": {\n cipher: \"AES\",\n key: 256,\n iv: 16,\n mode: \"CTR\",\n type: \"stream\"\n },\n \"aes-128-gcm\": {\n cipher: \"AES\",\n key: 128,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-192-gcm\": {\n cipher: \"AES\",\n key: 192,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n },\n \"aes-256-gcm\": {\n cipher: \"AES\",\n key: 256,\n iv: 12,\n mode: \"GCM\",\n type: \"auth\"\n }\n };\n }\n}), require_modes = __commonJS({\n \"node_modules/browserify-aes/modes/index.js\"(exports, module) {\n var modeModules = {\n ECB: require_ecb(),\n CBC: require_cbc2(),\n CFB: require_cfb(),\n CFB8: require_cfb8(),\n CFB1: require_cfb1(),\n OFB: require_ofb(),\n CTR: require_ctr(),\n GCM: require_ctr()\n }, modes = require_list();\n for (key2 in modes)\n modes[key2].module = modeModules[modes[key2].mode];\n var key2;\n module.exports = modes;\n }\n}), require_aes = __commonJS({\n \"node_modules/browserify-aes/aes.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer;\n function asUInt32Array(buf) {\n if (buf instanceof KeyObject)\n buf = buf.export();\n else if (buf instanceof CryptoKey)\n buf = KeyObject.from(buf).export();\n Buffer2.isBuffer(buf) || (buf = Buffer2.from(buf));\n for (var len = buf.length / 4 | 0, out = new @Array(len), i = 0;i < len; i++)\n out[i] = buf.readUInt32BE(i * 4);\n return out;\n }\n function scrubVec(v) {\n for (var i = 0;i < v.length; v++)\n v[i] = 0;\n }\n function cryptBlock(M, keySchedule, SUB_MIX, SBOX, nRounds) {\n for (var SUB_MIX0 = SUB_MIX[0], SUB_MIX1 = SUB_MIX[1], SUB_MIX2 = SUB_MIX[2], SUB_MIX3 = SUB_MIX[3], s0 = M[0] ^ keySchedule[0], s1 = M[1] ^ keySchedule[1], s2 = M[2] ^ keySchedule[2], s3 = M[3] ^ keySchedule[3], t0, t1, t2, t3, ksRow = 4, round = 1;round < nRounds; round++)\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[s1 >>> 16 & 255] ^ SUB_MIX2[s2 >>> 8 & 255] ^ SUB_MIX3[s3 & 255] ^ keySchedule[ksRow++], t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[s2 >>> 16 & 255] ^ SUB_MIX2[s3 >>> 8 & 255] ^ SUB_MIX3[s0 & 255] ^ keySchedule[ksRow++], t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[s3 >>> 16 & 255] ^ SUB_MIX2[s0 >>> 8 & 255] ^ SUB_MIX3[s1 & 255] ^ keySchedule[ksRow++], t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[s0 >>> 16 & 255] ^ SUB_MIX2[s1 >>> 8 & 255] ^ SUB_MIX3[s2 & 255] ^ keySchedule[ksRow++], s0 = t0, s1 = t1, s2 = t2, s3 = t3;\n return t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 255] << 16 | SBOX[s2 >>> 8 & 255] << 8 | SBOX[s3 & 255]) ^ keySchedule[ksRow++], t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 255] << 16 | SBOX[s3 >>> 8 & 255] << 8 | SBOX[s0 & 255]) ^ keySchedule[ksRow++], t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 255] << 16 | SBOX[s0 >>> 8 & 255] << 8 | SBOX[s1 & 255]) ^ keySchedule[ksRow++], t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 255] << 16 | SBOX[s1 >>> 8 & 255] << 8 | SBOX[s2 & 255]) ^ keySchedule[ksRow++], t0 = t0 >>> 0, t1 = t1 >>> 0, t2 = t2 >>> 0, t3 = t3 >>> 0, [t0, t1, t2, t3];\n }\n var RCON = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], G = function() {\n for (var d = new @Array(256), j = 0;j < 256; j++)\n j < 128 \? d[j] = j << 1 : d[j] = j << 1 ^ 283;\n for (var SBOX = [], INV_SBOX = [], SUB_MIX = [[], [], [], []], INV_SUB_MIX = [[], [], [], []], x = 0, xi = 0, i = 0;i < 256; ++i) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 255 ^ 99, SBOX[x] = sx, INV_SBOX[sx] = x;\n var x2 = d[x], x4 = d[x2], x8 = d[x4], t = d[sx] * 257 ^ sx * 16843008;\n SUB_MIX[0][x] = t << 24 | t >>> 8, SUB_MIX[1][x] = t << 16 | t >>> 16, SUB_MIX[2][x] = t << 8 | t >>> 24, SUB_MIX[3][x] = t, t = x8 * 16843009 ^ x4 * 65537 ^ x2 * 257 ^ x * 16843008, INV_SUB_MIX[0][sx] = t << 24 | t >>> 8, INV_SUB_MIX[1][sx] = t << 16 | t >>> 16, INV_SUB_MIX[2][sx] = t << 8 | t >>> 24, INV_SUB_MIX[3][sx] = t, x === 0 \? x = xi = 1 : (x = x2 ^ d[d[d[x8 ^ x2]]], xi ^= d[d[xi]]);\n }\n return {\n SBOX,\n INV_SBOX,\n SUB_MIX,\n INV_SUB_MIX\n };\n }();\n function AES(key2) {\n this._key = asUInt32Array(key2), this._reset();\n }\n AES.prototype = {}, AES.blockSize = 16, AES.keySize = 32, AES.prototype.blockSize = AES.blockSize, AES.prototype.keySize = AES.keySize, AES.prototype._reset = function() {\n for (var keyWords = this._key, keySize = keyWords.length, nRounds = keySize + 6, ksRows = (nRounds + 1) * 4, keySchedule = [], k = 0;k < keySize; k++)\n keySchedule[k] = keyWords[k];\n for (k = keySize;k < ksRows; k++) {\n var t = keySchedule[k - 1];\n k % keySize === 0 \? (t = t << 8 | t >>> 24, t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255], t ^= RCON[k / keySize | 0] << 24) : keySize > 6 && k % keySize === 4 && (t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 255] << 16 | G.SBOX[t >>> 8 & 255] << 8 | G.SBOX[t & 255]), keySchedule[k] = keySchedule[k - keySize] ^ t;\n }\n for (var invKeySchedule = [], ik = 0;ik < ksRows; ik++) {\n var ksR = ksRows - ik, tt = keySchedule[ksR - (ik % 4 \? 0 : 4)];\n ik < 4 || ksR <= 4 \? invKeySchedule[ik] = tt : invKeySchedule[ik] = G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[tt >>> 16 & 255]] ^ G.INV_SUB_MIX[2][G.SBOX[tt >>> 8 & 255]] ^ G.INV_SUB_MIX[3][G.SBOX[tt & 255]];\n }\n this._nRounds = nRounds, this._keySchedule = keySchedule, this._invKeySchedule = invKeySchedule;\n }, AES.prototype.encryptBlockRaw = function(M) {\n return M = asUInt32Array(M), cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds);\n }, AES.prototype.encryptBlock = function(M) {\n var out = this.encryptBlockRaw(M), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[1], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[3], 12), buf;\n }, AES.prototype.decryptBlock = function(M) {\n M = asUInt32Array(M);\n var m1 = M[1];\n M[1] = M[3], M[3] = m1;\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds), buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0], 0), buf.writeUInt32BE(out[3], 4), buf.writeUInt32BE(out[2], 8), buf.writeUInt32BE(out[1], 12), buf;\n }, AES.prototype.scrub = function() {\n scrubVec(this._keySchedule), scrubVec(this._invKeySchedule), scrubVec(this._key);\n }, module.exports.AES = AES;\n }\n}), require_ghash = __commonJS({\n \"node_modules/browserify-aes/ghash.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, ZEROES = Buffer2.alloc(16, 0);\n function toArray(buf) {\n return [buf.readUInt32BE(0), buf.readUInt32BE(4), buf.readUInt32BE(8), buf.readUInt32BE(12)];\n }\n function fromArray(out) {\n var buf = Buffer2.allocUnsafe(16);\n return buf.writeUInt32BE(out[0] >>> 0, 0), buf.writeUInt32BE(out[1] >>> 0, 4), buf.writeUInt32BE(out[2] >>> 0, 8), buf.writeUInt32BE(out[3] >>> 0, 12), buf;\n }\n function GHASH(key2) {\n this.h = key2, this.state = Buffer2.alloc(16, 0), this.cache = Buffer2.allocUnsafe(0);\n }\n GHASH.prototype = {}, GHASH.prototype.ghash = function(block) {\n for (var i = -1;++i < block.length; )\n this.state[i] ^= block[i];\n this._multiply();\n }, GHASH.prototype._multiply = function() {\n for (var Vi = toArray(this.h), Zi = [0, 0, 0, 0], j, xi, lsbVi, i = -1;++i < 128; ) {\n for (xi = (this.state[~~(i / 8)] & 1 << 7 - i % 8) !== 0, xi && (Zi[0] ^= Vi[0], Zi[1] ^= Vi[1], Zi[2] ^= Vi[2], Zi[3] ^= Vi[3]), lsbVi = (Vi[3] & 1) !== 0, j = 3;j > 0; j--)\n Vi[j] = Vi[j] >>> 1 | (Vi[j - 1] & 1) << 31;\n Vi[0] = Vi[0] >>> 1, lsbVi && (Vi[0] = Vi[0] ^ 225 << 24);\n }\n this.state = fromArray(Zi);\n }, GHASH.prototype.update = function(buf) {\n this.cache = Buffer2.concat([this.cache, buf]);\n for (var chunk;this.cache.length >= 16; )\n chunk = this.cache.slice(0, 16), this.cache = this.cache.slice(16), this.ghash(chunk);\n }, GHASH.prototype.final = function(abl, bl) {\n return this.cache.length && this.ghash(Buffer2.concat([this.cache, ZEROES], 16)), this.ghash(fromArray([0, abl, 0, bl])), this.state;\n }, module.exports = GHASH;\n }\n}), require_authCipher = __commonJS({\n \"node_modules/browserify-aes/authCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser(), GHASH = require_ghash(), xor = require_buffer_xor(), incr32 = require_incr32();\n function xorTest(a, b) {\n var out = 0;\n a.length !== b.length && out++;\n for (var len = Math.min(a.length, b.length), i = 0;i < len; ++i)\n out += a[i] ^ b[i];\n return out;\n }\n function calcIv(self2, iv, ck) {\n if (iv.length === 12)\n return self2._finID = Buffer2.concat([iv, Buffer2.from([0, 0, 0, 1])]), Buffer2.concat([iv, Buffer2.from([0, 0, 0, 2])]);\n var ghash = new GHASH(ck), len = iv.length, toPad = len % 16;\n ghash.update(iv), toPad && (toPad = 16 - toPad, ghash.update(Buffer2.alloc(toPad, 0))), ghash.update(Buffer2.alloc(8, 0));\n var ivBits = len * 8, tail = Buffer2.alloc(8);\n tail.writeUIntBE(ivBits, 0, 8), ghash.update(tail), self2._finID = ghash.state;\n var out = Buffer2.from(self2._finID);\n return incr32(out), out;\n }\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this);\n var h = Buffer2.alloc(4, 0);\n this._cipher = new aes.AES(key2);\n var ck = this._cipher.encryptBlock(h);\n this._ghash = new GHASH(ck), iv = calcIv(this, iv, ck), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._alen = 0, this._len = 0, this._mode = mode, this._authTag = null, this._called = !1;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - this._alen % 16;\n rump < 16 && (rump = Buffer2.alloc(rump, 0), this._ghash.update(rump));\n }\n this._called = !0;\n var out = this._mode.encrypt(this, chunk);\n return this._decrypt \? this._ghash.update(chunk) : this._ghash.update(out), this._len += chunk.length, out;\n }, StreamCipher.prototype._final = function() {\n if (this._decrypt && !this._authTag)\n throw new Error(\"Unsupported state or unable to authenticate data\");\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID));\n if (this._decrypt && xorTest(tag, this._authTag))\n throw new Error(\"Unsupported state or unable to authenticate data\");\n this._authTag = tag, this._cipher.scrub();\n }, StreamCipher.prototype.getAuthTag = function() {\n if (this._decrypt || !Buffer2.isBuffer(this._authTag))\n throw new Error(\"Attempting to get auth tag in unsupported state\");\n return this._authTag;\n }, StreamCipher.prototype.setAuthTag = function(tag) {\n if (!this._decrypt)\n throw new Error(\"Attempting to set auth tag in unsupported state\");\n this._authTag = tag;\n }, StreamCipher.prototype.setAAD = function(buf) {\n if (this._called)\n throw new Error(\"Attempting to set AAD in unsupported state\");\n this._ghash.update(buf), this._alen += buf.length;\n }, module.exports = StreamCipher;\n }\n}), require_streamCipher = __commonJS({\n \"node_modules/browserify-aes/streamCipher.js\"(exports, module) {\n var aes = require_aes(), Buffer2 = require_safe_buffer().Buffer, Transform = require_cipher_base(), inherits = require_inherits_browser();\n function StreamCipher(mode, key2, iv, decrypt) {\n Transform.@call(this), this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._cache = Buffer2.allocUnsafe(0), this._secCache = Buffer2.allocUnsafe(0), this._decrypt = decrypt, this._mode = mode;\n }\n inherits(StreamCipher, Transform), StreamCipher.prototype._update = function(chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt);\n }, StreamCipher.prototype._final = function() {\n this._cipher.scrub();\n }, module.exports = StreamCipher;\n }\n}), require_evp_bytestokey = __commonJS({\n \"node_modules/evp_bytestokey/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, MD5 = require_md5();\n function EVP_BytesToKey(password, salt, keyBits, ivLen) {\n if (Buffer2.isBuffer(password) || (password = Buffer2.from(password, \"binary\")), salt && (Buffer2.isBuffer(salt) || (salt = Buffer2.from(salt, \"binary\")), salt.length !== 8))\n @throwRangeError(\"salt should be Buffer with 8 byte length\");\n for (var keyLen = keyBits / 8, key2 = Buffer2.alloc(keyLen), iv = Buffer2.alloc(ivLen || 0), tmp = Buffer2.alloc(0);keyLen > 0 || ivLen > 0; ) {\n var hash = new MD5;\n hash.update(tmp), hash.update(password), salt && hash.update(salt), tmp = hash.digest();\n var used = 0;\n if (keyLen > 0) {\n var keyStart = key2.length - keyLen;\n used = Math.min(keyLen, tmp.length), tmp.copy(key2, keyStart, 0, used), keyLen -= used;\n }\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen, length = Math.min(ivLen, tmp.length - used);\n tmp.copy(iv, ivStart, used, used + length), ivLen -= length;\n }\n }\n return tmp.fill(0), { key: key2, iv };\n }\n module.exports = EVP_BytesToKey;\n }\n}), require_encrypter = __commonJS({\n \"node_modules/browserify-aes/encrypter.js\"(exports) {\n var MODES = require_modes(), AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Cipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Cipher, Transform), Cipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(); )\n thing = this._mode.encrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n };\n var PADDING = Buffer2.alloc(16, 16);\n Cipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return chunk = this._mode.encrypt(this, chunk), this._cipher.scrub(), chunk;\n if (!chunk.equals(PADDING))\n throw this._cipher.scrub(), new Error(\"data not multiple of block length\");\n }, Cipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function() {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16);\n return this.cache = this.cache.slice(16), out;\n }\n return null;\n }, Splitter.prototype.flush = function() {\n for (var len = 16 - this.cache.length, padBuff = Buffer2.allocUnsafe(len), i = -1;++i < len; )\n padBuff.writeUInt8(len, i);\n return Buffer2.concat([this.cache, padBuff]);\n };\n function createCipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), password\?.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv) : new Cipher(config.module, password, iv);\n }\n function createCipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n exports.createCipheriv = createCipheriv, exports.createCipher = createCipher;\n }\n}), require_decrypter = __commonJS({\n \"node_modules/browserify-aes/decrypter.js\"(exports) {\n var AuthCipher = require_authCipher(), Buffer2 = require_safe_buffer().Buffer, MODES = require_modes(), StreamCipher = require_streamCipher(), Transform = require_cipher_base(), aes = require_aes(), ebtk = require_evp_bytestokey(), inherits = require_inherits_browser();\n function Decipher(mode, key2, iv) {\n Transform.@call(this), this._cache = new Splitter, this._last = void 0, this._cipher = new aes.AES(key2), this._prev = Buffer2.from(iv), this._mode = mode, this._autopadding = !0;\n }\n inherits(Decipher, Transform), Decipher.prototype._update = function(data) {\n this._cache.add(data);\n for (var chunk, thing, out = [];chunk = this._cache.get(this._autopadding); )\n thing = this._mode.decrypt(this, chunk), out.push(thing);\n return Buffer2.concat(out);\n }, Decipher.prototype._final = function() {\n var chunk = this._cache.flush();\n if (this._autopadding)\n return unpad(this._mode.decrypt(this, chunk));\n if (chunk)\n throw new Error(\"data not multiple of block length\");\n }, Decipher.prototype.setAutoPadding = function(setTo) {\n return this._autopadding = !!setTo, this;\n };\n function Splitter() {\n this.cache = Buffer2.allocUnsafe(0);\n }\n Splitter.prototype = {}, Splitter.prototype.add = function(data) {\n this.cache = Buffer2.concat([this.cache, data]);\n }, Splitter.prototype.get = function(autoPadding) {\n var out;\n if (autoPadding) {\n if (this.cache.length > 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n } else if (this.cache.length >= 16)\n return out = this.cache.slice(0, 16), this.cache = this.cache.slice(16), out;\n return null;\n }, Splitter.prototype.flush = function() {\n if (this.cache.length)\n return this.cache;\n };\n function unpad(last) {\n var padded = last[15];\n if (padded < 1 || padded > 16)\n throw new Error(\"unable to decrypt data\");\n for (var i = -1;++i < padded; )\n if (last[i + (16 - padded)] !== padded)\n throw new Error(\"unable to decrypt data\");\n if (padded !== 16)\n return last.slice(0, 16 - padded);\n }\n function createDecipheriv(suite, password, iv) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n password = getArrayBufferOrView(password, \"password\");\n const iv_length = iv\?.length || 0, required_iv_length = config.iv || 0;\n if (iv = iv === null \? EMPTY_BUFFER : getArrayBufferOrView(iv, \"iv\"), config.mode !== \"GCM\" && iv_length !== required_iv_length) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n if (password.length !== config.key / 8) {\n var error = new RangeError(\"Invalid key length\");\n throw error.code = \"ERR_CRYPTO_INVALID_KEYLEN\", error;\n }\n return config.type === \"stream\" \? new StreamCipher(config.module, password, iv, !0) : config.type === \"auth\" \? new AuthCipher(config.module, password, iv, !0) : new Decipher(config.module, password, iv);\n }\n function createDecipher(suite, password) {\n var config = MODES[suite.toLowerCase()];\n if (!config)\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, config.key, config.iv);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n exports.createDecipher = createDecipher, exports.createDecipheriv = createDecipheriv;\n }\n}), require_browser5 = __commonJS({\n \"node_modules/browserify-aes/browser.js\"(exports) {\n var ciphers = require_encrypter(), deciphers = require_decrypter(), modes = require_list();\n function getCiphers() {\n return Object.keys(modes);\n }\n exports.createCipher = exports.Cipher = ciphers.createCipher, exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv, exports.createDecipher = exports.Decipher = deciphers.createDecipher, exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_modes2 = __commonJS({\n \"node_modules/browserify-des/modes.js\"(exports) {\n exports[\"des-ecb\"] = {\n key: 8,\n iv: 0\n }, exports[\"des-cbc\"] = exports.des = {\n key: 8,\n iv: 8\n }, exports[\"des-ede3-cbc\"] = exports.des3 = {\n key: 24,\n iv: 8\n }, exports[\"des-ede3\"] = {\n key: 24,\n iv: 0\n }, exports[\"des-ede-cbc\"] = {\n key: 16,\n iv: 8\n }, exports[\"des-ede\"] = {\n key: 16,\n iv: 0\n };\n }\n}), require_browser6 = __commonJS({\n \"node_modules/browserify-cipher/browser.js\"(exports) {\n var DES = require_browserify_des(), aes = require_browser5(), aesModes = require_modes(), desModes = require_modes2(), ebtk = require_evp_bytestokey();\n function createCipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n function createDecipher(suite, password) {\n suite = suite.toLowerCase();\n var keyLen, ivLen;\n if (aesModes[suite])\n keyLen = aesModes[suite].key, ivLen = aesModes[suite].iv;\n else if (desModes[suite])\n keyLen = desModes[suite].key * 8, ivLen = desModes[suite].iv;\n else\n @throwTypeError(\"invalid suite type\");\n var keys = ebtk(password, !1, keyLen, ivLen);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n function createCipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createCipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite });\n @throwTypeError(\"invalid suite type\");\n }\n function createDecipheriv(suite, key2, iv) {\n if (suite = suite.toLowerCase(), aesModes[suite])\n return aes.createDecipheriv(suite, key2, iv);\n if (desModes[suite])\n return new DES({ key: key2, iv, mode: suite, decrypt: !0 });\n @throwTypeError(\"invalid suite type\");\n }\n function getCiphers() {\n return Object.keys(desModes).concat(aes.getCiphers());\n }\n exports.createCipher = exports.Cipher = createCipher, exports.createCipheriv = exports.Cipheriv = createCipheriv, exports.createDecipher = exports.Decipher = createDecipher, exports.createDecipheriv = exports.Decipheriv = createDecipheriv, exports.listCiphers = exports.getCiphers = getCiphers;\n }\n}), require_bn = __commonJS({\n \"node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js\"(exports, module) {\n (function(module2, exports2) {\n function assert(val, msg) {\n if (!val)\n throw new Error(msg || \"Assertion failed\");\n }\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype, ctor.prototype = new TempCtor, ctor.prototype.constructor = ctor;\n }\n function BN(number, base, endian) {\n if (BN.isBN(number))\n return number;\n this.negative = 0, this.words = null, this.length = 0, this.red = null, number !== null && ((base === \"le\" || base === \"be\") && (endian = base, base = 10), this._init(number || 0, base || 10, endian || \"be\"));\n }\n BN.prototype = {}, typeof module2 == \"object\" \? module2.exports = BN : exports2.BN = BN, BN.BN = BN, BN.wordSize = 26;\n var Buffer2 = Buffer;\n BN.isBN = function(num) {\n return num instanceof BN \? !0 : num !== null && typeof num == \"object\" && num.constructor.wordSize === BN.wordSize && @Array.isArray(num.words);\n }, BN.max = function(left, right) {\n return left.cmp(right) > 0 \? left : right;\n }, BN.min = function(left, right) {\n return left.cmp(right) < 0 \? left : right;\n }, BN.prototype._init = function(number, base, endian) {\n if (typeof number == \"number\")\n return this._initNumber(number, base, endian);\n if (typeof number == \"object\")\n return this._initArray(number, base, endian);\n base === \"hex\" && (base = 16), assert(base === (base | 0) && base >= 2 && base <= 36), number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n number[0] === \"-\" && (start++, this.negative = 1), start < number.length && (base === 16 \? this._parseHex(number, start, endian) : (this._parseBase(number, base, start), endian === \"le\" && this._initArray(this.toArray(), base, endian)));\n }, BN.prototype._initNumber = function(number, base, endian) {\n number < 0 && (this.negative = 1, number = -number), number < 67108864 \? (this.words = [number & 67108863], this.length = 1) : number < 4503599627370496 \? (this.words = [number & 67108863, number / 67108864 & 67108863], this.length = 2) : (assert(number < 9007199254740992), this.words = [number & 67108863, number / 67108864 & 67108863, 1], this.length = 3), endian === \"le\" && this._initArray(this.toArray(), base, endian);\n }, BN.prototype._initArray = function(number, base, endian) {\n if (assert(typeof number.length == \"number\"), number.length <= 0)\n return this.words = [0], this.length = 1, this;\n this.length = Math.ceil(number.length / 3), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var j, w, off = 0;\n if (endian === \"be\")\n for (i = number.length - 1, j = 0;i >= 0; i -= 3)\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n else if (endian === \"le\")\n for (i = 0, j = 0;i < number.length; i += 3)\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16, this.words[j] |= w << off & 67108863, this.words[j + 1] = w >>> 26 - off & 67108863, off += 24, off >= 26 && (off -= 26, j++);\n return this.strip();\n };\n function parseHex4Bits(string, index) {\n var c = string.charCodeAt(index);\n return c >= 65 && c <= 70 \? c - 55 : c >= 97 && c <= 102 \? c - 87 : c - 48 & 15;\n }\n function parseHexByte(string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n return index - 1 >= lowerBound && (r |= parseHex4Bits(string, index - 1) << 4), r;\n }\n BN.prototype._parseHex = function(number, start, endian) {\n this.length = Math.ceil((number.length - start) / 6), this.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n this.words[i] = 0;\n var off = 0, j = 0, w;\n if (endian === \"be\")\n for (i = number.length - 1;i >= start; i -= 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 \? start + 1 : start;i < number.length; i += 2)\n w = parseHexByte(number, start, i) << off, this.words[j] |= w & 67108863, off >= 18 \? (off -= 18, j += 1, this.words[j] |= w >>> 26) : off += 8;\n }\n this.strip();\n };\n function parseBase(str, start, end, mul) {\n for (var r = 0, len = Math.min(str.length, end), i = start;i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n r *= mul, c >= 49 \? r += c - 49 + 10 : c >= 17 \? r += c - 17 + 10 : r += c;\n }\n return r;\n }\n BN.prototype._parseBase = function(number, base, start) {\n this.words = [0], this.length = 1;\n for (var limbLen = 0, limbPow = 1;limbPow <= 67108863; limbPow *= base)\n limbLen++;\n limbLen--, limbPow = limbPow / base | 0;\n for (var total = number.length - start, mod = total % limbLen, end = Math.min(total, total - mod) + start, word = 0, i = start;i < end; i += limbLen)\n word = parseBase(number, i, i + limbLen, base), this.imuln(limbPow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n if (mod !== 0) {\n var pow = 1;\n for (word = parseBase(number, i, number.length, base), i = 0;i < mod; i++)\n pow *= base;\n this.imuln(pow), this.words[0] + word < 67108864 \? this.words[0] += word : this._iaddn(word);\n }\n this.strip();\n }, BN.prototype.copy = function(dest) {\n dest.words = new @Array(this.length);\n for (var i = 0;i < this.length; i++)\n dest.words[i] = this.words[i];\n dest.length = this.length, dest.negative = this.negative, dest.red = this.red;\n }, BN.prototype.clone = function() {\n var r = new BN(null);\n return this.copy(r), r;\n }, BN.prototype._expand = function(size) {\n for (;this.length < size; )\n this.words[this.length++] = 0;\n return this;\n }, BN.prototype.strip = function() {\n for (;this.length > 1 && this.words[this.length - 1] === 0; )\n this.length--;\n return this._normSign();\n }, BN.prototype._normSign = function() {\n return this.length === 1 && this.words[0] === 0 && (this.negative = 0), this;\n }, BN.prototype.inspect = function() {\n return (this.red \? \"<BN-R: \" : \"<BN: \") + this.toString(16) + \">\";\n };\n var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ], groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ], groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 1e7,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function(base, padding) {\n base = base || 10, padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n for (var off = 0, carry = 0, i = 0;i < this.length; i++) {\n var w = this.words[i], word = ((w << off | carry) & 16777215).toString(16);\n carry = w >>> 24 - off & 16777215, carry !== 0 || i !== this.length - 1 \? out = zeros[6 - word.length] + word + out : out = word + out, off += 2, off >= 26 && (off -= 26, i--);\n }\n for (carry !== 0 && (out = carry.toString(16) + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n var groupSize = groupSizes[base], groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n for (c.negative = 0;!c.isZero(); ) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase), c.isZero() \? out = r + out : out = zeros[groupSize - r.length] + r + out;\n }\n for (this.isZero() && (out = \"0\" + out);out.length % padding !== 0; )\n out = \"0\" + out;\n return this.negative !== 0 && (out = \"-\" + out), out;\n }\n assert(!1, \"Base should be between 2 and 36\");\n }, BN.prototype.toNumber = function() {\n var ret = this.words[0];\n return this.length === 2 \? ret += this.words[1] * 67108864 : this.length === 3 && this.words[2] === 1 \? ret += 4503599627370496 + this.words[1] * 67108864 : this.length > 2 && assert(!1, \"Number can only safely store up to 53 bits\"), this.negative !== 0 \? -ret : ret;\n }, BN.prototype.toJSON = function() {\n return this.toString(16);\n }, BN.prototype.toBuffer = function(endian, length) {\n return assert(typeof Buffer2 < \"u\"), this.toArrayLike(Buffer2, endian, length);\n }, BN.prototype.toArray = function(endian, length) {\n return this.toArrayLike(@Array, endian, length);\n }, BN.prototype.toArrayLike = function(ArrayType, endian, length) {\n var byteLength = this.byteLength(), reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\"), assert(reqLength > 0, \"Requested array length <= 0\"), this.strip();\n var littleEndian = endian === \"le\", res = new ArrayType(reqLength), b, i, q = this.clone();\n if (littleEndian) {\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[i] = b;\n for (;i < reqLength; i++)\n res[i] = 0;\n } else {\n for (i = 0;i < reqLength - byteLength; i++)\n res[i] = 0;\n for (i = 0;!q.isZero(); i++)\n b = q.andln(255), q.iushrn(8), res[reqLength - i - 1] = b;\n }\n return res;\n }, Math.clz32 \? BN.prototype._countBits = function(w) {\n return 32 - Math.clz32(w);\n } : BN.prototype._countBits = function(w) {\n var t = w, r = 0;\n return t >= 4096 && (r += 13, t >>>= 13), t >= 64 && (r += 7, t >>>= 7), t >= 8 && (r += 4, t >>>= 4), t >= 2 && (r += 2, t >>>= 2), r + t;\n }, BN.prototype._zeroBits = function(w) {\n if (w === 0)\n return 26;\n var t = w, r = 0;\n return (t & 8191) === 0 && (r += 13, t >>>= 13), (t & 127) === 0 && (r += 7, t >>>= 7), (t & 15) === 0 && (r += 4, t >>>= 4), (t & 3) === 0 && (r += 2, t >>>= 2), (t & 1) === 0 && r++, r;\n }, BN.prototype.bitLength = function() {\n var w = this.words[this.length - 1], hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n for (var w = new @Array(num.bitLength()), bit = 0;bit < w.length; bit++) {\n var off = bit / 26 | 0, wbit = bit % 26;\n w[bit] = (num.words[off] & 1 << wbit) >>> wbit;\n }\n return w;\n }\n BN.prototype.zeroBits = function() {\n if (this.isZero())\n return 0;\n for (var r = 0, i = 0;i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n if (r += b, b !== 26)\n break;\n }\n return r;\n }, BN.prototype.byteLength = function() {\n return Math.ceil(this.bitLength() / 8);\n }, BN.prototype.toTwos = function(width) {\n return this.negative !== 0 \? this.abs().inotn(width).iaddn(1) : this.clone();\n }, BN.prototype.fromTwos = function(width) {\n return this.testn(width - 1) \? this.notn(width).iaddn(1).ineg() : this.clone();\n }, BN.prototype.isNeg = function() {\n return this.negative !== 0;\n }, BN.prototype.neg = function() {\n return this.clone().ineg();\n }, BN.prototype.ineg = function() {\n return this.isZero() || (this.negative ^= 1), this;\n }, BN.prototype.iuor = function(num) {\n for (;this.length < num.length; )\n this.words[this.length++] = 0;\n for (var i = 0;i < num.length; i++)\n this.words[i] = this.words[i] | num.words[i];\n return this.strip();\n }, BN.prototype.ior = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuor(num);\n }, BN.prototype.or = function(num) {\n return this.length > num.length \? this.clone().ior(num) : num.clone().ior(this);\n }, BN.prototype.uor = function(num) {\n return this.length > num.length \? this.clone().iuor(num) : num.clone().iuor(this);\n }, BN.prototype.iuand = function(num) {\n var b;\n this.length > num.length \? b = num : b = this;\n for (var i = 0;i < b.length; i++)\n this.words[i] = this.words[i] & num.words[i];\n return this.length = b.length, this.strip();\n }, BN.prototype.iand = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuand(num);\n }, BN.prototype.and = function(num) {\n return this.length > num.length \? this.clone().iand(num) : num.clone().iand(this);\n }, BN.prototype.uand = function(num) {\n return this.length > num.length \? this.clone().iuand(num) : num.clone().iuand(this);\n }, BN.prototype.iuxor = function(num) {\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var i = 0;i < b.length; i++)\n this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = a.length, this.strip();\n }, BN.prototype.ixor = function(num) {\n return assert((this.negative | num.negative) === 0), this.iuxor(num);\n }, BN.prototype.xor = function(num) {\n return this.length > num.length \? this.clone().ixor(num) : num.clone().ixor(this);\n }, BN.prototype.uxor = function(num) {\n return this.length > num.length \? this.clone().iuxor(num) : num.clone().iuxor(this);\n }, BN.prototype.inotn = function(width) {\n assert(typeof width == \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0, bitsLeft = width % 26;\n this._expand(bytesNeeded), bitsLeft > 0 && bytesNeeded--;\n for (var i = 0;i < bytesNeeded; i++)\n this.words[i] = ~this.words[i] & 67108863;\n return bitsLeft > 0 && (this.words[i] = ~this.words[i] & 67108863 >> 26 - bitsLeft), this.strip();\n }, BN.prototype.notn = function(width) {\n return this.clone().inotn(width);\n }, BN.prototype.setn = function(bit, val) {\n assert(typeof bit == \"number\" && bit >= 0);\n var off = bit / 26 | 0, wbit = bit % 26;\n return this._expand(off + 1), val \? this.words[off] = this.words[off] | 1 << wbit : this.words[off] = this.words[off] & ~(1 << wbit), this.strip();\n }, BN.prototype.iadd = function(num) {\n var r;\n if (this.negative !== 0 && num.negative === 0)\n return this.negative = 0, r = this.isub(num), this.negative ^= 1, this._normSign();\n if (this.negative === 0 && num.negative !== 0)\n return num.negative = 0, r = this.isub(num), num.negative = 1, r._normSign();\n var a, b;\n this.length > num.length \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, this.words[i] = r & 67108863, carry = r >>> 26;\n if (this.length = a.length, carry !== 0)\n this.words[this.length] = carry, this.length++;\n else if (a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this;\n }, BN.prototype.add = function(num) {\n var res;\n return num.negative !== 0 && this.negative === 0 \? (num.negative = 0, res = this.sub(num), num.negative ^= 1, res) : num.negative === 0 && this.negative !== 0 \? (this.negative = 0, res = num.sub(this), this.negative = 1, res) : this.length > num.length \? this.clone().iadd(num) : num.clone().iadd(this);\n }, BN.prototype.isub = function(num) {\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n return num.negative = 1, r._normSign();\n } else if (this.negative !== 0)\n return this.negative = 0, this.iadd(num), this.negative = 1, this._normSign();\n var cmp = this.cmp(num);\n if (cmp === 0)\n return this.negative = 0, this.length = 1, this.words[0] = 0, this;\n var a, b;\n cmp > 0 \? (a = this, b = num) : (a = num, b = this);\n for (var carry = 0, i = 0;i < b.length; i++)\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n for (;carry !== 0 && i < a.length; i++)\n r = (a.words[i] | 0) + carry, carry = r >> 26, this.words[i] = r & 67108863;\n if (carry === 0 && i < a.length && a !== this)\n for (;i < a.length; i++)\n this.words[i] = a.words[i];\n return this.length = Math.max(this.length, i), a !== this && (this.negative = 1), this.strip();\n }, BN.prototype.sub = function(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative;\n var len = self2.length + num.length | 0;\n out.length = len, len = len - 1 | 0;\n var a = self2.words[0] | 0, b = num.words[0] | 0, r = a * b, lo = r & 67108863, carry = r / 67108864 | 0;\n out.words[0] = lo;\n for (var k = 1;k < len; k++) {\n for (var ncarry = carry >>> 26, rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j | 0;\n a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b + rword, ncarry += r / 67108864 | 0, rword = r & 67108863;\n }\n out.words[k] = rword | 0, carry = ncarry | 0;\n }\n return carry !== 0 \? out.words[k] = carry | 0 : out.length--, out.strip();\n }\n var comb10MulTo = function(self2, num, out) {\n var a = self2.words, b = num.words, o = out.words, c = 0, lo, mid, hi, a0 = a[0] | 0, al0 = a0 & 8191, ah0 = a0 >>> 13, a1 = a[1] | 0, al1 = a1 & 8191, ah1 = a1 >>> 13, a2 = a[2] | 0, al2 = a2 & 8191, ah2 = a2 >>> 13, a3 = a[3] | 0, al3 = a3 & 8191, ah3 = a3 >>> 13, a4 = a[4] | 0, al4 = a4 & 8191, ah4 = a4 >>> 13, a5 = a[5] | 0, al5 = a5 & 8191, ah5 = a5 >>> 13, a6 = a[6] | 0, al6 = a6 & 8191, ah6 = a6 >>> 13, a7 = a[7] | 0, al7 = a7 & 8191, ah7 = a7 >>> 13, a8 = a[8] | 0, al8 = a8 & 8191, ah8 = a8 >>> 13, a9 = a[9] | 0, al9 = a9 & 8191, ah9 = a9 >>> 13, b0 = b[0] | 0, bl0 = b0 & 8191, bh0 = b0 >>> 13, b1 = b[1] | 0, bl1 = b1 & 8191, bh1 = b1 >>> 13, b2 = b[2] | 0, bl2 = b2 & 8191, bh2 = b2 >>> 13, b3 = b[3] | 0, bl3 = b3 & 8191, bh3 = b3 >>> 13, b4 = b[4] | 0, bl4 = b4 & 8191, bh4 = b4 >>> 13, b5 = b[5] | 0, bl5 = b5 & 8191, bh5 = b5 >>> 13, b6 = b[6] | 0, bl6 = b6 & 8191, bh6 = b6 >>> 13, b7 = b[7] | 0, bl7 = b7 & 8191, bh7 = b7 >>> 13, b8 = b[8] | 0, bl8 = b8 & 8191, bh8 = b8 >>> 13, b9 = b[9] | 0, bl9 = b9 & 8191, bh9 = b9 >>> 13;\n out.negative = self2.negative ^ num.negative, out.length = 19, lo = Math.imul(al0, bl0), mid = Math.imul(al0, bh0), mid = mid + Math.imul(ah0, bl0) | 0, hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0, w0 &= 67108863, lo = Math.imul(al1, bl0), mid = Math.imul(al1, bh0), mid = mid + Math.imul(ah1, bl0) | 0, hi = Math.imul(ah1, bh0), lo = lo + Math.imul(al0, bl1) | 0, mid = mid + Math.imul(al0, bh1) | 0, mid = mid + Math.imul(ah0, bl1) | 0, hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0, w1 &= 67108863, lo = Math.imul(al2, bl0), mid = Math.imul(al2, bh0), mid = mid + Math.imul(ah2, bl0) | 0, hi = Math.imul(ah2, bh0), lo = lo + Math.imul(al1, bl1) | 0, mid = mid + Math.imul(al1, bh1) | 0, mid = mid + Math.imul(ah1, bl1) | 0, hi = hi + Math.imul(ah1, bh1) | 0, lo = lo + Math.imul(al0, bl2) | 0, mid = mid + Math.imul(al0, bh2) | 0, mid = mid + Math.imul(ah0, bl2) | 0, hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0, w2 &= 67108863, lo = Math.imul(al3, bl0), mid = Math.imul(al3, bh0), mid = mid + Math.imul(ah3, bl0) | 0, hi = Math.imul(ah3, bh0), lo = lo + Math.imul(al2, bl1) | 0, mid = mid + Math.imul(al2, bh1) | 0, mid = mid + Math.imul(ah2, bl1) | 0, hi = hi + Math.imul(ah2, bh1) | 0, lo = lo + Math.imul(al1, bl2) | 0, mid = mid + Math.imul(al1, bh2) | 0, mid = mid + Math.imul(ah1, bl2) | 0, hi = hi + Math.imul(ah1, bh2) | 0, lo = lo + Math.imul(al0, bl3) | 0, mid = mid + Math.imul(al0, bh3) | 0, mid = mid + Math.imul(ah0, bl3) | 0, hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0, w3 &= 67108863, lo = Math.imul(al4, bl0), mid = Math.imul(al4, bh0), mid = mid + Math.imul(ah4, bl0) | 0, hi = Math.imul(ah4, bh0), lo = lo + Math.imul(al3, bl1) | 0, mid = mid + Math.imul(al3, bh1) | 0, mid = mid + Math.imul(ah3, bl1) | 0, hi = hi + Math.imul(ah3, bh1) | 0, lo = lo + Math.imul(al2, bl2) | 0, mid = mid + Math.imul(al2, bh2) | 0, mid = mid + Math.imul(ah2, bl2) | 0, hi = hi + Math.imul(ah2, bh2) | 0, lo = lo + Math.imul(al1, bl3) | 0, mid = mid + Math.imul(al1, bh3) | 0, mid = mid + Math.imul(ah1, bl3) | 0, hi = hi + Math.imul(ah1, bh3) | 0, lo = lo + Math.imul(al0, bl4) | 0, mid = mid + Math.imul(al0, bh4) | 0, mid = mid + Math.imul(ah0, bl4) | 0, hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0, w4 &= 67108863, lo = Math.imul(al5, bl0), mid = Math.imul(al5, bh0), mid = mid + Math.imul(ah5, bl0) | 0, hi = Math.imul(ah5, bh0), lo = lo + Math.imul(al4, bl1) | 0, mid = mid + Math.imul(al4, bh1) | 0, mid = mid + Math.imul(ah4, bl1) | 0, hi = hi + Math.imul(ah4, bh1) | 0, lo = lo + Math.imul(al3, bl2) | 0, mid = mid + Math.imul(al3, bh2) | 0, mid = mid + Math.imul(ah3, bl2) | 0, hi = hi + Math.imul(ah3, bh2) | 0, lo = lo + Math.imul(al2, bl3) | 0, mid = mid + Math.imul(al2, bh3) | 0, mid = mid + Math.imul(ah2, bl3) | 0, hi = hi + Math.imul(ah2, bh3) | 0, lo = lo + Math.imul(al1, bl4) | 0, mid = mid + Math.imul(al1, bh4) | 0, mid = mid + Math.imul(ah1, bl4) | 0, hi = hi + Math.imul(ah1, bh4) | 0, lo = lo + Math.imul(al0, bl5) | 0, mid = mid + Math.imul(al0, bh5) | 0, mid = mid + Math.imul(ah0, bl5) | 0, hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0, w5 &= 67108863, lo = Math.imul(al6, bl0), mid = Math.imul(al6, bh0), mid = mid + Math.imul(ah6, bl0) | 0, hi = Math.imul(ah6, bh0), lo = lo + Math.imul(al5, bl1) | 0, mid = mid + Math.imul(al5, bh1) | 0, mid = mid + Math.imul(ah5, bl1) | 0, hi = hi + Math.imul(ah5, bh1) | 0, lo = lo + Math.imul(al4, bl2) | 0, mid = mid + Math.imul(al4, bh2) | 0, mid = mid + Math.imul(ah4, bl2) | 0, hi = hi + Math.imul(ah4, bh2) | 0, lo = lo + Math.imul(al3, bl3) | 0, mid = mid + Math.imul(al3, bh3) | 0, mid = mid + Math.imul(ah3, bl3) | 0, hi = hi + Math.imul(ah3, bh3) | 0, lo = lo + Math.imul(al2, bl4) | 0, mid = mid + Math.imul(al2, bh4) | 0, mid = mid + Math.imul(ah2, bl4) | 0, hi = hi + Math.imul(ah2, bh4) | 0, lo = lo + Math.imul(al1, bl5) | 0, mid = mid + Math.imul(al1, bh5) | 0, mid = mid + Math.imul(ah1, bl5) | 0, hi = hi + Math.imul(ah1, bh5) | 0, lo = lo + Math.imul(al0, bl6) | 0, mid = mid + Math.imul(al0, bh6) | 0, mid = mid + Math.imul(ah0, bl6) | 0, hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0, w6 &= 67108863, lo = Math.imul(al7, bl0), mid = Math.imul(al7, bh0), mid = mid + Math.imul(ah7, bl0) | 0, hi = Math.imul(ah7, bh0), lo = lo + Math.imul(al6, bl1) | 0, mid = mid + Math.imul(al6, bh1) | 0, mid = mid + Math.imul(ah6, bl1) | 0, hi = hi + Math.imul(ah6, bh1) | 0, lo = lo + Math.imul(al5, bl2) | 0, mid = mid + Math.imul(al5, bh2) | 0, mid = mid + Math.imul(ah5, bl2) | 0, hi = hi + Math.imul(ah5, bh2) | 0, lo = lo + Math.imul(al4, bl3) | 0, mid = mid + Math.imul(al4, bh3) | 0, mid = mid + Math.imul(ah4, bl3) | 0, hi = hi + Math.imul(ah4, bh3) | 0, lo = lo + Math.imul(al3, bl4) | 0, mid = mid + Math.imul(al3, bh4) | 0, mid = mid + Math.imul(ah3, bl4) | 0, hi = hi + Math.imul(ah3, bh4) | 0, lo = lo + Math.imul(al2, bl5) | 0, mid = mid + Math.imul(al2, bh5) | 0, mid = mid + Math.imul(ah2, bl5) | 0, hi = hi + Math.imul(ah2, bh5) | 0, lo = lo + Math.imul(al1, bl6) | 0, mid = mid + Math.imul(al1, bh6) | 0, mid = mid + Math.imul(ah1, bl6) | 0, hi = hi + Math.imul(ah1, bh6) | 0, lo = lo + Math.imul(al0, bl7) | 0, mid = mid + Math.imul(al0, bh7) | 0, mid = mid + Math.imul(ah0, bl7) | 0, hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0, w7 &= 67108863, lo = Math.imul(al8, bl0), mid = Math.imul(al8, bh0), mid = mid + Math.imul(ah8, bl0) | 0, hi = Math.imul(ah8, bh0), lo = lo + Math.imul(al7, bl1) | 0, mid = mid + Math.imul(al7, bh1) | 0, mid = mid + Math.imul(ah7, bl1) | 0, hi = hi + Math.imul(ah7, bh1) | 0, lo = lo + Math.imul(al6, bl2) | 0, mid = mid + Math.imul(al6, bh2) | 0, mid = mid + Math.imul(ah6, bl2) | 0, hi = hi + Math.imul(ah6, bh2) | 0, lo = lo + Math.imul(al5, bl3) | 0, mid = mid + Math.imul(al5, bh3) | 0, mid = mid + Math.imul(ah5, bl3) | 0, hi = hi + Math.imul(ah5, bh3) | 0, lo = lo + Math.imul(al4, bl4) | 0, mid = mid + Math.imul(al4, bh4) | 0, mid = mid + Math.imul(ah4, bl4) | 0, hi = hi + Math.imul(ah4, bh4) | 0, lo = lo + Math.imul(al3, bl5) | 0, mid = mid + Math.imul(al3, bh5) | 0, mid = mid + Math.imul(ah3, bl5) | 0, hi = hi + Math.imul(ah3, bh5) | 0, lo = lo + Math.imul(al2, bl6) | 0, mid = mid + Math.imul(al2, bh6) | 0, mid = mid + Math.imul(ah2, bl6) | 0, hi = hi + Math.imul(ah2, bh6) | 0, lo = lo + Math.imul(al1, bl7) | 0, mid = mid + Math.imul(al1, bh7) | 0, mid = mid + Math.imul(ah1, bl7) | 0, hi = hi + Math.imul(ah1, bh7) | 0, lo = lo + Math.imul(al0, bl8) | 0, mid = mid + Math.imul(al0, bh8) | 0, mid = mid + Math.imul(ah0, bl8) | 0, hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0, w8 &= 67108863, lo = Math.imul(al9, bl0), mid = Math.imul(al9, bh0), mid = mid + Math.imul(ah9, bl0) | 0, hi = Math.imul(ah9, bh0), lo = lo + Math.imul(al8, bl1) | 0, mid = mid + Math.imul(al8, bh1) | 0, mid = mid + Math.imul(ah8, bl1) | 0, hi = hi + Math.imul(ah8, bh1) | 0, lo = lo + Math.imul(al7, bl2) | 0, mid = mid + Math.imul(al7, bh2) | 0, mid = mid + Math.imul(ah7, bl2) | 0, hi = hi + Math.imul(ah7, bh2) | 0, lo = lo + Math.imul(al6, bl3) | 0, mid = mid + Math.imul(al6, bh3) | 0, mid = mid + Math.imul(ah6, bl3) | 0, hi = hi + Math.imul(ah6, bh3) | 0, lo = lo + Math.imul(al5, bl4) | 0, mid = mid + Math.imul(al5, bh4) | 0, mid = mid + Math.imul(ah5, bl4) | 0, hi = hi + Math.imul(ah5, bh4) | 0, lo = lo + Math.imul(al4, bl5) | 0, mid = mid + Math.imul(al4, bh5) | 0, mid = mid + Math.imul(ah4, bl5) | 0, hi = hi + Math.imul(ah4, bh5) | 0, lo = lo + Math.imul(al3, bl6) | 0, mid = mid + Math.imul(al3, bh6) | 0, mid = mid + Math.imul(ah3, bl6) | 0, hi = hi + Math.imul(ah3, bh6) | 0, lo = lo + Math.imul(al2, bl7) | 0, mid = mid + Math.imul(al2, bh7) | 0, mid = mid + Math.imul(ah2, bl7) | 0, hi = hi + Math.imul(ah2, bh7) | 0, lo = lo + Math.imul(al1, bl8) | 0, mid = mid + Math.imul(al1, bh8) | 0, mid = mid + Math.imul(ah1, bl8) | 0, hi = hi + Math.imul(ah1, bh8) | 0, lo = lo + Math.imul(al0, bl9) | 0, mid = mid + Math.imul(al0, bh9) | 0, mid = mid + Math.imul(ah0, bl9) | 0, hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0, w9 &= 67108863, lo = Math.imul(al9, bl1), mid = Math.imul(al9, bh1), mid = mid + Math.imul(ah9, bl1) | 0, hi = Math.imul(ah9, bh1), lo = lo + Math.imul(al8, bl2) | 0, mid = mid + Math.imul(al8, bh2) | 0, mid = mid + Math.imul(ah8, bl2) | 0, hi = hi + Math.imul(ah8, bh2) | 0, lo = lo + Math.imul(al7, bl3) | 0, mid = mid + Math.imul(al7, bh3) | 0, mid = mid + Math.imul(ah7, bl3) | 0, hi = hi + Math.imul(ah7, bh3) | 0, lo = lo + Math.imul(al6, bl4) | 0, mid = mid + Math.imul(al6, bh4) | 0, mid = mid + Math.imul(ah6, bl4) | 0, hi = hi + Math.imul(ah6, bh4) | 0, lo = lo + Math.imul(al5, bl5) | 0, mid = mid + Math.imul(al5, bh5) | 0, mid = mid + Math.imul(ah5, bl5) | 0, hi = hi + Math.imul(ah5, bh5) | 0, lo = lo + Math.imul(al4, bl6) | 0, mid = mid + Math.imul(al4, bh6) | 0, mid = mid + Math.imul(ah4, bl6) | 0, hi = hi + Math.imul(ah4, bh6) | 0, lo = lo + Math.imul(al3, bl7) | 0, mid = mid + Math.imul(al3, bh7) | 0, mid = mid + Math.imul(ah3, bl7) | 0, hi = hi + Math.imul(ah3, bh7) | 0, lo = lo + Math.imul(al2, bl8) | 0, mid = mid + Math.imul(al2, bh8) | 0, mid = mid + Math.imul(ah2, bl8) | 0, hi = hi + Math.imul(ah2, bh8) | 0, lo = lo + Math.imul(al1, bl9) | 0, mid = mid + Math.imul(al1, bh9) | 0, mid = mid + Math.imul(ah1, bl9) | 0, hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0, w10 &= 67108863, lo = Math.imul(al9, bl2), mid = Math.imul(al9, bh2), mid = mid + Math.imul(ah9, bl2) | 0, hi = Math.imul(ah9, bh2), lo = lo + Math.imul(al8, bl3) | 0, mid = mid + Math.imul(al8, bh3) | 0, mid = mid + Math.imul(ah8, bl3) | 0, hi = hi + Math.imul(ah8, bh3) | 0, lo = lo + Math.imul(al7, bl4) | 0, mid = mid + Math.imul(al7, bh4) | 0, mid = mid + Math.imul(ah7, bl4) | 0, hi = hi + Math.imul(ah7, bh4) | 0, lo = lo + Math.imul(al6, bl5) | 0, mid = mid + Math.imul(al6, bh5) | 0, mid = mid + Math.imul(ah6, bl5) | 0, hi = hi + Math.imul(ah6, bh5) | 0, lo = lo + Math.imul(al5, bl6) | 0, mid = mid + Math.imul(al5, bh6) | 0, mid = mid + Math.imul(ah5, bl6) | 0, hi = hi + Math.imul(ah5, bh6) | 0, lo = lo + Math.imul(al4, bl7) | 0, mid = mid + Math.imul(al4, bh7) | 0, mid = mid + Math.imul(ah4, bl7) | 0, hi = hi + Math.imul(ah4, bh7) | 0, lo = lo + Math.imul(al3, bl8) | 0, mid = mid + Math.imul(al3, bh8) | 0, mid = mid + Math.imul(ah3, bl8) | 0, hi = hi + Math.imul(ah3, bh8) | 0, lo = lo + Math.imul(al2, bl9) | 0, mid = mid + Math.imul(al2, bh9) | 0, mid = mid + Math.imul(ah2, bl9) | 0, hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0, w11 &= 67108863, lo = Math.imul(al9, bl3), mid = Math.imul(al9, bh3), mid = mid + Math.imul(ah9, bl3) | 0, hi = Math.imul(ah9, bh3), lo = lo + Math.imul(al8, bl4) | 0, mid = mid + Math.imul(al8, bh4) | 0, mid = mid + Math.imul(ah8, bl4) | 0, hi = hi + Math.imul(ah8, bh4) | 0, lo = lo + Math.imul(al7, bl5) | 0, mid = mid + Math.imul(al7, bh5) | 0, mid = mid + Math.imul(ah7, bl5) | 0, hi = hi + Math.imul(ah7, bh5) | 0, lo = lo + Math.imul(al6, bl6) | 0, mid = mid + Math.imul(al6, bh6) | 0, mid = mid + Math.imul(ah6, bl6) | 0, hi = hi + Math.imul(ah6, bh6) | 0, lo = lo + Math.imul(al5, bl7) | 0, mid = mid + Math.imul(al5, bh7) | 0, mid = mid + Math.imul(ah5, bl7) | 0, hi = hi + Math.imul(ah5, bh7) | 0, lo = lo + Math.imul(al4, bl8) | 0, mid = mid + Math.imul(al4, bh8) | 0, mid = mid + Math.imul(ah4, bl8) | 0, hi = hi + Math.imul(ah4, bh8) | 0, lo = lo + Math.imul(al3, bl9) | 0, mid = mid + Math.imul(al3, bh9) | 0, mid = mid + Math.imul(ah3, bl9) | 0, hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0, w12 &= 67108863, lo = Math.imul(al9, bl4), mid = Math.imul(al9, bh4), mid = mid + Math.imul(ah9, bl4) | 0, hi = Math.imul(ah9, bh4), lo = lo + Math.imul(al8, bl5) | 0, mid = mid + Math.imul(al8, bh5) | 0, mid = mid + Math.imul(ah8, bl5) | 0, hi = hi + Math.imul(ah8, bh5) | 0, lo = lo + Math.imul(al7, bl6) | 0, mid = mid + Math.imul(al7, bh6) | 0, mid = mid + Math.imul(ah7, bl6) | 0, hi = hi + Math.imul(ah7, bh6) | 0, lo = lo + Math.imul(al6, bl7) | 0, mid = mid + Math.imul(al6, bh7) | 0, mid = mid + Math.imul(ah6, bl7) | 0, hi = hi + Math.imul(ah6, bh7) | 0, lo = lo + Math.imul(al5, bl8) | 0, mid = mid + Math.imul(al5, bh8) | 0, mid = mid + Math.imul(ah5, bl8) | 0, hi = hi + Math.imul(ah5, bh8) | 0, lo = lo + Math.imul(al4, bl9) | 0, mid = mid + Math.imul(al4, bh9) | 0, mid = mid + Math.imul(ah4, bl9) | 0, hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0, w13 &= 67108863, lo = Math.imul(al9, bl5), mid = Math.imul(al9, bh5), mid = mid + Math.imul(ah9, bl5) | 0, hi = Math.imul(ah9, bh5), lo = lo + Math.imul(al8, bl6) | 0, mid = mid + Math.imul(al8, bh6) | 0, mid = mid + Math.imul(ah8, bl6) | 0, hi = hi + Math.imul(ah8, bh6) | 0, lo = lo + Math.imul(al7, bl7) | 0, mid = mid + Math.imul(al7, bh7) | 0, mid = mid + Math.imul(ah7, bl7) | 0, hi = hi + Math.imul(ah7, bh7) | 0, lo = lo + Math.imul(al6, bl8) | 0, mid = mid + Math.imul(al6, bh8) | 0, mid = mid + Math.imul(ah6, bl8) | 0, hi = hi + Math.imul(ah6, bh8) | 0, lo = lo + Math.imul(al5, bl9) | 0, mid = mid + Math.imul(al5, bh9) | 0, mid = mid + Math.imul(ah5, bl9) | 0, hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0, w14 &= 67108863, lo = Math.imul(al9, bl6), mid = Math.imul(al9, bh6), mid = mid + Math.imul(ah9, bl6) | 0, hi = Math.imul(ah9, bh6), lo = lo + Math.imul(al8, bl7) | 0, mid = mid + Math.imul(al8, bh7) | 0, mid = mid + Math.imul(ah8, bl7) | 0, hi = hi + Math.imul(ah8, bh7) | 0, lo = lo + Math.imul(al7, bl8) | 0, mid = mid + Math.imul(al7, bh8) | 0, mid = mid + Math.imul(ah7, bl8) | 0, hi = hi + Math.imul(ah7, bh8) | 0, lo = lo + Math.imul(al6, bl9) | 0, mid = mid + Math.imul(al6, bh9) | 0, mid = mid + Math.imul(ah6, bl9) | 0, hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0, w15 &= 67108863, lo = Math.imul(al9, bl7), mid = Math.imul(al9, bh7), mid = mid + Math.imul(ah9, bl7) | 0, hi = Math.imul(ah9, bh7), lo = lo + Math.imul(al8, bl8) | 0, mid = mid + Math.imul(al8, bh8) | 0, mid = mid + Math.imul(ah8, bl8) | 0, hi = hi + Math.imul(ah8, bh8) | 0, lo = lo + Math.imul(al7, bl9) | 0, mid = mid + Math.imul(al7, bh9) | 0, mid = mid + Math.imul(ah7, bl9) | 0, hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0, w16 &= 67108863, lo = Math.imul(al9, bl8), mid = Math.imul(al9, bh8), mid = mid + Math.imul(ah9, bl8) | 0, hi = Math.imul(ah9, bh8), lo = lo + Math.imul(al8, bl9) | 0, mid = mid + Math.imul(al8, bh9) | 0, mid = mid + Math.imul(ah8, bl9) | 0, hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0, w17 &= 67108863, lo = Math.imul(al9, bl9), mid = Math.imul(al9, bh9), mid = mid + Math.imul(ah9, bl9) | 0, hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 8191) << 13) | 0;\n return c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0, w18 &= 67108863, o[0] = w0, o[1] = w1, o[2] = w2, o[3] = w3, o[4] = w4, o[5] = w5, o[6] = w6, o[7] = w7, o[8] = w8, o[9] = w9, o[10] = w10, o[11] = w11, o[12] = w12, o[13] = w13, o[14] = w14, o[15] = w15, o[16] = w16, o[17] = w17, o[18] = w18, c !== 0 && (o[19] = c, out.length++), out;\n };\n Math.imul || (comb10MulTo = smallMulTo);\n function bigMulTo(self2, num, out) {\n out.negative = num.negative ^ self2.negative, out.length = self2.length + num.length;\n for (var carry = 0, hncarry = 0, k = 0;k < out.length - 1; k++) {\n var ncarry = hncarry;\n hncarry = 0;\n for (var rword = carry & 67108863, maxJ = Math.min(k, num.length - 1), j = Math.max(0, k - self2.length + 1);j <= maxJ; j++) {\n var i = k - j, a = self2.words[i] | 0, b = num.words[j] | 0, r = a * b, lo = r & 67108863;\n ncarry = ncarry + (r / 67108864 | 0) | 0, lo = lo + rword | 0, rword = lo & 67108863, ncarry = ncarry + (lo >>> 26) | 0, hncarry += ncarry >>> 26, ncarry &= 67108863;\n }\n out.words[k] = rword, carry = ncarry, ncarry = hncarry;\n }\n return carry !== 0 \? out.words[k] = carry : out.length--, out.strip();\n }\n function jumboMulTo(self2, num, out) {\n var fftm = new FFTM;\n return fftm.mulp(self2, num, out);\n }\n BN.prototype.mulTo = function(num, out) {\n var res, len = this.length + num.length;\n return this.length === 10 && num.length === 10 \? res = comb10MulTo(this, num, out) : len < 63 \? res = smallMulTo(this, num, out) : len < 1024 \? res = bigMulTo(this, num, out) : res = jumboMulTo(this, num, out), res;\n };\n function FFTM(x, y) {\n this.x = x, this.y = y;\n }\n FFTM.prototype = {}, FFTM.prototype.makeRBT = function(N) {\n for (var t = new @Array(N), l = BN.prototype._countBits(N) - 1, i = 0;i < N; i++)\n t[i] = this.revBin(i, l, N);\n return t;\n }, FFTM.prototype.revBin = function(x, l, N) {\n if (x === 0 || x === N - 1)\n return x;\n for (var rb = 0, i = 0;i < l; i++)\n rb |= (x & 1) << l - i - 1, x >>= 1;\n return rb;\n }, FFTM.prototype.permute = function(rbt, rws, iws, rtws, itws, N) {\n for (var i = 0;i < N; i++)\n rtws[i] = rws[rbt[i]], itws[i] = iws[rbt[i]];\n }, FFTM.prototype.transform = function(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for (var s = 1;s < N; s <<= 1)\n for (var l = s << 1, rtwdf = Math.cos(2 * Math.PI / l), itwdf = Math.sin(2 * Math.PI / l), p = 0;p < N; p += l)\n for (var rtwdf_ = rtwdf, itwdf_ = itwdf, j = 0;j < s; j++) {\n var re = rtws[p + j], ie = itws[p + j], ro = rtws[p + j + s], io = itws[p + j + s], rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro, ro = rx, rtws[p + j] = re + ro, itws[p + j] = ie + io, rtws[p + j + s] = re - ro, itws[p + j + s] = ie - io, j !== l && (rx = rtwdf * rtwdf_ - itwdf * itwdf_, itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_, rtwdf_ = rx);\n }\n }, FFTM.prototype.guessLen13b = function(n, m) {\n var N = Math.max(m, n) | 1, odd = N & 1, i = 0;\n for (N = N / 2 | 0;N; N = N >>> 1)\n i++;\n return 1 << i + 1 + odd;\n }, FFTM.prototype.conjugate = function(rws, iws, N) {\n if (!(N <= 1))\n for (var i = 0;i < N / 2; i++) {\n var t = rws[i];\n rws[i] = rws[N - i - 1], rws[N - i - 1] = t, t = iws[i], iws[i] = -iws[N - i - 1], iws[N - i - 1] = -t;\n }\n }, FFTM.prototype.normalize13b = function(ws, N) {\n for (var carry = 0, i = 0;i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 8192 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 67108863, w < 67108864 \? carry = 0 : carry = w / 67108864 | 0;\n }\n return ws;\n }, FFTM.prototype.convert13b = function(ws, len, rws, N) {\n for (var carry = 0, i = 0;i < len; i++)\n carry = carry + (ws[i] | 0), rws[2 * i] = carry & 8191, carry = carry >>> 13, rws[2 * i + 1] = carry & 8191, carry = carry >>> 13;\n for (i = 2 * len;i < N; ++i)\n rws[i] = 0;\n assert(carry === 0), assert((carry & -8192) === 0);\n }, FFTM.prototype.stub = function(N) {\n for (var ph = new @Array(N), i = 0;i < N; i++)\n ph[i] = 0;\n return ph;\n }, FFTM.prototype.mulp = function(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length), rbt = this.makeRBT(N), _ = this.stub(N), rws = new @Array(N), rwst = new @Array(N), iwst = new @Array(N), nrws = new @Array(N), nrwst = new @Array(N), niwst = new @Array(N), rmws = out.words;\n rmws.length = N, this.convert13b(x.words, x.length, rws, N), this.convert13b(y.words, y.length, nrws, N), this.transform(rws, _, rwst, iwst, N, rbt), this.transform(nrws, _, nrwst, niwst, N, rbt);\n for (var i = 0;i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i], rwst[i] = rx;\n }\n return this.conjugate(rwst, iwst, N), this.transform(rwst, iwst, rmws, _, N, rbt), this.conjugate(rmws, _, N), this.normalize13b(rmws, N), out.negative = x.negative ^ y.negative, out.length = x.length + y.length, out.strip();\n }, BN.prototype.mul = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), this.mulTo(num, out);\n }, BN.prototype.mulf = function(num) {\n var out = new BN(null);\n return out.words = new @Array(this.length + num.length), jumboMulTo(this, num, out);\n }, BN.prototype.imul = function(num) {\n return this.clone().mulTo(num, this);\n }, BN.prototype.imuln = function(num) {\n assert(typeof num == \"number\"), assert(num < 67108864);\n for (var carry = 0, i = 0;i < this.length; i++) {\n var w = (this.words[i] | 0) * num, lo = (w & 67108863) + (carry & 67108863);\n carry >>= 26, carry += w / 67108864 | 0, carry += lo >>> 26, this.words[i] = lo & 67108863;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.muln = function(num) {\n return this.clone().imuln(num);\n }, BN.prototype.sqr = function() {\n return this.mul(this);\n }, BN.prototype.isqr = function() {\n return this.imul(this.clone());\n }, BN.prototype.pow = function(num) {\n var w = toBitArray(num);\n if (w.length === 0)\n return new BN(1);\n for (var res = this, i = 0;i < w.length && w[i] === 0; i++, res = res.sqr())\n ;\n if (++i < w.length)\n for (var q = res.sqr();i < w.length; i++, q = q.sqr())\n w[i] !== 0 && (res = res.mul(q));\n return res;\n }, BN.prototype.iushln = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26, carryMask = 67108863 >>> 26 - r << 26 - r, i;\n if (r !== 0) {\n var carry = 0;\n for (i = 0;i < this.length; i++) {\n var newCarry = this.words[i] & carryMask, c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry, carry = newCarry >>> 26 - r;\n }\n carry && (this.words[i] = carry, this.length++);\n }\n if (s !== 0) {\n for (i = this.length - 1;i >= 0; i--)\n this.words[i + s] = this.words[i];\n for (i = 0;i < s; i++)\n this.words[i] = 0;\n this.length += s;\n }\n return this.strip();\n }, BN.prototype.ishln = function(bits) {\n return assert(this.negative === 0), this.iushln(bits);\n }, BN.prototype.iushrn = function(bits, hint, extended) {\n assert(typeof bits == \"number\" && bits >= 0);\n var h;\n hint \? h = (hint - hint % 26) / 26 : h = 0;\n var r = bits % 26, s = Math.min((bits - r) / 26, this.length), mask = 67108863 ^ 67108863 >>> r << r, maskedWords = extended;\n if (h -= s, h = Math.max(0, h), maskedWords) {\n for (var i = 0;i < s; i++)\n maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s !== 0)\n if (this.length > s)\n for (this.length -= s, i = 0;i < this.length; i++)\n this.words[i] = this.words[i + s];\n else\n this.words[0] = 0, this.length = 1;\n var carry = 0;\n for (i = this.length - 1;i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r, carry = word & mask;\n }\n return maskedWords && carry !== 0 && (maskedWords.words[maskedWords.length++] = carry), this.length === 0 && (this.words[0] = 0, this.length = 1), this.strip();\n }, BN.prototype.ishrn = function(bits, hint, extended) {\n return assert(this.negative === 0), this.iushrn(bits, hint, extended);\n }, BN.prototype.shln = function(bits) {\n return this.clone().ishln(bits);\n }, BN.prototype.ushln = function(bits) {\n return this.clone().iushln(bits);\n }, BN.prototype.shrn = function(bits) {\n return this.clone().ishrn(bits);\n }, BN.prototype.ushrn = function(bits) {\n return this.clone().iushrn(bits);\n }, BN.prototype.testn = function(bit) {\n assert(typeof bit == \"number\" && bit >= 0);\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return !1;\n var w = this.words[s];\n return !!(w & q);\n }, BN.prototype.imaskn = function(bits) {\n assert(typeof bits == \"number\" && bits >= 0);\n var r = bits % 26, s = (bits - r) / 26;\n if (assert(this.negative === 0, \"imaskn works only with positive numbers\"), this.length <= s)\n return this;\n if (r !== 0 && s++, this.length = Math.min(s, this.length), r !== 0) {\n var mask = 67108863 ^ 67108863 >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this.strip();\n }, BN.prototype.maskn = function(bits) {\n return this.clone().imaskn(bits);\n }, BN.prototype.iaddn = function(num) {\n return assert(typeof num == \"number\"), assert(num < 67108864), num < 0 \? this.isubn(-num) : this.negative !== 0 \? this.length === 1 && (this.words[0] | 0) < num \? (this.words[0] = num - (this.words[0] | 0), this.negative = 0, this) : (this.negative = 0, this.isubn(num), this.negative = 1, this) : this._iaddn(num);\n }, BN.prototype._iaddn = function(num) {\n this.words[0] += num;\n for (var i = 0;i < this.length && this.words[i] >= 67108864; i++)\n this.words[i] -= 67108864, i === this.length - 1 \? this.words[i + 1] = 1 : this.words[i + 1]++;\n return this.length = Math.max(this.length, i + 1), this;\n }, BN.prototype.isubn = function(num) {\n if (assert(typeof num == \"number\"), assert(num < 67108864), num < 0)\n return this.iaddn(-num);\n if (this.negative !== 0)\n return this.negative = 0, this.iaddn(num), this.negative = 1, this;\n if (this.words[0] -= num, this.length === 1 && this.words[0] < 0)\n this.words[0] = -this.words[0], this.negative = 1;\n else\n for (var i = 0;i < this.length && this.words[i] < 0; i++)\n this.words[i] += 67108864, this.words[i + 1] -= 1;\n return this.strip();\n }, BN.prototype.addn = function(num) {\n return this.clone().iaddn(num);\n }, BN.prototype.subn = function(num) {\n return this.clone().isubn(num);\n }, BN.prototype.iabs = function() {\n return this.negative = 0, this;\n }, BN.prototype.abs = function() {\n return this.clone().iabs();\n }, BN.prototype._ishlnsubmul = function(num, mul, shift) {\n var len = num.length + shift, i;\n this._expand(len);\n var w, carry = 0;\n for (i = 0;i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 67108863, carry = (w >> 26) - (right / 67108864 | 0), this.words[i + shift] = w & 67108863;\n }\n for (;i < this.length - shift; i++)\n w = (this.words[i + shift] | 0) + carry, carry = w >> 26, this.words[i + shift] = w & 67108863;\n if (carry === 0)\n return this.strip();\n for (assert(carry === -1), carry = 0, i = 0;i < this.length; i++)\n w = -(this.words[i] | 0) + carry, carry = w >> 26, this.words[i] = w & 67108863;\n return this.negative = 1, this.strip();\n }, BN.prototype._wordDiv = function(num, mode) {\n var shift = this.length - num.length, a = this.clone(), b = num, bhi = b.words[b.length - 1] | 0, bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits, shift !== 0 && (b = b.ushln(shift), a.iushln(shift), bhi = b.words[b.length - 1] | 0);\n var m = a.length - b.length, q;\n if (mode !== \"mod\") {\n q = new BN(null), q.length = m + 1, q.words = new @Array(q.length);\n for (var i = 0;i < q.length; i++)\n q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n diff.negative === 0 && (a = diff, q && (q.words[m] = 1));\n for (var j = m - 1;j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 67108864 + (a.words[b.length + j - 1] | 0);\n for (qj = Math.min(qj / bhi | 0, 67108863), a._ishlnsubmul(b, qj, j);a.negative !== 0; )\n qj--, a.negative = 0, a._ishlnsubmul(b, 1, j), a.isZero() || (a.negative ^= 1);\n q && (q.words[j] = qj);\n }\n return q && q.strip(), a.strip(), mode !== \"div\" && shift !== 0 && a.iushrn(shift), {\n div: q || null,\n mod: a\n };\n }, BN.prototype.divmod = function(num, mode, positive) {\n if (assert(!num.isZero()), this.isZero())\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n return this.negative !== 0 && num.negative === 0 \? (res = this.neg().divmod(num, mode), mode !== \"mod\" && (div = res.div.neg()), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.iadd(num)), {\n div,\n mod\n }) : this.negative === 0 && num.negative !== 0 \? (res = this.divmod(num.neg(), mode), mode !== \"mod\" && (div = res.div.neg()), {\n div,\n mod: res.mod\n }) : (this.negative & num.negative) !== 0 \? (res = this.neg().divmod(num.neg(), mode), mode !== \"div\" && (mod = res.mod.neg(), positive && mod.negative !== 0 && mod.isub(num)), {\n div: res.div,\n mod\n }) : num.length > this.length || this.cmp(num) < 0 \? {\n div: new BN(0),\n mod: this\n } : num.length === 1 \? mode === \"div\" \? {\n div: this.divn(num.words[0]),\n mod: null\n } : mode === \"mod\" \? {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n } : {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n } : this._wordDiv(num, mode);\n }, BN.prototype.div = function(num) {\n return this.divmod(num, \"div\", !1).div;\n }, BN.prototype.mod = function(num) {\n return this.divmod(num, \"mod\", !1).mod;\n }, BN.prototype.umod = function(num) {\n return this.divmod(num, \"mod\", !0).mod;\n }, BN.prototype.divRound = function(num) {\n var dm = this.divmod(num);\n if (dm.mod.isZero())\n return dm.div;\n var mod = dm.div.negative !== 0 \? dm.mod.isub(num) : dm.mod, half = num.ushrn(1), r2 = num.andln(1), cmp = mod.cmp(half);\n return cmp < 0 || r2 === 1 && cmp === 0 \? dm.div : dm.div.negative !== 0 \? dm.div.isubn(1) : dm.div.iaddn(1);\n }, BN.prototype.modn = function(num) {\n assert(num <= 67108863);\n for (var p = (1 << 26) % num, acc = 0, i = this.length - 1;i >= 0; i--)\n acc = (p * acc + (this.words[i] | 0)) % num;\n return acc;\n }, BN.prototype.idivn = function(num) {\n assert(num <= 67108863);\n for (var carry = 0, i = this.length - 1;i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 67108864;\n this.words[i] = w / num | 0, carry = w % num;\n }\n return this.strip();\n }, BN.prototype.divn = function(num) {\n return this.clone().idivn(num);\n }, BN.prototype.egcd = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var x = this, y = p.clone();\n x.negative !== 0 \? x = x.umod(p) : x = x.clone();\n for (var A = new BN(1), B = new BN(0), C = new BN(0), D = new BN(1), g = 0;x.isEven() && y.isEven(); )\n x.iushrn(1), y.iushrn(1), ++g;\n for (var yp = y.clone(), xp = x.clone();!x.isZero(); ) {\n for (var i = 0, im = 1;(x.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (x.iushrn(i);i-- > 0; )\n (A.isOdd() || B.isOdd()) && (A.iadd(yp), B.isub(xp)), A.iushrn(1), B.iushrn(1);\n for (var j = 0, jm = 1;(y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (y.iushrn(j);j-- > 0; )\n (C.isOdd() || D.isOdd()) && (C.iadd(yp), D.isub(xp)), C.iushrn(1), D.iushrn(1);\n x.cmp(y) >= 0 \? (x.isub(y), A.isub(C), B.isub(D)) : (y.isub(x), C.isub(A), D.isub(B));\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n }, BN.prototype._invmp = function(p) {\n assert(p.negative === 0), assert(!p.isZero());\n var a = this, b = p.clone();\n a.negative !== 0 \? a = a.umod(p) : a = a.clone();\n for (var x1 = new BN(1), x2 = new BN(0), delta = b.clone();a.cmpn(1) > 0 && b.cmpn(1) > 0; ) {\n for (var i = 0, im = 1;(a.words[0] & im) === 0 && i < 26; ++i, im <<= 1)\n ;\n if (i > 0)\n for (a.iushrn(i);i-- > 0; )\n x1.isOdd() && x1.iadd(delta), x1.iushrn(1);\n for (var j = 0, jm = 1;(b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1)\n ;\n if (j > 0)\n for (b.iushrn(j);j-- > 0; )\n x2.isOdd() && x2.iadd(delta), x2.iushrn(1);\n a.cmp(b) >= 0 \? (a.isub(b), x1.isub(x2)) : (b.isub(a), x2.isub(x1));\n }\n var res;\n return a.cmpn(1) === 0 \? res = x1 : res = x2, res.cmpn(0) < 0 && res.iadd(p), res;\n }, BN.prototype.gcd = function(num) {\n if (this.isZero())\n return num.abs();\n if (num.isZero())\n return this.abs();\n var a = this.clone(), b = num.clone();\n a.negative = 0, b.negative = 0;\n for (var shift = 0;a.isEven() && b.isEven(); shift++)\n a.iushrn(1), b.iushrn(1);\n do {\n for (;a.isEven(); )\n a.iushrn(1);\n for (;b.isEven(); )\n b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n var t = a;\n a = b, b = t;\n } else if (r === 0 || b.cmpn(1) === 0)\n break;\n a.isub(b);\n } while (!0);\n return b.iushln(shift);\n }, BN.prototype.invm = function(num) {\n return this.egcd(num).a.umod(num);\n }, BN.prototype.isEven = function() {\n return (this.words[0] & 1) === 0;\n }, BN.prototype.isOdd = function() {\n return (this.words[0] & 1) === 1;\n }, BN.prototype.andln = function(num) {\n return this.words[0] & num;\n }, BN.prototype.bincn = function(bit) {\n assert(typeof bit == \"number\");\n var r = bit % 26, s = (bit - r) / 26, q = 1 << r;\n if (this.length <= s)\n return this._expand(s + 1), this.words[s] |= q, this;\n for (var carry = q, i = s;carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry, carry = w >>> 26, w &= 67108863, this.words[i] = w;\n }\n return carry !== 0 && (this.words[i] = carry, this.length++), this;\n }, BN.prototype.isZero = function() {\n return this.length === 1 && this.words[0] === 0;\n }, BN.prototype.cmpn = function(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative)\n return -1;\n if (this.negative === 0 && negative)\n return 1;\n this.strip();\n var res;\n if (this.length > 1)\n res = 1;\n else {\n negative && (num = -num), assert(num <= 67108863, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num \? 0 : w < num \? -1 : 1;\n }\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.cmp = function(num) {\n if (this.negative !== 0 && num.negative === 0)\n return -1;\n if (this.negative === 0 && num.negative !== 0)\n return 1;\n var res = this.ucmp(num);\n return this.negative !== 0 \? -res | 0 : res;\n }, BN.prototype.ucmp = function(num) {\n if (this.length > num.length)\n return 1;\n if (this.length < num.length)\n return -1;\n for (var res = 0, i = this.length - 1;i >= 0; i--) {\n var a = this.words[i] | 0, b = num.words[i] | 0;\n if (a !== b) {\n a < b \? res = -1 : a > b && (res = 1);\n break;\n }\n }\n return res;\n }, BN.prototype.gtn = function(num) {\n return this.cmpn(num) === 1;\n }, BN.prototype.gt = function(num) {\n return this.cmp(num) === 1;\n }, BN.prototype.gten = function(num) {\n return this.cmpn(num) >= 0;\n }, BN.prototype.gte = function(num) {\n return this.cmp(num) >= 0;\n }, BN.prototype.ltn = function(num) {\n return this.cmpn(num) === -1;\n }, BN.prototype.lt = function(num) {\n return this.cmp(num) === -1;\n }, BN.prototype.lten = function(num) {\n return this.cmpn(num) <= 0;\n }, BN.prototype.lte = function(num) {\n return this.cmp(num) <= 0;\n }, BN.prototype.eqn = function(num) {\n return this.cmpn(num) === 0;\n }, BN.prototype.eq = function(num) {\n return this.cmp(num) === 0;\n }, BN.red = function(num) {\n return new Red(num);\n }, BN.prototype.toRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), assert(this.negative === 0, \"red works only with positives\"), ctx.convertTo(this)._forceRed(ctx);\n }, BN.prototype.fromRed = function() {\n return assert(this.red, \"fromRed works only with numbers in reduction context\"), this.red.convertFrom(this);\n }, BN.prototype._forceRed = function(ctx) {\n return this.red = ctx, this;\n }, BN.prototype.forceRed = function(ctx) {\n return assert(!this.red, \"Already a number in reduction context\"), this._forceRed(ctx);\n }, BN.prototype.redAdd = function(num) {\n return assert(this.red, \"redAdd works only with red numbers\"), this.red.add(this, num);\n }, BN.prototype.redIAdd = function(num) {\n return assert(this.red, \"redIAdd works only with red numbers\"), this.red.iadd(this, num);\n }, BN.prototype.redSub = function(num) {\n return assert(this.red, \"redSub works only with red numbers\"), this.red.sub(this, num);\n }, BN.prototype.redISub = function(num) {\n return assert(this.red, \"redISub works only with red numbers\"), this.red.isub(this, num);\n }, BN.prototype.redShl = function(num) {\n return assert(this.red, \"redShl works only with red numbers\"), this.red.shl(this, num);\n }, BN.prototype.redMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.mul(this, num);\n }, BN.prototype.redIMul = function(num) {\n return assert(this.red, \"redMul works only with red numbers\"), this.red._verify2(this, num), this.red.imul(this, num);\n }, BN.prototype.redSqr = function() {\n return assert(this.red, \"redSqr works only with red numbers\"), this.red._verify1(this), this.red.sqr(this);\n }, BN.prototype.redISqr = function() {\n return assert(this.red, \"redISqr works only with red numbers\"), this.red._verify1(this), this.red.isqr(this);\n }, BN.prototype.redSqrt = function() {\n return assert(this.red, \"redSqrt works only with red numbers\"), this.red._verify1(this), this.red.sqrt(this);\n }, BN.prototype.redInvm = function() {\n return assert(this.red, \"redInvm works only with red numbers\"), this.red._verify1(this), this.red.invm(this);\n }, BN.prototype.redNeg = function() {\n return assert(this.red, \"redNeg works only with red numbers\"), this.red._verify1(this), this.red.neg(this);\n }, BN.prototype.redPow = function(num) {\n return assert(this.red && !num.red, \"redPow(normalNum)\"), this.red._verify1(this), this.red.pow(this, num);\n };\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n function MPrime(name, p) {\n this.name = name, this.p = new BN(p, 16), this.n = this.p.bitLength(), this.k = new BN(1).iushln(this.n).isub(this.p), this.tmp = this._tmp();\n }\n MPrime.prototype = {}, MPrime.prototype._tmp = function() {\n var tmp = new BN(null);\n return tmp.words = new @Array(Math.ceil(this.n / 13)), tmp;\n }, MPrime.prototype.ireduce = function(num) {\n var r = num, rlen;\n do\n this.split(r, this.tmp), r = this.imulK(r), r = r.iadd(this.tmp), rlen = r.bitLength();\n while (rlen > this.n);\n var cmp = rlen < this.n \? -1 : r.ucmp(this.p);\n return cmp === 0 \? (r.words[0] = 0, r.length = 1) : cmp > 0 \? r.isub(this.p) : r.strip !== void 0 \? r.strip() : r._strip(), r;\n }, MPrime.prototype.split = function(input, out) {\n input.iushrn(this.n, 0, out);\n }, MPrime.prototype.imulK = function(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.@call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime), K256.prototype.split = function(input, output) {\n for (var mask = 4194303, outLen = Math.min(input.length, 9), i = 0;i < outLen; i++)\n output.words[i] = input.words[i];\n if (output.length = outLen, input.length <= 9) {\n input.words[0] = 0, input.length = 1;\n return;\n }\n var prev = input.words[9];\n for (output.words[output.length++] = prev & mask, i = 10;i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22, prev = next;\n }\n prev >>>= 22, input.words[i - 10] = prev, prev === 0 && input.length > 10 \? input.length -= 10 : input.length -= 9;\n }, K256.prototype.imulK = function(num) {\n num.words[num.length] = 0, num.words[num.length + 1] = 0, num.length += 2;\n for (var lo = 0, i = 0;i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 977, num.words[i] = lo & 67108863, lo = w * 64 + (lo / 67108864 | 0);\n }\n return num.words[num.length - 1] === 0 && (num.length--, num.words[num.length - 1] === 0 && num.length--), num;\n };\n function P224() {\n MPrime.@call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.@call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n MPrime.@call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime), P25519.prototype.imulK = function(num) {\n for (var carry = 0, i = 0;i < num.length; i++) {\n var hi = (num.words[i] | 0) * 19 + carry, lo = hi & 67108863;\n hi >>>= 26, num.words[i] = lo, carry = hi;\n }\n return carry !== 0 && (num.words[num.length++] = carry), num;\n }, BN._prime = function(name) {\n if (primes[name])\n return primes[name];\n var prime2;\n if (name === \"k256\")\n prime2 = new K256;\n else if (name === \"p224\")\n prime2 = new P224;\n else if (name === \"p192\")\n prime2 = new P192;\n else if (name === \"p25519\")\n prime2 = new P25519;\n else\n throw new Error(\"Unknown prime \" + name);\n return primes[name] = prime2, prime2;\n };\n function Red(m) {\n if (typeof m == \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p, this.prime = prime;\n } else\n assert(m.gtn(1), \"modulus must be greater than 1\"), this.m = m, this.prime = null;\n }\n Red.prototype = {}, Red.prototype._verify1 = function(a) {\n assert(a.negative === 0, \"red works only with positives\"), assert(a.red, \"red works only with red numbers\");\n }, Red.prototype._verify2 = function(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\"), assert(a.red && a.red === b.red, \"red works only with red numbers\");\n }, Red.prototype.imod = function(a) {\n return this.prime \? this.prime.ireduce(a)._forceRed(this) : a.umod(this.m)._forceRed(this);\n }, Red.prototype.neg = function(a) {\n return a.isZero() \? a.clone() : this.m.sub(a)._forceRed(this);\n }, Red.prototype.add = function(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res._forceRed(this);\n }, Red.prototype.iadd = function(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n return res.cmp(this.m) >= 0 && res.isub(this.m), res;\n }, Red.prototype.sub = function(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res._forceRed(this);\n }, Red.prototype.isub = function(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n return res.cmpn(0) < 0 && res.iadd(this.m), res;\n }, Red.prototype.shl = function(a, num) {\n return this._verify1(a), this.imod(a.ushln(num));\n }, Red.prototype.imul = function(a, b) {\n return this._verify2(a, b), this.imod(a.imul(b));\n }, Red.prototype.mul = function(a, b) {\n return this._verify2(a, b), this.imod(a.mul(b));\n }, Red.prototype.isqr = function(a) {\n return this.imul(a, a.clone());\n }, Red.prototype.sqr = function(a) {\n return this.mul(a, a);\n }, Red.prototype.sqrt = function(a) {\n if (a.isZero())\n return a.clone();\n var mod3 = this.m.andln(3);\n if (assert(mod3 % 2 === 1), mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n for (var q = this.m.subn(1), s = 0;!q.isZero() && q.andln(1) === 0; )\n s++, q.iushrn(1);\n assert(!q.isZero());\n var one = new BN(1).toRed(this), nOne = one.redNeg(), lpow = this.m.subn(1).iushrn(1), z = this.m.bitLength();\n for (z = new BN(2 * z * z).toRed(this);this.pow(z, lpow).cmp(nOne) !== 0; )\n z.redIAdd(nOne);\n for (var c = this.pow(z, q), r = this.pow(a, q.addn(1).iushrn(1)), t = this.pow(a, q), m = s;t.cmp(one) !== 0; ) {\n for (var tmp = t, i = 0;tmp.cmp(one) !== 0; i++)\n tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b), c = b.redSqr(), t = t.redMul(c), m = i;\n }\n return r;\n }, Red.prototype.invm = function(a) {\n var inv = a._invmp(this.m);\n return inv.negative !== 0 \? (inv.negative = 0, this.imod(inv).redNeg()) : this.imod(inv);\n }, Red.prototype.pow = function(a, num) {\n if (num.isZero())\n return new BN(1).toRed(this);\n if (num.cmpn(1) === 0)\n return a.clone();\n var windowSize = 4, wnd = new @Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this), wnd[1] = a;\n for (var i = 2;i < wnd.length; i++)\n wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0], current = 0, currentLen = 0, start = num.bitLength() % 26;\n for (start === 0 && (start = 26), i = num.length - 1;i >= 0; i--) {\n for (var word = num.words[i], j = start - 1;j >= 0; j--) {\n var bit = word >> j & 1;\n if (res !== wnd[0] && (res = this.sqr(res)), bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1, current |= bit, currentLen++, !(currentLen !== windowSize && (i !== 0 || j !== 0)) && (res = this.mul(res, wnd[current]), currentLen = 0, current = 0);\n }\n start = 26;\n }\n return res;\n }, Red.prototype.convertTo = function(num) {\n var r = num.umod(this.m);\n return r === num \? r.clone() : r;\n }, Red.prototype.convertFrom = function(num) {\n var res = num.clone();\n return res.red = null, res;\n }, BN.mont = function(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.@call(this, m), this.shift = this.m.bitLength(), this.shift % 26 !== 0 && (this.shift += 26 - this.shift % 26), this.r = new BN(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red), Mont.prototype.convertTo = function(num) {\n return this.imod(num.ushln(this.shift));\n }, Mont.prototype.convertFrom = function(num) {\n var r = this.imod(num.mul(this.rinv));\n return r.red = null, r;\n }, Mont.prototype.imul = function(a, b) {\n if (a.isZero() || b.isZero())\n return a.words[0] = 0, a.length = 1, a;\n var t = a.imul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.mul = function(a, b) {\n if (a.isZero() || b.isZero())\n return new BN(0)._forceRed(this);\n var t = a.mul(b), c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), u = t.isub(c).iushrn(this.shift), res = u;\n return u.cmp(this.m) >= 0 \? res = u.isub(this.m) : u.cmpn(0) < 0 && (res = u.iadd(this.m)), res._forceRed(this);\n }, Mont.prototype.invm = function(a) {\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n })(typeof module > \"u\" || module, exports);\n }\n}), require_bn2 = require_bn, require_brorand = __commonJS({\n \"node_modules/brorand/index.js\"(exports, module) {\n var r;\n module.exports = function(len) {\n return r || (r = new Rand(null)), r.generate(len);\n };\n function Rand(rand) {\n this.rand = rand;\n }\n Rand.prototype = {}, module.exports.Rand = Rand, Rand.prototype.generate = function(len) {\n return this._rand(len);\n }, Rand.prototype._rand = function(n) {\n var out = new Buffer(n);\n return crypto.getRandomValues(out), out;\n };\n }\n}), require_mr = __commonJS({\n \"node_modules/miller-rabin/lib/mr.js\"(exports, module) {\n var bn = require_bn2(), brorand = require_brorand();\n function MillerRabin(rand) {\n this.rand = rand || new brorand.Rand;\n }\n module.exports = MillerRabin, MillerRabin.create = function(rand) {\n return new MillerRabin(rand);\n }, MillerRabin.prototype = {}, MillerRabin.prototype._randbelow = function(n) {\n var len = n.bitLength(), min_bytes = Math.ceil(len / 8);\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n return a;\n }, MillerRabin.prototype._randrange = function(start, stop) {\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n }, MillerRabin.prototype.test = function(n, k, cb) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red), prime = !0;k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n cb && cb(a);\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return !1;\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return !1;\n }\n }\n return prime;\n }, MillerRabin.prototype.getDivisor = function(n, k) {\n var len = n.bitLength(), red = bn.mont(n), rone = new bn(1).toRed(red);\n k || (k = Math.max(1, len / 48 | 0));\n for (var n1 = n.subn(1), s = 0;!n1.testn(s); s++)\n ;\n for (var d = n.shrn(s), rn1 = n1.toRed(red);k > 0; k--) {\n var a = this._randrange(new bn(2), n1), g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n var x = a.toRed(red).redPow(d);\n if (!(x.cmp(rone) === 0 || x.cmp(rn1) === 0)) {\n for (var i = 1;i < s; i++) {\n if (x = x.redSqr(), x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n if (i === s)\n return x = x.redSqr(), x.fromRed().subn(1).gcd(n);\n }\n }\n return !1;\n };\n }\n}), require_generatePrime = __commonJS({\n \"node_modules/diffie-hellman/lib/generatePrime.js\"(exports, module) {\n var randomBytes = require_browser();\n module.exports = findPrime, findPrime.simpleSieve = simpleSieve, findPrime.fermatTest = fermatTest;\n var BN = require_bn(), TWENTYFOUR = new BN(24), MillerRabin = require_mr(), millerRabin = new MillerRabin, ONE = new BN(1), TWO = new BN(2), FIVE = new BN(5), SIXTEEN = new BN(16), EIGHT = new BN(8), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), ELEVEN = new BN(11), FOUR = new BN(4), TWELVE = new BN(12), primes = null;\n function _getPrimes() {\n if (primes !== null)\n return primes;\n var limit = 1048576, res = [];\n res[0] = 2;\n for (var i = 1, k = 3;k < limit; k += 2) {\n for (var sqrt = Math.ceil(Math.sqrt(k)), j = 0;j < i && res[j] <= sqrt && k % res[j] !== 0; j++)\n ;\n i !== j && res[j] <= sqrt || (res[i++] = k);\n }\n return primes = res, res;\n }\n function simpleSieve(p) {\n for (var primes2 = _getPrimes(), i = 0;i < primes2.length; i++)\n if (p.modn(primes2[i]) === 0)\n return p.cmpn(primes2[i]) === 0;\n return !0;\n }\n function fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n }\n function findPrime(bits, gen) {\n if (bits < 16)\n return gen === 2 || gen === 5 \? new BN([140, 123]) : new BN([140, 39]);\n gen = new BN(gen);\n for (var num, n2;; ) {\n for (num = new BN(randomBytes(Math.ceil(bits / 8)));num.bitLength() > bits; )\n num.ishrn(1);\n if (num.isEven() && num.iadd(ONE), num.testn(1) || num.iadd(TWO), gen.cmp(TWO)) {\n if (!gen.cmp(FIVE))\n for (;num.mod(TEN).cmp(THREE); )\n num.iadd(FOUR);\n } else\n for (;num.mod(TWENTYFOUR).cmp(ELEVEN); )\n num.iadd(FOUR);\n if (n2 = num.shrn(1), simpleSieve(n2) && simpleSieve(num) && fermatTest(n2) && fermatTest(num) && millerRabin.test(n2) && millerRabin.test(num))\n return num;\n }\n }\n }\n}), require_primes = __commonJS({\n \"node_modules/diffie-hellman/lib/primes.json\"(exports, module) {\n module.exports = {\n modp1: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"\n },\n modp2: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"\n },\n modp5: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"\n },\n modp14: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"\n },\n modp15: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"\n },\n modp16: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"\n },\n modp17: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"\n },\n modp18: {\n gen: \"02\",\n prime: \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"\n }\n };\n }\n}), require_dh = __commonJS({\n \"node_modules/diffie-hellman/lib/dh.js\"(exports, module) {\n var BN = require_bn(), MillerRabin = require_mr(), millerRabin = new MillerRabin, TWENTYFOUR = new BN(24), ELEVEN = new BN(11), TEN = new BN(10), THREE = new BN(3), SEVEN = new BN(7), primes = require_generatePrime(), randomBytes = require_browser();\n module.exports = DH;\n function setPublicKey(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this._pub = new BN(pub), this;\n }\n function setPrivateKey(priv, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc)), this._priv = new BN(priv), this;\n }\n var primeCache = {};\n function checkPrime(prime, generator) {\n var gen = generator.toString(\"hex\"), hex = [gen, prime.toString(16)].join(\"_\");\n if (hex in primeCache)\n return primeCache[hex];\n var error = 0;\n if (prime.isEven() || !primes.simpleSieve || !primes.fermatTest(prime) || !millerRabin.test(prime))\n return error += 1, gen === \"02\" || gen === \"05\" \? error += 8 : error += 4, primeCache[hex] = error, error;\n millerRabin.test(prime.shrn(1)) || (error += 2);\n var rem;\n switch (gen) {\n case \"02\":\n prime.mod(TWENTYFOUR).cmp(ELEVEN) && (error += 8);\n break;\n case \"05\":\n rem = prime.mod(TEN), rem.cmp(THREE) && rem.cmp(SEVEN) && (error += 8);\n break;\n default:\n error += 4;\n }\n return primeCache[hex] = error, error;\n }\n function DH(prime, generator, malleable) {\n this.setGenerator(generator), this.__prime = new BN(prime), this._prime = BN.mont(this.__prime), this._primeLen = prime.length, this._pub = void 0, this._priv = void 0, this._primeCode = void 0, malleable \? (this.setPublicKey = setPublicKey, this.setPrivateKey = setPrivateKey) : this._primeCode = 8;\n }\n DH.prototype = {}, Object.defineProperty(DH.prototype, \"verifyError\", {\n enumerable: !0,\n get: function() {\n return typeof this._primeCode != \"number\" && (this._primeCode = checkPrime(this.__prime, this.__gen)), this._primeCode;\n }\n }), DH.prototype.generateKeys = function() {\n return this._priv || (this._priv = new BN(randomBytes(this._primeLen))), this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(), this.getPublicKey();\n }, DH.prototype.computeSecret = function(other) {\n other = new BN(other), other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed(), out = new Buffer(secret.toArray()), prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0), out = Buffer.concat([front, out]);\n }\n return out;\n }, DH.prototype.getPublicKey = function(enc) {\n return formatReturnValue(this._pub, enc);\n }, DH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this._priv, enc);\n }, DH.prototype.getPrime = function(enc) {\n return formatReturnValue(this.__prime, enc);\n }, DH.prototype.getGenerator = function(enc) {\n return formatReturnValue(this._gen, enc);\n }, DH.prototype.setGenerator = function(gen, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(gen) || (gen = new Buffer(gen, enc)), this.__gen = gen, this._gen = new BN(gen), this;\n };\n function formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_browser7 = __commonJS({\n \"node_modules/diffie-hellman/browser.js\"(exports) {\n var generatePrime = require_generatePrime(), primes = require_primes(), DH = require_dh();\n function getDiffieHellman(mod) {\n var prime = new Buffer(primes[mod].prime, \"hex\"), gen = new Buffer(primes[mod].gen, \"hex\");\n return new DH(prime, gen);\n }\n var ENCODINGS = {\n binary: !0,\n hex: !0,\n base64: !0\n };\n function createDiffieHellman(prime, enc, generator, genc) {\n return Buffer.isBuffer(enc) || ENCODINGS[enc] === void 0 \? createDiffieHellman(prime, \"binary\", enc, generator) : (enc = enc || \"binary\", genc = genc || \"binary\", generator = generator || new Buffer([2]), Buffer.isBuffer(generator) || (generator = new Buffer(generator, genc)), typeof prime == \"number\" \? new DH(generatePrime(prime, generator), generator, !0) : (Buffer.isBuffer(prime) || (prime = new Buffer(prime, enc)), new DH(prime, generator, !0)));\n }\n exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman, exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman;\n }\n}), require_bn3 = require_bn, require_browserify_rsa = __commonJS({\n \"node_modules/browserify-rsa/index.js\"(exports, module) {\n var BN = require_bn3(), randomBytes = require_browser();\n function blind(priv) {\n var r = getr(priv), blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();\n return { blinder, unblinder: r.invm(priv.modulus) };\n }\n function getr(priv) {\n var len = priv.modulus.byteLength(), r;\n do\n r = new BN(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2));\n return r;\n }\n function crt(msg, priv) {\n var blinds = blind(priv), len = priv.modulus.byteLength(), blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus), c1 = blinded.toRed(BN.mont(priv.prime1)), c2 = blinded.toRed(BN.mont(priv.prime2)), qinv = priv.coefficient, p = priv.prime1, q = priv.prime2, m1 = c1.redPow(priv.exponent1).fromRed(), m2 = c2.redPow(priv.exponent2).fromRed(), h = m1.isub(m2).imul(qinv).umod(p).imul(q);\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, \"be\", len);\n }\n crt.getr = getr, module.exports = crt;\n }\n}), require_package = __commonJS({\n \"node_modules/elliptic/package.json\"(exports, module) {\n module.exports = {\n name: \"elliptic\",\n version: \"6.5.4\",\n description: \"EC cryptography\",\n main: \"lib/elliptic.js\",\n files: [\"lib\"],\n scripts: {\n lint: \"eslint lib test\",\n \"lint:fix\": \"npm run lint -- --fix\",\n unit: \"istanbul test _mocha --reporter=spec test/index.js\",\n test: \"npm run lint && npm run unit\",\n version: \"grunt dist && git add dist/\"\n },\n repository: {\n type: \"git\",\n url: \"git@github.com:indutny/elliptic\"\n },\n keywords: [\"EC\", \"Elliptic\", \"curve\", \"Cryptography\"],\n author: \"Fedor Indutny <fedor@indutny.com>\",\n license: \"MIT\",\n bugs: {\n url: \"https://github.com/indutny/elliptic/issues\"\n },\n homepage: \"https://github.com/indutny/elliptic\",\n devDependencies: {\n brfs: \"^2.0.2\",\n coveralls: \"^3.1.0\",\n eslint: \"^7.6.0\",\n grunt: \"^1.2.1\",\n \"grunt-browserify\": \"^5.3.0\",\n \"grunt-cli\": \"^1.3.2\",\n \"grunt-contrib-connect\": \"^3.0.0\",\n \"grunt-contrib-copy\": \"^1.0.0\",\n \"grunt-contrib-uglify\": \"^5.0.0\",\n \"grunt-mocha-istanbul\": \"^5.0.2\",\n \"grunt-saucelabs\": \"^9.0.1\",\n istanbul: \"^0.4.5\",\n mocha: \"^8.0.1\"\n },\n dependencies: {\n \"bn.js\": \"^4.11.9\",\n brorand: \"^1.1.0\",\n \"hash.js\": \"^1.0.0\",\n \"hmac-drbg\": \"^1.0.1\",\n inherits: \"^2.0.4\",\n \"minimalistic-assert\": \"^1.0.1\",\n \"minimalistic-crypto-utils\": \"^1.0.1\"\n }\n };\n }\n}), require_bn4 = require_bn, require_utils2 = __commonJS({\n \"node_modules/minimalistic-crypto-utils/lib/utils.js\"(exports) {\n var utils = exports;\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg != \"string\") {\n for (var i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg);\n for (var i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i), hi = c >> 8, lo = c & 255;\n hi \? res.push(hi, lo) : res.push(lo);\n }\n return res;\n }\n utils.toArray = toArray;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n utils.zero2 = zero2;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n utils.toHex = toHex, utils.encode = function(arr, enc) {\n return enc === \"hex\" \? toHex(arr) : arr;\n };\n }\n}), require_utils3 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/utils.js\"(exports) {\n var utils = exports, BN = require_bn4(), minAssert = require_minimalistic_assert(), minUtils = require_utils2();\n utils.assert = minAssert, utils.toArray = minUtils.toArray, utils.zero2 = minUtils.zero2, utils.toHex = minUtils.toHex, utils.encode = minUtils.encode;\n function getNAF(num, w, bits) {\n var naf = new @Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n for (var ws = 1 << w + 1, k = num.clone(), i = 0;i < naf.length; i++) {\n var z, mod = k.andln(ws - 1);\n k.isOdd() \? (mod > (ws >> 1) - 1 \? z = (ws >> 1) - mod : z = mod, k.isubn(z)) : z = 0, naf[i] = z, k.iushrn(1);\n }\n return naf;\n }\n utils.getNAF = getNAF;\n function getJSF(k1, k2) {\n var jsf = [[], []];\n k1 = k1.clone(), k2 = k2.clone();\n for (var d1 = 0, d2 = 0, m8;k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0; ) {\n var m14 = k1.andln(3) + d1 & 3, m24 = k2.andln(3) + d2 & 3;\n m14 === 3 && (m14 = -1), m24 === 3 && (m24 = -1);\n var u1;\n (m14 & 1) === 0 \? u1 = 0 : (m8 = k1.andln(7) + d1 & 7, (m8 === 3 || m8 === 5) && m24 === 2 \? u1 = -m14 : u1 = m14), jsf[0].push(u1);\n var u2;\n (m24 & 1) === 0 \? u2 = 0 : (m8 = k2.andln(7) + d2 & 7, (m8 === 3 || m8 === 5) && m14 === 2 \? u2 = -m24 : u2 = m24), jsf[1].push(u2), 2 * d1 === u1 + 1 && (d1 = 1 - d1), 2 * d2 === u2 + 1 && (d2 = 1 - d2), k1.iushrn(1), k2.iushrn(1);\n }\n return jsf;\n }\n utils.getJSF = getJSF;\n function cachedProperty(obj, name, computer) {\n var key2 = \"_\" + name;\n obj.prototype[name] = function() {\n return this[key2] !== void 0 \? this[key2] : this[key2] = computer.@call(this);\n };\n }\n utils.cachedProperty = cachedProperty;\n function parseBytes(bytes) {\n if (bytes instanceof KeyObject)\n bytes = bytes.export();\n else if (bytes instanceof CryptoKey)\n bytes = KeyObject.from(bytes).export();\n return typeof bytes == \"string\" \? utils.toArray(bytes, \"hex\") : bytes;\n }\n utils.parseBytes = parseBytes;\n function intFromLE(bytes) {\n return new BN(bytes, \"hex\", \"le\");\n }\n utils.intFromLE = intFromLE;\n }\n}), require_base = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/base.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), getNAF = utils.getNAF, getJSF = utils.getJSF, assert = utils.assert;\n function BaseCurve(type, conf) {\n this.type = type, this.p = new BN(conf.p, 16), this.red = conf.prime \? BN.red(conf.prime) : BN.mont(this.p), this.zero = new BN(0).toRed(this.red), this.one = new BN(1).toRed(this.red), this.two = new BN(2).toRed(this.red), this.n = conf.n && new BN(conf.n, 16), this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed), this._wnafT1 = new @Array(4), this._wnafT2 = new @Array(4), this._wnafT3 = new @Array(4), this._wnafT4 = new @Array(4), this._bitLength = this.n \? this.n.bitLength() : 0;\n var adjustCount = this.n && this.p.div(this.n);\n !adjustCount || adjustCount.cmpn(100) > 0 \? this.redN = null : (this._maxwellTrick = !0, this.redN = this.n.toRed(this.red));\n }\n module.exports = BaseCurve, BaseCurve.prototype = {}, BaseCurve.prototype.point = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype.validate = function() {\n throw new Error(\"Not implemented\");\n }, BaseCurve.prototype._fixedNafMul = function(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles(), naf = getNAF(k, 1, this._bitLength), I = (1 << doubles.step + 1) - (doubles.step % 2 === 0 \? 2 : 1);\n I /= 3;\n var repr = [], j, nafW;\n for (j = 0;j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1;l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n for (var a = this.jpoint(null, null, null), b = this.jpoint(null, null, null), i = I;i > 0; i--) {\n for (j = 0;j < repr.length; j++)\n nafW = repr[j], nafW === i \? b = b.mixedAdd(doubles.points[j]) : nafW === -i && (b = b.mixedAdd(doubles.points[j].neg()));\n a = a.add(b);\n }\n return a.toP();\n }, BaseCurve.prototype._wnafMul = function(p, k) {\n var w = 4, nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n for (var wnd = nafPoints.points, naf = getNAF(k, w, this._bitLength), acc = this.jpoint(null, null, null), i = naf.length - 1;i >= 0; i--) {\n for (var l = 0;i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0 && l++, acc = acc.dblp(l), i < 0)\n break;\n var z = naf[i];\n assert(z !== 0), p.type === \"affine\" \? z > 0 \? acc = acc.mixedAdd(wnd[z - 1 >> 1]) : acc = acc.mixedAdd(wnd[-z - 1 >> 1].neg()) : z > 0 \? acc = acc.add(wnd[z - 1 >> 1]) : acc = acc.add(wnd[-z - 1 >> 1].neg());\n }\n return p.type === \"affine\" \? acc.toP() : acc;\n }, BaseCurve.prototype._wnafMulAdd = function(defW, points, coeffs, len, jacobianResult) {\n var wndWidth = this._wnafT1, wnd = this._wnafT2, naf = this._wnafT3, max = 0, i, j, p;\n for (i = 0;i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd, wnd[i] = nafPoints.points;\n }\n for (i = len - 1;i >= 1; i -= 2) {\n var a = i - 1, b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength), naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength), max = Math.max(naf[a].length, max), max = Math.max(naf[b].length, max);\n continue;\n }\n var comb = [points[a], null, null, points[b]];\n points[a].y.cmp(points[b].y) === 0 \? (comb[1] = points[a].add(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg())) : points[a].y.cmp(points[b].y.redNeg()) === 0 \? (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].add(points[b].neg())) : (comb[1] = points[a].toJ().mixedAdd(points[b]), comb[2] = points[a].toJ().mixedAdd(points[b].neg()));\n var index = [-3, -1, -5, -7, 0, 7, 5, 1, 3], jsf = getJSF(coeffs[a], coeffs[b]);\n for (max = Math.max(jsf[0].length, max), naf[a] = new @Array(max), naf[b] = new @Array(max), j = 0;j < max; j++) {\n var ja = jsf[0][j] | 0, jb = jsf[1][j] | 0;\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)], naf[b][j] = 0, wnd[a] = comb;\n }\n }\n var acc = this.jpoint(null, null, null), tmp = this._wnafT4;\n for (i = max;i >= 0; i--) {\n for (var k = 0;i >= 0; ) {\n var zero = !0;\n for (j = 0;j < len; j++)\n tmp[j] = naf[j][i] | 0, tmp[j] !== 0 && (zero = !1);\n if (!zero)\n break;\n k++, i--;\n }\n if (i >= 0 && k++, acc = acc.dblp(k), i < 0)\n break;\n for (j = 0;j < len; j++) {\n var z = tmp[j];\n z !== 0 && (z > 0 \? p = wnd[j][z - 1 >> 1] : z < 0 && (p = wnd[j][-z - 1 >> 1].neg()), p.type === \"affine\" \? acc = acc.mixedAdd(p) : acc = acc.add(p));\n }\n }\n for (i = 0;i < len; i++)\n wnd[i] = null;\n return jacobianResult \? acc : acc.toP();\n };\n function BasePoint(curve, type) {\n this.curve = curve, this.type = type, this.precomputed = null;\n }\n BasePoint.prototype = {}, BaseCurve.BasePoint = BasePoint, BasePoint.prototype.eq = function() {\n throw new Error(\"Not implemented\");\n }, BasePoint.prototype.validate = function() {\n return this.curve.validate(this);\n }, BaseCurve.prototype.decodePoint = function(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n var len = this.p.byteLength();\n if ((bytes[0] === 4 || bytes[0] === 6 || bytes[0] === 7) && bytes.length - 1 === 2 * len) {\n bytes[0] === 6 \? assert(bytes[bytes.length - 1] % 2 === 0) : bytes[0] === 7 && assert(bytes[bytes.length - 1] % 2 === 1);\n var res = this.point(bytes.slice(1, 1 + len), bytes.slice(1 + len, 1 + 2 * len));\n return res;\n } else if ((bytes[0] === 2 || bytes[0] === 3) && bytes.length - 1 === len)\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 3);\n throw new Error(\"Unknown point format\");\n }, BasePoint.prototype.encodeCompressed = function(enc) {\n return this.encode(enc, !0);\n }, BasePoint.prototype._encode = function(compact) {\n var len = this.curve.p.byteLength(), x = this.getX().toArray(\"be\", len);\n return compact \? [this.getY().isEven() \? 2 : 3].concat(x) : [4].concat(x, this.getY().toArray(\"be\", len));\n }, BasePoint.prototype.encode = function(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n }, BasePoint.prototype.precompute = function(power) {\n if (this.precomputed)\n return this;\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n return precomputed.naf = this._getNAFPoints(8), precomputed.doubles = this._getDoubles(4, power), precomputed.beta = this._getBeta(), this.precomputed = precomputed, this;\n }, BasePoint.prototype._hasDoubles = function(k) {\n if (!this.precomputed)\n return !1;\n var doubles = this.precomputed.doubles;\n return doubles \? doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step) : !1;\n }, BasePoint.prototype._getDoubles = function(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n for (var doubles = [this], acc = this, i = 0;i < power; i += step) {\n for (var j = 0;j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step,\n points: doubles\n };\n }, BasePoint.prototype._getNAFPoints = function(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n for (var res = [this], max = (1 << wnd) - 1, dbl = max === 1 \? null : this.dbl(), i = 1;i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd,\n points: res\n };\n }, BasePoint.prototype._getBeta = function() {\n return null;\n }, BasePoint.prototype.dblp = function(k) {\n for (var r = this, i = 0;i < k; i++)\n r = r.dbl();\n return r;\n };\n }\n}), require_short = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/short.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function ShortCurve(conf) {\n Base.@call(this, \"short\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.tinv = this.two.redInvm(), this.zeroA = this.a.fromRed().cmpn(0) === 0, this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0, this.endo = this._getEndomorphism(conf), this._endoWnafT1 = new @Array(4), this._endoWnafT2 = new @Array(4);\n }\n inherits(ShortCurve, Base), module.exports = ShortCurve, ShortCurve.prototype._getEndomorphism = function(conf) {\n if (!(!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)) {\n var beta, lambda;\n if (conf.beta)\n beta = new BN(conf.beta, 16).toRed(this.red);\n else {\n var betas = this._getEndoRoots(this.p);\n beta = betas[0].cmp(betas[1]) < 0 \? betas[0] : betas[1], beta = beta.toRed(this.red);\n }\n if (conf.lambda)\n lambda = new BN(conf.lambda, 16);\n else {\n var lambdas = this._getEndoRoots(this.n);\n this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0 \? lambda = lambdas[0] : (lambda = lambdas[1], assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0));\n }\n var basis;\n return conf.basis \? basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n }) : basis = this._getEndoBasis(lambda), {\n beta,\n lambda,\n basis\n };\n }\n }, ShortCurve.prototype._getEndoRoots = function(num) {\n var red = num === this.p \? this.red : BN.mont(num), tinv = new BN(2).toRed(red).redInvm(), ntinv = tinv.redNeg(), s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv), l1 = ntinv.redAdd(s).fromRed(), l2 = ntinv.redSub(s).fromRed();\n return [l1, l2];\n }, ShortCurve.prototype._getEndoBasis = function(lambda) {\n for (var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)), u = lambda, v = this.n.clone(), x1 = new BN(1), y1 = new BN(0), x2 = new BN(0), y2 = new BN(1), a0, b0, a1, b1, a2, b2, prevR, i = 0, r, x;u.cmpn(0) !== 0; ) {\n var q = v.div(u);\n r = v.sub(q.mul(u)), x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n if (!a1 && r.cmp(aprxSqrt) < 0)\n a0 = prevR.neg(), b0 = x1, a1 = r.neg(), b1 = x;\n else if (a1 && ++i === 2)\n break;\n prevR = r, v = u, u = r, x2 = x1, x1 = x, y2 = y1, y1 = y;\n }\n a2 = r.neg(), b2 = x;\n var len1 = a1.sqr().add(b1.sqr()), len2 = a2.sqr().add(b2.sqr());\n return len2.cmp(len1) >= 0 && (a2 = a0, b2 = b0), a1.negative && (a1 = a1.neg(), b1 = b1.neg()), a2.negative && (a2 = a2.neg(), b2 = b2.neg()), [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n }, ShortCurve.prototype._endoSplit = function(k) {\n var basis = this.endo.basis, v1 = basis[0], v2 = basis[1], c1 = v2.b.mul(k).divRound(this.n), c2 = v1.b.neg().mul(k).divRound(this.n), p1 = c1.mul(v1.a), p2 = c2.mul(v2.a), q1 = c1.mul(v1.b), q2 = c2.mul(v2.b), k1 = k.sub(p1).sub(p2), k2 = q1.add(q2).neg();\n return { k1, k2 };\n }, ShortCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, ShortCurve.prototype.validate = function(point) {\n if (point.inf)\n return !0;\n var { x, y } = point, ax = this.a.redMul(x), rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n }, ShortCurve.prototype._endoWnafMulAdd = function(points, coeffs, jacobianResult) {\n for (var npoints = this._endoWnafT1, ncoeffs = this._endoWnafT2, i = 0;i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]), p = points[i], beta = p._getBeta();\n split.k1.negative && (split.k1.ineg(), p = p.neg(!0)), split.k2.negative && (split.k2.ineg(), beta = beta.neg(!0)), npoints[i * 2] = p, npoints[i * 2 + 1] = beta, ncoeffs[i * 2] = split.k1, ncoeffs[i * 2 + 1] = split.k2;\n }\n for (var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult), j = 0;j < i * 2; j++)\n npoints[j] = null, ncoeffs[j] = null;\n return res;\n };\n function Point(curve, x, y, isRed) {\n Base.BasePoint.@call(this, curve, \"affine\"), x === null && y === null \? (this.x = null, this.y = null, this.inf = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), isRed && (this.x.forceRed(this.curve.red), this.y.forceRed(this.curve.red)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.inf = !1);\n }\n inherits(Point, Base.BasePoint), ShortCurve.prototype.point = function(x, y, isRed) {\n return new Point(this, x, y, isRed);\n }, ShortCurve.prototype.pointFromJSON = function(obj, red) {\n return Point.fromJSON(this, obj, red);\n }, Point.prototype._getBeta = function() {\n if (this.curve.endo) {\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve, endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta, beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n }\n }, Point.prototype.toJSON = function() {\n return this.precomputed \? [\n this.x,\n this.y,\n this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n }\n ] : [this.x, this.y];\n }, Point.fromJSON = function(curve, obj, red) {\n typeof obj == \"string\" && (obj = JSON.parse(obj));\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n function obj2point(obj2) {\n return curve.point(obj2[0], obj2[1], red);\n }\n var pre = obj[2];\n return res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [res].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [res].concat(pre.naf.points.map(obj2point))\n }\n }, res;\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.inf;\n }, Point.prototype.add = function(p) {\n if (this.inf)\n return p;\n if (p.inf)\n return this;\n if (this.eq(p))\n return this.dbl();\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n var c = this.y.redSub(p.y);\n c.cmpn(0) !== 0 && (c = c.redMul(this.x.redSub(p.x).redInvm()));\n var nx = c.redSqr().redISub(this.x).redISub(p.x), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.dbl = function() {\n if (this.inf)\n return this;\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n var a = this.curve.a, x2 = this.x.redSqr(), dyinv = ys1.redInvm(), c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv), nx = c.redSqr().redISub(this.x.redAdd(this.x)), ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n }, Point.prototype.getX = function() {\n return this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.y.fromRed();\n }, Point.prototype.mul = function(k) {\n return k = new BN(k, 16), this.isInfinity() \? this : this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve.endo \? this.curve._endoWnafMulAdd([this], [k]) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs) : this.curve._wnafMulAdd(1, points, coeffs, 2);\n }, Point.prototype.jmulAdd = function(k1, p2, k2) {\n var points = [this, p2], coeffs = [k1, k2];\n return this.curve.endo \? this.curve._endoWnafMulAdd(points, coeffs, !0) : this.curve._wnafMulAdd(1, points, coeffs, 2, !0);\n }, Point.prototype.eq = function(p) {\n return this === p || this.inf === p.inf && (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n }, Point.prototype.neg = function(_precompute) {\n if (this.inf)\n return this;\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed, negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n }, Point.prototype.toJ = function() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n };\n function JPoint(curve, x, y, z) {\n Base.BasePoint.@call(this, curve, \"jacobian\"), x === null && y === null && z === null \? (this.x = this.curve.one, this.y = this.curve.one, this.z = new BN(0)) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = new BN(z, 16)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.zOne = this.z === this.curve.one;\n }\n inherits(JPoint, Base.BasePoint), ShortCurve.prototype.jpoint = function(x, y, z) {\n return new JPoint(this, x, y, z);\n }, JPoint.prototype.toP = function() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n var zinv = this.z.redInvm(), zinv2 = zinv.redSqr(), ax = this.x.redMul(zinv2), ay = this.y.redMul(zinv2).redMul(zinv);\n return this.curve.point(ax, ay);\n }, JPoint.prototype.neg = function() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n }, JPoint.prototype.add = function(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n var pz2 = p.z.redSqr(), z2 = this.z.redSqr(), u1 = this.x.redMul(pz2), u2 = p.x.redMul(z2), s1 = this.y.redMul(pz2.redMul(p.z)), s2 = p.y.redMul(z2.redMul(this.z)), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(p.z).redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mixedAdd = function(p) {\n if (this.isInfinity())\n return p.toJ();\n if (p.isInfinity())\n return this;\n var z2 = this.z.redSqr(), u1 = this.x, u2 = p.x.redMul(z2), s1 = this.y, s2 = p.y.redMul(z2).redMul(this.z), h = u1.redSub(u2), r = s1.redSub(s2);\n if (h.cmpn(0) === 0)\n return r.cmpn(0) !== 0 \? this.curve.jpoint(null, null, null) : this.dbl();\n var h2 = h.redSqr(), h3 = h2.redMul(h), v = u1.redMul(h2), nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v), ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)), nz = this.z.redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.dblp = function(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0;i < pow; i++)\n r = r.dbl();\n return r;\n }\n var a = this.curve.a, tinv = this.curve.tinv, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jyd = jy.redAdd(jy);\n for (i = 0;i < pow; i++) {\n var jx2 = jx.redSqr(), jyd2 = jyd.redSqr(), jyd4 = jyd2.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), t1 = jx.redMul(jyd2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n i + 1 < pow && (jz4 = jz4.redMul(jyd4)), jx = nx, jz = nz, jyd = dny;\n }\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n }, JPoint.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.zeroA \? this._zeroDbl() : this.curve.threeA \? this._threeDbl() : this._dbl();\n }, JPoint.prototype._zeroDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx), t = m.redSqr().redISub(s).redISub(s), yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), nx = t, ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = b.redSqr(), d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n var e = a.redAdd(a).redIAdd(a), f = e.redSqr(), c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8), c8 = c8.redIAdd(c8), nx = f.redISub(d).redISub(d), ny = e.redMul(d.redISub(nx)).redISub(c8), nz = this.y.redMul(this.z), nz = nz.redIAdd(nz);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._threeDbl = function() {\n var nx, ny, nz;\n if (this.zOne) {\n var xx = this.x.redSqr(), yy = this.y.redSqr(), yyyy = yy.redSqr(), s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a), t = m.redSqr().redISub(s).redISub(s);\n nx = t;\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8), yyyy8 = yyyy8.redIAdd(yyyy8), ny = m.redMul(s.redISub(t)).redISub(yyyy8), nz = this.y.redAdd(this.y);\n } else {\n var delta = this.z.redSqr(), gamma = this.y.redSqr(), beta = this.x.redMul(gamma), alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8), nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ggamma8 = ggamma8.redIAdd(ggamma8), ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype._dbl = function() {\n var a = this.curve.a, jx = this.x, jy = this.y, jz = this.z, jz4 = jz.redSqr().redSqr(), jx2 = jx.redSqr(), jy2 = jy.redSqr(), c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)), jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2), nx = c.redSqr().redISub(t1.redAdd(t1)), t2 = t1.redISub(nx), jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8), jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8), nz = jy.redAdd(jy).redMul(jz);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.trpl = function() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n var xx = this.x.redSqr(), yy = this.y.redSqr(), zz = this.z.redSqr(), yyyy = yy.redSqr(), m = xx.redAdd(xx).redIAdd(xx), mm = m.redSqr(), e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e), e = e.redAdd(e).redIAdd(e), e = e.redISub(mm);\n var ee = e.redSqr(), t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t), t = t.redIAdd(t), t = t.redIAdd(t);\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t), yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4), yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx), nx = nx.redIAdd(nx);\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny), ny = ny.redIAdd(ny), ny = ny.redIAdd(ny);\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n return this.curve.jpoint(nx, ny, nz);\n }, JPoint.prototype.mul = function(k, kbase) {\n return k = new BN(k, kbase), this.curve._wnafMul(this, k);\n }, JPoint.prototype.eq = function(p) {\n if (p.type === \"affine\")\n return this.eq(p.toJ());\n if (this === p)\n return !0;\n var z2 = this.z.redSqr(), pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return !1;\n var z3 = z2.redMul(this.z), pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n }, JPoint.prototype.eqXToP = function(x) {\n var zs = this.z.redSqr(), rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(zs);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, JPoint.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC JPoint Infinity>\" : \"<EC JPoint x: \" + this.x.toString(16, 2) + \" y: \" + this.y.toString(16, 2) + \" z: \" + this.z.toString(16, 2) + \">\";\n }, JPoint.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n };\n }\n}), require_mont = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/mont.js\"(exports, module) {\n var BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), utils = require_utils3();\n function MontCurve(conf) {\n Base.@call(this, \"mont\", conf), this.a = new BN(conf.a, 16).toRed(this.red), this.b = new BN(conf.b, 16).toRed(this.red), this.i4 = new BN(4).toRed(this.red).redInvm(), this.two = new BN(2).toRed(this.red), this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n }\n inherits(MontCurve, Base), module.exports = MontCurve, MontCurve.prototype.validate = function(point) {\n var x = point.normalize().x, x2 = x.redSqr(), rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x), y = rhs.redSqrt();\n return y.redSqr().cmp(rhs) === 0;\n };\n function Point(curve, x, z) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && z === null \? (this.x = this.curve.one, this.z = this.curve.zero) : (this.x = new BN(x, 16), this.z = new BN(z, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)));\n }\n inherits(Point, Base.BasePoint), MontCurve.prototype.decodePoint = function(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n }, MontCurve.prototype.point = function(x, z) {\n return new Point(this, x, z);\n }, MontCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, Point.prototype.precompute = function() {\n }, Point.prototype._encode = function() {\n return this.getX().toArray(\"be\", this.curve.p.byteLength());\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.z.cmpn(0) === 0;\n }, Point.prototype.dbl = function() {\n var a = this.x.redAdd(this.z), aa = a.redSqr(), b = this.x.redSub(this.z), bb = b.redSqr(), c = aa.redSub(bb), nx = aa.redMul(bb), nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n }, Point.prototype.add = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.diffAdd = function(p, diff) {\n var a = this.x.redAdd(this.z), b = this.x.redSub(this.z), c = p.x.redAdd(p.z), d = p.x.redSub(p.z), da = d.redMul(a), cb = c.redMul(b), nx = diff.z.redMul(da.redAdd(cb).redSqr()), nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n }, Point.prototype.mul = function(k) {\n for (var t = k.clone(), a = this, b = this.curve.point(null, null), c = this, bits = [];t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n for (var i = bits.length - 1;i >= 0; i--)\n bits[i] === 0 \? (a = a.diffAdd(b, c), b = b.dbl()) : (b = a.diffAdd(b, c), a = a.dbl());\n return b;\n }, Point.prototype.mulAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.jumlAdd = function() {\n throw new Error(\"Not supported on Montgomery curve\");\n }, Point.prototype.eq = function(other) {\n return this.getX().cmp(other.getX()) === 0;\n }, Point.prototype.normalize = function() {\n return this.x = this.x.redMul(this.z.redInvm()), this.z = this.curve.one, this;\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n };\n }\n}), require_edwards = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/edwards.js\"(exports, module) {\n var utils = require_utils3(), BN = require_bn4(), inherits = require_inherits_browser(), Base = require_base(), assert = utils.assert;\n function EdwardsCurve(conf) {\n this.twisted = (conf.a | 0) !== 1, this.mOneA = this.twisted && (conf.a | 0) === -1, this.extended = this.mOneA, Base.@call(this, \"edwards\", conf), this.a = new BN(conf.a, 16).umod(this.red.m), this.a = this.a.toRed(this.red), this.c = new BN(conf.c, 16).toRed(this.red), this.c2 = this.c.redSqr(), this.d = new BN(conf.d, 16).toRed(this.red), this.dd = this.d.redAdd(this.d), assert(!this.twisted || this.c.fromRed().cmpn(1) === 0), this.oneC = (conf.c | 0) === 1;\n }\n inherits(EdwardsCurve, Base), module.exports = EdwardsCurve, EdwardsCurve.prototype._mulA = function(num) {\n return this.mOneA \? num.redNeg() : this.a.redMul(num);\n }, EdwardsCurve.prototype._mulC = function(num) {\n return this.oneC \? num : this.c.redMul(num);\n }, EdwardsCurve.prototype.jpoint = function(x, y, z, t) {\n return this.point(x, y, z, t);\n }, EdwardsCurve.prototype.pointFromX = function(x, odd) {\n x = new BN(x, 16), x.red || (x = x.toRed(this.red));\n var x2 = x.redSqr(), rhs = this.c2.redSub(this.a.redMul(x2)), lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)), y2 = rhs.redMul(lhs.redInvm()), y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n return (odd && !isOdd || !odd && isOdd) && (y = y.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.pointFromY = function(y, odd) {\n y = new BN(y, 16), y.red || (y = y.toRed(this.red));\n var y2 = y.redSqr(), lhs = y2.redSub(this.c2), rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a), x2 = lhs.redMul(rhs.redInvm());\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error(\"invalid point\");\n return this.point(this.zero, y);\n }\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error(\"invalid point\");\n return x.fromRed().isOdd() !== odd && (x = x.redNeg()), this.point(x, y);\n }, EdwardsCurve.prototype.validate = function(point) {\n if (point.isInfinity())\n return !0;\n point.normalize();\n var x2 = point.x.redSqr(), y2 = point.y.redSqr(), lhs = x2.redMul(this.a).redAdd(y2), rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n return lhs.cmp(rhs) === 0;\n };\n function Point(curve, x, y, z, t) {\n Base.BasePoint.@call(this, curve, \"projective\"), x === null && y === null && z === null \? (this.x = this.curve.zero, this.y = this.curve.one, this.z = this.curve.one, this.t = this.curve.zero, this.zOne = !0) : (this.x = new BN(x, 16), this.y = new BN(y, 16), this.z = z \? new BN(z, 16) : this.curve.one, this.t = t && new BN(t, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.t && !this.t.red && (this.t = this.t.toRed(this.curve.red)), this.zOne = this.z === this.curve.one, this.curve.extended && !this.t && (this.t = this.x.redMul(this.y), this.zOne || (this.t = this.t.redMul(this.z.redInvm()))));\n }\n inherits(Point, Base.BasePoint), EdwardsCurve.prototype.pointFromJSON = function(obj) {\n return Point.fromJSON(this, obj);\n }, EdwardsCurve.prototype.point = function(x, y, z, t) {\n return new Point(this, x, y, z, t);\n }, Point.fromJSON = function(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n }, Point.prototype.inspect = function() {\n return this.isInfinity() \? \"<EC Point Infinity>\" : \"<EC Point x: \" + this.x.fromRed().toString(16, 2) + \" y: \" + this.y.fromRed().toString(16, 2) + \" z: \" + this.z.fromRed().toString(16, 2) + \">\";\n }, Point.prototype.isInfinity = function() {\n return this.x.cmpn(0) === 0 && (this.y.cmp(this.z) === 0 || this.zOne && this.y.cmp(this.curve.c) === 0);\n }, Point.prototype._extDbl = function() {\n var a = this.x.redSqr(), b = this.y.redSqr(), c = this.z.redSqr();\n c = c.redIAdd(c);\n var d = this.curve._mulA(a), e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b), g = d.redAdd(b), f = g.redSub(c), h = d.redSub(b), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projDbl = function() {\n var b = this.x.redAdd(this.y).redSqr(), c = this.x.redSqr(), d = this.y.redSqr(), nx, ny, nz, e, h, j;\n if (this.curve.twisted) {\n e = this.curve._mulA(c);\n var f = e.redAdd(d);\n this.zOne \? (nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)), ny = f.redMul(e.redSub(d)), nz = f.redSqr().redSub(f).redSub(f)) : (h = this.z.redSqr(), j = f.redSub(h).redISub(h), nx = b.redSub(c).redISub(d).redMul(j), ny = f.redMul(e.redSub(d)), nz = f.redMul(j));\n } else\n e = c.redAdd(d), h = this.curve._mulC(this.z).redSqr(), j = e.redSub(h).redSub(h), nx = this.curve._mulC(b.redISub(e)).redMul(j), ny = this.curve._mulC(e).redMul(c.redISub(d)), nz = e.redMul(j);\n return this.curve.point(nx, ny, nz);\n }, Point.prototype.dbl = function() {\n return this.isInfinity() \? this : this.curve.extended \? this._extDbl() : this._projDbl();\n }, Point.prototype._extAdd = function(p) {\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)), b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)), c = this.t.redMul(this.curve.dd).redMul(p.t), d = this.z.redMul(p.z.redAdd(p.z)), e = b.redSub(a), f = d.redSub(c), g = d.redAdd(c), h = b.redAdd(a), nx = e.redMul(f), ny = g.redMul(h), nt = e.redMul(h), nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n }, Point.prototype._projAdd = function(p) {\n var a = this.z.redMul(p.z), b = a.redSqr(), c = this.x.redMul(p.x), d = this.y.redMul(p.y), e = this.curve.d.redMul(c).redMul(d), f = b.redSub(e), g = b.redAdd(e), tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d), nx = a.redMul(f).redMul(tmp), ny, nz;\n return this.curve.twisted \? (ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))), nz = f.redMul(g)) : (ny = a.redMul(g).redMul(d.redSub(c)), nz = this.curve._mulC(f).redMul(g)), this.curve.point(nx, ny, nz);\n }, Point.prototype.add = function(p) {\n return this.isInfinity() \? p : p.isInfinity() \? this : this.curve.extended \? this._extAdd(p) : this._projAdd(p);\n }, Point.prototype.mul = function(k) {\n return this._hasDoubles(k) \? this.curve._fixedNafMul(this, k) : this.curve._wnafMul(this, k);\n }, Point.prototype.mulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !1);\n }, Point.prototype.jmulAdd = function(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, !0);\n }, Point.prototype.normalize = function() {\n if (this.zOne)\n return this;\n var zi = this.z.redInvm();\n return this.x = this.x.redMul(zi), this.y = this.y.redMul(zi), this.t && (this.t = this.t.redMul(zi)), this.z = this.curve.one, this.zOne = !0, this;\n }, Point.prototype.neg = function() {\n return this.curve.point(this.x.redNeg(), this.y, this.z, this.t && this.t.redNeg());\n }, Point.prototype.getX = function() {\n return this.normalize(), this.x.fromRed();\n }, Point.prototype.getY = function() {\n return this.normalize(), this.y.fromRed();\n }, Point.prototype.eq = function(other) {\n return this === other || this.getX().cmp(other.getX()) === 0 && this.getY().cmp(other.getY()) === 0;\n }, Point.prototype.eqXToP = function(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return !0;\n for (var xc = x.clone(), t = this.curve.redN.redMul(this.z);; ) {\n if (xc.iadd(this.curve.n), xc.cmp(this.curve.p) >= 0)\n return !1;\n if (rx.redIAdd(t), this.x.cmp(rx) === 0)\n return !0;\n }\n }, Point.prototype.toP = Point.prototype.normalize, Point.prototype.mixedAdd = Point.prototype.add;\n }\n}), require_curve = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curve/index.js\"(exports) {\n var curve = exports;\n curve.base = require_base(), curve.short = require_short(), curve.mont = require_mont(), curve.edwards = require_edwards();\n }\n}), require_utils4 = __commonJS({\n \"node_modules/hash.js/lib/hash/utils.js\"(exports) {\n var assert = require_minimalistic_assert(), inherits = require_inherits_browser();\n exports.inherits = inherits;\n function isSurrogatePair(msg, i) {\n return (msg.charCodeAt(i) & 64512) !== 55296 || i < 0 || i + 1 >= msg.length \? !1 : (msg.charCodeAt(i + 1) & 64512) === 56320;\n }\n function toArray(msg, enc) {\n if (@Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg == \"string\")\n if (enc) {\n if (enc === \"hex\")\n for (msg = msg.replace(/[^a-z0-9]+/gi, \"\"), msg.length % 2 !== 0 && (msg = \"0\" + msg), i = 0;i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else\n for (var p = 0, i = 0;i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n c < 128 \? res[p++] = c : c < 2048 \? (res[p++] = c >> 6 | 192, res[p++] = c & 63 | 128) : isSurrogatePair(msg, i) \? (c = 65536 + ((c & 1023) << 10) + (msg.charCodeAt(++i) & 1023), res[p++] = c >> 18 | 240, res[p++] = c >> 12 & 63 | 128, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128) : (res[p++] = c >> 12 | 224, res[p++] = c >> 6 & 63 | 128, res[p++] = c & 63 | 128);\n }\n else\n for (i = 0;i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n exports.toArray = toArray;\n function toHex(msg) {\n for (var res = \"\", i = 0;i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n }\n exports.toHex = toHex;\n function htonl(w) {\n var res = w >>> 24 | w >>> 8 & 65280 | w << 8 & 16711680 | (w & 255) << 24;\n return res >>> 0;\n }\n exports.htonl = htonl;\n function toHex32(msg, endian) {\n for (var res = \"\", i = 0;i < msg.length; i++) {\n var w = msg[i];\n endian === \"little\" && (w = htonl(w)), res += zero8(w.toString(16));\n }\n return res;\n }\n exports.toHex32 = toHex32;\n function zero2(word) {\n return word.length === 1 \? \"0\" + word : word;\n }\n exports.zero2 = zero2;\n function zero8(word) {\n return word.length === 7 \? \"0\" + word : word.length === 6 \? \"00\" + word : word.length === 5 \? \"000\" + word : word.length === 4 \? \"0000\" + word : word.length === 3 \? \"00000\" + word : word.length === 2 \? \"000000\" + word : word.length === 1 \? \"0000000\" + word : word;\n }\n exports.zero8 = zero8;\n function join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n for (var res = new @Array(len / 4), i = 0, k = start;i < res.length; i++, k += 4) {\n var w;\n endian === \"big\" \? w = msg[k] << 24 | msg[k + 1] << 16 | msg[k + 2] << 8 | msg[k + 3] : w = msg[k + 3] << 24 | msg[k + 2] << 16 | msg[k + 1] << 8 | msg[k], res[i] = w >>> 0;\n }\n return res;\n }\n exports.join32 = join32;\n function split32(msg, endian) {\n for (var res = new @Array(msg.length * 4), i = 0, k = 0;i < msg.length; i++, k += 4) {\n var m = msg[i];\n endian === \"big\" \? (res[k] = m >>> 24, res[k + 1] = m >>> 16 & 255, res[k + 2] = m >>> 8 & 255, res[k + 3] = m & 255) : (res[k + 3] = m >>> 24, res[k + 2] = m >>> 16 & 255, res[k + 1] = m >>> 8 & 255, res[k] = m & 255);\n }\n return res;\n }\n exports.split32 = split32;\n function rotr32(w, b) {\n return w >>> b | w << 32 - b;\n }\n exports.rotr32 = rotr32;\n function rotl32(w, b) {\n return w << b | w >>> 32 - b;\n }\n exports.rotl32 = rotl32;\n function sum32(a, b) {\n return a + b >>> 0;\n }\n exports.sum32 = sum32;\n function sum32_3(a, b, c) {\n return a + b + c >>> 0;\n }\n exports.sum32_3 = sum32_3;\n function sum32_4(a, b, c, d) {\n return a + b + c + d >>> 0;\n }\n exports.sum32_4 = sum32_4;\n function sum32_5(a, b, c, d, e) {\n return a + b + c + d + e >>> 0;\n }\n exports.sum32_5 = sum32_5;\n function sum64(buf, pos, ah, al) {\n var bh = buf[pos], bl = buf[pos + 1], lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0, buf[pos + 1] = lo;\n }\n exports.sum64 = sum64;\n function sum64_hi(ah, al, bh, bl) {\n var lo = al + bl >>> 0, hi = (lo < al \? 1 : 0) + ah + bh;\n return hi >>> 0;\n }\n exports.sum64_hi = sum64_hi;\n function sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n }\n exports.sum64_lo = sum64_lo;\n function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0;\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n }\n exports.sum64_4_hi = sum64_4_hi;\n function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n }\n exports.sum64_4_lo = sum64_4_lo;\n function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0, lo = al;\n lo = lo + bl >>> 0, carry += lo < al \? 1 : 0, lo = lo + cl >>> 0, carry += lo < cl \? 1 : 0, lo = lo + dl >>> 0, carry += lo < dl \? 1 : 0, lo = lo + el >>> 0, carry += lo < el \? 1 : 0;\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n }\n exports.sum64_5_hi = sum64_5_hi;\n function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n return lo >>> 0;\n }\n exports.sum64_5_lo = sum64_5_lo;\n function rotr64_hi(ah, al, num) {\n var r = al << 32 - num | ah >>> num;\n return r >>> 0;\n }\n exports.rotr64_hi = rotr64_hi;\n function rotr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.rotr64_lo = rotr64_lo;\n function shr64_hi(ah, al, num) {\n return ah >>> num;\n }\n exports.shr64_hi = shr64_hi;\n function shr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n }\n exports.shr64_lo = shr64_lo;\n }\n}), require_common = __commonJS({\n \"node_modules/hash.js/lib/hash/common.js\"(exports) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function BlockHash() {\n this.pending = null, this.pendingTotal = 0, this.blockSize = this.constructor.blockSize, this.outSize = this.constructor.outSize, this.hmacStrength = this.constructor.hmacStrength, this.padLength = this.constructor.padLength / 8, this.endian = \"big\", this._delta8 = this.blockSize / 8, this._delta32 = this.blockSize / 32;\n }\n BlockHash.prototype = {}, exports.BlockHash = BlockHash, BlockHash.prototype.update = function(msg, enc) {\n if (msg = utils.toArray(msg, enc), this.pending \? this.pending = this.pending.concat(msg) : this.pending = msg, this.pendingTotal += msg.length, this.pending.length >= this._delta8) {\n msg = this.pending;\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length), this.pending.length === 0 && (this.pending = null), msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0;i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n return this;\n }, BlockHash.prototype.digest = function(enc) {\n return this.update(this._pad()), assert(this.pending === null), this._digest(enc);\n }, BlockHash.prototype._pad = function() {\n var len = this.pendingTotal, bytes = this._delta8, k = bytes - (len + this.padLength) % bytes, res = new @Array(k + this.padLength);\n res[0] = 128;\n for (var i = 1;i < k; i++)\n res[i] = 0;\n if (len <<= 3, this.endian === \"big\") {\n for (var t = 8;t < this.padLength; t++)\n res[i++] = 0;\n res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = len >>> 24 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 8 & 255, res[i++] = len & 255;\n } else\n for (res[i++] = len & 255, res[i++] = len >>> 8 & 255, res[i++] = len >>> 16 & 255, res[i++] = len >>> 24 & 255, res[i++] = 0, res[i++] = 0, res[i++] = 0, res[i++] = 0, t = 8;t < this.padLength; t++)\n res[i++] = 0;\n return res;\n };\n }\n}), require_common2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/common.js\"(exports) {\n var utils = require_utils4(), rotr32 = utils.rotr32;\n function ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n }\n exports.ft_1 = ft_1;\n function ch32(x, y, z) {\n return x & y ^ ~x & z;\n }\n exports.ch32 = ch32;\n function maj32(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n exports.maj32 = maj32;\n function p32(x, y, z) {\n return x ^ y ^ z;\n }\n exports.p32 = p32;\n function s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n }\n exports.s0_256 = s0_256;\n function s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n }\n exports.s1_256 = s1_256;\n function g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ x >>> 3;\n }\n exports.g0_256 = g0_256;\n function g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ x >>> 10;\n }\n exports.g1_256 = g1_256;\n }\n}), require__ = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/1.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_5 = utils.sum32_5, ft_1 = shaCommon.ft_1, BlockHash = common.BlockHash, sha1_K = [1518500249, 1859775393, 2400959708, 3395469782];\n function SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.W = new @Array(80);\n }\n utils.inherits(SHA1, BlockHash), module.exports = SHA1, SHA1.blockSize = 512, SHA1.outSize = 160, SHA1.hmacStrength = 80, SHA1.padLength = 64, SHA1.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4];\n for (i = 0;i < W.length; i++) {\n var s = ~~(i / 20), t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d, d = c, c = rotl32(b, 30), b = a, a = t;\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e);\n }, SHA1.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__2 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/256.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), shaCommon = require_common2(), assert = require_minimalistic_assert(), sum32 = utils.sum32, sum32_4 = utils.sum32_4, sum32_5 = utils.sum32_5, ch32 = shaCommon.ch32, maj32 = shaCommon.maj32, s0_256 = shaCommon.s0_256, s1_256 = shaCommon.s1_256, g0_256 = shaCommon.g0_256, g1_256 = shaCommon.g1_256, BlockHash = common.BlockHash, sha256_K = [\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n ];\n function SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256;\n BlockHash.@call(this), this.h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.k = sha256_K, this.W = new @Array(64);\n }\n utils.inherits(SHA256, BlockHash), module.exports = SHA256, SHA256.blockSize = 512, SHA256.outSize = 256, SHA256.hmacStrength = 192, SHA256.padLength = 64, SHA256.prototype._update = function(msg, start) {\n for (var W = this.W, i = 0;i < 16; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n var a = this.h[0], b = this.h[1], c = this.h[2], d = this.h[3], e = this.h[4], f = this.h[5], g = this.h[6], h = this.h[7];\n for (assert(this.k.length === W.length), i = 0;i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]), T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g, g = f, f = e, e = sum32(d, T1), d = c, c = b, b = a, a = sum32(T1, T2);\n }\n this.h[0] = sum32(this.h[0], a), this.h[1] = sum32(this.h[1], b), this.h[2] = sum32(this.h[2], c), this.h[3] = sum32(this.h[3], d), this.h[4] = sum32(this.h[4], e), this.h[5] = sum32(this.h[5], f), this.h[6] = sum32(this.h[6], g), this.h[7] = sum32(this.h[7], h);\n }, SHA256.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n }\n}), require__3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/224.js\"(exports, module) {\n var utils = require_utils4(), SHA256 = require__2();\n function SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224;\n SHA256.@call(this), this.h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n }\n utils.inherits(SHA224, SHA256), module.exports = SHA224, SHA224.blockSize = 512, SHA224.outSize = 224, SHA224.hmacStrength = 192, SHA224.padLength = 64, SHA224.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 7), \"big\") : utils.split32(this.h.slice(0, 7), \"big\");\n };\n }\n}), require__4 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/512.js\"(exports, module) {\n var utils = require_utils4(), common = require_common(), assert = require_minimalistic_assert(), rotr64_hi = utils.rotr64_hi, rotr64_lo = utils.rotr64_lo, shr64_hi = utils.shr64_hi, shr64_lo = utils.shr64_lo, sum64 = utils.sum64, sum64_hi = utils.sum64_hi, sum64_lo = utils.sum64_lo, sum64_4_hi = utils.sum64_4_hi, sum64_4_lo = utils.sum64_4_lo, sum64_5_hi = utils.sum64_5_hi, sum64_5_lo = utils.sum64_5_lo, BlockHash = common.BlockHash, sha512_K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ];\n function SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512;\n BlockHash.@call(this), this.h = [\n 1779033703,\n 4089235720,\n 3144134277,\n 2227873595,\n 1013904242,\n 4271175723,\n 2773480762,\n 1595750129,\n 1359893119,\n 2917565137,\n 2600822924,\n 725511199,\n 528734635,\n 4215389547,\n 1541459225,\n 327033209\n ], this.k = sha512_K, this.W = new @Array(160);\n }\n utils.inherits(SHA512, BlockHash), module.exports = SHA512, SHA512.blockSize = 1024, SHA512.outSize = 512, SHA512.hmacStrength = 192, SHA512.padLength = 128, SHA512.prototype._prepareBlock = function(msg, start) {\n for (var W = this.W, i = 0;i < 32; i++)\n W[i] = msg[start + i];\n for (;i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]), c0_lo = g1_512_lo(W[i - 4], W[i - 3]), c1_hi = W[i - 14], c1_lo = W[i - 13], c2_hi = g0_512_hi(W[i - 30], W[i - 29]), c2_lo = g0_512_lo(W[i - 30], W[i - 29]), c3_hi = W[i - 32], c3_lo = W[i - 31];\n W[i] = sum64_4_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo), W[i + 1] = sum64_4_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);\n }\n }, SHA512.prototype._update = function(msg, start) {\n this._prepareBlock(msg, start);\n var W = this.W, ah = this.h[0], al = this.h[1], bh = this.h[2], bl = this.h[3], ch = this.h[4], cl = this.h[5], dh = this.h[6], dl = this.h[7], eh = this.h[8], el = this.h[9], fh = this.h[10], fl = this.h[11], gh = this.h[12], gl = this.h[13], hh = this.h[14], hl = this.h[15];\n assert(this.k.length === W.length);\n for (var i = 0;i < W.length; i += 2) {\n var c0_hi = hh, c0_lo = hl, c1_hi = s1_512_hi(eh, el), c1_lo = s1_512_lo(eh, el), c2_hi = ch64_hi(eh, el, fh, fl, gh, gl), c2_lo = ch64_lo(eh, el, fh, fl, gh, gl), c3_hi = this.k[i], c3_lo = this.k[i + 1], c4_hi = W[i], c4_lo = W[i + 1], T1_hi = sum64_5_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo), T1_lo = sum64_5_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);\n c0_hi = s0_512_hi(ah, al), c0_lo = s0_512_lo(ah, al), c1_hi = maj64_hi(ah, al, bh, bl, ch, cl), c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo), T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n hh = gh, hl = gl, gh = fh, gl = fl, fh = eh, fl = el, eh = sum64_hi(dh, dl, T1_hi, T1_lo), el = sum64_lo(dl, dl, T1_hi, T1_lo), dh = ch, dl = cl, ch = bh, cl = bl, bh = ah, bl = al, ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo), al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n sum64(this.h, 0, ah, al), sum64(this.h, 2, bh, bl), sum64(this.h, 4, ch, cl), sum64(this.h, 6, dh, dl), sum64(this.h, 8, eh, el), sum64(this.h, 10, fh, fl), sum64(this.h, 12, gh, gl), sum64(this.h, 14, hh, hl);\n }, SHA512.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"big\") : utils.split32(this.h, \"big\");\n };\n function ch64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ ~xh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ ~xl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ xh & zh ^ yh & zh;\n return r < 0 && (r += 4294967296), r;\n }\n function maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ xl & zl ^ yl & zl;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28), c1_hi = rotr64_hi(xl, xh, 2), c2_hi = rotr64_hi(xl, xh, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28), c1_lo = rotr64_lo(xl, xh, 2), c2_lo = rotr64_lo(xl, xh, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14), c1_hi = rotr64_hi(xh, xl, 18), c2_hi = rotr64_hi(xl, xh, 9), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14), c1_lo = rotr64_lo(xh, xl, 18), c2_lo = rotr64_lo(xl, xh, 9), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1), c1_hi = rotr64_hi(xh, xl, 8), c2_hi = shr64_hi(xh, xl, 7), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1), c1_lo = rotr64_lo(xh, xl, 8), c2_lo = shr64_lo(xh, xl, 7), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19), c1_hi = rotr64_hi(xl, xh, 29), c2_hi = shr64_hi(xh, xl, 6), r = c0_hi ^ c1_hi ^ c2_hi;\n return r < 0 && (r += 4294967296), r;\n }\n function g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19), c1_lo = rotr64_lo(xl, xh, 29), c2_lo = shr64_lo(xh, xl, 6), r = c0_lo ^ c1_lo ^ c2_lo;\n return r < 0 && (r += 4294967296), r;\n }\n }\n}), require__5 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha/384.js\"(exports, module) {\n var utils = require_utils4(), SHA512 = require__4();\n function SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384;\n SHA512.@call(this), this.h = [\n 3418070365,\n 3238371032,\n 1654270250,\n 914150663,\n 2438529370,\n 812702999,\n 355462360,\n 4144912697,\n 1731405415,\n 4290775857,\n 2394180231,\n 1750603025,\n 3675008525,\n 1694076839,\n 1203062813,\n 3204075428\n ];\n }\n utils.inherits(SHA384, SHA512), module.exports = SHA384, SHA384.blockSize = 1024, SHA384.outSize = 384, SHA384.hmacStrength = 192, SHA384.padLength = 128, SHA384.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h.slice(0, 12), \"big\") : utils.split32(this.h.slice(0, 12), \"big\");\n };\n }\n}), require_sha3 = __commonJS({\n \"node_modules/hash.js/lib/hash/sha.js\"(exports) {\n exports.sha1 = require__(), exports.sha224 = require__3(), exports.sha256 = require__2(), exports.sha384 = require__5(), exports.sha512 = require__4();\n }\n}), require_ripemd = __commonJS({\n \"node_modules/hash.js/lib/hash/ripemd.js\"(exports) {\n var utils = require_utils4(), common = require_common(), rotl32 = utils.rotl32, sum32 = utils.sum32, sum32_3 = utils.sum32_3, sum32_4 = utils.sum32_4, BlockHash = common.BlockHash;\n function RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160;\n BlockHash.@call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.endian = \"little\";\n }\n utils.inherits(RIPEMD160, BlockHash), exports.ripemd160 = RIPEMD160, RIPEMD160.blockSize = 512, RIPEMD160.outSize = 160, RIPEMD160.hmacStrength = 192, RIPEMD160.padLength = 64, RIPEMD160.prototype._update = function(msg, start) {\n for (var A = this.h[0], B = this.h[1], C = this.h[2], D = this.h[3], E = this.h[4], Ah = A, Bh = B, Ch = C, Dh = D, Eh = E, j = 0;j < 80; j++) {\n var T = sum32(rotl32(sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), s[j]), E);\n A = E, E = D, D = rotl32(C, 10), C = B, B = T, T = sum32(rotl32(sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), sh[j]), Eh), Ah = Eh, Eh = Dh, Dh = rotl32(Ch, 10), Ch = Bh, Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh), this.h[1] = sum32_3(this.h[2], D, Eh), this.h[2] = sum32_3(this.h[3], E, Ah), this.h[3] = sum32_3(this.h[4], A, Bh), this.h[4] = sum32_3(this.h[0], B, Ch), this.h[0] = T;\n }, RIPEMD160.prototype._digest = function(enc) {\n return enc === \"hex\" \? utils.toHex32(this.h, \"little\") : utils.split32(this.h, \"little\");\n };\n function f(j, x, y, z) {\n return j <= 15 \? x ^ y ^ z : j <= 31 \? x & y | ~x & z : j <= 47 \? (x | ~y) ^ z : j <= 63 \? x & z | y & ~z : x ^ (y | ~z);\n }\n function K(j) {\n return j <= 15 \? 0 : j <= 31 \? 1518500249 : j <= 47 \? 1859775393 : j <= 63 \? 2400959708 : 2840853838;\n }\n function Kh(j) {\n return j <= 15 \? 1352829926 : j <= 31 \? 1548603684 : j <= 47 \? 1836072691 : j <= 63 \? 2053994217 : 0;\n }\n var r = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n ], rh = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n ], s = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n ], sh = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n ];\n }\n}), require_hmac = __commonJS({\n \"node_modules/hash.js/lib/hash/hmac.js\"(exports, module) {\n var utils = require_utils4(), assert = require_minimalistic_assert();\n function Hmac(hash, key2, enc) {\n if (key2 = exportIfKeyObject(key2), !(this instanceof Hmac))\n return new Hmac(hash, key2, enc);\n this.Hash = hash, this.blockSize = hash.blockSize / 8, this.outSize = hash.outSize / 8, this.inner = null, this.outer = null, this._init(utils.toArray(key2, enc));\n }\n Hmac.prototype = {}, module.exports = Hmac, Hmac.prototype._init = function(key2) {\n key2.length > this.blockSize && (key2 = new this.Hash().update(key2).digest()), assert(key2.length <= this.blockSize);\n for (var i = key2.length;i < this.blockSize; i++)\n key2.push(0);\n for (i = 0;i < key2.length; i++)\n key2[i] ^= 54;\n for (this.inner = new this.Hash().update(key2), i = 0;i < key2.length; i++)\n key2[i] ^= 106;\n this.outer = new this.Hash().update(key2);\n }, Hmac.prototype.update = function(msg, enc) {\n return this.inner.update(msg, enc), this;\n }, Hmac.prototype.digest = function(enc) {\n return this.outer.update(this.inner.digest()), this.outer.digest(enc);\n };\n }\n}), require_hash2 = __commonJS({\n \"node_modules/hash.js/lib/hash.js\"(exports) {\n var hash = exports;\n hash.utils = require_utils4(), hash.common = require_common(), hash.sha = require_sha3(), hash.ripemd = require_ripemd(), hash.hmac = require_hmac(), hash.sha1 = hash.sha.sha1, hash.sha256 = hash.sha.sha256, hash.sha224 = hash.sha.sha224, hash.sha384 = hash.sha.sha384, hash.sha512 = hash.sha.sha512, hash.ripemd160 = hash.ripemd.ripemd160;\n }\n}), require_secp256k1 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\"(exports, module) {\n module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n \"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\n \"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"\n ],\n [\n \"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\n \"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"\n ],\n [\n \"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\n \"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"\n ],\n [\n \"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\n \"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"\n ],\n [\n \"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\n \"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"\n ],\n [\n \"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\n \"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"\n ],\n [\n \"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\n \"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"\n ],\n [\n \"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\n \"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"\n ],\n [\n \"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\n \"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"\n ],\n [\n \"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\n \"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"\n ],\n [\n \"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\n \"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"\n ],\n [\n \"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\n \"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"\n ],\n [\n \"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\n \"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"\n ],\n [\n \"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\n \"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"\n ],\n [\n \"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\n \"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"\n ],\n [\n \"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\n \"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"\n ],\n [\n \"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\n \"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"\n ],\n [\n \"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\n \"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"\n ],\n [\n \"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\n \"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"\n ],\n [\n \"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\n \"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"\n ],\n [\n \"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\n \"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"\n ],\n [\n \"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\n \"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"\n ],\n [\n \"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\n \"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"\n ],\n [\n \"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\n \"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"\n ],\n [\n \"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\n \"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"\n ],\n [\n \"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\n \"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"\n ],\n [\n \"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\n \"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"\n ],\n [\n \"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\n \"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"\n ],\n [\n \"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\n \"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"\n ],\n [\n \"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\n \"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"\n ],\n [\n \"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\n \"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"\n ],\n [\n \"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\n \"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"\n ],\n [\n \"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\n \"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"\n ],\n [\n \"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\n \"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"\n ],\n [\n \"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\n \"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"\n ],\n [\n \"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\n \"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"\n ],\n [\n \"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\n \"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"\n ],\n [\n \"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\n \"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"\n ],\n [\n \"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\n \"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"\n ],\n [\n \"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\n \"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"\n ],\n [\n \"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\n \"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"\n ],\n [\n \"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\n \"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"\n ],\n [\n \"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\n \"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"\n ],\n [\n \"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\n \"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"\n ],\n [\n \"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\n \"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"\n ],\n [\n \"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\n \"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"\n ],\n [\n \"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\n \"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"\n ],\n [\n \"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\n \"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"\n ],\n [\n \"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\n \"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"\n ],\n [\n \"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\n \"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"\n ],\n [\n \"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\n \"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"\n ],\n [\n \"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\n \"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"\n ],\n [\n \"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\n \"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"\n ],\n [\n \"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\n \"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"\n ],\n [\n \"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\n \"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"\n ],\n [\n \"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\n \"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"\n ],\n [\n \"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\n \"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"\n ],\n [\n \"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\n \"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"\n ],\n [\n \"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\n \"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"\n ],\n [\n \"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\n \"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"\n ],\n [\n \"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\n \"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"\n ],\n [\n \"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\n \"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"\n ],\n [\n \"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\n \"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"\n ],\n [\n \"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\n \"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"\n ],\n [\n \"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\n \"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n \"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\n \"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"\n ],\n [\n \"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\n \"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"\n ],\n [\n \"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\n \"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"\n ],\n [\n \"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\n \"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"\n ],\n [\n \"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\n \"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"\n ],\n [\n \"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\n \"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"\n ],\n [\n \"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\n \"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"\n ],\n [\n \"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\n \"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"\n ],\n [\n \"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\n \"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"\n ],\n [\n \"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\n \"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"\n ],\n [\n \"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\n \"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"\n ],\n [\n \"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\n \"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"\n ],\n [\n \"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\n \"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"\n ],\n [\n \"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\n \"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"\n ],\n [\n \"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\n \"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"\n ],\n [\n \"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\n \"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"\n ],\n [\n \"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\n \"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"\n ],\n [\n \"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\n \"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"\n ],\n [\n \"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\n \"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"\n ],\n [\n \"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\n \"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"\n ],\n [\n \"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\n \"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"\n ],\n [\n \"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\n \"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"\n ],\n [\n \"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\n \"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"\n ],\n [\n \"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\n \"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"\n ],\n [\n \"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\n \"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"\n ],\n [\n \"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\n \"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"\n ],\n [\n \"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\n \"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"\n ],\n [\n \"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\n \"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"\n ],\n [\n \"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\n \"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"\n ],\n [\n \"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\n \"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"\n ],\n [\n \"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\n \"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"\n ],\n [\n \"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\n \"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"\n ],\n [\n \"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\n \"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"\n ],\n [\n \"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\n \"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"\n ],\n [\n \"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\n \"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"\n ],\n [\n \"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\n \"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"\n ],\n [\n \"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\n \"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"\n ],\n [\n \"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\n \"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"\n ],\n [\n \"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\n \"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"\n ],\n [\n \"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\n \"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"\n ],\n [\n \"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\n \"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"\n ],\n [\n \"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\n \"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"\n ],\n [\n \"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\n \"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"\n ],\n [\n \"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\n \"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"\n ],\n [\n \"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\n \"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"\n ],\n [\n \"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\n \"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"\n ],\n [\n \"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\n \"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"\n ],\n [\n \"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\n \"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"\n ],\n [\n \"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\n \"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"\n ],\n [\n \"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\n \"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"\n ],\n [\n \"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\n \"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"\n ],\n [\n \"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\n \"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"\n ],\n [\n \"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\n \"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"\n ],\n [\n \"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\n \"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"\n ],\n [\n \"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\n \"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"\n ],\n [\n \"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\n \"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"\n ],\n [\n \"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\n \"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"\n ],\n [\n \"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\n \"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"\n ],\n [\n \"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\n \"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"\n ],\n [\n \"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\n \"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"\n ],\n [\n \"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\n \"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"\n ],\n [\n \"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\n \"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"\n ],\n [\n \"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\n \"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"\n ],\n [\n \"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\n \"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"\n ],\n [\n \"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\n \"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"\n ],\n [\n \"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\n \"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"\n ],\n [\n \"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\n \"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"\n ],\n [\n \"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\n \"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"\n ],\n [\n \"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\n \"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"\n ],\n [\n \"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\n \"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"\n ],\n [\n \"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\n \"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"\n ],\n [\n \"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\n \"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"\n ],\n [\n \"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\n \"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"\n ],\n [\n \"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\n \"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"\n ],\n [\n \"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\n \"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"\n ],\n [\n \"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\n \"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"\n ],\n [\n \"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\n \"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"\n ],\n [\n \"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\n \"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"\n ],\n [\n \"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\n \"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"\n ],\n [\n \"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\n \"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"\n ],\n [\n \"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\n \"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"\n ],\n [\n \"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\n \"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"\n ],\n [\n \"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\n \"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"\n ],\n [\n \"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\n \"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"\n ],\n [\n \"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\n \"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"\n ],\n [\n \"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\n \"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"\n ],\n [\n \"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\n \"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"\n ],\n [\n \"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\n \"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"\n ],\n [\n \"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\n \"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"\n ],\n [\n \"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\n \"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"\n ],\n [\n \"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\n \"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"\n ],\n [\n \"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\n \"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"\n ],\n [\n \"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\n \"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"\n ],\n [\n \"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\n \"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"\n ],\n [\n \"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\n \"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"\n ],\n [\n \"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\n \"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"\n ],\n [\n \"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\n \"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"\n ],\n [\n \"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\n \"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"\n ],\n [\n \"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\n \"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"\n ],\n [\n \"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\n \"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"\n ],\n [\n \"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\n \"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"\n ],\n [\n \"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\n \"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"\n ],\n [\n \"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\n \"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"\n ],\n [\n \"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\n \"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"\n ],\n [\n \"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\n \"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"\n ],\n [\n \"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\n \"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"\n ],\n [\n \"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\n \"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"\n ],\n [\n \"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\n \"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"\n ],\n [\n \"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\n \"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"\n ],\n [\n \"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\n \"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"\n ],\n [\n \"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\n \"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"\n ],\n [\n \"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\n \"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"\n ],\n [\n \"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\n \"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"\n ],\n [\n \"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\n \"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"\n ],\n [\n \"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\n \"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"\n ],\n [\n \"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\n \"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"\n ],\n [\n \"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\n \"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"\n ],\n [\n \"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\n \"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"\n ],\n [\n \"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\n \"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"\n ],\n [\n \"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\n \"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"\n ],\n [\n \"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\n \"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"\n ],\n [\n \"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\n \"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"\n ],\n [\n \"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\n \"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"\n ],\n [\n \"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\n \"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"\n ],\n [\n \"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\n \"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"\n ],\n [\n \"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\n \"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"\n ],\n [\n \"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\n \"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"\n ]\n ]\n }\n };\n }\n}), require_curves = __commonJS({\n \"node_modules/elliptic/lib/elliptic/curves.js\"(exports) {\n var curves = exports, hash = require_hash2(), curve = require_curve(), utils = require_utils3(), assert = utils.assert;\n function PresetCurve(options) {\n options.type === \"short\" \? this.curve = new curve.short(options) : options.type === \"edwards\" \? this.curve = new curve.edwards(options) : this.curve = new curve.mont(options), this.g = this.curve.g, this.n = this.curve.n, this.hash = options.hash, assert(this.g.validate(), \"Invalid curve\"), assert(this.g.mul(this.n).isInfinity(), \"Invalid curve, G*N != O\");\n }\n PresetCurve.prototype = {}, curves.PresetCurve = PresetCurve;\n function defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n get: function() {\n var curve2 = new PresetCurve(options);\n return Object.defineProperty(curves, name, {\n configurable: !0,\n enumerable: !0,\n value: curve2\n }), curve2;\n }\n });\n }\n defineCurve(\"p192\", {\n type: \"short\",\n prime: \"p192\",\n p: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",\n b: \"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",\n n: \"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\n \"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"\n ]\n }), defineCurve(\"p224\", {\n type: \"short\",\n prime: \"p224\",\n p: \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",\n b: \"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",\n n: \"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\n \"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"\n ]\n }), defineCurve(\"p256\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",\n a: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",\n b: \"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",\n n: \"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\n \"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"\n ]\n }), defineCurve(\"p384\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",\n a: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",\n b: \"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",\n n: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",\n hash: hash.sha384,\n gRed: !1,\n g: [\n \"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\n \"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"\n ]\n }), defineCurve(\"p521\", {\n type: \"short\",\n prime: null,\n p: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",\n a: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",\n b: \"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",\n n: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",\n hash: hash.sha512,\n gRed: !1,\n g: [\n \"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\n \"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"\n ]\n }), defineCurve(\"curve25519\", {\n type: \"mont\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"76d06\",\n b: \"1\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\"9\"]\n }), defineCurve(\"ed25519\", {\n type: \"edwards\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"-1\",\n c: \"1\",\n d: \"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: hash.sha256,\n gRed: !1,\n g: [\n \"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\n \"6666666666666666666666666666666666666666666666666666666666666658\"\n ]\n });\n var pre;\n try {\n pre = require_secp256k1();\n } catch {\n pre = void 0;\n }\n defineCurve(\"secp256k1\", {\n type: \"short\",\n prime: \"k256\",\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",\n a: \"0\",\n b: \"7\",\n n: \"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",\n h: \"1\",\n hash: hash.sha256,\n beta: \"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",\n lambda: \"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",\n basis: [\n {\n a: \"3086d221a7d46bcde86c90e49284eb15\",\n b: \"-e4437ed6010e88286f547fa90abfe4c3\"\n },\n {\n a: \"114ca50f7a8e2f3f657c1108d9d44cfd8\",\n b: \"3086d221a7d46bcde86c90e49284eb15\"\n }\n ],\n gRed: !1,\n g: [\n \"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n \"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",\n pre\n ]\n });\n }\n}), require_hmac_drbg = __commonJS({\n \"node_modules/hmac-drbg/lib/hmac-drbg.js\"(exports, module) {\n var hash = require_hash2(), utils = require_utils2(), assert = require_minimalistic_assert();\n function HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash, this.predResist = !!options.predResist, this.outLen = this.hash.outSize, this.minEntropy = options.minEntropy || this.hash.hmacStrength, this._reseed = null, this.reseedInterval = null, this.K = null, this.V = null;\n var entropy = utils.toArray(options.entropy, options.entropyEnc || \"hex\"), nonce = utils.toArray(options.nonce, options.nonceEnc || \"hex\"), pers = utils.toArray(options.pers, options.persEnc || \"hex\");\n assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._init(entropy, nonce, pers);\n }\n HmacDRBG.prototype = {}, module.exports = HmacDRBG, HmacDRBG.prototype._init = function(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n this.K = new @Array(this.outLen / 8), this.V = new @Array(this.outLen / 8);\n for (var i = 0;i < this.V.length; i++)\n this.K[i] = 0, this.V[i] = 1;\n this._update(seed), this._reseed = 1, this.reseedInterval = 281474976710656;\n }, HmacDRBG.prototype._hmac = function() {\n return new hash.hmac(this.hash, this.K);\n }, HmacDRBG.prototype._update = function(seed) {\n var kmac = this._hmac().update(this.V).update([0]);\n seed && (kmac = kmac.update(seed)), this.K = kmac.digest(), this.V = this._hmac().update(this.V).digest(), seed && (this.K = this._hmac().update(this.V).update([1]).update(seed).digest(), this.V = this._hmac().update(this.V).digest());\n }, HmacDRBG.prototype.reseed = function(entropy, entropyEnc, add, addEnc) {\n typeof entropyEnc != \"string\" && (addEnc = add, add = entropyEnc, entropyEnc = null), entropy = utils.toArray(entropy, entropyEnc), add = utils.toArray(add, addEnc), assert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\"), this._update(entropy.concat(add || [])), this._reseed = 1;\n }, HmacDRBG.prototype.generate = function(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error(\"Reseed is required\");\n typeof enc != \"string\" && (addEnc = add, add = enc, enc = null), add && (add = utils.toArray(add, addEnc || \"hex\"), this._update(add));\n for (var temp = [];temp.length < len; )\n this.V = this._hmac().update(this.V).digest(), temp = temp.concat(this.V);\n var res = temp.slice(0, len);\n return this._update(add), this._reseed++, utils.encode(res, enc);\n };\n }\n}), require_key = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/key.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function KeyPair(ec, options) {\n this.ec = ec, this.priv = null, this.pub = null, options.priv && this._importPrivate(options.priv, options.privEnc), options.pub && this._importPublic(options.pub, options.pubEnc);\n }\n KeyPair.prototype = {}, module.exports = KeyPair, KeyPair.fromPublic = function(ec, pub, enc) {\n return pub instanceof KeyPair \? pub : new KeyPair(ec, {\n pub,\n pubEnc: enc\n });\n }, KeyPair.fromPrivate = function(ec, priv, enc) {\n return priv instanceof KeyPair \? priv : new KeyPair(ec, {\n priv,\n privEnc: enc\n });\n }, KeyPair.prototype.validate = function() {\n var pub = this.getPublic();\n return pub.isInfinity() \? { result: !1, reason: \"Invalid public key\" } : pub.validate() \? pub.mul(this.ec.curve.n).isInfinity() \? { result: !0, reason: null } : { result: !1, reason: \"Public key * N != O\" } : { result: !1, reason: \"Public key is not a point\" };\n }, KeyPair.prototype.getPublic = function(compact, enc) {\n return typeof compact == \"string\" && (enc = compact, compact = null), this.pub || (this.pub = this.ec.g.mul(this.priv)), enc \? this.pub.encode(enc, compact) : this.pub;\n }, KeyPair.prototype.getPrivate = function(enc) {\n return enc === \"hex\" \? this.priv.toString(16, 2) : this.priv;\n }, KeyPair.prototype._importPrivate = function(key2, enc) {\n this.priv = new BN(key2, enc || 16), this.priv = this.priv.umod(this.ec.curve.n);\n }, KeyPair.prototype._importPublic = function(key2, enc) {\n if (key2.x || key2.y) {\n this.ec.curve.type === \"mont\" \? assert(key2.x, \"Need x coordinate\") : (this.ec.curve.type === \"short\" || this.ec.curve.type === \"edwards\") && assert(key2.x && key2.y, \"Need both x and y coordinate\"), this.pub = this.ec.curve.point(key2.x, key2.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key2, enc);\n }, KeyPair.prototype.derive = function(pub) {\n return pub.validate() || assert(pub.validate(), \"public point not validated\"), pub.mul(this.priv).getX();\n }, KeyPair.prototype.sign = function(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n }, KeyPair.prototype.verify = function(msg, signature) {\n return this.ec.verify(msg, signature, this);\n }, KeyPair.prototype.inspect = function() {\n return \"<Key priv: \" + (this.priv && this.priv.toString(16, 2)) + \" pub: \" + (this.pub && this.pub.inspect()) + \" >\";\n };\n }\n}), require_signature = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert;\n function Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n this._importDER(options, enc) || (assert(options.r && options.s, \"Signature without r or s\"), this.r = new BN(options.r, 16), this.s = new BN(options.s, 16), options.recoveryParam === void 0 \? this.recoveryParam = null : this.recoveryParam = options.recoveryParam);\n }\n Signature.prototype = {}, module.exports = Signature;\n function Position() {\n this.place = 0;\n }\n function getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 128))\n return initial;\n var octetLen = initial & 15;\n if (octetLen === 0 || octetLen > 4)\n return !1;\n for (var val = 0, i = 0, off = p.place;i < octetLen; i++, off++)\n val <<= 8, val |= buf[off], val >>>= 0;\n return val <= 127 \? !1 : (p.place = off, val);\n }\n function rmPadding(buf) {\n for (var i = 0, len = buf.length - 1;!buf[i] && !(buf[i + 1] & 128) && i < len; )\n i++;\n return i === 0 \? buf : buf.slice(i);\n }\n Signature.prototype._importDER = function(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position;\n if (data[p.place++] !== 48)\n return !1;\n var len = getLength(data, p);\n if (len === !1 || len + p.place !== data.length || data[p.place++] !== 2)\n return !1;\n var rlen = getLength(data, p);\n if (rlen === !1)\n return !1;\n var r = data.slice(p.place, rlen + p.place);\n if (p.place += rlen, data[p.place++] !== 2)\n return !1;\n var slen = getLength(data, p);\n if (slen === !1 || data.length !== slen + p.place)\n return !1;\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0)\n if (r[1] & 128)\n r = r.slice(1);\n else\n return !1;\n if (s[0] === 0)\n if (s[1] & 128)\n s = s.slice(1);\n else\n return !1;\n return this.r = new BN(r), this.s = new BN(s), this.recoveryParam = null, !0;\n };\n function constructLength(arr, len) {\n if (len < 128) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n for (arr.push(octets | 128);--octets; )\n arr.push(len >>> (octets << 3) & 255);\n arr.push(len);\n }\n Signature.prototype.toDER = function(enc) {\n var r = this.r.toArray(), s = this.s.toArray();\n for (r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s)), r = rmPadding(r), s = rmPadding(s);!s[0] && !(s[1] & 128); )\n s = s.slice(1);\n var arr = [2];\n constructLength(arr, r.length), arr = arr.concat(r), arr.push(2), constructLength(arr, s.length);\n var backHalf = arr.concat(s), res = [48];\n return constructLength(res, backHalf.length), res = res.concat(backHalf), utils.encode(res, enc);\n };\n }\n}), require_ec = __commonJS({\n \"node_modules/elliptic/lib/elliptic/ec/index.js\"(exports, module) {\n var BN = require_bn4(), HmacDRBG = require_hmac_drbg(), utils = require_utils3(), curves = require_curves(), rand = require_brorand(), assert = utils.assert, KeyPair = require_key(), Signature = require_signature();\n function EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n typeof options == \"string\" && (assert(Object.prototype.hasOwnProperty.@call(curves, options), \"Unknown curve \" + options), options = curves[options]), options instanceof curves.PresetCurve && (options = { curve: options }), this.curve = options.curve.curve, this.n = this.curve.n, this.nh = this.n.ushrn(1), this.g = this.curve.g, this.g = options.curve.g, this.g.precompute(options.curve.n.bitLength() + 1), this.hash = options.hash || options.curve.hash;\n }\n EC.prototype = {}, module.exports = EC, EC.prototype.keyPair = function(options) {\n return new KeyPair(this, options);\n }, EC.prototype.keyFromPrivate = function(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n }, EC.prototype.keyFromPublic = function(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n }, EC.prototype.genKeyPair = function(options) {\n options || (options = {});\n for (var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\",\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || \"utf8\",\n nonce: this.n.toArray()\n }), bytes = this.n.byteLength(), ns2 = this.n.sub(new BN(2));; ) {\n var priv = new BN(drbg.generate(bytes));\n if (!(priv.cmp(ns2) > 0))\n return priv.iaddn(1), this.keyFromPrivate(priv);\n }\n }, EC.prototype._truncateToN = function(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n return delta > 0 && (msg = msg.ushrn(delta)), !truncOnly && msg.cmp(this.n) >= 0 \? msg.sub(this.n) : msg;\n }, EC.prototype.sign = function(msg, key2, enc, options) {\n typeof enc == \"object\" && (options = enc, enc = null), options || (options = {}), key2 = this.keyFromPrivate(key2, enc), msg = this._truncateToN(new BN(msg, 16));\n for (var bytes = this.n.byteLength(), bkey = key2.getPrivate().toArray(\"be\", bytes), nonce = msg.toArray(\"be\", bytes), drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\"\n }), ns1 = this.n.sub(new BN(1)), iter = 0;; iter++) {\n var k = options.k \? options.k(iter) : new BN(drbg.generate(this.n.byteLength()));\n if (k = this._truncateToN(k, !0), !(k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)) {\n var kp = this.g.mul(k);\n if (!kp.isInfinity()) {\n var kpX = kp.getX(), r = kpX.umod(this.n);\n if (r.cmpn(0) !== 0) {\n var s = k.invm(this.n).mul(r.mul(key2.getPrivate()).iadd(msg));\n if (s = s.umod(this.n), s.cmpn(0) !== 0) {\n var recoveryParam = (kp.getY().isOdd() \? 1 : 0) | (kpX.cmp(r) !== 0 \? 2 : 0);\n return options.canonical && s.cmp(this.nh) > 0 && (s = this.n.sub(s), recoveryParam ^= 1), new Signature({ r, s, recoveryParam });\n }\n }\n }\n }\n }\n }, EC.prototype.verify = function(msg, signature, key2, enc) {\n msg = this._truncateToN(new BN(msg, 16)), key2 = this.keyFromPublic(key2, enc), signature = new Signature(signature, \"hex\");\n var { r, s } = signature;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0 || s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return !1;\n var sinv = s.invm(this.n), u1 = sinv.mul(msg).umod(this.n), u2 = sinv.mul(r).umod(this.n), p;\n return this.curve._maxwellTrick \? (p = this.g.jmulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.eqXToP(r)) : (p = this.g.mulAdd(u1, key2.getPublic(), u2), p.isInfinity() \? !1 : p.getX().umod(this.n).cmp(r) === 0);\n }, EC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, \"The recovery param is more than two bits\"), signature = new Signature(signature, enc);\n var n = this.n, e = new BN(msg), r = signature.r, s = signature.s, isYOdd = j & 1, isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error(\"Unable to find sencond key candinate\");\n isSecondKey \? r = this.curve.pointFromX(r.add(this.curve.n), isYOdd) : r = this.curve.pointFromX(r, isYOdd);\n var rInv = signature.r.invm(n), s1 = n.sub(e).mul(rInv).umod(n), s2 = s.mul(rInv).umod(n);\n return this.g.mulAdd(s1, r, s2);\n }, EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n if (signature = new Signature(signature, enc), signature.recoveryParam !== null)\n return signature.recoveryParam;\n for (var i = 0;i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch {\n continue;\n }\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error(\"Unable to find valid recovery factor\");\n };\n }\n}), require_key2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/key.js\"(exports, module) {\n var utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, cachedProperty = utils.cachedProperty;\n function KeyPair(eddsa, params) {\n this.eddsa = eddsa, this._secret = parseBytes(params.secret), eddsa.isPoint(params.pub) \? this._pub = params.pub : this._pubBytes = parseBytes(params.pub);\n }\n KeyPair.prototype = {}, KeyPair.fromPublic = function(eddsa, pub) {\n return pub instanceof KeyPair \? pub : new KeyPair(eddsa, { pub });\n }, KeyPair.fromSecret = function(eddsa, secret) {\n return secret instanceof KeyPair \? secret : new KeyPair(eddsa, { secret });\n }, KeyPair.prototype.secret = function() {\n return this._secret;\n }, cachedProperty(KeyPair, \"pubBytes\", function() {\n return this.eddsa.encodePoint(this.pub());\n }), cachedProperty(KeyPair, \"pub\", function() {\n return this._pubBytes \? this.eddsa.decodePoint(this._pubBytes) : this.eddsa.g.mul(this.priv());\n }), cachedProperty(KeyPair, \"privBytes\", function() {\n var eddsa = this.eddsa, hash = this.hash(), lastIx = eddsa.encodingLength - 1, a = hash.slice(0, eddsa.encodingLength);\n return a[0] &= 248, a[lastIx] &= 127, a[lastIx] |= 64, a;\n }), cachedProperty(KeyPair, \"priv\", function() {\n return this.eddsa.decodeInt(this.privBytes());\n }), cachedProperty(KeyPair, \"hash\", function() {\n return this.eddsa.hash().update(this.secret()).digest();\n }), cachedProperty(KeyPair, \"messagePrefix\", function() {\n return this.hash().slice(this.eddsa.encodingLength);\n }), KeyPair.prototype.sign = function(message) {\n return assert(this._secret, \"KeyPair can only verify\"), this.eddsa.sign(message, this);\n }, KeyPair.prototype.verify = function(message, sig) {\n return this.eddsa.verify(message, sig, this);\n }, KeyPair.prototype.getSecret = function(enc) {\n return assert(this._secret, \"KeyPair is public only\"), utils.encode(this.secret(), enc);\n }, KeyPair.prototype.getPublic = function(enc) {\n return utils.encode(this.pubBytes(), enc);\n }, module.exports = KeyPair;\n }\n}), require_signature2 = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/signature.js\"(exports, module) {\n var BN = require_bn4(), utils = require_utils3(), assert = utils.assert, cachedProperty = utils.cachedProperty, parseBytes = utils.parseBytes;\n function Signature(eddsa, sig) {\n this.eddsa = eddsa, typeof sig != \"object\" && (sig = parseBytes(sig)), @Array.isArray(sig) && (sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n }), assert(sig.R && sig.S, \"Signature without R or S\"), eddsa.isPoint(sig.R) && (this._R = sig.R), sig.S instanceof BN && (this._S = sig.S), this._Rencoded = @Array.isArray(sig.R) \? sig.R : sig.Rencoded, this._Sencoded = @Array.isArray(sig.S) \? sig.S : sig.Sencoded;\n }\n Signature.prototype = {}, cachedProperty(Signature, \"S\", function() {\n return this.eddsa.decodeInt(this.Sencoded());\n }), cachedProperty(Signature, \"R\", function() {\n return this.eddsa.decodePoint(this.Rencoded());\n }), cachedProperty(Signature, \"Rencoded\", function() {\n return this.eddsa.encodePoint(this.R());\n }), cachedProperty(Signature, \"Sencoded\", function() {\n return this.eddsa.encodeInt(this.S());\n }), Signature.prototype.toBytes = function() {\n return this.Rencoded().concat(this.Sencoded());\n }, Signature.prototype.toHex = function() {\n return utils.encode(this.toBytes(), \"hex\").toUpperCase();\n }, module.exports = Signature;\n }\n}), require_eddsa = __commonJS({\n \"node_modules/elliptic/lib/elliptic/eddsa/index.js\"(exports, module) {\n var hash = require_hash2(), curves = require_curves(), utils = require_utils3(), assert = utils.assert, parseBytes = utils.parseBytes, KeyPair = require_key2(), Signature = require_signature2();\n function EDDSA(curve) {\n if (assert(curve === \"ed25519\", \"only tested with ed25519 so far\"), !(this instanceof EDDSA))\n return new EDDSA(curve);\n curve = curves[curve].curve, this.curve = curve, this.g = curve.g, this.g.precompute(curve.n.bitLength() + 1), this.pointClass = curve.point().constructor, this.encodingLength = Math.ceil(curve.n.bitLength() / 8), this.hash = hash.sha512;\n }\n EDDSA.prototype = {}, module.exports = EDDSA, EDDSA.prototype.sign = function(message, secret) {\n message = parseBytes(message);\n var key2 = this.keyFromSecret(secret), r = this.hashInt(key2.messagePrefix(), message), R = this.g.mul(r), Rencoded = this.encodePoint(R), s_ = this.hashInt(Rencoded, key2.pubBytes(), message).mul(key2.priv()), S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R, S, Rencoded });\n }, EDDSA.prototype.verify = function(message, sig, pub) {\n message = parseBytes(message), sig = this.makeSignature(sig);\n var key2 = this.keyFromPublic(pub), h = this.hashInt(sig.Rencoded(), key2.pubBytes(), message), SG = this.g.mul(sig.S()), RplusAh = sig.R().add(key2.pub().mul(h));\n return RplusAh.eq(SG);\n }, EDDSA.prototype.hashInt = function() {\n for (var hash2 = this.hash(), i = 0;i < arguments.length; i++)\n hash2.update(arguments[i]);\n return utils.intFromLE(hash2.digest()).umod(this.curve.n);\n }, EDDSA.prototype.keyFromPublic = function(pub) {\n return KeyPair.fromPublic(this, pub);\n }, EDDSA.prototype.keyFromSecret = function(secret) {\n return KeyPair.fromSecret(this, secret);\n }, EDDSA.prototype.makeSignature = function(sig) {\n return sig instanceof Signature \? sig : new Signature(this, sig);\n }, EDDSA.prototype.encodePoint = function(point) {\n var enc = point.getY().toArray(\"le\", this.encodingLength);\n return enc[this.encodingLength - 1] |= point.getX().isOdd() \? 128 : 0, enc;\n }, EDDSA.prototype.decodePoint = function(bytes) {\n bytes = utils.parseBytes(bytes);\n var lastIx = bytes.length - 1, normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & -129), xIsOdd = (bytes[lastIx] & 128) !== 0, y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n }, EDDSA.prototype.encodeInt = function(num) {\n return num.toArray(\"le\", this.encodingLength);\n }, EDDSA.prototype.decodeInt = function(bytes) {\n return utils.intFromLE(bytes);\n }, EDDSA.prototype.isPoint = function(val) {\n return val instanceof this.pointClass;\n };\n }\n}), require_elliptic = __commonJS({\n \"node_modules/elliptic/lib/elliptic.js\"(exports) {\n var elliptic = exports;\n elliptic.version = require_package().version, elliptic.utils = require_utils3(), elliptic.rand = require_brorand(), elliptic.curve = require_curve(), elliptic.curves = require_curves(), elliptic.ec = require_ec(), elliptic.eddsa = require_eddsa();\n }\n}), require_bn5 = require_bn, require_safer = __commonJS({\n \"node_modules/safer-buffer/safer.js\"(exports, module) {\n var buffer = BufferModule, Buffer2 = Buffer, safer = {}, key2;\n for (key2 in buffer)\n !buffer.hasOwnProperty(key2) || key2 === \"SlowBuffer\" || key2 === \"Buffer\" || (safer[key2] = buffer[key2]);\n var Safer = safer.Buffer = {};\n for (key2 in Buffer2)\n !Buffer2.hasOwnProperty(key2) || key2 === \"allocUnsafe\" || key2 === \"allocUnsafeSlow\" || (Safer[key2] = Buffer2[key2]);\n if (safer.Buffer.prototype = Buffer2.prototype, (!Safer.from || Safer.from === @Uint8Array.from) && (Safer.from = function(value, encodingOrOffset, length) {\n if (typeof value == \"number\")\n @throwTypeError('The \"value\" argument must not be of type number. Received type ' + typeof value);\n if (value && typeof value.length > \"u\")\n @throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n return Buffer2(value, encodingOrOffset, length);\n }), Safer.alloc || (Safer.alloc = function(size, fill, encoding) {\n if (typeof size != \"number\")\n @throwTypeError('The \"size\" argument must be of type number. Received type ' + typeof size);\n if (size < 0 || size >= 2 * (1 << 30))\n @throwRangeError('The value \"' + size + '\" is invalid for option \"size\"');\n var buf = Buffer2(size);\n return !fill || fill.length === 0 \? buf.fill(0) : typeof encoding == \"string\" \? buf.fill(fill, encoding) : buf.fill(fill), buf;\n }), !safer.kStringMaxLength)\n try {\n safer.kStringMaxLength = MAX_STRING_LENGTH;\n } catch {\n }\n safer.constants || (safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }, safer.kStringMaxLength && (safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength)), module.exports = safer;\n }\n}), require_reporter = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/reporter.js\"(exports) {\n var inherits = require_inherits_browser();\n function Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n }\n Reporter.prototype = {}, exports.Reporter = Reporter, Reporter.prototype.isError = function(obj) {\n return obj instanceof ReporterError;\n }, Reporter.prototype.save = function() {\n let state = this._reporterState;\n return { obj: state.obj, pathLen: state.path.length };\n }, Reporter.prototype.restore = function(data) {\n let state = this._reporterState;\n state.obj = data.obj, state.path = state.path.slice(0, data.pathLen);\n }, Reporter.prototype.enterKey = function(key2) {\n return this._reporterState.path.push(key2);\n }, Reporter.prototype.exitKey = function(index) {\n let state = this._reporterState;\n state.path = state.path.slice(0, index - 1);\n }, Reporter.prototype.leaveKey = function(index, key2, value) {\n let state = this._reporterState;\n this.exitKey(index), state.obj !== null && (state.obj[key2] = value);\n }, Reporter.prototype.path = function() {\n return this._reporterState.path.join(\"/\");\n }, Reporter.prototype.enterObject = function() {\n let state = this._reporterState, prev = state.obj;\n return state.obj = {}, prev;\n }, Reporter.prototype.leaveObject = function(prev) {\n let state = this._reporterState, now = state.obj;\n return state.obj = prev, now;\n }, Reporter.prototype.error = function(msg) {\n let err, state = this._reporterState, inherited = msg instanceof ReporterError;\n if (inherited \? err = msg : err = new ReporterError(state.path.map(function(elem) {\n return \"[\" + JSON.stringify(elem) + \"]\";\n }).join(\"\"), msg.message || msg, msg.stack), !state.options.partial)\n throw err;\n return inherited || state.errors.push(err), err;\n }, Reporter.prototype.wrapResult = function(result) {\n let state = this._reporterState;\n return state.options.partial \? {\n result: this.isError(result) \? null : result,\n errors: state.errors\n } : result;\n };\n function ReporterError(path, msg) {\n this.path = path, this.rethrow(msg);\n }\n inherits(ReporterError, Error), ReporterError.prototype.rethrow = function(msg) {\n if (this.message = msg + \" at: \" + (this.path || \"(shallow)\"), Error.captureStackTrace && Error.captureStackTrace(this, ReporterError), !this.stack)\n try {\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n return this;\n };\n }\n}), require_buffer = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/buffer.js\"(exports) {\n var inherits = require_inherits_browser(), Reporter = require_reporter().Reporter, Buffer2 = require_safer().Buffer;\n function DecoderBuffer(base, options) {\n if (Reporter.@call(this, options), !Buffer2.isBuffer(base)) {\n this.error(\"Input not Buffer\");\n return;\n }\n this.base = base, this.offset = 0, this.length = base.length;\n }\n inherits(DecoderBuffer, Reporter), exports.DecoderBuffer = DecoderBuffer, DecoderBuffer.isDecoderBuffer = function(data) {\n return data instanceof DecoderBuffer \? !0 : typeof data == \"object\" && Buffer2.isBuffer(data.base) && data.constructor.name === \"DecoderBuffer\" && typeof data.offset == \"number\" && typeof data.length == \"number\" && typeof data.save == \"function\" && typeof data.restore == \"function\" && typeof data.isEmpty == \"function\" && typeof data.readUInt8 == \"function\" && typeof data.skip == \"function\" && typeof data.raw == \"function\";\n }, DecoderBuffer.prototype.save = function() {\n return {\n offset: this.offset,\n reporter: Reporter.prototype.save.@call(this)\n };\n }, DecoderBuffer.prototype.restore = function(save) {\n let res = new DecoderBuffer(this.base);\n return res.offset = save.offset, res.length = this.offset, this.offset = save.offset, Reporter.prototype.restore.@call(this, save.reporter), res;\n }, DecoderBuffer.prototype.isEmpty = function() {\n return this.offset === this.length;\n }, DecoderBuffer.prototype.readUInt8 = function(fail) {\n return this.offset + 1 <= this.length \? this.base.readUInt8(this.offset++, !0) : this.error(fail || \"DecoderBuffer overrun\");\n }, DecoderBuffer.prototype.skip = function(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || \"DecoderBuffer overrun\");\n let res = new DecoderBuffer(this.base);\n return res._reporterState = this._reporterState, res.offset = this.offset, res.length = this.offset + bytes, this.offset += bytes, res;\n }, DecoderBuffer.prototype.raw = function(save) {\n return this.base.slice(save \? save.offset : this.offset, this.length);\n };\n function EncoderBuffer(value, reporter) {\n if (@Array.isArray(value))\n this.length = 0, this.value = value.map(function(item) {\n return EncoderBuffer.isEncoderBuffer(item) || (item = new EncoderBuffer(item, reporter)), this.length += item.length, item;\n }, this);\n else if (typeof value == \"number\") {\n if (!(0 <= value && value <= 255))\n return reporter.error(\"non-byte EncoderBuffer value\");\n this.value = value, this.length = 1;\n } else if (typeof value == \"string\")\n this.value = value, this.length = Buffer2.byteLength(value);\n else if (Buffer2.isBuffer(value))\n this.value = value, this.length = value.length;\n else\n return reporter.error(\"Unsupported type: \" + typeof value);\n }\n EncoderBuffer.prototype = {}, exports.EncoderBuffer = EncoderBuffer, EncoderBuffer.isEncoderBuffer = function(data) {\n return data instanceof EncoderBuffer \? !0 : typeof data == \"object\" && data.constructor.name === \"EncoderBuffer\" && typeof data.length == \"number\" && typeof data.join == \"function\";\n }, EncoderBuffer.prototype.join = function(out, offset) {\n return out || (out = Buffer2.alloc(this.length)), offset || (offset = 0), this.length === 0 || (@Array.isArray(this.value) \? this.value.forEach(function(item) {\n item.join(out, offset), offset += item.length;\n }) : (typeof this.value == \"number\" \? out[offset] = this.value : typeof this.value == \"string\" \? out.write(this.value, offset) : Buffer2.isBuffer(this.value) && this.value.copy(out, offset), offset += this.length)), out;\n };\n }\n}), require_node = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/node.js\"(exports, module) {\n var Reporter = require_reporter().Reporter, EncoderBuffer = require_buffer().EncoderBuffer, DecoderBuffer = require_buffer().DecoderBuffer, assert = require_minimalistic_assert(), tags = [\n \"seq\",\n \"seqof\",\n \"set\",\n \"setof\",\n \"objid\",\n \"bool\",\n \"gentime\",\n \"utctime\",\n \"null_\",\n \"enum\",\n \"int\",\n \"objDesc\",\n \"bitstr\",\n \"bmpstr\",\n \"charstr\",\n \"genstr\",\n \"graphstr\",\n \"ia5str\",\n \"iso646str\",\n \"numstr\",\n \"octstr\",\n \"printstr\",\n \"t61str\",\n \"unistr\",\n \"utf8str\",\n \"videostr\"\n ], methods = [\"key\", \"obj\", \"use\", \"optional\", \"explicit\", \"implicit\", \"def\", \"choice\", \"any\", \"contains\"].concat(tags), overrided = [\n \"_peekTag\",\n \"_decodeTag\",\n \"_use\",\n \"_decodeStr\",\n \"_decodeObjid\",\n \"_decodeTime\",\n \"_decodeNull\",\n \"_decodeInt\",\n \"_decodeBool\",\n \"_decodeList\",\n \"_encodeComposite\",\n \"_encodeStr\",\n \"_encodeObjid\",\n \"_encodeTime\",\n \"_encodeNull\",\n \"_encodeInt\",\n \"_encodeBool\"\n ];\n function Node(enc, parent, name) {\n let state = {};\n this._baseState = state, state.name = name, state.enc = enc, state.parent = parent || null, state.children = null, state.tag = null, state.args = null, state.reverseArgs = null, state.choice = null, state.optional = !1, state.any = !1, state.obj = !1, state.use = null, state.useDecoder = null, state.key = null, state.default = null, state.explicit = null, state.implicit = null, state.contains = null, state.parent || (state.children = [], this._wrap());\n }\n Node.prototype = {}, module.exports = Node;\n var stateProps = [\n \"enc\",\n \"parent\",\n \"children\",\n \"tag\",\n \"args\",\n \"reverseArgs\",\n \"choice\",\n \"optional\",\n \"any\",\n \"obj\",\n \"use\",\n \"alteredUse\",\n \"key\",\n \"default\",\n \"explicit\",\n \"implicit\",\n \"contains\"\n ];\n Node.prototype.clone = function() {\n let state = this._baseState, cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n let res = new this.constructor(cstate.parent);\n return res._baseState = cstate, res;\n }, Node.prototype._wrap = function() {\n let state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function() {\n let clone = new this.constructor(this);\n return state.children.push(clone), clone[method].@apply(clone, arguments);\n };\n }, this);\n }, Node.prototype._init = function(body) {\n let state = this._baseState;\n assert(state.parent === null), body.@call(this), state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this), assert.equal(state.children.length, 1, \"Root node can have only one child\");\n }, Node.prototype._useArgs = function(args) {\n let state = this._baseState, children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this), children.length !== 0 && (assert(state.children === null), state.children = children, children.forEach(function(child) {\n child._baseState.parent = this;\n }, this)), args.length !== 0 && (assert(state.args === null), state.args = args, state.reverseArgs = args.map(function(arg) {\n if (typeof arg != \"object\" || arg.constructor !== Object)\n return arg;\n let res = {};\n return Object.keys(arg).forEach(function(key2) {\n key2 == (key2 | 0) && (key2 |= 0);\n let value = arg[key2];\n res[value] = key2;\n }), res;\n }));\n }, overrided.forEach(function(method) {\n Node.prototype[method] = function() {\n let state = this._baseState;\n throw new Error(method + \" not implemented for encoding: \" + state.enc);\n };\n }), tags.forEach(function(tag) {\n Node.prototype[tag] = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return assert(state.tag === null), state.tag = tag, this._useArgs(args), this;\n };\n }), Node.prototype.use = function(item) {\n assert(item);\n let state = this._baseState;\n return assert(state.use === null), state.use = item, this;\n }, Node.prototype.optional = function() {\n let state = this._baseState;\n return state.optional = !0, this;\n }, Node.prototype.def = function(val) {\n let state = this._baseState;\n return assert(state.default === null), state.default = val, state.optional = !0, this;\n }, Node.prototype.explicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.explicit = num, this;\n }, Node.prototype.implicit = function(num) {\n let state = this._baseState;\n return assert(state.explicit === null && state.implicit === null), state.implicit = num, this;\n }, Node.prototype.obj = function() {\n let state = this._baseState, args = @Array.prototype.slice.@call(arguments);\n return state.obj = !0, args.length !== 0 && this._useArgs(args), this;\n }, Node.prototype.key = function(newKey) {\n let state = this._baseState;\n return assert(state.key === null), state.key = newKey, this;\n }, Node.prototype.any = function() {\n let state = this._baseState;\n return state.any = !0, this;\n }, Node.prototype.choice = function(obj) {\n let state = this._baseState;\n return assert(state.choice === null), state.choice = obj, this._useArgs(Object.keys(obj).map(function(key2) {\n return obj[key2];\n })), this;\n }, Node.prototype.contains = function(item) {\n let state = this._baseState;\n return assert(state.use === null), state.contains = item, this;\n }, Node.prototype._decode = function(input, options) {\n let state = this._baseState;\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n let result = state.default, present = !0, prevKey = null;\n if (state.key !== null && (prevKey = input.enterKey(state.key)), state.optional) {\n let tag = null;\n if (state.explicit !== null \? tag = state.explicit : state.implicit !== null \? tag = state.implicit : state.tag !== null && (tag = state.tag), tag === null && !state.any) {\n let save = input.save();\n try {\n state.choice === null \? this._decodeGeneric(state.tag, input, options) : this._decodeChoice(input, options), present = !0;\n } catch {\n present = !1;\n }\n input.restore(save);\n } else if (present = this._peekTag(input, tag, state.any), input.isError(present))\n return present;\n }\n let prevObj;\n if (state.obj && present && (prevObj = input.enterObject()), present) {\n if (state.explicit !== null) {\n let explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n let start = input.offset;\n if (state.use === null && state.choice === null) {\n let save;\n state.any && (save = input.save());\n let body = this._decodeTag(input, state.implicit !== null \? state.implicit : state.tag, state.any);\n if (input.isError(body))\n return body;\n state.any \? result = input.raw(save) : input = body;\n }\n if (options && options.track && state.tag !== null && options.track(input.path(), start, input.length, \"tagged\"), options && options.track && state.tag !== null && options.track(input.path(), input.offset, input.length, \"content\"), state.any || (state.choice === null \? result = this._decodeGeneric(state.tag, input, options) : result = this._decodeChoice(input, options)), input.isError(result))\n return result;\n if (!state.any && state.choice === null && state.children !== null && state.children.forEach(function(child) {\n child._decode(input, options);\n }), state.contains && (state.tag === \"octstr\" || state.tag === \"bitstr\")) {\n let data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)._decode(data, options);\n }\n }\n return state.obj && present && (result = input.leaveObject(prevObj)), state.key !== null && (result !== null || present === !0) \? input.leaveKey(prevKey, state.key, result) : prevKey !== null && input.exitKey(prevKey), result;\n }, Node.prototype._decodeGeneric = function(tag, input, options) {\n let state = this._baseState;\n return tag === \"seq\" || tag === \"set\" \? null : tag === \"seqof\" || tag === \"setof\" \? this._decodeList(input, tag, state.args[0], options) : /str$/.test(tag) \? this._decodeStr(input, tag, options) : tag === \"objid\" && state.args \? this._decodeObjid(input, state.args[0], state.args[1], options) : tag === \"objid\" \? this._decodeObjid(input, null, null, options) : tag === \"gentime\" || tag === \"utctime\" \? this._decodeTime(input, tag, options) : tag === \"null_\" \? this._decodeNull(input, options) : tag === \"bool\" \? this._decodeBool(input, options) : tag === \"objDesc\" \? this._decodeStr(input, tag, options) : tag === \"int\" || tag === \"enum\" \? this._decodeInt(input, state.args && state.args[0], options) : state.use !== null \? this._getUse(state.use, input._reporterState.obj)._decode(input, options) : input.error(\"unknown tag: \" + tag);\n }, Node.prototype._getUse = function(entity, obj) {\n let state = this._baseState;\n return state.useDecoder = this._use(entity, obj), assert(state.useDecoder._baseState.parent === null), state.useDecoder = state.useDecoder._baseState.children[0], state.implicit !== state.useDecoder._baseState.implicit && (state.useDecoder = state.useDecoder.clone(), state.useDecoder._baseState.implicit = state.implicit), state.useDecoder;\n }, Node.prototype._decodeChoice = function(input, options) {\n let state = this._baseState, result = null, match = !1;\n return Object.keys(state.choice).some(function(key2) {\n let save = input.save(), node = state.choice[key2];\n try {\n let value = node._decode(input, options);\n if (input.isError(value))\n return !1;\n result = { type: key2, value }, match = !0;\n } catch {\n return input.restore(save), !1;\n }\n return !0;\n }, this), match \? result : input.error(\"Choice not matched\");\n }, Node.prototype._createEncoderBuffer = function(data) {\n return new EncoderBuffer(data, this.reporter);\n }, Node.prototype._encode = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.default !== null && state.default === data)\n return;\n let result = this._encodeValue(data, reporter, parent);\n if (result !== void 0 && !this._skipDefault(result, reporter, parent))\n return result;\n }, Node.prototype._encodeValue = function(data, reporter, parent) {\n let state = this._baseState;\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter);\n let result = null;\n if (this.reporter = reporter, state.optional && data === void 0)\n if (state.default !== null)\n data = state.default;\n else\n return;\n let content = null, primitive = !1;\n if (state.any)\n result = this._createEncoderBuffer(data);\n else if (state.choice)\n result = this._encodeChoice(data, reporter);\n else if (state.contains)\n content = this._getUse(state.contains, parent)._encode(data, reporter), primitive = !0;\n else if (state.children)\n content = state.children.map(function(child) {\n if (child._baseState.tag === \"null_\")\n return child._encode(null, reporter, data);\n if (child._baseState.key === null)\n return reporter.error(\"Child should have a key\");\n let prevKey = reporter.enterKey(child._baseState.key);\n if (typeof data != \"object\")\n return reporter.error(\"Child expected, but input is not object\");\n let res = child._encode(data[child._baseState.key], reporter, data);\n return reporter.leaveKey(prevKey), res;\n }, this).filter(function(child) {\n return child;\n }), content = this._createEncoderBuffer(content);\n else if (state.tag === \"seqof\" || state.tag === \"setof\") {\n if (!(state.args && state.args.length === 1))\n return reporter.error(\"Too many args for : \" + state.tag);\n if (!@Array.isArray(data))\n return reporter.error(\"seqof/setof, but data is not Array\");\n let child = this.clone();\n child._baseState.implicit = null, content = this._createEncoderBuffer(data.map(function(item) {\n let state2 = this._baseState;\n return this._getUse(state2.args[0], data)._encode(item, reporter);\n }, child));\n } else\n state.use !== null \? result = this._getUse(state.use, parent)._encode(data, reporter) : (content = this._encodePrimitive(state.tag, data), primitive = !0);\n if (!state.any && state.choice === null) {\n let tag = state.implicit !== null \? state.implicit : state.tag, cls = state.implicit === null \? \"universal\" : \"context\";\n tag === null \? state.use === null && reporter.error(\"Tag could be omitted only for .use()\") : state.use === null && (result = this._encodeComposite(tag, primitive, cls, content));\n }\n return state.explicit !== null && (result = this._encodeComposite(state.explicit, !1, \"context\", result)), result;\n }, Node.prototype._encodeChoice = function(data, reporter) {\n let state = this._baseState, node = state.choice[data.type];\n return node || assert(!1, data.type + \" not found in \" + JSON.stringify(Object.keys(state.choice))), node._encode(data.value, reporter);\n }, Node.prototype._encodePrimitive = function(tag, data) {\n let state = this._baseState;\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n if (tag === \"objid\" && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n if (tag === \"objid\")\n return this._encodeObjid(data, null, null);\n if (tag === \"gentime\" || tag === \"utctime\")\n return this._encodeTime(data, tag);\n if (tag === \"null_\")\n return this._encodeNull();\n if (tag === \"int\" || tag === \"enum\")\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n if (tag === \"bool\")\n return this._encodeBool(data);\n if (tag === \"objDesc\")\n return this._encodeStr(data, tag);\n throw new Error(\"Unsupported tag: \" + tag);\n }, Node.prototype._isNumstr = function(str) {\n return /^[0-9 ]*$/.test(str);\n }, Node.prototype._isPrintstr = function(str) {\n return /^[A-Za-z0-9 '()+,-./:=\?]*$/.test(str);\n };\n }\n}), require_der = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/der.js\"(exports) {\n function reverse(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }\n exports.tagClass = {\n 0: \"universal\",\n 1: \"application\",\n 2: \"context\",\n 3: \"private\"\n }, exports.tagClassByName = reverse(exports.tagClass), exports.tag = {\n 0: \"end\",\n 1: \"bool\",\n 2: \"int\",\n 3: \"bitstr\",\n 4: \"octstr\",\n 5: \"null_\",\n 6: \"objid\",\n 7: \"objDesc\",\n 8: \"external\",\n 9: \"real\",\n 10: \"enum\",\n 11: \"embed\",\n 12: \"utf8str\",\n 13: \"relativeOid\",\n 16: \"seq\",\n 17: \"set\",\n 18: \"numstr\",\n 19: \"printstr\",\n 20: \"t61str\",\n 21: \"videostr\",\n 22: \"ia5str\",\n 23: \"utctime\",\n 24: \"gentime\",\n 25: \"graphstr\",\n 26: \"iso646str\",\n 27: \"genstr\",\n 28: \"unistr\",\n 29: \"charstr\",\n 30: \"bmpstr\"\n }, exports.tagByName = reverse(exports.tag);\n }\n}), require_der2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, Node = require_node(), der = require_der();\n function DEREncoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DEREncoder.prototype = {}, module.exports = DEREncoder, DEREncoder.prototype.encode = function(data, reporter) {\n return this.tree._encode(data, reporter).join();\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._encodeComposite = function(tag, primitive, cls, content) {\n let encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n if (content.length < 128) {\n let header2 = Buffer2.alloc(2);\n return header2[0] = encodedTag, header2[1] = content.length, this._createEncoderBuffer([header2, content]);\n }\n let lenOctets = 1;\n for (let i = content.length;i >= 256; i >>= 8)\n lenOctets++;\n let header = Buffer2.alloc(2 + lenOctets);\n header[0] = encodedTag, header[1] = 128 | lenOctets;\n for (let i = 1 + lenOctets, j = content.length;j > 0; i--, j >>= 8)\n header[i] = j & 255;\n return this._createEncoderBuffer([header, content]);\n }, DERNode.prototype._encodeStr = function(str, tag) {\n if (tag === \"bitstr\")\n return this._createEncoderBuffer([str.unused | 0, str.data]);\n if (tag === \"bmpstr\") {\n let buf = Buffer2.alloc(str.length * 2);\n for (let i = 0;i < str.length; i++)\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n return this._createEncoderBuffer(buf);\n } else\n return tag === \"numstr\" \? this._isNumstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: numstr supports only digits and space\") : tag === \"printstr\" \? this._isPrintstr(str) \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\") : /str$/.test(tag) \? this._createEncoderBuffer(str) : tag === \"objDesc\" \? this._createEncoderBuffer(str) : this.reporter.error(\"Encoding of string type: \" + tag + \" unsupported\");\n }, DERNode.prototype._encodeObjid = function(id, values, relative) {\n if (typeof id == \"string\") {\n if (!values)\n return this.reporter.error(\"string objid given, but no values map found\");\n if (!values.hasOwnProperty(id))\n return this.reporter.error(\"objid not found in values map\");\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n } else if (@Array.isArray(id)) {\n id = id.slice();\n for (let i = 0;i < id.length; i++)\n id[i] |= 0;\n }\n if (!@Array.isArray(id))\n return this.reporter.error(\"objid() should be either array or string, got: \" + JSON.stringify(id));\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error(\"Second objid identifier OOB\");\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n let size = 0;\n for (let i = 0;i < id.length; i++) {\n let ident = id[i];\n for (size++;ident >= 128; ident >>= 7)\n size++;\n }\n let objid = Buffer2.alloc(size), offset = objid.length - 1;\n for (let i = id.length - 1;i >= 0; i--) {\n let ident = id[i];\n for (objid[offset--] = ident & 127;(ident >>= 7) > 0; )\n objid[offset--] = 128 | ident & 127;\n }\n return this._createEncoderBuffer(objid);\n };\n function two(num) {\n return num < 10 \? \"0\" + num : num;\n }\n DERNode.prototype._encodeTime = function(time, tag) {\n let str, date = new Date(time);\n return tag === \"gentime\" \? str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : tag === \"utctime\" \? str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n \"Z\"\n ].join(\"\") : this.reporter.error(\"Encoding \" + tag + \" time is not supported yet\"), this._encodeStr(str, \"octstr\");\n }, DERNode.prototype._encodeNull = function() {\n return this._createEncoderBuffer(\"\");\n }, DERNode.prototype._encodeInt = function(num, values) {\n if (typeof num == \"string\") {\n if (!values)\n return this.reporter.error(\"String int or enum given, but no values map\");\n if (!values.hasOwnProperty(num))\n return this.reporter.error(\"Values map doesn't contain: \" + JSON.stringify(num));\n num = values[num];\n }\n if (typeof num != \"number\" && !Buffer2.isBuffer(num)) {\n let numArray = num.toArray();\n !num.sign && numArray[0] & 128 && numArray.unshift(0), num = Buffer2.from(numArray);\n }\n if (Buffer2.isBuffer(num)) {\n let size2 = num.length;\n num.length === 0 && size2++;\n let out2 = Buffer2.alloc(size2);\n return num.copy(out2), num.length === 0 && (out2[0] = 0), this._createEncoderBuffer(out2);\n }\n if (num < 128)\n return this._createEncoderBuffer(num);\n if (num < 256)\n return this._createEncoderBuffer([0, num]);\n let size = 1;\n for (let i = num;i >= 256; i >>= 8)\n size++;\n let out = new @Array(size);\n for (let i = out.length - 1;i >= 0; i--)\n out[i] = num & 255, num >>= 8;\n return out[0] & 128 && out.unshift(0), this._createEncoderBuffer(Buffer2.from(out));\n }, DERNode.prototype._encodeBool = function(value) {\n return this._createEncoderBuffer(value \? 255 : 0);\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getEncoder(\"der\").tree;\n }, DERNode.prototype._skipDefault = function(dataBuffer, reporter, parent) {\n let state = this._baseState, i;\n if (state.default === null)\n return !1;\n let data = dataBuffer.join();\n if (state.defaultBuffer === void 0 && (state.defaultBuffer = this._encodeValue(state.default, reporter, parent).join()), data.length !== state.defaultBuffer.length)\n return !1;\n for (i = 0;i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return !1;\n return !0;\n };\n function encodeTag(tag, primitive, cls, reporter) {\n let res;\n if (tag === \"seqof\" \? tag = \"seq\" : tag === \"setof\" && (tag = \"set\"), der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag == \"number\" && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error(\"Unknown tag: \" + tag);\n return res >= 31 \? reporter.error(\"Multi-octet tag encoding unsupported\") : (primitive || (res |= 32), res |= der.tagClassByName[cls || \"universal\"] << 6, res);\n }\n }\n}), require_pem = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), DEREncoder = require_der2();\n function PEMEncoder(entity) {\n DEREncoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMEncoder, DEREncoder), module.exports = PEMEncoder, PEMEncoder.prototype.encode = function(data, options) {\n let p = DEREncoder.prototype.encode.@call(this, data).toString(\"base64\"), out = [\"-----BEGIN \" + options.label + \"-----\"];\n for (let i = 0;i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n return out.push(\"-----END \" + options.label + \"-----\"), out.join(`\n`);\n };\n }\n}), require_encoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/encoders/index.js\"(exports) {\n var encoders = exports;\n encoders.der = require_der2(), encoders.pem = require_pem();\n }\n}), require_der3 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/der.js\"(exports, module) {\n var inherits = require_inherits_browser(), bignum = require_bn5(), DecoderBuffer = require_buffer().DecoderBuffer, Node = require_node(), der = require_der();\n function DERDecoder(entity) {\n this.enc = \"der\", this.name = entity.name, this.entity = entity, this.tree = new DERNode, this.tree._init(entity.body);\n }\n DERDecoder.prototype = {}, module.exports = DERDecoder, DERDecoder.prototype.decode = function(data, options) {\n return DecoderBuffer.isDecoderBuffer(data) || (data = new DecoderBuffer(data, options)), this.tree._decode(data, options);\n };\n function DERNode(parent) {\n Node.@call(this, \"der\", parent);\n }\n inherits(DERNode, Node), DERNode.prototype._peekTag = function(buffer, tag, any) {\n if (buffer.isEmpty())\n return !1;\n let state = buffer.save(), decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n return buffer.isError(decodedTag) \? decodedTag : (buffer.restore(state), decodedTag.tag === tag || decodedTag.tagStr === tag || decodedTag.tagStr + \"of\" === tag || any);\n }, DERNode.prototype._decodeTag = function(buffer, tag, any) {\n let decodedTag = derDecodeTag(buffer, 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n let len = derDecodeLen(buffer, decodedTag.primitive, 'Failed to get length of \"' + tag + '\"');\n if (buffer.isError(len))\n return len;\n if (!any && decodedTag.tag !== tag && decodedTag.tagStr !== tag && decodedTag.tagStr + \"of\" !== tag)\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n let state = buffer.save(), res = this._skipUntilEnd(buffer, 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n return buffer.isError(res) \? res : (len = buffer.offset - state.offset, buffer.restore(state), buffer.skip(len, 'Failed to match body of: \"' + tag + '\"'));\n }, DERNode.prototype._skipUntilEnd = function(buffer, fail) {\n for (;; ) {\n let tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n let len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n let res;\n if (tag.primitive || len !== null \? res = buffer.skip(len) : res = this._skipUntilEnd(buffer, fail), buffer.isError(res))\n return res;\n if (tag.tagStr === \"end\")\n break;\n }\n }, DERNode.prototype._decodeList = function(buffer, tag, decoder, options) {\n let result = [];\n for (;!buffer.isEmpty(); ) {\n let possibleEnd = this._peekTag(buffer, \"end\");\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n let res = decoder.decode(buffer, \"der\", options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n }, DERNode.prototype._decodeStr = function(buffer, tag) {\n if (tag === \"bitstr\") {\n let unused = buffer.readUInt8();\n return buffer.isError(unused) \? unused : { unused, data: buffer.raw() };\n } else if (tag === \"bmpstr\") {\n let raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error(\"Decoding of string type: bmpstr length mismatch\");\n let str = \"\";\n for (let i = 0;i < raw.length / 2; i++)\n str += @String.fromCharCode(raw.readUInt16BE(i * 2));\n return str;\n } else if (tag === \"numstr\") {\n let numstr = buffer.raw().toString(\"ascii\");\n return this._isNumstr(numstr) \? numstr : buffer.error(\"Decoding of string type: numstr unsupported characters\");\n } else {\n if (tag === \"octstr\")\n return buffer.raw();\n if (tag === \"objDesc\")\n return buffer.raw();\n if (tag === \"printstr\") {\n let printstr = buffer.raw().toString(\"ascii\");\n return this._isPrintstr(printstr) \? printstr : buffer.error(\"Decoding of string type: printstr unsupported characters\");\n } else\n return /str$/.test(tag) \? buffer.raw().toString() : buffer.error(\"Decoding of string type: \" + tag + \" unsupported\");\n }\n }, DERNode.prototype._decodeObjid = function(buffer, values, relative) {\n let result, identifiers = [], ident = 0, subident = 0;\n for (;!buffer.isEmpty(); )\n subident = buffer.readUInt8(), ident <<= 7, ident |= subident & 127, (subident & 128) === 0 && (identifiers.push(ident), ident = 0);\n subident & 128 && identifiers.push(ident);\n let first = identifiers[0] / 40 | 0, second = identifiers[0] % 40;\n if (relative \? result = identifiers : result = [first, second].concat(identifiers.slice(1)), values) {\n let tmp = values[result.join(\" \")];\n tmp === void 0 && (tmp = values[result.join(\".\")]), tmp !== void 0 && (result = tmp);\n }\n return result;\n }, DERNode.prototype._decodeTime = function(buffer, tag) {\n let str = buffer.raw().toString(), year, mon, day, hour, min, sec;\n if (tag === \"gentime\")\n year = str.slice(0, 4) | 0, mon = str.slice(4, 6) | 0, day = str.slice(6, 8) | 0, hour = str.slice(8, 10) | 0, min = str.slice(10, 12) | 0, sec = str.slice(12, 14) | 0;\n else if (tag === \"utctime\")\n year = str.slice(0, 2) | 0, mon = str.slice(2, 4) | 0, day = str.slice(4, 6) | 0, hour = str.slice(6, 8) | 0, min = str.slice(8, 10) | 0, sec = str.slice(10, 12) | 0, year < 70 \? year = 2000 + year : year = 1900 + year;\n else\n return buffer.error(\"Decoding \" + tag + \" time is not supported yet\");\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n }, DERNode.prototype._decodeNull = function() {\n return null;\n }, DERNode.prototype._decodeBool = function(buffer) {\n let res = buffer.readUInt8();\n return buffer.isError(res) \? res : res !== 0;\n }, DERNode.prototype._decodeInt = function(buffer, values) {\n let raw = buffer.raw(), res = new bignum(raw);\n return values && (res = values[res.toString(10)] || res), res;\n }, DERNode.prototype._use = function(entity, obj) {\n return typeof entity == \"function\" && (entity = entity(obj)), entity._getDecoder(\"der\").tree;\n };\n function derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n let cls = der.tagClass[tag >> 6], primitive = (tag & 32) === 0;\n if ((tag & 31) === 31) {\n let oct = tag;\n for (tag = 0;(oct & 128) === 128; ) {\n if (oct = buf.readUInt8(fail), buf.isError(oct))\n return oct;\n tag <<= 7, tag |= oct & 127;\n }\n } else\n tag &= 31;\n let tagStr = der.tag[tag];\n return {\n cls,\n primitive,\n tag,\n tagStr\n };\n }\n function derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n if (!primitive && len === 128)\n return null;\n if ((len & 128) === 0)\n return len;\n let num = len & 127;\n if (num > 4)\n return buf.error(\"length octect is too long\");\n len = 0;\n for (let i = 0;i < num; i++) {\n len <<= 8;\n let j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n return len;\n }\n }\n}), require_pem2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/pem.js\"(exports, module) {\n var inherits = require_inherits_browser(), Buffer2 = require_safer().Buffer, DERDecoder = require_der3();\n function PEMDecoder(entity) {\n DERDecoder.@call(this, entity), this.enc = \"pem\";\n }\n inherits(PEMDecoder, DERDecoder), module.exports = PEMDecoder, PEMDecoder.prototype.decode = function(data, options) {\n let lines = data.toString().split(/[\\r\\n]+/g), label = options.label.toUpperCase(), re = /^-----(BEGIN|END) ([^-]+)-----$/, start = -1, end = -1;\n for (let i = 0;i < lines.length; i++) {\n let match = lines[i].match(re);\n if (match !== null && match[2] === label)\n if (start === -1) {\n if (match[1] !== \"BEGIN\")\n break;\n start = i;\n } else {\n if (match[1] !== \"END\")\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error(\"PEM section not found for: \" + label);\n let base64 = lines.slice(start + 1, end).join(\"\");\n base64.replace(/[^a-z0-9+/=]+/gi, \"\");\n let input = Buffer2.from(base64, \"base64\");\n return DERDecoder.prototype.decode.@call(this, input, options);\n };\n }\n}), require_decoders = __commonJS({\n \"node_modules/asn1.js/lib/asn1/decoders/index.js\"(exports) {\n var decoders = exports;\n decoders.der = require_der3(), decoders.pem = require_pem2();\n }\n}), require_api = __commonJS({\n \"node_modules/asn1.js/lib/asn1/api.js\"(exports) {\n var encoders = require_encoders(), decoders = require_decoders(), inherits = require_inherits_browser(), api = exports;\n api.define = function(name, body) {\n return new Entity(name, body);\n };\n function Entity(name, body) {\n this.name = name, this.body = body, this.decoders = {}, this.encoders = {};\n }\n Entity.prototype = {}, Entity.prototype._createNamed = function(Base) {\n let name = this.name;\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n return inherits(Generated, Base), Generated.prototype._initNamed = function(entity, name2) {\n Base.@call(this, entity, name2);\n }, new Generated(this);\n }, Entity.prototype._getDecoder = function(enc) {\n return enc = enc || \"der\", this.decoders.hasOwnProperty(enc) || (this.decoders[enc] = this._createNamed(decoders[enc])), this.decoders[enc];\n }, Entity.prototype.decode = function(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n }, Entity.prototype._getEncoder = function(enc) {\n return enc = enc || \"der\", this.encoders.hasOwnProperty(enc) || (this.encoders[enc] = this._createNamed(encoders[enc])), this.encoders[enc];\n }, Entity.prototype.encode = function(data, enc, reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n };\n }\n}), require_base2 = __commonJS({\n \"node_modules/asn1.js/lib/asn1/base/index.js\"(exports) {\n var base = exports;\n base.Reporter = require_reporter().Reporter, base.DecoderBuffer = require_buffer().DecoderBuffer, base.EncoderBuffer = require_buffer().EncoderBuffer, base.Node = require_node();\n }\n}), require_constants = __commonJS({\n \"node_modules/asn1.js/lib/asn1/constants/index.js\"(exports) {\n var constants = exports;\n constants._reverse = function(map) {\n let res = {};\n return Object.keys(map).forEach(function(key2) {\n (key2 | 0) == key2 && (key2 = key2 | 0);\n let value = map[key2];\n res[value] = key2;\n }), res;\n }, constants.der = require_der();\n }\n}), require_asn1 = __commonJS({\n \"node_modules/asn1.js/lib/asn1.js\"(exports) {\n var asn1 = exports;\n asn1.bignum = require_bn5(), asn1.define = require_api().define, asn1.base = require_base2(), asn1.constants = require_constants(), asn1.decoders = require_decoders(), asn1.encoders = require_encoders();\n }\n}), require_certificate = __commonJS({\n \"node_modules/parse-asn1/certificate.js\"(exports, module) {\n var asn = require_asn1(), Time = asn.define(\"Time\", function() {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n });\n }), AttributeTypeValue = asn.define(\"AttributeTypeValue\", function() {\n this.seq().obj(this.key(\"type\").objid(), this.key(\"value\").any());\n }), AlgorithmIdentifier = asn.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"parameters\").optional(), this.key(\"curve\").objid().optional());\n }), SubjectPublicKeyInfo = asn.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n }), RelativeDistinguishedName = asn.define(\"RelativeDistinguishedName\", function() {\n this.setof(AttributeTypeValue);\n }), RDNSequence = asn.define(\"RDNSequence\", function() {\n this.seqof(RelativeDistinguishedName);\n }), Name = asn.define(\"Name\", function() {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n });\n }), Validity = asn.define(\"Validity\", function() {\n this.seq().obj(this.key(\"notBefore\").use(Time), this.key(\"notAfter\").use(Time));\n }), Extension = asn.define(\"Extension\", function() {\n this.seq().obj(this.key(\"extnID\").objid(), this.key(\"critical\").bool().def(!1), this.key(\"extnValue\").octstr());\n }), TBSCertificate = asn.define(\"TBSCertificate\", function() {\n this.seq().obj(this.key(\"version\").explicit(0).int().optional(), this.key(\"serialNumber\").int(), this.key(\"signature\").use(AlgorithmIdentifier), this.key(\"issuer\").use(Name), this.key(\"validity\").use(Validity), this.key(\"subject\").use(Name), this.key(\"subjectPublicKeyInfo\").use(SubjectPublicKeyInfo), this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(), this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(), this.key(\"extensions\").explicit(3).seqof(Extension).optional());\n }), X509Certificate = asn.define(\"X509Certificate\", function() {\n this.seq().obj(this.key(\"tbsCertificate\").use(TBSCertificate), this.key(\"signatureAlgorithm\").use(AlgorithmIdentifier), this.key(\"signatureValue\").bitstr());\n });\n module.exports = X509Certificate;\n }\n}), require_asn12 = __commonJS({\n \"node_modules/parse-asn1/asn1.js\"(exports) {\n var asn1 = require_asn1();\n exports.certificate = require_certificate();\n var RSAPrivateKey = asn1.define(\"RSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"modulus\").int(), this.key(\"publicExponent\").int(), this.key(\"privateExponent\").int(), this.key(\"prime1\").int(), this.key(\"prime2\").int(), this.key(\"exponent1\").int(), this.key(\"exponent2\").int(), this.key(\"coefficient\").int());\n });\n exports.RSAPrivateKey = RSAPrivateKey;\n var RSAPublicKey = asn1.define(\"RSAPublicKey\", function() {\n this.seq().obj(this.key(\"modulus\").int(), this.key(\"publicExponent\").int());\n });\n exports.RSAPublicKey = RSAPublicKey;\n var PublicKey = asn1.define(\"SubjectPublicKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPublicKey\").bitstr());\n });\n exports.PublicKey = PublicKey;\n var AlgorithmIdentifier = asn1.define(\"AlgorithmIdentifier\", function() {\n this.seq().obj(this.key(\"algorithm\").objid(), this.key(\"none\").null_().optional(), this.key(\"curve\").objid().optional(), this.key(\"params\").seq().obj(this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int()).optional());\n }), PrivateKeyInfo = asn1.define(\"PrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"algorithm\").use(AlgorithmIdentifier), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.PrivateKey = PrivateKeyInfo;\n var EncryptedPrivateKeyInfo = asn1.define(\"EncryptedPrivateKeyInfo\", function() {\n this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(), this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(), this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(), this.key(\"iters\").int())), this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(), this.key(\"iv\").octstr()))), this.key(\"subjectPrivateKey\").octstr());\n });\n exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo;\n var DSAPrivateKey = asn1.define(\"DSAPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"p\").int(), this.key(\"q\").int(), this.key(\"g\").int(), this.key(\"pub_key\").int(), this.key(\"priv_key\").int());\n });\n exports.DSAPrivateKey = DSAPrivateKey, exports.DSAparam = asn1.define(\"DSAparam\", function() {\n this.int();\n });\n var ECPrivateKey = asn1.define(\"ECPrivateKey\", function() {\n this.seq().obj(this.key(\"version\").int(), this.key(\"privateKey\").octstr(), this.key(\"parameters\").optional().explicit(0).use(ECParameters), this.key(\"publicKey\").optional().explicit(1).bitstr());\n });\n exports.ECPrivateKey = ECPrivateKey;\n var ECParameters = asn1.define(\"ECParameters\", function() {\n this.choice({\n namedCurve: this.objid()\n });\n });\n exports.signature = asn1.define(\"signature\", function() {\n this.seq().obj(this.key(\"r\").int(), this.key(\"s\").int());\n });\n }\n}), require_aesid = __commonJS({\n \"node_modules/parse-asn1/aesid.json\"(exports, module) {\n module.exports = {\n \"2.16.840.1.101.3.4.1.1\": \"aes-128-ecb\",\n \"2.16.840.1.101.3.4.1.2\": \"aes-128-cbc\",\n \"2.16.840.1.101.3.4.1.3\": \"aes-128-ofb\",\n \"2.16.840.1.101.3.4.1.4\": \"aes-128-cfb\",\n \"2.16.840.1.101.3.4.1.21\": \"aes-192-ecb\",\n \"2.16.840.1.101.3.4.1.22\": \"aes-192-cbc\",\n \"2.16.840.1.101.3.4.1.23\": \"aes-192-ofb\",\n \"2.16.840.1.101.3.4.1.24\": \"aes-192-cfb\",\n \"2.16.840.1.101.3.4.1.41\": \"aes-256-ecb\",\n \"2.16.840.1.101.3.4.1.42\": \"aes-256-cbc\",\n \"2.16.840.1.101.3.4.1.43\": \"aes-256-ofb\",\n \"2.16.840.1.101.3.4.1.44\": \"aes-256-cfb\"\n };\n }\n}), require_fixProc = __commonJS({\n \"node_modules/parse-asn1/fixProc.js\"(exports, module) {\n var findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((\?:128)|(\?:192)|(\?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m, startRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----/m, fullRegex = /^-----BEGIN ((\?:.*\? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m, evp = require_evp_bytestokey(), ciphers = require_browser5(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(okey, password) {\n var key2 = okey.toString(), match = key2.match(findProc), decrypted;\n if (match) {\n var suite = \"aes\" + match[1], iv = Buffer2.from(match[2], \"hex\"), cipherText = Buffer2.from(match[3].replace(/[\\r\\n]/g, \"\"), \"base64\"), cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key, out = [], cipher = ciphers.createDecipheriv(suite, cipherKey, iv);\n out.push(cipher.update(cipherText)), out.push(cipher.final()), decrypted = Buffer2.concat(out);\n } else {\n var match2 = key2.match(fullRegex);\n decrypted = Buffer2.from(match2[2].replace(/[\\r\\n]/g, \"\"), \"base64\");\n }\n var tag = key2.match(startRegex)[1];\n return {\n tag,\n data: decrypted\n };\n };\n }\n}), require_parse_asn1 = __commonJS({\n \"node_modules/parse-asn1/index.js\"(exports, module) {\n var asn1 = require_asn12(), aesid = require_aesid(), fixProc = require_fixProc(), ciphers = require_browser5(), compat = require_browser4(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = parseKeys;\n function parseKeys(buffer) {\n var password;\n if (buffer instanceof KeyObject)\n buffer = buffer.export();\n else if (buffer instanceof CryptoKey)\n buffer = KeyObject.from(buffer).export();\n else if (typeof buffer == \"object\" && !Buffer2.isBuffer(buffer)) {\n if (password = buffer.passphrase, buffer = buffer.key, buffer instanceof KeyObject) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = buffer.export(options);\n } else if (buffer instanceof CryptoKey) {\n var options;\n switch (buffer.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\",\n passphrase: password\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\",\n passphrase: password\n };\n break;\n }\n buffer = KeyObject.from(buffer).export(options);\n }\n }\n typeof buffer == \"string\" && (buffer = Buffer2.from(buffer));\n var stripped = fixProc(buffer, password), type = stripped.tag, data = stripped.data, subtype, ndata;\n switch (type) {\n case \"CERTIFICATE\":\n ndata = asn1.certificate.decode(data, \"der\").tbsCertificate.subjectPublicKeyInfo;\n case \"PUBLIC KEY\":\n switch (ndata || (ndata = asn1.PublicKey.decode(data, \"der\")), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, \"der\");\n case \"1.2.840.10045.2.1\":\n return ndata.subjectPrivateKey = ndata.subjectPublicKey, {\n type: \"ec\",\n data: ndata\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, \"der\"), {\n type: \"dsa\",\n data: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"ENCRYPTED PRIVATE KEY\":\n data = asn1.EncryptedPrivateKey.decode(data, \"der\"), data = decrypt(data, password);\n case \"PRIVATE KEY\":\n switch (ndata = asn1.PrivateKey.decode(data, \"der\"), subtype = ndata.algorithm.algorithm.join(\".\"), subtype) {\n case \"1.2.840.113549.1.1.1\":\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, \"der\");\n case \"1.2.840.10045.2.1\":\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, \"der\").privateKey\n };\n case \"1.2.840.10040.4.1\":\n return ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, \"der\"), {\n type: \"dsa\",\n params: ndata.algorithm.params\n };\n default:\n throw new Error(\"unknown key id \" + subtype);\n }\n case \"RSA PUBLIC KEY\":\n return asn1.RSAPublicKey.decode(data, \"der\");\n case \"RSA PRIVATE KEY\":\n return asn1.RSAPrivateKey.decode(data, \"der\");\n case \"DSA PRIVATE KEY\":\n return {\n type: \"dsa\",\n params: asn1.DSAPrivateKey.decode(data, \"der\")\n };\n case \"EC PRIVATE KEY\":\n return data = asn1.ECPrivateKey.decode(data, \"der\"), {\n curve: data.parameters.value,\n privateKey: data.privateKey\n };\n default:\n throw new Error(\"unknown key type \" + type);\n }\n }\n parseKeys.signature = asn1.signature;\n function decrypt(data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt, iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10), algo = aesid[data.algorithm.decrypt.cipher.algo.join(\".\")], iv = data.algorithm.decrypt.cipher.iv, cipherText = data.subjectPrivateKey, keylen = parseInt(algo.split(\"-\")[1], 10) / 8, key2 = compat.pbkdf2Sync(password, salt, iters, keylen, \"sha1\"), cipher = ciphers.createDecipheriv(algo, key2, iv), out = [];\n return out.push(cipher.update(cipherText)), out.push(cipher.final()), Buffer2.concat(out);\n }\n }\n}), require_curves2 = __commonJS({\n \"node_modules/browserify-sign/browser/curves.json\"(exports, module) {\n module.exports = {\n \"1.3.132.0.10\": \"secp256k1\",\n \"1.3.132.0.33\": \"p224\",\n \"1.2.840.10045.3.1.1\": \"p192\",\n \"1.2.840.10045.3.1.7\": \"p256\",\n \"1.3.132.0.34\": \"p384\",\n \"1.3.132.0.35\": \"p521\"\n };\n }\n}), require_sign = __commonJS({\n \"node_modules/browserify-sign/browser/sign.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHmac = require_browser3(), crt = require_browserify_rsa(), EC = require_elliptic().ec, BN = require_bn3(), parseKeys = require_parse_asn1(), curves = require_curves2();\n function sign(hash, key2, hashType, signType, tag) {\n var priv = parseKeys(getKeyFrom(key2, \"private\"));\n if (priv.curve) {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n return ecSign(hash, priv);\n } else if (priv.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong private key type\");\n return dsaSign(hash, priv, hashType);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong private key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = priv.modulus.byteLength(), pad = [0, 1];hash.length + pad.length + 1 < len; )\n pad.push(255);\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n var out = crt(pad, priv);\n return out;\n }\n function ecSign(hash, priv) {\n var curveId = curves[priv.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + priv.curve.join(\".\"));\n var curve = new EC(curveId), key2 = curve.keyFromPrivate(priv.privateKey), out = key2.sign(hash);\n return Buffer2.from(out.toDER());\n }\n function dsaSign(hash, priv, algo) {\n for (var x = priv.params.priv_key, p = priv.params.p, q = priv.params.q, g = priv.params.g, r = new BN(0), k, H = bits2int(hash, q).mod(q), s = !1, kv = getKey(x, q, hash, algo);s === !1; )\n k = makeKey(q, kv, algo), r = makeR(g, k, p, q), s = k.invm(q).imul(H.add(x.mul(r))).mod(q), s.cmpn(0) === 0 && (s = !1, r = new BN(0));\n return toDER(r, s);\n }\n function toDER(r, s) {\n r = r.toArray(), s = s.toArray(), r[0] & 128 && (r = [0].concat(r)), s[0] & 128 && (s = [0].concat(s));\n var total = r.length + s.length + 4, res = [48, total, 2, r.length];\n return res = res.concat(r, [2, s.length], s), Buffer2.from(res);\n }\n function getKey(x, q, hash, algo) {\n if (x = Buffer2.from(x.toArray()), x.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - x.length);\n x = Buffer2.concat([zeros, x]);\n }\n var hlen = hash.length, hbits = bits2octets(hash, q), v = Buffer2.alloc(hlen);\n v.fill(1);\n var k = Buffer2.alloc(hlen);\n return k = createHmac(algo, k).update(v).update(Buffer2.from([0])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), k = createHmac(algo, k).update(v).update(Buffer2.from([1])).update(x).update(hbits).digest(), v = createHmac(algo, k).update(v).digest(), { k, v };\n }\n function bits2int(obits, q) {\n var bits = new BN(obits), shift = (obits.length << 3) - q.bitLength();\n return shift > 0 && bits.ishrn(shift), bits;\n }\n function bits2octets(bits, q) {\n bits = bits2int(bits, q), bits = bits.mod(q);\n var out = Buffer2.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer2.alloc(q.byteLength() - out.length);\n out = Buffer2.concat([zeros, out]);\n }\n return out;\n }\n function makeKey(q, kv, algo) {\n var t, k;\n do {\n for (t = Buffer2.alloc(0);t.length * 8 < q.bitLength(); )\n kv.v = createHmac(algo, kv.k).update(kv.v).digest(), t = Buffer2.concat([t, kv.v]);\n k = bits2int(t, q), kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer2.from([0])).digest(), kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n return k;\n }\n function makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n }\n module.exports = sign, module.exports.getKey = getKey, module.exports.makeKey = makeKey;\n }\n}), require_verify = __commonJS({\n \"node_modules/browserify-sign/browser/verify.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, BN = require_bn3(), EC = require_elliptic().ec, parseKeys = require_parse_asn1(), curves = require_curves2();\n function verify(sig, hash, key2, signType, tag) {\n var pub = parseKeys(getKeyFrom(key2, \"public\"));\n if (pub.type === \"ec\") {\n if (signType !== \"ecdsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n return ecVerify(sig, hash, pub);\n } else if (pub.type === \"dsa\") {\n if (signType !== \"dsa\")\n throw new Error(\"wrong public key type\");\n return dsaVerify(sig, hash, pub);\n } else if (signType !== \"rsa\" && signType !== \"ecdsa/rsa\")\n throw new Error(\"wrong public key type\");\n hash = Buffer2.concat([tag, hash]);\n for (var len = pub.modulus.byteLength(), pad = [1], padNum = 0;hash.length + pad.length + 2 < len; )\n pad.push(255), padNum++;\n pad.push(0);\n for (var i = -1;++i < hash.length; )\n pad.push(hash[i]);\n pad = Buffer2.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red), sig = sig.redPow(new BN(pub.publicExponent)), sig = Buffer2.from(sig.fromRed().toArray());\n var out = padNum < 8 \? 1 : 0;\n for (len = Math.min(sig.length, pad.length), sig.length !== pad.length && (out = 1), i = -1;++i < len; )\n out |= sig[i] ^ pad[i];\n return out === 0;\n }\n function ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join(\".\")];\n if (!curveId)\n throw new Error(\"unknown curve \" + pub.data.algorithm.curve.join(\".\"));\n var curve = new EC(curveId), pubkey = pub.data.subjectPrivateKey.data;\n return curve.verify(hash, sig, pubkey);\n }\n function dsaVerify(sig, hash, pub) {\n var p = pub.data.p, q = pub.data.q, g = pub.data.g, y = pub.data.pub_key, unpacked = parseKeys.signature.decode(sig, \"der\"), s = unpacked.s, r = unpacked.r;\n checkValue(s, q), checkValue(r, q);\n var montp = BN.mont(p), w = s.invm(q), v = g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q);\n return v.cmp(r) === 0;\n }\n function checkValue(b, q) {\n if (b.cmpn(0) <= 0)\n throw new Error(\"invalid sig\");\n if (b.cmp(q) >= q)\n throw new Error(\"invalid sig\");\n }\n module.exports = verify;\n }\n}), require_browser8 = __commonJS({\n \"node_modules/browserify-sign/browser/index.js\"(exports, module) {\n var Buffer2 = require_safe_buffer().Buffer, createHash = require_browser2(), inherits = require_inherits_browser(), sign = require_sign(), verify = require_verify(), algorithms = require_algorithms();\n Object.keys(algorithms).forEach(function(key2) {\n algorithms[key2].id = Buffer2.from(algorithms[key2].id, \"hex\"), algorithms[key2.toLowerCase()] = algorithms[key2];\n });\n function Sign(algorithm) {\n if (typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n StreamModule.Writable.@call(this);\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hashType = data.hash, this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Sign, StreamModule.Writable), Sign.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Sign.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Sign.prototype.sign = function(key2, enc) {\n this.end();\n var hash = this._hash.digest(), sig = sign(hash, key2, this._hashType, this._signType, this._tag);\n return enc \? sig.toString(enc) : sig;\n };\n function Verify(algorithm) {\n if (StreamModule.Writable.@call(this), typeof algorithm === \"string\")\n algorithm = algorithm.toLowerCase();\n var data = algorithms[algorithm];\n if (!data)\n throw new Error(\"Unknown message digest\");\n this._hash = createHash(data.hash), this._tag = data.id, this._signType = data.sign;\n }\n inherits(Verify, StreamModule.Writable), Verify.prototype._write = function(data, _, done) {\n this._hash.update(data), done();\n }, Verify.prototype.update = function(data, enc) {\n return typeof data == \"string\" && (data = Buffer2.from(data, enc)), this._hash.update(data), this;\n }, Verify.prototype.verify = function(key2, sig, enc) {\n typeof sig == \"string\" && (sig = Buffer2.from(sig, enc)), this.end();\n var hash = this._hash.digest();\n return verify(sig, hash, key2, this._signType, this._tag);\n };\n function createSign(algorithm) {\n return new Sign(algorithm);\n }\n function createVerify(algorithm) {\n return new Verify(algorithm);\n }\n module.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign,\n createVerify\n };\n }\n}), require_bn6 = require_bn, require_browser9 = __commonJS({\n \"node_modules/create-ecdh/browser.js\"(exports, module) {\n var elliptic = require_elliptic(), BN = require_bn6();\n module.exports = function(curve) {\n return new ECDH(curve);\n };\n var aliases = {\n secp256k1: {\n name: \"secp256k1\",\n byteLength: 32\n },\n secp224r1: {\n name: \"p224\",\n byteLength: 28\n },\n prime256v1: {\n name: \"p256\",\n byteLength: 32\n },\n prime192v1: {\n name: \"p192\",\n byteLength: 24\n },\n ed25519: {\n name: \"ed25519\",\n byteLength: 32\n },\n secp384r1: {\n name: \"p384\",\n byteLength: 48\n },\n secp521r1: {\n name: \"p521\",\n byteLength: 66\n }\n };\n aliases.p224 = aliases.secp224r1, aliases.p256 = aliases.secp256r1 = aliases.prime256v1, aliases.p192 = aliases.secp192r1 = aliases.prime192v1, aliases.p384 = aliases.secp384r1, aliases.p521 = aliases.secp521r1;\n function ECDH(curve) {\n this.curveType = aliases[curve], this.curveType || (this.curveType = {\n name: curve\n }), this.curve = new elliptic.ec(this.curveType.name), this.keys = void 0;\n }\n ECDH.prototype = {}, ECDH.prototype.generateKeys = function(enc, format) {\n return this.keys = this.curve.genKeyPair(), this.getPublicKey(enc, format);\n }, ECDH.prototype.computeSecret = function(other, inenc, enc) {\n inenc = inenc || \"utf8\", Buffer.isBuffer(other) || (other = new Buffer(other, inenc));\n var otherPub = this.curve.keyFromPublic(other).getPublic(), out = otherPub.mul(this.keys.getPrivate()).getX();\n return formatReturnValue(out, enc, this.curveType.byteLength);\n }, ECDH.prototype.getPublicKey = function(enc, format) {\n var key2 = this.keys.getPublic(format === \"compressed\", !0);\n return format === \"hybrid\" && (key2[key2.length - 1] % 2 \? key2[0] = 7 : key2[0] = 6), formatReturnValue(key2, enc);\n }, ECDH.prototype.getPrivateKey = function(enc) {\n return formatReturnValue(this.keys.getPrivate(), enc);\n }, ECDH.prototype.setPublicKey = function(pub, enc) {\n return enc = enc || \"utf8\", Buffer.isBuffer(pub) || (pub = new Buffer(pub, enc)), this.keys._importPublic(pub), this;\n }, ECDH.prototype.setPrivateKey = function(priv, enc) {\n enc = enc || \"utf8\", Buffer.isBuffer(priv) || (priv = new Buffer(priv, enc));\n var _priv = new BN(priv);\n return _priv = _priv.toString(16), this.keys = this.curve.genKeyPair(), this.keys._importPrivate(_priv), this;\n };\n function formatReturnValue(bn, enc, len) {\n @Array.isArray(bn) || (bn = bn.toArray());\n var buf = new Buffer(bn);\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length);\n zeros.fill(0), buf = Buffer.concat([zeros, buf]);\n }\n return enc \? buf.toString(enc) : buf;\n }\n }\n}), require_mgf = __commonJS({\n \"node_modules/public-encrypt/mgf.js\"(exports, module) {\n var createHash = require_browser2(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(seed, len) {\n for (var t = Buffer2.alloc(0), i = 0, c;t.length < len; )\n c = i2ops(i++), t = Buffer2.concat([t, createHash(\"sha1\").update(seed).update(c).digest()]);\n return t.slice(0, len);\n };\n function i2ops(c) {\n var out = Buffer2.allocUnsafe(4);\n return out.writeUInt32BE(c, 0), out;\n }\n }\n}), require_xor = __commonJS({\n \"node_modules/public-encrypt/xor.js\"(exports, module) {\n module.exports = function(a, b) {\n for (var len = a.length, i = -1;++i < len; )\n a[i] ^= b[i];\n return a;\n };\n }\n}), require_bn7 = require_bn, { CryptoHasher } = globalThis.Bun, require_withPublic = __commonJS({\n \"node_modules/public-encrypt/withPublic.js\"(exports, module) {\n var BN = require_bn7(), Buffer2 = require_safe_buffer().Buffer;\n function withPublic(paddedMsg, key2) {\n return Buffer2.from(paddedMsg.toRed(BN.mont(key2.modulus)).redPow(new BN(key2.publicExponent)).fromRed().toArray());\n }\n module.exports = withPublic;\n }\n}), require_publicEncrypt = __commonJS({\n \"node_modules/public-encrypt/publicEncrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), randomBytes = require_browser(), createHash = require_browser2(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), withPublic = require_withPublic(), crt = require_browserify_rsa(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(publicKey, msg, reverse) {\n var padding;\n publicKey.padding \? padding = publicKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(publicKey), paddedMsg;\n if (padding === 4)\n paddedMsg = oaep(key2, msg);\n else if (padding === 1)\n paddedMsg = pkcs1(key2, msg, reverse);\n else if (padding === 3) {\n if (paddedMsg = new BN(msg), paddedMsg.cmp(key2.modulus) >= 0)\n throw new Error(\"data too long for modulus\");\n } else\n throw new Error(\"unknown padding\");\n return reverse \? crt(paddedMsg, key2) : withPublic(paddedMsg, key2);\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), mLen = msg.length, iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length, hLen2 = 2 * hLen;\n if (mLen > k - hLen2 - 2)\n throw new Error(\"message too long\");\n var ps = Buffer2.alloc(k - mLen - hLen2 - 2), dblen = k - hLen - 1, seed = randomBytes(hLen), maskedDb = xor(Buffer2.concat([iHash, ps, Buffer2.alloc(1, 1), msg], dblen), mgf(seed, dblen)), maskedSeed = xor(seed, mgf(maskedDb, hLen));\n return new BN(Buffer2.concat([Buffer2.alloc(1), maskedSeed, maskedDb], k));\n }\n function pkcs1(key2, msg, reverse) {\n var mLen = msg.length, k = key2.modulus.byteLength();\n if (mLen > k - 11)\n throw new Error(\"message too long\");\n var ps;\n return reverse \? ps = Buffer2.alloc(k - mLen - 3, 255) : ps = nonZero(k - mLen - 3), new BN(Buffer2.concat([Buffer2.from([0, reverse \? 1 : 2]), ps, Buffer2.alloc(1), msg], k));\n }\n function nonZero(len) {\n for (var out = Buffer2.allocUnsafe(len), i = 0, cache = randomBytes(len * 2), cur = 0, num;i < len; )\n cur === cache.length && (cache = randomBytes(len * 2), cur = 0), num = cache[cur++], num && (out[i++] = num);\n return out;\n }\n }\n}), require_privateDecrypt = __commonJS({\n \"node_modules/public-encrypt/privateDecrypt.js\"(exports, module) {\n var parseKeys = require_parse_asn1(), mgf = require_mgf(), xor = require_xor(), BN = require_bn7(), crt = require_browserify_rsa(), createHash = require_browser2(), withPublic = require_withPublic(), Buffer2 = require_safe_buffer().Buffer;\n module.exports = function(privateKey, enc, reverse) {\n var padding;\n privateKey.padding \? padding = privateKey.padding : reverse \? padding = 1 : padding = 4;\n var key2 = parseKeys(privateKey), k = key2.modulus.byteLength();\n if (enc.length > k || new BN(enc).cmp(key2.modulus) >= 0)\n throw new Error(\"decryption error\");\n var msg;\n reverse \? msg = withPublic(new BN(enc), key2) : msg = crt(enc, key2);\n var zBuffer = Buffer2.alloc(k - msg.length);\n if (msg = Buffer2.concat([zBuffer, msg], k), padding === 4)\n return oaep(key2, msg);\n if (padding === 1)\n return pkcs1(key2, msg, reverse);\n if (padding === 3)\n return msg;\n throw new Error(\"unknown padding\");\n };\n function oaep(key2, msg) {\n var k = key2.modulus.byteLength(), iHash = createHash(\"sha1\").update(Buffer2.alloc(0)).digest(), hLen = iHash.length;\n if (msg[0] !== 0)\n throw new Error(\"decryption error\");\n var maskedSeed = msg.slice(1, hLen + 1), maskedDb = msg.slice(hLen + 1), seed = xor(maskedSeed, mgf(maskedDb, hLen)), db = xor(maskedDb, mgf(seed, k - hLen - 1));\n if (compare(iHash, db.slice(0, hLen)))\n throw new Error(\"decryption error\");\n for (var i = hLen;db[i] === 0; )\n i++;\n if (db[i++] !== 1)\n throw new Error(\"decryption error\");\n return db.slice(i);\n }\n function pkcs1(key2, msg, reverse) {\n for (var p1 = msg.slice(0, 2), i = 2, status = 0;msg[i++] !== 0; )\n if (i >= msg.length) {\n status++;\n break;\n }\n var ps = msg.slice(2, i - 1);\n if ((p1.toString(\"hex\") !== \"0002\" && !reverse || p1.toString(\"hex\") !== \"0001\" && reverse) && status++, ps.length < 8 && status++, status)\n throw new Error(\"decryption error\");\n return msg.slice(i);\n }\n function compare(a, b) {\n a = Buffer2.from(a), b = Buffer2.from(b);\n var dif = 0, len = a.length;\n a.length !== b.length && (dif++, len = Math.min(a.length, b.length));\n for (var i = -1;++i < len; )\n dif += a[i] ^ b[i];\n return dif;\n }\n }\n}), require_browser10 = __commonJS({\n \"node_modules/public-encrypt/browser.js\"(exports) {\n var publicEncrypt = require_publicEncrypt();\n exports.publicEncrypt = function(key2, buf, options) {\n return publicEncrypt(getKeyFrom(key2, \"public\"), buf, options);\n };\n var privateDecrypt = require_privateDecrypt();\n exports.privateDecrypt = function(key2, buf, options) {\n return privateDecrypt(getKeyFrom(key2, \"private\"), buf, options);\n }, exports.privateEncrypt = function(key2, buf) {\n return publicEncrypt(getKeyFrom(key2, \"private\"), buf, !0);\n }, exports.publicDecrypt = function(key2, buf) {\n return privateDecrypt(getKeyFrom(key2, \"public\"), buf, !0);\n };\n }\n}), require_browser11 = __commonJS({\n \"node_modules/randomfill/browser.js\"(exports) {\n var safeBuffer = require_safe_buffer(), randombytes = require_browser(), Buffer2 = safeBuffer.Buffer, kBufferMaxLength = safeBuffer.kMaxLength, kMaxUint32 = Math.pow(2, 32) - 1;\n function assertOffset(offset, length) {\n if (typeof offset != \"number\" || offset !== offset)\n @throwTypeError(\"offset must be a number\");\n if (offset > kMaxUint32 || offset < 0)\n @throwTypeError(\"offset must be a uint32\");\n if (offset > kBufferMaxLength || offset > length)\n @throwRangeError(\"offset out of range\");\n }\n function assertSize(size, offset, length) {\n if (typeof size != \"number\" || size !== size)\n @throwTypeError(\"size must be a number\");\n if (size > kMaxUint32 || size < 0)\n @throwTypeError(\"size must be a uint32\");\n if (size + offset > length || size > kBufferMaxLength)\n @throwRangeError(\"buffer too small\");\n }\n exports.randomFill = randomFill, exports.randomFillSync = randomFillSync;\n function randomFill(buf, offset, size, cb) {\n if (!Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n if (typeof offset == \"function\")\n cb = offset, offset = 0, size = buf.length;\n else if (typeof size == \"function\")\n cb = size, size = buf.length - offset;\n else if (typeof cb != \"function\")\n @throwTypeError('\"cb\" argument must be a function');\n return assertOffset(offset, buf.length), assertSize(size, offset, buf.length), actualFill(buf, offset, size, cb);\n }\n function actualFill(buf, offset, size, cb) {\n if (cb) {\n randombytes(size, function(err, bytes2) {\n if (err)\n return cb(err);\n bytes2.copy(buf, offset), cb(null, buf);\n });\n return;\n }\n var bytes = randombytes(size);\n return bytes.copy(buf, offset), buf;\n }\n function randomFillSync(buf, offset, size) {\n if (typeof offset > \"u\" && (offset = 0), !Buffer2.isBuffer(buf) && !(buf instanceof global.Uint8Array))\n @throwTypeError('\"buf\" argument must be a Buffer or Uint8Array');\n return assertOffset(offset, buf.length), size === void 0 && (size = buf.length - offset), assertSize(size, offset, buf.length), actualFill(buf, offset, size);\n }\n }\n}), require_crypto_browserify2 = __commonJS({\n \"node_modules/crypto-browserify/index.js\"(exports) {\n exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require_browser(), exports.createHash = require_browser2(), exports.Hash = exports.createHash.Hash, exports.createHmac = exports.Hmac = require_browser3();\n var algos = require_algos(), algoKeys = Object.keys(algos), hashes = [\"sha1\", \"sha224\", \"sha256\", \"sha384\", \"sha512\", \"md5\", \"rmd160\"].concat(algoKeys);\n exports.getHashes = function() {\n return hashes;\n };\n var p = require_browser4();\n exports.pbkdf2 = p.pbkdf2, exports.pbkdf2Sync = p.pbkdf2Sync;\n var aes = require_browser6();\n exports.Cipher = aes.Cipher, exports.createCipher = aes.createCipher, exports.Cipheriv = aes.Cipheriv, exports.createCipheriv = aes.createCipheriv, exports.Decipher = aes.Decipher, exports.createDecipher = aes.createDecipher, exports.Decipheriv = aes.Decipheriv, exports.createDecipheriv = aes.createDecipheriv, exports.getCiphers = aes.getCiphers, exports.listCiphers = aes.listCiphers;\n var dh = require_browser7();\n exports.DiffieHellmanGroup = dh.DiffieHellmanGroup, exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup, exports.getDiffieHellman = dh.getDiffieHellman, exports.createDiffieHellman = dh.createDiffieHellman, exports.DiffieHellman = dh.DiffieHellman;\n var sign = require_browser8();\n exports.createSign = sign.createSign, exports.Sign = sign.Sign, exports.createVerify = sign.createVerify, exports.Verify = sign.Verify, exports.createECDH = require_browser9();\n var publicEncrypt = require_browser10();\n exports.publicEncrypt = publicEncrypt.publicEncrypt, exports.privateEncrypt = publicEncrypt.privateEncrypt, exports.publicDecrypt = publicEncrypt.publicDecrypt, exports.privateDecrypt = publicEncrypt.privateDecrypt, exports.getRandomValues = (values) => crypto.getRandomValues(values);\n var rf = require_browser11();\n exports.randomFill = rf.randomFill, exports.randomFillSync = rf.randomFillSync, exports.createCredentials = function() {\n throw new Error([\n \"sorry, createCredentials is not implemented yet\",\n \"we accept pull requests\",\n \"https://github.com/crypto-browserify/crypto-browserify\"\n ].join(`\n`));\n }, exports.constants = @processBindingConstants.crypto;\n }\n}), crypto_exports = require_crypto_browserify2(), DEFAULT_ENCODING = \"buffer\", getRandomValues = (array) => crypto.getRandomValues(array), randomUUID = () => crypto.randomUUID(), randomInt = (...args) => crypto.randomInt(...args), timingSafeEqual = \"timingSafeEqual\" in crypto \? (a, b) => {\n let { byteLength: byteLengthA } = a, { byteLength: byteLengthB } = b;\n if (typeof byteLengthA != \"number\" || typeof byteLengthB != \"number\")\n @throwTypeError(\"Input must be an array buffer view\");\n if (byteLengthA !== byteLengthB)\n @throwRangeError(\"Input buffers must have the same length\");\n return crypto.timingSafeEqual(a, b);\n} : void 0, scryptSync = \"scryptSync\" in crypto \? (password, salt, keylen, options) => {\n let res = crypto.scryptSync(password, salt, keylen, options);\n return DEFAULT_ENCODING !== \"buffer\" \? new Buffer(res).toString(DEFAULT_ENCODING) : new Buffer(res);\n} : void 0, scrypt = \"scryptSync\" in crypto \? function(password, salt, keylen, options, callback) {\n if (typeof options == \"function\" && (callback = options, options = void 0), typeof callback != \"function\") {\n var err = @makeTypeError(\"callback must be a function\");\n throw err.code = \"ERR_INVALID_CALLBACK\", err;\n }\n try {\n let result = crypto.scryptSync(password, salt, keylen, options);\n process.nextTick(callback, null, DEFAULT_ENCODING !== \"buffer\" \? new Buffer(result).toString(DEFAULT_ENCODING) : new Buffer(result));\n } catch (err2) {\n throw err2;\n }\n} : void 0;\ntimingSafeEqual && (Object.defineProperty(timingSafeEqual, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scrypt, \"name\", {\n value: \"::bunternal::\"\n}), Object.defineProperty(scryptSync, \"name\", {\n value: \"::bunternal::\"\n}));\nvar harcoded_curves = [\n \"p192\",\n \"p224\",\n \"p256\",\n \"p384\",\n \"p521\",\n \"curve25519\",\n \"ed25519\",\n \"secp256k1\",\n \"secp224r1\",\n \"prime256v1\",\n \"prime192v1\",\n \"ed25519\",\n \"secp384r1\",\n \"secp521r1\"\n], {\n symmetricKeySize,\n asymmetricKeyDetails,\n asymmetricKeyType,\n equals,\n exports,\n createSecretKey,\n createPublicKey,\n createPrivateKey,\n generateKeySync,\n generateKeyPairSync\n} = @lazy(\"internal/crypto\"), kCryptoKey = Symbol.for(\"::bunKeyObjectCryptoKey::\");\n\nclass KeyObject {\n [kCryptoKey];\n constructor(key2) {\n if (typeof key2 !== \"object\")\n @throwTypeError('The \"key\" argument must be an instance of CryptoKey.');\n this[kCryptoKey] = key2;\n }\n toString() {\n return \"[object KeyObject]\";\n }\n static from(key2) {\n if (key2 instanceof KeyObject)\n key2 = key2[kCryptoKey];\n return new KeyObject(key2);\n }\n get asymmetricKeyDetails() {\n return asymmetricKeyDetails(this[kCryptoKey]);\n }\n get symmetricKeySize() {\n return symmetricKeySize(this[kCryptoKey]);\n }\n get asymmetricKeyType() {\n return asymmetricKeyType(this[kCryptoKey]);\n }\n [\"export\"](options) {\n switch (arguments.length) {\n case 0:\n switch (this.type) {\n case \"secret\":\n options = {\n format: \"buffer\"\n };\n break;\n case \"public\":\n options = {\n format: \"pem\",\n type: \"spki\"\n };\n break;\n case \"private\":\n options = {\n format: \"pem\",\n type: \"pkcs8\"\n };\n break;\n }\n break;\n case 1:\n if (typeof options === \"object\" && !options.format)\n switch (this.type) {\n case \"secret\":\n options.format = \"buffer\";\n break;\n default:\n options.format = \"pem\";\n break;\n }\n }\n return exports(this[kCryptoKey], options);\n }\n equals(otherKey) {\n if (!(otherKey instanceof KeyObject))\n @throwTypeError(\"otherKey must be a KeyObject\");\n return equals(this[kCryptoKey], otherKey[kCryptoKey]);\n }\n get type() {\n return this[kCryptoKey].type;\n }\n}\ncrypto_exports.generateKeySync = function(algorithm, options) {\n return KeyObject.from(generateKeySync(algorithm, options\?.length));\n};\ncrypto_exports.generateKey = function(algorithm, options, callback) {\n try {\n const key2 = KeyObject.from(generateKeySync(algorithm, options\?.length));\n typeof callback === \"function\" && callback(null, KeyObject.from(key2));\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.generateKeyPairSync = _generateKeyPairSync;\ncrypto_exports.generateKeyPair = function(algorithm, options, callback) {\n try {\n const result = _generateKeyPairSync(algorithm, options);\n typeof callback === \"function\" && callback(null, result.publicKey, result.privateKey);\n } catch (err) {\n typeof callback === \"function\" && callback(err);\n }\n};\ncrypto_exports.createSecretKey = function(key2, encoding) {\n if (key2 instanceof KeyObject || key2 instanceof CryptoKey) {\n if (key2.type !== \"secret\") {\n const error = @makeTypeError(`ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE: Invalid key object type ${key2.type}, expected secret`);\n throw error.code = \"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE\", error;\n }\n return KeyObject.from(key2);\n }\n const buffer = getArrayBufferOrView(key2, encoding || \"utf8\");\n return KeyObject.from(createSecretKey(buffer));\n};\ncrypto_exports.createPrivateKey = _createPrivateKey;\ncrypto_exports.createPublicKey = _createPublicKey;\ncrypto_exports.KeyObject = KeyObject;\nvar _createSign = crypto_exports.createSign;\ncrypto_exports.sign = function(algorithm, data, key2, encoding, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createSign(algorithm).update(data, encoding).sign(key2, encoding);\n};\nvar _createVerify = crypto_exports.createVerify;\ncrypto_exports.verify = function(algorithm, data, key2, signature, callback) {\n if (typeof callback === \"function\")\n try {\n const result = _createVerify(algorithm).update(data).verify(key2, signature);\n callback(null, result);\n } catch (err) {\n callback(err);\n }\n else\n return _createVerify(algorithm).update(data).verify(key2, signature);\n};\nvar webcrypto = crypto;\n__export(crypto_exports, {\n DEFAULT_ENCODING: () => DEFAULT_ENCODING,\n getRandomValues: () => getRandomValues,\n randomUUID: () => randomUUID,\n randomInt: () => randomInt,\n getCurves: () => getCurves,\n scrypt: () => scrypt,\n scryptSync: () => scryptSync,\n timingSafeEqual: () => timingSafeEqual,\n webcrypto: () => webcrypto,\n subtle: () => webcrypto.subtle\n});\n$ = crypto_exports;\n/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDgramCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/dgram.ts\nvar createSocket = function() {\n throwNotImplemented(\"node:dgram createSocket\", 1630);\n}, Socket = function() {\n throwNotImplemented(\"node:dgram Socket\", 1630);\n}, _createSocketHandle = function() {\n throwNotImplemented(\"node:dgram _createSocketHandle\", 1630);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n createSocket,\n Socket,\n _createSocketHandle\n};\nhideFromStack(createSocket, Socket, _createSocketHandle);\nreturn $})\n"); +static constexpr ASCIILiteral NodeDgramCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/dgram.ts\nvar createSocket = function() {\n throwNotImplemented(\"node:dgram createSocket\", 1630);\n}, Socket = function() {\n throwNotImplemented(\"node:dgram Socket\", 1630);\n}, _createSocketHandle = function() {\n throwNotImplemented(\"node:dgram _createSocketHandle\", 1630);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n createSocket,\n Socket,\n _createSocketHandle\n};\nhideFromStack(createSocket, Socket, _createSocketHandle);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDiagnosticsChannelCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/diagnostics_channel.ts\nvar markActive = function(channel) {\n ObjectSetPrototypeOf(channel, ActiveChannel.prototype), channel._subscribers = [], channel._stores = new SafeMap;\n}, maybeMarkInactive = function(channel) {\n if (!channel._subscribers.length && !channel._stores.size)\n ObjectSetPrototypeOf(channel, Channel.prototype), channel._subscribers = @undefined, channel._stores = @undefined;\n}, defaultTransform = function(data) {\n return data;\n}, wrapStoreRun = function(store, data, next, transform = defaultTransform) {\n return () => {\n let context;\n try {\n context = transform(data);\n } catch (err) {\n return process.nextTick(() => reportError(err)), next();\n }\n return store.run(context, next);\n };\n}, channel = function(name) {\n const channel2 = channels.get(name);\n if (channel2)\n return channel2;\n if (typeof name !== \"string\" && typeof name !== \"symbol\")\n throw new ERR_INVALID_ARG_TYPE(\"channel\", [\"string\", \"symbol\"], name);\n return new Channel(name);\n}, subscribe = function(name, subscription) {\n return channel(name).subscribe(subscription);\n}, unsubscribe = function(name, subscription) {\n return channel(name).unsubscribe(subscription);\n}, hasSubscribers = function(name) {\n const channel2 = channels.get(name);\n if (!channel2)\n return !1;\n return channel2.hasSubscribers;\n}, assertChannel = function(value, name) {\n if (!(value instanceof Channel))\n throw new ERR_INVALID_ARG_TYPE(name, [\"Channel\"], value);\n}, tracingChannel = function(nameOrChannels) {\n return new TracingChannel(nameOrChannels);\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, $, SafeMap = Map, SafeFinalizationRegistry = FinalizationRegistry, ArrayPrototypeAt = (array, index) => array[index], ArrayPrototypeIndexOf = (array, value) => array.indexOf(value), ArrayPrototypePush = (array, value) => array.push(value), ArrayPrototypeSplice = (array, start, deleteCount) => array.splice(start, deleteCount), ObjectGetPrototypeOf = Object.getPrototypeOf, ObjectSetPrototypeOf = Object.setPrototypeOf, SymbolHasInstance = Symbol.hasInstance, ReflectApply = @getByIdDirect(Reflect, \"apply\"), PromiseResolve = @Promise.resolve, PromiseReject = @Promise.reject, PromisePrototypeThen = (promise, onFulfilled, onRejected) => promise.then(onFulfilled, onRejected);\n\nclass WeakReference extends WeakRef {\n constructor() {\n super(...arguments);\n }\n #refs = 0;\n get() {\n return this.deref();\n }\n incRef() {\n return ++this.#refs;\n }\n decRef() {\n return --this.#refs;\n }\n}\n\nclass WeakRefMap extends SafeMap {\n constructor() {\n super(...arguments);\n }\n #finalizers = new SafeFinalizationRegistry((key) => {\n this.delete(key);\n });\n set(key, value) {\n return this.#finalizers.register(value, key), super.set(key, new WeakReference(value));\n }\n get(key) {\n return super.get(key)\?.get();\n }\n incRef(key) {\n return super.get(key)\?.incRef();\n }\n decRef(key) {\n return super.get(key)\?.decRef();\n }\n}\n\nclass ActiveChannel {\n subscribe(subscription) {\n validateFunction(subscription, \"subscription\"), ArrayPrototypePush(this._subscribers, subscription), channels.incRef(this.name);\n }\n unsubscribe(subscription) {\n const index = ArrayPrototypeIndexOf(this._subscribers, subscription);\n if (index === -1)\n return !1;\n return ArrayPrototypeSplice(this._subscribers, index, 1), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n bindStore(store, transform) {\n if (!this._stores.has(store))\n channels.incRef(this.name);\n this._stores.set(store, transform);\n }\n unbindStore(store) {\n if (!this._stores.has(store))\n return !1;\n return this._stores.delete(store), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n get hasSubscribers() {\n return !0;\n }\n publish(data) {\n for (let i = 0;i < (this._subscribers\?.length || 0); i++)\n try {\n const onMessage = this._subscribers[i];\n onMessage(data, this.name);\n } catch (err) {\n process.nextTick(() => reportError(err));\n }\n }\n runStores(data, fn, thisArg, ...args) {\n let run = () => {\n return this.publish(data), ReflectApply(fn, thisArg, args);\n };\n for (let entry of this._stores.entries()) {\n const store = entry[0], transform = entry[1];\n run = wrapStoreRun(store, data, run, transform);\n }\n return run();\n }\n}\n\nclass Channel {\n constructor(name) {\n this._subscribers = @undefined, this._stores = @undefined, this.name = name, channels.set(name, this);\n }\n static [SymbolHasInstance](instance) {\n const prototype = ObjectGetPrototypeOf(instance);\n return prototype === Channel.prototype || prototype === ActiveChannel.prototype;\n }\n subscribe(subscription) {\n markActive(this), this.subscribe(subscription);\n }\n unsubscribe() {\n return !1;\n }\n bindStore(store, transform) {\n markActive(this), this.bindStore(store, transform);\n }\n unbindStore() {\n return !1;\n }\n get hasSubscribers() {\n return !1;\n }\n publish() {\n }\n runStores(data, fn, thisArg, ...args) {\n return ReflectApply(fn, thisArg, args);\n }\n}\nvar channels = new WeakRefMap, traceEvents = [\"start\", \"end\", \"asyncStart\", \"asyncEnd\", \"error\"];\n\nclass TracingChannel {\n constructor(nameOrChannels) {\n if (typeof nameOrChannels === \"string\")\n this.start = channel(`tracing:${nameOrChannels}:start`), this.end = channel(`tracing:${nameOrChannels}:end`), this.asyncStart = channel(`tracing:${nameOrChannels}:asyncStart`), this.asyncEnd = channel(`tracing:${nameOrChannels}:asyncEnd`), this.error = channel(`tracing:${nameOrChannels}:error`);\n else if (typeof nameOrChannels === \"object\") {\n const { start, end, asyncStart, asyncEnd, error } = nameOrChannels;\n assertChannel(start, \"nameOrChannels.start\"), assertChannel(end, \"nameOrChannels.end\"), assertChannel(asyncStart, \"nameOrChannels.asyncStart\"), assertChannel(asyncEnd, \"nameOrChannels.asyncEnd\"), assertChannel(error, \"nameOrChannels.error\"), this.start = start, this.end = end, this.asyncStart = asyncStart, this.asyncEnd = asyncEnd, this.error = error;\n } else\n throw new ERR_INVALID_ARG_TYPE(\"nameOrChannels\", [\"string\", \"object\", \"Channel\"], nameOrChannels);\n }\n subscribe(handlers) {\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n this[name]\?.subscribe(handlers[name]);\n }\n }\n unsubscribe(handlers) {\n let done = !0;\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n if (!this[name]\?.unsubscribe(handlers[name]))\n done = !1;\n }\n return done;\n }\n traceSync(fn, context = {}, thisArg, ...args) {\n const { start, end, error } = this;\n return start.runStores(context, () => {\n try {\n const result = ReflectApply(fn, thisArg, args);\n return context.result = result, result;\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n tracePromise(fn, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function reject(err) {\n return context.error = err, error.publish(context), asyncStart.publish(context), asyncEnd.publish(context), PromiseReject(err);\n }\n function resolve(result) {\n return context.result = result, asyncStart.publish(context), asyncEnd.publish(context), result;\n }\n return start.runStores(context, () => {\n try {\n let promise = ReflectApply(fn, thisArg, args);\n if (!(promise instanceof @Promise))\n promise = PromiseResolve(promise);\n return PromisePrototypeThen(promise, resolve, reject);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n traceCallback(fn, position = -1, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function wrappedCallback(err, res) {\n if (err)\n context.error = err, error.publish(context);\n else\n context.result = res;\n asyncStart.runStores(context, () => {\n try {\n if (callback)\n return ReflectApply(callback, this, arguments);\n } finally {\n asyncEnd.publish(context);\n }\n });\n }\n const callback = ArrayPrototypeAt(args, position);\n if (typeof callback !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"callback\", [\"function\"], callback);\n return ArrayPrototypeSplice(args, position, 1, wrappedCallback), start.runStores(context, () => {\n try {\n return ReflectApply(fn, thisArg, args);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n}\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n$ = {\n channel,\n hasSubscribers,\n subscribe,\n tracingChannel,\n unsubscribe,\n Channel\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeDiagnosticsChannelCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/diagnostics_channel.ts\nvar markActive = function(channel) {\n ObjectSetPrototypeOf(channel, ActiveChannel.prototype), channel._subscribers = [], channel._stores = new SafeMap;\n}, maybeMarkInactive = function(channel) {\n if (!channel._subscribers.length && !channel._stores.size)\n ObjectSetPrototypeOf(channel, Channel.prototype), channel._subscribers = @undefined, channel._stores = @undefined;\n}, defaultTransform = function(data) {\n return data;\n}, wrapStoreRun = function(store, data, next, transform = defaultTransform) {\n return () => {\n let context;\n try {\n context = transform(data);\n } catch (err) {\n return process.nextTick(() => reportError(err)), next();\n }\n return store.run(context, next);\n };\n}, channel = function(name) {\n const channel2 = channels.get(name);\n if (channel2)\n return channel2;\n if (typeof name !== \"string\" && typeof name !== \"symbol\")\n throw new ERR_INVALID_ARG_TYPE(\"channel\", [\"string\", \"symbol\"], name);\n return new Channel(name);\n}, subscribe = function(name, subscription) {\n return channel(name).subscribe(subscription);\n}, unsubscribe = function(name, subscription) {\n return channel(name).unsubscribe(subscription);\n}, hasSubscribers = function(name) {\n const channel2 = channels.get(name);\n if (!channel2)\n return !1;\n return channel2.hasSubscribers;\n}, assertChannel = function(value, name) {\n if (!(value instanceof Channel))\n throw new ERR_INVALID_ARG_TYPE(name, [\"Channel\"], value);\n}, tracingChannel = function(nameOrChannels) {\n return new TracingChannel(nameOrChannels);\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, $, SafeMap = Map, SafeFinalizationRegistry = FinalizationRegistry, ArrayPrototypeAt = (array, index) => array[index], ArrayPrototypeIndexOf = (array, value) => array.indexOf(value), ArrayPrototypePush = (array, value) => array.push(value), ArrayPrototypeSplice = (array, start, deleteCount) => array.splice(start, deleteCount), ObjectGetPrototypeOf = Object.getPrototypeOf, ObjectSetPrototypeOf = Object.setPrototypeOf, SymbolHasInstance = Symbol.hasInstance, ReflectApply = @getByIdDirect(Reflect, \"apply\"), PromiseResolve = @Promise.resolve, PromiseReject = @Promise.reject, PromisePrototypeThen = (promise, onFulfilled, onRejected) => promise.then(onFulfilled, onRejected);\n\nclass WeakReference extends WeakRef {\n constructor() {\n super(...arguments);\n }\n #refs = 0;\n get() {\n return this.deref();\n }\n incRef() {\n return ++this.#refs;\n }\n decRef() {\n return --this.#refs;\n }\n}\n\nclass WeakRefMap extends SafeMap {\n constructor() {\n super(...arguments);\n }\n #finalizers = new SafeFinalizationRegistry((key) => {\n this.delete(key);\n });\n set(key, value) {\n return this.#finalizers.register(value, key), super.set(key, new WeakReference(value));\n }\n get(key) {\n return super.get(key)\?.get();\n }\n incRef(key) {\n return super.get(key)\?.incRef();\n }\n decRef(key) {\n return super.get(key)\?.decRef();\n }\n}\n\nclass ActiveChannel {\n subscribe(subscription) {\n validateFunction(subscription, \"subscription\"), ArrayPrototypePush(this._subscribers, subscription), channels.incRef(this.name);\n }\n unsubscribe(subscription) {\n const index = ArrayPrototypeIndexOf(this._subscribers, subscription);\n if (index === -1)\n return !1;\n return ArrayPrototypeSplice(this._subscribers, index, 1), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n bindStore(store, transform) {\n if (!this._stores.has(store))\n channels.incRef(this.name);\n this._stores.set(store, transform);\n }\n unbindStore(store) {\n if (!this._stores.has(store))\n return !1;\n return this._stores.delete(store), channels.decRef(this.name), maybeMarkInactive(this), !0;\n }\n get hasSubscribers() {\n return !0;\n }\n publish(data) {\n for (let i = 0;i < (this._subscribers\?.length || 0); i++)\n try {\n const onMessage = this._subscribers[i];\n onMessage(data, this.name);\n } catch (err) {\n process.nextTick(() => reportError(err));\n }\n }\n runStores(data, fn, thisArg, ...args) {\n let run = () => {\n return this.publish(data), ReflectApply(fn, thisArg, args);\n };\n for (let entry of this._stores.entries()) {\n const store = entry[0], transform = entry[1];\n run = wrapStoreRun(store, data, run, transform);\n }\n return run();\n }\n}\n\nclass Channel {\n constructor(name) {\n this._subscribers = @undefined, this._stores = @undefined, this.name = name, channels.set(name, this);\n }\n static [SymbolHasInstance](instance) {\n const prototype = ObjectGetPrototypeOf(instance);\n return prototype === Channel.prototype || prototype === ActiveChannel.prototype;\n }\n subscribe(subscription) {\n markActive(this), this.subscribe(subscription);\n }\n unsubscribe() {\n return !1;\n }\n bindStore(store, transform) {\n markActive(this), this.bindStore(store, transform);\n }\n unbindStore() {\n return !1;\n }\n get hasSubscribers() {\n return !1;\n }\n publish() {\n }\n runStores(data, fn, thisArg, ...args) {\n return ReflectApply(fn, thisArg, args);\n }\n}\nvar channels = new WeakRefMap, traceEvents = [\"start\", \"end\", \"asyncStart\", \"asyncEnd\", \"error\"];\n\nclass TracingChannel {\n constructor(nameOrChannels) {\n if (typeof nameOrChannels === \"string\")\n this.start = channel(`tracing:${nameOrChannels}:start`), this.end = channel(`tracing:${nameOrChannels}:end`), this.asyncStart = channel(`tracing:${nameOrChannels}:asyncStart`), this.asyncEnd = channel(`tracing:${nameOrChannels}:asyncEnd`), this.error = channel(`tracing:${nameOrChannels}:error`);\n else if (typeof nameOrChannels === \"object\") {\n const { start, end, asyncStart, asyncEnd, error } = nameOrChannels;\n assertChannel(start, \"nameOrChannels.start\"), assertChannel(end, \"nameOrChannels.end\"), assertChannel(asyncStart, \"nameOrChannels.asyncStart\"), assertChannel(asyncEnd, \"nameOrChannels.asyncEnd\"), assertChannel(error, \"nameOrChannels.error\"), this.start = start, this.end = end, this.asyncStart = asyncStart, this.asyncEnd = asyncEnd, this.error = error;\n } else\n throw new ERR_INVALID_ARG_TYPE(\"nameOrChannels\", [\"string\", \"object\", \"Channel\"], nameOrChannels);\n }\n subscribe(handlers) {\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n this[name]\?.subscribe(handlers[name]);\n }\n }\n unsubscribe(handlers) {\n let done = !0;\n for (let name of traceEvents) {\n if (!handlers[name])\n continue;\n if (!this[name]\?.unsubscribe(handlers[name]))\n done = !1;\n }\n return done;\n }\n traceSync(fn, context = {}, thisArg, ...args) {\n const { start, end, error } = this;\n return start.runStores(context, () => {\n try {\n const result = ReflectApply(fn, thisArg, args);\n return context.result = result, result;\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n tracePromise(fn, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function reject(err) {\n return context.error = err, error.publish(context), asyncStart.publish(context), asyncEnd.publish(context), PromiseReject(err);\n }\n function resolve(result) {\n return context.result = result, asyncStart.publish(context), asyncEnd.publish(context), result;\n }\n return start.runStores(context, () => {\n try {\n let promise = ReflectApply(fn, thisArg, args);\n if (!(promise instanceof @Promise))\n promise = PromiseResolve(promise);\n return PromisePrototypeThen(promise, resolve, reject);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n traceCallback(fn, position = -1, context = {}, thisArg, ...args) {\n const { start, end, asyncStart, asyncEnd, error } = this;\n function wrappedCallback(err, res) {\n if (err)\n context.error = err, error.publish(context);\n else\n context.result = res;\n asyncStart.runStores(context, () => {\n try {\n if (callback)\n return ReflectApply(callback, this, arguments);\n } finally {\n asyncEnd.publish(context);\n }\n });\n }\n const callback = ArrayPrototypeAt(args, position);\n if (typeof callback !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(\"callback\", [\"function\"], callback);\n return ArrayPrototypeSplice(args, position, 1, wrappedCallback), start.runStores(context, () => {\n try {\n return ReflectApply(fn, thisArg, args);\n } catch (err) {\n throw context.error = err, error.publish(context), err;\n } finally {\n end.publish(context);\n }\n });\n }\n}\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n$ = {\n channel,\n hasSubscribers,\n subscribe,\n tracingChannel,\n unsubscribe,\n Channel\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDNSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/dns.ts\nvar getServers = function() {\n return dns.getServers();\n}, lookup = function(domain, options, callback) {\n if (typeof options == \"function\")\n callback = options;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n if (typeof options == \"number\")\n options = { family: options };\n if (domain !== domain || typeof domain !== \"number\" && !domain) {\n console.warn(`DeprecationWarning: The provided hostname \"${@String(domain)}\" is not a valid hostname, and is supported in the dns module solely for compatibility.`), callback(null, null, 4);\n return;\n }\n dns.lookup(domain, options).then((res) => {\n if (res.sort((a, b) => a.family - b.family), options\?.all)\n callback(null, res.map(mapLookupAll));\n else {\n const [{ address, family }] = res;\n callback(null, address, family);\n }\n }, (error) => {\n callback(error);\n });\n}, resolveSrv = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveTxt = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveSoa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNaptr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveMx = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCaa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNs = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolvePtr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCname = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, lookupService = function(address, port, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookupService(address, port, callback).then((results) => {\n callback(null, ...results);\n }, (error) => {\n callback(error);\n });\n}, reverse = function(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolve = function(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(({ address }) => address));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n}, Resolver = function(options) {\n return new InternalResolver(options);\n}, setDefaultResultOrder = function() {\n}, setServers = function() {\n}, $, dns = Bun.dns, InternalResolver = class Resolver2 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype, rrtype = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(mapResolveX));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n }\n resolve4(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 4 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(mapResolveX));\n }, (error) => {\n callback(error);\n });\n }\n resolve6(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 6 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(({ address }) => address));\n }, (error) => {\n callback(error);\n });\n }\n resolveAny(hostname, callback) {\n callback(null, []);\n }\n resolveCname(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveMx(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNaptr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNs(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolvePtr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSrv(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveCaa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveTxt(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSoa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n reverse(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n setServers(servers) {\n }\n};\nResolver.prototype = {};\nObject.setPrototypeOf(Resolver.prototype, InternalResolver.prototype);\nObject.setPrototypeOf(Resolver, InternalResolver);\nvar {\n resolve,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNaptr,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n reverse,\n resolveTxt\n} = InternalResolver.prototype, promisifyLookup = (res) => {\n res.sort((a, b) => a.family - b.family);\n const [{ address, family }] = res;\n return { address, family };\n}, mapLookupAll = (res) => {\n const { address, family } = res;\n return { address, family };\n}, promisifyLookupAll = (res) => {\n return res.sort((a, b) => a.family - b.family), res.map(mapLookupAll);\n}, mapResolveX = (a) => a.address, promisifyResolveX = (res) => {\n return res\?.map(mapResolveX);\n}, promises = {\n lookup(domain, options) {\n if (options\?.all)\n return dns.lookup(domain, options).then(promisifyLookupAll);\n return dns.lookup(domain, options).then(promisifyLookup);\n },\n lookupService(address, port) {\n return dns.lookupService(address, port);\n },\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n },\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n },\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n },\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n },\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n },\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n },\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n },\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n },\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n },\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n },\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n },\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n },\n reverse(ip) {\n return dns.reverse(ip);\n },\n Resolver: class Resolver3 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n }\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n }\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n }\n resolveAny(hostname) {\n return @Promise.resolve([]);\n }\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n }\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n }\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n }\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n }\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n }\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n }\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n }\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n }\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n }\n reverse(ip) {\n return dns.reverse(ip);\n }\n setServers(servers) {\n }\n }\n};\nfor (let key of [\"resolveAny\"])\n promises[key] = () => @Promise.resolve(@undefined);\n$ = {\n ADDRCONFIG: 0,\n ALL: 1,\n V4MAPPED: 2,\n NODATA: \"DNS_ENODATA\",\n FORMERR: \"DNS_EFORMERR\",\n SERVFAIL: \"DNS_ESERVFAIL\",\n NOTFOUND: \"DNS_ENOTFOUND\",\n NOTIMP: \"DNS_ENOTIMP\",\n REFUSED: \"DNS_EREFUSED\",\n BADQUERY: \"DNS_EBADQUERY\",\n BADNAME: \"DNS_EBADNAME\",\n BADFAMILY: \"DNS_EBADFAMILY\",\n BADRESP: \"DNS_EBADRESP\",\n CONNREFUSED: \"DNS_ECONNREFUSED\",\n TIMEOUT: \"DNS_ETIMEOUT\",\n EOF: \"DNS_EEOF\",\n FILE: \"DNS_EFILE\",\n NOMEM: \"DNS_ENOMEM\",\n DESTRUCTION: \"DNS_EDESTRUCTION\",\n BADSTR: \"DNS_EBADSTR\",\n BADFLAGS: \"DNS_EBADFLAGS\",\n NONAME: \"DNS_ENONAME\",\n BADHINTS: \"DNS_EBADHINTS\",\n NOTINITIALIZED: \"DNS_ENOTINITIALIZED\",\n LOADIPHLPAPI: \"DNS_ELOADIPHLPAPI\",\n ADDRGETNETWORKPARAMS: \"DNS_EADDRGETNETWORKPARAMS\",\n CANCELLED: \"DNS_ECANCELLED\",\n lookup,\n lookupService,\n Resolver,\n setServers,\n setDefaultResultOrder,\n resolve,\n reverse,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n resolveTxt,\n resolveNaptr,\n promises,\n getServers\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeDNSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/dns.ts\nvar getServers = function() {\n return dns.getServers();\n}, lookup = function(domain, options, callback) {\n if (typeof options == \"function\")\n callback = options;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n if (typeof options == \"number\")\n options = { family: options };\n if (domain !== domain || typeof domain !== \"number\" && !domain) {\n console.warn(`DeprecationWarning: The provided hostname \"${@String(domain)}\" is not a valid hostname, and is supported in the dns module solely for compatibility.`), callback(null, null, 4);\n return;\n }\n dns.lookup(domain, options).then((res) => {\n if (res.sort((a, b) => a.family - b.family), options\?.all)\n callback(null, res.map(mapLookupAll));\n else {\n const [{ address, family }] = res;\n callback(null, address, family);\n }\n }, (error) => {\n callback(error);\n });\n}, resolveSrv = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveTxt = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveSoa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNaptr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveMx = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCaa = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveNs = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolvePtr = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolveCname = function(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, lookupService = function(address, port, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookupService(address, port, callback).then((results) => {\n callback(null, ...results);\n }, (error) => {\n callback(error);\n });\n}, reverse = function(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n}, resolve = function(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(({ address }) => address));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n}, Resolver = function(options) {\n return new InternalResolver(options);\n}, setDefaultResultOrder = function() {\n}, setServers = function() {\n}, $, dns = Bun.dns, InternalResolver = class Resolver2 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype, callback) {\n if (typeof rrtype == \"function\")\n callback = rrtype, rrtype = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolve(hostname).then((results) => {\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n callback(null, hostname, results.map(mapResolveX));\n break;\n default:\n callback(null, results);\n break;\n }\n }, (error) => {\n callback(error);\n });\n }\n resolve4(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 4 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(mapResolveX));\n }, (error) => {\n callback(error);\n });\n }\n resolve6(hostname, options, callback) {\n if (typeof options == \"function\")\n callback = options, options = null;\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.lookup(hostname, { family: 6 }).then((addresses) => {\n callback(null, options\?.ttl \? addresses : addresses.map(({ address }) => address));\n }, (error) => {\n callback(error);\n });\n }\n resolveAny(hostname, callback) {\n callback(null, []);\n }\n resolveCname(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCname(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveMx(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveMx(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNaptr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNaptr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveNs(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveNs(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolvePtr(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolvePtr(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSrv(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSrv(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveCaa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveCaa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveTxt(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveTxt(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n resolveSoa(hostname, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.resolveSoa(hostname, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n reverse(ip, callback) {\n if (typeof callback != \"function\")\n @throwTypeError(\"callback must be a function\");\n dns.reverse(ip, callback).then((results) => {\n callback(null, results);\n }, (error) => {\n callback(error);\n });\n }\n setServers(servers) {\n }\n};\nResolver.prototype = {};\nObject.setPrototypeOf(Resolver.prototype, InternalResolver.prototype);\nObject.setPrototypeOf(Resolver, InternalResolver);\nvar {\n resolve,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNaptr,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n reverse,\n resolveTxt\n} = InternalResolver.prototype, promisifyLookup = (res) => {\n res.sort((a, b) => a.family - b.family);\n const [{ address, family }] = res;\n return { address, family };\n}, mapLookupAll = (res) => {\n const { address, family } = res;\n return { address, family };\n}, promisifyLookupAll = (res) => {\n return res.sort((a, b) => a.family - b.family), res.map(mapLookupAll);\n}, mapResolveX = (a) => a.address, promisifyResolveX = (res) => {\n return res\?.map(mapResolveX);\n}, promises = {\n lookup(domain, options) {\n if (options\?.all)\n return dns.lookup(domain, options).then(promisifyLookupAll);\n return dns.lookup(domain, options).then(promisifyLookup);\n },\n lookupService(address, port) {\n return dns.lookupService(address, port);\n },\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n },\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n },\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n },\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n },\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n },\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n },\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n },\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n },\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n },\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n },\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n },\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n },\n reverse(ip) {\n return dns.reverse(ip);\n },\n Resolver: class Resolver3 {\n constructor(options) {\n }\n cancel() {\n }\n getServers() {\n return [];\n }\n resolve(hostname, rrtype) {\n if (typeof rrtype !== \"string\")\n rrtype = null;\n switch (rrtype\?.toLowerCase()) {\n case \"a\":\n case \"aaaa\":\n return dns.resolve(hostname, rrtype).then(promisifyLookup);\n default:\n return dns.resolve(hostname, rrtype);\n }\n }\n resolve4(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 4 });\n return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX);\n }\n resolve6(hostname, options) {\n if (options\?.ttl)\n return dns.lookup(hostname, { family: 6 });\n return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX);\n }\n resolveAny(hostname) {\n return @Promise.resolve([]);\n }\n resolveCname(hostname) {\n return dns.resolveCname(hostname);\n }\n resolveMx(hostname) {\n return dns.resolveMx(hostname);\n }\n resolveNaptr(hostname) {\n return dns.resolveNaptr(hostname);\n }\n resolveNs(hostname) {\n return dns.resolveNs(hostname);\n }\n resolvePtr(hostname) {\n return dns.resolvePtr(hostname);\n }\n resolveSoa(hostname) {\n return dns.resolveSoa(hostname);\n }\n resolveSrv(hostname) {\n return dns.resolveSrv(hostname);\n }\n resolveCaa(hostname) {\n return dns.resolveCaa(hostname);\n }\n resolveTxt(hostname) {\n return dns.resolveTxt(hostname);\n }\n reverse(ip) {\n return dns.reverse(ip);\n }\n setServers(servers) {\n }\n }\n};\nfor (let key of [\"resolveAny\"])\n promises[key] = () => @Promise.resolve(@undefined);\n$ = {\n ADDRCONFIG: 0,\n ALL: 1,\n V4MAPPED: 2,\n NODATA: \"DNS_ENODATA\",\n FORMERR: \"DNS_EFORMERR\",\n SERVFAIL: \"DNS_ESERVFAIL\",\n NOTFOUND: \"DNS_ENOTFOUND\",\n NOTIMP: \"DNS_ENOTIMP\",\n REFUSED: \"DNS_EREFUSED\",\n BADQUERY: \"DNS_EBADQUERY\",\n BADNAME: \"DNS_EBADNAME\",\n BADFAMILY: \"DNS_EBADFAMILY\",\n BADRESP: \"DNS_EBADRESP\",\n CONNREFUSED: \"DNS_ECONNREFUSED\",\n TIMEOUT: \"DNS_ETIMEOUT\",\n EOF: \"DNS_EEOF\",\n FILE: \"DNS_EFILE\",\n NOMEM: \"DNS_ENOMEM\",\n DESTRUCTION: \"DNS_EDESTRUCTION\",\n BADSTR: \"DNS_EBADSTR\",\n BADFLAGS: \"DNS_EBADFLAGS\",\n NONAME: \"DNS_ENONAME\",\n BADHINTS: \"DNS_EBADHINTS\",\n NOTINITIALIZED: \"DNS_ENOTINITIALIZED\",\n LOADIPHLPAPI: \"DNS_ELOADIPHLPAPI\",\n ADDRGETNETWORKPARAMS: \"DNS_EADDRGETNETWORKPARAMS\",\n CANCELLED: \"DNS_ECANCELLED\",\n lookup,\n lookupService,\n Resolver,\n setServers,\n setDefaultResultOrder,\n resolve,\n reverse,\n resolve4,\n resolve6,\n resolveAny,\n resolveCname,\n resolveCaa,\n resolveMx,\n resolveNs,\n resolvePtr,\n resolveSoa,\n resolveSrv,\n resolveTxt,\n resolveNaptr,\n promises,\n getServers\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeDNSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/dns.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 17) || @createInternalModuleById(17)).promises})\n"); +static constexpr ASCIILiteral NodeDNSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/dns.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 17) || @createInternalModuleById(17)).promises})\n"); // // -static constexpr ASCIILiteral NodeDomainCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/domain.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), domain = {};\ndomain.createDomain = domain.create = function() {\n var d = new EventEmitter;\n function emitError(e) {\n d.emit(\"error\", e);\n }\n return d.add = function(emitter) {\n emitter.on(\"error\", emitError);\n }, d.remove = function(emitter) {\n emitter.removeListener(\"error\", emitError);\n }, d.bind = function(fn) {\n return function() {\n var args = @Array.prototype.slice.@call(arguments);\n try {\n fn.@apply(null, args);\n } catch (err) {\n emitError(err);\n }\n };\n }, d.intercept = function(fn) {\n return function(err) {\n if (err)\n emitError(err);\n else {\n var args = @Array.prototype.slice.@call(arguments, 1);\n try {\n fn.@apply(null, args);\n } catch (err2) {\n emitError(err2);\n }\n }\n };\n }, d.run = function(fn) {\n try {\n fn();\n } catch (err) {\n emitError(err);\n }\n return this;\n }, d.dispose = function() {\n return this.removeAllListeners(), this;\n }, d.enter = d.exit = function() {\n return this;\n }, d;\n};\nreturn domain})\n"); +static constexpr ASCIILiteral NodeDomainCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/domain.ts\nvar EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), domain = {};\ndomain.createDomain = domain.create = function() {\n var d = new EventEmitter;\n function emitError(e) {\n d.emit(\"error\", e);\n }\n return d.add = function(emitter) {\n emitter.on(\"error\", emitError);\n }, d.remove = function(emitter) {\n emitter.removeListener(\"error\", emitError);\n }, d.bind = function(fn) {\n return function() {\n var args = @Array.prototype.slice.@call(arguments);\n try {\n fn.@apply(null, args);\n } catch (err) {\n emitError(err);\n }\n };\n }, d.intercept = function(fn) {\n return function(err) {\n if (err)\n emitError(err);\n else {\n var args = @Array.prototype.slice.@call(arguments, 1);\n try {\n fn.@apply(null, args);\n } catch (err2) {\n emitError(err2);\n }\n }\n };\n }, d.run = function(fn) {\n try {\n fn();\n } catch (err) {\n emitError(err);\n }\n return this;\n }, d.dispose = function() {\n return this.removeAllListeners(), this;\n }, d.enter = d.exit = function() {\n return this;\n }, d;\n};\nreturn domain})\n"); // // -static constexpr ASCIILiteral NodeEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/events.ts\nvar emitError = function(emitter, args) {\n var { _events: events } = emitter;\n if (args[0] \?\?= new Error(\"Unhandled error.\"), !events)\n throw args[0];\n var errorMonitor = events[kErrorMonitor];\n if (errorMonitor)\n for (var handler of ArrayPrototypeSlice.@call(errorMonitor))\n handler.@apply(emitter, args);\n var handlers = events.error;\n if (!handlers)\n throw args[0];\n for (var handler of ArrayPrototypeSlice.@call(handlers))\n handler.@apply(emitter, args);\n return !0;\n}, addCatch = function(emitter, promise, type, args) {\n promise.then(@undefined, function(err) {\n process.nextTick(emitUnhandledRejectionOrErr, emitter, err, type, args);\n });\n}, emitUnhandledRejectionOrErr = function(emitter, err, type, args) {\n if (typeof emitter[kRejection] === \"function\")\n emitter[kRejection](err, type, ...args);\n else\n try {\n emitter[kCapture] = !1, emitter.emit(\"error\", err);\n } finally {\n emitter[kCapture] = !0;\n }\n}, overflowWarning = function(emitter, type, handlers) {\n handlers.warned = !0;\n const warn = new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${@String(type)} listeners ` + `added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);\n warn.name = \"MaxListenersExceededWarning\", warn.emitter = emitter, warn.type = type, warn.count = handlers.length, process.emitWarning(warn);\n}, onceWrapper = function(type, listener, ...args) {\n this.removeListener(type, listener), listener.@apply(this, args);\n}, once = function(emitter, type, options) {\n var signal = options\?.signal;\n if (validateAbortSignal(signal, \"options.signal\"), signal\?.aborted)\n throw new AbortError(@undefined, { cause: signal\?.reason });\n return new @Promise((resolve, reject) => {\n const errorListener = (err) => {\n if (emitter.removeListener(type, resolver), signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n reject(err);\n }, resolver = (...args) => {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(\"error\", errorListener);\n if (signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n resolve(args);\n };\n if (eventTargetAgnosticAddListener(emitter, type, resolver, { once: !0 }), type !== \"error\" && typeof emitter.once === \"function\")\n emitter.once(\"error\", errorListener);\n function abortListener() {\n eventTargetAgnosticRemoveListener(emitter, type, resolver), eventTargetAgnosticRemoveListener(emitter, \"error\", errorListener), reject(new AbortError(@undefined, { cause: signal\?.reason }));\n }\n if (signal != null)\n eventTargetAgnosticAddListener(signal, \"abort\", abortListener, { once: !0 });\n });\n}, on = function(emitter, type, options) {\n var { signal, close, highWatermark = Number.MAX_SAFE_INTEGER, lowWatermark = 1 } = options || {};\n throwNotImplemented(\"events.on\", 2679);\n}, getEventListeners = function(emitter, type) {\n if (emitter instanceof EventTarget)\n throwNotImplemented(\"getEventListeners with an EventTarget\", 2678);\n return emitter.listeners(type);\n}, setMaxListeners = function(n, ...eventTargets) {\n validateNumber(n, \"setMaxListeners\", 0);\n var length;\n if (eventTargets && (length = eventTargets.length))\n for (let i = 0;i < length; i++)\n eventTargets[i].setMaxListeners(n);\n else\n defaultMaxListeners = n;\n}, listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n}, eventTargetAgnosticRemoveListener = function(emitter, name, listener, flags) {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(name, listener);\n else\n emitter.removeEventListener(name, listener, flags);\n}, eventTargetAgnosticAddListener = function(emitter, name, listener, flags) {\n if (typeof emitter.on === \"function\")\n if (flags.once)\n emitter.once(name, listener);\n else\n emitter.on(name, listener);\n else\n emitter.addEventListener(name, listener, flags);\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_OUT_OF_RANGE = function(name, range, value) {\n const err = new RangeError(`The \"${name}\" argument is out of range. It must be ${range}. Received ${value}`);\n return err.code = \"ERR_OUT_OF_RANGE\", err;\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateNumber = function(value, name, min = @undefined, max) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (min != null && value < min || max != null && value > max || (min != null || max != null) && Number.isNaN(value))\n throw new ERR_OUT_OF_RANGE(name, `${min != null \? `>= ${min}` : \"\"}${min != null && max != null \? \" && \" : \"\"}${max != null \? `<= ${max}` : \"\"}`, value);\n}, checkListener = function(listener) {\n if (typeof listener !== \"function\")\n @throwTypeError(\"The listener must be a function\");\n}, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), SymbolFor = Symbol.for, kCapture = Symbol(\"kCapture\"), kErrorMonitor = SymbolFor(\"events.errorMonitor\"), kMaxEventTargetListeners = Symbol(\"events.maxEventTargetListeners\"), kMaxEventTargetListenersWarned = Symbol(\"events.maxEventTargetListenersWarned\"), kWatermarkData = SymbolFor(\"nodejs.watermarkData\"), kRejection = SymbolFor(\"nodejs.rejection\"), captureRejectionSymbol = SymbolFor(\"nodejs.rejection\"), ArrayPrototypeSlice = @Array.prototype.slice, defaultMaxListeners = 10, EventEmitter = function EventEmitter2(opts) {\n if (this._events === @undefined || this._events === this.__proto__._events)\n this._events = { __proto__: null }, this._eventsCount = 0;\n if (this._maxListeners \?\?= @undefined, this[kCapture] = opts\?.captureRejections \? Boolean(opts\?.captureRejections) : EventEmitterPrototype[kCapture])\n this.emit = emitWithRejectionCapture;\n}, EventEmitterPrototype = EventEmitter.prototype = {};\nEventEmitterPrototype._events = @undefined;\nEventEmitterPrototype._eventsCount = 0;\nEventEmitterPrototype._maxListeners = @undefined;\nEventEmitterPrototype.setMaxListeners = function setMaxListeners2(n) {\n return validateNumber(n, \"setMaxListeners\", 0), this._maxListeners = n, this;\n};\nEventEmitterPrototype.constructor = EventEmitter;\nEventEmitterPrototype.getMaxListeners = function getMaxListeners() {\n return this._maxListeners \?\? defaultMaxListeners;\n};\nvar emitWithoutRejectionCapture = function emit(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n switch (args.length) {\n case 0:\n handler.@call(this);\n break;\n case 1:\n handler.@call(this, args[0]);\n break;\n case 2:\n handler.@call(this, args[0], args[1]);\n break;\n case 3:\n handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n handler.@apply(this, args);\n break;\n }\n }\n return !0;\n}, emitWithRejectionCapture = function emit2(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n let result;\n switch (args.length) {\n case 0:\n result = handler.@call(this);\n break;\n case 1:\n result = handler.@call(this, args[0]);\n break;\n case 2:\n result = handler.@call(this, args[0], args[1]);\n break;\n case 3:\n result = handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n result = handler.@apply(this, args);\n break;\n }\n if (result !== @undefined && @isPromise(result))\n addCatch(this, result, type, args);\n }\n return !0;\n};\nEventEmitterPrototype.emit = emitWithoutRejectionCapture;\nEventEmitterPrototype.addListener = function addListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.push(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.on = EventEmitterPrototype.addListener;\nEventEmitterPrototype.prependListener = function prependListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.unshift(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.once = function once2(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.addListener(type, bound), this;\n};\nEventEmitterPrototype.prependOnceListener = function prependOnceListener(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.prependListener(type, bound), this;\n};\nEventEmitterPrototype.removeListener = function removeListener(type, fn) {\n checkListener(fn);\n var { _events: events } = this;\n if (!events)\n return this;\n var handlers = events[type];\n if (!handlers)\n return this;\n var length = handlers.length;\n let position = -1;\n for (let i = length - 1;i >= 0; i--)\n if (handlers[i] === fn || handlers[i].listener === fn) {\n position = i;\n break;\n }\n if (position < 0)\n return this;\n if (position === 0)\n handlers.shift();\n else\n handlers.splice(position, 1);\n if (handlers.length === 0)\n delete events[type], this._eventsCount--;\n return this;\n};\nEventEmitterPrototype.off = EventEmitterPrototype.removeListener;\nEventEmitterPrototype.removeAllListeners = function removeAllListeners(type) {\n var { _events: events } = this;\n if (type && events) {\n if (events[type])\n delete events[type], this._eventsCount--;\n } else\n this._events = { __proto__: null };\n return this;\n};\nEventEmitterPrototype.listeners = function listeners(type) {\n var { _events: events } = this;\n if (!events)\n return [];\n var handlers = events[type];\n if (!handlers)\n return [];\n return handlers.map((x) => x.listener \?\? x);\n};\nEventEmitterPrototype.rawListeners = function rawListeners(type) {\n var { _events } = this;\n if (!_events)\n return [];\n var handlers = _events[type];\n if (!handlers)\n return [];\n return handlers.slice();\n};\nEventEmitterPrototype.listenerCount = function listenerCount2(type) {\n var { _events: events } = this;\n if (!events)\n return 0;\n return events[type]\?.length \?\? 0;\n};\nEventEmitterPrototype.eventNames = function eventNames() {\n return this._eventsCount > 0 \? Reflect.ownKeys(this._events) : [];\n};\nEventEmitterPrototype[kCapture] = !1;\n\nclass AbortError extends Error {\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n}\nvar AsyncResource = null;\n\nclass EventEmitterAsyncResource extends EventEmitter {\n triggerAsyncId;\n asyncResource;\n constructor(options) {\n if (!AsyncResource)\n AsyncResource = (@getInternalField(@internalModuleRegistry, 10) || @createInternalModuleById(10)).AsyncResource;\n var { captureRejections = !1, triggerAsyncId, name = new.target.name, requireManualDestroy } = options || {};\n super({ captureRejections });\n this.triggerAsyncId = triggerAsyncId \?\? 0, this.asyncResource = new AsyncResource(name, { triggerAsyncId, requireManualDestroy });\n }\n emit(...args) {\n this.asyncResource.runInAsyncScope(() => super.emit(...args));\n }\n emitDestroy() {\n this.asyncResource.emitDestroy();\n }\n}\nObject.defineProperties(EventEmitter, {\n captureRejections: {\n get() {\n return EventEmitterPrototype[kCapture];\n },\n set(value) {\n validateBoolean(value, \"EventEmitter.captureRejections\"), EventEmitterPrototype[kCapture] = value;\n },\n enumerable: !0\n },\n defaultMaxListeners: {\n enumerable: !0,\n get: () => {\n return defaultMaxListeners;\n },\n set: (arg) => {\n validateNumber(arg, \"defaultMaxListeners\", 0), defaultMaxListeners = arg;\n }\n },\n kMaxEventTargetListeners: {\n value: kMaxEventTargetListeners,\n enumerable: !1,\n configurable: !1,\n writable: !1\n },\n kMaxEventTargetListenersWarned: {\n value: kMaxEventTargetListenersWarned,\n enumerable: !1,\n configurable: !1,\n writable: !1\n }\n});\nObject.assign(EventEmitter, {\n once,\n on,\n getEventListeners,\n setMaxListeners,\n EventEmitter,\n usingDomains: !1,\n captureRejectionSymbol,\n EventEmitterAsyncResource,\n errorMonitor: kErrorMonitor,\n setMaxListeners,\n init: EventEmitter,\n listenerCount\n});\nreturn EventEmitter})\n"); +static constexpr ASCIILiteral NodeEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/events.ts\nvar emitError = function(emitter, args) {\n var { _events: events } = emitter;\n if (args[0] \?\?= new Error(\"Unhandled error.\"), !events)\n throw args[0];\n var errorMonitor = events[kErrorMonitor];\n if (errorMonitor)\n for (var handler of ArrayPrototypeSlice.@call(errorMonitor))\n handler.@apply(emitter, args);\n var handlers = events.error;\n if (!handlers)\n throw args[0];\n for (var handler of ArrayPrototypeSlice.@call(handlers))\n handler.@apply(emitter, args);\n return !0;\n}, addCatch = function(emitter, promise, type, args) {\n promise.then(@undefined, function(err) {\n process.nextTick(emitUnhandledRejectionOrErr, emitter, err, type, args);\n });\n}, emitUnhandledRejectionOrErr = function(emitter, err, type, args) {\n if (typeof emitter[kRejection] === \"function\")\n emitter[kRejection](err, type, ...args);\n else\n try {\n emitter[kCapture] = !1, emitter.emit(\"error\", err);\n } finally {\n emitter[kCapture] = !0;\n }\n}, overflowWarning = function(emitter, type, handlers) {\n handlers.warned = !0;\n const warn = new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${@String(type)} listeners ` + `added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);\n warn.name = \"MaxListenersExceededWarning\", warn.emitter = emitter, warn.type = type, warn.count = handlers.length, process.emitWarning(warn);\n}, onceWrapper = function(type, listener, ...args) {\n this.removeListener(type, listener), listener.@apply(this, args);\n}, once = function(emitter, type, options) {\n var signal = options\?.signal;\n if (validateAbortSignal(signal, \"options.signal\"), signal\?.aborted)\n throw new AbortError(@undefined, { cause: signal\?.reason });\n return new @Promise((resolve, reject) => {\n const errorListener = (err) => {\n if (emitter.removeListener(type, resolver), signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n reject(err);\n }, resolver = (...args) => {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(\"error\", errorListener);\n if (signal != null)\n eventTargetAgnosticRemoveListener(signal, \"abort\", abortListener);\n resolve(args);\n };\n if (eventTargetAgnosticAddListener(emitter, type, resolver, { once: !0 }), type !== \"error\" && typeof emitter.once === \"function\")\n emitter.once(\"error\", errorListener);\n function abortListener() {\n eventTargetAgnosticRemoveListener(emitter, type, resolver), eventTargetAgnosticRemoveListener(emitter, \"error\", errorListener), reject(new AbortError(@undefined, { cause: signal\?.reason }));\n }\n if (signal != null)\n eventTargetAgnosticAddListener(signal, \"abort\", abortListener, { once: !0 });\n });\n}, on = function(emitter, type, options) {\n var { signal, close, highWatermark = Number.MAX_SAFE_INTEGER, lowWatermark = 1 } = options || {};\n throwNotImplemented(\"events.on\", 2679);\n}, getEventListeners = function(emitter, type) {\n if (emitter instanceof EventTarget)\n throwNotImplemented(\"getEventListeners with an EventTarget\", 2678);\n return emitter.listeners(type);\n}, setMaxListeners = function(n, ...eventTargets) {\n validateNumber(n, \"setMaxListeners\", 0);\n var length;\n if (eventTargets && (length = eventTargets.length))\n for (let i = 0;i < length; i++)\n eventTargets[i].setMaxListeners(n);\n else\n defaultMaxListeners = n;\n}, listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n}, eventTargetAgnosticRemoveListener = function(emitter, name, listener, flags) {\n if (typeof emitter.removeListener === \"function\")\n emitter.removeListener(name, listener);\n else\n emitter.removeEventListener(name, listener, flags);\n}, eventTargetAgnosticAddListener = function(emitter, name, listener, flags) {\n if (typeof emitter.on === \"function\")\n if (flags.once)\n emitter.once(name, listener);\n else\n emitter.on(name, listener);\n else\n emitter.addEventListener(name, listener, flags);\n}, ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, ERR_OUT_OF_RANGE = function(name, range, value) {\n const err = new RangeError(`The \"${name}\" argument is out of range. It must be ${range}. Received ${value}`);\n return err.code = \"ERR_OUT_OF_RANGE\", err;\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateNumber = function(value, name, min = @undefined, max) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (min != null && value < min || max != null && value > max || (min != null || max != null) && Number.isNaN(value))\n throw new ERR_OUT_OF_RANGE(name, `${min != null \? `>= ${min}` : \"\"}${min != null && max != null \? \" && \" : \"\"}${max != null \? `<= ${max}` : \"\"}`, value);\n}, checkListener = function(listener) {\n if (typeof listener !== \"function\")\n @throwTypeError(\"The listener must be a function\");\n}, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), SymbolFor = Symbol.for, kCapture = Symbol(\"kCapture\"), kErrorMonitor = SymbolFor(\"events.errorMonitor\"), kMaxEventTargetListeners = Symbol(\"events.maxEventTargetListeners\"), kMaxEventTargetListenersWarned = Symbol(\"events.maxEventTargetListenersWarned\"), kWatermarkData = SymbolFor(\"nodejs.watermarkData\"), kRejection = SymbolFor(\"nodejs.rejection\"), captureRejectionSymbol = SymbolFor(\"nodejs.rejection\"), ArrayPrototypeSlice = @Array.prototype.slice, defaultMaxListeners = 10, EventEmitter = function EventEmitter2(opts) {\n if (this._events === @undefined || this._events === this.__proto__._events)\n this._events = { __proto__: null }, this._eventsCount = 0;\n if (this._maxListeners \?\?= @undefined, this[kCapture] = opts\?.captureRejections \? Boolean(opts\?.captureRejections) : EventEmitterPrototype[kCapture])\n this.emit = emitWithRejectionCapture;\n}, EventEmitterPrototype = EventEmitter.prototype = {};\nEventEmitterPrototype._events = @undefined;\nEventEmitterPrototype._eventsCount = 0;\nEventEmitterPrototype._maxListeners = @undefined;\nEventEmitterPrototype.setMaxListeners = function setMaxListeners2(n) {\n return validateNumber(n, \"setMaxListeners\", 0), this._maxListeners = n, this;\n};\nEventEmitterPrototype.constructor = EventEmitter;\nEventEmitterPrototype.getMaxListeners = function getMaxListeners() {\n return this._maxListeners \?\? defaultMaxListeners;\n};\nvar emitWithoutRejectionCapture = function emit(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n switch (args.length) {\n case 0:\n handler.@call(this);\n break;\n case 1:\n handler.@call(this, args[0]);\n break;\n case 2:\n handler.@call(this, args[0], args[1]);\n break;\n case 3:\n handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n handler.@apply(this, args);\n break;\n }\n }\n return !0;\n}, emitWithRejectionCapture = function emit2(type, ...args) {\n if (type === \"error\")\n return emitError(this, args);\n var { _events: events } = this;\n if (events === @undefined)\n return !1;\n var handlers = events[type];\n if (handlers === @undefined)\n return !1;\n const maybeClonedHandlers = handlers.length > 1 \? handlers.slice() : handlers;\n for (let i = 0, { length } = maybeClonedHandlers;i < length; i++) {\n const handler = maybeClonedHandlers[i];\n let result;\n switch (args.length) {\n case 0:\n result = handler.@call(this);\n break;\n case 1:\n result = handler.@call(this, args[0]);\n break;\n case 2:\n result = handler.@call(this, args[0], args[1]);\n break;\n case 3:\n result = handler.@call(this, args[0], args[1], args[2]);\n break;\n default:\n result = handler.@apply(this, args);\n break;\n }\n if (result !== @undefined && @isPromise(result))\n addCatch(this, result, type, args);\n }\n return !0;\n};\nEventEmitterPrototype.emit = emitWithoutRejectionCapture;\nEventEmitterPrototype.addListener = function addListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.push(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.on = EventEmitterPrototype.addListener;\nEventEmitterPrototype.prependListener = function prependListener(type, fn) {\n checkListener(fn);\n var events = this._events;\n if (!events)\n events = this._events = { __proto__: null }, this._eventsCount = 0;\n else if (events.newListener)\n this.emit(\"newListener\", type, fn.listener \?\? fn);\n var handlers = events[type];\n if (!handlers)\n events[type] = [fn], this._eventsCount++;\n else {\n handlers.unshift(fn);\n var m = this._maxListeners \?\? defaultMaxListeners;\n if (m > 0 && handlers.length > m && !handlers.warned)\n overflowWarning(this, type, handlers);\n }\n return this;\n};\nEventEmitterPrototype.once = function once2(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.addListener(type, bound), this;\n};\nEventEmitterPrototype.prependOnceListener = function prependOnceListener(type, fn) {\n checkListener(fn);\n const bound = onceWrapper.bind(this, type, fn);\n return bound.listener = fn, this.prependListener(type, bound), this;\n};\nEventEmitterPrototype.removeListener = function removeListener(type, fn) {\n checkListener(fn);\n var { _events: events } = this;\n if (!events)\n return this;\n var handlers = events[type];\n if (!handlers)\n return this;\n var length = handlers.length;\n let position = -1;\n for (let i = length - 1;i >= 0; i--)\n if (handlers[i] === fn || handlers[i].listener === fn) {\n position = i;\n break;\n }\n if (position < 0)\n return this;\n if (position === 0)\n handlers.shift();\n else\n handlers.splice(position, 1);\n if (handlers.length === 0)\n delete events[type], this._eventsCount--;\n return this;\n};\nEventEmitterPrototype.off = EventEmitterPrototype.removeListener;\nEventEmitterPrototype.removeAllListeners = function removeAllListeners(type) {\n var { _events: events } = this;\n if (type && events) {\n if (events[type])\n delete events[type], this._eventsCount--;\n } else\n this._events = { __proto__: null };\n return this;\n};\nEventEmitterPrototype.listeners = function listeners(type) {\n var { _events: events } = this;\n if (!events)\n return [];\n var handlers = events[type];\n if (!handlers)\n return [];\n return handlers.map((x) => x.listener \?\? x);\n};\nEventEmitterPrototype.rawListeners = function rawListeners(type) {\n var { _events } = this;\n if (!_events)\n return [];\n var handlers = _events[type];\n if (!handlers)\n return [];\n return handlers.slice();\n};\nEventEmitterPrototype.listenerCount = function listenerCount2(type) {\n var { _events: events } = this;\n if (!events)\n return 0;\n return events[type]\?.length \?\? 0;\n};\nEventEmitterPrototype.eventNames = function eventNames() {\n return this._eventsCount > 0 \? Reflect.ownKeys(this._events) : [];\n};\nEventEmitterPrototype[kCapture] = !1;\n\nclass AbortError extends Error {\n constructor(message = \"The operation was aborted\", options = @undefined) {\n if (options !== @undefined && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n}\nvar AsyncResource = null;\n\nclass EventEmitterAsyncResource extends EventEmitter {\n triggerAsyncId;\n asyncResource;\n constructor(options) {\n if (!AsyncResource)\n AsyncResource = (@getInternalField(@internalModuleRegistry, 10) || @createInternalModuleById(10)).AsyncResource;\n var { captureRejections = !1, triggerAsyncId, name = new.target.name, requireManualDestroy } = options || {};\n super({ captureRejections });\n this.triggerAsyncId = triggerAsyncId \?\? 0, this.asyncResource = new AsyncResource(name, { triggerAsyncId, requireManualDestroy });\n }\n emit(...args) {\n this.asyncResource.runInAsyncScope(() => super.emit(...args));\n }\n emitDestroy() {\n this.asyncResource.emitDestroy();\n }\n}\nObject.defineProperties(EventEmitter, {\n captureRejections: {\n get() {\n return EventEmitterPrototype[kCapture];\n },\n set(value) {\n validateBoolean(value, \"EventEmitter.captureRejections\"), EventEmitterPrototype[kCapture] = value;\n },\n enumerable: !0\n },\n defaultMaxListeners: {\n enumerable: !0,\n get: () => {\n return defaultMaxListeners;\n },\n set: (arg) => {\n validateNumber(arg, \"defaultMaxListeners\", 0), defaultMaxListeners = arg;\n }\n },\n kMaxEventTargetListeners: {\n value: kMaxEventTargetListeners,\n enumerable: !1,\n configurable: !1,\n writable: !1\n },\n kMaxEventTargetListenersWarned: {\n value: kMaxEventTargetListenersWarned,\n enumerable: !1,\n configurable: !1,\n writable: !1\n }\n});\nObject.assign(EventEmitter, {\n once,\n on,\n getEventListeners,\n setMaxListeners,\n EventEmitter,\n usingDomains: !1,\n captureRejectionSymbol,\n EventEmitterAsyncResource,\n errorMonitor: kErrorMonitor,\n setMaxListeners,\n init: EventEmitter,\n listenerCount\n});\nreturn EventEmitter})\n"); // // -static constexpr ASCIILiteral NodeFSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/fs.ts\nvar getValidatedPath = function(p) {\n if (p instanceof URL)\n return Bun.fileURLToPath(p);\n if (typeof p !== \"string\")\n @throwTypeError(\"Path must be a string or URL.\");\n return (_pathModule \?\?= @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).resolve(p);\n}, watchFile = function(filename, options, listener) {\n if (filename = getValidatedPath(filename), typeof options === \"function\")\n listener = options, options = {};\n if (typeof listener !== \"function\")\n @throwTypeError(\"listener must be a function\");\n var stat = statWatchers.get(filename);\n if (!stat)\n stat = new StatWatcher(filename, options), statWatchers.set(filename, stat);\n return stat.addListener(\"change\", listener), stat;\n}, unwatchFile = function(filename, listener) {\n filename = getValidatedPath(filename);\n var stat = statWatchers.get(filename);\n if (!stat)\n return;\n if (listener) {\n if (stat.removeListener(\"change\", listener), stat.listenerCount(\"change\") !== 0)\n return;\n } else\n stat.removeAllListeners(\"change\");\n stat.stop(), statWatchers.delete(filename);\n}, callbackify = function(fsFunction, args) {\n const callback = args[args.length - 1];\n try {\n var result = fsFunction.@apply(fs, args.slice(0, args.length - 1));\n result.then((...args2) => callback(null, ...args2), (err) => callback(err));\n } catch (e) {\n if (typeof callback === \"function\")\n callback(e);\n else\n throw e;\n }\n}, createReadStream = function(path, options) {\n return new ReadStream(path, options);\n}, WriteStream_handleWrite = function(er, bytes) {\n if (er)\n return WriteStream_errorOrDestroy.@call(this, er);\n this.bytesWritten += bytes;\n}, WriteStream_internalClose = function(err, cb) {\n this[_writeStreamPathFastPathSymbol] = !1;\n var fd = this.fd;\n this[_fs].close(fd, (er) => {\n this.fd = null, cb(err || er);\n });\n}, WriteStream_errorOrDestroy = function(err) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n}, createWriteStream = function(path, options) {\n return new WriteStream(path, options);\n}, cpSync = function(src, dest, options) {\n if (!options)\n return fs.cpSync(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cpSync)\n lazy_cpSync = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cpSync(src, dest, options);\n }\n return fs.cpSync(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n}, cp = function(src, dest, options, callback) {\n if (typeof options === \"function\")\n callback = options, options = @undefined;\n promises.cp(src, dest, options).then(() => callback(), callback);\n}, _toUnixTimestamp = function(time, name = \"time\") {\n if (typeof time === \"string\" && +time == time)\n return +time;\n if (NumberIsFinite(time)) {\n if (time < 0)\n return DateNow() / 1000;\n return time;\n }\n if (isDate(time))\n return DatePrototypeGetTime(time) / 1000;\n @throwTypeError(`Expected ${name} to be a number or Date`);\n}, $, ReadStream, WriteStream, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), promises = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), Stream = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { isArrayBufferView } = @requireNativeModule(\"util/types\"), _writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), _fs = Symbol.for(\"#fs\"), constants = @processBindingConstants.fs, fs = Bun.fs();\n\nclass FSWatcher extends EventEmitter {\n #watcher;\n #listener;\n constructor(path, options, listener) {\n super();\n if (typeof options === \"function\")\n listener = options, options = {};\n else if (typeof options === \"string\")\n options = { encoding: options };\n if (typeof listener !== \"function\")\n listener = () => {\n };\n this.#listener = listener;\n try {\n this.#watcher = fs.watch(path, options || {}, this.#onEvent.bind(this));\n } catch (e) {\n if (!e.message\?.startsWith(\"FileNotFound\"))\n throw e;\n const notFound = new Error(`ENOENT: no such file or directory, watch '${path}'`);\n throw notFound.code = \"ENOENT\", notFound.errno = -2, notFound.path = path, notFound.syscall = \"watch\", notFound.filename = path, notFound;\n }\n }\n #onEvent(eventType, filenameOrError) {\n if (eventType === \"error\" || eventType === \"close\")\n this.emit(eventType, filenameOrError);\n else\n this.emit(\"change\", eventType, filenameOrError), this.#listener(eventType, filenameOrError);\n }\n close() {\n this.#watcher\?.close(), this.#watcher = null;\n }\n ref() {\n this.#watcher\?.ref();\n }\n unref() {\n this.#watcher\?.unref();\n }\n start() {\n }\n}\n\nclass StatWatcher extends EventEmitter {\n constructor(path, options) {\n super();\n this._handle = fs.watchFile(path, options, this.#onChange.bind(this));\n }\n #onChange(curr, prev) {\n this.emit(\"change\", curr, prev);\n }\n start() {\n }\n stop() {\n this._handle\?.close(), this._handle = null;\n }\n ref() {\n this._handle\?.ref();\n }\n unref() {\n this._handle\?.unref();\n }\n}\nvar access = function access2(...args) {\n callbackify(fs.access, args);\n}, appendFile = function appendFile2(...args) {\n callbackify(fs.appendFile, args);\n}, close = function close2(...args) {\n callbackify(fs.close, args);\n}, rm = function rm2(...args) {\n callbackify(fs.rm, args);\n}, rmdir = function rmdir2(...args) {\n callbackify(fs.rmdir, args);\n}, copyFile = function copyFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n fs.copyFile(...args).then((result) => callback(null, result), callback);\n}, exists = function exists2(path, callback) {\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n try {\n fs.exists.@apply(fs, [path]).then((existed) => callback(existed), (_) => callback(!1));\n } catch (e) {\n callback(!1);\n }\n}, chown = function chown2(...args) {\n callbackify(fs.chown, args);\n}, chmod = function chmod2(...args) {\n callbackify(fs.chmod, args);\n}, fchmod = function fchmod2(...args) {\n callbackify(fs.fchmod, args);\n}, fchown = function fchown2(...args) {\n callbackify(fs.fchown, args);\n}, fstat = function fstat2(...args) {\n callbackify(fs.fstat, args);\n}, fsync = function fsync2(...args) {\n callbackify(fs.fsync, args);\n}, ftruncate = function ftruncate2(...args) {\n callbackify(fs.ftruncate, args);\n}, futimes = function futimes2(...args) {\n callbackify(fs.futimes, args);\n}, lchmod = function lchmod2(...args) {\n callbackify(fs.lchmod, args);\n}, lchown = function lchown2(...args) {\n callbackify(fs.lchown, args);\n}, link = function link2(...args) {\n callbackify(fs.link, args);\n}, mkdir = function mkdir2(...args) {\n callbackify(fs.mkdir, args);\n}, mkdtemp = function mkdtemp2(...args) {\n callbackify(fs.mkdtemp, args);\n}, open = function open2(...args) {\n callbackify(fs.open, args);\n}, read = function read2(fd, buffer, offsetOrOptions, length, position, callback) {\n let offset = offsetOrOptions, params = null;\n if (arguments.length <= 4) {\n if (arguments.length === 4)\n callback = length, params = offsetOrOptions;\n else if (arguments.length === 3) {\n if (!isArrayBufferView(buffer))\n params = buffer, { buffer = @Buffer.alloc(16384) } = params \?\? {};\n callback = offsetOrOptions;\n } else\n callback = buffer, buffer = @Buffer.alloc(16384);\n ({ offset = 0, length = buffer\?.byteLength - offset, position = null } = params \?\? {});\n }\n queueMicrotask(() => {\n try {\n var bytesRead = fs.readSync(fd, buffer, offset, length, position);\n } catch (e) {\n callback(e);\n }\n callback(null, bytesRead, buffer);\n });\n}, write = function write2(...args) {\n callbackify(fs.write, args);\n}, readdir = function readdir2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readdir(...args).then((result) => callback(null, result), callback);\n}, readFile = function readFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readFile(...args).then((result) => callback(null, result), callback);\n}, writeFile = function writeFile2(...args) {\n callbackify(fs.writeFile, args);\n}, readlink = function readlink2(...args) {\n callbackify(fs.readlink, args);\n}, realpath = function realpath2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.realpath(...args).then((result) => callback(null, result), callback);\n}, rename = function rename2(...args) {\n callbackify(fs.rename, args);\n}, lstat = function lstat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.lstat(...args).then((result) => callback(null, result), callback);\n}, stat = function stat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.stat(...args).then((result) => callback(null, result), callback);\n}, symlink = function symlink2(...args) {\n callbackify(fs.symlink, args);\n}, truncate = function truncate2(...args) {\n callbackify(fs.truncate, args);\n}, unlink = function unlink2(...args) {\n callbackify(fs.unlink, args);\n}, utimes = function utimes2(...args) {\n callbackify(fs.utimes, args);\n}, lutimes = function lutimes2(...args) {\n callbackify(fs.lutimes, args);\n}, accessSync = fs.accessSync.bind(fs), appendFileSync = fs.appendFileSync.bind(fs), closeSync = fs.closeSync.bind(fs), copyFileSync = fs.copyFileSync.bind(fs), existsSync = fs.existsSync.bind(fs), chownSync = fs.chownSync.bind(fs), chmodSync = fs.chmodSync.bind(fs), fchmodSync = fs.fchmodSync.bind(fs), fchownSync = fs.fchownSync.bind(fs), fstatSync = fs.fstatSync.bind(fs), fsyncSync = fs.fsyncSync.bind(fs), ftruncateSync = fs.ftruncateSync.bind(fs), futimesSync = fs.futimesSync.bind(fs), lchmodSync = fs.lchmodSync.bind(fs), lchownSync = fs.lchownSync.bind(fs), linkSync = fs.linkSync.bind(fs), lstatSync = fs.lstatSync.bind(fs), mkdirSync = fs.mkdirSync.bind(fs), mkdtempSync = fs.mkdtempSync.bind(fs), openSync = fs.openSync.bind(fs), readSync = fs.readSync.bind(fs), writeSync = fs.writeSync.bind(fs), readdirSync = fs.readdirSync.bind(fs), readFileSync = fs.readFileSync.bind(fs), writeFileSync = fs.writeFileSync.bind(fs), readlinkSync = fs.readlinkSync.bind(fs), realpathSync = fs.realpathSync.bind(fs), renameSync = fs.renameSync.bind(fs), statSync = fs.statSync.bind(fs), symlinkSync = fs.symlinkSync.bind(fs), truncateSync = fs.truncateSync.bind(fs), unlinkSync = fs.unlinkSync.bind(fs), utimesSync = fs.utimesSync.bind(fs), lutimesSync = fs.lutimesSync.bind(fs), rmSync = fs.rmSync.bind(fs), rmdirSync = fs.rmdirSync.bind(fs), writev = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.writevSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, writevSync = fs.writevSync.bind(fs), readv = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.readvSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, readvSync = fs.readvSync.bind(fs), Dirent = fs.Dirent, Stats = fs.Stats, watch = function watch2(path, options, listener) {\n return new FSWatcher(path, options, listener);\n}, statWatchers = new Map, _pathModule, readStreamPathFastPathSymbol = Symbol.for(\"Bun.Node.readStreamPathFastPath\"), readStreamSymbol = Symbol.for(\"Bun.NodeReadStream\"), readStreamPathOrFdSymbol = Symbol.for(\"Bun.NodeReadStreamPathOrFd\"), writeStreamSymbol = Symbol.for(\"Bun.NodeWriteStream\"), writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), writeStreamPathFastPathCallSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPathCall\"), kIoDone = Symbol.for(\"kIoDone\"), defaultReadStreamOptions = {\n file: @undefined,\n fd: null,\n flags: \"r\",\n encoding: @undefined,\n mode: 438,\n autoClose: !0,\n emitClose: !0,\n start: 0,\n end: @Infinity,\n highWaterMark: 65536,\n fs: {\n read,\n open: (path, flags, mode, cb) => {\n var fd;\n try {\n fd = openSync(path, flags, mode);\n } catch (e) {\n cb(e);\n return;\n }\n cb(null, fd);\n },\n openSync,\n close\n },\n autoDestroy: !0\n}, ReadStreamClass;\nReadStream = function(InternalReadStream) {\n ReadStreamClass = InternalReadStream, Object.defineProperty(ReadStreamClass.prototype, Symbol.toStringTag, {\n value: \"ReadStream\",\n enumerable: !1\n });\n function ReadStream3(path, options) {\n return new InternalReadStream(path, options);\n }\n return ReadStream3.prototype = InternalReadStream.prototype, Object.defineProperty(ReadStream3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalReadStream;\n }\n });\n}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2, Stream.Readable) {\n constructor(pathOrFd, options = defaultReadStreamOptions) {\n if (typeof options !== \"object\" || !options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n flags = defaultReadStreamOptions.flags,\n encoding = defaultReadStreamOptions.encoding,\n mode = defaultReadStreamOptions.mode,\n autoClose = defaultReadStreamOptions.autoClose,\n emitClose = defaultReadStreamOptions.emitClose,\n start = defaultReadStreamOptions.start,\n end = defaultReadStreamOptions.end,\n autoDestroy = defaultReadStreamOptions.autoClose,\n fs: fs2 = defaultReadStreamOptions.fs,\n highWaterMark = defaultReadStreamOptions.highWaterMark,\n fd = defaultReadStreamOptions.fd\n } = options;\n if (pathOrFd\?.constructor\?.name === \"URL\")\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n var tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n @throwTypeError(\"Expected options.fd to be a number\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = fd, tempThis.autoClose = !1;\n } else if (typeof pathOrFd === \"string\") {\n if (pathOrFd.startsWith(\"file://\"))\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n if (pathOrFd.length === 0)\n @throwTypeError(\"Expected path to be a non-empty string\");\n tempThis.path = tempThis.file = tempThis[readStreamPathOrFdSymbol] = pathOrFd;\n } else if (typeof pathOrFd === \"number\") {\n if (pathOrFd |= 0, pathOrFd < 0)\n @throwTypeError(\"Expected fd to be a positive integer\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = pathOrFd, tempThis.autoClose = !1;\n } else\n @throwTypeError(\"Expected a path or file descriptor\");\n if (tempThis.fd === @undefined)\n tempThis.fd = fs2.openSync(pathOrFd, flags, mode);\n var fileRef = Bun.file(tempThis.fd), stream = fileRef.stream(), native = @direct(stream);\n if (!native)\n throw new Error(\"no native readable stream\");\n var { stream: ptr } = native;\n super(ptr, {\n ...options,\n encoding,\n autoDestroy,\n autoClose,\n emitClose,\n highWaterMark\n });\n if (Object.assign(this, tempThis), this.#fileRef = fileRef, this.end = end, this._read = this.#internalRead, this.start = start, this.flags = flags, this.mode = mode, this.emitClose = emitClose, this[readStreamPathFastPathSymbol] = start === 0 && end === @Infinity && autoClose && fs2 === defaultReadStreamOptions.fs && (encoding === \"buffer\" || encoding === \"binary\" || encoding == null || encoding === \"utf-8\" || encoding === \"utf8\"), this._readableState.autoClose = autoDestroy = autoClose, this._readableState.highWaterMark = highWaterMark, start !== @undefined)\n this.pos = start;\n }\n #fileRef;\n #fs;\n file;\n path;\n fd = null;\n flags;\n mode;\n start;\n end;\n pos;\n bytesRead = 0;\n #fileSize = -1;\n _read;\n [readStreamSymbol] = !0;\n [readStreamPathOrFdSymbol];\n [readStreamPathFastPathSymbol];\n _construct(callback) {\n if (super._construct)\n super._construct(callback);\n else\n callback();\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n }\n _destroy(err, cb) {\n super._destroy(err, cb);\n try {\n var fd = this.fd;\n if (this[readStreamPathFastPathSymbol] = !1, !fd)\n cb(err);\n else\n this.#fs.close(fd, (er) => {\n cb(er || err);\n }), this.fd = null;\n } catch (e) {\n throw e;\n }\n }\n close(cb) {\n if (typeof cb === \"function\")\n Stream.eos(this, cb);\n this.destroy();\n }\n push(chunk) {\n var bytesRead = chunk\?.length \?\? 0;\n if (bytesRead > 0) {\n this.bytesRead += bytesRead;\n var currPos = this.pos;\n if (currPos !== @undefined) {\n if (this.bytesRead < currPos)\n return !0;\n if (currPos === this.start) {\n var n = this.bytesRead - currPos;\n chunk = chunk.slice(-n);\n var [_, ...rest] = arguments;\n if (this.pos = this.bytesRead, this.end !== @undefined && this.bytesRead > this.end)\n chunk = chunk.slice(0, this.end - this.start + 1);\n return super.push(chunk, ...rest);\n }\n var end = this.end;\n if (end !== @undefined && this.bytesRead > end) {\n chunk = chunk.slice(0, end - currPos + 1);\n var [_, ...rest] = arguments;\n return this.pos = this.bytesRead, super.push(chunk, ...rest);\n }\n this.pos = this.bytesRead;\n }\n }\n return super.push(...arguments);\n }\n #internalRead(n) {\n var { pos, end, bytesRead, fd, encoding } = this;\n if (n = pos !== @undefined \? Math.min(end - pos + 1, n) : Math.min(end - bytesRead + 1, n), n <= 0) {\n this.push(null);\n return;\n }\n if (this.#fileSize === -1 && bytesRead === 0 && pos === @undefined) {\n var stat3 = fstatSync(fd);\n if (this.#fileSize = stat3.size, this.#fileSize > 0 && n > this.#fileSize)\n n = this.#fileSize + 1;\n }\n this[kIoDone] = !1;\n var res = super._read(n);\n if (@isPromise(res)) {\n var then = res\?.then;\n if (then && @isCallable(then))\n res.then(() => {\n if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone);\n }, (er) => {\n this[kIoDone] = !0, this.#errorOrDestroy(er);\n });\n } else if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone), this.#errorOrDestroy(new Error(\"ERR_STREAM_PREMATURE_CLOSE\"));\n }\n #errorOrDestroy(err, sync = null) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n }\n pause() {\n return this[readStreamPathFastPathSymbol] = !1, super.pause();\n }\n resume() {\n return this[readStreamPathFastPathSymbol] = !1, super.resume();\n }\n unshift(...args) {\n return this[readStreamPathFastPathSymbol] = !1, super.unshift(...args);\n }\n pipe(dest, pipeOpts) {\n if (this[readStreamPathFastPathSymbol] && (pipeOpts\?.end \?\? !0) && this._readableState\?.pipes\?.length === 0) {\n if ((writeStreamPathFastPathSymbol in dest) && dest[writeStreamPathFastPathSymbol]) {\n if (dest[writeStreamPathFastPathCallSymbol](this, pipeOpts))\n return this;\n }\n }\n return this[readStreamPathFastPathSymbol] = !1, super.pipe(dest, pipeOpts);\n }\n});\nvar defaultWriteStreamOptions = {\n fd: null,\n start: @undefined,\n pos: @undefined,\n encoding: @undefined,\n flags: \"w\",\n mode: 438,\n fs: {\n write,\n close,\n open,\n openSync\n }\n}, WriteStreamClass = WriteStream = function WriteStream2(path, options = defaultWriteStreamOptions) {\n if (!(this instanceof WriteStream2))\n return new WriteStream2(path, options);\n if (!options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n fs: fs2 = defaultWriteStreamOptions.fs,\n start = defaultWriteStreamOptions.start,\n flags = defaultWriteStreamOptions.flags,\n mode = defaultWriteStreamOptions.mode,\n autoClose = !0,\n emitClose = !1,\n autoDestroy = autoClose,\n encoding = defaultWriteStreamOptions.encoding,\n fd = defaultWriteStreamOptions.fd,\n pos = defaultWriteStreamOptions.pos\n } = options, tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n throw new Error(\"Expected options.fd to be a number\");\n tempThis.fd = fd, tempThis[_writeStreamPathFastPathSymbol] = !1;\n } else if (typeof path === \"string\") {\n if (path.length === 0)\n @throwTypeError(\"Expected a non-empty path\");\n if (path.startsWith(\"file:\"))\n path = Bun.fileURLToPath(path);\n tempThis.path = path, tempThis.fd = null, tempThis[_writeStreamPathFastPathSymbol] = autoClose && (start === @undefined || start === 0) && fs2.write === defaultWriteStreamOptions.fs.write && fs2.close === defaultWriteStreamOptions.fs.close;\n }\n if (tempThis.fd == null)\n tempThis.fd = fs2.openSync(path, flags, mode);\n if (NativeWritable.@call(this, tempThis.fd, {\n ...options,\n decodeStrings: !1,\n autoDestroy,\n emitClose,\n fd: tempThis\n }), Object.assign(this, tempThis), typeof fs2\?.write !== \"function\")\n @throwTypeError(\"Expected fs.write to be a function\");\n if (typeof fs2\?.close !== \"function\")\n @throwTypeError(\"Expected fs.close to be a function\");\n if (typeof fs2\?.open !== \"function\")\n @throwTypeError(\"Expected fs.open to be a function\");\n if (typeof path === \"object\" && path) {\n if (path instanceof URL)\n path = Bun.fileURLToPath(path);\n }\n if (typeof path !== \"string\" && typeof fd !== \"number\")\n @throwTypeError(\"Expected a path or file descriptor\");\n if (this.start = start, this[_fs] = fs2, this.flags = flags, this.mode = mode, this.bytesWritten = 0, this[writeStreamSymbol] = !0, this[kIoDone] = !1, this.start !== @undefined)\n this.pos = this.start;\n if (encoding !== defaultWriteStreamOptions.encoding) {\n if (this.setDefaultEncoding(encoding), encoding !== \"buffer\" && encoding !== \"utf8\" && encoding !== \"utf-8\" && encoding !== \"binary\")\n this[_writeStreamPathFastPathSymbol] = !1;\n }\n return this;\n}, NativeWritable = Stream.NativeWritable, WriteStreamPrototype = WriteStream.prototype = Object.create(NativeWritable.prototype);\nObject.defineProperties(WriteStreamPrototype, {\n autoClose: {\n get() {\n return this._writableState.autoDestroy;\n },\n set(val) {\n this._writableState.autoDestroy = val;\n }\n },\n pending: {\n get() {\n return this.fd === null;\n }\n }\n});\nWriteStreamPrototype.destroySoon = WriteStreamPrototype.end;\nWriteStreamPrototype.open = function open3() {\n};\nWriteStreamPrototype[writeStreamPathFastPathCallSymbol] = function WriteStreamPathFastPathCallSymbol(readStream, pipeOpts) {\n if (!this[_writeStreamPathFastPathSymbol])\n return !1;\n if (this.fd !== null)\n return this[_writeStreamPathFastPathSymbol] = !1, !1;\n return this[kIoDone] = !1, readStream[kIoDone] = !1, Bun.write(this[_writeStreamPathFastPathSymbol], readStream[readStreamPathOrFdSymbol]).then((bytesWritten) => {\n readStream[kIoDone] = this[kIoDone] = !0, this.bytesWritten += bytesWritten, readStream.bytesRead += bytesWritten, this.end(), readStream.close();\n }, (err) => {\n readStream[kIoDone] = this[kIoDone] = !0, WriteStream_errorOrDestroy.@call(this, err), readStream.emit(\"error\", err);\n });\n};\nWriteStreamPrototype.isBunFastPathEnabled = function isBunFastPathEnabled() {\n return this[_writeStreamPathFastPathSymbol];\n};\nWriteStreamPrototype.disableBunFastPath = function disableBunFastPath() {\n this[_writeStreamPathFastPathSymbol] = !1;\n};\nWriteStreamPrototype._construct = function _construct(callback) {\n if (typeof this.fd === \"number\") {\n callback();\n return;\n }\n callback(), this.emit(\"open\", this.fd), this.emit(\"ready\");\n};\nWriteStreamPrototype._destroy = function _destroy(err, cb) {\n if (this.fd === null)\n return cb(err);\n if (this[kIoDone]) {\n this.once(kIoDone, () => WriteStream_internalClose.@call(this, err, cb));\n return;\n }\n WriteStream_internalClose.@call(this, err, cb);\n};\nWriteStreamPrototype.close = function close3(cb) {\n if (cb) {\n if (this.closed) {\n process.nextTick(cb);\n return;\n }\n this.on(\"close\", cb);\n }\n if (!this.autoClose)\n this.on(\"finish\", this.destroy);\n this.end();\n};\nWriteStreamPrototype.write = function write3(chunk, encoding, cb) {\n if (encoding \?\?= this._writableState\?.defaultEncoding, this[_writeStreamPathFastPathSymbol] = !1, typeof chunk === \"string\")\n chunk = @Buffer.from(chunk, encoding);\n var native = this.pos === @undefined;\n const callback = native \? (err, bytes) => {\n if (this[kIoDone] = !1, WriteStream_handleWrite.@call(this, err, bytes), this.emit(kIoDone), cb)\n !err \? cb() : cb(err);\n } : () => {\n };\n if (this[kIoDone] = !0, this._write)\n return this._write(chunk, encoding, callback);\n else\n return NativeWritable.prototype.write.@call(this, chunk, encoding, callback, native);\n};\nWriteStreamPrototype._write = @undefined;\nWriteStreamPrototype._writev = @undefined;\nWriteStreamPrototype.end = function end(chunk, encoding, cb) {\n var native = this.pos === @undefined;\n return NativeWritable.prototype.end.@call(this, chunk, encoding, cb, native);\n};\nWriteStreamPrototype._destroy = function _destroy2(err, cb) {\n this.close(err, cb);\n};\nObject.defineProperties(fs, {\n createReadStream: {\n value: createReadStream\n },\n createWriteStream: {\n value: createWriteStream\n },\n ReadStream: {\n value: ReadStream\n },\n WriteStream: {\n value: WriteStream\n }\n});\nrealpath.native = realpath;\nrealpathSync.native = realpathSync;\nvar lazy_cpSync = null;\n$ = {\n Dirent,\n FSWatcher,\n ReadStream,\n Stats,\n WriteStream,\n _toUnixTimestamp,\n access,\n accessSync,\n appendFile,\n appendFileSync,\n chmod,\n chmodSync,\n chown,\n chownSync,\n close,\n closeSync,\n constants,\n copyFile,\n copyFileSync,\n cp,\n cpSync,\n createReadStream,\n createWriteStream,\n exists,\n existsSync,\n fchmod,\n fchmodSync,\n fchown,\n fchownSync,\n fstat,\n fstatSync,\n fsync,\n fsyncSync,\n ftruncate,\n ftruncateSync,\n futimes,\n futimesSync,\n lchmod,\n lchmodSync,\n lchown,\n lchownSync,\n link,\n linkSync,\n lstat,\n lstatSync,\n lutimes,\n lutimesSync,\n mkdir,\n mkdirSync,\n mkdtemp,\n mkdtempSync,\n open,\n openSync,\n promises,\n read,\n readFile,\n readFileSync,\n readSync,\n readdir,\n readdirSync,\n readlink,\n readlinkSync,\n readv,\n readvSync,\n realpath,\n realpathSync,\n rename,\n renameSync,\n rm,\n rmSync,\n rmdir,\n rmdirSync,\n stat,\n statSync,\n symlink,\n symlinkSync,\n truncate,\n truncateSync,\n unlink,\n unlinkSync,\n unwatchFile,\n utimes,\n utimesSync,\n watch,\n watchFile,\n write,\n writeFile,\n writeFileSync,\n writeSync,\n writev,\n writevSync,\n [Symbol.for(\"::bunternal::\")]: {\n ReadStreamClass,\n WriteStreamClass\n }\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeFSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/fs.ts\nvar getValidatedPath = function(p) {\n if (p instanceof URL)\n return Bun.fileURLToPath(p);\n if (typeof p !== \"string\")\n @throwTypeError(\"Path must be a string or URL.\");\n return (_pathModule \?\?= @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).resolve(p);\n}, watchFile = function(filename, options, listener) {\n if (filename = getValidatedPath(filename), typeof options === \"function\")\n listener = options, options = {};\n if (typeof listener !== \"function\")\n @throwTypeError(\"listener must be a function\");\n var stat = statWatchers.get(filename);\n if (!stat)\n stat = new StatWatcher(filename, options), statWatchers.set(filename, stat);\n return stat.addListener(\"change\", listener), stat;\n}, unwatchFile = function(filename, listener) {\n filename = getValidatedPath(filename);\n var stat = statWatchers.get(filename);\n if (!stat)\n return;\n if (listener) {\n if (stat.removeListener(\"change\", listener), stat.listenerCount(\"change\") !== 0)\n return;\n } else\n stat.removeAllListeners(\"change\");\n stat.stop(), statWatchers.delete(filename);\n}, callbackify = function(fsFunction, args) {\n const callback = args[args.length - 1];\n try {\n var result = fsFunction.@apply(fs, args.slice(0, args.length - 1));\n result.then((...args2) => callback(null, ...args2), (err) => callback(err));\n } catch (e) {\n if (typeof callback === \"function\")\n callback(e);\n else\n throw e;\n }\n}, createReadStream = function(path, options) {\n return new ReadStream(path, options);\n}, WriteStream_handleWrite = function(er, bytes) {\n if (er)\n return WriteStream_errorOrDestroy.@call(this, er);\n this.bytesWritten += bytes;\n}, WriteStream_internalClose = function(err, cb) {\n this[_writeStreamPathFastPathSymbol] = !1;\n var fd = this.fd;\n this[_fs].close(fd, (er) => {\n this.fd = null, cb(err || er);\n });\n}, WriteStream_errorOrDestroy = function(err) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n}, createWriteStream = function(path, options) {\n return new WriteStream(path, options);\n}, cpSync = function(src, dest, options) {\n if (!options)\n return fs.cpSync(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cpSync)\n lazy_cpSync = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cpSync(src, dest, options);\n }\n return fs.cpSync(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n}, cp = function(src, dest, options, callback) {\n if (typeof options === \"function\")\n callback = options, options = @undefined;\n promises.cp(src, dest, options).then(() => callback(), callback);\n}, _toUnixTimestamp = function(time, name = \"time\") {\n if (typeof time === \"string\" && +time == time)\n return +time;\n if (NumberIsFinite(time)) {\n if (time < 0)\n return DateNow() / 1000;\n return time;\n }\n if (isDate(time))\n return DatePrototypeGetTime(time) / 1000;\n @throwTypeError(`Expected ${name} to be a number or Date`);\n}, $, ReadStream, WriteStream, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), promises = @getInternalField(@internalModuleRegistry, 22) || @createInternalModuleById(22), Stream = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { isArrayBufferView } = @requireNativeModule(\"util/types\"), _writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), _fs = Symbol.for(\"#fs\"), constants = @processBindingConstants.fs, fs = Bun.fs();\n\nclass FSWatcher extends EventEmitter {\n #watcher;\n #listener;\n constructor(path, options, listener) {\n super();\n if (typeof options === \"function\")\n listener = options, options = {};\n else if (typeof options === \"string\")\n options = { encoding: options };\n if (typeof listener !== \"function\")\n listener = () => {\n };\n this.#listener = listener;\n try {\n this.#watcher = fs.watch(path, options || {}, this.#onEvent.bind(this));\n } catch (e) {\n if (!e.message\?.startsWith(\"FileNotFound\"))\n throw e;\n const notFound = new Error(`ENOENT: no such file or directory, watch '${path}'`);\n throw notFound.code = \"ENOENT\", notFound.errno = -2, notFound.path = path, notFound.syscall = \"watch\", notFound.filename = path, notFound;\n }\n }\n #onEvent(eventType, filenameOrError) {\n if (eventType === \"error\" || eventType === \"close\")\n this.emit(eventType, filenameOrError);\n else\n this.emit(\"change\", eventType, filenameOrError), this.#listener(eventType, filenameOrError);\n }\n close() {\n this.#watcher\?.close(), this.#watcher = null;\n }\n ref() {\n this.#watcher\?.ref();\n }\n unref() {\n this.#watcher\?.unref();\n }\n start() {\n }\n}\n\nclass StatWatcher extends EventEmitter {\n constructor(path, options) {\n super();\n this._handle = fs.watchFile(path, options, this.#onChange.bind(this));\n }\n #onChange(curr, prev) {\n this.emit(\"change\", curr, prev);\n }\n start() {\n }\n stop() {\n this._handle\?.close(), this._handle = null;\n }\n ref() {\n this._handle\?.ref();\n }\n unref() {\n this._handle\?.unref();\n }\n}\nvar access = function access2(...args) {\n callbackify(fs.access, args);\n}, appendFile = function appendFile2(...args) {\n callbackify(fs.appendFile, args);\n}, close = function close2(...args) {\n callbackify(fs.close, args);\n}, rm = function rm2(...args) {\n callbackify(fs.rm, args);\n}, rmdir = function rmdir2(...args) {\n callbackify(fs.rmdir, args);\n}, copyFile = function copyFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n fs.copyFile(...args).then((result) => callback(null, result), callback);\n}, exists = function exists2(path, callback) {\n if (typeof callback !== \"function\") {\n const err = @makeTypeError(\"Callback must be a function\");\n throw err.code = \"ERR_INVALID_ARG_TYPE\", err;\n }\n try {\n fs.exists.@apply(fs, [path]).then((existed) => callback(existed), (_) => callback(!1));\n } catch (e) {\n callback(!1);\n }\n}, chown = function chown2(...args) {\n callbackify(fs.chown, args);\n}, chmod = function chmod2(...args) {\n callbackify(fs.chmod, args);\n}, fchmod = function fchmod2(...args) {\n callbackify(fs.fchmod, args);\n}, fchown = function fchown2(...args) {\n callbackify(fs.fchown, args);\n}, fstat = function fstat2(...args) {\n callbackify(fs.fstat, args);\n}, fsync = function fsync2(...args) {\n callbackify(fs.fsync, args);\n}, ftruncate = function ftruncate2(...args) {\n callbackify(fs.ftruncate, args);\n}, futimes = function futimes2(...args) {\n callbackify(fs.futimes, args);\n}, lchmod = function lchmod2(...args) {\n callbackify(fs.lchmod, args);\n}, lchown = function lchown2(...args) {\n callbackify(fs.lchown, args);\n}, link = function link2(...args) {\n callbackify(fs.link, args);\n}, mkdir = function mkdir2(...args) {\n callbackify(fs.mkdir, args);\n}, mkdtemp = function mkdtemp2(...args) {\n callbackify(fs.mkdtemp, args);\n}, open = function open2(...args) {\n callbackify(fs.open, args);\n}, read = function read2(fd, buffer, offsetOrOptions, length, position, callback) {\n let offset = offsetOrOptions, params = null;\n if (arguments.length <= 4) {\n if (arguments.length === 4)\n callback = length, params = offsetOrOptions;\n else if (arguments.length === 3) {\n if (!isArrayBufferView(buffer))\n params = buffer, { buffer = @Buffer.alloc(16384) } = params \?\? {};\n callback = offsetOrOptions;\n } else\n callback = buffer, buffer = @Buffer.alloc(16384);\n ({ offset = 0, length = buffer\?.byteLength - offset, position = null } = params \?\? {});\n }\n queueMicrotask(() => {\n try {\n var bytesRead = fs.readSync(fd, buffer, offset, length, position);\n } catch (e) {\n callback(e);\n }\n callback(null, bytesRead, buffer);\n });\n}, write = function write2(...args) {\n callbackify(fs.write, args);\n}, readdir = function readdir2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readdir(...args).then((result) => callback(null, result), callback);\n}, readFile = function readFile2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.readFile(...args).then((result) => callback(null, result), callback);\n}, writeFile = function writeFile2(...args) {\n callbackify(fs.writeFile, args);\n}, readlink = function readlink2(...args) {\n callbackify(fs.readlink, args);\n}, realpath = function realpath2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.realpath(...args).then((result) => callback(null, result), callback);\n}, rename = function rename2(...args) {\n callbackify(fs.rename, args);\n}, lstat = function lstat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.lstat(...args).then((result) => callback(null, result), callback);\n}, stat = function stat2(...args) {\n const callback = args[args.length - 1];\n if (typeof callback !== \"function\")\n @throwTypeError(\"Callback must be a function\");\n fs.stat(...args).then((result) => callback(null, result), callback);\n}, symlink = function symlink2(...args) {\n callbackify(fs.symlink, args);\n}, truncate = function truncate2(...args) {\n callbackify(fs.truncate, args);\n}, unlink = function unlink2(...args) {\n callbackify(fs.unlink, args);\n}, utimes = function utimes2(...args) {\n callbackify(fs.utimes, args);\n}, lutimes = function lutimes2(...args) {\n callbackify(fs.lutimes, args);\n}, accessSync = fs.accessSync.bind(fs), appendFileSync = fs.appendFileSync.bind(fs), closeSync = fs.closeSync.bind(fs), copyFileSync = fs.copyFileSync.bind(fs), existsSync = fs.existsSync.bind(fs), chownSync = fs.chownSync.bind(fs), chmodSync = fs.chmodSync.bind(fs), fchmodSync = fs.fchmodSync.bind(fs), fchownSync = fs.fchownSync.bind(fs), fstatSync = fs.fstatSync.bind(fs), fsyncSync = fs.fsyncSync.bind(fs), ftruncateSync = fs.ftruncateSync.bind(fs), futimesSync = fs.futimesSync.bind(fs), lchmodSync = fs.lchmodSync.bind(fs), lchownSync = fs.lchownSync.bind(fs), linkSync = fs.linkSync.bind(fs), lstatSync = fs.lstatSync.bind(fs), mkdirSync = fs.mkdirSync.bind(fs), mkdtempSync = fs.mkdtempSync.bind(fs), openSync = fs.openSync.bind(fs), readSync = fs.readSync.bind(fs), writeSync = fs.writeSync.bind(fs), readdirSync = fs.readdirSync.bind(fs), readFileSync = fs.readFileSync.bind(fs), writeFileSync = fs.writeFileSync.bind(fs), readlinkSync = fs.readlinkSync.bind(fs), realpathSync = fs.realpathSync.bind(fs), renameSync = fs.renameSync.bind(fs), statSync = fs.statSync.bind(fs), symlinkSync = fs.symlinkSync.bind(fs), truncateSync = fs.truncateSync.bind(fs), unlinkSync = fs.unlinkSync.bind(fs), utimesSync = fs.utimesSync.bind(fs), lutimesSync = fs.lutimesSync.bind(fs), rmSync = fs.rmSync.bind(fs), rmdirSync = fs.rmdirSync.bind(fs), writev = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.writevSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, writevSync = fs.writevSync.bind(fs), readv = (fd, buffers, position, callback) => {\n if (typeof position === \"function\")\n callback = position, position = null;\n queueMicrotask(() => {\n try {\n var written = fs.readvSync(fd, buffers, position);\n } catch (e) {\n callback(e);\n }\n callback(null, written, buffers);\n });\n}, readvSync = fs.readvSync.bind(fs), Dirent = fs.Dirent, Stats = fs.Stats, watch = function watch2(path, options, listener) {\n return new FSWatcher(path, options, listener);\n}, statWatchers = new Map, _pathModule, readStreamPathFastPathSymbol = Symbol.for(\"Bun.Node.readStreamPathFastPath\"), readStreamSymbol = Symbol.for(\"Bun.NodeReadStream\"), readStreamPathOrFdSymbol = Symbol.for(\"Bun.NodeReadStreamPathOrFd\"), writeStreamSymbol = Symbol.for(\"Bun.NodeWriteStream\"), writeStreamPathFastPathSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPath\"), writeStreamPathFastPathCallSymbol = Symbol.for(\"Bun.NodeWriteStreamFastPathCall\"), kIoDone = Symbol.for(\"kIoDone\"), defaultReadStreamOptions = {\n file: @undefined,\n fd: null,\n flags: \"r\",\n encoding: @undefined,\n mode: 438,\n autoClose: !0,\n emitClose: !0,\n start: 0,\n end: @Infinity,\n highWaterMark: 65536,\n fs: {\n read,\n open: (path, flags, mode, cb) => {\n var fd;\n try {\n fd = openSync(path, flags, mode);\n } catch (e) {\n cb(e);\n return;\n }\n cb(null, fd);\n },\n openSync,\n close\n },\n autoDestroy: !0\n}, ReadStreamClass;\nReadStream = function(InternalReadStream) {\n ReadStreamClass = InternalReadStream, Object.defineProperty(ReadStreamClass.prototype, Symbol.toStringTag, {\n value: \"ReadStream\",\n enumerable: !1\n });\n function ReadStream3(path, options) {\n return new InternalReadStream(path, options);\n }\n return ReadStream3.prototype = InternalReadStream.prototype, Object.defineProperty(ReadStream3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalReadStream;\n }\n });\n}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2, Stream.Readable) {\n constructor(pathOrFd, options = defaultReadStreamOptions) {\n if (typeof options !== \"object\" || !options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n flags = defaultReadStreamOptions.flags,\n encoding = defaultReadStreamOptions.encoding,\n mode = defaultReadStreamOptions.mode,\n autoClose = defaultReadStreamOptions.autoClose,\n emitClose = defaultReadStreamOptions.emitClose,\n start = defaultReadStreamOptions.start,\n end = defaultReadStreamOptions.end,\n autoDestroy = defaultReadStreamOptions.autoClose,\n fs: fs2 = defaultReadStreamOptions.fs,\n highWaterMark = defaultReadStreamOptions.highWaterMark,\n fd = defaultReadStreamOptions.fd\n } = options;\n if (pathOrFd\?.constructor\?.name === \"URL\")\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n var tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n @throwTypeError(\"Expected options.fd to be a number\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = fd, tempThis.autoClose = !1;\n } else if (typeof pathOrFd === \"string\") {\n if (pathOrFd.startsWith(\"file://\"))\n pathOrFd = Bun.fileURLToPath(pathOrFd);\n if (pathOrFd.length === 0)\n @throwTypeError(\"Expected path to be a non-empty string\");\n tempThis.path = tempThis.file = tempThis[readStreamPathOrFdSymbol] = pathOrFd;\n } else if (typeof pathOrFd === \"number\") {\n if (pathOrFd |= 0, pathOrFd < 0)\n @throwTypeError(\"Expected fd to be a positive integer\");\n tempThis.fd = tempThis[readStreamPathOrFdSymbol] = pathOrFd, tempThis.autoClose = !1;\n } else\n @throwTypeError(\"Expected a path or file descriptor\");\n if (tempThis.fd === @undefined)\n tempThis.fd = fs2.openSync(pathOrFd, flags, mode);\n var fileRef = Bun.file(tempThis.fd), stream = fileRef.stream(), native = @direct(stream);\n if (!native)\n throw new Error(\"no native readable stream\");\n var { stream: ptr } = native;\n super(ptr, {\n ...options,\n encoding,\n autoDestroy,\n autoClose,\n emitClose,\n highWaterMark\n });\n if (Object.assign(this, tempThis), this.#fileRef = fileRef, this.end = end, this._read = this.#internalRead, this.start = start, this.flags = flags, this.mode = mode, this.emitClose = emitClose, this[readStreamPathFastPathSymbol] = start === 0 && end === @Infinity && autoClose && fs2 === defaultReadStreamOptions.fs && (encoding === \"buffer\" || encoding === \"binary\" || encoding == null || encoding === \"utf-8\" || encoding === \"utf8\"), this._readableState.autoClose = autoDestroy = autoClose, this._readableState.highWaterMark = highWaterMark, start !== @undefined)\n this.pos = start;\n }\n #fileRef;\n #fs;\n file;\n path;\n fd = null;\n flags;\n mode;\n start;\n end;\n pos;\n bytesRead = 0;\n #fileSize = -1;\n _read;\n [readStreamSymbol] = !0;\n [readStreamPathOrFdSymbol];\n [readStreamPathFastPathSymbol];\n _construct(callback) {\n if (super._construct)\n super._construct(callback);\n else\n callback();\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n }\n _destroy(err, cb) {\n super._destroy(err, cb);\n try {\n var fd = this.fd;\n if (this[readStreamPathFastPathSymbol] = !1, !fd)\n cb(err);\n else\n this.#fs.close(fd, (er) => {\n cb(er || err);\n }), this.fd = null;\n } catch (e) {\n throw e;\n }\n }\n close(cb) {\n if (typeof cb === \"function\")\n Stream.eos(this, cb);\n this.destroy();\n }\n push(chunk) {\n var bytesRead = chunk\?.length \?\? 0;\n if (bytesRead > 0) {\n this.bytesRead += bytesRead;\n var currPos = this.pos;\n if (currPos !== @undefined) {\n if (this.bytesRead < currPos)\n return !0;\n if (currPos === this.start) {\n var n = this.bytesRead - currPos;\n chunk = chunk.slice(-n);\n var [_, ...rest] = arguments;\n if (this.pos = this.bytesRead, this.end !== @undefined && this.bytesRead > this.end)\n chunk = chunk.slice(0, this.end - this.start + 1);\n return super.push(chunk, ...rest);\n }\n var end = this.end;\n if (end !== @undefined && this.bytesRead > end) {\n chunk = chunk.slice(0, end - currPos + 1);\n var [_, ...rest] = arguments;\n return this.pos = this.bytesRead, super.push(chunk, ...rest);\n }\n this.pos = this.bytesRead;\n }\n }\n return super.push(...arguments);\n }\n #internalRead(n) {\n var { pos, end, bytesRead, fd, encoding } = this;\n if (n = pos !== @undefined \? Math.min(end - pos + 1, n) : Math.min(end - bytesRead + 1, n), n <= 0) {\n this.push(null);\n return;\n }\n if (this.#fileSize === -1 && bytesRead === 0 && pos === @undefined) {\n var stat3 = fstatSync(fd);\n if (this.#fileSize = stat3.size, this.#fileSize > 0 && n > this.#fileSize)\n n = this.#fileSize + 1;\n }\n this[kIoDone] = !1;\n var res = super._read(n);\n if (@isPromise(res)) {\n var then = res\?.then;\n if (then && @isCallable(then))\n res.then(() => {\n if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone);\n }, (er) => {\n this[kIoDone] = !0, this.#errorOrDestroy(er);\n });\n } else if (this[kIoDone] = !0, this.destroyed)\n this.emit(kIoDone), this.#errorOrDestroy(new Error(\"ERR_STREAM_PREMATURE_CLOSE\"));\n }\n #errorOrDestroy(err, sync = null) {\n var {\n _readableState: r = { destroyed: !1, autoDestroy: !1 },\n _writableState: w = { destroyed: !1, autoDestroy: !1 }\n } = this;\n if (w\?.destroyed || r\?.destroyed)\n return this;\n if (r\?.autoDestroy || w\?.autoDestroy)\n this.destroy(err);\n else if (err)\n this.emit(\"error\", err);\n }\n pause() {\n return this[readStreamPathFastPathSymbol] = !1, super.pause();\n }\n resume() {\n return this[readStreamPathFastPathSymbol] = !1, super.resume();\n }\n unshift(...args) {\n return this[readStreamPathFastPathSymbol] = !1, super.unshift(...args);\n }\n pipe(dest, pipeOpts) {\n if (this[readStreamPathFastPathSymbol] && (pipeOpts\?.end \?\? !0) && this._readableState\?.pipes\?.length === 0) {\n if ((writeStreamPathFastPathSymbol in dest) && dest[writeStreamPathFastPathSymbol]) {\n if (dest[writeStreamPathFastPathCallSymbol](this, pipeOpts))\n return this;\n }\n }\n return this[readStreamPathFastPathSymbol] = !1, super.pipe(dest, pipeOpts);\n }\n});\nvar defaultWriteStreamOptions = {\n fd: null,\n start: @undefined,\n pos: @undefined,\n encoding: @undefined,\n flags: \"w\",\n mode: 438,\n fs: {\n write,\n close,\n open,\n openSync\n }\n}, WriteStreamClass = WriteStream = function WriteStream2(path, options = defaultWriteStreamOptions) {\n if (!(this instanceof WriteStream2))\n return new WriteStream2(path, options);\n if (!options)\n @throwTypeError(\"Expected options to be an object\");\n var {\n fs: fs2 = defaultWriteStreamOptions.fs,\n start = defaultWriteStreamOptions.start,\n flags = defaultWriteStreamOptions.flags,\n mode = defaultWriteStreamOptions.mode,\n autoClose = !0,\n emitClose = !1,\n autoDestroy = autoClose,\n encoding = defaultWriteStreamOptions.encoding,\n fd = defaultWriteStreamOptions.fd,\n pos = defaultWriteStreamOptions.pos\n } = options, tempThis = {};\n if (fd != null) {\n if (typeof fd !== \"number\")\n throw new Error(\"Expected options.fd to be a number\");\n tempThis.fd = fd, tempThis[_writeStreamPathFastPathSymbol] = !1;\n } else if (typeof path === \"string\") {\n if (path.length === 0)\n @throwTypeError(\"Expected a non-empty path\");\n if (path.startsWith(\"file:\"))\n path = Bun.fileURLToPath(path);\n tempThis.path = path, tempThis.fd = null, tempThis[_writeStreamPathFastPathSymbol] = autoClose && (start === @undefined || start === 0) && fs2.write === defaultWriteStreamOptions.fs.write && fs2.close === defaultWriteStreamOptions.fs.close;\n }\n if (tempThis.fd == null)\n tempThis.fd = fs2.openSync(path, flags, mode);\n if (NativeWritable.@call(this, tempThis.fd, {\n ...options,\n decodeStrings: !1,\n autoDestroy,\n emitClose,\n fd: tempThis\n }), Object.assign(this, tempThis), typeof fs2\?.write !== \"function\")\n @throwTypeError(\"Expected fs.write to be a function\");\n if (typeof fs2\?.close !== \"function\")\n @throwTypeError(\"Expected fs.close to be a function\");\n if (typeof fs2\?.open !== \"function\")\n @throwTypeError(\"Expected fs.open to be a function\");\n if (typeof path === \"object\" && path) {\n if (path instanceof URL)\n path = Bun.fileURLToPath(path);\n }\n if (typeof path !== \"string\" && typeof fd !== \"number\")\n @throwTypeError(\"Expected a path or file descriptor\");\n if (this.start = start, this[_fs] = fs2, this.flags = flags, this.mode = mode, this.bytesWritten = 0, this[writeStreamSymbol] = !0, this[kIoDone] = !1, this.start !== @undefined)\n this.pos = this.start;\n if (encoding !== defaultWriteStreamOptions.encoding) {\n if (this.setDefaultEncoding(encoding), encoding !== \"buffer\" && encoding !== \"utf8\" && encoding !== \"utf-8\" && encoding !== \"binary\")\n this[_writeStreamPathFastPathSymbol] = !1;\n }\n return this;\n}, NativeWritable = Stream.NativeWritable, WriteStreamPrototype = WriteStream.prototype = Object.create(NativeWritable.prototype);\nObject.defineProperties(WriteStreamPrototype, {\n autoClose: {\n get() {\n return this._writableState.autoDestroy;\n },\n set(val) {\n this._writableState.autoDestroy = val;\n }\n },\n pending: {\n get() {\n return this.fd === null;\n }\n }\n});\nWriteStreamPrototype.destroySoon = WriteStreamPrototype.end;\nWriteStreamPrototype.open = function open3() {\n};\nWriteStreamPrototype[writeStreamPathFastPathCallSymbol] = function WriteStreamPathFastPathCallSymbol(readStream, pipeOpts) {\n if (!this[_writeStreamPathFastPathSymbol])\n return !1;\n if (this.fd !== null)\n return this[_writeStreamPathFastPathSymbol] = !1, !1;\n return this[kIoDone] = !1, readStream[kIoDone] = !1, Bun.write(this[_writeStreamPathFastPathSymbol], readStream[readStreamPathOrFdSymbol]).then((bytesWritten) => {\n readStream[kIoDone] = this[kIoDone] = !0, this.bytesWritten += bytesWritten, readStream.bytesRead += bytesWritten, this.end(), readStream.close();\n }, (err) => {\n readStream[kIoDone] = this[kIoDone] = !0, WriteStream_errorOrDestroy.@call(this, err), readStream.emit(\"error\", err);\n });\n};\nWriteStreamPrototype.isBunFastPathEnabled = function isBunFastPathEnabled() {\n return this[_writeStreamPathFastPathSymbol];\n};\nWriteStreamPrototype.disableBunFastPath = function disableBunFastPath() {\n this[_writeStreamPathFastPathSymbol] = !1;\n};\nWriteStreamPrototype._construct = function _construct(callback) {\n if (typeof this.fd === \"number\") {\n callback();\n return;\n }\n callback(), this.emit(\"open\", this.fd), this.emit(\"ready\");\n};\nWriteStreamPrototype._destroy = function _destroy(err, cb) {\n if (this.fd === null)\n return cb(err);\n if (this[kIoDone]) {\n this.once(kIoDone, () => WriteStream_internalClose.@call(this, err, cb));\n return;\n }\n WriteStream_internalClose.@call(this, err, cb);\n};\nWriteStreamPrototype.close = function close3(cb) {\n if (cb) {\n if (this.closed) {\n process.nextTick(cb);\n return;\n }\n this.on(\"close\", cb);\n }\n if (!this.autoClose)\n this.on(\"finish\", this.destroy);\n this.end();\n};\nWriteStreamPrototype.write = function write3(chunk, encoding, cb) {\n if (encoding \?\?= this._writableState\?.defaultEncoding, this[_writeStreamPathFastPathSymbol] = !1, typeof chunk === \"string\")\n chunk = @Buffer.from(chunk, encoding);\n var native = this.pos === @undefined;\n const callback = native \? (err, bytes) => {\n if (this[kIoDone] = !1, WriteStream_handleWrite.@call(this, err, bytes), this.emit(kIoDone), cb)\n !err \? cb() : cb(err);\n } : () => {\n };\n if (this[kIoDone] = !0, this._write)\n return this._write(chunk, encoding, callback);\n else\n return NativeWritable.prototype.write.@call(this, chunk, encoding, callback, native);\n};\nWriteStreamPrototype._write = @undefined;\nWriteStreamPrototype._writev = @undefined;\nWriteStreamPrototype.end = function end(chunk, encoding, cb) {\n var native = this.pos === @undefined;\n return NativeWritable.prototype.end.@call(this, chunk, encoding, cb, native);\n};\nWriteStreamPrototype._destroy = function _destroy2(err, cb) {\n this.close(err, cb);\n};\nObject.defineProperties(fs, {\n createReadStream: {\n value: createReadStream\n },\n createWriteStream: {\n value: createWriteStream\n },\n ReadStream: {\n value: ReadStream\n },\n WriteStream: {\n value: WriteStream\n }\n});\nrealpath.native = realpath;\nrealpathSync.native = realpathSync;\nvar lazy_cpSync = null;\n$ = {\n Dirent,\n FSWatcher,\n ReadStream,\n Stats,\n WriteStream,\n _toUnixTimestamp,\n access,\n accessSync,\n appendFile,\n appendFileSync,\n chmod,\n chmodSync,\n chown,\n chownSync,\n close,\n closeSync,\n constants,\n copyFile,\n copyFileSync,\n cp,\n cpSync,\n createReadStream,\n createWriteStream,\n exists,\n existsSync,\n fchmod,\n fchmodSync,\n fchown,\n fchownSync,\n fstat,\n fstatSync,\n fsync,\n fsyncSync,\n ftruncate,\n ftruncateSync,\n futimes,\n futimesSync,\n lchmod,\n lchmodSync,\n lchown,\n lchownSync,\n link,\n linkSync,\n lstat,\n lstatSync,\n lutimes,\n lutimesSync,\n mkdir,\n mkdirSync,\n mkdtemp,\n mkdtempSync,\n open,\n openSync,\n promises,\n read,\n readFile,\n readFileSync,\n readSync,\n readdir,\n readdirSync,\n readlink,\n readlinkSync,\n readv,\n readvSync,\n realpath,\n realpathSync,\n rename,\n renameSync,\n rm,\n rmSync,\n rmdir,\n rmdirSync,\n stat,\n statSync,\n symlink,\n symlinkSync,\n truncate,\n truncateSync,\n unlink,\n unlinkSync,\n unwatchFile,\n utimes,\n utimesSync,\n watch,\n watchFile,\n write,\n writeFile,\n writeFileSync,\n writeSync,\n writev,\n writevSync,\n [Symbol.for(\"::bunternal::\")]: {\n ReadStreamClass,\n WriteStreamClass\n }\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeFSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/fs.promises.ts\nvar watch = function(filename, options = {}) {\n if (filename instanceof URL)\n @throwTypeError(\"Watch URLs are not supported yet\");\n else if (@Buffer.isBuffer(filename))\n filename = filename.toString();\n else if (typeof filename !== \"string\")\n @throwTypeError(\"Expected path to be a string or Buffer\");\n let nextEventResolve = null;\n if (typeof options === \"string\")\n options = { encoding: options };\n const queue = @createFIFO(), watcher = fs.watch(filename, options || {}, (eventType, filename2) => {\n if (queue.push({ eventType, filename: filename2 }), nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n });\n return {\n [Symbol.asyncIterator]() {\n let closed = !1;\n return {\n async next() {\n while (!closed) {\n let event;\n while (event = queue.shift()) {\n if (event.eventType === \"close\")\n return closed = !0, { value: @undefined, done: !0 };\n if (event.eventType === \"error\")\n throw closed = !0, event.filename;\n return { value: event, done: !1 };\n }\n const { promise, resolve } = @Promise.withResolvers();\n nextEventResolve = resolve, await promise;\n }\n return { value: @undefined, done: !0 };\n },\n return() {\n if (!closed) {\n if (watcher.close(), closed = !0, nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n }\n return { value: @undefined, done: !0 };\n }\n };\n }\n };\n}, cp = function(src, dest, options) {\n if (!options)\n return fs.cp(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cp)\n lazy_cp = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cp(src, dest, options);\n }\n return fs.cp(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n};\nasync function opendir(dir) {\n const entries = await fs.readdir(dir, { withFileTypes: !0 });\n return new Dir(entries);\n}\nvar $, constants = @processBindingConstants.fs, fs = Bun.fs();\nvar lazy_cp = null;\n\nclass Dir {\n #entries;\n constructor(e) {\n this.#entries = e;\n }\n readSync() {\n return this.#entries.shift() \?\? null;\n }\n read(c) {\n if (c)\n process.nextTick(c, null, this.readSync());\n return @Promise.resolve(this.readSync());\n }\n closeSync() {\n }\n close(c) {\n if (c)\n process.nextTick(c);\n return @Promise.resolve();\n }\n *[Symbol.asyncIterator]() {\n var next;\n while (next = this.readSync())\n yield next;\n }\n}\n$ = {\n access: fs.access.bind(fs),\n appendFile: fs.appendFile.bind(fs),\n close: fs.close.bind(fs),\n copyFile: fs.copyFile.bind(fs),\n cp,\n exists: fs.exists.bind(fs),\n chown: fs.chown.bind(fs),\n chmod: fs.chmod.bind(fs),\n fchmod: fs.fchmod.bind(fs),\n fchown: fs.fchown.bind(fs),\n fstat: fs.fstat.bind(fs),\n fsync: fs.fsync.bind(fs),\n ftruncate: fs.ftruncate.bind(fs),\n futimes: fs.futimes.bind(fs),\n lchmod: fs.lchmod.bind(fs),\n lchown: fs.lchown.bind(fs),\n link: fs.link.bind(fs),\n lstat: fs.lstat.bind(fs),\n mkdir: fs.mkdir.bind(fs),\n mkdtemp: fs.mkdtemp.bind(fs),\n open: fs.open.bind(fs),\n read: fs.read.bind(fs),\n write: fs.write.bind(fs),\n readdir: fs.readdir.bind(fs),\n readFile: fs.readFile.bind(fs),\n writeFile: fs.writeFile.bind(fs),\n readlink: fs.readlink.bind(fs),\n realpath: fs.realpath.bind(fs),\n rename: fs.rename.bind(fs),\n stat: fs.stat.bind(fs),\n symlink: fs.symlink.bind(fs),\n truncate: fs.truncate.bind(fs),\n unlink: fs.unlink.bind(fs),\n utimes: fs.utimes.bind(fs),\n lutimes: fs.lutimes.bind(fs),\n rm: fs.rm.bind(fs),\n rmdir: fs.rmdir.bind(fs),\n writev: async (fd, buffers, position) => {\n var bytesWritten = await fs.writev(fd, buffers, position);\n return {\n bytesWritten,\n buffers\n };\n },\n readv: async (fd, buffers, position) => {\n var bytesRead = await fs.readv(fd, buffers, position);\n return {\n bytesRead,\n buffers\n };\n },\n constants,\n watch,\n opendir\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeFSPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/fs.promises.ts\nvar watch = function(filename, options = {}) {\n if (filename instanceof URL)\n @throwTypeError(\"Watch URLs are not supported yet\");\n else if (@Buffer.isBuffer(filename))\n filename = filename.toString();\n else if (typeof filename !== \"string\")\n @throwTypeError(\"Expected path to be a string or Buffer\");\n let nextEventResolve = null;\n if (typeof options === \"string\")\n options = { encoding: options };\n const queue = @createFIFO(), watcher = fs.watch(filename, options || {}, (eventType, filename2) => {\n if (queue.push({ eventType, filename: filename2 }), nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n });\n return {\n [Symbol.asyncIterator]() {\n let closed = !1;\n return {\n async next() {\n while (!closed) {\n let event;\n while (event = queue.shift()) {\n if (event.eventType === \"close\")\n return closed = !0, { value: @undefined, done: !0 };\n if (event.eventType === \"error\")\n throw closed = !0, event.filename;\n return { value: event, done: !1 };\n }\n const { promise, resolve } = @Promise.withResolvers();\n nextEventResolve = resolve, await promise;\n }\n return { value: @undefined, done: !0 };\n },\n return() {\n if (!closed) {\n if (watcher.close(), closed = !0, nextEventResolve) {\n const resolve = nextEventResolve;\n nextEventResolve = null, resolve();\n }\n }\n return { value: @undefined, done: !0 };\n }\n };\n }\n };\n}, cp = function(src, dest, options) {\n if (!options)\n return fs.cp(src, dest);\n if (typeof options !== \"object\")\n @throwTypeError(\"options must be an object\");\n if (options.dereference || options.filter || options.preserveTimestamps || options.verbatimSymlinks) {\n if (!lazy_cp)\n lazy_cp = @getInternalField(@internalModuleRegistry, 3) || @createInternalModuleById(3);\n return lazy_cp(src, dest, options);\n }\n return fs.cp(src, dest, options.recursive, options.errorOnExist, options.force \?\? !0, options.mode);\n};\nasync function opendir(dir) {\n const entries = await fs.readdir(dir, { withFileTypes: !0 });\n return new Dir(entries);\n}\nvar $, constants = @processBindingConstants.fs, fs = Bun.fs();\nvar lazy_cp = null;\n\nclass Dir {\n #entries;\n constructor(e) {\n this.#entries = e;\n }\n readSync() {\n return this.#entries.shift() \?\? null;\n }\n read(c) {\n if (c)\n process.nextTick(c, null, this.readSync());\n return @Promise.resolve(this.readSync());\n }\n closeSync() {\n }\n close(c) {\n if (c)\n process.nextTick(c);\n return @Promise.resolve();\n }\n *[Symbol.asyncIterator]() {\n var next;\n while (next = this.readSync())\n yield next;\n }\n}\n$ = {\n access: fs.access.bind(fs),\n appendFile: fs.appendFile.bind(fs),\n close: fs.close.bind(fs),\n copyFile: fs.copyFile.bind(fs),\n cp,\n exists: fs.exists.bind(fs),\n chown: fs.chown.bind(fs),\n chmod: fs.chmod.bind(fs),\n fchmod: fs.fchmod.bind(fs),\n fchown: fs.fchown.bind(fs),\n fstat: fs.fstat.bind(fs),\n fsync: fs.fsync.bind(fs),\n ftruncate: fs.ftruncate.bind(fs),\n futimes: fs.futimes.bind(fs),\n lchmod: fs.lchmod.bind(fs),\n lchown: fs.lchown.bind(fs),\n link: fs.link.bind(fs),\n lstat: fs.lstat.bind(fs),\n mkdir: fs.mkdir.bind(fs),\n mkdtemp: fs.mkdtemp.bind(fs),\n open: fs.open.bind(fs),\n read: fs.read.bind(fs),\n write: fs.write.bind(fs),\n readdir: fs.readdir.bind(fs),\n readFile: fs.readFile.bind(fs),\n writeFile: fs.writeFile.bind(fs),\n readlink: fs.readlink.bind(fs),\n realpath: fs.realpath.bind(fs),\n rename: fs.rename.bind(fs),\n stat: fs.stat.bind(fs),\n symlink: fs.symlink.bind(fs),\n truncate: fs.truncate.bind(fs),\n unlink: fs.unlink.bind(fs),\n utimes: fs.utimes.bind(fs),\n lutimes: fs.lutimes.bind(fs),\n rm: fs.rm.bind(fs),\n rmdir: fs.rmdir.bind(fs),\n writev: async (fd, buffers, position) => {\n var bytesWritten = await fs.writev(fd, buffers, position);\n return {\n bytesWritten,\n buffers\n };\n },\n readv: async (fd, buffers, position) => {\n var bytesRead = await fs.readv(fd, buffers, position);\n return {\n bytesRead,\n buffers\n };\n },\n constants,\n watch,\n opendir\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeHttpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/http.ts\nvar checkInvalidHeaderChar = function(val) {\n return RegExpPrototypeExec.@call(headerCharRegex, val) !== null;\n};\nvar isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, validateMsecs = function(numberlike, field) {\n if (typeof numberlike !== \"number\" || numberlike < 0)\n throw new ERR_INVALID_ARG_TYPE(field, \"number\", numberlike);\n return numberlike;\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, createServer = function(options, callback) {\n return new Server(options, callback);\n}, emitListeningNextTick = function(self, onListen, err, hostname, port) {\n if (typeof onListen === \"function\")\n try {\n onListen(err, hostname, port);\n } catch (err2) {\n self.emit(\"error\", err2);\n }\n if (self.listening = !err, err)\n self.emit(\"error\", err);\n else\n self.emit(\"listening\", hostname, port);\n}, assignHeaders = function(object, req) {\n var headers = req.headers.toJSON();\n const rawHeaders = @newArrayWithSize(req.headers.count * 2);\n var i = 0;\n for (let key in headers)\n rawHeaders[i++] = key, rawHeaders[i++] = headers[key];\n object.headers = headers, object.rawHeaders = rawHeaders;\n}, destroyBodyStreamNT = function(bodyStream) {\n bodyStream.destroy();\n}, getDefaultHTTPSAgent = function() {\n return _defaultHTTPSAgent \?\?= new Agent({ defaultPort: 443, protocol: \"https:\" });\n};\nvar urlToHttpOptions = function(url) {\n var { protocol, hostname, hash, search, pathname, href, port, username, password } = url;\n return {\n protocol,\n hostname: typeof hostname === \"string\" && StringPrototypeStartsWith.@call(hostname, \"[\") \? StringPrototypeSlice.@call(hostname, 1, -1) : hostname,\n hash,\n search,\n pathname,\n path: `${pathname || \"\"}${search || \"\"}`,\n href,\n port: port \? Number(port) : protocol === \"https:\" \? 443 : protocol === \"http:\" \? 80 : @undefined,\n auth: username || password \? `${decodeURIComponent(username)}:${decodeURIComponent(password)}` : @undefined\n };\n}, validateHost = function(host, name) {\n if (host !== null && host !== @undefined && typeof host !== \"string\")\n throw new Error(\"Invalid arg type in options\");\n return host;\n}, checkIsHttpToken = function(val) {\n return RegExpPrototypeExec.@call(tokenRegExp, val) !== null;\n};\nvar _writeHead = function(statusCode, reason, obj, response) {\n if (statusCode |= 0, statusCode < 100 || statusCode > 999)\n throw new Error(\"status code must be between 100 and 999\");\n if (typeof reason === \"string\")\n response.statusMessage = reason;\n else {\n if (!response.statusMessage)\n response.statusMessage = STATUS_CODES[statusCode] || \"unknown\";\n obj = reason;\n }\n response.statusCode = statusCode;\n {\n let k;\n if (@Array.isArray(obj)) {\n if (obj.length % 2 !== 0)\n throw new Error(\"raw headers must have an even number of elements\");\n for (let n = 0;n < obj.length; n += 2)\n if (k = obj[n + 0], k)\n response.setHeader(k, obj[n + 1]);\n } else if (obj) {\n const keys = Object.keys(obj);\n for (let i = 0;i < keys.length; i++)\n if (k = keys[i], k)\n response.setHeader(k, obj[k]);\n }\n }\n if (statusCode === 204 || statusCode === 304 || statusCode >= 100 && statusCode <= 199)\n response._hasBody = !1;\n}, request = function(url, options, cb) {\n return new ClientRequest(url, options, cb);\n}, get = function(url, options, cb) {\n const req = request(url, options, cb);\n return req.end(), req;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { isTypedArray } = @requireNativeModule(\"util/types\"), { Duplex, Readable, Writable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { getHeader, setHeader } = @lazy(\"http\"), headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/, validateHeaderName = (name, label) => {\n if (typeof name !== \"string\" || !name || !checkIsHttpToken(name))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN\");\n}, validateHeaderValue = (name, value) => {\n if (value === @undefined)\n throw new Error(\"ERR_HTTP_INVALID_HEADER_VALUE\");\n if (checkInvalidHeaderChar(value))\n throw new Error(\"ERR_INVALID_CHAR\");\n}, { URL } = globalThis, globalReportError = globalThis.reportError, setTimeout = globalThis.setTimeout, fetch = Bun.fetch;\nvar kEmptyObject = Object.freeze(Object.create(null)), kOutHeaders = Symbol.for(\"kOutHeaders\"), kEndCalled = Symbol.for(\"kEndCalled\"), kAbortController = Symbol.for(\"kAbortController\"), kClearTimeout = Symbol(\"kClearTimeout\"), kCorked = Symbol.for(\"kCorked\"), searchParamsSymbol = Symbol.for(\"query\"), StringPrototypeSlice = @String.prototype.slice, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeToUpperCase = @String.prototype.toUpperCase, ArrayIsArray = @Array.isArray, RegExpPrototypeExec = @RegExp.prototype.exec, ObjectAssign = Object.assign, INVALID_PATH_REGEX = /[^\\u0021-\\u00ff]/;\nvar _defaultHTTPSAgent, kInternalRequest = Symbol(\"kInternalRequest\"), kInternalSocketData = Symbol.for(\"::bunternal::\"), kEmptyBuffer = @Buffer.alloc(0);\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\nvar FakeSocket = class Socket extends Duplex {\n [kInternalSocketData];\n bytesRead = 0;\n bytesWritten = 0;\n connecting = !1;\n timeout = 0;\n isServer = !1;\n #address;\n address() {\n var internalData;\n return this.#address \?\?= (internalData = this[kInternalSocketData])\?.[0]\?.requestIP(internalData[2]) \?\? {};\n }\n get bufferSize() {\n return this.writableLength;\n }\n connect(port, host, connectListener) {\n return this;\n }\n _destroy(err, callback) {\n }\n _final(callback) {\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return 80;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n }\n get remoteAddress() {\n return this.address()\?.address;\n }\n set remoteAddress(val) {\n this.address().address = val;\n }\n get remotePort() {\n return this.address()\?.port;\n }\n set remotePort(val) {\n this.address().port = val;\n }\n get remoteFamily() {\n return this.address()\?.family;\n }\n set remoteFamily(val) {\n this.address().family = val;\n }\n resetAndDestroy() {\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n return this;\n }\n unref() {\n }\n _write(chunk, encoding, callback) {\n }\n};\n\nclass Agent extends EventEmitter {\n defaultPort = 80;\n protocol = \"http:\";\n options;\n requests;\n sockets;\n freeSockets;\n keepAliveMsecs;\n keepAlive;\n maxSockets;\n maxFreeSockets;\n scheduling;\n maxTotalSockets;\n totalSocketCount;\n #fakeSocket;\n static get globalAgent() {\n return globalAgent;\n }\n static get defaultMaxSockets() {\n return @Infinity;\n }\n constructor(options = kEmptyObject) {\n super();\n if (this.options = options = { ...options, path: null }, options.noDelay === @undefined)\n options.noDelay = !0;\n this.requests = kEmptyObject, this.sockets = kEmptyObject, this.freeSockets = kEmptyObject, this.keepAliveMsecs = options.keepAliveMsecs || 1000, this.keepAlive = options.keepAlive || !1, this.maxSockets = options.maxSockets || Agent.defaultMaxSockets, this.maxFreeSockets = options.maxFreeSockets || 256, this.scheduling = options.scheduling || \"lifo\", this.maxTotalSockets = options.maxTotalSockets, this.totalSocketCount = 0, this.defaultPort = options.defaultPort || 80, this.protocol = options.protocol || \"http:\";\n }\n createConnection() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n getName(options = kEmptyObject) {\n let name = `http:${options.host || \"localhost\"}:`;\n if (options.port)\n name += options.port;\n if (name += \":\", options.localAddress)\n name += options.localAddress;\n if (options.family === 4 || options.family === 6)\n name += `:${options.family}`;\n if (options.socketPath)\n name += `:${options.socketPath}`;\n return name;\n }\n addRequest() {\n }\n createSocket(req, options, cb) {\n cb(null, this.#fakeSocket \?\?= new FakeSocket);\n }\n removeSocket() {\n }\n keepSocketAlive() {\n return !0;\n }\n reuseSocket() {\n }\n destroy() {\n }\n}\n\nclass Server extends EventEmitter {\n #server;\n #options;\n #tls;\n #is_tls = !1;\n listening = !1;\n serverName;\n constructor(options, callback) {\n super();\n if (typeof options === \"function\")\n callback = options, options = {};\n else if (options == null || typeof options === \"object\") {\n options = { ...options }, this.#tls = null;\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n let serverName = options.servername;\n if (serverName && typeof serverName !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n if (this.#is_tls)\n this.#tls = {\n serverName,\n key,\n cert,\n ca,\n passphrase,\n secureOptions\n };\n else\n this.#tls = null;\n } else\n throw new Error(\"bun-http-polyfill: invalid arguments\");\n if (this.#options = options, callback)\n this.on(\"request\", callback);\n }\n closeAllConnections() {\n const server = this.#server;\n if (!server)\n return;\n this.#server = @undefined, server.stop(!0), this.emit(\"close\");\n }\n closeIdleConnections() {\n }\n close(optionalCallback) {\n const server = this.#server;\n if (!server) {\n if (typeof optionalCallback === \"function\")\n process.nextTick(optionalCallback, new Error(\"Server is not running\"));\n return;\n }\n if (this.#server = @undefined, typeof optionalCallback === \"function\")\n this.once(\"close\", optionalCallback);\n server.stop(), this.emit(\"close\");\n }\n address() {\n if (!this.#server)\n return null;\n return this.#server.address;\n }\n listen(port, host, backlog, onListen) {\n const server = this;\n let socketPath;\n if (typeof port == \"string\" && !Number.isSafeInteger(Number(port)))\n socketPath = port;\n if (typeof host === \"function\")\n onListen = host, host = @undefined;\n if (typeof port === \"function\")\n onListen = port;\n else if (typeof port === \"object\") {\n if (port\?.signal\?.addEventListener(\"abort\", () => {\n this.close();\n }), host = port\?.host, port = port\?.port, typeof port\?.callback === \"function\")\n onListen = port\?.callback;\n }\n if (typeof backlog === \"function\")\n onListen = backlog;\n const ResponseClass = this.#options.ServerResponse || ServerResponse, RequestClass = this.#options.IncomingMessage || IncomingMessage;\n try {\n const tls = this.#tls;\n if (tls)\n this.serverName = tls.serverName || host || \"localhost\";\n this.#server = Bun.serve({\n tls,\n port,\n hostname: host,\n unix: socketPath,\n websocket: {\n open(ws) {\n ws.data.open(ws);\n },\n message(ws, message) {\n ws.data.message(ws, message);\n },\n close(ws, code, reason) {\n ws.data.close(ws, code, reason);\n },\n drain(ws) {\n ws.data.drain(ws);\n }\n },\n fetch(req, _server) {\n var pendingResponse, pendingError, rejectFunction, resolveFunction, reject = (err) => {\n if (pendingError)\n return;\n if (pendingError = err, rejectFunction)\n rejectFunction(err);\n }, reply = function(resp) {\n if (pendingResponse)\n return;\n if (pendingResponse = resp, resolveFunction)\n resolveFunction(resp);\n };\n const http_req = new RequestClass(req), http_res = new ResponseClass({ reply, req: http_req });\n if (http_req.socket[kInternalSocketData] = [_server, http_res, req], http_req.once(\"error\", (err) => reject(err)), http_res.once(\"error\", (err) => reject(err)), req.headers.get(\"upgrade\"))\n server.emit(\"upgrade\", http_req, http_req.socket, kEmptyBuffer);\n else\n server.emit(\"request\", http_req, http_res);\n if (pendingError)\n throw pendingError;\n if (pendingResponse)\n return pendingResponse;\n return new @Promise((resolve, reject2) => {\n resolveFunction = resolve, rejectFunction = reject2;\n });\n }\n }), setTimeout(emitListeningNextTick, 1, this, onListen, null, this.#server.hostname, this.#server.port);\n } catch (err) {\n server.emit(\"error\", err);\n }\n return this;\n }\n setTimeout(msecs, callback) {\n }\n}\nclass IncomingMessage extends Readable {\n method;\n complete;\n constructor(req, defaultIncomingOpts) {\n const method = req.method;\n super();\n const url = new URL(req.url);\n var { type = \"request\", [kInternalRequest]: nodeReq } = defaultIncomingOpts || {};\n this.#noBody = type === \"request\" \? method === \"GET\" || method === \"HEAD\" || method === \"TRACE\" || method === \"CONNECT\" || method === \"OPTIONS\" || (parseInt(req.headers.get(\"Content-Length\") || \"\") || 0) === 0 : !1, this.#req = req, this.method = method, this.#type = type, this.complete = !!this.#noBody, this.#bodyStream = @undefined;\n const socket = new FakeSocket;\n if (url.protocol === \"https:\")\n socket.encrypted = !0;\n this.#fakeSocket = socket, this.url = url.pathname + url.search, this.req = nodeReq, assignHeaders(this, req);\n }\n headers;\n rawHeaders;\n _consuming = !1;\n _dumped = !1;\n #bodyStream;\n #fakeSocket;\n #noBody = !1;\n #aborted = !1;\n #req;\n url;\n #type;\n _construct(callback) {\n if (this.#type === \"response\" || this.#noBody) {\n callback();\n return;\n }\n const contentLength = this.#req.headers.get(\"content-length\");\n if ((contentLength \? parseInt(contentLength, 10) : 0) === 0) {\n this.#noBody = !0, callback();\n return;\n }\n callback();\n }\n async#consumeStream(reader) {\n while (!0) {\n var { done, value } = await reader.readMany();\n if (this.#aborted)\n return;\n if (done) {\n this.push(null), process.nextTick(destroyBodyStreamNT, this);\n break;\n }\n for (var v of value)\n this.push(v);\n }\n }\n _read(size) {\n if (this.#noBody)\n this.push(null), this.complete = !0;\n else if (this.#bodyStream == null) {\n const reader = this.#req.body\?.getReader();\n if (!reader) {\n this.push(null);\n return;\n }\n this.#bodyStream = reader, this.#consumeStream(reader);\n }\n }\n get aborted() {\n return this.#aborted;\n }\n #abort() {\n if (this.#aborted)\n return;\n this.#aborted = !0;\n var bodyStream = this.#bodyStream;\n if (!bodyStream)\n return;\n bodyStream.cancel(), this.complete = !0, this.#bodyStream = @undefined, this.push(null);\n }\n get connection() {\n return this.#fakeSocket;\n }\n get statusCode() {\n return this.#req.status;\n }\n get statusMessage() {\n return STATUS_CODES[this.#req.status];\n }\n get httpVersion() {\n return \"1.1\";\n }\n get rawTrailers() {\n return [];\n }\n get httpVersionMajor() {\n return 1;\n }\n get httpVersionMinor() {\n return 1;\n }\n get trailers() {\n return kEmptyObject;\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n}\n\nclass OutgoingMessage extends Writable {\n constructor() {\n super(...arguments);\n }\n #headers;\n headersSent = !1;\n sendDate = !0;\n req;\n timeout;\n #finished = !1;\n [kEndCalled] = !1;\n #fakeSocket;\n #timeoutTimer;\n [kAbortController] = null;\n _implicitHeader() {\n }\n get headers() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n get connection() {\n return this.socket;\n }\n get finished() {\n return this.#finished;\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return headers.set(name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.removeAllListeners(\"timeout\"), this.#timeoutTimer = @undefined;\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar OriginalWriteHeadFn, OriginalImplicitHeadFn;\n\nclass ServerResponse extends Writable {\n constructor(c) {\n super();\n if (!c)\n c = {};\n var req = c.req || {}, reply = c.reply;\n if (this.req = req, this._reply = reply, this.sendDate = !0, this.statusCode = 200, this.headersSent = !1, this.statusMessage = @undefined, this.#controller = @undefined, this.#firstWrite = @undefined, this._writableState.decodeStrings = !1, this.#deferred = @undefined, req.method === \"HEAD\")\n this._hasBody = !1;\n }\n req;\n _reply;\n sendDate;\n statusCode;\n #headers;\n headersSent = !1;\n statusMessage;\n #controller;\n #firstWrite;\n _sent100 = !1;\n _defaultKeepAlive = !1;\n _removedConnection = !1;\n _removedContLen = !1;\n _hasBody = !0;\n #deferred = @undefined;\n #finished = !1;\n _implicitHeader() {\n this.writeHead(this.statusCode);\n }\n _write(chunk, encoding, callback) {\n if (!this.#firstWrite && !this.headersSent) {\n this.#firstWrite = chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n controller.write(chunk), callback();\n });\n }\n _writev(chunks, callback) {\n if (chunks.length === 1 && !this.headersSent && !this.#firstWrite) {\n this.#firstWrite = chunks[0].chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n for (let chunk of chunks)\n controller.write(chunk.chunk);\n callback();\n });\n }\n #ensureReadableStreamController(run) {\n var thisController = this.#controller;\n if (thisController)\n return run(thisController);\n this.headersSent = !0;\n var firstWrite = this.#firstWrite;\n this.#firstWrite = @undefined, this._reply(new Response(new @ReadableStream({\n type: \"direct\",\n pull: (controller) => {\n if (this.#controller = controller, firstWrite)\n controller.write(firstWrite);\n if (firstWrite = @undefined, run(controller), !this.#finished)\n return new @Promise((resolve) => {\n this.#deferred = resolve;\n });\n }\n }), {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n }));\n }\n #drainHeadersIfObservable() {\n if (this._implicitHeader === OriginalImplicitHeadFn && this.writeHead === OriginalWriteHeadFn)\n return;\n this._implicitHeader();\n }\n _final(callback) {\n if (!this.headersSent) {\n var data = this.#firstWrite || \"\";\n this.#firstWrite = @undefined, this.#finished = !0, this.#drainHeadersIfObservable(), this._reply(new Response(data, {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n })), callback && callback();\n return;\n }\n this.#finished = !0, this.#ensureReadableStreamController((controller) => {\n controller.end(), callback();\n var deferred = this.#deferred;\n if (deferred)\n this.#deferred = @undefined, deferred();\n });\n }\n writeProcessing() {\n throw new Error(\"not implemented\");\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n assignSocket(socket) {\n throw new Error(\"not implemented\");\n }\n detachSocket(socket) {\n throw new Error(\"not implemented\");\n }\n writeContinue(callback) {\n throw new Error(\"not implemented\");\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n var headers = this.#headers;\n if (!headers)\n return kEmptyObject;\n return headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return setHeader(headers, name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n writeHead(statusCode, statusMessage, headers) {\n return _writeHead(statusCode, statusMessage, headers, this), this;\n }\n}\nOriginalWriteHeadFn = ServerResponse.prototype.writeHead;\nOriginalImplicitHeadFn = ServerResponse.prototype._implicitHeader;\n\nclass ClientRequest extends OutgoingMessage {\n #timeout;\n #res = null;\n #upgradeOrConnect = !1;\n #parser = null;\n #maxHeadersCount = null;\n #reusedSocket = !1;\n #host;\n #protocol;\n #method;\n #port;\n #useDefaultPort;\n #joinDuplicateHeaders;\n #maxHeaderSize;\n #agent = globalAgent;\n #path;\n #socketPath;\n #bodyChunks = null;\n #fetchRequest;\n #signal = null;\n [kAbortController] = null;\n #timeoutTimer = @undefined;\n #options;\n #finished;\n get path() {\n return this.#path;\n }\n get port() {\n return this.#port;\n }\n get method() {\n return this.#method;\n }\n get host() {\n return this.#host;\n }\n get protocol() {\n return this.#protocol;\n }\n _write(chunk, encoding, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = [chunk], callback();\n return;\n }\n this.#bodyChunks.push(chunk), callback();\n }\n _writev(chunks, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = chunks, callback();\n return;\n }\n this.#bodyChunks.push(...chunks), callback();\n }\n _final(callback) {\n if (this.#finished = !0, this[kAbortController] = new AbortController, this[kAbortController].signal.addEventListener(\"abort\", () => {\n this[kClearTimeout]();\n }), this.#signal\?.aborted)\n this[kAbortController].abort();\n var method = this.#method, body = this.#bodyChunks\?.length === 1 \? this.#bodyChunks[0] : @Buffer.concat(this.#bodyChunks || []);\n let url, proxy;\n if (this.#path.startsWith(\"http://\") || this.#path.startsWith(\"https://\"))\n url = this.#path, proxy = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}`;\n else\n url = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}${this.#path}`;\n try {\n this.#fetchRequest = fetch(url, {\n method,\n headers: this.getHeaders(),\n body: body && method !== \"GET\" && method !== \"HEAD\" && method !== \"OPTIONS\" \? body : @undefined,\n redirect: \"manual\",\n verbose: !1,\n signal: this[kAbortController].signal,\n proxy,\n timeout: !1,\n decompress: !1\n }).then((response) => {\n var res = this.#res = new IncomingMessage(response, {\n type: \"response\",\n [kInternalRequest]: this\n });\n this.emit(\"response\", res);\n }).catch((err) => {\n this.emit(\"error\", err);\n }).finally(() => {\n this.#fetchRequest = null, this[kClearTimeout]();\n });\n } catch (err) {\n this.emit(\"error\", err);\n } finally {\n callback();\n }\n }\n get aborted() {\n return this.#signal\?.aborted || !!this[kAbortController]\?.signal.aborted;\n }\n abort() {\n if (this.aborted)\n return;\n this[kAbortController].abort();\n }\n constructor(input, options, cb) {\n super();\n if (typeof input === \"string\") {\n const urlStr = input;\n try {\n var urlObject = new URL(urlStr);\n } catch (e) {\n @throwTypeError(`Invalid URL: ${urlStr}`);\n }\n input = urlToHttpOptions(urlObject);\n } else if (input && typeof input === \"object\" && input instanceof URL)\n input = urlToHttpOptions(input);\n else\n cb = options, options = input, input = null;\n if (typeof options === \"function\")\n cb = options, options = input || kEmptyObject;\n else\n options = ObjectAssign(input || {}, options);\n var defaultAgent = options._defaultAgent || Agent.globalAgent;\n let protocol = options.protocol;\n if (!protocol)\n if (options.port === 443)\n protocol = \"https:\";\n else\n protocol = defaultAgent.protocol || \"http:\";\n switch (this.#protocol = protocol, this.#agent\?.protocol) {\n case @undefined:\n break;\n case \"http:\":\n if (protocol === \"https:\") {\n defaultAgent = this.#agent = getDefaultHTTPSAgent();\n break;\n }\n case \"https:\":\n if (protocol === \"https\") {\n defaultAgent = this.#agent = Agent.globalAgent;\n break;\n }\n default:\n break;\n }\n if (options.path) {\n const path = @String(options.path);\n if (RegExpPrototypeExec.@call(INVALID_PATH_REGEX, path) !== null)\n throw new Error(\"Path contains unescaped characters\");\n }\n if (protocol !== \"http:\" && protocol !== \"https:\" && protocol) {\n const expectedProtocol = defaultAgent\?.protocol \?\? \"http:\";\n throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`);\n }\n const defaultPort = protocol === \"https:\" \? 443 : 80;\n this.#port = options.port || options.defaultPort || this.#agent\?.defaultPort || defaultPort, this.#useDefaultPort = this.#port === defaultPort;\n const host = this.#host = options.host = validateHost(options.hostname, \"hostname\") || validateHost(options.host, \"host\") || \"localhost\";\n this.#socketPath = options.socketPath;\n const signal = options.signal;\n if (signal)\n signal.addEventListener(\"abort\", () => {\n this[kAbortController]\?.abort();\n }), this.#signal = signal;\n let method = options.method;\n const methodIsString = typeof method === \"string\";\n if (method !== null && method !== @undefined && !methodIsString)\n throw new Error(\"ERR_INVALID_ARG_TYPE: options.method\");\n if (methodIsString && method) {\n if (!checkIsHttpToken(method))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN: Method\");\n method = this.#method = StringPrototypeToUpperCase.@call(method);\n } else\n method = this.#method = \"GET\";\n const _maxHeaderSize = options.maxHeaderSize;\n this.#maxHeaderSize = _maxHeaderSize;\n var _joinDuplicateHeaders = options.joinDuplicateHeaders;\n if (this.#joinDuplicateHeaders = _joinDuplicateHeaders, this.#path = options.path || \"/\", cb)\n this.once(\"response\", cb);\n this.#finished = !1, this.#res = null, this.#upgradeOrConnect = !1, this.#parser = null, this.#maxHeadersCount = null, this.#reusedSocket = !1, this.#host = host, this.#protocol = protocol;\n var timeout = options.timeout;\n if (timeout !== @undefined && timeout !== 0)\n this.setTimeout(timeout, @undefined);\n if (!ArrayIsArray(headers)) {\n var headers = options.headers;\n if (headers)\n for (let key in headers)\n this.setHeader(key, headers[key]);\n var auth = options.auth;\n if (auth && !this.getHeader(\"Authorization\"))\n this.setHeader(\"Authorization\", \"Basic \" + @Buffer.from(auth).toString(\"base64\"));\n }\n var { signal: _signal, ...optsWithoutSignal } = options;\n this.#options = optsWithoutSignal;\n }\n setSocketKeepAlive(enable = !0, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.#timeoutTimer = @undefined, this.removeAllListeners(\"timeout\");\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/, METHODS = [\n \"ACL\",\n \"BIND\",\n \"CHECKOUT\",\n \"CONNECT\",\n \"COPY\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"LINK\",\n \"LOCK\",\n \"M-SEARCH\",\n \"MERGE\",\n \"MKACTIVITY\",\n \"MKCALENDAR\",\n \"MKCOL\",\n \"MOVE\",\n \"NOTIFY\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PROPFIND\",\n \"PROPPATCH\",\n \"PURGE\",\n \"PUT\",\n \"REBIND\",\n \"REPORT\",\n \"SEARCH\",\n \"SOURCE\",\n \"SUBSCRIBE\",\n \"TRACE\",\n \"UNBIND\",\n \"UNLINK\",\n \"UNLOCK\",\n \"UNSUBSCRIBE\"\n], STATUS_CODES = {\n 100: \"Continue\",\n 101: \"Switching Protocols\",\n 102: \"Processing\",\n 103: \"Early Hints\",\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 203: \"Non-Authoritative Information\",\n 204: \"No Content\",\n 205: \"Reset Content\",\n 206: \"Partial Content\",\n 207: \"Multi-Status\",\n 208: \"Already Reported\",\n 226: \"IM Used\",\n 300: \"Multiple Choices\",\n 301: \"Moved Permanently\",\n 302: \"Found\",\n 303: \"See Other\",\n 304: \"Not Modified\",\n 305: \"Use Proxy\",\n 307: \"Temporary Redirect\",\n 308: \"Permanent Redirect\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 402: \"Payment Required\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 406: \"Not Acceptable\",\n 407: \"Proxy Authentication Required\",\n 408: \"Request Timeout\",\n 409: \"Conflict\",\n 410: \"Gone\",\n 411: \"Length Required\",\n 412: \"Precondition Failed\",\n 413: \"Payload Too Large\",\n 414: \"URI Too Long\",\n 415: \"Unsupported Media Type\",\n 416: \"Range Not Satisfiable\",\n 417: \"Expectation Failed\",\n 418: \"I'm a Teapot\",\n 421: \"Misdirected Request\",\n 422: \"Unprocessable Entity\",\n 423: \"Locked\",\n 424: \"Failed Dependency\",\n 425: \"Too Early\",\n 426: \"Upgrade Required\",\n 428: \"Precondition Required\",\n 429: \"Too Many Requests\",\n 431: \"Request Header Fields Too Large\",\n 451: \"Unavailable For Legal Reasons\",\n 500: \"Internal Server Error\",\n 501: \"Not Implemented\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n 504: \"Gateway Timeout\",\n 505: \"HTTP Version Not Supported\",\n 506: \"Variant Also Negotiates\",\n 507: \"Insufficient Storage\",\n 508: \"Loop Detected\",\n 509: \"Bandwidth Limit Exceeded\",\n 510: \"Not Extended\",\n 511: \"Network Authentication Required\"\n}, globalAgent = new Agent;\n$ = {\n Agent,\n Server,\n METHODS,\n STATUS_CODES,\n createServer,\n ServerResponse,\n IncomingMessage,\n request,\n get,\n maxHeaderSize: 16384,\n validateHeaderName,\n validateHeaderValue,\n setMaxIdleHTTPParsers(max) {\n },\n globalAgent,\n ClientRequest,\n OutgoingMessage\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeHttpCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/http.ts\nvar checkInvalidHeaderChar = function(val) {\n return RegExpPrototypeExec.@call(headerCharRegex, val) !== null;\n};\nvar isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, validateMsecs = function(numberlike, field) {\n if (typeof numberlike !== \"number\" || numberlike < 0)\n throw new ERR_INVALID_ARG_TYPE(field, \"number\", numberlike);\n return numberlike;\n}, validateFunction = function(callable, field) {\n if (typeof callable !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(field, \"Function\", callable);\n return callable;\n}, createServer = function(options, callback) {\n return new Server(options, callback);\n}, emitListeningNextTick = function(self, onListen, err, hostname, port) {\n if (typeof onListen === \"function\")\n try {\n onListen(err, hostname, port);\n } catch (err2) {\n self.emit(\"error\", err2);\n }\n if (self.listening = !err, err)\n self.emit(\"error\", err);\n else\n self.emit(\"listening\", hostname, port);\n}, assignHeaders = function(object, req) {\n var headers = req.headers.toJSON();\n const rawHeaders = @newArrayWithSize(req.headers.count * 2);\n var i = 0;\n for (let key in headers)\n rawHeaders[i++] = key, rawHeaders[i++] = headers[key];\n object.headers = headers, object.rawHeaders = rawHeaders;\n}, destroyBodyStreamNT = function(bodyStream) {\n bodyStream.destroy();\n}, getDefaultHTTPSAgent = function() {\n return _defaultHTTPSAgent \?\?= new Agent({ defaultPort: 443, protocol: \"https:\" });\n};\nvar urlToHttpOptions = function(url) {\n var { protocol, hostname, hash, search, pathname, href, port, username, password } = url;\n return {\n protocol,\n hostname: typeof hostname === \"string\" && StringPrototypeStartsWith.@call(hostname, \"[\") \? StringPrototypeSlice.@call(hostname, 1, -1) : hostname,\n hash,\n search,\n pathname,\n path: `${pathname || \"\"}${search || \"\"}`,\n href,\n port: port \? Number(port) : protocol === \"https:\" \? 443 : protocol === \"http:\" \? 80 : @undefined,\n auth: username || password \? `${decodeURIComponent(username)}:${decodeURIComponent(password)}` : @undefined\n };\n}, validateHost = function(host, name) {\n if (host !== null && host !== @undefined && typeof host !== \"string\")\n throw new Error(\"Invalid arg type in options\");\n return host;\n}, checkIsHttpToken = function(val) {\n return RegExpPrototypeExec.@call(tokenRegExp, val) !== null;\n};\nvar _writeHead = function(statusCode, reason, obj, response) {\n if (statusCode |= 0, statusCode < 100 || statusCode > 999)\n throw new Error(\"status code must be between 100 and 999\");\n if (typeof reason === \"string\")\n response.statusMessage = reason;\n else {\n if (!response.statusMessage)\n response.statusMessage = STATUS_CODES[statusCode] || \"unknown\";\n obj = reason;\n }\n response.statusCode = statusCode;\n {\n let k;\n if (@Array.isArray(obj)) {\n if (obj.length % 2 !== 0)\n throw new Error(\"raw headers must have an even number of elements\");\n for (let n = 0;n < obj.length; n += 2)\n if (k = obj[n + 0], k)\n response.setHeader(k, obj[n + 1]);\n } else if (obj) {\n const keys = Object.keys(obj);\n for (let i = 0;i < keys.length; i++)\n if (k = keys[i], k)\n response.setHeader(k, obj[k]);\n }\n }\n if (statusCode === 204 || statusCode === 304 || statusCode >= 100 && statusCode <= 199)\n response._hasBody = !1;\n}, request = function(url, options, cb) {\n return new ClientRequest(url, options, cb);\n}, get = function(url, options, cb) {\n const req = request(url, options, cb);\n return req.end(), req;\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { isTypedArray } = @requireNativeModule(\"util/types\"), { Duplex, Readable, Writable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { getHeader, setHeader } = @lazy(\"http\"), headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/, validateHeaderName = (name, label) => {\n if (typeof name !== \"string\" || !name || !checkIsHttpToken(name))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN\");\n}, validateHeaderValue = (name, value) => {\n if (value === @undefined)\n throw new Error(\"ERR_HTTP_INVALID_HEADER_VALUE\");\n if (checkInvalidHeaderChar(value))\n throw new Error(\"ERR_INVALID_CHAR\");\n}, { URL } = globalThis, globalReportError = globalThis.reportError, setTimeout = globalThis.setTimeout, fetch = Bun.fetch;\nvar kEmptyObject = Object.freeze(Object.create(null)), kOutHeaders = Symbol.for(\"kOutHeaders\"), kEndCalled = Symbol.for(\"kEndCalled\"), kAbortController = Symbol.for(\"kAbortController\"), kClearTimeout = Symbol(\"kClearTimeout\"), kCorked = Symbol.for(\"kCorked\"), searchParamsSymbol = Symbol.for(\"query\"), StringPrototypeSlice = @String.prototype.slice, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeToUpperCase = @String.prototype.toUpperCase, ArrayIsArray = @Array.isArray, RegExpPrototypeExec = @RegExp.prototype.exec, ObjectAssign = Object.assign, INVALID_PATH_REGEX = /[^\\u0021-\\u00ff]/;\nvar _defaultHTTPSAgent, kInternalRequest = Symbol(\"kInternalRequest\"), kInternalSocketData = Symbol.for(\"::bunternal::\"), kEmptyBuffer = @Buffer.alloc(0);\n\nclass ERR_INVALID_ARG_TYPE extends TypeError {\n constructor(name, expected, actual) {\n super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\nvar FakeSocket = class Socket extends Duplex {\n [kInternalSocketData];\n bytesRead = 0;\n bytesWritten = 0;\n connecting = !1;\n timeout = 0;\n isServer = !1;\n #address;\n address() {\n var internalData;\n return this.#address \?\?= (internalData = this[kInternalSocketData])\?.[0]\?.requestIP(internalData[2]) \?\? {};\n }\n get bufferSize() {\n return this.writableLength;\n }\n connect(port, host, connectListener) {\n return this;\n }\n _destroy(err, callback) {\n }\n _final(callback) {\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return 80;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n }\n get remoteAddress() {\n return this.address()\?.address;\n }\n set remoteAddress(val) {\n this.address().address = val;\n }\n get remotePort() {\n return this.address()\?.port;\n }\n set remotePort(val) {\n this.address().port = val;\n }\n get remoteFamily() {\n return this.address()\?.family;\n }\n set remoteFamily(val) {\n this.address().family = val;\n }\n resetAndDestroy() {\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n return this;\n }\n unref() {\n }\n _write(chunk, encoding, callback) {\n }\n};\n\nclass Agent extends EventEmitter {\n defaultPort = 80;\n protocol = \"http:\";\n options;\n requests;\n sockets;\n freeSockets;\n keepAliveMsecs;\n keepAlive;\n maxSockets;\n maxFreeSockets;\n scheduling;\n maxTotalSockets;\n totalSocketCount;\n #fakeSocket;\n static get globalAgent() {\n return globalAgent;\n }\n static get defaultMaxSockets() {\n return @Infinity;\n }\n constructor(options = kEmptyObject) {\n super();\n if (this.options = options = { ...options, path: null }, options.noDelay === @undefined)\n options.noDelay = !0;\n this.requests = kEmptyObject, this.sockets = kEmptyObject, this.freeSockets = kEmptyObject, this.keepAliveMsecs = options.keepAliveMsecs || 1000, this.keepAlive = options.keepAlive || !1, this.maxSockets = options.maxSockets || Agent.defaultMaxSockets, this.maxFreeSockets = options.maxFreeSockets || 256, this.scheduling = options.scheduling || \"lifo\", this.maxTotalSockets = options.maxTotalSockets, this.totalSocketCount = 0, this.defaultPort = options.defaultPort || 80, this.protocol = options.protocol || \"http:\";\n }\n createConnection() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n getName(options = kEmptyObject) {\n let name = `http:${options.host || \"localhost\"}:`;\n if (options.port)\n name += options.port;\n if (name += \":\", options.localAddress)\n name += options.localAddress;\n if (options.family === 4 || options.family === 6)\n name += `:${options.family}`;\n if (options.socketPath)\n name += `:${options.socketPath}`;\n return name;\n }\n addRequest() {\n }\n createSocket(req, options, cb) {\n cb(null, this.#fakeSocket \?\?= new FakeSocket);\n }\n removeSocket() {\n }\n keepSocketAlive() {\n return !0;\n }\n reuseSocket() {\n }\n destroy() {\n }\n}\n\nclass Server extends EventEmitter {\n #server;\n #options;\n #tls;\n #is_tls = !1;\n listening = !1;\n serverName;\n constructor(options, callback) {\n super();\n if (typeof options === \"function\")\n callback = options, options = {};\n else if (options == null || typeof options === \"object\") {\n options = { ...options }, this.#tls = null;\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.#is_tls = !0;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n let serverName = options.servername;\n if (serverName && typeof serverName !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n if (this.#is_tls)\n this.#tls = {\n serverName,\n key,\n cert,\n ca,\n passphrase,\n secureOptions\n };\n else\n this.#tls = null;\n } else\n throw new Error(\"bun-http-polyfill: invalid arguments\");\n if (this.#options = options, callback)\n this.on(\"request\", callback);\n }\n closeAllConnections() {\n const server = this.#server;\n if (!server)\n return;\n this.#server = @undefined, server.stop(!0), this.emit(\"close\");\n }\n closeIdleConnections() {\n }\n close(optionalCallback) {\n const server = this.#server;\n if (!server) {\n if (typeof optionalCallback === \"function\")\n process.nextTick(optionalCallback, new Error(\"Server is not running\"));\n return;\n }\n if (this.#server = @undefined, typeof optionalCallback === \"function\")\n this.once(\"close\", optionalCallback);\n server.stop(), this.emit(\"close\");\n }\n address() {\n if (!this.#server)\n return null;\n return this.#server.address;\n }\n listen(port, host, backlog, onListen) {\n const server = this;\n let socketPath;\n if (typeof port == \"string\" && !Number.isSafeInteger(Number(port)))\n socketPath = port;\n if (typeof host === \"function\")\n onListen = host, host = @undefined;\n if (typeof port === \"function\")\n onListen = port;\n else if (typeof port === \"object\") {\n if (port\?.signal\?.addEventListener(\"abort\", () => {\n this.close();\n }), host = port\?.host, port = port\?.port, typeof port\?.callback === \"function\")\n onListen = port\?.callback;\n }\n if (typeof backlog === \"function\")\n onListen = backlog;\n const ResponseClass = this.#options.ServerResponse || ServerResponse, RequestClass = this.#options.IncomingMessage || IncomingMessage;\n try {\n const tls = this.#tls;\n if (tls)\n this.serverName = tls.serverName || host || \"localhost\";\n this.#server = Bun.serve({\n tls,\n port,\n hostname: host,\n unix: socketPath,\n websocket: {\n open(ws) {\n ws.data.open(ws);\n },\n message(ws, message) {\n ws.data.message(ws, message);\n },\n close(ws, code, reason) {\n ws.data.close(ws, code, reason);\n },\n drain(ws) {\n ws.data.drain(ws);\n }\n },\n fetch(req, _server) {\n var pendingResponse, pendingError, rejectFunction, resolveFunction, reject = (err) => {\n if (pendingError)\n return;\n if (pendingError = err, rejectFunction)\n rejectFunction(err);\n }, reply = function(resp) {\n if (pendingResponse)\n return;\n if (pendingResponse = resp, resolveFunction)\n resolveFunction(resp);\n };\n const http_req = new RequestClass(req), http_res = new ResponseClass({ reply, req: http_req });\n if (http_req.socket[kInternalSocketData] = [_server, http_res, req], http_req.once(\"error\", (err) => reject(err)), http_res.once(\"error\", (err) => reject(err)), req.headers.get(\"upgrade\"))\n server.emit(\"upgrade\", http_req, http_req.socket, kEmptyBuffer);\n else\n server.emit(\"request\", http_req, http_res);\n if (pendingError)\n throw pendingError;\n if (pendingResponse)\n return pendingResponse;\n return new @Promise((resolve, reject2) => {\n resolveFunction = resolve, rejectFunction = reject2;\n });\n }\n }), setTimeout(emitListeningNextTick, 1, this, onListen, null, this.#server.hostname, this.#server.port);\n } catch (err) {\n server.emit(\"error\", err);\n }\n return this;\n }\n setTimeout(msecs, callback) {\n }\n}\nclass IncomingMessage extends Readable {\n method;\n complete;\n constructor(req, defaultIncomingOpts) {\n const method = req.method;\n super();\n const url = new URL(req.url);\n var { type = \"request\", [kInternalRequest]: nodeReq } = defaultIncomingOpts || {};\n this.#noBody = type === \"request\" \? method === \"GET\" || method === \"HEAD\" || method === \"TRACE\" || method === \"CONNECT\" || method === \"OPTIONS\" || (parseInt(req.headers.get(\"Content-Length\") || \"\") || 0) === 0 : !1, this.#req = req, this.method = method, this.#type = type, this.complete = !!this.#noBody, this.#bodyStream = @undefined;\n const socket = new FakeSocket;\n if (url.protocol === \"https:\")\n socket.encrypted = !0;\n this.#fakeSocket = socket, this.url = url.pathname + url.search, this.req = nodeReq, assignHeaders(this, req);\n }\n headers;\n rawHeaders;\n _consuming = !1;\n _dumped = !1;\n #bodyStream;\n #fakeSocket;\n #noBody = !1;\n #aborted = !1;\n #req;\n url;\n #type;\n _construct(callback) {\n if (this.#type === \"response\" || this.#noBody) {\n callback();\n return;\n }\n const contentLength = this.#req.headers.get(\"content-length\");\n if ((contentLength \? parseInt(contentLength, 10) : 0) === 0) {\n this.#noBody = !0, callback();\n return;\n }\n callback();\n }\n async#consumeStream(reader) {\n while (!0) {\n var { done, value } = await reader.readMany();\n if (this.#aborted)\n return;\n if (done) {\n this.push(null), process.nextTick(destroyBodyStreamNT, this);\n break;\n }\n for (var v of value)\n this.push(v);\n }\n }\n _read(size) {\n if (this.#noBody)\n this.push(null), this.complete = !0;\n else if (this.#bodyStream == null) {\n const reader = this.#req.body\?.getReader();\n if (!reader) {\n this.push(null);\n return;\n }\n this.#bodyStream = reader, this.#consumeStream(reader);\n }\n }\n get aborted() {\n return this.#aborted;\n }\n #abort() {\n if (this.#aborted)\n return;\n this.#aborted = !0;\n var bodyStream = this.#bodyStream;\n if (!bodyStream)\n return;\n bodyStream.cancel(), this.complete = !0, this.#bodyStream = @undefined, this.push(null);\n }\n get connection() {\n return this.#fakeSocket;\n }\n get statusCode() {\n return this.#req.status;\n }\n get statusMessage() {\n return STATUS_CODES[this.#req.status];\n }\n get httpVersion() {\n return \"1.1\";\n }\n get rawTrailers() {\n return [];\n }\n get httpVersionMajor() {\n return 1;\n }\n get httpVersionMinor() {\n return 1;\n }\n get trailers() {\n return kEmptyObject;\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n}\n\nclass OutgoingMessage extends Writable {\n constructor() {\n super(...arguments);\n }\n #headers;\n headersSent = !1;\n sendDate = !0;\n req;\n timeout;\n #finished = !1;\n [kEndCalled] = !1;\n #fakeSocket;\n #timeoutTimer;\n [kAbortController] = null;\n _implicitHeader() {\n }\n get headers() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n get socket() {\n return this.#fakeSocket \?\?= new FakeSocket;\n }\n set socket(val) {\n this.#fakeSocket = val;\n }\n get connection() {\n return this.socket;\n }\n get finished() {\n return this.#finished;\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n if (!this.#headers)\n return kEmptyObject;\n return this.#headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return headers.set(name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.removeAllListeners(\"timeout\"), this.#timeoutTimer = @undefined;\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar OriginalWriteHeadFn, OriginalImplicitHeadFn;\n\nclass ServerResponse extends Writable {\n constructor(c) {\n super();\n if (!c)\n c = {};\n var req = c.req || {}, reply = c.reply;\n if (this.req = req, this._reply = reply, this.sendDate = !0, this.statusCode = 200, this.headersSent = !1, this.statusMessage = @undefined, this.#controller = @undefined, this.#firstWrite = @undefined, this._writableState.decodeStrings = !1, this.#deferred = @undefined, req.method === \"HEAD\")\n this._hasBody = !1;\n }\n req;\n _reply;\n sendDate;\n statusCode;\n #headers;\n headersSent = !1;\n statusMessage;\n #controller;\n #firstWrite;\n _sent100 = !1;\n _defaultKeepAlive = !1;\n _removedConnection = !1;\n _removedContLen = !1;\n _hasBody = !0;\n #deferred = @undefined;\n #finished = !1;\n _implicitHeader() {\n this.writeHead(this.statusCode);\n }\n _write(chunk, encoding, callback) {\n if (!this.#firstWrite && !this.headersSent) {\n this.#firstWrite = chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n controller.write(chunk), callback();\n });\n }\n _writev(chunks, callback) {\n if (chunks.length === 1 && !this.headersSent && !this.#firstWrite) {\n this.#firstWrite = chunks[0].chunk, callback();\n return;\n }\n this.#ensureReadableStreamController((controller) => {\n for (let chunk of chunks)\n controller.write(chunk.chunk);\n callback();\n });\n }\n #ensureReadableStreamController(run) {\n var thisController = this.#controller;\n if (thisController)\n return run(thisController);\n this.headersSent = !0;\n var firstWrite = this.#firstWrite;\n this.#firstWrite = @undefined, this._reply(new Response(new @ReadableStream({\n type: \"direct\",\n pull: (controller) => {\n if (this.#controller = controller, firstWrite)\n controller.write(firstWrite);\n if (firstWrite = @undefined, run(controller), !this.#finished)\n return new @Promise((resolve) => {\n this.#deferred = resolve;\n });\n }\n }), {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n }));\n }\n #drainHeadersIfObservable() {\n if (this._implicitHeader === OriginalImplicitHeadFn && this.writeHead === OriginalWriteHeadFn)\n return;\n this._implicitHeader();\n }\n _final(callback) {\n if (!this.headersSent) {\n var data = this.#firstWrite || \"\";\n this.#firstWrite = @undefined, this.#finished = !0, this.#drainHeadersIfObservable(), this._reply(new Response(data, {\n headers: this.#headers,\n status: this.statusCode,\n statusText: this.statusMessage \?\? STATUS_CODES[this.statusCode]\n })), callback && callback();\n return;\n }\n this.#finished = !0, this.#ensureReadableStreamController((controller) => {\n controller.end(), callback();\n var deferred = this.#deferred;\n if (deferred)\n this.#deferred = @undefined, deferred();\n });\n }\n writeProcessing() {\n throw new Error(\"not implemented\");\n }\n addTrailers(headers) {\n throw new Error(\"not implemented\");\n }\n assignSocket(socket) {\n throw new Error(\"not implemented\");\n }\n detachSocket(socket) {\n throw new Error(\"not implemented\");\n }\n writeContinue(callback) {\n throw new Error(\"not implemented\");\n }\n setTimeout(msecs, callback) {\n throw new Error(\"not implemented\");\n }\n get shouldKeepAlive() {\n return !0;\n }\n get chunkedEncoding() {\n return !1;\n }\n set chunkedEncoding(value) {\n }\n set shouldKeepAlive(value) {\n }\n get useChunkedEncodingByDefault() {\n return !0;\n }\n set useChunkedEncodingByDefault(value) {\n }\n appendHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n headers.append(name, value);\n }\n flushHeaders() {\n }\n getHeader(name) {\n return getHeader(this.#headers, name);\n }\n getHeaders() {\n var headers = this.#headers;\n if (!headers)\n return kEmptyObject;\n return headers.toJSON();\n }\n getHeaderNames() {\n var headers = this.#headers;\n if (!headers)\n return [];\n return @Array.from(headers.keys());\n }\n removeHeader(name) {\n if (!this.#headers)\n return;\n this.#headers.delete(name);\n }\n setHeader(name, value) {\n var headers = this.#headers \?\?= new Headers;\n return setHeader(headers, name, value), this;\n }\n hasHeader(name) {\n if (!this.#headers)\n return !1;\n return this.#headers.has(name);\n }\n writeHead(statusCode, statusMessage, headers) {\n return _writeHead(statusCode, statusMessage, headers, this), this;\n }\n}\nOriginalWriteHeadFn = ServerResponse.prototype.writeHead;\nOriginalImplicitHeadFn = ServerResponse.prototype._implicitHeader;\n\nclass ClientRequest extends OutgoingMessage {\n #timeout;\n #res = null;\n #upgradeOrConnect = !1;\n #parser = null;\n #maxHeadersCount = null;\n #reusedSocket = !1;\n #host;\n #protocol;\n #method;\n #port;\n #useDefaultPort;\n #joinDuplicateHeaders;\n #maxHeaderSize;\n #agent = globalAgent;\n #path;\n #socketPath;\n #bodyChunks = null;\n #fetchRequest;\n #signal = null;\n [kAbortController] = null;\n #timeoutTimer = @undefined;\n #options;\n #finished;\n get path() {\n return this.#path;\n }\n get port() {\n return this.#port;\n }\n get method() {\n return this.#method;\n }\n get host() {\n return this.#host;\n }\n get protocol() {\n return this.#protocol;\n }\n _write(chunk, encoding, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = [chunk], callback();\n return;\n }\n this.#bodyChunks.push(chunk), callback();\n }\n _writev(chunks, callback) {\n if (!this.#bodyChunks) {\n this.#bodyChunks = chunks, callback();\n return;\n }\n this.#bodyChunks.push(...chunks), callback();\n }\n _final(callback) {\n if (this.#finished = !0, this[kAbortController] = new AbortController, this[kAbortController].signal.addEventListener(\"abort\", () => {\n this[kClearTimeout]();\n }), this.#signal\?.aborted)\n this[kAbortController].abort();\n var method = this.#method, body = this.#bodyChunks\?.length === 1 \? this.#bodyChunks[0] : @Buffer.concat(this.#bodyChunks || []);\n let url, proxy;\n if (this.#path.startsWith(\"http://\") || this.#path.startsWith(\"https://\"))\n url = this.#path, proxy = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}`;\n else\n url = `${this.#protocol}//${this.#host}${this.#useDefaultPort \? \"\" : \":\" + this.#port}${this.#path}`;\n try {\n this.#fetchRequest = fetch(url, {\n method,\n headers: this.getHeaders(),\n body: body && method !== \"GET\" && method !== \"HEAD\" && method !== \"OPTIONS\" \? body : @undefined,\n redirect: \"manual\",\n verbose: !1,\n signal: this[kAbortController].signal,\n proxy,\n timeout: !1,\n decompress: !1\n }).then((response) => {\n var res = this.#res = new IncomingMessage(response, {\n type: \"response\",\n [kInternalRequest]: this\n });\n this.emit(\"response\", res);\n }).catch((err) => {\n this.emit(\"error\", err);\n }).finally(() => {\n this.#fetchRequest = null, this[kClearTimeout]();\n });\n } catch (err) {\n this.emit(\"error\", err);\n } finally {\n callback();\n }\n }\n get aborted() {\n return this.#signal\?.aborted || !!this[kAbortController]\?.signal.aborted;\n }\n abort() {\n if (this.aborted)\n return;\n this[kAbortController].abort();\n }\n constructor(input, options, cb) {\n super();\n if (typeof input === \"string\") {\n const urlStr = input;\n try {\n var urlObject = new URL(urlStr);\n } catch (e) {\n @throwTypeError(`Invalid URL: ${urlStr}`);\n }\n input = urlToHttpOptions(urlObject);\n } else if (input && typeof input === \"object\" && input instanceof URL)\n input = urlToHttpOptions(input);\n else\n cb = options, options = input, input = null;\n if (typeof options === \"function\")\n cb = options, options = input || kEmptyObject;\n else\n options = ObjectAssign(input || {}, options);\n var defaultAgent = options._defaultAgent || Agent.globalAgent;\n let protocol = options.protocol;\n if (!protocol)\n if (options.port === 443)\n protocol = \"https:\";\n else\n protocol = defaultAgent.protocol || \"http:\";\n switch (this.#protocol = protocol, this.#agent\?.protocol) {\n case @undefined:\n break;\n case \"http:\":\n if (protocol === \"https:\") {\n defaultAgent = this.#agent = getDefaultHTTPSAgent();\n break;\n }\n case \"https:\":\n if (protocol === \"https\") {\n defaultAgent = this.#agent = Agent.globalAgent;\n break;\n }\n default:\n break;\n }\n if (options.path) {\n const path = @String(options.path);\n if (RegExpPrototypeExec.@call(INVALID_PATH_REGEX, path) !== null)\n throw new Error(\"Path contains unescaped characters\");\n }\n if (protocol !== \"http:\" && protocol !== \"https:\" && protocol) {\n const expectedProtocol = defaultAgent\?.protocol \?\? \"http:\";\n throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`);\n }\n const defaultPort = protocol === \"https:\" \? 443 : 80;\n this.#port = options.port || options.defaultPort || this.#agent\?.defaultPort || defaultPort, this.#useDefaultPort = this.#port === defaultPort;\n const host = this.#host = options.host = validateHost(options.hostname, \"hostname\") || validateHost(options.host, \"host\") || \"localhost\";\n this.#socketPath = options.socketPath;\n const signal = options.signal;\n if (signal)\n signal.addEventListener(\"abort\", () => {\n this[kAbortController]\?.abort();\n }), this.#signal = signal;\n let method = options.method;\n const methodIsString = typeof method === \"string\";\n if (method !== null && method !== @undefined && !methodIsString)\n throw new Error(\"ERR_INVALID_ARG_TYPE: options.method\");\n if (methodIsString && method) {\n if (!checkIsHttpToken(method))\n throw new Error(\"ERR_INVALID_HTTP_TOKEN: Method\");\n method = this.#method = StringPrototypeToUpperCase.@call(method);\n } else\n method = this.#method = \"GET\";\n const _maxHeaderSize = options.maxHeaderSize;\n this.#maxHeaderSize = _maxHeaderSize;\n var _joinDuplicateHeaders = options.joinDuplicateHeaders;\n if (this.#joinDuplicateHeaders = _joinDuplicateHeaders, this.#path = options.path || \"/\", cb)\n this.once(\"response\", cb);\n this.#finished = !1, this.#res = null, this.#upgradeOrConnect = !1, this.#parser = null, this.#maxHeadersCount = null, this.#reusedSocket = !1, this.#host = host, this.#protocol = protocol;\n var timeout = options.timeout;\n if (timeout !== @undefined && timeout !== 0)\n this.setTimeout(timeout, @undefined);\n if (!ArrayIsArray(headers)) {\n var headers = options.headers;\n if (headers)\n for (let key in headers)\n this.setHeader(key, headers[key]);\n var auth = options.auth;\n if (auth && !this.getHeader(\"Authorization\"))\n this.setHeader(\"Authorization\", \"Basic \" + @Buffer.from(auth).toString(\"base64\"));\n }\n var { signal: _signal, ...optsWithoutSignal } = options;\n this.#options = optsWithoutSignal;\n }\n setSocketKeepAlive(enable = !0, initialDelay = 0) {\n }\n setNoDelay(noDelay = !0) {\n }\n [kClearTimeout]() {\n if (this.#timeoutTimer)\n clearTimeout(this.#timeoutTimer), this.#timeoutTimer = @undefined, this.removeAllListeners(\"timeout\");\n }\n #onTimeout() {\n this.#timeoutTimer = @undefined, this[kAbortController]\?.abort(), this.emit(\"timeout\");\n }\n setTimeout(msecs, callback) {\n if (this.destroyed)\n return this;\n if (this.timeout = msecs = validateMsecs(msecs, \"msecs\"), clearTimeout(this.#timeoutTimer), msecs === 0) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\"), this.removeListener(\"timeout\", callback);\n this.#timeoutTimer = @undefined;\n } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== @undefined)\n validateFunction(callback, \"callback\"), this.once(\"timeout\", callback);\n return this;\n }\n}\nvar tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/, METHODS = [\n \"ACL\",\n \"BIND\",\n \"CHECKOUT\",\n \"CONNECT\",\n \"COPY\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"LINK\",\n \"LOCK\",\n \"M-SEARCH\",\n \"MERGE\",\n \"MKACTIVITY\",\n \"MKCALENDAR\",\n \"MKCOL\",\n \"MOVE\",\n \"NOTIFY\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PROPFIND\",\n \"PROPPATCH\",\n \"PURGE\",\n \"PUT\",\n \"REBIND\",\n \"REPORT\",\n \"SEARCH\",\n \"SOURCE\",\n \"SUBSCRIBE\",\n \"TRACE\",\n \"UNBIND\",\n \"UNLINK\",\n \"UNLOCK\",\n \"UNSUBSCRIBE\"\n], STATUS_CODES = {\n 100: \"Continue\",\n 101: \"Switching Protocols\",\n 102: \"Processing\",\n 103: \"Early Hints\",\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 203: \"Non-Authoritative Information\",\n 204: \"No Content\",\n 205: \"Reset Content\",\n 206: \"Partial Content\",\n 207: \"Multi-Status\",\n 208: \"Already Reported\",\n 226: \"IM Used\",\n 300: \"Multiple Choices\",\n 301: \"Moved Permanently\",\n 302: \"Found\",\n 303: \"See Other\",\n 304: \"Not Modified\",\n 305: \"Use Proxy\",\n 307: \"Temporary Redirect\",\n 308: \"Permanent Redirect\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 402: \"Payment Required\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 406: \"Not Acceptable\",\n 407: \"Proxy Authentication Required\",\n 408: \"Request Timeout\",\n 409: \"Conflict\",\n 410: \"Gone\",\n 411: \"Length Required\",\n 412: \"Precondition Failed\",\n 413: \"Payload Too Large\",\n 414: \"URI Too Long\",\n 415: \"Unsupported Media Type\",\n 416: \"Range Not Satisfiable\",\n 417: \"Expectation Failed\",\n 418: \"I'm a Teapot\",\n 421: \"Misdirected Request\",\n 422: \"Unprocessable Entity\",\n 423: \"Locked\",\n 424: \"Failed Dependency\",\n 425: \"Too Early\",\n 426: \"Upgrade Required\",\n 428: \"Precondition Required\",\n 429: \"Too Many Requests\",\n 431: \"Request Header Fields Too Large\",\n 451: \"Unavailable For Legal Reasons\",\n 500: \"Internal Server Error\",\n 501: \"Not Implemented\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n 504: \"Gateway Timeout\",\n 505: \"HTTP Version Not Supported\",\n 506: \"Variant Also Negotiates\",\n 507: \"Insufficient Storage\",\n 508: \"Loop Detected\",\n 509: \"Bandwidth Limit Exceeded\",\n 510: \"Not Extended\",\n 511: \"Network Authentication Required\"\n}, globalAgent = new Agent;\n$ = {\n Agent,\n Server,\n METHODS,\n STATUS_CODES,\n createServer,\n ServerResponse,\n IncomingMessage,\n request,\n get,\n maxHeaderSize: 16384,\n validateHeaderName,\n validateHeaderValue,\n setMaxIdleHTTPParsers(max) {\n },\n globalAgent,\n ClientRequest,\n OutgoingMessage\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeHttp2Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/http2.ts\nvar connect = function() {\n throwNotImplemented(\"node:http2 connect\", 887);\n}, createServer = function() {\n throwNotImplemented(\"node:http2 createServer\", 887);\n}, createSecureServer = function() {\n throwNotImplemented(\"node:http2 createSecureServer\", 887);\n}, getDefaultSettings = function() {\n return {\n headerTableSize: 4096,\n enablePush: !0,\n initialWindowSize: 65535,\n maxFrameSize: 16384,\n maxConcurrentStreams: 4294967295,\n maxHeaderSize: 65535,\n maxHeaderListSize: 65535,\n enableConnectProtocol: !1\n };\n}, getPackedSettings = function() {\n return @Buffer.alloc(0);\n}, getUnpackedSettings = function() {\n return @Buffer.alloc(0);\n}, Http2ServerRequest = function() {\n throwNotImplemented(\"node:http2 Http2ServerRequest\", 887);\n}, Http2ServerResponse = function() {\n throwNotImplemented(\"node:http2 Http2ServerResponse\", 887);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NGHTTP2_ERR_FRAME_SIZE_ERROR: -522,\n NGHTTP2_SESSION_SERVER: 0,\n NGHTTP2_SESSION_CLIENT: 1,\n NGHTTP2_STREAM_STATE_IDLE: 1,\n NGHTTP2_STREAM_STATE_OPEN: 2,\n NGHTTP2_STREAM_STATE_RESERVED_LOCAL: 3,\n NGHTTP2_STREAM_STATE_RESERVED_REMOTE: 4,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: 5,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: 6,\n NGHTTP2_STREAM_STATE_CLOSED: 7,\n NGHTTP2_FLAG_NONE: 0,\n NGHTTP2_FLAG_END_STREAM: 1,\n NGHTTP2_FLAG_END_HEADERS: 4,\n NGHTTP2_FLAG_ACK: 1,\n NGHTTP2_FLAG_PADDED: 8,\n NGHTTP2_FLAG_PRIORITY: 32,\n DEFAULT_SETTINGS_HEADER_TABLE_SIZE: 4096,\n DEFAULT_SETTINGS_ENABLE_PUSH: 1,\n DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS: 4294967295,\n DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: 65535,\n DEFAULT_SETTINGS_MAX_FRAME_SIZE: 16384,\n DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE: 65535,\n DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL: 0,\n MAX_MAX_FRAME_SIZE: 16777215,\n MIN_MAX_FRAME_SIZE: 16384,\n MAX_INITIAL_WINDOW_SIZE: 2147483647,\n NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: 1,\n NGHTTP2_SETTINGS_ENABLE_PUSH: 2,\n NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: 3,\n NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: 4,\n NGHTTP2_SETTINGS_MAX_FRAME_SIZE: 5,\n NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: 6,\n NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL: 8,\n PADDING_STRATEGY_NONE: 0,\n PADDING_STRATEGY_ALIGNED: 1,\n PADDING_STRATEGY_MAX: 2,\n PADDING_STRATEGY_CALLBACK: 1,\n NGHTTP2_NO_ERROR: 0,\n NGHTTP2_PROTOCOL_ERROR: 1,\n NGHTTP2_INTERNAL_ERROR: 2,\n NGHTTP2_FLOW_CONTROL_ERROR: 3,\n NGHTTP2_SETTINGS_TIMEOUT: 4,\n NGHTTP2_STREAM_CLOSED: 5,\n NGHTTP2_FRAME_SIZE_ERROR: 6,\n NGHTTP2_REFUSED_STREAM: 7,\n NGHTTP2_CANCEL: 8,\n NGHTTP2_COMPRESSION_ERROR: 9,\n NGHTTP2_CONNECT_ERROR: 10,\n NGHTTP2_ENHANCE_YOUR_CALM: 11,\n NGHTTP2_INADEQUATE_SECURITY: 12,\n NGHTTP2_HTTP_1_1_REQUIRED: 13,\n NGHTTP2_DEFAULT_WEIGHT: 16,\n HTTP2_HEADER_STATUS: \":status\",\n HTTP2_HEADER_METHOD: \":method\",\n HTTP2_HEADER_AUTHORITY: \":authority\",\n HTTP2_HEADER_SCHEME: \":scheme\",\n HTTP2_HEADER_PATH: \":path\",\n HTTP2_HEADER_PROTOCOL: \":protocol\",\n HTTP2_HEADER_ACCEPT_ENCODING: \"accept-encoding\",\n HTTP2_HEADER_ACCEPT_LANGUAGE: \"accept-language\",\n HTTP2_HEADER_ACCEPT_RANGES: \"accept-ranges\",\n HTTP2_HEADER_ACCEPT: \"accept\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: \"access-control-allow-credentials\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: \"access-control-allow-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: \"access-control-allow-methods\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: \"access-control-allow-origin\",\n HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: \"access-control-expose-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: \"access-control-request-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: \"access-control-request-method\",\n HTTP2_HEADER_AGE: \"age\",\n HTTP2_HEADER_AUTHORIZATION: \"authorization\",\n HTTP2_HEADER_CACHE_CONTROL: \"cache-control\",\n HTTP2_HEADER_CONNECTION: \"connection\",\n HTTP2_HEADER_CONTENT_DISPOSITION: \"content-disposition\",\n HTTP2_HEADER_CONTENT_ENCODING: \"content-encoding\",\n HTTP2_HEADER_CONTENT_LENGTH: \"content-length\",\n HTTP2_HEADER_CONTENT_TYPE: \"content-type\",\n HTTP2_HEADER_COOKIE: \"cookie\",\n HTTP2_HEADER_DATE: \"date\",\n HTTP2_HEADER_ETAG: \"etag\",\n HTTP2_HEADER_FORWARDED: \"forwarded\",\n HTTP2_HEADER_HOST: \"host\",\n HTTP2_HEADER_IF_MODIFIED_SINCE: \"if-modified-since\",\n HTTP2_HEADER_IF_NONE_MATCH: \"if-none-match\",\n HTTP2_HEADER_IF_RANGE: \"if-range\",\n HTTP2_HEADER_LAST_MODIFIED: \"last-modified\",\n HTTP2_HEADER_LINK: \"link\",\n HTTP2_HEADER_LOCATION: \"location\",\n HTTP2_HEADER_RANGE: \"range\",\n HTTP2_HEADER_REFERER: \"referer\",\n HTTP2_HEADER_SERVER: \"server\",\n HTTP2_HEADER_SET_COOKIE: \"set-cookie\",\n HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: \"strict-transport-security\",\n HTTP2_HEADER_TRANSFER_ENCODING: \"transfer-encoding\",\n HTTP2_HEADER_TE: \"te\",\n HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS: \"upgrade-insecure-requests\",\n HTTP2_HEADER_UPGRADE: \"upgrade\",\n HTTP2_HEADER_USER_AGENT: \"user-agent\",\n HTTP2_HEADER_VARY: \"vary\",\n HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS: \"x-content-type-options\",\n HTTP2_HEADER_X_FRAME_OPTIONS: \"x-frame-options\",\n HTTP2_HEADER_KEEP_ALIVE: \"keep-alive\",\n HTTP2_HEADER_PROXY_CONNECTION: \"proxy-connection\",\n HTTP2_HEADER_X_XSS_PROTECTION: \"x-xss-protection\",\n HTTP2_HEADER_ALT_SVC: \"alt-svc\",\n HTTP2_HEADER_CONTENT_SECURITY_POLICY: \"content-security-policy\",\n HTTP2_HEADER_EARLY_DATA: \"early-data\",\n HTTP2_HEADER_EXPECT_CT: \"expect-ct\",\n HTTP2_HEADER_ORIGIN: \"origin\",\n HTTP2_HEADER_PURPOSE: \"purpose\",\n HTTP2_HEADER_TIMING_ALLOW_ORIGIN: \"timing-allow-origin\",\n HTTP2_HEADER_X_FORWARDED_FOR: \"x-forwarded-for\",\n HTTP2_HEADER_PRIORITY: \"priority\",\n HTTP2_HEADER_ACCEPT_CHARSET: \"accept-charset\",\n HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE: \"access-control-max-age\",\n HTTP2_HEADER_ALLOW: \"allow\",\n HTTP2_HEADER_CONTENT_LANGUAGE: \"content-language\",\n HTTP2_HEADER_CONTENT_LOCATION: \"content-location\",\n HTTP2_HEADER_CONTENT_MD5: \"content-md5\",\n HTTP2_HEADER_CONTENT_RANGE: \"content-range\",\n HTTP2_HEADER_DNT: \"dnt\",\n HTTP2_HEADER_EXPECT: \"expect\",\n HTTP2_HEADER_EXPIRES: \"expires\",\n HTTP2_HEADER_FROM: \"from\",\n HTTP2_HEADER_IF_MATCH: \"if-match\",\n HTTP2_HEADER_IF_UNMODIFIED_SINCE: \"if-unmodified-since\",\n HTTP2_HEADER_MAX_FORWARDS: \"max-forwards\",\n HTTP2_HEADER_PREFER: \"prefer\",\n HTTP2_HEADER_PROXY_AUTHENTICATE: \"proxy-authenticate\",\n HTTP2_HEADER_PROXY_AUTHORIZATION: \"proxy-authorization\",\n HTTP2_HEADER_REFRESH: \"refresh\",\n HTTP2_HEADER_RETRY_AFTER: \"retry-after\",\n HTTP2_HEADER_TRAILER: \"trailer\",\n HTTP2_HEADER_TK: \"tk\",\n HTTP2_HEADER_VIA: \"via\",\n HTTP2_HEADER_WARNING: \"warning\",\n HTTP2_HEADER_WWW_AUTHENTICATE: \"www-authenticate\",\n HTTP2_HEADER_HTTP2_SETTINGS: \"http2-settings\",\n HTTP2_METHOD_ACL: \"ACL\",\n HTTP2_METHOD_BASELINE_CONTROL: \"BASELINE-CONTROL\",\n HTTP2_METHOD_BIND: \"BIND\",\n HTTP2_METHOD_CHECKIN: \"CHECKIN\",\n HTTP2_METHOD_CHECKOUT: \"CHECKOUT\",\n HTTP2_METHOD_CONNECT: \"CONNECT\",\n HTTP2_METHOD_COPY: \"COPY\",\n HTTP2_METHOD_DELETE: \"DELETE\",\n HTTP2_METHOD_GET: \"GET\",\n HTTP2_METHOD_HEAD: \"HEAD\",\n HTTP2_METHOD_LABEL: \"LABEL\",\n HTTP2_METHOD_LINK: \"LINK\",\n HTTP2_METHOD_LOCK: \"LOCK\",\n HTTP2_METHOD_MERGE: \"MERGE\",\n HTTP2_METHOD_MKACTIVITY: \"MKACTIVITY\",\n HTTP2_METHOD_MKCALENDAR: \"MKCALENDAR\",\n HTTP2_METHOD_MKCOL: \"MKCOL\",\n HTTP2_METHOD_MKREDIRECTREF: \"MKREDIRECTREF\",\n HTTP2_METHOD_MKWORKSPACE: \"MKWORKSPACE\",\n HTTP2_METHOD_MOVE: \"MOVE\",\n HTTP2_METHOD_OPTIONS: \"OPTIONS\",\n HTTP2_METHOD_ORDERPATCH: \"ORDERPATCH\",\n HTTP2_METHOD_PATCH: \"PATCH\",\n HTTP2_METHOD_POST: \"POST\",\n HTTP2_METHOD_PRI: \"PRI\",\n HTTP2_METHOD_PROPFIND: \"PROPFIND\",\n HTTP2_METHOD_PROPPATCH: \"PROPPATCH\",\n HTTP2_METHOD_PUT: \"PUT\",\n HTTP2_METHOD_REBIND: \"REBIND\",\n HTTP2_METHOD_REPORT: \"REPORT\",\n HTTP2_METHOD_SEARCH: \"SEARCH\",\n HTTP2_METHOD_TRACE: \"TRACE\",\n HTTP2_METHOD_UNBIND: \"UNBIND\",\n HTTP2_METHOD_UNCHECKOUT: \"UNCHECKOUT\",\n HTTP2_METHOD_UNLINK: \"UNLINK\",\n HTTP2_METHOD_UNLOCK: \"UNLOCK\",\n HTTP2_METHOD_UPDATE: \"UPDATE\",\n HTTP2_METHOD_UPDATEREDIRECTREF: \"UPDATEREDIRECTREF\",\n HTTP2_METHOD_VERSION_CONTROL: \"VERSION-CONTROL\",\n HTTP_STATUS_CONTINUE: 100,\n HTTP_STATUS_SWITCHING_PROTOCOLS: 101,\n HTTP_STATUS_PROCESSING: 102,\n HTTP_STATUS_EARLY_HINTS: 103,\n HTTP_STATUS_OK: 200,\n HTTP_STATUS_CREATED: 201,\n HTTP_STATUS_ACCEPTED: 202,\n HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: 203,\n HTTP_STATUS_NO_CONTENT: 204,\n HTTP_STATUS_RESET_CONTENT: 205,\n HTTP_STATUS_PARTIAL_CONTENT: 206,\n HTTP_STATUS_MULTI_STATUS: 207,\n HTTP_STATUS_ALREADY_REPORTED: 208,\n HTTP_STATUS_IM_USED: 226,\n HTTP_STATUS_MULTIPLE_CHOICES: 300,\n HTTP_STATUS_MOVED_PERMANENTLY: 301,\n HTTP_STATUS_FOUND: 302,\n HTTP_STATUS_SEE_OTHER: 303,\n HTTP_STATUS_NOT_MODIFIED: 304,\n HTTP_STATUS_USE_PROXY: 305,\n HTTP_STATUS_TEMPORARY_REDIRECT: 307,\n HTTP_STATUS_PERMANENT_REDIRECT: 308,\n HTTP_STATUS_BAD_REQUEST: 400,\n HTTP_STATUS_UNAUTHORIZED: 401,\n HTTP_STATUS_PAYMENT_REQUIRED: 402,\n HTTP_STATUS_FORBIDDEN: 403,\n HTTP_STATUS_NOT_FOUND: 404,\n HTTP_STATUS_METHOD_NOT_ALLOWED: 405,\n HTTP_STATUS_NOT_ACCEPTABLE: 406,\n HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407,\n HTTP_STATUS_REQUEST_TIMEOUT: 408,\n HTTP_STATUS_CONFLICT: 409,\n HTTP_STATUS_GONE: 410,\n HTTP_STATUS_LENGTH_REQUIRED: 411,\n HTTP_STATUS_PRECONDITION_FAILED: 412,\n HTTP_STATUS_PAYLOAD_TOO_LARGE: 413,\n HTTP_STATUS_URI_TOO_LONG: 414,\n HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,\n HTTP_STATUS_RANGE_NOT_SATISFIABLE: 416,\n HTTP_STATUS_EXPECTATION_FAILED: 417,\n HTTP_STATUS_TEAPOT: 418,\n HTTP_STATUS_MISDIRECTED_REQUEST: 421,\n HTTP_STATUS_UNPROCESSABLE_ENTITY: 422,\n HTTP_STATUS_LOCKED: 423,\n HTTP_STATUS_FAILED_DEPENDENCY: 424,\n HTTP_STATUS_TOO_EARLY: 425,\n HTTP_STATUS_UPGRADE_REQUIRED: 426,\n HTTP_STATUS_PRECONDITION_REQUIRED: 428,\n HTTP_STATUS_TOO_MANY_REQUESTS: 429,\n HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 431,\n HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 451,\n HTTP_STATUS_INTERNAL_SERVER_ERROR: 500,\n HTTP_STATUS_NOT_IMPLEMENTED: 501,\n HTTP_STATUS_BAD_GATEWAY: 502,\n HTTP_STATUS_SERVICE_UNAVAILABLE: 503,\n HTTP_STATUS_GATEWAY_TIMEOUT: 504,\n HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505,\n HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: 506,\n HTTP_STATUS_INSUFFICIENT_STORAGE: 507,\n HTTP_STATUS_LOOP_DETECTED: 508,\n HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: 509,\n HTTP_STATUS_NOT_EXTENDED: 510,\n HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: 511\n}, sensitiveHeaders = Symbol.for(\"nodejs.http2.sensitiveHeaders\");\nHttp2ServerRequest.prototype = {};\nHttp2ServerResponse.prototype = {};\n$ = {\n constants,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings,\n sensitiveHeaders,\n Http2ServerRequest,\n Http2ServerResponse,\n connect\n};\nhideFromStack([\n Http2ServerRequest,\n Http2ServerResponse,\n connect,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings\n]);\nreturn $})\n"); +static constexpr ASCIILiteral NodeHttp2Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/http2.ts\nvar connect = function() {\n throwNotImplemented(\"node:http2 connect\", 887);\n}, createServer = function() {\n throwNotImplemented(\"node:http2 createServer\", 887);\n}, createSecureServer = function() {\n throwNotImplemented(\"node:http2 createSecureServer\", 887);\n}, getDefaultSettings = function() {\n return {\n headerTableSize: 4096,\n enablePush: !0,\n initialWindowSize: 65535,\n maxFrameSize: 16384,\n maxConcurrentStreams: 4294967295,\n maxHeaderSize: 65535,\n maxHeaderListSize: 65535,\n enableConnectProtocol: !1\n };\n}, getPackedSettings = function() {\n return @Buffer.alloc(0);\n}, getUnpackedSettings = function() {\n return @Buffer.alloc(0);\n}, Http2ServerRequest = function() {\n throwNotImplemented(\"node:http2 Http2ServerRequest\", 887);\n}, Http2ServerResponse = function() {\n throwNotImplemented(\"node:http2 Http2ServerResponse\", 887);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NGHTTP2_ERR_FRAME_SIZE_ERROR: -522,\n NGHTTP2_SESSION_SERVER: 0,\n NGHTTP2_SESSION_CLIENT: 1,\n NGHTTP2_STREAM_STATE_IDLE: 1,\n NGHTTP2_STREAM_STATE_OPEN: 2,\n NGHTTP2_STREAM_STATE_RESERVED_LOCAL: 3,\n NGHTTP2_STREAM_STATE_RESERVED_REMOTE: 4,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: 5,\n NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: 6,\n NGHTTP2_STREAM_STATE_CLOSED: 7,\n NGHTTP2_FLAG_NONE: 0,\n NGHTTP2_FLAG_END_STREAM: 1,\n NGHTTP2_FLAG_END_HEADERS: 4,\n NGHTTP2_FLAG_ACK: 1,\n NGHTTP2_FLAG_PADDED: 8,\n NGHTTP2_FLAG_PRIORITY: 32,\n DEFAULT_SETTINGS_HEADER_TABLE_SIZE: 4096,\n DEFAULT_SETTINGS_ENABLE_PUSH: 1,\n DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS: 4294967295,\n DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: 65535,\n DEFAULT_SETTINGS_MAX_FRAME_SIZE: 16384,\n DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE: 65535,\n DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL: 0,\n MAX_MAX_FRAME_SIZE: 16777215,\n MIN_MAX_FRAME_SIZE: 16384,\n MAX_INITIAL_WINDOW_SIZE: 2147483647,\n NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: 1,\n NGHTTP2_SETTINGS_ENABLE_PUSH: 2,\n NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: 3,\n NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: 4,\n NGHTTP2_SETTINGS_MAX_FRAME_SIZE: 5,\n NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: 6,\n NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL: 8,\n PADDING_STRATEGY_NONE: 0,\n PADDING_STRATEGY_ALIGNED: 1,\n PADDING_STRATEGY_MAX: 2,\n PADDING_STRATEGY_CALLBACK: 1,\n NGHTTP2_NO_ERROR: 0,\n NGHTTP2_PROTOCOL_ERROR: 1,\n NGHTTP2_INTERNAL_ERROR: 2,\n NGHTTP2_FLOW_CONTROL_ERROR: 3,\n NGHTTP2_SETTINGS_TIMEOUT: 4,\n NGHTTP2_STREAM_CLOSED: 5,\n NGHTTP2_FRAME_SIZE_ERROR: 6,\n NGHTTP2_REFUSED_STREAM: 7,\n NGHTTP2_CANCEL: 8,\n NGHTTP2_COMPRESSION_ERROR: 9,\n NGHTTP2_CONNECT_ERROR: 10,\n NGHTTP2_ENHANCE_YOUR_CALM: 11,\n NGHTTP2_INADEQUATE_SECURITY: 12,\n NGHTTP2_HTTP_1_1_REQUIRED: 13,\n NGHTTP2_DEFAULT_WEIGHT: 16,\n HTTP2_HEADER_STATUS: \":status\",\n HTTP2_HEADER_METHOD: \":method\",\n HTTP2_HEADER_AUTHORITY: \":authority\",\n HTTP2_HEADER_SCHEME: \":scheme\",\n HTTP2_HEADER_PATH: \":path\",\n HTTP2_HEADER_PROTOCOL: \":protocol\",\n HTTP2_HEADER_ACCEPT_ENCODING: \"accept-encoding\",\n HTTP2_HEADER_ACCEPT_LANGUAGE: \"accept-language\",\n HTTP2_HEADER_ACCEPT_RANGES: \"accept-ranges\",\n HTTP2_HEADER_ACCEPT: \"accept\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: \"access-control-allow-credentials\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: \"access-control-allow-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: \"access-control-allow-methods\",\n HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: \"access-control-allow-origin\",\n HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: \"access-control-expose-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: \"access-control-request-headers\",\n HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: \"access-control-request-method\",\n HTTP2_HEADER_AGE: \"age\",\n HTTP2_HEADER_AUTHORIZATION: \"authorization\",\n HTTP2_HEADER_CACHE_CONTROL: \"cache-control\",\n HTTP2_HEADER_CONNECTION: \"connection\",\n HTTP2_HEADER_CONTENT_DISPOSITION: \"content-disposition\",\n HTTP2_HEADER_CONTENT_ENCODING: \"content-encoding\",\n HTTP2_HEADER_CONTENT_LENGTH: \"content-length\",\n HTTP2_HEADER_CONTENT_TYPE: \"content-type\",\n HTTP2_HEADER_COOKIE: \"cookie\",\n HTTP2_HEADER_DATE: \"date\",\n HTTP2_HEADER_ETAG: \"etag\",\n HTTP2_HEADER_FORWARDED: \"forwarded\",\n HTTP2_HEADER_HOST: \"host\",\n HTTP2_HEADER_IF_MODIFIED_SINCE: \"if-modified-since\",\n HTTP2_HEADER_IF_NONE_MATCH: \"if-none-match\",\n HTTP2_HEADER_IF_RANGE: \"if-range\",\n HTTP2_HEADER_LAST_MODIFIED: \"last-modified\",\n HTTP2_HEADER_LINK: \"link\",\n HTTP2_HEADER_LOCATION: \"location\",\n HTTP2_HEADER_RANGE: \"range\",\n HTTP2_HEADER_REFERER: \"referer\",\n HTTP2_HEADER_SERVER: \"server\",\n HTTP2_HEADER_SET_COOKIE: \"set-cookie\",\n HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: \"strict-transport-security\",\n HTTP2_HEADER_TRANSFER_ENCODING: \"transfer-encoding\",\n HTTP2_HEADER_TE: \"te\",\n HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS: \"upgrade-insecure-requests\",\n HTTP2_HEADER_UPGRADE: \"upgrade\",\n HTTP2_HEADER_USER_AGENT: \"user-agent\",\n HTTP2_HEADER_VARY: \"vary\",\n HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS: \"x-content-type-options\",\n HTTP2_HEADER_X_FRAME_OPTIONS: \"x-frame-options\",\n HTTP2_HEADER_KEEP_ALIVE: \"keep-alive\",\n HTTP2_HEADER_PROXY_CONNECTION: \"proxy-connection\",\n HTTP2_HEADER_X_XSS_PROTECTION: \"x-xss-protection\",\n HTTP2_HEADER_ALT_SVC: \"alt-svc\",\n HTTP2_HEADER_CONTENT_SECURITY_POLICY: \"content-security-policy\",\n HTTP2_HEADER_EARLY_DATA: \"early-data\",\n HTTP2_HEADER_EXPECT_CT: \"expect-ct\",\n HTTP2_HEADER_ORIGIN: \"origin\",\n HTTP2_HEADER_PURPOSE: \"purpose\",\n HTTP2_HEADER_TIMING_ALLOW_ORIGIN: \"timing-allow-origin\",\n HTTP2_HEADER_X_FORWARDED_FOR: \"x-forwarded-for\",\n HTTP2_HEADER_PRIORITY: \"priority\",\n HTTP2_HEADER_ACCEPT_CHARSET: \"accept-charset\",\n HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE: \"access-control-max-age\",\n HTTP2_HEADER_ALLOW: \"allow\",\n HTTP2_HEADER_CONTENT_LANGUAGE: \"content-language\",\n HTTP2_HEADER_CONTENT_LOCATION: \"content-location\",\n HTTP2_HEADER_CONTENT_MD5: \"content-md5\",\n HTTP2_HEADER_CONTENT_RANGE: \"content-range\",\n HTTP2_HEADER_DNT: \"dnt\",\n HTTP2_HEADER_EXPECT: \"expect\",\n HTTP2_HEADER_EXPIRES: \"expires\",\n HTTP2_HEADER_FROM: \"from\",\n HTTP2_HEADER_IF_MATCH: \"if-match\",\n HTTP2_HEADER_IF_UNMODIFIED_SINCE: \"if-unmodified-since\",\n HTTP2_HEADER_MAX_FORWARDS: \"max-forwards\",\n HTTP2_HEADER_PREFER: \"prefer\",\n HTTP2_HEADER_PROXY_AUTHENTICATE: \"proxy-authenticate\",\n HTTP2_HEADER_PROXY_AUTHORIZATION: \"proxy-authorization\",\n HTTP2_HEADER_REFRESH: \"refresh\",\n HTTP2_HEADER_RETRY_AFTER: \"retry-after\",\n HTTP2_HEADER_TRAILER: \"trailer\",\n HTTP2_HEADER_TK: \"tk\",\n HTTP2_HEADER_VIA: \"via\",\n HTTP2_HEADER_WARNING: \"warning\",\n HTTP2_HEADER_WWW_AUTHENTICATE: \"www-authenticate\",\n HTTP2_HEADER_HTTP2_SETTINGS: \"http2-settings\",\n HTTP2_METHOD_ACL: \"ACL\",\n HTTP2_METHOD_BASELINE_CONTROL: \"BASELINE-CONTROL\",\n HTTP2_METHOD_BIND: \"BIND\",\n HTTP2_METHOD_CHECKIN: \"CHECKIN\",\n HTTP2_METHOD_CHECKOUT: \"CHECKOUT\",\n HTTP2_METHOD_CONNECT: \"CONNECT\",\n HTTP2_METHOD_COPY: \"COPY\",\n HTTP2_METHOD_DELETE: \"DELETE\",\n HTTP2_METHOD_GET: \"GET\",\n HTTP2_METHOD_HEAD: \"HEAD\",\n HTTP2_METHOD_LABEL: \"LABEL\",\n HTTP2_METHOD_LINK: \"LINK\",\n HTTP2_METHOD_LOCK: \"LOCK\",\n HTTP2_METHOD_MERGE: \"MERGE\",\n HTTP2_METHOD_MKACTIVITY: \"MKACTIVITY\",\n HTTP2_METHOD_MKCALENDAR: \"MKCALENDAR\",\n HTTP2_METHOD_MKCOL: \"MKCOL\",\n HTTP2_METHOD_MKREDIRECTREF: \"MKREDIRECTREF\",\n HTTP2_METHOD_MKWORKSPACE: \"MKWORKSPACE\",\n HTTP2_METHOD_MOVE: \"MOVE\",\n HTTP2_METHOD_OPTIONS: \"OPTIONS\",\n HTTP2_METHOD_ORDERPATCH: \"ORDERPATCH\",\n HTTP2_METHOD_PATCH: \"PATCH\",\n HTTP2_METHOD_POST: \"POST\",\n HTTP2_METHOD_PRI: \"PRI\",\n HTTP2_METHOD_PROPFIND: \"PROPFIND\",\n HTTP2_METHOD_PROPPATCH: \"PROPPATCH\",\n HTTP2_METHOD_PUT: \"PUT\",\n HTTP2_METHOD_REBIND: \"REBIND\",\n HTTP2_METHOD_REPORT: \"REPORT\",\n HTTP2_METHOD_SEARCH: \"SEARCH\",\n HTTP2_METHOD_TRACE: \"TRACE\",\n HTTP2_METHOD_UNBIND: \"UNBIND\",\n HTTP2_METHOD_UNCHECKOUT: \"UNCHECKOUT\",\n HTTP2_METHOD_UNLINK: \"UNLINK\",\n HTTP2_METHOD_UNLOCK: \"UNLOCK\",\n HTTP2_METHOD_UPDATE: \"UPDATE\",\n HTTP2_METHOD_UPDATEREDIRECTREF: \"UPDATEREDIRECTREF\",\n HTTP2_METHOD_VERSION_CONTROL: \"VERSION-CONTROL\",\n HTTP_STATUS_CONTINUE: 100,\n HTTP_STATUS_SWITCHING_PROTOCOLS: 101,\n HTTP_STATUS_PROCESSING: 102,\n HTTP_STATUS_EARLY_HINTS: 103,\n HTTP_STATUS_OK: 200,\n HTTP_STATUS_CREATED: 201,\n HTTP_STATUS_ACCEPTED: 202,\n HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: 203,\n HTTP_STATUS_NO_CONTENT: 204,\n HTTP_STATUS_RESET_CONTENT: 205,\n HTTP_STATUS_PARTIAL_CONTENT: 206,\n HTTP_STATUS_MULTI_STATUS: 207,\n HTTP_STATUS_ALREADY_REPORTED: 208,\n HTTP_STATUS_IM_USED: 226,\n HTTP_STATUS_MULTIPLE_CHOICES: 300,\n HTTP_STATUS_MOVED_PERMANENTLY: 301,\n HTTP_STATUS_FOUND: 302,\n HTTP_STATUS_SEE_OTHER: 303,\n HTTP_STATUS_NOT_MODIFIED: 304,\n HTTP_STATUS_USE_PROXY: 305,\n HTTP_STATUS_TEMPORARY_REDIRECT: 307,\n HTTP_STATUS_PERMANENT_REDIRECT: 308,\n HTTP_STATUS_BAD_REQUEST: 400,\n HTTP_STATUS_UNAUTHORIZED: 401,\n HTTP_STATUS_PAYMENT_REQUIRED: 402,\n HTTP_STATUS_FORBIDDEN: 403,\n HTTP_STATUS_NOT_FOUND: 404,\n HTTP_STATUS_METHOD_NOT_ALLOWED: 405,\n HTTP_STATUS_NOT_ACCEPTABLE: 406,\n HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407,\n HTTP_STATUS_REQUEST_TIMEOUT: 408,\n HTTP_STATUS_CONFLICT: 409,\n HTTP_STATUS_GONE: 410,\n HTTP_STATUS_LENGTH_REQUIRED: 411,\n HTTP_STATUS_PRECONDITION_FAILED: 412,\n HTTP_STATUS_PAYLOAD_TOO_LARGE: 413,\n HTTP_STATUS_URI_TOO_LONG: 414,\n HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,\n HTTP_STATUS_RANGE_NOT_SATISFIABLE: 416,\n HTTP_STATUS_EXPECTATION_FAILED: 417,\n HTTP_STATUS_TEAPOT: 418,\n HTTP_STATUS_MISDIRECTED_REQUEST: 421,\n HTTP_STATUS_UNPROCESSABLE_ENTITY: 422,\n HTTP_STATUS_LOCKED: 423,\n HTTP_STATUS_FAILED_DEPENDENCY: 424,\n HTTP_STATUS_TOO_EARLY: 425,\n HTTP_STATUS_UPGRADE_REQUIRED: 426,\n HTTP_STATUS_PRECONDITION_REQUIRED: 428,\n HTTP_STATUS_TOO_MANY_REQUESTS: 429,\n HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 431,\n HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 451,\n HTTP_STATUS_INTERNAL_SERVER_ERROR: 500,\n HTTP_STATUS_NOT_IMPLEMENTED: 501,\n HTTP_STATUS_BAD_GATEWAY: 502,\n HTTP_STATUS_SERVICE_UNAVAILABLE: 503,\n HTTP_STATUS_GATEWAY_TIMEOUT: 504,\n HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505,\n HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: 506,\n HTTP_STATUS_INSUFFICIENT_STORAGE: 507,\n HTTP_STATUS_LOOP_DETECTED: 508,\n HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: 509,\n HTTP_STATUS_NOT_EXTENDED: 510,\n HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: 511\n}, sensitiveHeaders = Symbol.for(\"nodejs.http2.sensitiveHeaders\");\nHttp2ServerRequest.prototype = {};\nHttp2ServerResponse.prototype = {};\n$ = {\n constants,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings,\n sensitiveHeaders,\n Http2ServerRequest,\n Http2ServerResponse,\n connect\n};\nhideFromStack([\n Http2ServerRequest,\n Http2ServerResponse,\n connect,\n createServer,\n createSecureServer,\n getDefaultSettings,\n getPackedSettings,\n getUnpackedSettings\n]);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeHttpsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/https.ts\nvar request = function(input, options, cb) {\n if (input && typeof input === \"object\" && !(input instanceof URL))\n input.protocol \?\?= \"https:\";\n else if (typeof options === \"object\")\n options.protocol \?\?= \"https:\";\n return http.request(input, options, cb);\n}, get = function(input, options, cb) {\n const req = request(input, options, cb);\n return req.end(), req;\n}, $, http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23);\n$ = {\n ...http,\n get,\n request\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeHttpsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/https.ts\nvar request = function(input, options, cb) {\n if (input && typeof input === \"object\" && !(input instanceof URL))\n input.protocol \?\?= \"https:\";\n else if (typeof options === \"object\")\n options.protocol \?\?= \"https:\";\n return http.request(input, options, cb);\n}, get = function(input, options, cb) {\n const req = request(input, options, cb);\n return req.end(), req;\n}, $, http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23);\n$ = {\n ...http,\n get,\n request\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeInspectorCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/inspector.ts\nvar open = function() {\n throwNotImplemented(\"node:inspector open\", 2445);\n}, close = function() {\n throwNotImplemented(\"node:inspector close\", 2445);\n}, url = function() {\n throwNotImplemented(\"node:inspector url\", 2445);\n}, waitForDebugger = function() {\n throwNotImplemented(\"node:inspector waitForDebugger\", 2445);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\n\nclass Session extends EventEmitter {\n constructor() {\n super();\n throwNotImplemented(\"node:inspector Session\", 2445);\n }\n}\nvar console = {\n ...globalThis.console,\n context: {\n console: globalThis.console\n }\n};\n$ = {\n console,\n open,\n close,\n url,\n waitForDebugger,\n Session\n};\nhideFromStack(open, close, url, waitForDebugger, Session.prototype.constructor);\nreturn $})\n"); +static constexpr ASCIILiteral NodeInspectorCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/inspector.ts\nvar open = function() {\n throwNotImplemented(\"node:inspector open\", 2445);\n}, close = function() {\n throwNotImplemented(\"node:inspector close\", 2445);\n}, url = function() {\n throwNotImplemented(\"node:inspector url\", 2445);\n}, waitForDebugger = function() {\n throwNotImplemented(\"node:inspector waitForDebugger\", 2445);\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\n\nclass Session extends EventEmitter {\n constructor() {\n super();\n throwNotImplemented(\"node:inspector Session\", 2445);\n }\n}\nvar console = {\n ...globalThis.console,\n context: {\n console: globalThis.console\n }\n};\n$ = {\n console,\n open,\n close,\n url,\n waitForDebugger,\n Session\n};\nhideFromStack(open, close, url, waitForDebugger, Session.prototype.constructor);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeNetCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/net.ts\nvar isIPv4 = function(s) {\n return IPv4Reg.test(s);\n}, isIPv6 = function(s) {\n return IPv6Reg.test(s);\n}, isIP = function(s) {\n if (isIPv4(s))\n return 4;\n if (isIPv6(s))\n return 6;\n return 0;\n}, closeNT = function(self) {\n self.emit(\"close\");\n}, endNT = function(socket, callback, err) {\n socket.end(), callback(err);\n}, createConnection = function(port, host, connectListener) {\n if (typeof port === \"object\")\n return new Socket(port).connect(port, host, connectListener);\n return new Socket().connect(port, host, connectListener);\n}, emitErrorNextTick = function(self, error) {\n self.emit(\"error\", error);\n}, emitErrorAndCloseNextTick = function(self, error) {\n self.emit(\"error\", error), self.emit(\"close\");\n}, emitListeningNextTick = function(self, onListen) {\n if (typeof onListen === \"function\")\n try {\n onListen();\n } catch (err) {\n self.emit(\"error\", err);\n }\n self.emit(\"listening\");\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, $, { Duplex } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\nvar IPv4Reg = new @RegExp(\"^((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$\");\nvar IPv6Reg = new @RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\"), { connect: bunConnect } = Bun, { setTimeout } = globalThis, bunTlsSymbol = Symbol.for(\"::buntls::\"), bunSocketServerHandlers = Symbol.for(\"::bunsocket_serverhandlers::\"), bunSocketServerConnections = Symbol.for(\"::bunnetserverconnections::\"), bunSocketServerOptions = Symbol.for(\"::bunnetserveroptions::\"), bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), bunTLSConnectOptions = Symbol.for(\"::buntlsconnectoptions::\"), SocketClass, Socket = function(InternalSocket) {\n SocketClass = InternalSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"Socket\",\n enumerable: !1\n });\n function Socket3(options) {\n return new InternalSocket(options);\n }\n return Socket3.prototype = InternalSocket.prototype, Object.defineProperty(Socket3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalSocket;\n }\n });\n}(class Socket2 extends Duplex {\n static #Handlers = {\n close: Socket2.#Close,\n data({ data: self }, buffer) {\n self.bytesRead += buffer.length;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(buffer))\n return;\n }\n queue.push(buffer);\n },\n drain: Socket2.#Drain,\n end: Socket2.#Close,\n error(socket, error) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback)\n self.#writeCallback = null, callback(error);\n self.emit(\"error\", error);\n },\n open(socket) {\n const self = socket.data;\n socket.timeout(self.timeout), socket.ref(), self[bunSocketInternal] = socket, self.connecting = !1;\n const options = self[bunTLSConnectOptions];\n if (options) {\n const { session } = options;\n if (session)\n self.setSession(session);\n }\n if (!self.#upgraded)\n self.emit(\"connect\", self);\n Socket2.#Drain(socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self.emit(\"secure\", self);\n const { checkServerIdentity } = self[bunTLSConnectOptions];\n if (!verifyError && typeof checkServerIdentity === \"function\" && self.servername) {\n const cert = self.getPeerCertificate(!0);\n verifyError = checkServerIdentity(self.servername, cert);\n }\n if (self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnect\", verifyError);\n },\n timeout(socket) {\n const self = socket.data;\n self.emit(\"timeout\", self);\n },\n binaryType: \"buffer\"\n };\n static #Close(socket) {\n const self = socket.data;\n if (self.#closed)\n return;\n self.#closed = !0, self[bunSocketInternal] = null;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(null))\n return;\n }\n queue.push(null);\n }\n static #Drain(socket) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback) {\n const chunk = self.#writeChunk, written = socket.write(chunk);\n if (self.bytesWritten += written, written < chunk.length)\n self.#writeChunk = chunk.slice(written);\n else\n self.#writeCallback = null, self.#writeChunk = null, callback(null);\n }\n }\n static [bunSocketServerHandlers] = {\n data: Socket2.#Handlers.data,\n close(socket) {\n Socket2.#Handlers.close(socket), this.data[bunSocketServerConnections]--;\n },\n end(socket) {\n Socket2.#Handlers.end(socket), this.data[bunSocketServerConnections]--;\n },\n open(socket) {\n const self = this.data, options = self[bunSocketServerOptions], { pauseOnConnect, connectionListener, InternalSocketClass, requestCert, rejectUnauthorized } = options, _socket = new InternalSocketClass({});\n if (_socket.isServer = !0, _socket._requestCert = requestCert, _socket._rejectUnauthorized = rejectUnauthorized, _socket.#attach(this.localPort, socket), self.maxConnections && self[bunSocketServerConnections] >= self.maxConnections) {\n const data = {\n localAddress: _socket.localAddress,\n localPort: _socket.localPort,\n localFamily: _socket.localFamily,\n remoteAddress: _socket.remoteAddress,\n remotePort: _socket.remotePort,\n remoteFamily: _socket.remoteFamily || \"IPv4\"\n };\n socket.end(), self.emit(\"drop\", data);\n return;\n }\n if (!pauseOnConnect)\n _socket.resume();\n if (self[bunSocketServerConnections]++, typeof connectionListener == \"function\")\n if (InternalSocketClass.name === \"TLSSocket\")\n self.once(\"secureConnection\", () => connectionListener(_socket));\n else\n connectionListener(_socket);\n self.emit(\"connection\", _socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n if (self.emit(\"secure\", self), self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnection\", verifyError);\n },\n error(socket, error) {\n Socket2.#Handlers.error(socket, error), this.data.emit(\"error\", error);\n },\n timeout: Socket2.#Handlers.timeout,\n connectError: Socket2.#Handlers.connectError,\n drain: Socket2.#Handlers.drain,\n binaryType: \"buffer\"\n };\n bytesRead = 0;\n bytesWritten = 0;\n #closed = !1;\n connecting = !1;\n localAddress = \"127.0.0.1\";\n #readQueue = @createFIFO();\n remotePort;\n [bunSocketInternal] = null;\n [bunTLSConnectOptions] = null;\n timeout = 0;\n #writeCallback;\n #writeChunk;\n #pendingRead;\n isServer = !1;\n _handle;\n _parent;\n _parentWrap;\n #socket;\n #upgraded;\n constructor(options) {\n const { socket, signal, write, read, allowHalfOpen = !1, ...opts } = options || {};\n super({\n ...opts,\n allowHalfOpen,\n readable: !0,\n writable: !0\n });\n if (this._handle = this, this._parent = this, this._parentWrap = this, this.#pendingRead = @undefined, this.#upgraded = null, socket instanceof Socket2)\n this.#socket = socket;\n signal\?.once(\"abort\", () => this.destroy()), this.once(\"connect\", () => this.emit(\"ready\"));\n }\n address() {\n return {\n address: this.localAddress,\n family: this.localFamily,\n port: this.localPort\n };\n }\n get bufferSize() {\n return this.writableLength;\n }\n #attach(port, socket) {\n if (this.remotePort = port, socket.data = this, socket.timeout(this.timeout), socket.ref(), this[bunSocketInternal] = socket, this.connecting = !1, !this.#upgraded)\n this.emit(\"connect\", this);\n Socket2.#Drain(socket);\n }\n #closeRawConnection() {\n const connection = this.#upgraded;\n connection[bunSocketInternal] = null, connection.unref(), connection.destroy(), process.nextTick(closeNT, connection);\n }\n connect(port, host, connectListener) {\n var path, connection = this.#socket, _checkServerIdentity = @undefined;\n if (typeof port === \"string\") {\n if (path = port, port = @undefined, typeof host === \"function\")\n connectListener = host, host = @undefined;\n } else if (typeof host == \"function\") {\n if (typeof port === \"string\")\n path = port, port = @undefined;\n connectListener = host, host = @undefined;\n }\n if (typeof port == \"object\") {\n var {\n port,\n host,\n path,\n socket,\n localAddress,\n localPort,\n family,\n hints,\n lookup,\n noDelay,\n keepAlive,\n keepAliveInitialDelay,\n requestCert,\n rejectUnauthorized,\n pauseOnConnect,\n servername,\n checkServerIdentity,\n session\n } = port;\n if (_checkServerIdentity = checkServerIdentity, this.servername = servername, socket)\n connection = socket;\n }\n if (!pauseOnConnect)\n this.resume();\n this.connecting = !0, this.remotePort = port;\n const bunTLS = this[bunTlsSymbol];\n var tls = @undefined;\n if (typeof bunTLS === \"function\") {\n if (tls = bunTLS.@call(this, port, host, !0), this._requestCert = !0, this._rejectUnauthorized = rejectUnauthorized, tls) {\n if (tls.rejectUnauthorized = rejectUnauthorized, tls.requestCert = !0, tls.session = session || tls.session, this.servername = tls.servername, tls.checkServerIdentity = _checkServerIdentity || tls.checkServerIdentity, this[bunTLSConnectOptions] = tls, !connection && tls.socket)\n connection = tls.socket;\n }\n if (connection) {\n if (typeof connection !== \"object\" || !(connection instanceof Socket2) || typeof connection[bunTlsSymbol] === \"function\")\n @throwTypeError(\"socket must be an instance of net.Socket\");\n }\n if (this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, connectListener)\n this.on(\"secureConnect\", connectListener);\n } else if (connectListener)\n this.on(\"connect\", connectListener);\n try {\n if (connection) {\n const socket2 = connection[bunSocketInternal];\n if (socket2) {\n this.connecting = !0, this.#upgraded = connection;\n const result = socket2.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n } else\n connection.once(\"connect\", () => {\n const socket3 = connection[bunSocketInternal];\n if (!socket3)\n return;\n this.connecting = !0, this.#upgraded = connection;\n const result = socket3.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n });\n } else if (path)\n bunConnect({\n data: this,\n unix: path,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n else\n bunConnect({\n data: this,\n hostname: host || \"localhost\",\n port,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n } catch (error) {\n process.nextTick(emitErrorAndCloseNextTick, this, error);\n }\n return this;\n }\n _destroy(err, callback) {\n const socket = this[bunSocketInternal];\n socket && process.nextTick(endNT, socket, callback, err);\n }\n _final(callback) {\n this[bunSocketInternal]\?.end(), callback(), process.nextTick(closeNT, this);\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return this[bunSocketInternal]\?.localPort;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n const queue = this.#readQueue;\n let chunk;\n while (chunk = queue.peek()) {\n const can_continue = !this.push(chunk);\n if (queue.shift(), !can_continue)\n break;\n }\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n this[bunSocketInternal]\?.ref();\n }\n get remoteAddress() {\n return this[bunSocketInternal]\?.remoteAddress;\n }\n get remoteFamily() {\n return \"IPv4\";\n }\n resetAndDestroy() {\n this[bunSocketInternal]\?.end();\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n return this;\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n if (this[bunSocketInternal]\?.timeout(timeout), this.timeout = timeout, callback)\n this.once(\"timeout\", callback);\n return this;\n }\n unref() {\n this[bunSocketInternal]\?.unref();\n }\n _write(chunk, encoding, callback) {\n if (typeof chunk == \"string\" && encoding !== \"ascii\")\n chunk = @Buffer.from(chunk, encoding);\n var written = this[bunSocketInternal]\?.write(chunk);\n if (written == chunk.length)\n callback();\n else if (this.#writeCallback)\n callback(new Error(\"overlapping _write()\"));\n else {\n if (written > 0)\n if (typeof chunk == \"string\")\n chunk = chunk.slice(written);\n else\n chunk = chunk.subarray(written);\n this.#writeCallback = callback, this.#writeChunk = chunk;\n }\n }\n}), connect = createConnection;\n\nclass Server extends EventEmitter {\n #server;\n #listening = !1;\n [bunSocketServerConnections] = 0;\n [bunSocketServerOptions];\n maxConnections = 0;\n constructor(options, connectionListener) {\n super();\n if (typeof options === \"function\")\n connectionListener = options, options = {};\n else if (options == null || typeof options === \"object\")\n options = { ...options };\n else\n throw new Error(\"bun-net-polyfill: invalid arguments\");\n const { maxConnections } = options;\n this.maxConnections = Number.isSafeInteger(maxConnections) && maxConnections > 0 \? maxConnections : 0, options.connectionListener = connectionListener, this[bunSocketServerOptions] = options;\n }\n ref() {\n return this.#server\?.ref(), this;\n }\n unref() {\n return this.#server\?.unref(), this;\n }\n close(callback) {\n if (this.#server) {\n if (this.#server.stop(!0), this.#server = null, this.#listening = !1, this[bunSocketServerConnections] = 0, this.emit(\"close\"), typeof callback === \"function\")\n callback();\n return this;\n }\n if (typeof callback === \"function\") {\n const error = new Error(\"Server is not running\");\n error.code = \"ERR_SERVER_NOT_RUNNING\", callback(error);\n }\n return this;\n }\n address() {\n const server = this.#server;\n if (server) {\n const unix = server.unix;\n if (unix)\n return unix;\n let address = server.hostname;\n const type = isIP(address), port = server.port;\n if (typeof port === \"number\")\n return {\n port,\n address,\n family: type \? `IPv${type}` : @undefined\n };\n if (type)\n return {\n address,\n family: type \? `IPv${type}` : @undefined\n };\n return address;\n }\n return null;\n }\n getConnections(callback) {\n if (typeof callback === \"function\")\n callback(null, this.#server \? this[bunSocketServerConnections] : 0);\n return this;\n }\n listen(port, hostname, onListen) {\n let backlog, path, exclusive = !1;\n if (typeof port === \"string\") {\n if (Number.isSafeInteger(hostname)) {\n if (hostname > 0)\n backlog = hostname;\n } else if (typeof hostname === \"function\")\n onListen = hostname;\n path = port, hostname = @undefined, port = @undefined;\n } else {\n if (typeof hostname === \"function\")\n onListen = hostname, hostname = @undefined;\n if (typeof port === \"function\")\n onListen = port, port = 0;\n else if (typeof port === \"object\") {\n const options = port;\n options.signal\?.addEventListener(\"abort\", () => this.close()), hostname = options.host, exclusive = options.exclusive === !0;\n const path2 = options.path;\n if (port = options.port, !Number.isSafeInteger(port) || port < 0)\n if (path2)\n hostname = path2, port = @undefined;\n else {\n let message = 'The argument \\'options\\' must have the property \"port\" or \"path\"';\n try {\n message = `${message}. Received ${JSON.stringify(options)}`;\n } catch {\n }\n const error = @makeTypeError(message);\n throw error.code = \"ERR_INVALID_ARG_VALUE\", error;\n }\n else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n if (typeof port.callback === \"function\")\n onListen = port\?.callback;\n } else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n hostname = hostname || \"::\";\n }\n try {\n var tls = @undefined, TLSSocketClass = @undefined;\n const bunTLS = this[bunTlsSymbol], options = this[bunSocketServerOptions];\n if (typeof bunTLS === \"function\")\n [tls, TLSSocketClass] = bunTLS.@call(this, port, hostname, !1), options.servername = tls.serverName, options.InternalSocketClass = TLSSocketClass;\n else\n options.InternalSocketClass = SocketClass;\n this.#server = Bun.listen(path \? {\n exclusive,\n unix: path,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n } : {\n exclusive,\n port,\n hostname,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n }), this.#server.data = this, this.#listening = !0, setTimeout(emitListeningNextTick, 1, this, onListen);\n } catch (err) {\n this.#listening = !1, setTimeout(emitErrorNextTick, 1, this, err);\n }\n return this;\n }\n}\n$ = {\n createServer,\n Server,\n createConnection,\n connect,\n isIP,\n isIPv4,\n isIPv6,\n Socket,\n [Symbol.for(\"::bunternal::\")]: SocketClass\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeNetCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/net.ts\nvar isIPv4 = function(s) {\n return IPv4Reg.test(s);\n}, isIPv6 = function(s) {\n return IPv6Reg.test(s);\n}, isIP = function(s) {\n if (isIPv4(s))\n return 4;\n if (isIPv6(s))\n return 6;\n return 0;\n}, closeNT = function(self) {\n self.emit(\"close\");\n}, endNT = function(socket, callback, err) {\n socket.end(), callback(err);\n}, createConnection = function(port, host, connectListener) {\n if (typeof port === \"object\")\n return new Socket(port).connect(port, host, connectListener);\n return new Socket().connect(port, host, connectListener);\n}, emitErrorNextTick = function(self, error) {\n self.emit(\"error\", error);\n}, emitErrorAndCloseNextTick = function(self, error) {\n self.emit(\"error\", error), self.emit(\"close\");\n}, emitListeningNextTick = function(self, onListen) {\n if (typeof onListen === \"function\")\n try {\n onListen();\n } catch (err) {\n self.emit(\"error\", err);\n }\n self.emit(\"listening\");\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, $, { Duplex } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20);\nvar IPv4Reg = new @RegExp(\"^((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$\");\nvar IPv6Reg = new @RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\"), { connect: bunConnect } = Bun, { setTimeout } = globalThis, bunTlsSymbol = Symbol.for(\"::buntls::\"), bunSocketServerHandlers = Symbol.for(\"::bunsocket_serverhandlers::\"), bunSocketServerConnections = Symbol.for(\"::bunnetserverconnections::\"), bunSocketServerOptions = Symbol.for(\"::bunnetserveroptions::\"), bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), bunTLSConnectOptions = Symbol.for(\"::buntlsconnectoptions::\"), SocketClass, Socket = function(InternalSocket) {\n SocketClass = InternalSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"Socket\",\n enumerable: !1\n });\n function Socket3(options) {\n return new InternalSocket(options);\n }\n return Socket3.prototype = InternalSocket.prototype, Object.defineProperty(Socket3, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalSocket;\n }\n });\n}(class Socket2 extends Duplex {\n static #Handlers = {\n close: Socket2.#Close,\n data({ data: self }, buffer) {\n self.bytesRead += buffer.length;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(buffer))\n return;\n }\n queue.push(buffer);\n },\n drain: Socket2.#Drain,\n end: Socket2.#Close,\n error(socket, error) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback)\n self.#writeCallback = null, callback(error);\n self.emit(\"error\", error);\n },\n open(socket) {\n const self = socket.data;\n socket.timeout(self.timeout), socket.ref(), self[bunSocketInternal] = socket, self.connecting = !1;\n const options = self[bunTLSConnectOptions];\n if (options) {\n const { session } = options;\n if (session)\n self.setSession(session);\n }\n if (!self.#upgraded)\n self.emit(\"connect\", self);\n Socket2.#Drain(socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self.emit(\"secure\", self);\n const { checkServerIdentity } = self[bunTLSConnectOptions];\n if (!verifyError && typeof checkServerIdentity === \"function\" && self.servername) {\n const cert = self.getPeerCertificate(!0);\n verifyError = checkServerIdentity(self.servername, cert);\n }\n if (self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnect\", verifyError);\n },\n timeout(socket) {\n const self = socket.data;\n self.emit(\"timeout\", self);\n },\n binaryType: \"buffer\"\n };\n static #Close(socket) {\n const self = socket.data;\n if (self.#closed)\n return;\n self.#closed = !0, self[bunSocketInternal] = null;\n const queue = self.#readQueue;\n if (queue.isEmpty()) {\n if (self.push(null))\n return;\n }\n queue.push(null);\n }\n static #Drain(socket) {\n const self = socket.data, callback = self.#writeCallback;\n if (callback) {\n const chunk = self.#writeChunk, written = socket.write(chunk);\n if (self.bytesWritten += written, written < chunk.length)\n self.#writeChunk = chunk.slice(written);\n else\n self.#writeCallback = null, self.#writeChunk = null, callback(null);\n }\n }\n static [bunSocketServerHandlers] = {\n data: Socket2.#Handlers.data,\n close(socket) {\n Socket2.#Handlers.close(socket), this.data[bunSocketServerConnections]--;\n },\n end(socket) {\n Socket2.#Handlers.end(socket), this.data[bunSocketServerConnections]--;\n },\n open(socket) {\n const self = this.data, options = self[bunSocketServerOptions], { pauseOnConnect, connectionListener, InternalSocketClass, requestCert, rejectUnauthorized } = options, _socket = new InternalSocketClass({});\n if (_socket.isServer = !0, _socket._requestCert = requestCert, _socket._rejectUnauthorized = rejectUnauthorized, _socket.#attach(this.localPort, socket), self.maxConnections && self[bunSocketServerConnections] >= self.maxConnections) {\n const data = {\n localAddress: _socket.localAddress,\n localPort: _socket.localPort,\n localFamily: _socket.localFamily,\n remoteAddress: _socket.remoteAddress,\n remotePort: _socket.remotePort,\n remoteFamily: _socket.remoteFamily || \"IPv4\"\n };\n socket.end(), self.emit(\"drop\", data);\n return;\n }\n if (!pauseOnConnect)\n _socket.resume();\n if (self[bunSocketServerConnections]++, typeof connectionListener == \"function\")\n if (InternalSocketClass.name === \"TLSSocket\")\n self.once(\"secureConnection\", () => connectionListener(_socket));\n else\n connectionListener(_socket);\n self.emit(\"connection\", _socket);\n },\n handshake(socket, success, verifyError) {\n const { data: self } = socket;\n if (self.emit(\"secure\", self), self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) {\n if (verifyError) {\n if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {\n self.destroy(verifyError);\n return;\n }\n }\n } else\n self.authorized = !0;\n self.emit(\"secureConnection\", verifyError);\n },\n error(socket, error) {\n Socket2.#Handlers.error(socket, error), this.data.emit(\"error\", error);\n },\n timeout: Socket2.#Handlers.timeout,\n connectError: Socket2.#Handlers.connectError,\n drain: Socket2.#Handlers.drain,\n binaryType: \"buffer\"\n };\n bytesRead = 0;\n bytesWritten = 0;\n #closed = !1;\n connecting = !1;\n localAddress = \"127.0.0.1\";\n #readQueue = @createFIFO();\n remotePort;\n [bunSocketInternal] = null;\n [bunTLSConnectOptions] = null;\n timeout = 0;\n #writeCallback;\n #writeChunk;\n #pendingRead;\n isServer = !1;\n _handle;\n _parent;\n _parentWrap;\n #socket;\n #upgraded;\n constructor(options) {\n const { socket, signal, write, read, allowHalfOpen = !1, ...opts } = options || {};\n super({\n ...opts,\n allowHalfOpen,\n readable: !0,\n writable: !0\n });\n if (this._handle = this, this._parent = this, this._parentWrap = this, this.#pendingRead = @undefined, this.#upgraded = null, socket instanceof Socket2)\n this.#socket = socket;\n signal\?.once(\"abort\", () => this.destroy()), this.once(\"connect\", () => this.emit(\"ready\"));\n }\n address() {\n return {\n address: this.localAddress,\n family: this.localFamily,\n port: this.localPort\n };\n }\n get bufferSize() {\n return this.writableLength;\n }\n #attach(port, socket) {\n if (this.remotePort = port, socket.data = this, socket.timeout(this.timeout), socket.ref(), this[bunSocketInternal] = socket, this.connecting = !1, !this.#upgraded)\n this.emit(\"connect\", this);\n Socket2.#Drain(socket);\n }\n #closeRawConnection() {\n const connection = this.#upgraded;\n connection[bunSocketInternal] = null, connection.unref(), connection.destroy(), process.nextTick(closeNT, connection);\n }\n connect(port, host, connectListener) {\n var path, connection = this.#socket, _checkServerIdentity = @undefined;\n if (typeof port === \"string\") {\n if (path = port, port = @undefined, typeof host === \"function\")\n connectListener = host, host = @undefined;\n } else if (typeof host == \"function\") {\n if (typeof port === \"string\")\n path = port, port = @undefined;\n connectListener = host, host = @undefined;\n }\n if (typeof port == \"object\") {\n var {\n port,\n host,\n path,\n socket,\n localAddress,\n localPort,\n family,\n hints,\n lookup,\n noDelay,\n keepAlive,\n keepAliveInitialDelay,\n requestCert,\n rejectUnauthorized,\n pauseOnConnect,\n servername,\n checkServerIdentity,\n session\n } = port;\n if (_checkServerIdentity = checkServerIdentity, this.servername = servername, socket)\n connection = socket;\n }\n if (!pauseOnConnect)\n this.resume();\n this.connecting = !0, this.remotePort = port;\n const bunTLS = this[bunTlsSymbol];\n var tls = @undefined;\n if (typeof bunTLS === \"function\") {\n if (tls = bunTLS.@call(this, port, host, !0), this._requestCert = !0, this._rejectUnauthorized = rejectUnauthorized, tls) {\n if (tls.rejectUnauthorized = rejectUnauthorized, tls.requestCert = !0, tls.session = session || tls.session, this.servername = tls.servername, tls.checkServerIdentity = _checkServerIdentity || tls.checkServerIdentity, this[bunTLSConnectOptions] = tls, !connection && tls.socket)\n connection = tls.socket;\n }\n if (connection) {\n if (typeof connection !== \"object\" || !(connection instanceof Socket2) || typeof connection[bunTlsSymbol] === \"function\")\n @throwTypeError(\"socket must be an instance of net.Socket\");\n }\n if (this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, connectListener)\n this.on(\"secureConnect\", connectListener);\n } else if (connectListener)\n this.on(\"connect\", connectListener);\n try {\n if (connection) {\n const socket2 = connection[bunSocketInternal];\n if (socket2) {\n this.connecting = !0, this.#upgraded = connection;\n const result = socket2.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n } else\n connection.once(\"connect\", () => {\n const socket3 = connection[bunSocketInternal];\n if (!socket3)\n return;\n this.connecting = !0, this.#upgraded = connection;\n const result = socket3.upgradeTLS({\n data: this,\n tls,\n socket: Socket2.#Handlers\n });\n if (result) {\n const [raw, tls2] = result;\n connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), this.once(\"end\", this.#closeRawConnection), raw.connecting = !1, this[bunSocketInternal] = tls2;\n } else\n throw this[bunSocketInternal] = null, new Error(\"Invalid socket\");\n });\n } else if (path)\n bunConnect({\n data: this,\n unix: path,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n else\n bunConnect({\n data: this,\n hostname: host || \"localhost\",\n port,\n socket: Socket2.#Handlers,\n tls\n }).catch((error) => {\n this.emit(\"error\", error), this.emit(\"close\");\n });\n } catch (error) {\n process.nextTick(emitErrorAndCloseNextTick, this, error);\n }\n return this;\n }\n _destroy(err, callback) {\n const socket = this[bunSocketInternal];\n socket && process.nextTick(endNT, socket, callback, err);\n }\n _final(callback) {\n this[bunSocketInternal]\?.end(), callback(), process.nextTick(closeNT, this);\n }\n get localAddress() {\n return \"127.0.0.1\";\n }\n get localFamily() {\n return \"IPv4\";\n }\n get localPort() {\n return this[bunSocketInternal]\?.localPort;\n }\n get pending() {\n return this.connecting;\n }\n _read(size) {\n const queue = this.#readQueue;\n let chunk;\n while (chunk = queue.peek()) {\n const can_continue = !this.push(chunk);\n if (queue.shift(), !can_continue)\n break;\n }\n }\n get readyState() {\n if (this.connecting)\n return \"opening\";\n if (this.readable)\n return this.writable \? \"open\" : \"readOnly\";\n else\n return this.writable \? \"writeOnly\" : \"closed\";\n }\n ref() {\n this[bunSocketInternal]\?.ref();\n }\n get remoteAddress() {\n return this[bunSocketInternal]\?.remoteAddress;\n }\n get remoteFamily() {\n return \"IPv4\";\n }\n resetAndDestroy() {\n this[bunSocketInternal]\?.end();\n }\n setKeepAlive(enable = !1, initialDelay = 0) {\n return this;\n }\n setNoDelay(noDelay = !0) {\n return this;\n }\n setTimeout(timeout, callback) {\n if (this[bunSocketInternal]\?.timeout(timeout), this.timeout = timeout, callback)\n this.once(\"timeout\", callback);\n return this;\n }\n unref() {\n this[bunSocketInternal]\?.unref();\n }\n _write(chunk, encoding, callback) {\n if (typeof chunk == \"string\" && encoding !== \"ascii\")\n chunk = @Buffer.from(chunk, encoding);\n var written = this[bunSocketInternal]\?.write(chunk);\n if (written == chunk.length)\n callback();\n else if (this.#writeCallback)\n callback(new Error(\"overlapping _write()\"));\n else {\n if (written > 0)\n if (typeof chunk == \"string\")\n chunk = chunk.slice(written);\n else\n chunk = chunk.subarray(written);\n this.#writeCallback = callback, this.#writeChunk = chunk;\n }\n }\n}), connect = createConnection;\n\nclass Server extends EventEmitter {\n #server;\n #listening = !1;\n [bunSocketServerConnections] = 0;\n [bunSocketServerOptions];\n maxConnections = 0;\n constructor(options, connectionListener) {\n super();\n if (typeof options === \"function\")\n connectionListener = options, options = {};\n else if (options == null || typeof options === \"object\")\n options = { ...options };\n else\n throw new Error(\"bun-net-polyfill: invalid arguments\");\n const { maxConnections } = options;\n this.maxConnections = Number.isSafeInteger(maxConnections) && maxConnections > 0 \? maxConnections : 0, options.connectionListener = connectionListener, this[bunSocketServerOptions] = options;\n }\n ref() {\n return this.#server\?.ref(), this;\n }\n unref() {\n return this.#server\?.unref(), this;\n }\n close(callback) {\n if (this.#server) {\n if (this.#server.stop(!0), this.#server = null, this.#listening = !1, this[bunSocketServerConnections] = 0, this.emit(\"close\"), typeof callback === \"function\")\n callback();\n return this;\n }\n if (typeof callback === \"function\") {\n const error = new Error(\"Server is not running\");\n error.code = \"ERR_SERVER_NOT_RUNNING\", callback(error);\n }\n return this;\n }\n address() {\n const server = this.#server;\n if (server) {\n const unix = server.unix;\n if (unix)\n return unix;\n let address = server.hostname;\n const type = isIP(address), port = server.port;\n if (typeof port === \"number\")\n return {\n port,\n address,\n family: type \? `IPv${type}` : @undefined\n };\n if (type)\n return {\n address,\n family: type \? `IPv${type}` : @undefined\n };\n return address;\n }\n return null;\n }\n getConnections(callback) {\n if (typeof callback === \"function\")\n callback(null, this.#server \? this[bunSocketServerConnections] : 0);\n return this;\n }\n listen(port, hostname, onListen) {\n let backlog, path, exclusive = !1;\n if (typeof port === \"string\") {\n if (Number.isSafeInteger(hostname)) {\n if (hostname > 0)\n backlog = hostname;\n } else if (typeof hostname === \"function\")\n onListen = hostname;\n path = port, hostname = @undefined, port = @undefined;\n } else {\n if (typeof hostname === \"function\")\n onListen = hostname, hostname = @undefined;\n if (typeof port === \"function\")\n onListen = port, port = 0;\n else if (typeof port === \"object\") {\n const options = port;\n options.signal\?.addEventListener(\"abort\", () => this.close()), hostname = options.host, exclusive = options.exclusive === !0;\n const path2 = options.path;\n if (port = options.port, !Number.isSafeInteger(port) || port < 0)\n if (path2)\n hostname = path2, port = @undefined;\n else {\n let message = 'The argument \\'options\\' must have the property \"port\" or \"path\"';\n try {\n message = `${message}. Received ${JSON.stringify(options)}`;\n } catch {\n }\n const error = @makeTypeError(message);\n throw error.code = \"ERR_INVALID_ARG_VALUE\", error;\n }\n else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n if (typeof port.callback === \"function\")\n onListen = port\?.callback;\n } else if (!Number.isSafeInteger(port) || port < 0)\n port = 0;\n hostname = hostname || \"::\";\n }\n try {\n var tls = @undefined, TLSSocketClass = @undefined;\n const bunTLS = this[bunTlsSymbol], options = this[bunSocketServerOptions];\n if (typeof bunTLS === \"function\")\n [tls, TLSSocketClass] = bunTLS.@call(this, port, hostname, !1), options.servername = tls.serverName, options.InternalSocketClass = TLSSocketClass;\n else\n options.InternalSocketClass = SocketClass;\n this.#server = Bun.listen(path \? {\n exclusive,\n unix: path,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n } : {\n exclusive,\n port,\n hostname,\n tls,\n socket: SocketClass[bunSocketServerHandlers]\n }), this.#server.data = this, this.#listening = !0, setTimeout(emitListeningNextTick, 1, this, onListen);\n } catch (err) {\n this.#listening = !1, setTimeout(emitErrorNextTick, 1, this, err);\n }\n return this;\n }\n}\n$ = {\n createServer,\n Server,\n createConnection,\n connect,\n isIP,\n isIPv4,\n isIPv6,\n Socket,\n [Symbol.for(\"::bunternal::\")]: SocketClass\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeOSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/os.ts\nvar lazyCpus = function({ cpus }) {\n return () => {\n const array = new @Array(navigator.hardwareConcurrency);\n function populate() {\n const results = cpus(), length = results.length;\n array.length = length;\n for (let i = 0;i < length; i++)\n array[i] = results[i];\n }\n for (let i = 0;i < array.length; i++) {\n const instance = {\n get model() {\n if (array[i] === instance)\n populate();\n return array[i].model;\n },\n set model(value) {\n if (array[i] === instance)\n populate();\n array[i].model = value;\n },\n get speed() {\n if (array[i] === instance)\n populate();\n return array[i].speed;\n },\n set speed(value) {\n if (array[i] === instance)\n populate();\n array[i].speed = value;\n },\n get times() {\n if (array[i] === instance)\n populate();\n return array[i].times;\n },\n set times(value) {\n if (array[i] === instance)\n populate();\n array[i].times = value;\n },\n toJSON() {\n if (array[i] === instance)\n populate();\n return array[i];\n }\n };\n array[i] = instance;\n }\n return array;\n };\n}, bound = function(obj) {\n return {\n availableParallelism: () => {\n return navigator.hardwareConcurrency;\n },\n arch: obj.arch.bind(obj),\n cpus: lazyCpus(obj),\n endianness: obj.endianness.bind(obj),\n freemem: obj.freemem.bind(obj),\n getPriority: obj.getPriority.bind(obj),\n homedir: obj.homedir.bind(obj),\n hostname: obj.hostname.bind(obj),\n loadavg: obj.loadavg.bind(obj),\n networkInterfaces: obj.networkInterfaces.bind(obj),\n platform: obj.platform.bind(obj),\n release: obj.release.bind(obj),\n setPriority: obj.setPriority.bind(obj),\n get tmpdir() {\n return tmpdir;\n },\n totalmem: obj.totalmem.bind(obj),\n type: obj.type.bind(obj),\n uptime: obj.uptime.bind(obj),\n userInfo: obj.userInfo.bind(obj),\n version: obj.version.bind(obj),\n machine: obj.machine.bind(obj),\n devNull: obj.devNull,\n EOL: obj.EOL,\n constants: @processBindingConstants.os\n };\n}, tmpdir = function() {\n var env = Bun.env;\n return tmpdir = function() {\n var path = env.TMPDIR || env.TMP || env.TEMP || \"/tmp\";\n const length = path.length;\n if (length > 1 && path[length - 1] === \"/\")\n path = path.slice(0, -1);\n return path;\n }, tmpdir();\n};\nreturn bound(Bun._Os())})\n"); +static constexpr ASCIILiteral NodeOSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/os.ts\nvar lazyCpus = function({ cpus }) {\n return () => {\n const array = new @Array(navigator.hardwareConcurrency);\n function populate() {\n const results = cpus(), length = results.length;\n array.length = length;\n for (let i = 0;i < length; i++)\n array[i] = results[i];\n }\n for (let i = 0;i < array.length; i++) {\n const instance = {\n get model() {\n if (array[i] === instance)\n populate();\n return array[i].model;\n },\n set model(value) {\n if (array[i] === instance)\n populate();\n array[i].model = value;\n },\n get speed() {\n if (array[i] === instance)\n populate();\n return array[i].speed;\n },\n set speed(value) {\n if (array[i] === instance)\n populate();\n array[i].speed = value;\n },\n get times() {\n if (array[i] === instance)\n populate();\n return array[i].times;\n },\n set times(value) {\n if (array[i] === instance)\n populate();\n array[i].times = value;\n },\n toJSON() {\n if (array[i] === instance)\n populate();\n return array[i];\n }\n };\n array[i] = instance;\n }\n return array;\n };\n}, bound = function(obj) {\n return {\n availableParallelism: () => {\n return navigator.hardwareConcurrency;\n },\n arch: obj.arch.bind(obj),\n cpus: lazyCpus(obj),\n endianness: obj.endianness.bind(obj),\n freemem: obj.freemem.bind(obj),\n getPriority: obj.getPriority.bind(obj),\n homedir: obj.homedir.bind(obj),\n hostname: obj.hostname.bind(obj),\n loadavg: obj.loadavg.bind(obj),\n networkInterfaces: obj.networkInterfaces.bind(obj),\n platform: obj.platform.bind(obj),\n release: obj.release.bind(obj),\n setPriority: obj.setPriority.bind(obj),\n get tmpdir() {\n return tmpdir;\n },\n totalmem: obj.totalmem.bind(obj),\n type: obj.type.bind(obj),\n uptime: obj.uptime.bind(obj),\n userInfo: obj.userInfo.bind(obj),\n version: obj.version.bind(obj),\n machine: obj.machine.bind(obj),\n devNull: obj.devNull,\n EOL: obj.EOL,\n constants: @processBindingConstants.os\n };\n}, tmpdir = function() {\n var env = Bun.env;\n return tmpdir = function() {\n var path = env.TMPDIR || env.TMP || env.TEMP || \"/tmp\";\n const length = path.length;\n if (length > 1 && path[length - 1] === \"/\")\n path = path.slice(0, -1);\n return path;\n }, tmpdir();\n};\nreturn bound(Bun._Os())})\n"); // // -static constexpr ASCIILiteral NodePathPosixCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/path.posix.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).posix})\n"); +static constexpr ASCIILiteral NodePathPosixCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/path.posix.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).posix})\n"); // // -static constexpr ASCIILiteral NodePathCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/path.ts\nvar bound = function(obj) {\n const toNamespacedPath = obj.toNamespacedPath.bind(obj);\n return {\n resolve: obj.resolve.bind(obj),\n normalize: obj.normalize.bind(obj),\n isAbsolute: obj.isAbsolute.bind(obj),\n join: obj.join.bind(obj),\n relative: obj.relative.bind(obj),\n toNamespacedPath,\n dirname: obj.dirname.bind(obj),\n basename: obj.basename.bind(obj),\n extname: obj.extname.bind(obj),\n format: obj.format.bind(obj),\n parse: obj.parse.bind(obj),\n sep: obj.sep,\n delimiter: obj.delimiter,\n win32: @undefined,\n posix: @undefined,\n _makeLong: toNamespacedPath\n };\n}, posix = bound(Bun._Path(!1)), win32 = bound(Bun._Path(!0));\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\nreturn posix})\n"); +static constexpr ASCIILiteral NodePathCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/path.ts\nvar bound = function(obj) {\n const toNamespacedPath = obj.toNamespacedPath.bind(obj);\n return {\n resolve: obj.resolve.bind(obj),\n normalize: obj.normalize.bind(obj),\n isAbsolute: obj.isAbsolute.bind(obj),\n join: obj.join.bind(obj),\n relative: obj.relative.bind(obj),\n toNamespacedPath,\n dirname: obj.dirname.bind(obj),\n basename: obj.basename.bind(obj),\n extname: obj.extname.bind(obj),\n format: obj.format.bind(obj),\n parse: obj.parse.bind(obj),\n sep: obj.sep,\n delimiter: obj.delimiter,\n win32: @undefined,\n posix: @undefined,\n _makeLong: toNamespacedPath\n };\n}, posix = bound(Bun._Path(!1)), win32 = bound(Bun._Path(!0));\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\nreturn posix})\n"); // // -static constexpr ASCIILiteral NodePathWin32Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/path.win32.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).win32})\n"); +static constexpr ASCIILiteral NodePathWin32Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/path.win32.ts\nreturn (@getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)).win32})\n"); // // -static constexpr ASCIILiteral NodePerfHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/perf_hooks.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NODE_PERFORMANCE_GC_MAJOR: 4,\n NODE_PERFORMANCE_GC_MINOR: 1,\n NODE_PERFORMANCE_GC_INCREMENTAL: 8,\n NODE_PERFORMANCE_GC_WEAKCB: 16,\n NODE_PERFORMANCE_GC_FLAGS_NO: 0,\n NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: 2,\n NODE_PERFORMANCE_GC_FLAGS_FORCED: 4,\n NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: 8,\n NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: 16,\n NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: 32,\n NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: 64\n}, performance = globalThis.performance;\n\nclass PerformanceObserver {\n constructor() {\n throwNotImplemented(\"PerformanceObserver\");\n }\n}\n\nclass PerformanceEntry {\n constructor() {\n throwNotImplemented(\"PerformanceEntry\");\n }\n}\n$ = {\n performance,\n constants,\n PerformanceEntry,\n PerformanceObserver\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodePerfHooksCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/perf_hooks.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), constants = {\n NODE_PERFORMANCE_GC_MAJOR: 4,\n NODE_PERFORMANCE_GC_MINOR: 1,\n NODE_PERFORMANCE_GC_INCREMENTAL: 8,\n NODE_PERFORMANCE_GC_WEAKCB: 16,\n NODE_PERFORMANCE_GC_FLAGS_NO: 0,\n NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: 2,\n NODE_PERFORMANCE_GC_FLAGS_FORCED: 4,\n NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: 8,\n NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: 16,\n NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: 32,\n NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: 64\n}, performance = globalThis.performance;\n\nclass PerformanceObserver {\n constructor() {\n throwNotImplemented(\"PerformanceObserver\");\n }\n}\n\nclass PerformanceEntry {\n constructor() {\n throwNotImplemented(\"PerformanceEntry\");\n }\n}\n$ = {\n performance,\n constants,\n PerformanceEntry,\n PerformanceObserver\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodePunycodeCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/punycode.ts\nvar error = function(type) {\n @throwRangeError(errors[type]);\n}, map = function(array, callback) {\n const result = [];\n let length = array.length;\n while (length--)\n result[length] = callback(array[length]);\n return result;\n}, mapDomain = function(domain, callback) {\n const parts = domain.split(\"@\");\n let result = \"\";\n if (parts.length > 1)\n result = parts[0] + \"@\", domain = parts[1];\n domain = domain.replace(regexSeparators, \".\");\n const labels = domain.split(\".\"), encoded = map(labels, callback).join(\".\");\n return result + encoded;\n}, ucs2decode = function(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 55296 && value <= 56319 && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 64512) == 56320)\n output.push(((value & 1023) << 10) + (extra & 1023) + 65536);\n else\n output.push(value), counter--;\n } else\n output.push(value);\n }\n return output;\n}, $, maxInt = 2147483647, base = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = \"-\", regexPunycode = /^xn--/, regexNonASCII = /[^\\0-\\x7F]/, regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, errors = {\n overflow: \"Overflow: input needs wider integers to process\",\n \"not-basic\": \"Illegal input >= 0x80 (not a basic code point)\",\n \"invalid-input\": \"Invalid input\"\n}, baseMinusTMin = base - tMin, floor = Math.floor, stringFromCharCode = @String.fromCharCode, ucs2encode = (codePoints) => @String.fromCodePoint(...codePoints), basicToDigit = function(codePoint) {\n if (codePoint >= 48 && codePoint < 58)\n return 26 + (codePoint - 48);\n if (codePoint >= 65 && codePoint < 91)\n return codePoint - 65;\n if (codePoint >= 97 && codePoint < 123)\n return codePoint - 97;\n return base;\n}, digitToBasic = function(digit, flag) {\n return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n}, adapt = function(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime \? floor(delta / damp) : delta >> 1, delta += floor(delta / numPoints);\n for (;delta > baseMinusTMin * tMax >> 1; k += base)\n delta = floor(delta / baseMinusTMin);\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}, decode = function(input) {\n const output = [], inputLength = input.length;\n let i = 0, n = initialN, bias = initialBias, basic = input.lastIndexOf(delimiter);\n if (basic < 0)\n basic = 0;\n for (let j = 0;j < basic; ++j) {\n if (input.charCodeAt(j) >= 128)\n error(\"not-basic\");\n output.push(input.charCodeAt(j));\n }\n for (let index = basic > 0 \? basic + 1 : 0;index < inputLength; ) {\n const oldi = i;\n for (let w = 1, k = base;; k += base) {\n if (index >= inputLength)\n error(\"invalid-input\");\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base)\n error(\"invalid-input\");\n if (digit > floor((maxInt - i) / w))\n error(\"overflow\");\n i += digit * w;\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (digit < t)\n break;\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT))\n error(\"overflow\");\n w *= baseMinusT;\n }\n const out = output.length + 1;\n if (bias = adapt(i - oldi, out, oldi == 0), floor(i / out) > maxInt - n)\n error(\"overflow\");\n n += floor(i / out), i %= out, output.splice(i++, 0, n);\n }\n return @String.fromCodePoint(...output);\n}, encode = function(input) {\n const output = [];\n input = ucs2decode(input);\n const inputLength = input.length;\n let n = initialN, delta = 0, bias = initialBias;\n for (let currentValue of input)\n if (currentValue < 128)\n output.push(stringFromCharCode(currentValue));\n const basicLength = output.length;\n let handledCPCount = basicLength;\n if (basicLength)\n output.push(delimiter);\n while (handledCPCount < inputLength) {\n let m = maxInt;\n for (let currentValue of input)\n if (currentValue >= n && currentValue < m)\n m = currentValue;\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne))\n error(\"overflow\");\n delta += (m - n) * handledCPCountPlusOne, n = m;\n for (let currentValue of input) {\n if (currentValue < n && ++delta > maxInt)\n error(\"overflow\");\n if (currentValue === n) {\n let q = delta;\n for (let k = base;; k += base) {\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (q < t)\n break;\n const qMinusT = q - t, baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))), q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q, 0))), bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength), delta = 0, ++handledCPCount;\n }\n }\n ++delta, ++n;\n }\n return output.join(\"\");\n}, toUnicode = function(input) {\n return mapDomain(input, function(string) {\n return regexPunycode.test(string) \? decode(string.slice(4).toLowerCase()) : string;\n });\n}, toASCII = function(input) {\n return mapDomain(input, function(string) {\n return regexNonASCII.test(string) \? \"xn--\" + encode(string) : string;\n });\n};\n$ = {\n version: \"2.1.0\",\n ucs2: {\n decode: ucs2decode,\n encode: ucs2encode\n },\n decode,\n encode,\n toASCII,\n toUnicode\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodePunycodeCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/punycode.ts\nvar error = function(type) {\n @throwRangeError(errors[type]);\n}, map = function(array, callback) {\n const result = [];\n let length = array.length;\n while (length--)\n result[length] = callback(array[length]);\n return result;\n}, mapDomain = function(domain, callback) {\n const parts = domain.split(\"@\");\n let result = \"\";\n if (parts.length > 1)\n result = parts[0] + \"@\", domain = parts[1];\n domain = domain.replace(regexSeparators, \".\");\n const labels = domain.split(\".\"), encoded = map(labels, callback).join(\".\");\n return result + encoded;\n}, ucs2decode = function(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 55296 && value <= 56319 && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 64512) == 56320)\n output.push(((value & 1023) << 10) + (extra & 1023) + 65536);\n else\n output.push(value), counter--;\n } else\n output.push(value);\n }\n return output;\n}, $, maxInt = 2147483647, base = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = \"-\", regexPunycode = /^xn--/, regexNonASCII = /[^\\0-\\x7F]/, regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, errors = {\n overflow: \"Overflow: input needs wider integers to process\",\n \"not-basic\": \"Illegal input >= 0x80 (not a basic code point)\",\n \"invalid-input\": \"Invalid input\"\n}, baseMinusTMin = base - tMin, floor = Math.floor, stringFromCharCode = @String.fromCharCode, ucs2encode = (codePoints) => @String.fromCodePoint(...codePoints), basicToDigit = function(codePoint) {\n if (codePoint >= 48 && codePoint < 58)\n return 26 + (codePoint - 48);\n if (codePoint >= 65 && codePoint < 91)\n return codePoint - 65;\n if (codePoint >= 97 && codePoint < 123)\n return codePoint - 97;\n return base;\n}, digitToBasic = function(digit, flag) {\n return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n}, adapt = function(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime \? floor(delta / damp) : delta >> 1, delta += floor(delta / numPoints);\n for (;delta > baseMinusTMin * tMax >> 1; k += base)\n delta = floor(delta / baseMinusTMin);\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}, decode = function(input) {\n const output = [], inputLength = input.length;\n let i = 0, n = initialN, bias = initialBias, basic = input.lastIndexOf(delimiter);\n if (basic < 0)\n basic = 0;\n for (let j = 0;j < basic; ++j) {\n if (input.charCodeAt(j) >= 128)\n error(\"not-basic\");\n output.push(input.charCodeAt(j));\n }\n for (let index = basic > 0 \? basic + 1 : 0;index < inputLength; ) {\n const oldi = i;\n for (let w = 1, k = base;; k += base) {\n if (index >= inputLength)\n error(\"invalid-input\");\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base)\n error(\"invalid-input\");\n if (digit > floor((maxInt - i) / w))\n error(\"overflow\");\n i += digit * w;\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (digit < t)\n break;\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT))\n error(\"overflow\");\n w *= baseMinusT;\n }\n const out = output.length + 1;\n if (bias = adapt(i - oldi, out, oldi == 0), floor(i / out) > maxInt - n)\n error(\"overflow\");\n n += floor(i / out), i %= out, output.splice(i++, 0, n);\n }\n return @String.fromCodePoint(...output);\n}, encode = function(input) {\n const output = [];\n input = ucs2decode(input);\n const inputLength = input.length;\n let n = initialN, delta = 0, bias = initialBias;\n for (let currentValue of input)\n if (currentValue < 128)\n output.push(stringFromCharCode(currentValue));\n const basicLength = output.length;\n let handledCPCount = basicLength;\n if (basicLength)\n output.push(delimiter);\n while (handledCPCount < inputLength) {\n let m = maxInt;\n for (let currentValue of input)\n if (currentValue >= n && currentValue < m)\n m = currentValue;\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne))\n error(\"overflow\");\n delta += (m - n) * handledCPCountPlusOne, n = m;\n for (let currentValue of input) {\n if (currentValue < n && ++delta > maxInt)\n error(\"overflow\");\n if (currentValue === n) {\n let q = delta;\n for (let k = base;; k += base) {\n const t = k <= bias \? tMin : k >= bias + tMax \? tMax : k - bias;\n if (q < t)\n break;\n const qMinusT = q - t, baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))), q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q, 0))), bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength), delta = 0, ++handledCPCount;\n }\n }\n ++delta, ++n;\n }\n return output.join(\"\");\n}, toUnicode = function(input) {\n return mapDomain(input, function(string) {\n return regexPunycode.test(string) \? decode(string.slice(4).toLowerCase()) : string;\n });\n}, toASCII = function(input) {\n return mapDomain(input, function(string) {\n return regexNonASCII.test(string) \? \"xn--\" + encode(string) : string;\n });\n};\n$ = {\n version: \"2.1.0\",\n ucs2: {\n decode: ucs2decode,\n encode: ucs2encode\n },\n decode,\n encode,\n toASCII,\n toUnicode\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeQuerystringCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/querystring.ts\nvar __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports), Buffer = @requireNativeModule(\"buffer\").Buffer, require_object_keys = __commonJS((exports, module) => {\n var objectKeys = Object.keys || function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty, hasDontEnumBug = !{ toString: null }.propertyIsEnumerable(\"toString\"), dontEnums = [\n \"toString\",\n \"toLocaleString\",\n \"valueOf\",\n \"hasOwnProperty\",\n \"isPrototypeOf\",\n \"propertyIsEnumerable\",\n \"constructor\"\n ], dontEnumsLength = dontEnums.length;\n return function(obj) {\n if (typeof obj !== \"function\" && (typeof obj !== \"object\" || obj === null))\n @throwTypeError(\"Object.keys called on non-object\");\n var result = [], prop, i;\n for (prop in obj)\n if (hasOwnProperty.@call(obj, prop))\n result.push(prop);\n if (hasDontEnumBug) {\n for (i = 0;i < dontEnumsLength; i++)\n if (hasOwnProperty.@call(obj, dontEnums[i]))\n result.push(dontEnums[i]);\n }\n return result;\n };\n }();\n module.exports = objectKeys;\n}), require_src = __commonJS((exports, module) => {\n var ParsedQueryString = function() {\n }, unescapeBuffer = function(s, decodeSpaces) {\n var out = Buffer.allocUnsafe(s.length), state = 0, n, m, hexchar, c;\n for (var inIndex = 0, outIndex = 0;; inIndex++) {\n if (inIndex < s.length)\n c = s.charCodeAt(inIndex);\n else {\n if (state > 0) {\n if (out[outIndex++] = 37, state === 2)\n out[outIndex++] = hexchar;\n }\n break;\n }\n switch (state) {\n case 0:\n switch (c) {\n case 37:\n n = 0, m = 0, state = 1;\n break;\n case 43:\n if (decodeSpaces)\n c = 32;\n default:\n out[outIndex++] = c;\n break;\n }\n break;\n case 1:\n if (hexchar = c, n = unhexTable[c], !(n >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = c, state = 0;\n break;\n }\n state = 2;\n break;\n case 2:\n if (state = 0, m = unhexTable[c], !(m >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = hexchar, out[outIndex++] = c;\n break;\n }\n out[outIndex++] = 16 * n + m;\n break;\n }\n }\n return out.slice(0, outIndex);\n }, qsUnescape = function(s, decodeSpaces) {\n try {\n return decodeURIComponent(s);\n } catch (e) {\n return QueryString.unescapeBuffer(s, decodeSpaces).toString();\n }\n }, qsEscape = function(str) {\n if (typeof str !== \"string\")\n if (typeof str === \"object\")\n str = @String(str);\n else\n str += \"\";\n var out = \"\", lastPos = 0;\n for (var i2 = 0;i2 < str.length; ++i2) {\n var c = str.charCodeAt(i2);\n if (c < 128) {\n if (noEscape[c] === 1)\n continue;\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n lastPos = i2 + 1, out += hexTable[c];\n continue;\n }\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n if (c < 2048) {\n lastPos = i2 + 1, out += hexTable[192 | c >> 6] + hexTable[128 | c & 63];\n continue;\n }\n if (c < 55296 || c >= 57344) {\n lastPos = i2 + 1, out += hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n continue;\n }\n ++i2;\n var c2;\n if (i2 < str.length)\n c2 = str.charCodeAt(i2) & 1023;\n else\n throw new URIError(\"URI malformed\");\n lastPos = i2 + 1, c = 65536 + ((c & 1023) << 10 | c2), out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n }\n if (lastPos === 0)\n return str;\n if (lastPos < str.length)\n return out + str.slice(lastPos);\n return out;\n }, stringifyPrimitive = function(v) {\n if (typeof v === \"string\")\n return v;\n if (typeof v === \"number\" && @isFinite(v))\n return \"\" + v;\n if (typeof v === \"boolean\")\n return v \? \"true\" : \"false\";\n return \"\";\n }, stringify = function(obj, sep, eq, options) {\n sep = sep || \"&\", eq = eq || \"=\";\n var encode = QueryString.escape;\n if (options && typeof options.encodeURIComponent === \"function\")\n encode = options.encodeURIComponent;\n if (obj !== null && typeof obj === \"object\") {\n var keys = objectKeys(obj), len = keys.length, flast = len - 1, fields = \"\";\n for (var i2 = 0;i2 < len; ++i2) {\n var k = keys[i2], v = obj[k], ks = encode(stringifyPrimitive(k)) + eq;\n if (isArray(v)) {\n var vlen = v.length, vlast = vlen - 1;\n for (var j = 0;j < vlen; ++j)\n if (fields += ks + encode(stringifyPrimitive(v[j])), j < vlast)\n fields += sep;\n if (vlen && i2 < flast)\n fields += sep;\n } else if (fields += ks + encode(stringifyPrimitive(v)), i2 < flast)\n fields += sep;\n }\n return fields;\n }\n return \"\";\n }, charCodes = function(str) {\n if (str.length === 0)\n return [];\n if (str.length === 1)\n return [str.charCodeAt(0)];\n const ret = [];\n for (var i2 = 0;i2 < str.length; ++i2)\n ret[ret.length] = str.charCodeAt(i2);\n return ret;\n }, parse = function(qs, sep, eq, options) {\n const obj = new ParsedQueryString;\n if (typeof qs !== \"string\" || qs.length === 0)\n return obj;\n var sepCodes = !sep \? defSepCodes : charCodes(sep + \"\"), eqCodes = !eq \? defEqCodes : charCodes(eq + \"\");\n const sepLen = sepCodes.length, eqLen = eqCodes.length;\n var pairs = 1000;\n if (options && typeof options.maxKeys === \"number\")\n pairs = options.maxKeys > 0 \? options.maxKeys : -1;\n var decode = QueryString.unescape;\n if (options && typeof options.decodeURIComponent === \"function\")\n decode = options.decodeURIComponent;\n const customDecode = decode !== qsUnescape, keys = [];\n var posIdx = 0, lastPos = 0, sepIdx = 0, eqIdx = 0, key = \"\", value = \"\", keyEncoded = customDecode, valEncoded = customDecode, encodeCheck = 0;\n for (var i2 = 0;i2 < qs.length; ++i2) {\n const code = qs.charCodeAt(i2);\n if (code === sepCodes[sepIdx]) {\n if (++sepIdx === sepLen) {\n const end = i2 - sepIdx + 1;\n if (eqIdx < eqLen) {\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n } else if (lastPos < end)\n value += qs.slice(lastPos, end);\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (key || value || lastPos - posIdx > sepLen || i2 === 0)\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key] || \"\";\n if (curValue.pop)\n curValue[curValue.length] = value;\n else if (curValue)\n obj[key] = [curValue, value];\n }\n else if (i2 === 1)\n delete obj[key];\n if (--pairs === 0)\n break;\n keyEncoded = valEncoded = customDecode, encodeCheck = 0, key = value = \"\", posIdx = lastPos, lastPos = i2 + 1, sepIdx = eqIdx = 0;\n }\n continue;\n } else if (sepIdx = 0, !valEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n valEncoded = !0;\n } else\n encodeCheck = 0;\n if (eqIdx < eqLen) {\n if (code === eqCodes[eqIdx]) {\n if (++eqIdx === eqLen) {\n const end = i2 - eqIdx + 1;\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n encodeCheck = 0, lastPos = i2 + 1;\n }\n continue;\n } else if (eqIdx = 0, !keyEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n keyEncoded = !0;\n } else\n encodeCheck = 0;\n }\n if (code === 43) {\n if (eqIdx < eqLen) {\n if (lastPos < i2)\n key += qs.slice(lastPos, i2);\n key += \"%20\", keyEncoded = !0;\n } else {\n if (lastPos < i2)\n value += qs.slice(lastPos, i2);\n value += \"%20\", valEncoded = !0;\n }\n lastPos = i2 + 1;\n }\n }\n if (pairs !== 0 && (lastPos < qs.length || eqIdx > 0)) {\n if (lastPos < qs.length) {\n if (eqIdx < eqLen)\n key += qs.slice(lastPos);\n else if (sepIdx < sepLen)\n value += qs.slice(lastPos);\n }\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key];\n if (curValue.pop)\n curValue[curValue.length] = value;\n else\n obj[key] = [curValue, value];\n }\n }\n return obj;\n }, decodeStr = function(s, decoder) {\n try {\n return decoder(s);\n } catch (e) {\n return QueryString.unescape(s, !0);\n }\n }, QueryString = module.exports = {\n unescapeBuffer,\n unescape: qsUnescape,\n escape: qsEscape,\n stringify,\n encode: stringify,\n parse,\n decode: parse\n }, objectKeys = require_object_keys(), isArray = (arg) => Object.prototype.toString.@call(arg) === \"[object Array]\", indexOf = (arr, searchElement, fromIndex) => {\n var k;\n if (arr == null)\n @throwTypeError('\"arr\" is null or not defined');\n var o = Object(arr), len = o.length >>> 0;\n if (len === 0)\n return -1;\n var n = fromIndex | 0;\n if (n >= len)\n return -1;\n k = Math.max(n >= 0 \? n : len - Math.abs(n), 0);\n while (k < len) {\n if ((k in o) && o[k] === searchElement)\n return k;\n k++;\n }\n return -1;\n };\n ParsedQueryString.prototype = Object.create \? Object.create(null) : {};\n var unhexTable = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ], hexTable = [];\n for (i = 0;i < 256; ++i)\n hexTable[i] = \"%\" + ((i < 16 \? \"0\" : \"\") + i.toString(16)).toUpperCase();\n var i, noEscape = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0\n ], defSepCodes = [38], defEqCodes = [61];\n});\nreturn require_src()})\n"); +static constexpr ASCIILiteral NodeQuerystringCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/querystring.ts\nvar __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports), Buffer = @requireNativeModule(\"buffer\").Buffer, require_object_keys = __commonJS((exports, module) => {\n var objectKeys = Object.keys || function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty, hasDontEnumBug = !{ toString: null }.propertyIsEnumerable(\"toString\"), dontEnums = [\n \"toString\",\n \"toLocaleString\",\n \"valueOf\",\n \"hasOwnProperty\",\n \"isPrototypeOf\",\n \"propertyIsEnumerable\",\n \"constructor\"\n ], dontEnumsLength = dontEnums.length;\n return function(obj) {\n if (typeof obj !== \"function\" && (typeof obj !== \"object\" || obj === null))\n @throwTypeError(\"Object.keys called on non-object\");\n var result = [], prop, i;\n for (prop in obj)\n if (hasOwnProperty.@call(obj, prop))\n result.push(prop);\n if (hasDontEnumBug) {\n for (i = 0;i < dontEnumsLength; i++)\n if (hasOwnProperty.@call(obj, dontEnums[i]))\n result.push(dontEnums[i]);\n }\n return result;\n };\n }();\n module.exports = objectKeys;\n}), require_src = __commonJS((exports, module) => {\n var ParsedQueryString = function() {\n }, unescapeBuffer = function(s, decodeSpaces) {\n var out = Buffer.allocUnsafe(s.length), state = 0, n, m, hexchar, c;\n for (var inIndex = 0, outIndex = 0;; inIndex++) {\n if (inIndex < s.length)\n c = s.charCodeAt(inIndex);\n else {\n if (state > 0) {\n if (out[outIndex++] = 37, state === 2)\n out[outIndex++] = hexchar;\n }\n break;\n }\n switch (state) {\n case 0:\n switch (c) {\n case 37:\n n = 0, m = 0, state = 1;\n break;\n case 43:\n if (decodeSpaces)\n c = 32;\n default:\n out[outIndex++] = c;\n break;\n }\n break;\n case 1:\n if (hexchar = c, n = unhexTable[c], !(n >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = c, state = 0;\n break;\n }\n state = 2;\n break;\n case 2:\n if (state = 0, m = unhexTable[c], !(m >= 0)) {\n out[outIndex++] = 37, out[outIndex++] = hexchar, out[outIndex++] = c;\n break;\n }\n out[outIndex++] = 16 * n + m;\n break;\n }\n }\n return out.slice(0, outIndex);\n }, qsUnescape = function(s, decodeSpaces) {\n try {\n return decodeURIComponent(s);\n } catch (e) {\n return QueryString.unescapeBuffer(s, decodeSpaces).toString();\n }\n }, qsEscape = function(str) {\n if (typeof str !== \"string\")\n if (typeof str === \"object\")\n str = @String(str);\n else\n str += \"\";\n var out = \"\", lastPos = 0;\n for (var i2 = 0;i2 < str.length; ++i2) {\n var c = str.charCodeAt(i2);\n if (c < 128) {\n if (noEscape[c] === 1)\n continue;\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n lastPos = i2 + 1, out += hexTable[c];\n continue;\n }\n if (lastPos < i2)\n out += str.slice(lastPos, i2);\n if (c < 2048) {\n lastPos = i2 + 1, out += hexTable[192 | c >> 6] + hexTable[128 | c & 63];\n continue;\n }\n if (c < 55296 || c >= 57344) {\n lastPos = i2 + 1, out += hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n continue;\n }\n ++i2;\n var c2;\n if (i2 < str.length)\n c2 = str.charCodeAt(i2) & 1023;\n else\n throw new URIError(\"URI malformed\");\n lastPos = i2 + 1, c = 65536 + ((c & 1023) << 10 | c2), out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];\n }\n if (lastPos === 0)\n return str;\n if (lastPos < str.length)\n return out + str.slice(lastPos);\n return out;\n }, stringifyPrimitive = function(v) {\n if (typeof v === \"string\")\n return v;\n if (typeof v === \"number\" && @isFinite(v))\n return \"\" + v;\n if (typeof v === \"boolean\")\n return v \? \"true\" : \"false\";\n return \"\";\n }, stringify = function(obj, sep, eq, options) {\n sep = sep || \"&\", eq = eq || \"=\";\n var encode = QueryString.escape;\n if (options && typeof options.encodeURIComponent === \"function\")\n encode = options.encodeURIComponent;\n if (obj !== null && typeof obj === \"object\") {\n var keys = objectKeys(obj), len = keys.length, flast = len - 1, fields = \"\";\n for (var i2 = 0;i2 < len; ++i2) {\n var k = keys[i2], v = obj[k], ks = encode(stringifyPrimitive(k)) + eq;\n if (isArray(v)) {\n var vlen = v.length, vlast = vlen - 1;\n for (var j = 0;j < vlen; ++j)\n if (fields += ks + encode(stringifyPrimitive(v[j])), j < vlast)\n fields += sep;\n if (vlen && i2 < flast)\n fields += sep;\n } else if (fields += ks + encode(stringifyPrimitive(v)), i2 < flast)\n fields += sep;\n }\n return fields;\n }\n return \"\";\n }, charCodes = function(str) {\n if (str.length === 0)\n return [];\n if (str.length === 1)\n return [str.charCodeAt(0)];\n const ret = [];\n for (var i2 = 0;i2 < str.length; ++i2)\n ret[ret.length] = str.charCodeAt(i2);\n return ret;\n }, parse = function(qs, sep, eq, options) {\n const obj = new ParsedQueryString;\n if (typeof qs !== \"string\" || qs.length === 0)\n return obj;\n var sepCodes = !sep \? defSepCodes : charCodes(sep + \"\"), eqCodes = !eq \? defEqCodes : charCodes(eq + \"\");\n const sepLen = sepCodes.length, eqLen = eqCodes.length;\n var pairs = 1000;\n if (options && typeof options.maxKeys === \"number\")\n pairs = options.maxKeys > 0 \? options.maxKeys : -1;\n var decode = QueryString.unescape;\n if (options && typeof options.decodeURIComponent === \"function\")\n decode = options.decodeURIComponent;\n const customDecode = decode !== qsUnescape, keys = [];\n var posIdx = 0, lastPos = 0, sepIdx = 0, eqIdx = 0, key = \"\", value = \"\", keyEncoded = customDecode, valEncoded = customDecode, encodeCheck = 0;\n for (var i2 = 0;i2 < qs.length; ++i2) {\n const code = qs.charCodeAt(i2);\n if (code === sepCodes[sepIdx]) {\n if (++sepIdx === sepLen) {\n const end = i2 - sepIdx + 1;\n if (eqIdx < eqLen) {\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n } else if (lastPos < end)\n value += qs.slice(lastPos, end);\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (key || value || lastPos - posIdx > sepLen || i2 === 0)\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key] || \"\";\n if (curValue.pop)\n curValue[curValue.length] = value;\n else if (curValue)\n obj[key] = [curValue, value];\n }\n else if (i2 === 1)\n delete obj[key];\n if (--pairs === 0)\n break;\n keyEncoded = valEncoded = customDecode, encodeCheck = 0, key = value = \"\", posIdx = lastPos, lastPos = i2 + 1, sepIdx = eqIdx = 0;\n }\n continue;\n } else if (sepIdx = 0, !valEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n valEncoded = !0;\n } else\n encodeCheck = 0;\n if (eqIdx < eqLen) {\n if (code === eqCodes[eqIdx]) {\n if (++eqIdx === eqLen) {\n const end = i2 - eqIdx + 1;\n if (lastPos < end)\n key += qs.slice(lastPos, end);\n encodeCheck = 0, lastPos = i2 + 1;\n }\n continue;\n } else if (eqIdx = 0, !keyEncoded)\n if (code === 37)\n encodeCheck = 1;\n else if (encodeCheck > 0 && (code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {\n if (++encodeCheck === 3)\n keyEncoded = !0;\n } else\n encodeCheck = 0;\n }\n if (code === 43) {\n if (eqIdx < eqLen) {\n if (lastPos < i2)\n key += qs.slice(lastPos, i2);\n key += \"%20\", keyEncoded = !0;\n } else {\n if (lastPos < i2)\n value += qs.slice(lastPos, i2);\n value += \"%20\", valEncoded = !0;\n }\n lastPos = i2 + 1;\n }\n }\n if (pairs !== 0 && (lastPos < qs.length || eqIdx > 0)) {\n if (lastPos < qs.length) {\n if (eqIdx < eqLen)\n key += qs.slice(lastPos);\n else if (sepIdx < sepLen)\n value += qs.slice(lastPos);\n }\n if (keyEncoded)\n key = decodeStr(key, decode);\n if (valEncoded)\n value = decodeStr(value, decode);\n if (indexOf(keys, key) === -1)\n obj[key] = value, keys[keys.length] = key;\n else {\n const curValue = obj[key];\n if (curValue.pop)\n curValue[curValue.length] = value;\n else\n obj[key] = [curValue, value];\n }\n }\n return obj;\n }, decodeStr = function(s, decoder) {\n try {\n return decoder(s);\n } catch (e) {\n return QueryString.unescape(s, !0);\n }\n }, QueryString = module.exports = {\n unescapeBuffer,\n unescape: qsUnescape,\n escape: qsEscape,\n stringify,\n encode: stringify,\n parse,\n decode: parse\n }, objectKeys = require_object_keys(), isArray = (arg) => Object.prototype.toString.@call(arg) === \"[object Array]\", indexOf = (arr, searchElement, fromIndex) => {\n var k;\n if (arr == null)\n @throwTypeError('\"arr\" is null or not defined');\n var o = Object(arr), len = o.length >>> 0;\n if (len === 0)\n return -1;\n var n = fromIndex | 0;\n if (n >= len)\n return -1;\n k = Math.max(n >= 0 \? n : len - Math.abs(n), 0);\n while (k < len) {\n if ((k in o) && o[k] === searchElement)\n return k;\n k++;\n }\n return -1;\n };\n ParsedQueryString.prototype = Object.create \? Object.create(null) : {};\n var unhexTable = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ], hexTable = [];\n for (i = 0;i < 256; ++i)\n hexTable[i] = \"%\" + ((i < 16 \? \"0\" : \"\") + i.toString(16)).toUpperCase();\n var i, noEscape = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0\n ], defSepCodes = [38], defEqCodes = [61];\n});\nreturn require_src()})\n"); // // -static constexpr ASCIILiteral NodeReadlineCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/readline.ts\nvar stripVTControlCharacters = function(str) {\n return validateString(str, \"str\"), RegExpPrototypeSymbolReplace.@call(ansi, str, \"\");\n}, promisify = function(original) {\n if (validateFunction(original, \"original\"), original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n return validateFunction(fn, \"util.promisify.custom\"), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n }\n var argumentNames = original[kCustomPromisifyArgsSymbol];\n function fn(...args) {\n return new @Promise((resolve, reject) => {\n ArrayPrototypePush.@call(args, (err, ...values) => {\n if (err)\n return reject(err);\n if (argumentNames !== @undefined && values.length > 1) {\n var obj = {};\n for (var i2 = 0;i2 < argumentNames.length; i2++)\n obj[argumentNames[i2]] = values[i2];\n resolve(obj);\n } else\n resolve(values[0]);\n }), ReflectApply(original, this, args);\n });\n }\n ObjectSetPrototypeOf(fn, ObjectGetPrototypeOf(original)), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n var descriptors = ObjectGetOwnPropertyDescriptors(original), propertiesValues = ObjectValues(descriptors);\n for (var i = 0;i < propertiesValues.length; i++)\n ObjectSetPrototypeOf(propertiesValues[i], null);\n return ObjectDefineProperties(fn, descriptors);\n}, getNodeErrorByName = function(typeName) {\n var base = errorBases[typeName];\n if (base)\n return base;\n if (!ObjectKeys(VALID_NODE_ERROR_BASES).includes(typeName))\n throw new Error(\"Invalid NodeError type\");\n var Base = VALID_NODE_ERROR_BASES[typeName];\n\n class NodeError extends Base {\n [kIsNodeError] = !0;\n code;\n constructor(msg, opts) {\n super(msg, opts);\n this.code = opts\?.code || \"ERR_GENERIC\";\n }\n toString() {\n return `${this.name} [${this.code}]: ${this.message}`;\n }\n }\n return errorBases[typeName] = NodeError, NodeError;\n}, validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateArray = function(value, name, minLength = 0) {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n var reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar validateInteger = function(value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, validateUint32 = function(value, name, positive = !1) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n var min = positive \? 1 : 0, max = 4294967295;\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, CSI = function(strings, ...args) {\n var ret = `${kEscape}[`;\n for (var n = 0;n < strings.length; n++)\n if (ret += strings[n], n < args.length)\n ret += args[n];\n return ret;\n}, charLengthLeft = function(str, i) {\n if (i <= 0)\n return 0;\n if (i > 1 && StringPrototypeCodePointAt.@call(str, i - 2) >= kUTF16SurrogateThreshold || StringPrototypeCodePointAt.@call(str, i - 1) >= kUTF16SurrogateThreshold)\n return 2;\n return 1;\n}, charLengthAt = function(str, i) {\n if (str.length <= i)\n return 1;\n return StringPrototypeCodePointAt.@call(str, i) >= kUTF16SurrogateThreshold \? 2 : 1;\n};\nfunction* emitKeys(stream) {\n while (!0) {\n var ch = yield, s = ch, escaped = !1, keySeq = null, keyName, keyCtrl2 = !1, keyMeta = !1, keyShift = !1;\n if (ch === kEscape) {\n if (escaped = !0, s += ch = yield, ch === kEscape)\n s += ch = yield;\n }\n if (escaped && (ch === \"O\" || ch === \"[\")) {\n var code = ch, modifier = 0;\n if (ch === \"O\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n modifier = (ch >> 0) - 1, s += ch = yield;\n code += ch;\n } else if (ch === \"[\") {\n if (s += ch = yield, ch === \"[\")\n code += ch, s += ch = yield;\n var cmdStart = s.length - 1;\n if (ch >= \"0\" && ch <= \"9\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += ch = yield;\n }\n if (ch === \";\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += yield;\n }\n var cmd = StringPrototypeSlice.@call(s, cmdStart), match;\n if (match = RegExpPrototypeExec.@call(/^(\\d\\d\?)(;(\\d))\?([~^$])$/, cmd))\n code += match[1] + match[4], modifier = (match[3] || 1) - 1;\n else if (match = RegExpPrototypeExec.@call(/^((\\d;)\?(\\d))\?([A-Za-z])$/, cmd))\n code += match[4], modifier = (match[3] || 1) - 1;\n else\n code += cmd;\n }\n switch (keyCtrl2 = !!(modifier & 4), keyMeta = !!(modifier & 10), keyShift = !!(modifier & 1), code) {\n case \"[P\":\n keyName = \"f1\";\n break;\n case \"[Q\":\n keyName = \"f2\";\n break;\n case \"[R\":\n keyName = \"f3\";\n break;\n case \"[S\":\n keyName = \"f4\";\n break;\n case \"OP\":\n keyName = \"f1\";\n break;\n case \"OQ\":\n keyName = \"f2\";\n break;\n case \"OR\":\n keyName = \"f3\";\n break;\n case \"OS\":\n keyName = \"f4\";\n break;\n case \"[11~\":\n keyName = \"f1\";\n break;\n case \"[12~\":\n keyName = \"f2\";\n break;\n case \"[13~\":\n keyName = \"f3\";\n break;\n case \"[14~\":\n keyName = \"f4\";\n break;\n case \"[[A\":\n keyName = \"f1\";\n break;\n case \"[[B\":\n keyName = \"f2\";\n break;\n case \"[[C\":\n keyName = \"f3\";\n break;\n case \"[[D\":\n keyName = \"f4\";\n break;\n case \"[[E\":\n keyName = \"f5\";\n break;\n case \"[15~\":\n keyName = \"f5\";\n break;\n case \"[17~\":\n keyName = \"f6\";\n break;\n case \"[18~\":\n keyName = \"f7\";\n break;\n case \"[19~\":\n keyName = \"f8\";\n break;\n case \"[20~\":\n keyName = \"f9\";\n break;\n case \"[21~\":\n keyName = \"f10\";\n break;\n case \"[23~\":\n keyName = \"f11\";\n break;\n case \"[24~\":\n keyName = \"f12\";\n break;\n case \"[A\":\n keyName = \"up\";\n break;\n case \"[B\":\n keyName = \"down\";\n break;\n case \"[C\":\n keyName = \"right\";\n break;\n case \"[D\":\n keyName = \"left\";\n break;\n case \"[E\":\n keyName = \"clear\";\n break;\n case \"[F\":\n keyName = \"end\";\n break;\n case \"[H\":\n keyName = \"home\";\n break;\n case \"OA\":\n keyName = \"up\";\n break;\n case \"OB\":\n keyName = \"down\";\n break;\n case \"OC\":\n keyName = \"right\";\n break;\n case \"OD\":\n keyName = \"left\";\n break;\n case \"OE\":\n keyName = \"clear\";\n break;\n case \"OF\":\n keyName = \"end\";\n break;\n case \"OH\":\n keyName = \"home\";\n break;\n case \"[1~\":\n keyName = \"home\";\n break;\n case \"[2~\":\n keyName = \"insert\";\n break;\n case \"[3~\":\n keyName = \"delete\";\n break;\n case \"[4~\":\n keyName = \"end\";\n break;\n case \"[5~\":\n keyName = \"pageup\";\n break;\n case \"[6~\":\n keyName = \"pagedown\";\n break;\n case \"[[5~\":\n keyName = \"pageup\";\n break;\n case \"[[6~\":\n keyName = \"pagedown\";\n break;\n case \"[7~\":\n keyName = \"home\";\n break;\n case \"[8~\":\n keyName = \"end\";\n break;\n case \"[a\":\n keyName = \"up\", keyShift = !0;\n break;\n case \"[b\":\n keyName = \"down\", keyShift = !0;\n break;\n case \"[c\":\n keyName = \"right\", keyShift = !0;\n break;\n case \"[d\":\n keyName = \"left\", keyShift = !0;\n break;\n case \"[e\":\n keyName = \"clear\", keyShift = !0;\n break;\n case \"[2$\":\n keyName = \"insert\", keyShift = !0;\n break;\n case \"[3$\":\n keyName = \"delete\", keyShift = !0;\n break;\n case \"[5$\":\n keyName = \"pageup\", keyShift = !0;\n break;\n case \"[6$\":\n keyName = \"pagedown\", keyShift = !0;\n break;\n case \"[7$\":\n keyName = \"home\", keyShift = !0;\n break;\n case \"[8$\":\n keyName = \"end\", keyShift = !0;\n break;\n case \"Oa\":\n keyName = \"up\", keyCtrl2 = !0;\n break;\n case \"Ob\":\n keyName = \"down\", keyCtrl2 = !0;\n break;\n case \"Oc\":\n keyName = \"right\", keyCtrl2 = !0;\n break;\n case \"Od\":\n keyName = \"left\", keyCtrl2 = !0;\n break;\n case \"Oe\":\n keyName = \"clear\", keyCtrl2 = !0;\n break;\n case \"[2^\":\n keyName = \"insert\", keyCtrl2 = !0;\n break;\n case \"[3^\":\n keyName = \"delete\", keyCtrl2 = !0;\n break;\n case \"[5^\":\n keyName = \"pageup\", keyCtrl2 = !0;\n break;\n case \"[6^\":\n keyName = \"pagedown\", keyCtrl2 = !0;\n break;\n case \"[7^\":\n keyName = \"home\", keyCtrl2 = !0;\n break;\n case \"[8^\":\n keyName = \"end\", keyCtrl2 = !0;\n break;\n case \"[Z\":\n keyName = \"tab\", keyShift = !0;\n break;\n default:\n keyName = \"undefined\";\n break;\n }\n } else if (ch === \"\\r\")\n keyName = \"return\", keyMeta = escaped;\n else if (ch === \"\\n\")\n keyName = \"enter\", keyMeta = escaped;\n else if (ch === \"\\t\")\n keyName = \"tab\", keyMeta = escaped;\n else if (ch === \"\\b\" || ch === \"\\x7F\")\n keyName = \"backspace\", keyMeta = escaped;\n else if (ch === kEscape)\n keyName = \"escape\", keyMeta = escaped;\n else if (ch === \" \")\n keyName = \"space\", keyMeta = escaped;\n else if (!escaped && ch <= \"\\x1A\")\n keyName = StringFromCharCode(StringPrototypeCharCodeAt.@call(ch) + StringPrototypeCharCodeAt.@call(\"a\") - 1), keyCtrl2 = !0;\n else if (RegExpPrototypeExec.@call(/^[0-9A-Za-z]$/, ch) !== null)\n keyName = StringPrototypeToLowerCase.@call(ch), keyShift = RegExpPrototypeExec.@call(/^[A-Z]$/, ch) !== null, keyMeta = escaped;\n else if (escaped)\n keyName = ch.length \? @undefined : \"escape\", keyMeta = !0;\n else\n keyName = @undefined;\n if (keySeq = s, s.length !== 0 && (keyName !== @undefined || escaped))\n stream.emit(\"keypress\", escaped \? @undefined : s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n else if (charLengthAt(s, 0) === s.length)\n stream.emit(\"keypress\", s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n }\n}\nvar commonPrefix = function(strings) {\n if (strings.length === 0)\n return \"\";\n if (strings.length === 1)\n return strings[0];\n var sorted = ArrayPrototypeSort.@call(ArrayPrototypeSlice.@call(strings)), min = sorted[0], max = sorted[sorted.length - 1];\n for (var i = 0;i < min.length; i++)\n if (min[i] !== max[i])\n return StringPrototypeSlice.@call(min, 0, i);\n return min;\n}, cursorTo = function(stream, x, y, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (typeof y === \"function\")\n callback = y, y = @undefined;\n if (NumberIsNaN(x))\n throw new ERR_INVALID_ARG_VALUE(\"x\", x);\n if (NumberIsNaN(y))\n throw new ERR_INVALID_ARG_VALUE(\"y\", y);\n if (stream == null || typeof x !== \"number\" && typeof y !== \"number\") {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n if (typeof x !== \"number\")\n throw new ERR_INVALID_CURSOR_POS;\n var data = typeof y !== \"number\" \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n return stream.write(data, callback);\n}, moveCursor = function(stream, dx, dy, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream == null || !(dx || dy)) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n return stream.write(data, callback);\n}, clearLine = function(stream, dir, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var type = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n return stream.write(type, callback);\n}, clearScreenDown = function(stream, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n return stream.write(kClearScreenDown, callback);\n}, emitKeypressEvents = function(stream, iface = {}) {\n if (stream[KEYPRESS_DECODER])\n return;\n stream[KEYPRESS_DECODER] = new StringDecoder(\"utf8\"), stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next();\n var triggerEscape = () => stream[ESCAPE_DECODER].next(\"\"), { escapeCodeTimeout = ESCAPE_CODE_TIMEOUT } = iface, timeoutId;\n function onData(input) {\n if (stream.listenerCount(\"keypress\") > 0) {\n var string = stream[KEYPRESS_DECODER].write(input);\n if (string) {\n clearTimeout(timeoutId), iface[kSawKeyPress] = charLengthAt(string, 0) === string.length, iface.isCompletionEnabled = !1;\n var length = 0;\n for (var character of new SafeStringIterator(string)) {\n if (length += character.length, length === string.length)\n iface.isCompletionEnabled = !0;\n try {\n if (stream[ESCAPE_DECODER].next(character), length === string.length && character === kEscape)\n timeoutId = setTimeout(triggerEscape, escapeCodeTimeout);\n } catch (err) {\n throw stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next(), err;\n }\n }\n }\n } else\n stream.removeListener(\"data\", onData), stream.on(\"newListener\", onNewListener);\n }\n function onNewListener(event) {\n if (event === \"keypress\")\n stream.on(\"data\", onData), stream.removeListener(\"newListener\", onNewListener);\n }\n if (stream.listenerCount(\"keypress\") > 0)\n stream.on(\"data\", onData);\n else\n stream.on(\"newListener\", onNewListener);\n}, onSelfCloseWithTerminal = function() {\n var input = this.input, output = this.output;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n if (input.removeListener(\"keypress\", this[kOnKeyPress]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnTermEnd]), output !== null && output !== @undefined)\n output.removeListener(\"resize\", this[kOnResize]);\n}, onSelfCloseWithoutTerminal = function() {\n var input = this.input;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n input.removeListener(\"data\", this[kOnData]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnEnd]);\n}, onError = function(err) {\n this.emit(\"error\", err);\n}, onData = function(data) {\n debug(\"onData\"), this[kNormalWrite](data);\n}, onEnd = function() {\n if (debug(\"onEnd\"), typeof this[kLine_buffer] === \"string\" && this[kLine_buffer].length > 0)\n this.emit(\"line\", this[kLine_buffer]);\n this.close();\n}, onTermEnd = function() {\n if (debug(\"onTermEnd\"), typeof this.line === \"string\" && this.line.length > 0)\n this.emit(\"line\", this.line);\n this.close();\n}, onKeyPress = function(s, key) {\n if (this[kTtyWrite](s, key), key && key.sequence) {\n var ch = StringPrototypeCodePointAt.@call(key.sequence, 0);\n if (ch >= 55296 && ch <= 57343)\n this[kRefreshLine]();\n }\n}, onResize = function() {\n this[kRefreshLine]();\n}, InterfaceConstructor = function(input, output, completer, terminal) {\n if (!(this instanceof InterfaceConstructor))\n return new InterfaceConstructor(input, output, completer, terminal);\n EventEmitter.@call(this), this[kOnSelfCloseWithoutTerminal] = onSelfCloseWithoutTerminal.bind(this), this[kOnSelfCloseWithTerminal] = onSelfCloseWithTerminal.bind(this), this[kOnError] = onError.bind(this), this[kOnData] = onData.bind(this), this[kOnEnd] = onEnd.bind(this), this[kOnTermEnd] = onTermEnd.bind(this), this[kOnKeyPress] = onKeyPress.bind(this), this[kOnResize] = onResize.bind(this), this[kSawReturnAt] = 0, this.isCompletionEnabled = !0, this[kSawKeyPress] = !1, this[kPreviousKey] = null, this.escapeCodeTimeout = ESCAPE_CODE_TIMEOUT, this.tabSize = 8;\n var history, historySize, removeHistoryDuplicates = !1, crlfDelay, prompt = \"> \", signal;\n if (input\?.input) {\n output = input.output, completer = input.completer, terminal = input.terminal, history = input.history, historySize = input.historySize, signal = input.signal;\n var tabSize = input.tabSize;\n if (tabSize !== @undefined)\n validateUint32(tabSize, \"tabSize\", !0), this.tabSize = tabSize;\n removeHistoryDuplicates = input.removeHistoryDuplicates;\n var inputPrompt = input.prompt;\n if (inputPrompt !== @undefined)\n prompt = inputPrompt;\n var inputEscapeCodeTimeout = input.escapeCodeTimeout;\n if (inputEscapeCodeTimeout !== @undefined)\n if (NumberIsFinite(inputEscapeCodeTimeout))\n this.escapeCodeTimeout = inputEscapeCodeTimeout;\n else\n throw new ERR_INVALID_ARG_VALUE(\"input.escapeCodeTimeout\", this.escapeCodeTimeout);\n if (signal)\n validateAbortSignal(signal, \"options.signal\");\n crlfDelay = input.crlfDelay, input = input.input;\n }\n if (completer !== @undefined && typeof completer !== \"function\")\n throw new ERR_INVALID_ARG_VALUE(\"completer\", completer);\n if (history === @undefined)\n history = [];\n else\n validateArray(history, \"history\");\n if (historySize === @undefined)\n historySize = kHistorySize;\n if (typeof historySize !== \"number\" || NumberIsNaN(historySize) || historySize < 0)\n throw new ERR_INVALID_ARG_VALUE(\"historySize\", historySize);\n if (terminal === @undefined && !(output === null || output === @undefined))\n terminal = !!output.isTTY;\n if (this.line = \"\", this[kSubstringSearch] = null, this.output = output, this.input = input, this[kUndoStack] = [], this[kRedoStack] = [], this.history = history, this.historySize = historySize, this[kKillRing] = [], this[kKillRingCursor] = 0, this.removeHistoryDuplicates = !!removeHistoryDuplicates, this.crlfDelay = crlfDelay \? MathMax(kMincrlfDelay, crlfDelay) : kMincrlfDelay, this.completer = completer, this.setPrompt(prompt), this.terminal = !!terminal, this[kLineObjectStream] = @undefined, input.on(\"error\", this[kOnError]), !this.terminal)\n input.on(\"data\", this[kOnData]), input.on(\"end\", this[kOnEnd]), this.once(\"close\", this[kOnSelfCloseWithoutTerminal]), this[kDecoder] = new StringDecoder(\"utf8\");\n else {\n if (emitKeypressEvents(input, this), input.on(\"keypress\", this[kOnKeyPress]), input.on(\"end\", this[kOnTermEnd]), this[kSetRawMode](!0), this.terminal = !0, this.cursor = 0, this.historyIndex = -1, output !== null && output !== @undefined)\n output.on(\"resize\", this[kOnResize]);\n this.once(\"close\", this[kOnSelfCloseWithTerminal]);\n }\n if (signal) {\n var onAborted = (() => this.close()).bind(this);\n if (signal.aborted)\n process.nextTick(onAborted);\n else\n signal.addEventListener(\"abort\", onAborted, { once: !0 }), this.once(\"close\", () => signal.removeEventListener(\"abort\", onAborted));\n }\n this.line = \"\", input.resume();\n}, Interface = function(input, output, completer, terminal) {\n if (!(this instanceof Interface))\n return new Interface(input, output, completer, terminal);\n if (input\?.input && typeof input.completer === \"function\" && input.completer.length !== 2) {\n var { completer } = input;\n input.completer = (v, cb) => cb(null, completer(v));\n } else if (typeof completer === \"function\" && completer.length !== 2) {\n var realCompleter = completer;\n completer = (v, cb) => cb(null, realCompleter(v));\n }\n InterfaceConstructor.@call(this, input, output, completer, terminal);\n}, createInterface = function(input, output, completer, terminal) {\n return new Interface(input, output, completer, terminal);\n};\nvar $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { StringDecoder } = @requireNativeModule(\"string_decoder\"), isWritable, { inspect } = Bun, debug = process.env.BUN_JS_DEBUG \? console.log : () => {\n}, SymbolAsyncIterator = Symbol.asyncIterator, SymbolIterator = Symbol.iterator, SymbolFor = Symbol.for, SymbolReplace = Symbol.replace, ArrayFrom = @Array.from, ArrayIsArray = @Array.isArray, ArrayPrototypeFilter = @Array.prototype.filter, ArrayPrototypeSort = @Array.prototype.sort, ArrayPrototypeIndexOf = @Array.prototype.indexOf, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypePop = @Array.prototype.pop, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeSplice = @Array.prototype.splice, ArrayPrototypeReverse = @Array.prototype.reverse, ArrayPrototypeShift = @Array.prototype.shift, ArrayPrototypeUnshift = @Array.prototype.unshift, RegExpPrototypeExec = @RegExp.prototype.exec, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, StringPrototypeCodePointAt = @String.prototype.codePointAt, StringPrototypeSlice = @String.prototype.slice, StringPrototypeToLowerCase = @String.prototype.toLowerCase, StringPrototypeEndsWith = @String.prototype.endsWith, StringPrototypeRepeat = @String.prototype.repeat, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeTrim = @String.prototype.trim, StringPrototypeNormalize = @String.prototype.normalize, NumberIsNaN = Number.isNaN, NumberIsFinite = Number.isFinite, NumberIsInteger = Number.isInteger, NumberMAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER, NumberMIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER, MathCeil = Math.ceil, MathFloor = Math.floor, MathMax = Math.max, DateNow = Date.now, FunctionPrototype = Function.prototype, StringPrototype = @String.prototype, StringPrototypeSymbolIterator = StringPrototype[SymbolIterator], StringIteratorPrototypeNext = StringPrototypeSymbolIterator.@call(\"\").next, ObjectSetPrototypeOf = Object.setPrototypeOf, ObjectDefineProperty = Object.defineProperty, ObjectDefineProperties = Object.defineProperties, ObjectFreeze = Object.freeze;\nvar { create: ObjectCreate, keys: ObjectKeys } = Object;\nvar createSafeIterator = (factory, next) => {\n class SafeIterator {\n #iterator;\n constructor(iterable) {\n this.#iterator = factory.@call(iterable);\n }\n next() {\n return next.@call(this.#iterator);\n }\n [SymbolIterator]() {\n return this;\n }\n }\n return ObjectSetPrototypeOf(SafeIterator.prototype, null), ObjectFreeze(SafeIterator.prototype), ObjectFreeze(SafeIterator), SafeIterator;\n}, SafeStringIterator = createSafeIterator(StringPrototypeSymbolIterator, StringIteratorPrototypeNext), isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n}, isZeroWidthCodePoint = (code) => {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, getStringWidth = function getStringWidth2(str, removeControlChars = !0) {\n var width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize.@call(str, \"NFC\");\n for (var char of new SafeStringIterator(str)) {\n var code = StringPrototypeCodePointAt.@call(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n}, ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new @RegExp(ansiPattern, \"g\"), kCustomPromisifiedSymbol = SymbolFor(\"nodejs.util.promisify.custom\"), kCustomPromisifyArgsSymbol = Symbol(\"customPromisifyArgs\");\npromisify.custom = kCustomPromisifiedSymbol;\nvar kUTF16SurrogateThreshold = 65536, kEscape = \"\\x1B\", kSubstringSearch = Symbol(\"kSubstringSearch\"), kIsNodeError = Symbol(\"kIsNodeError\"), errorBases = {}, VALID_NODE_ERROR_BASES = {\n TypeError,\n RangeError,\n Error\n}, NodeError = getNodeErrorByName(\"Error\"), NodeTypeError = getNodeErrorByName(\"TypeError\"), NodeRangeError = getNodeErrorByName(\"RangeError\");\n\nclass ERR_INVALID_ARG_TYPE extends NodeTypeError {\n constructor(name, type, value) {\n super(`The \"${name}\" argument must be of type ${type}. Received type ${typeof value}`, {\n code: \"ERR_INVALID_ARG_TYPE\"\n });\n }\n}\n\nclass ERR_INVALID_ARG_VALUE extends NodeTypeError {\n constructor(name, value, reason = \"not specified\") {\n super(`The value \"${@String(value)}\" is invalid for argument '${name}'. Reason: ${reason}`, {\n code: \"ERR_INVALID_ARG_VALUE\"\n });\n }\n}\n\nclass ERR_INVALID_CURSOR_POS extends NodeTypeError {\n constructor() {\n super(\"Cannot set cursor row without setting its column\", {\n code: \"ERR_INVALID_CURSOR_POS\"\n });\n }\n}\n\nclass ERR_OUT_OF_RANGE extends NodeRangeError {\n constructor(name, range, received) {\n super(`The value of \"${name}\" is out of range. It must be ${range}. Received ${received}`, {\n code: \"ERR_OUT_OF_RANGE\"\n });\n }\n}\n\nclass ERR_USE_AFTER_CLOSE extends NodeError {\n constructor() {\n super(\"This socket has been ended by the other party\", {\n code: \"ERR_USE_AFTER_CLOSE\"\n });\n }\n}\n\nclass AbortError extends Error {\n code;\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\nvar kClearLine, kClearScreenDown, kClearToLineBeginning, kClearToLineEnd;\nCSI.kEscape = kEscape;\nCSI.kClearLine = kClearLine = CSI`2K`;\nCSI.kClearScreenDown = kClearScreenDown = CSI`0J`;\nCSI.kClearToLineBeginning = kClearToLineBeginning = CSI`1K`;\nCSI.kClearToLineEnd = kClearToLineEnd = CSI`0K`;\nvar KEYPRESS_DECODER = Symbol(\"keypress-decoder\"), ESCAPE_DECODER = Symbol(\"escape-decoder\"), ESCAPE_CODE_TIMEOUT = 500, kEmptyObject = ObjectFreeze(ObjectCreate(null)), kHistorySize = 30, kMaxUndoRedoStackSize = 2048, kMincrlfDelay = 100, lineEnding = /\\r\?\\n|\\r(\?!\\n)/g, kMaxLengthOfKillRing = 32, kLineObjectStream = Symbol(\"line object stream\"), kQuestionCancel = Symbol(\"kQuestionCancel\"), kQuestion = Symbol(\"kQuestion\"), kAddHistory = Symbol(\"_addHistory\"), kBeforeEdit = Symbol(\"_beforeEdit\"), kDecoder = Symbol(\"_decoder\"), kDeleteLeft = Symbol(\"_deleteLeft\"), kDeleteLineLeft = Symbol(\"_deleteLineLeft\"), kDeleteLineRight = Symbol(\"_deleteLineRight\"), kDeleteRight = Symbol(\"_deleteRight\"), kDeleteWordLeft = Symbol(\"_deleteWordLeft\"), kDeleteWordRight = Symbol(\"_deleteWordRight\"), kGetDisplayPos = Symbol(\"_getDisplayPos\"), kHistoryNext = Symbol(\"_historyNext\"), kHistoryPrev = Symbol(\"_historyPrev\"), kInsertString = Symbol(\"_insertString\"), kLine = Symbol(\"_line\"), kLine_buffer = Symbol(\"_line_buffer\"), kKillRing = Symbol(\"_killRing\"), kKillRingCursor = Symbol(\"_killRingCursor\"), kMoveCursor = Symbol(\"_moveCursor\"), kNormalWrite = Symbol(\"_normalWrite\"), kOldPrompt = Symbol(\"_oldPrompt\"), kOnLine = Symbol(\"_onLine\"), kPreviousKey = Symbol(\"_previousKey\"), kPrompt = Symbol(\"_prompt\"), kPushToKillRing = Symbol(\"_pushToKillRing\"), kPushToUndoStack = Symbol(\"_pushToUndoStack\"), kQuestionCallback = Symbol(\"_questionCallback\"), kRedo = Symbol(\"_redo\"), kRedoStack = Symbol(\"_redoStack\"), kRefreshLine = Symbol(\"_refreshLine\"), kSawKeyPress = Symbol(\"_sawKeyPress\"), kSawReturnAt = Symbol(\"_sawReturnAt\"), kSetRawMode = Symbol(\"_setRawMode\"), kTabComplete = Symbol(\"_tabComplete\"), kTabCompleter = Symbol(\"_tabCompleter\"), kTtyWrite = Symbol(\"_ttyWrite\"), kUndo = Symbol(\"_undo\"), kUndoStack = Symbol(\"_undoStack\"), kWordLeft = Symbol(\"_wordLeft\"), kWordRight = Symbol(\"_wordRight\"), kWriteToOutput = Symbol(\"_writeToOutput\"), kYank = Symbol(\"_yank\"), kYanking = Symbol(\"_yanking\"), kYankPop = Symbol(\"_yankPop\"), kFirstEventParam = Symbol(\"nodejs.kFirstEventParam\"), kOnSelfCloseWithTerminal = Symbol(\"_onSelfCloseWithTerminal\"), kOnSelfCloseWithoutTerminal = Symbol(\"_onSelfCloseWithoutTerminal\"), kOnKeyPress = Symbol(\"_onKeyPress\"), kOnError = Symbol(\"_onError\"), kOnData = Symbol(\"_onData\"), kOnEnd = Symbol(\"_onEnd\"), kOnTermEnd = Symbol(\"_onTermEnd\"), kOnResize = Symbol(\"_onResize\");\nInterfaceConstructor.prototype = {};\nObjectSetPrototypeOf(InterfaceConstructor.prototype, EventEmitter.prototype);\nvar _Interface = class Interface2 extends InterfaceConstructor {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n get columns() {\n var output = this.output;\n if (output && output.columns)\n return output.columns;\n return @Infinity;\n }\n setPrompt(prompt) {\n this[kPrompt] = prompt;\n }\n getPrompt() {\n return this[kPrompt];\n }\n [kSetRawMode](flag) {\n const mode = flag + 0, wasInRawMode = this.input.isRaw;\n var setRawMode = this.input.setRawMode;\n if (typeof setRawMode === \"function\")\n setRawMode.@call(this.input, mode);\n return wasInRawMode;\n }\n prompt(preserveCursor) {\n if (this.paused)\n this.resume();\n if (this.terminal) {\n if (!preserveCursor)\n this.cursor = 0;\n this[kRefreshLine]();\n } else\n this[kWriteToOutput](this[kPrompt]);\n }\n [kQuestion](query, cb) {\n if (this.closed)\n throw new ERR_USE_AFTER_CLOSE(\"readline\");\n if (this[kQuestionCallback])\n this.prompt();\n else\n this[kOldPrompt] = this[kPrompt], this.setPrompt(query), this[kQuestionCallback] = cb, this.prompt();\n }\n [kOnLine](line) {\n if (this[kQuestionCallback]) {\n var cb = this[kQuestionCallback];\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), cb(line);\n } else\n this.emit(\"line\", line);\n }\n [kBeforeEdit](oldText, oldCursor) {\n this[kPushToUndoStack](oldText, oldCursor);\n }\n [kQuestionCancel]() {\n if (this[kQuestionCallback])\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), this.clearLine();\n }\n [kWriteToOutput](stringToWrite) {\n if (validateString(stringToWrite, \"stringToWrite\"), this.output !== null && this.output !== @undefined)\n this.output.write(stringToWrite);\n }\n [kAddHistory]() {\n if (this.line.length === 0)\n return \"\";\n if (this.historySize === 0)\n return this.line;\n if (StringPrototypeTrim.@call(this.line).length === 0)\n return this.line;\n if (this.history.length === 0 || this.history[0] !== this.line) {\n if (this.removeHistoryDuplicates) {\n var dupIndex = ArrayPrototypeIndexOf.@call(this.history, this.line);\n if (dupIndex !== -1)\n ArrayPrototypeSplice.@call(this.history, dupIndex, 1);\n }\n if (ArrayPrototypeUnshift.@call(this.history, this.line), this.history.length > this.historySize)\n ArrayPrototypePop.@call(this.history);\n }\n this.historyIndex = -1;\n var line = this.history[0];\n return this.emit(\"history\", this.history), line;\n }\n [kRefreshLine]() {\n var line = this[kPrompt] + this.line, dispPos = this[kGetDisplayPos](line), lineCols = dispPos.cols, lineRows = dispPos.rows, cursorPos = this.getCursorPos(), prevRows = this.prevRows || 0;\n if (prevRows > 0)\n moveCursor(this.output, 0, -prevRows);\n if (cursorTo(this.output, 0), clearScreenDown(this.output), this[kWriteToOutput](line), lineCols === 0)\n this[kWriteToOutput](\" \");\n cursorTo(this.output, cursorPos.cols);\n var diff = lineRows - cursorPos.rows;\n if (diff > 0)\n moveCursor(this.output, 0, -diff);\n this.prevRows = cursorPos.rows;\n }\n close() {\n if (this.closed)\n return;\n if (this.pause(), this.terminal)\n this[kSetRawMode](!1);\n this.closed = !0, this.emit(\"close\");\n }\n pause() {\n if (this.paused)\n return;\n return this.input.pause(), this.paused = !0, this.emit(\"pause\"), this;\n }\n resume() {\n if (!this.paused)\n return;\n return this.input.resume(), this.paused = !1, this.emit(\"resume\"), this;\n }\n write(d, key) {\n if (this.paused)\n this.resume();\n if (this.terminal)\n this[kTtyWrite](d, key);\n else\n this[kNormalWrite](d);\n }\n [kNormalWrite](b) {\n if (b === @undefined)\n return;\n var string = this[kDecoder].write(b);\n if (this[kSawReturnAt] && DateNow() - this[kSawReturnAt] <= this.crlfDelay) {\n if (StringPrototypeCodePointAt.@call(string) === 10)\n string = StringPrototypeSlice.@call(string, 1);\n this[kSawReturnAt] = 0;\n }\n var newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n if (newPartContainsEnding !== null) {\n if (this[kLine_buffer])\n string = this[kLine_buffer] + string, this[kLine_buffer] = null, newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n this[kSawReturnAt] = StringPrototypeEndsWith.@call(string, \"\\r\") \? DateNow() : 0;\n var indexes = [0, newPartContainsEnding.index, lineEnding.lastIndex], nextMatch;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, string)) !== null)\n ArrayPrototypePush.@call(indexes, nextMatch.index, lineEnding.lastIndex);\n var lastIndex = indexes.length - 1;\n this[kLine_buffer] = StringPrototypeSlice.@call(string, indexes[lastIndex]);\n for (var i = 1;i < lastIndex; i += 2)\n this[kOnLine](StringPrototypeSlice.@call(string, indexes[i - 1], indexes[i]));\n } else if (string)\n if (this[kLine_buffer])\n this[kLine_buffer] += string;\n else\n this[kLine_buffer] = string;\n }\n [kInsertString](c) {\n if (this[kBeforeEdit](this.line, this.cursor), this.cursor < this.line.length) {\n var beg = StringPrototypeSlice.@call(this.line, 0, this.cursor), end = StringPrototypeSlice.@call(this.line, this.cursor, this.line.length);\n this.line = beg + c + end, this.cursor += c.length, this[kRefreshLine]();\n } else {\n var oldPos = this.getCursorPos();\n this.line += c, this.cursor += c.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows < newPos.rows)\n this[kRefreshLine]();\n else\n this[kWriteToOutput](c);\n }\n }\n async[kTabComplete](lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor), value;\n try {\n value = await this.completer(string);\n } catch (err) {\n this[kWriteToOutput](`Tab completion error: ${inspect(err)}`);\n return;\n } finally {\n this.resume();\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n }\n [kTabCompleter](lastKeypressWasTab, { 0: completions, 1: completeOn }) {\n if (!completions || completions.length === 0)\n return;\n var prefix = commonPrefix(ArrayPrototypeFilter.@call(completions, (e) => e !== \"\"));\n if (StringPrototypeStartsWith.@call(prefix, completeOn) && prefix.length > completeOn.length) {\n this[kInsertString](StringPrototypeSlice.@call(prefix, completeOn.length));\n return;\n } else if (!StringPrototypeStartsWith.@call(completeOn, prefix)) {\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - completeOn.length) + prefix + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = this.cursor - completeOn.length + prefix.length, this._refreshLine();\n return;\n }\n if (!lastKeypressWasTab)\n return;\n this[kBeforeEdit](this.line, this.cursor);\n var completionsWidth = ArrayPrototypeMap.@call(completions, (e) => getStringWidth(e)), width = MathMax.@apply(completionsWidth) + 2, maxColumns = MathFloor(this.columns / width) || 1;\n if (maxColumns === @Infinity)\n maxColumns = 1;\n var output = \"\\r\\n\", lineIndex = 0, whitespace = 0;\n for (var i = 0;i < completions.length; i++) {\n var completion = completions[i];\n if (completion === \"\" || lineIndex === maxColumns)\n output += \"\\r\\n\", lineIndex = 0, whitespace = 0;\n else\n output += StringPrototypeRepeat.@call(\" \", whitespace);\n if (completion !== \"\")\n output += completion, whitespace = width - completionsWidth[i], lineIndex++;\n else\n output += \"\\r\\n\";\n }\n if (lineIndex !== 0)\n output += \"\\r\\n\\r\\n\";\n this[kWriteToOutput](output), this[kRefreshLine]();\n }\n [kWordLeft]() {\n if (this.cursor > 0) {\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n this[kMoveCursor](-match[0].length);\n }\n }\n [kWordRight]() {\n if (this.cursor < this.line.length) {\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|[^\\w\\s]+|\\w+)\\s*/, trailing);\n this[kMoveCursor](match[0].length);\n }\n }\n [kDeleteLeft]() {\n if (this.cursor > 0 && this.line.length > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthLeft(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - charSize) + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor -= charSize, this[kRefreshLine]();\n }\n }\n [kDeleteRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthAt(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(this.line, this.cursor + charSize, this.line.length), this[kRefreshLine]();\n }\n }\n [kDeleteWordLeft]() {\n if (this.cursor > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n leading = StringPrototypeSlice.@call(leading, 0, leading.length - match[0].length), this.line = leading + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = leading.length, this[kRefreshLine]();\n }\n }\n [kDeleteWordRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|\\W+|\\w+)\\s*/, trailing);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(trailing, match[0].length), this[kRefreshLine]();\n }\n }\n [kDeleteLineLeft]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, this.cursor), this.cursor = 0, this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kDeleteLineRight]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor), this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kPushToKillRing](del) {\n if (!del || del === this[kKillRing][0])\n return;\n ArrayPrototypeUnshift.@call(this[kKillRing], del), this[kKillRingCursor] = 0;\n while (this[kKillRing].length > kMaxLengthOfKillRing)\n ArrayPrototypePop.@call(this[kKillRing]);\n }\n [kYank]() {\n if (this[kKillRing].length > 0)\n this[kYanking] = !0, this[kInsertString](this[kKillRing][this[kKillRingCursor]]);\n }\n [kYankPop]() {\n if (!this[kYanking])\n return;\n if (this[kKillRing].length > 1) {\n var lastYank = this[kKillRing][this[kKillRingCursor]];\n if (this[kKillRingCursor]++, this[kKillRingCursor] >= this[kKillRing].length)\n this[kKillRingCursor] = 0;\n var currentYank = this[kKillRing][this[kKillRingCursor]], head = StringPrototypeSlice.@call(this.line, 0, this.cursor - lastYank.length), tail = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = head + currentYank + tail, this.cursor = head.length + currentYank.length, this[kRefreshLine]();\n }\n }\n clearLine() {\n this[kMoveCursor](+@Infinity), this[kWriteToOutput](\"\\r\\n\"), this.line = \"\", this.cursor = 0, this.prevRows = 0;\n }\n [kLine]() {\n var line = this[kAddHistory]();\n this[kUndoStack] = [], this[kRedoStack] = [], this.clearLine(), this[kOnLine](line);\n }\n [kPushToUndoStack](text, cursor) {\n if (ArrayPrototypePush.@call(this[kUndoStack], { text, cursor }) > kMaxUndoRedoStackSize)\n ArrayPrototypeShift.@call(this[kUndoStack]);\n }\n [kUndo]() {\n if (this[kUndoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kRedoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kUndoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kRedo]() {\n if (this[kRedoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kUndoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kRedoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kHistoryNext]() {\n if (this.historyIndex >= 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex - 1;\n while (index >= 0 && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index--;\n if (index === -1)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kHistoryPrev]() {\n if (this.historyIndex < this.history.length && this.history.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex + 1;\n while (index < this.history.length && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index++;\n if (index === this.history.length)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kGetDisplayPos](str) {\n var offset = 0, col = this.columns, rows = 0;\n str = stripVTControlCharacters(str);\n for (var char of new SafeStringIterator(str)) {\n if (char === \"\\n\") {\n rows += MathCeil(offset / col) || 1, offset = 0;\n continue;\n }\n if (char === \"\\t\") {\n offset += this.tabSize - offset % this.tabSize;\n continue;\n }\n var width = getStringWidth(char, !1);\n if (width === 0 || width === 1)\n offset += width;\n else {\n if ((offset + 1) % col === 0)\n offset++;\n offset += 2;\n }\n }\n var cols = offset % col;\n return rows += (offset - cols) / col, { cols, rows };\n }\n getCursorPos() {\n var strBeforeCursor = this[kPrompt] + StringPrototypeSlice.@call(this.line, 0, this.cursor);\n return this[kGetDisplayPos](strBeforeCursor);\n }\n [kMoveCursor](dx) {\n if (dx === 0)\n return;\n var oldPos = this.getCursorPos();\n if (this.cursor += dx, this.cursor < 0)\n this.cursor = 0;\n else if (this.cursor > this.line.length)\n this.cursor = this.line.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows === newPos.rows) {\n var diffWidth = newPos.cols - oldPos.cols;\n moveCursor(this.output, diffWidth, 0);\n } else\n this[kRefreshLine]();\n }\n [kTtyWrite](s, key) {\n var previousKey = this[kPreviousKey];\n key = key || kEmptyObject, this[kPreviousKey] = key;\n var { name: keyName, meta: keyMeta, ctrl: keyCtrl2, shift: keyShift, sequence: keySeq } = key;\n if (!keyMeta || keyName !== \"y\")\n this[kYanking] = !1;\n if ((keyName === \"up\" || keyName === \"down\") && !keyCtrl2 && !keyMeta && !keyShift) {\n if (this[kSubstringSearch] === null)\n this[kSubstringSearch] = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n } else if (this[kSubstringSearch] !== null) {\n if (this[kSubstringSearch] = null, this.history.length === this.historyIndex)\n this.historyIndex = -1;\n }\n if (typeof keySeq === \"string\")\n switch (StringPrototypeCodePointAt.@call(keySeq, 0)) {\n case 31:\n this[kUndo]();\n return;\n case 30:\n this[kRedo]();\n return;\n default:\n break;\n }\n if (keyName === \"escape\")\n return;\n if (keyCtrl2 && keyShift)\n switch (keyName) {\n case \"backspace\":\n this[kDeleteLineLeft]();\n break;\n case \"delete\":\n this[kDeleteLineRight]();\n break;\n }\n else if (keyCtrl2)\n switch (keyName) {\n case \"c\":\n if (this.listenerCount(\"SIGINT\") > 0)\n this.emit(\"SIGINT\");\n else\n this.close();\n break;\n case \"h\":\n this[kDeleteLeft]();\n break;\n case \"d\":\n if (this.cursor === 0 && this.line.length === 0)\n this.close();\n else if (this.cursor < this.line.length)\n this[kDeleteRight]();\n break;\n case \"u\":\n this[kDeleteLineLeft]();\n break;\n case \"k\":\n this[kDeleteLineRight]();\n break;\n case \"a\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"e\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"b\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"f\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"l\":\n cursorTo(this.output, 0, 0), clearScreenDown(this.output), this[kRefreshLine]();\n break;\n case \"n\":\n this[kHistoryNext]();\n break;\n case \"p\":\n this[kHistoryPrev]();\n break;\n case \"y\":\n this[kYank]();\n break;\n case \"z\":\n if (this.listenerCount(\"SIGTSTP\") > 0)\n this.emit(\"SIGTSTP\");\n else\n process.once(\"SIGCONT\", () => {\n if (!this.paused)\n this.pause(), this.emit(\"SIGCONT\");\n this[kSetRawMode](!0), this[kRefreshLine]();\n }), this[kSetRawMode](!1), process.kill(process.pid, \"SIGTSTP\");\n break;\n case \"w\":\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"left\":\n this[kWordLeft]();\n break;\n case \"right\":\n this[kWordRight]();\n break;\n }\n else if (keyMeta)\n switch (keyName) {\n case \"b\":\n this[kWordLeft]();\n break;\n case \"f\":\n this[kWordRight]();\n break;\n case \"d\":\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"y\":\n this[kYankPop]();\n break;\n }\n else {\n if (this[kSawReturnAt] && keyName !== \"enter\")\n this[kSawReturnAt] = 0;\n switch (keyName) {\n case \"return\":\n this[kSawReturnAt] = DateNow(), this[kLine]();\n break;\n case \"enter\":\n if (this[kSawReturnAt] === 0 || DateNow() - this[kSawReturnAt] > this.crlfDelay)\n this[kLine]();\n this[kSawReturnAt] = 0;\n break;\n case \"backspace\":\n this[kDeleteLeft]();\n break;\n case \"delete\":\n this[kDeleteRight]();\n break;\n case \"left\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"right\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"home\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"end\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"up\":\n this[kHistoryPrev]();\n break;\n case \"down\":\n this[kHistoryNext]();\n break;\n case \"tab\":\n if (typeof this.completer === \"function\" && this.isCompletionEnabled) {\n var lastKeypressWasTab = previousKey && previousKey.name === \"tab\";\n this[kTabComplete](lastKeypressWasTab);\n break;\n }\n default:\n if (typeof s === \"string\" && s) {\n var nextMatch = RegExpPrototypeExec.@call(lineEnding, s);\n if (nextMatch !== null) {\n this[kInsertString](StringPrototypeSlice.@call(s, 0, nextMatch.index));\n var { lastIndex } = lineEnding;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, s)) !== null)\n this[kLine](), this[kInsertString](StringPrototypeSlice.@call(s, lastIndex, nextMatch.index)), { lastIndex } = lineEnding;\n if (lastIndex === s.length)\n this[kLine]();\n } else\n this[kInsertString](s);\n }\n }\n }\n }\n [SymbolAsyncIterator]() {\n if (this[kLineObjectStream] === @undefined)\n this[kLineObjectStream] = EventEmitter.on(this, \"line\", {\n close: [\"close\"],\n highWatermark: 1024,\n [kFirstEventParam]: !0\n });\n return this[kLineObjectStream];\n }\n};\nInterface.prototype = {};\nObjectSetPrototypeOf(Interface.prototype, _Interface.prototype);\nObjectSetPrototypeOf(Interface, _Interface);\nInterface.prototype.question = function question(query, options, cb) {\n if (cb = typeof options === \"function\" \? options : cb, options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return;\n var onAbort = () => {\n this[kQuestionCancel]();\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 });\n var cleanup = () => {\n signal.removeEventListener(\"abort\", onAbort);\n }, originalCb = cb;\n cb = typeof cb === \"function\" \? (answer) => {\n return cleanup(), originalCb(answer);\n } : cleanup;\n }\n if (typeof cb === \"function\")\n this[kQuestion](query, cb);\n};\nInterface.prototype.question[promisify.custom] = function question2(query, options) {\n if (options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal && signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (signal) {\n var onAbort = () => {\n reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this.question(query, options, cb);\n });\n};\nObjectDefineProperties(Interface.prototype, {\n [kSetRawMode]: {\n __proto__: null,\n get() {\n return this._setRawMode;\n }\n },\n [kOnLine]: {\n __proto__: null,\n get() {\n return this._onLine;\n }\n },\n [kWriteToOutput]: {\n __proto__: null,\n get() {\n return this._writeToOutput;\n }\n },\n [kAddHistory]: {\n __proto__: null,\n get() {\n return this._addHistory;\n }\n },\n [kRefreshLine]: {\n __proto__: null,\n get() {\n return this._refreshLine;\n }\n },\n [kNormalWrite]: {\n __proto__: null,\n get() {\n return this._normalWrite;\n }\n },\n [kInsertString]: {\n __proto__: null,\n get() {\n return this._insertString;\n }\n },\n [kTabComplete]: {\n __proto__: null,\n get() {\n return this._tabComplete;\n }\n },\n [kWordLeft]: {\n __proto__: null,\n get() {\n return this._wordLeft;\n }\n },\n [kWordRight]: {\n __proto__: null,\n get() {\n return this._wordRight;\n }\n },\n [kDeleteLeft]: {\n __proto__: null,\n get() {\n return this._deleteLeft;\n }\n },\n [kDeleteRight]: {\n __proto__: null,\n get() {\n return this._deleteRight;\n }\n },\n [kDeleteWordLeft]: {\n __proto__: null,\n get() {\n return this._deleteWordLeft;\n }\n },\n [kDeleteWordRight]: {\n __proto__: null,\n get() {\n return this._deleteWordRight;\n }\n },\n [kDeleteLineLeft]: {\n __proto__: null,\n get() {\n return this._deleteLineLeft;\n }\n },\n [kDeleteLineRight]: {\n __proto__: null,\n get() {\n return this._deleteLineRight;\n }\n },\n [kLine]: {\n __proto__: null,\n get() {\n return this._line;\n }\n },\n [kHistoryNext]: {\n __proto__: null,\n get() {\n return this._historyNext;\n }\n },\n [kHistoryPrev]: {\n __proto__: null,\n get() {\n return this._historyPrev;\n }\n },\n [kGetDisplayPos]: {\n __proto__: null,\n get() {\n return this._getDisplayPos;\n }\n },\n [kMoveCursor]: {\n __proto__: null,\n get() {\n return this._moveCursor;\n }\n },\n [kTtyWrite]: {\n __proto__: null,\n get() {\n return this._ttyWrite;\n }\n },\n _decoder: {\n __proto__: null,\n get() {\n return this[kDecoder];\n },\n set(value) {\n this[kDecoder] = value;\n }\n },\n _line_buffer: {\n __proto__: null,\n get() {\n return this[kLine_buffer];\n },\n set(value) {\n this[kLine_buffer] = value;\n }\n },\n _oldPrompt: {\n __proto__: null,\n get() {\n return this[kOldPrompt];\n },\n set(value) {\n this[kOldPrompt] = value;\n }\n },\n _previousKey: {\n __proto__: null,\n get() {\n return this[kPreviousKey];\n },\n set(value) {\n this[kPreviousKey] = value;\n }\n },\n _prompt: {\n __proto__: null,\n get() {\n return this[kPrompt];\n },\n set(value) {\n this[kPrompt] = value;\n }\n },\n _questionCallback: {\n __proto__: null,\n get() {\n return this[kQuestionCallback];\n },\n set(value) {\n this[kQuestionCallback] = value;\n }\n },\n _sawKeyPress: {\n __proto__: null,\n get() {\n return this[kSawKeyPress];\n },\n set(value) {\n this[kSawKeyPress] = value;\n }\n },\n _sawReturnAt: {\n __proto__: null,\n get() {\n return this[kSawReturnAt];\n },\n set(value) {\n this[kSawReturnAt] = value;\n }\n }\n});\nInterface.prototype._setRawMode = _Interface.prototype[kSetRawMode];\nInterface.prototype._onLine = _Interface.prototype[kOnLine];\nInterface.prototype._writeToOutput = _Interface.prototype[kWriteToOutput];\nInterface.prototype._addHistory = _Interface.prototype[kAddHistory];\nInterface.prototype._refreshLine = _Interface.prototype[kRefreshLine];\nInterface.prototype._normalWrite = _Interface.prototype[kNormalWrite];\nInterface.prototype._insertString = _Interface.prototype[kInsertString];\nInterface.prototype._tabComplete = function(lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.completer(string, (err, value) => {\n if (this.resume(), err) {\n this._writeToOutput(`Tab completion error: ${inspect(err)}`);\n return;\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n });\n};\nInterface.prototype._wordLeft = _Interface.prototype[kWordLeft];\nInterface.prototype._wordRight = _Interface.prototype[kWordRight];\nInterface.prototype._deleteLeft = _Interface.prototype[kDeleteLeft];\nInterface.prototype._deleteRight = _Interface.prototype[kDeleteRight];\nInterface.prototype._deleteWordLeft = _Interface.prototype[kDeleteWordLeft];\nInterface.prototype._deleteWordRight = _Interface.prototype[kDeleteWordRight];\nInterface.prototype._deleteLineLeft = _Interface.prototype[kDeleteLineLeft];\nInterface.prototype._deleteLineRight = _Interface.prototype[kDeleteLineRight];\nInterface.prototype._line = _Interface.prototype[kLine];\nInterface.prototype._historyNext = _Interface.prototype[kHistoryNext];\nInterface.prototype._historyPrev = _Interface.prototype[kHistoryPrev];\nInterface.prototype._getDisplayPos = _Interface.prototype[kGetDisplayPos];\nInterface.prototype._getCursorPos = _Interface.prototype.getCursorPos;\nInterface.prototype._moveCursor = _Interface.prototype[kMoveCursor];\nInterface.prototype._ttyWrite = _Interface.prototype[kTtyWrite];\n\nclass Readline {\n #autoCommit = !1;\n #stream;\n #todo = [];\n constructor(stream, options = @undefined) {\n if (isWritable \?\?= (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).isWritable, !isWritable(stream))\n throw new ERR_INVALID_ARG_TYPE(\"stream\", \"Writable\", stream);\n if (this.#stream = stream, options\?.autoCommit != null)\n validateBoolean(options.autoCommit, \"options.autoCommit\"), this.#autoCommit = options.autoCommit;\n }\n cursorTo(x, y = @undefined) {\n if (validateInteger(x, \"x\"), y != null)\n validateInteger(y, \"y\");\n var data = y == null \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n moveCursor(dx, dy) {\n if (dx || dy) {\n validateInteger(dx, \"dx\"), validateInteger(dy, \"dy\");\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n }\n return this;\n }\n clearLine(dir) {\n validateInteger(dir, \"dir\", -1, 1);\n var data = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n clearScreenDown() {\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(kClearScreenDown));\n else\n ArrayPrototypePush.@call(this.#todo, kClearScreenDown);\n return this;\n }\n commit() {\n return new @Promise((resolve) => {\n this.#stream.write(ArrayPrototypeJoin.@call(this.#todo, \"\"), resolve), this.#todo = [];\n });\n }\n rollback() {\n return this.#todo = [], this;\n }\n}\nvar PromisesInterface = class Interface3 extends _Interface {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n question(query, options = kEmptyObject) {\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n }\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (options\?.signal) {\n var onAbort = () => {\n this[kQuestionCancel](), reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this[kQuestion](query, cb);\n });\n }\n};\n$ = {\n Interface,\n clearLine,\n clearScreenDown,\n createInterface,\n cursorTo,\n emitKeypressEvents,\n moveCursor,\n promises: {\n Readline,\n Interface: PromisesInterface,\n createInterface(input, output, completer, terminal) {\n return new PromisesInterface(input, output, completer, terminal);\n }\n },\n [SymbolFor(\"__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__\")]: {\n CSI,\n utils: {\n getStringWidth,\n stripVTControlCharacters\n }\n }\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeReadlineCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/readline.ts\nvar stripVTControlCharacters = function(str) {\n return validateString(str, \"str\"), RegExpPrototypeSymbolReplace.@call(ansi, str, \"\");\n}, promisify = function(original) {\n if (validateFunction(original, \"original\"), original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n return validateFunction(fn, \"util.promisify.custom\"), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n }\n var argumentNames = original[kCustomPromisifyArgsSymbol];\n function fn(...args) {\n return new @Promise((resolve, reject) => {\n ArrayPrototypePush.@call(args, (err, ...values) => {\n if (err)\n return reject(err);\n if (argumentNames !== @undefined && values.length > 1) {\n var obj = {};\n for (var i2 = 0;i2 < argumentNames.length; i2++)\n obj[argumentNames[i2]] = values[i2];\n resolve(obj);\n } else\n resolve(values[0]);\n }), ReflectApply(original, this, args);\n });\n }\n ObjectSetPrototypeOf(fn, ObjectGetPrototypeOf(original)), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, {\n __proto__: null,\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n var descriptors = ObjectGetOwnPropertyDescriptors(original), propertiesValues = ObjectValues(descriptors);\n for (var i = 0;i < propertiesValues.length; i++)\n ObjectSetPrototypeOf(propertiesValues[i], null);\n return ObjectDefineProperties(fn, descriptors);\n}, getNodeErrorByName = function(typeName) {\n var base = errorBases[typeName];\n if (base)\n return base;\n if (!ObjectKeys(VALID_NODE_ERROR_BASES).includes(typeName))\n throw new Error(\"Invalid NodeError type\");\n var Base = VALID_NODE_ERROR_BASES[typeName];\n\n class NodeError extends Base {\n [kIsNodeError] = !0;\n code;\n constructor(msg, opts) {\n super(msg, opts);\n this.code = opts\?.code || \"ERR_GENERIC\";\n }\n toString() {\n return `${this.name} [${this.code}]: ${this.message}`;\n }\n }\n return errorBases[typeName] = NodeError, NodeError;\n}, validateFunction = function(value, name) {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Function\", value);\n}, validateAbortSignal = function(signal, name) {\n if (signal !== @undefined && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, validateArray = function(value, name, minLength = 0) {\n if (!ArrayIsArray(value))\n throw new ERR_INVALID_ARG_TYPE(name, \"Array\", value);\n if (value.length < minLength) {\n var reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name, value, reason);\n }\n}, validateString = function(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE(name, \"string\", value);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar validateInteger = function(value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, validateUint32 = function(value, name, positive = !1) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n var min = positive \? 1 : 0, max = 4294967295;\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n}, CSI = function(strings, ...args) {\n var ret = `${kEscape}[`;\n for (var n = 0;n < strings.length; n++)\n if (ret += strings[n], n < args.length)\n ret += args[n];\n return ret;\n}, charLengthLeft = function(str, i) {\n if (i <= 0)\n return 0;\n if (i > 1 && StringPrototypeCodePointAt.@call(str, i - 2) >= kUTF16SurrogateThreshold || StringPrototypeCodePointAt.@call(str, i - 1) >= kUTF16SurrogateThreshold)\n return 2;\n return 1;\n}, charLengthAt = function(str, i) {\n if (str.length <= i)\n return 1;\n return StringPrototypeCodePointAt.@call(str, i) >= kUTF16SurrogateThreshold \? 2 : 1;\n};\nfunction* emitKeys(stream) {\n while (!0) {\n var ch = yield, s = ch, escaped = !1, keySeq = null, keyName, keyCtrl2 = !1, keyMeta = !1, keyShift = !1;\n if (ch === kEscape) {\n if (escaped = !0, s += ch = yield, ch === kEscape)\n s += ch = yield;\n }\n if (escaped && (ch === \"O\" || ch === \"[\")) {\n var code = ch, modifier = 0;\n if (ch === \"O\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n modifier = (ch >> 0) - 1, s += ch = yield;\n code += ch;\n } else if (ch === \"[\") {\n if (s += ch = yield, ch === \"[\")\n code += ch, s += ch = yield;\n var cmdStart = s.length - 1;\n if (ch >= \"0\" && ch <= \"9\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += ch = yield;\n }\n if (ch === \";\") {\n if (s += ch = yield, ch >= \"0\" && ch <= \"9\")\n s += yield;\n }\n var cmd = StringPrototypeSlice.@call(s, cmdStart), match;\n if (match = RegExpPrototypeExec.@call(/^(\\d\\d\?)(;(\\d))\?([~^$])$/, cmd))\n code += match[1] + match[4], modifier = (match[3] || 1) - 1;\n else if (match = RegExpPrototypeExec.@call(/^((\\d;)\?(\\d))\?([A-Za-z])$/, cmd))\n code += match[4], modifier = (match[3] || 1) - 1;\n else\n code += cmd;\n }\n switch (keyCtrl2 = !!(modifier & 4), keyMeta = !!(modifier & 10), keyShift = !!(modifier & 1), code) {\n case \"[P\":\n keyName = \"f1\";\n break;\n case \"[Q\":\n keyName = \"f2\";\n break;\n case \"[R\":\n keyName = \"f3\";\n break;\n case \"[S\":\n keyName = \"f4\";\n break;\n case \"OP\":\n keyName = \"f1\";\n break;\n case \"OQ\":\n keyName = \"f2\";\n break;\n case \"OR\":\n keyName = \"f3\";\n break;\n case \"OS\":\n keyName = \"f4\";\n break;\n case \"[11~\":\n keyName = \"f1\";\n break;\n case \"[12~\":\n keyName = \"f2\";\n break;\n case \"[13~\":\n keyName = \"f3\";\n break;\n case \"[14~\":\n keyName = \"f4\";\n break;\n case \"[[A\":\n keyName = \"f1\";\n break;\n case \"[[B\":\n keyName = \"f2\";\n break;\n case \"[[C\":\n keyName = \"f3\";\n break;\n case \"[[D\":\n keyName = \"f4\";\n break;\n case \"[[E\":\n keyName = \"f5\";\n break;\n case \"[15~\":\n keyName = \"f5\";\n break;\n case \"[17~\":\n keyName = \"f6\";\n break;\n case \"[18~\":\n keyName = \"f7\";\n break;\n case \"[19~\":\n keyName = \"f8\";\n break;\n case \"[20~\":\n keyName = \"f9\";\n break;\n case \"[21~\":\n keyName = \"f10\";\n break;\n case \"[23~\":\n keyName = \"f11\";\n break;\n case \"[24~\":\n keyName = \"f12\";\n break;\n case \"[A\":\n keyName = \"up\";\n break;\n case \"[B\":\n keyName = \"down\";\n break;\n case \"[C\":\n keyName = \"right\";\n break;\n case \"[D\":\n keyName = \"left\";\n break;\n case \"[E\":\n keyName = \"clear\";\n break;\n case \"[F\":\n keyName = \"end\";\n break;\n case \"[H\":\n keyName = \"home\";\n break;\n case \"OA\":\n keyName = \"up\";\n break;\n case \"OB\":\n keyName = \"down\";\n break;\n case \"OC\":\n keyName = \"right\";\n break;\n case \"OD\":\n keyName = \"left\";\n break;\n case \"OE\":\n keyName = \"clear\";\n break;\n case \"OF\":\n keyName = \"end\";\n break;\n case \"OH\":\n keyName = \"home\";\n break;\n case \"[1~\":\n keyName = \"home\";\n break;\n case \"[2~\":\n keyName = \"insert\";\n break;\n case \"[3~\":\n keyName = \"delete\";\n break;\n case \"[4~\":\n keyName = \"end\";\n break;\n case \"[5~\":\n keyName = \"pageup\";\n break;\n case \"[6~\":\n keyName = \"pagedown\";\n break;\n case \"[[5~\":\n keyName = \"pageup\";\n break;\n case \"[[6~\":\n keyName = \"pagedown\";\n break;\n case \"[7~\":\n keyName = \"home\";\n break;\n case \"[8~\":\n keyName = \"end\";\n break;\n case \"[a\":\n keyName = \"up\", keyShift = !0;\n break;\n case \"[b\":\n keyName = \"down\", keyShift = !0;\n break;\n case \"[c\":\n keyName = \"right\", keyShift = !0;\n break;\n case \"[d\":\n keyName = \"left\", keyShift = !0;\n break;\n case \"[e\":\n keyName = \"clear\", keyShift = !0;\n break;\n case \"[2$\":\n keyName = \"insert\", keyShift = !0;\n break;\n case \"[3$\":\n keyName = \"delete\", keyShift = !0;\n break;\n case \"[5$\":\n keyName = \"pageup\", keyShift = !0;\n break;\n case \"[6$\":\n keyName = \"pagedown\", keyShift = !0;\n break;\n case \"[7$\":\n keyName = \"home\", keyShift = !0;\n break;\n case \"[8$\":\n keyName = \"end\", keyShift = !0;\n break;\n case \"Oa\":\n keyName = \"up\", keyCtrl2 = !0;\n break;\n case \"Ob\":\n keyName = \"down\", keyCtrl2 = !0;\n break;\n case \"Oc\":\n keyName = \"right\", keyCtrl2 = !0;\n break;\n case \"Od\":\n keyName = \"left\", keyCtrl2 = !0;\n break;\n case \"Oe\":\n keyName = \"clear\", keyCtrl2 = !0;\n break;\n case \"[2^\":\n keyName = \"insert\", keyCtrl2 = !0;\n break;\n case \"[3^\":\n keyName = \"delete\", keyCtrl2 = !0;\n break;\n case \"[5^\":\n keyName = \"pageup\", keyCtrl2 = !0;\n break;\n case \"[6^\":\n keyName = \"pagedown\", keyCtrl2 = !0;\n break;\n case \"[7^\":\n keyName = \"home\", keyCtrl2 = !0;\n break;\n case \"[8^\":\n keyName = \"end\", keyCtrl2 = !0;\n break;\n case \"[Z\":\n keyName = \"tab\", keyShift = !0;\n break;\n default:\n keyName = \"undefined\";\n break;\n }\n } else if (ch === \"\\r\")\n keyName = \"return\", keyMeta = escaped;\n else if (ch === \"\\n\")\n keyName = \"enter\", keyMeta = escaped;\n else if (ch === \"\\t\")\n keyName = \"tab\", keyMeta = escaped;\n else if (ch === \"\\b\" || ch === \"\\x7F\")\n keyName = \"backspace\", keyMeta = escaped;\n else if (ch === kEscape)\n keyName = \"escape\", keyMeta = escaped;\n else if (ch === \" \")\n keyName = \"space\", keyMeta = escaped;\n else if (!escaped && ch <= \"\\x1A\")\n keyName = StringFromCharCode(StringPrototypeCharCodeAt.@call(ch) + StringPrototypeCharCodeAt.@call(\"a\") - 1), keyCtrl2 = !0;\n else if (RegExpPrototypeExec.@call(/^[0-9A-Za-z]$/, ch) !== null)\n keyName = StringPrototypeToLowerCase.@call(ch), keyShift = RegExpPrototypeExec.@call(/^[A-Z]$/, ch) !== null, keyMeta = escaped;\n else if (escaped)\n keyName = ch.length \? @undefined : \"escape\", keyMeta = !0;\n else\n keyName = @undefined;\n if (keySeq = s, s.length !== 0 && (keyName !== @undefined || escaped))\n stream.emit(\"keypress\", escaped \? @undefined : s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n else if (charLengthAt(s, 0) === s.length)\n stream.emit(\"keypress\", s, {\n sequence: keySeq,\n name: keyName,\n ctrl: keyCtrl2,\n meta: keyMeta,\n shift: keyShift\n });\n }\n}\nvar commonPrefix = function(strings) {\n if (strings.length === 0)\n return \"\";\n if (strings.length === 1)\n return strings[0];\n var sorted = ArrayPrototypeSort.@call(ArrayPrototypeSlice.@call(strings)), min = sorted[0], max = sorted[sorted.length - 1];\n for (var i = 0;i < min.length; i++)\n if (min[i] !== max[i])\n return StringPrototypeSlice.@call(min, 0, i);\n return min;\n}, cursorTo = function(stream, x, y, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (typeof y === \"function\")\n callback = y, y = @undefined;\n if (NumberIsNaN(x))\n throw new ERR_INVALID_ARG_VALUE(\"x\", x);\n if (NumberIsNaN(y))\n throw new ERR_INVALID_ARG_VALUE(\"y\", y);\n if (stream == null || typeof x !== \"number\" && typeof y !== \"number\") {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n if (typeof x !== \"number\")\n throw new ERR_INVALID_CURSOR_POS;\n var data = typeof y !== \"number\" \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n return stream.write(data, callback);\n}, moveCursor = function(stream, dx, dy, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream == null || !(dx || dy)) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n return stream.write(data, callback);\n}, clearLine = function(stream, dir, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n var type = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n return stream.write(type, callback);\n}, clearScreenDown = function(stream, callback) {\n if (callback !== @undefined)\n validateFunction(callback, \"callback\");\n if (stream === null || stream === @undefined) {\n if (typeof callback === \"function\")\n process.nextTick(callback, null);\n return !0;\n }\n return stream.write(kClearScreenDown, callback);\n}, emitKeypressEvents = function(stream, iface = {}) {\n if (stream[KEYPRESS_DECODER])\n return;\n stream[KEYPRESS_DECODER] = new StringDecoder(\"utf8\"), stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next();\n var triggerEscape = () => stream[ESCAPE_DECODER].next(\"\"), { escapeCodeTimeout = ESCAPE_CODE_TIMEOUT } = iface, timeoutId;\n function onData(input) {\n if (stream.listenerCount(\"keypress\") > 0) {\n var string = stream[KEYPRESS_DECODER].write(input);\n if (string) {\n clearTimeout(timeoutId), iface[kSawKeyPress] = charLengthAt(string, 0) === string.length, iface.isCompletionEnabled = !1;\n var length = 0;\n for (var character of new SafeStringIterator(string)) {\n if (length += character.length, length === string.length)\n iface.isCompletionEnabled = !0;\n try {\n if (stream[ESCAPE_DECODER].next(character), length === string.length && character === kEscape)\n timeoutId = setTimeout(triggerEscape, escapeCodeTimeout);\n } catch (err) {\n throw stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next(), err;\n }\n }\n }\n } else\n stream.removeListener(\"data\", onData), stream.on(\"newListener\", onNewListener);\n }\n function onNewListener(event) {\n if (event === \"keypress\")\n stream.on(\"data\", onData), stream.removeListener(\"newListener\", onNewListener);\n }\n if (stream.listenerCount(\"keypress\") > 0)\n stream.on(\"data\", onData);\n else\n stream.on(\"newListener\", onNewListener);\n}, onSelfCloseWithTerminal = function() {\n var input = this.input, output = this.output;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n if (input.removeListener(\"keypress\", this[kOnKeyPress]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnTermEnd]), output !== null && output !== @undefined)\n output.removeListener(\"resize\", this[kOnResize]);\n}, onSelfCloseWithoutTerminal = function() {\n var input = this.input;\n if (!input)\n throw new Error(\"Input not set, invalid state for readline!\");\n input.removeListener(\"data\", this[kOnData]), input.removeListener(\"error\", this[kOnError]), input.removeListener(\"end\", this[kOnEnd]);\n}, onError = function(err) {\n this.emit(\"error\", err);\n}, onData = function(data) {\n debug(\"onData\"), this[kNormalWrite](data);\n}, onEnd = function() {\n if (debug(\"onEnd\"), typeof this[kLine_buffer] === \"string\" && this[kLine_buffer].length > 0)\n this.emit(\"line\", this[kLine_buffer]);\n this.close();\n}, onTermEnd = function() {\n if (debug(\"onTermEnd\"), typeof this.line === \"string\" && this.line.length > 0)\n this.emit(\"line\", this.line);\n this.close();\n}, onKeyPress = function(s, key) {\n if (this[kTtyWrite](s, key), key && key.sequence) {\n var ch = StringPrototypeCodePointAt.@call(key.sequence, 0);\n if (ch >= 55296 && ch <= 57343)\n this[kRefreshLine]();\n }\n}, onResize = function() {\n this[kRefreshLine]();\n}, InterfaceConstructor = function(input, output, completer, terminal) {\n if (!(this instanceof InterfaceConstructor))\n return new InterfaceConstructor(input, output, completer, terminal);\n EventEmitter.@call(this), this[kOnSelfCloseWithoutTerminal] = onSelfCloseWithoutTerminal.bind(this), this[kOnSelfCloseWithTerminal] = onSelfCloseWithTerminal.bind(this), this[kOnError] = onError.bind(this), this[kOnData] = onData.bind(this), this[kOnEnd] = onEnd.bind(this), this[kOnTermEnd] = onTermEnd.bind(this), this[kOnKeyPress] = onKeyPress.bind(this), this[kOnResize] = onResize.bind(this), this[kSawReturnAt] = 0, this.isCompletionEnabled = !0, this[kSawKeyPress] = !1, this[kPreviousKey] = null, this.escapeCodeTimeout = ESCAPE_CODE_TIMEOUT, this.tabSize = 8;\n var history, historySize, removeHistoryDuplicates = !1, crlfDelay, prompt = \"> \", signal;\n if (input\?.input) {\n output = input.output, completer = input.completer, terminal = input.terminal, history = input.history, historySize = input.historySize, signal = input.signal;\n var tabSize = input.tabSize;\n if (tabSize !== @undefined)\n validateUint32(tabSize, \"tabSize\", !0), this.tabSize = tabSize;\n removeHistoryDuplicates = input.removeHistoryDuplicates;\n var inputPrompt = input.prompt;\n if (inputPrompt !== @undefined)\n prompt = inputPrompt;\n var inputEscapeCodeTimeout = input.escapeCodeTimeout;\n if (inputEscapeCodeTimeout !== @undefined)\n if (NumberIsFinite(inputEscapeCodeTimeout))\n this.escapeCodeTimeout = inputEscapeCodeTimeout;\n else\n throw new ERR_INVALID_ARG_VALUE(\"input.escapeCodeTimeout\", this.escapeCodeTimeout);\n if (signal)\n validateAbortSignal(signal, \"options.signal\");\n crlfDelay = input.crlfDelay, input = input.input;\n }\n if (completer !== @undefined && typeof completer !== \"function\")\n throw new ERR_INVALID_ARG_VALUE(\"completer\", completer);\n if (history === @undefined)\n history = [];\n else\n validateArray(history, \"history\");\n if (historySize === @undefined)\n historySize = kHistorySize;\n if (typeof historySize !== \"number\" || NumberIsNaN(historySize) || historySize < 0)\n throw new ERR_INVALID_ARG_VALUE(\"historySize\", historySize);\n if (terminal === @undefined && !(output === null || output === @undefined))\n terminal = !!output.isTTY;\n if (this.line = \"\", this[kSubstringSearch] = null, this.output = output, this.input = input, this[kUndoStack] = [], this[kRedoStack] = [], this.history = history, this.historySize = historySize, this[kKillRing] = [], this[kKillRingCursor] = 0, this.removeHistoryDuplicates = !!removeHistoryDuplicates, this.crlfDelay = crlfDelay \? MathMax(kMincrlfDelay, crlfDelay) : kMincrlfDelay, this.completer = completer, this.setPrompt(prompt), this.terminal = !!terminal, this[kLineObjectStream] = @undefined, input.on(\"error\", this[kOnError]), !this.terminal)\n input.on(\"data\", this[kOnData]), input.on(\"end\", this[kOnEnd]), this.once(\"close\", this[kOnSelfCloseWithoutTerminal]), this[kDecoder] = new StringDecoder(\"utf8\");\n else {\n if (emitKeypressEvents(input, this), input.on(\"keypress\", this[kOnKeyPress]), input.on(\"end\", this[kOnTermEnd]), this[kSetRawMode](!0), this.terminal = !0, this.cursor = 0, this.historyIndex = -1, output !== null && output !== @undefined)\n output.on(\"resize\", this[kOnResize]);\n this.once(\"close\", this[kOnSelfCloseWithTerminal]);\n }\n if (signal) {\n var onAborted = (() => this.close()).bind(this);\n if (signal.aborted)\n process.nextTick(onAborted);\n else\n signal.addEventListener(\"abort\", onAborted, { once: !0 }), this.once(\"close\", () => signal.removeEventListener(\"abort\", onAborted));\n }\n this.line = \"\", input.resume();\n}, Interface = function(input, output, completer, terminal) {\n if (!(this instanceof Interface))\n return new Interface(input, output, completer, terminal);\n if (input\?.input && typeof input.completer === \"function\" && input.completer.length !== 2) {\n var { completer } = input;\n input.completer = (v, cb) => cb(null, completer(v));\n } else if (typeof completer === \"function\" && completer.length !== 2) {\n var realCompleter = completer;\n completer = (v, cb) => cb(null, realCompleter(v));\n }\n InterfaceConstructor.@call(this, input, output, completer, terminal);\n}, createInterface = function(input, output, completer, terminal) {\n return new Interface(input, output, completer, terminal);\n};\nvar $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { StringDecoder } = @requireNativeModule(\"string_decoder\"), isWritable, { inspect } = Bun, debug = process.env.BUN_JS_DEBUG \? console.log : () => {\n}, SymbolAsyncIterator = Symbol.asyncIterator, SymbolIterator = Symbol.iterator, SymbolFor = Symbol.for, SymbolReplace = Symbol.replace, ArrayFrom = @Array.from, ArrayIsArray = @Array.isArray, ArrayPrototypeFilter = @Array.prototype.filter, ArrayPrototypeSort = @Array.prototype.sort, ArrayPrototypeIndexOf = @Array.prototype.indexOf, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeMap = @Array.prototype.map, ArrayPrototypePop = @Array.prototype.pop, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSlice = @Array.prototype.slice, ArrayPrototypeSplice = @Array.prototype.splice, ArrayPrototypeReverse = @Array.prototype.reverse, ArrayPrototypeShift = @Array.prototype.shift, ArrayPrototypeUnshift = @Array.prototype.unshift, RegExpPrototypeExec = @RegExp.prototype.exec, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, StringPrototypeCodePointAt = @String.prototype.codePointAt, StringPrototypeSlice = @String.prototype.slice, StringPrototypeToLowerCase = @String.prototype.toLowerCase, StringPrototypeEndsWith = @String.prototype.endsWith, StringPrototypeRepeat = @String.prototype.repeat, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeTrim = @String.prototype.trim, StringPrototypeNormalize = @String.prototype.normalize, NumberIsNaN = Number.isNaN, NumberIsFinite = Number.isFinite, NumberIsInteger = Number.isInteger, NumberMAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER, NumberMIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER, MathCeil = Math.ceil, MathFloor = Math.floor, MathMax = Math.max, DateNow = Date.now, FunctionPrototype = Function.prototype, StringPrototype = @String.prototype, StringPrototypeSymbolIterator = StringPrototype[SymbolIterator], StringIteratorPrototypeNext = StringPrototypeSymbolIterator.@call(\"\").next, ObjectSetPrototypeOf = Object.setPrototypeOf, ObjectDefineProperty = Object.defineProperty, ObjectDefineProperties = Object.defineProperties, ObjectFreeze = Object.freeze;\nvar { create: ObjectCreate, keys: ObjectKeys } = Object;\nvar createSafeIterator = (factory, next) => {\n class SafeIterator {\n #iterator;\n constructor(iterable) {\n this.#iterator = factory.@call(iterable);\n }\n next() {\n return next.@call(this.#iterator);\n }\n [SymbolIterator]() {\n return this;\n }\n }\n return ObjectSetPrototypeOf(SafeIterator.prototype, null), ObjectFreeze(SafeIterator.prototype), ObjectFreeze(SafeIterator), SafeIterator;\n}, SafeStringIterator = createSafeIterator(StringPrototypeSymbolIterator, StringIteratorPrototypeNext), isFullWidthCodePoint = (code) => {\n return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141);\n}, isZeroWidthCodePoint = (code) => {\n return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999;\n}, getStringWidth = function getStringWidth2(str, removeControlChars = !0) {\n var width = 0;\n if (removeControlChars)\n str = stripVTControlCharacters(str);\n str = StringPrototypeNormalize.@call(str, \"NFC\");\n for (var char of new SafeStringIterator(str)) {\n var code = StringPrototypeCodePointAt.@call(char, 0);\n if (isFullWidthCodePoint(code))\n width += 2;\n else if (!isZeroWidthCodePoint(code))\n width++;\n }\n return width;\n}, ansiPattern = \"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\", ansi = new @RegExp(ansiPattern, \"g\"), kCustomPromisifiedSymbol = SymbolFor(\"nodejs.util.promisify.custom\"), kCustomPromisifyArgsSymbol = Symbol(\"customPromisifyArgs\");\npromisify.custom = kCustomPromisifiedSymbol;\nvar kUTF16SurrogateThreshold = 65536, kEscape = \"\\x1B\", kSubstringSearch = Symbol(\"kSubstringSearch\"), kIsNodeError = Symbol(\"kIsNodeError\"), errorBases = {}, VALID_NODE_ERROR_BASES = {\n TypeError,\n RangeError,\n Error\n}, NodeError = getNodeErrorByName(\"Error\"), NodeTypeError = getNodeErrorByName(\"TypeError\"), NodeRangeError = getNodeErrorByName(\"RangeError\");\n\nclass ERR_INVALID_ARG_TYPE extends NodeTypeError {\n constructor(name, type, value) {\n super(`The \"${name}\" argument must be of type ${type}. Received type ${typeof value}`, {\n code: \"ERR_INVALID_ARG_TYPE\"\n });\n }\n}\n\nclass ERR_INVALID_ARG_VALUE extends NodeTypeError {\n constructor(name, value, reason = \"not specified\") {\n super(`The value \"${@String(value)}\" is invalid for argument '${name}'. Reason: ${reason}`, {\n code: \"ERR_INVALID_ARG_VALUE\"\n });\n }\n}\n\nclass ERR_INVALID_CURSOR_POS extends NodeTypeError {\n constructor() {\n super(\"Cannot set cursor row without setting its column\", {\n code: \"ERR_INVALID_CURSOR_POS\"\n });\n }\n}\n\nclass ERR_OUT_OF_RANGE extends NodeRangeError {\n constructor(name, range, received) {\n super(`The value of \"${name}\" is out of range. It must be ${range}. Received ${received}`, {\n code: \"ERR_OUT_OF_RANGE\"\n });\n }\n}\n\nclass ERR_USE_AFTER_CLOSE extends NodeError {\n constructor() {\n super(\"This socket has been ended by the other party\", {\n code: \"ERR_USE_AFTER_CLOSE\"\n });\n }\n}\n\nclass AbortError extends Error {\n code;\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\nvar kClearLine, kClearScreenDown, kClearToLineBeginning, kClearToLineEnd;\nCSI.kEscape = kEscape;\nCSI.kClearLine = kClearLine = CSI`2K`;\nCSI.kClearScreenDown = kClearScreenDown = CSI`0J`;\nCSI.kClearToLineBeginning = kClearToLineBeginning = CSI`1K`;\nCSI.kClearToLineEnd = kClearToLineEnd = CSI`0K`;\nvar KEYPRESS_DECODER = Symbol(\"keypress-decoder\"), ESCAPE_DECODER = Symbol(\"escape-decoder\"), ESCAPE_CODE_TIMEOUT = 500, kEmptyObject = ObjectFreeze(ObjectCreate(null)), kHistorySize = 30, kMaxUndoRedoStackSize = 2048, kMincrlfDelay = 100, lineEnding = /\\r\?\\n|\\r(\?!\\n)/g, kMaxLengthOfKillRing = 32, kLineObjectStream = Symbol(\"line object stream\"), kQuestionCancel = Symbol(\"kQuestionCancel\"), kQuestion = Symbol(\"kQuestion\"), kAddHistory = Symbol(\"_addHistory\"), kBeforeEdit = Symbol(\"_beforeEdit\"), kDecoder = Symbol(\"_decoder\"), kDeleteLeft = Symbol(\"_deleteLeft\"), kDeleteLineLeft = Symbol(\"_deleteLineLeft\"), kDeleteLineRight = Symbol(\"_deleteLineRight\"), kDeleteRight = Symbol(\"_deleteRight\"), kDeleteWordLeft = Symbol(\"_deleteWordLeft\"), kDeleteWordRight = Symbol(\"_deleteWordRight\"), kGetDisplayPos = Symbol(\"_getDisplayPos\"), kHistoryNext = Symbol(\"_historyNext\"), kHistoryPrev = Symbol(\"_historyPrev\"), kInsertString = Symbol(\"_insertString\"), kLine = Symbol(\"_line\"), kLine_buffer = Symbol(\"_line_buffer\"), kKillRing = Symbol(\"_killRing\"), kKillRingCursor = Symbol(\"_killRingCursor\"), kMoveCursor = Symbol(\"_moveCursor\"), kNormalWrite = Symbol(\"_normalWrite\"), kOldPrompt = Symbol(\"_oldPrompt\"), kOnLine = Symbol(\"_onLine\"), kPreviousKey = Symbol(\"_previousKey\"), kPrompt = Symbol(\"_prompt\"), kPushToKillRing = Symbol(\"_pushToKillRing\"), kPushToUndoStack = Symbol(\"_pushToUndoStack\"), kQuestionCallback = Symbol(\"_questionCallback\"), kRedo = Symbol(\"_redo\"), kRedoStack = Symbol(\"_redoStack\"), kRefreshLine = Symbol(\"_refreshLine\"), kSawKeyPress = Symbol(\"_sawKeyPress\"), kSawReturnAt = Symbol(\"_sawReturnAt\"), kSetRawMode = Symbol(\"_setRawMode\"), kTabComplete = Symbol(\"_tabComplete\"), kTabCompleter = Symbol(\"_tabCompleter\"), kTtyWrite = Symbol(\"_ttyWrite\"), kUndo = Symbol(\"_undo\"), kUndoStack = Symbol(\"_undoStack\"), kWordLeft = Symbol(\"_wordLeft\"), kWordRight = Symbol(\"_wordRight\"), kWriteToOutput = Symbol(\"_writeToOutput\"), kYank = Symbol(\"_yank\"), kYanking = Symbol(\"_yanking\"), kYankPop = Symbol(\"_yankPop\"), kFirstEventParam = Symbol(\"nodejs.kFirstEventParam\"), kOnSelfCloseWithTerminal = Symbol(\"_onSelfCloseWithTerminal\"), kOnSelfCloseWithoutTerminal = Symbol(\"_onSelfCloseWithoutTerminal\"), kOnKeyPress = Symbol(\"_onKeyPress\"), kOnError = Symbol(\"_onError\"), kOnData = Symbol(\"_onData\"), kOnEnd = Symbol(\"_onEnd\"), kOnTermEnd = Symbol(\"_onTermEnd\"), kOnResize = Symbol(\"_onResize\");\nInterfaceConstructor.prototype = {};\nObjectSetPrototypeOf(InterfaceConstructor.prototype, EventEmitter.prototype);\nvar _Interface = class Interface2 extends InterfaceConstructor {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n get columns() {\n var output = this.output;\n if (output && output.columns)\n return output.columns;\n return @Infinity;\n }\n setPrompt(prompt) {\n this[kPrompt] = prompt;\n }\n getPrompt() {\n return this[kPrompt];\n }\n [kSetRawMode](flag) {\n const mode = flag + 0, wasInRawMode = this.input.isRaw;\n var setRawMode = this.input.setRawMode;\n if (typeof setRawMode === \"function\")\n setRawMode.@call(this.input, mode);\n return wasInRawMode;\n }\n prompt(preserveCursor) {\n if (this.paused)\n this.resume();\n if (this.terminal) {\n if (!preserveCursor)\n this.cursor = 0;\n this[kRefreshLine]();\n } else\n this[kWriteToOutput](this[kPrompt]);\n }\n [kQuestion](query, cb) {\n if (this.closed)\n throw new ERR_USE_AFTER_CLOSE(\"readline\");\n if (this[kQuestionCallback])\n this.prompt();\n else\n this[kOldPrompt] = this[kPrompt], this.setPrompt(query), this[kQuestionCallback] = cb, this.prompt();\n }\n [kOnLine](line) {\n if (this[kQuestionCallback]) {\n var cb = this[kQuestionCallback];\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), cb(line);\n } else\n this.emit(\"line\", line);\n }\n [kBeforeEdit](oldText, oldCursor) {\n this[kPushToUndoStack](oldText, oldCursor);\n }\n [kQuestionCancel]() {\n if (this[kQuestionCallback])\n this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), this.clearLine();\n }\n [kWriteToOutput](stringToWrite) {\n if (validateString(stringToWrite, \"stringToWrite\"), this.output !== null && this.output !== @undefined)\n this.output.write(stringToWrite);\n }\n [kAddHistory]() {\n if (this.line.length === 0)\n return \"\";\n if (this.historySize === 0)\n return this.line;\n if (StringPrototypeTrim.@call(this.line).length === 0)\n return this.line;\n if (this.history.length === 0 || this.history[0] !== this.line) {\n if (this.removeHistoryDuplicates) {\n var dupIndex = ArrayPrototypeIndexOf.@call(this.history, this.line);\n if (dupIndex !== -1)\n ArrayPrototypeSplice.@call(this.history, dupIndex, 1);\n }\n if (ArrayPrototypeUnshift.@call(this.history, this.line), this.history.length > this.historySize)\n ArrayPrototypePop.@call(this.history);\n }\n this.historyIndex = -1;\n var line = this.history[0];\n return this.emit(\"history\", this.history), line;\n }\n [kRefreshLine]() {\n var line = this[kPrompt] + this.line, dispPos = this[kGetDisplayPos](line), lineCols = dispPos.cols, lineRows = dispPos.rows, cursorPos = this.getCursorPos(), prevRows = this.prevRows || 0;\n if (prevRows > 0)\n moveCursor(this.output, 0, -prevRows);\n if (cursorTo(this.output, 0), clearScreenDown(this.output), this[kWriteToOutput](line), lineCols === 0)\n this[kWriteToOutput](\" \");\n cursorTo(this.output, cursorPos.cols);\n var diff = lineRows - cursorPos.rows;\n if (diff > 0)\n moveCursor(this.output, 0, -diff);\n this.prevRows = cursorPos.rows;\n }\n close() {\n if (this.closed)\n return;\n if (this.pause(), this.terminal)\n this[kSetRawMode](!1);\n this.closed = !0, this.emit(\"close\");\n }\n pause() {\n if (this.paused)\n return;\n return this.input.pause(), this.paused = !0, this.emit(\"pause\"), this;\n }\n resume() {\n if (!this.paused)\n return;\n return this.input.resume(), this.paused = !1, this.emit(\"resume\"), this;\n }\n write(d, key) {\n if (this.paused)\n this.resume();\n if (this.terminal)\n this[kTtyWrite](d, key);\n else\n this[kNormalWrite](d);\n }\n [kNormalWrite](b) {\n if (b === @undefined)\n return;\n var string = this[kDecoder].write(b);\n if (this[kSawReturnAt] && DateNow() - this[kSawReturnAt] <= this.crlfDelay) {\n if (StringPrototypeCodePointAt.@call(string) === 10)\n string = StringPrototypeSlice.@call(string, 1);\n this[kSawReturnAt] = 0;\n }\n var newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n if (newPartContainsEnding !== null) {\n if (this[kLine_buffer])\n string = this[kLine_buffer] + string, this[kLine_buffer] = null, newPartContainsEnding = RegExpPrototypeExec.@call(lineEnding, string);\n this[kSawReturnAt] = StringPrototypeEndsWith.@call(string, \"\\r\") \? DateNow() : 0;\n var indexes = [0, newPartContainsEnding.index, lineEnding.lastIndex], nextMatch;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, string)) !== null)\n ArrayPrototypePush.@call(indexes, nextMatch.index, lineEnding.lastIndex);\n var lastIndex = indexes.length - 1;\n this[kLine_buffer] = StringPrototypeSlice.@call(string, indexes[lastIndex]);\n for (var i = 1;i < lastIndex; i += 2)\n this[kOnLine](StringPrototypeSlice.@call(string, indexes[i - 1], indexes[i]));\n } else if (string)\n if (this[kLine_buffer])\n this[kLine_buffer] += string;\n else\n this[kLine_buffer] = string;\n }\n [kInsertString](c) {\n if (this[kBeforeEdit](this.line, this.cursor), this.cursor < this.line.length) {\n var beg = StringPrototypeSlice.@call(this.line, 0, this.cursor), end = StringPrototypeSlice.@call(this.line, this.cursor, this.line.length);\n this.line = beg + c + end, this.cursor += c.length, this[kRefreshLine]();\n } else {\n var oldPos = this.getCursorPos();\n this.line += c, this.cursor += c.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows < newPos.rows)\n this[kRefreshLine]();\n else\n this[kWriteToOutput](c);\n }\n }\n async[kTabComplete](lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor), value;\n try {\n value = await this.completer(string);\n } catch (err) {\n this[kWriteToOutput](`Tab completion error: ${inspect(err)}`);\n return;\n } finally {\n this.resume();\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n }\n [kTabCompleter](lastKeypressWasTab, { 0: completions, 1: completeOn }) {\n if (!completions || completions.length === 0)\n return;\n var prefix = commonPrefix(ArrayPrototypeFilter.@call(completions, (e) => e !== \"\"));\n if (StringPrototypeStartsWith.@call(prefix, completeOn) && prefix.length > completeOn.length) {\n this[kInsertString](StringPrototypeSlice.@call(prefix, completeOn.length));\n return;\n } else if (!StringPrototypeStartsWith.@call(completeOn, prefix)) {\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - completeOn.length) + prefix + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = this.cursor - completeOn.length + prefix.length, this._refreshLine();\n return;\n }\n if (!lastKeypressWasTab)\n return;\n this[kBeforeEdit](this.line, this.cursor);\n var completionsWidth = ArrayPrototypeMap.@call(completions, (e) => getStringWidth(e)), width = MathMax.@apply(completionsWidth) + 2, maxColumns = MathFloor(this.columns / width) || 1;\n if (maxColumns === @Infinity)\n maxColumns = 1;\n var output = \"\\r\\n\", lineIndex = 0, whitespace = 0;\n for (var i = 0;i < completions.length; i++) {\n var completion = completions[i];\n if (completion === \"\" || lineIndex === maxColumns)\n output += \"\\r\\n\", lineIndex = 0, whitespace = 0;\n else\n output += StringPrototypeRepeat.@call(\" \", whitespace);\n if (completion !== \"\")\n output += completion, whitespace = width - completionsWidth[i], lineIndex++;\n else\n output += \"\\r\\n\";\n }\n if (lineIndex !== 0)\n output += \"\\r\\n\\r\\n\";\n this[kWriteToOutput](output), this[kRefreshLine]();\n }\n [kWordLeft]() {\n if (this.cursor > 0) {\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n this[kMoveCursor](-match[0].length);\n }\n }\n [kWordRight]() {\n if (this.cursor < this.line.length) {\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|[^\\w\\s]+|\\w+)\\s*/, trailing);\n this[kMoveCursor](match[0].length);\n }\n }\n [kDeleteLeft]() {\n if (this.cursor > 0 && this.line.length > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthLeft(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor - charSize) + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor -= charSize, this[kRefreshLine]();\n }\n }\n [kDeleteRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var charSize = charLengthAt(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(this.line, this.cursor + charSize, this.line.length), this[kRefreshLine]();\n }\n }\n [kDeleteWordLeft]() {\n if (this.cursor > 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var leading = StringPrototypeSlice.@call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.@call(ArrayPrototypeReverse.@call(ArrayFrom(leading)), \"\"), match = RegExpPrototypeExec.@call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/, reversed);\n leading = StringPrototypeSlice.@call(leading, 0, leading.length - match[0].length), this.line = leading + StringPrototypeSlice.@call(this.line, this.cursor, this.line.length), this.cursor = leading.length, this[kRefreshLine]();\n }\n }\n [kDeleteWordRight]() {\n if (this.cursor < this.line.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var trailing = StringPrototypeSlice.@call(this.line, this.cursor), match = RegExpPrototypeExec.@call(/^(\?:\\s+|\\W+|\\w+)\\s*/, trailing);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor) + StringPrototypeSlice.@call(trailing, match[0].length), this[kRefreshLine]();\n }\n }\n [kDeleteLineLeft]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, this.cursor), this.cursor = 0, this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kDeleteLineRight]() {\n this[kBeforeEdit](this.line, this.cursor);\n var del = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = StringPrototypeSlice.@call(this.line, 0, this.cursor), this[kPushToKillRing](del), this[kRefreshLine]();\n }\n [kPushToKillRing](del) {\n if (!del || del === this[kKillRing][0])\n return;\n ArrayPrototypeUnshift.@call(this[kKillRing], del), this[kKillRingCursor] = 0;\n while (this[kKillRing].length > kMaxLengthOfKillRing)\n ArrayPrototypePop.@call(this[kKillRing]);\n }\n [kYank]() {\n if (this[kKillRing].length > 0)\n this[kYanking] = !0, this[kInsertString](this[kKillRing][this[kKillRingCursor]]);\n }\n [kYankPop]() {\n if (!this[kYanking])\n return;\n if (this[kKillRing].length > 1) {\n var lastYank = this[kKillRing][this[kKillRingCursor]];\n if (this[kKillRingCursor]++, this[kKillRingCursor] >= this[kKillRing].length)\n this[kKillRingCursor] = 0;\n var currentYank = this[kKillRing][this[kKillRingCursor]], head = StringPrototypeSlice.@call(this.line, 0, this.cursor - lastYank.length), tail = StringPrototypeSlice.@call(this.line, this.cursor);\n this.line = head + currentYank + tail, this.cursor = head.length + currentYank.length, this[kRefreshLine]();\n }\n }\n clearLine() {\n this[kMoveCursor](+@Infinity), this[kWriteToOutput](\"\\r\\n\"), this.line = \"\", this.cursor = 0, this.prevRows = 0;\n }\n [kLine]() {\n var line = this[kAddHistory]();\n this[kUndoStack] = [], this[kRedoStack] = [], this.clearLine(), this[kOnLine](line);\n }\n [kPushToUndoStack](text, cursor) {\n if (ArrayPrototypePush.@call(this[kUndoStack], { text, cursor }) > kMaxUndoRedoStackSize)\n ArrayPrototypeShift.@call(this[kUndoStack]);\n }\n [kUndo]() {\n if (this[kUndoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kRedoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kUndoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kRedo]() {\n if (this[kRedoStack].length <= 0)\n return;\n ArrayPrototypePush.@call(this[kUndoStack], {\n text: this.line,\n cursor: this.cursor\n });\n var entry = ArrayPrototypePop.@call(this[kRedoStack]);\n this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine]();\n }\n [kHistoryNext]() {\n if (this.historyIndex >= 0) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex - 1;\n while (index >= 0 && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index--;\n if (index === -1)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kHistoryPrev]() {\n if (this.historyIndex < this.history.length && this.history.length) {\n this[kBeforeEdit](this.line, this.cursor);\n var search = this[kSubstringSearch] || \"\", index = this.historyIndex + 1;\n while (index < this.history.length && (!StringPrototypeStartsWith.@call(this.history[index], search) || this.line === this.history[index]))\n index++;\n if (index === this.history.length)\n this.line = search;\n else\n this.line = this.history[index];\n this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine]();\n }\n }\n [kGetDisplayPos](str) {\n var offset = 0, col = this.columns, rows = 0;\n str = stripVTControlCharacters(str);\n for (var char of new SafeStringIterator(str)) {\n if (char === \"\\n\") {\n rows += MathCeil(offset / col) || 1, offset = 0;\n continue;\n }\n if (char === \"\\t\") {\n offset += this.tabSize - offset % this.tabSize;\n continue;\n }\n var width = getStringWidth(char, !1);\n if (width === 0 || width === 1)\n offset += width;\n else {\n if ((offset + 1) % col === 0)\n offset++;\n offset += 2;\n }\n }\n var cols = offset % col;\n return rows += (offset - cols) / col, { cols, rows };\n }\n getCursorPos() {\n var strBeforeCursor = this[kPrompt] + StringPrototypeSlice.@call(this.line, 0, this.cursor);\n return this[kGetDisplayPos](strBeforeCursor);\n }\n [kMoveCursor](dx) {\n if (dx === 0)\n return;\n var oldPos = this.getCursorPos();\n if (this.cursor += dx, this.cursor < 0)\n this.cursor = 0;\n else if (this.cursor > this.line.length)\n this.cursor = this.line.length;\n var newPos = this.getCursorPos();\n if (oldPos.rows === newPos.rows) {\n var diffWidth = newPos.cols - oldPos.cols;\n moveCursor(this.output, diffWidth, 0);\n } else\n this[kRefreshLine]();\n }\n [kTtyWrite](s, key) {\n var previousKey = this[kPreviousKey];\n key = key || kEmptyObject, this[kPreviousKey] = key;\n var { name: keyName, meta: keyMeta, ctrl: keyCtrl2, shift: keyShift, sequence: keySeq } = key;\n if (!keyMeta || keyName !== \"y\")\n this[kYanking] = !1;\n if ((keyName === \"up\" || keyName === \"down\") && !keyCtrl2 && !keyMeta && !keyShift) {\n if (this[kSubstringSearch] === null)\n this[kSubstringSearch] = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n } else if (this[kSubstringSearch] !== null) {\n if (this[kSubstringSearch] = null, this.history.length === this.historyIndex)\n this.historyIndex = -1;\n }\n if (typeof keySeq === \"string\")\n switch (StringPrototypeCodePointAt.@call(keySeq, 0)) {\n case 31:\n this[kUndo]();\n return;\n case 30:\n this[kRedo]();\n return;\n default:\n break;\n }\n if (keyName === \"escape\")\n return;\n if (keyCtrl2 && keyShift)\n switch (keyName) {\n case \"backspace\":\n this[kDeleteLineLeft]();\n break;\n case \"delete\":\n this[kDeleteLineRight]();\n break;\n }\n else if (keyCtrl2)\n switch (keyName) {\n case \"c\":\n if (this.listenerCount(\"SIGINT\") > 0)\n this.emit(\"SIGINT\");\n else\n this.close();\n break;\n case \"h\":\n this[kDeleteLeft]();\n break;\n case \"d\":\n if (this.cursor === 0 && this.line.length === 0)\n this.close();\n else if (this.cursor < this.line.length)\n this[kDeleteRight]();\n break;\n case \"u\":\n this[kDeleteLineLeft]();\n break;\n case \"k\":\n this[kDeleteLineRight]();\n break;\n case \"a\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"e\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"b\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"f\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"l\":\n cursorTo(this.output, 0, 0), clearScreenDown(this.output), this[kRefreshLine]();\n break;\n case \"n\":\n this[kHistoryNext]();\n break;\n case \"p\":\n this[kHistoryPrev]();\n break;\n case \"y\":\n this[kYank]();\n break;\n case \"z\":\n if (this.listenerCount(\"SIGTSTP\") > 0)\n this.emit(\"SIGTSTP\");\n else\n process.once(\"SIGCONT\", () => {\n if (!this.paused)\n this.pause(), this.emit(\"SIGCONT\");\n this[kSetRawMode](!0), this[kRefreshLine]();\n }), this[kSetRawMode](!1), process.kill(process.pid, \"SIGTSTP\");\n break;\n case \"w\":\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"left\":\n this[kWordLeft]();\n break;\n case \"right\":\n this[kWordRight]();\n break;\n }\n else if (keyMeta)\n switch (keyName) {\n case \"b\":\n this[kWordLeft]();\n break;\n case \"f\":\n this[kWordRight]();\n break;\n case \"d\":\n case \"delete\":\n this[kDeleteWordRight]();\n break;\n case \"backspace\":\n this[kDeleteWordLeft]();\n break;\n case \"y\":\n this[kYankPop]();\n break;\n }\n else {\n if (this[kSawReturnAt] && keyName !== \"enter\")\n this[kSawReturnAt] = 0;\n switch (keyName) {\n case \"return\":\n this[kSawReturnAt] = DateNow(), this[kLine]();\n break;\n case \"enter\":\n if (this[kSawReturnAt] === 0 || DateNow() - this[kSawReturnAt] > this.crlfDelay)\n this[kLine]();\n this[kSawReturnAt] = 0;\n break;\n case \"backspace\":\n this[kDeleteLeft]();\n break;\n case \"delete\":\n this[kDeleteRight]();\n break;\n case \"left\":\n this[kMoveCursor](-charLengthLeft(this.line, this.cursor));\n break;\n case \"right\":\n this[kMoveCursor](+charLengthAt(this.line, this.cursor));\n break;\n case \"home\":\n this[kMoveCursor](-@Infinity);\n break;\n case \"end\":\n this[kMoveCursor](+@Infinity);\n break;\n case \"up\":\n this[kHistoryPrev]();\n break;\n case \"down\":\n this[kHistoryNext]();\n break;\n case \"tab\":\n if (typeof this.completer === \"function\" && this.isCompletionEnabled) {\n var lastKeypressWasTab = previousKey && previousKey.name === \"tab\";\n this[kTabComplete](lastKeypressWasTab);\n break;\n }\n default:\n if (typeof s === \"string\" && s) {\n var nextMatch = RegExpPrototypeExec.@call(lineEnding, s);\n if (nextMatch !== null) {\n this[kInsertString](StringPrototypeSlice.@call(s, 0, nextMatch.index));\n var { lastIndex } = lineEnding;\n while ((nextMatch = RegExpPrototypeExec.@call(lineEnding, s)) !== null)\n this[kLine](), this[kInsertString](StringPrototypeSlice.@call(s, lastIndex, nextMatch.index)), { lastIndex } = lineEnding;\n if (lastIndex === s.length)\n this[kLine]();\n } else\n this[kInsertString](s);\n }\n }\n }\n }\n [SymbolAsyncIterator]() {\n if (this[kLineObjectStream] === @undefined)\n this[kLineObjectStream] = EventEmitter.on(this, \"line\", {\n close: [\"close\"],\n highWatermark: 1024,\n [kFirstEventParam]: !0\n });\n return this[kLineObjectStream];\n }\n};\nInterface.prototype = {};\nObjectSetPrototypeOf(Interface.prototype, _Interface.prototype);\nObjectSetPrototypeOf(Interface, _Interface);\nInterface.prototype.question = function question(query, options, cb) {\n if (cb = typeof options === \"function\" \? options : cb, options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return;\n var onAbort = () => {\n this[kQuestionCancel]();\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 });\n var cleanup = () => {\n signal.removeEventListener(\"abort\", onAbort);\n }, originalCb = cb;\n cb = typeof cb === \"function\" \? (answer) => {\n return cleanup(), originalCb(answer);\n } : cleanup;\n }\n if (typeof cb === \"function\")\n this[kQuestion](query, cb);\n};\nInterface.prototype.question[promisify.custom] = function question2(query, options) {\n if (options === null || typeof options !== \"object\")\n options = kEmptyObject;\n var signal = options\?.signal;\n if (signal && signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (signal) {\n var onAbort = () => {\n reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this.question(query, options, cb);\n });\n};\nObjectDefineProperties(Interface.prototype, {\n [kSetRawMode]: {\n __proto__: null,\n get() {\n return this._setRawMode;\n }\n },\n [kOnLine]: {\n __proto__: null,\n get() {\n return this._onLine;\n }\n },\n [kWriteToOutput]: {\n __proto__: null,\n get() {\n return this._writeToOutput;\n }\n },\n [kAddHistory]: {\n __proto__: null,\n get() {\n return this._addHistory;\n }\n },\n [kRefreshLine]: {\n __proto__: null,\n get() {\n return this._refreshLine;\n }\n },\n [kNormalWrite]: {\n __proto__: null,\n get() {\n return this._normalWrite;\n }\n },\n [kInsertString]: {\n __proto__: null,\n get() {\n return this._insertString;\n }\n },\n [kTabComplete]: {\n __proto__: null,\n get() {\n return this._tabComplete;\n }\n },\n [kWordLeft]: {\n __proto__: null,\n get() {\n return this._wordLeft;\n }\n },\n [kWordRight]: {\n __proto__: null,\n get() {\n return this._wordRight;\n }\n },\n [kDeleteLeft]: {\n __proto__: null,\n get() {\n return this._deleteLeft;\n }\n },\n [kDeleteRight]: {\n __proto__: null,\n get() {\n return this._deleteRight;\n }\n },\n [kDeleteWordLeft]: {\n __proto__: null,\n get() {\n return this._deleteWordLeft;\n }\n },\n [kDeleteWordRight]: {\n __proto__: null,\n get() {\n return this._deleteWordRight;\n }\n },\n [kDeleteLineLeft]: {\n __proto__: null,\n get() {\n return this._deleteLineLeft;\n }\n },\n [kDeleteLineRight]: {\n __proto__: null,\n get() {\n return this._deleteLineRight;\n }\n },\n [kLine]: {\n __proto__: null,\n get() {\n return this._line;\n }\n },\n [kHistoryNext]: {\n __proto__: null,\n get() {\n return this._historyNext;\n }\n },\n [kHistoryPrev]: {\n __proto__: null,\n get() {\n return this._historyPrev;\n }\n },\n [kGetDisplayPos]: {\n __proto__: null,\n get() {\n return this._getDisplayPos;\n }\n },\n [kMoveCursor]: {\n __proto__: null,\n get() {\n return this._moveCursor;\n }\n },\n [kTtyWrite]: {\n __proto__: null,\n get() {\n return this._ttyWrite;\n }\n },\n _decoder: {\n __proto__: null,\n get() {\n return this[kDecoder];\n },\n set(value) {\n this[kDecoder] = value;\n }\n },\n _line_buffer: {\n __proto__: null,\n get() {\n return this[kLine_buffer];\n },\n set(value) {\n this[kLine_buffer] = value;\n }\n },\n _oldPrompt: {\n __proto__: null,\n get() {\n return this[kOldPrompt];\n },\n set(value) {\n this[kOldPrompt] = value;\n }\n },\n _previousKey: {\n __proto__: null,\n get() {\n return this[kPreviousKey];\n },\n set(value) {\n this[kPreviousKey] = value;\n }\n },\n _prompt: {\n __proto__: null,\n get() {\n return this[kPrompt];\n },\n set(value) {\n this[kPrompt] = value;\n }\n },\n _questionCallback: {\n __proto__: null,\n get() {\n return this[kQuestionCallback];\n },\n set(value) {\n this[kQuestionCallback] = value;\n }\n },\n _sawKeyPress: {\n __proto__: null,\n get() {\n return this[kSawKeyPress];\n },\n set(value) {\n this[kSawKeyPress] = value;\n }\n },\n _sawReturnAt: {\n __proto__: null,\n get() {\n return this[kSawReturnAt];\n },\n set(value) {\n this[kSawReturnAt] = value;\n }\n }\n});\nInterface.prototype._setRawMode = _Interface.prototype[kSetRawMode];\nInterface.prototype._onLine = _Interface.prototype[kOnLine];\nInterface.prototype._writeToOutput = _Interface.prototype[kWriteToOutput];\nInterface.prototype._addHistory = _Interface.prototype[kAddHistory];\nInterface.prototype._refreshLine = _Interface.prototype[kRefreshLine];\nInterface.prototype._normalWrite = _Interface.prototype[kNormalWrite];\nInterface.prototype._insertString = _Interface.prototype[kInsertString];\nInterface.prototype._tabComplete = function(lastKeypressWasTab) {\n this.pause();\n var string = StringPrototypeSlice.@call(this.line, 0, this.cursor);\n this.completer(string, (err, value) => {\n if (this.resume(), err) {\n this._writeToOutput(`Tab completion error: ${inspect(err)}`);\n return;\n }\n this[kTabCompleter](lastKeypressWasTab, value);\n });\n};\nInterface.prototype._wordLeft = _Interface.prototype[kWordLeft];\nInterface.prototype._wordRight = _Interface.prototype[kWordRight];\nInterface.prototype._deleteLeft = _Interface.prototype[kDeleteLeft];\nInterface.prototype._deleteRight = _Interface.prototype[kDeleteRight];\nInterface.prototype._deleteWordLeft = _Interface.prototype[kDeleteWordLeft];\nInterface.prototype._deleteWordRight = _Interface.prototype[kDeleteWordRight];\nInterface.prototype._deleteLineLeft = _Interface.prototype[kDeleteLineLeft];\nInterface.prototype._deleteLineRight = _Interface.prototype[kDeleteLineRight];\nInterface.prototype._line = _Interface.prototype[kLine];\nInterface.prototype._historyNext = _Interface.prototype[kHistoryNext];\nInterface.prototype._historyPrev = _Interface.prototype[kHistoryPrev];\nInterface.prototype._getDisplayPos = _Interface.prototype[kGetDisplayPos];\nInterface.prototype._getCursorPos = _Interface.prototype.getCursorPos;\nInterface.prototype._moveCursor = _Interface.prototype[kMoveCursor];\nInterface.prototype._ttyWrite = _Interface.prototype[kTtyWrite];\n\nclass Readline {\n #autoCommit = !1;\n #stream;\n #todo = [];\n constructor(stream, options = @undefined) {\n if (isWritable \?\?= (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).isWritable, !isWritable(stream))\n throw new ERR_INVALID_ARG_TYPE(\"stream\", \"Writable\", stream);\n if (this.#stream = stream, options\?.autoCommit != null)\n validateBoolean(options.autoCommit, \"options.autoCommit\"), this.#autoCommit = options.autoCommit;\n }\n cursorTo(x, y = @undefined) {\n if (validateInteger(x, \"x\"), y != null)\n validateInteger(y, \"y\");\n var data = y == null \? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n moveCursor(dx, dy) {\n if (dx || dy) {\n validateInteger(dx, \"dx\"), validateInteger(dy, \"dy\");\n var data = \"\";\n if (dx < 0)\n data += CSI`${-dx}D`;\n else if (dx > 0)\n data += CSI`${dx}C`;\n if (dy < 0)\n data += CSI`${-dy}A`;\n else if (dy > 0)\n data += CSI`${dy}B`;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n }\n return this;\n }\n clearLine(dir) {\n validateInteger(dir, \"dir\", -1, 1);\n var data = dir < 0 \? kClearToLineBeginning : dir > 0 \? kClearToLineEnd : kClearLine;\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(data));\n else\n ArrayPrototypePush.@call(this.#todo, data);\n return this;\n }\n clearScreenDown() {\n if (this.#autoCommit)\n process.nextTick(() => this.#stream.write(kClearScreenDown));\n else\n ArrayPrototypePush.@call(this.#todo, kClearScreenDown);\n return this;\n }\n commit() {\n return new @Promise((resolve) => {\n this.#stream.write(ArrayPrototypeJoin.@call(this.#todo, \"\"), resolve), this.#todo = [];\n });\n }\n rollback() {\n return this.#todo = [], this;\n }\n}\nvar PromisesInterface = class Interface3 extends _Interface {\n constructor(input, output, completer, terminal) {\n super(input, output, completer, terminal);\n }\n question(query, options = kEmptyObject) {\n var signal = options\?.signal;\n if (signal) {\n if (validateAbortSignal(signal, \"options.signal\"), signal.aborted)\n return PromiseReject(new AbortError(@undefined, { cause: signal.reason }));\n }\n return new @Promise((resolve, reject) => {\n var cb = resolve;\n if (options\?.signal) {\n var onAbort = () => {\n this[kQuestionCancel](), reject(new AbortError(@undefined, { cause: signal.reason }));\n };\n signal.addEventListener(\"abort\", onAbort, { once: !0 }), cb = (answer) => {\n signal.removeEventListener(\"abort\", onAbort), resolve(answer);\n };\n }\n this[kQuestion](query, cb);\n });\n }\n};\n$ = {\n Interface,\n clearLine,\n clearScreenDown,\n createInterface,\n cursorTo,\n emitKeypressEvents,\n moveCursor,\n promises: {\n Readline,\n Interface: PromisesInterface,\n createInterface(input, output, completer, terminal) {\n return new PromisesInterface(input, output, completer, terminal);\n }\n },\n [SymbolFor(\"__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__\")]: {\n CSI,\n utils: {\n getStringWidth,\n stripVTControlCharacters\n }\n }\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeReadlinePromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/readline.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).promises})\n"); +static constexpr ASCIILiteral NodeReadlinePromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/readline.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).promises})\n"); // // -static constexpr ASCIILiteral NodeReplCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/repl.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n lines: [],\n context: globalThis,\n historyIndex: -1,\n cursor: 0,\n historySize: 1000,\n removeHistoryDuplicates: !1,\n crlfDelay: 100,\n completer: () => {\n throwNotImplemented(\"node:repl\");\n },\n history: [],\n _initialPrompt: \"> \",\n terminal: !0,\n input: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n line: \"\",\n eval: () => {\n throwNotImplemented(\"node:repl\");\n },\n isCompletionEnabled: !0,\n escapeCodeTimeout: 500,\n tabSize: 8,\n breakEvalOnSigint: !0,\n useGlobal: !0,\n underscoreAssigned: !1,\n last: @undefined,\n _domain: @undefined,\n allowBlockingCompletions: !1,\n useColors: !0,\n output: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n _builtinLibs: [\n \"bun\",\n \"ffi\",\n \"assert\",\n \"assert/strict\",\n \"async_hooks\",\n \"buffer\",\n \"child_process\",\n \"cluster\",\n \"console\",\n \"constants\",\n \"crypto\",\n \"dgram\",\n \"diagnostics_channel\",\n \"dns\",\n \"dns/promises\",\n \"domain\",\n \"events\",\n \"fs\",\n \"fs/promises\",\n \"http\",\n \"http2\",\n \"https\",\n \"inspector\",\n \"inspector/promises\",\n \"module\",\n \"net\",\n \"os\",\n \"path\",\n \"path/posix\",\n \"path/win32\",\n \"perf_hooks\",\n \"process\",\n \"punycode\",\n \"querystring\",\n \"readline\",\n \"readline/promises\",\n \"repl\",\n \"stream\",\n \"stream/consumers\",\n \"stream/promises\",\n \"stream/web\",\n \"string_decoder\",\n \"sys\",\n \"timers\",\n \"timers/promises\",\n \"tls\",\n \"trace_events\",\n \"tty\",\n \"url\",\n \"util\",\n \"util/types\",\n \"v8\",\n \"vm\",\n \"wasi\",\n \"worker_threads\",\n \"zlib\"\n ]\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeReplCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/repl.ts\nvar $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6);\n$ = {\n lines: [],\n context: globalThis,\n historyIndex: -1,\n cursor: 0,\n historySize: 1000,\n removeHistoryDuplicates: !1,\n crlfDelay: 100,\n completer: () => {\n throwNotImplemented(\"node:repl\");\n },\n history: [],\n _initialPrompt: \"> \",\n terminal: !0,\n input: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n line: \"\",\n eval: () => {\n throwNotImplemented(\"node:repl\");\n },\n isCompletionEnabled: !0,\n escapeCodeTimeout: 500,\n tabSize: 8,\n breakEvalOnSigint: !0,\n useGlobal: !0,\n underscoreAssigned: !1,\n last: @undefined,\n _domain: @undefined,\n allowBlockingCompletions: !1,\n useColors: !0,\n output: new Proxy({}, {\n get() {\n throwNotImplemented(\"node:repl\");\n },\n has: () => !1,\n ownKeys: () => [],\n getOwnPropertyDescriptor: () => @undefined,\n set() {\n throwNotImplemented(\"node:repl\");\n }\n }),\n _builtinLibs: [\n \"bun\",\n \"ffi\",\n \"assert\",\n \"assert/strict\",\n \"async_hooks\",\n \"buffer\",\n \"child_process\",\n \"cluster\",\n \"console\",\n \"constants\",\n \"crypto\",\n \"dgram\",\n \"diagnostics_channel\",\n \"dns\",\n \"dns/promises\",\n \"domain\",\n \"events\",\n \"fs\",\n \"fs/promises\",\n \"http\",\n \"http2\",\n \"https\",\n \"inspector\",\n \"inspector/promises\",\n \"module\",\n \"net\",\n \"os\",\n \"path\",\n \"path/posix\",\n \"path/win32\",\n \"perf_hooks\",\n \"process\",\n \"punycode\",\n \"querystring\",\n \"readline\",\n \"readline/promises\",\n \"repl\",\n \"stream\",\n \"stream/consumers\",\n \"stream/promises\",\n \"stream/web\",\n \"string_decoder\",\n \"sys\",\n \"timers\",\n \"timers/promises\",\n \"tls\",\n \"trace_events\",\n \"tty\",\n \"url\",\n \"util\",\n \"util/types\",\n \"v8\",\n \"vm\",\n \"wasi\",\n \"worker_threads\",\n \"zlib\"\n ]\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeStreamConsumersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.consumers.ts\nvar $, arrayBuffer = Bun.readableStreamToArrayBuffer, text = Bun.readableStreamToText, json = (stream) => Bun.readableStreamToText(stream).then(JSON.parse), buffer = async (readableStream) => {\n return new @Buffer(await arrayBuffer(readableStream));\n}, blob = Bun.readableStreamToBlob;\n$ = {\n arrayBuffer,\n text,\n json,\n buffer,\n blob\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeStreamConsumersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.consumers.ts\nvar $, arrayBuffer = Bun.readableStreamToArrayBuffer, text = Bun.readableStreamToText, json = (stream) => Bun.readableStreamToText(stream).then(JSON.parse), buffer = async (readableStream) => {\n return new @Buffer(await arrayBuffer(readableStream));\n}, blob = Bun.readableStreamToBlob;\n$ = {\n arrayBuffer,\n text,\n json,\n buffer,\n blob\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeStreamCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.ts\nvar isReadableStream = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @ReadableStream;\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n return new Error(`The argument '${name}' is invalid. Received '${value}' for type '${type}'`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value '${value}' is invalid for argument '${name}'. Reason: ${reason}`);\n}, createNativeStreamReadable = function(nativeType, Readable) {\n var [pull, start, cancel, setClose, deinit, updateRef, drainFn] = @lazy(nativeType), closer = [!1], handleNumberResult = function(nativeReadable, result, view, isClosed) {\n if (result > 0) {\n const slice = view.subarray(0, result), remainder = view.subarray(result);\n if (slice.byteLength > 0)\n nativeReadable.push(slice);\n if (isClosed)\n nativeReadable.push(null);\n return remainder.byteLength > 0 \? remainder : @undefined;\n }\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, handleArrayBufferViewResult = function(nativeReadable, result, view, isClosed) {\n if (result.byteLength > 0)\n nativeReadable.push(result);\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, DYNAMICALLY_ADJUST_CHUNK_SIZE = process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE !== \"1\";\n const finalizer = new FinalizationRegistry((ptr) => ptr && deinit(ptr)), MIN_BUFFER_SIZE = 512;\n var NativeReadable = class NativeReadable2 extends Readable {\n #bunNativePtr;\n #refCount = 1;\n #constructed = !1;\n #remainingChunk = @undefined;\n #highWaterMark;\n #pendingRead = !1;\n #hasResized = !DYNAMICALLY_ADJUST_CHUNK_SIZE;\n #unregisterToken;\n constructor(ptr, options = {}) {\n super(options);\n if (typeof options.highWaterMark === \"number\")\n this.#highWaterMark = options.highWaterMark;\n else\n this.#highWaterMark = 262144;\n this.#bunNativePtr = ptr, this.#constructed = !1, this.#remainingChunk = @undefined, this.#pendingRead = !1, this.#unregisterToken = {}, finalizer.register(this, this.#bunNativePtr, this.#unregisterToken);\n }\n _read(maxToRead) {\n if (this.#pendingRead)\n return;\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n this.push(null);\n return;\n }\n if (!this.#constructed)\n this.#internalConstruct(ptr);\n return this.#internalRead(this.#getRemainingChunk(maxToRead), ptr);\n }\n #internalConstruct(ptr) {\n this.#constructed = !0;\n const result = start(ptr, this.#highWaterMark);\n if (typeof result === \"number\" && result > 1)\n this.#hasResized = !0, this.#highWaterMark = Math.min(this.#highWaterMark, result);\n if (drainFn) {\n const drainResult = drainFn(ptr);\n if ((drainResult\?.byteLength \?\? 0) > 0)\n this.push(drainResult);\n }\n }\n #getRemainingChunk(maxToRead = this.#highWaterMark) {\n var chunk = this.#remainingChunk;\n if (chunk\?.byteLength \?\? 0 < MIN_BUFFER_SIZE) {\n var size = maxToRead > MIN_BUFFER_SIZE \? maxToRead : MIN_BUFFER_SIZE;\n this.#remainingChunk = chunk = new @Buffer(size);\n }\n return chunk;\n }\n #handleResult(result, view, isClosed) {\n if (typeof result === \"number\") {\n if (result >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleNumberResult(this, result, view, isClosed);\n } else if (typeof result === \"boolean\")\n return process.nextTick(() => {\n this.push(null);\n }), view\?.byteLength \?\? 0 > 0 \? view : @undefined;\n else if (@ArrayBuffer.isView(result)) {\n if (result.byteLength >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleArrayBufferViewResult(this, result, view, isClosed);\n } else\n throw new Error(\"Invalid result from pull\");\n }\n #internalRead(view, ptr) {\n closer[0] = !1;\n var result = pull(ptr, view, closer);\n if (@isPromise(result))\n return this.#pendingRead = !0, result.then((result2) => {\n this.#pendingRead = !1, this.#remainingChunk = this.#handleResult(result2, view, closer[0]);\n }, (reason) => {\n errorOrDestroy(this, reason);\n });\n else\n this.#remainingChunk = this.#handleResult(result, view, closer[0]);\n }\n _destroy(error, callback) {\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n callback(error);\n return;\n }\n if (finalizer.unregister(this.#unregisterToken), this.#bunNativePtr = 0, updateRef)\n updateRef(ptr, !1);\n cancel(ptr, error), callback(error);\n }\n ref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount++ === 0)\n updateRef(ptr, !0);\n }\n unref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount-- === 1)\n updateRef(ptr, !1);\n }\n };\n if (!updateRef)\n NativeReadable.prototype.ref = @undefined, NativeReadable.prototype.unref = @undefined;\n return NativeReadable;\n}, getNativeReadableStreamPrototype = function(nativeType, Readable) {\n return nativeReadableStreamPrototypes[nativeType] ||= createNativeStreamReadable(nativeType, Readable);\n}, getNativeReadableStream = function(Readable, stream, options) {\n if (!(stream && typeof stream === \"object\" && stream instanceof @ReadableStream))\n return @undefined;\n const native = @direct(stream);\n if (!native)\n return @undefined;\n const { stream: ptr, data: type } = native;\n return new (getNativeReadableStreamPrototype(type, Readable))(ptr, options);\n}, NativeWritable = function(pathOrFdOrSink, options = {}) {\n Writable.@call(this, options), this[_native] = !0, this._construct = NativeWritable_internalConstruct, this._destroy = NativeWritable_internalDestroy, this._final = NativeWritable_internalFinal, this[_pathOrFdOrSink] = pathOrFdOrSink;\n}, NativeWritable_internalConstruct = function(cb) {\n if (this._writableState.constructed = !0, this.constructed = !0, typeof cb === \"function\")\n cb();\n process.nextTick(() => {\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n });\n}, NativeWritable_lazyConstruct = function(stream) {\n var sink = stream[_pathOrFdOrSink];\n if (typeof sink === \"object\")\n if (typeof sink.write === \"function\")\n return stream[_fileSink] = sink;\n else\n throw new Error(\"Invalid FileSink\");\n else\n return stream[_fileSink] = Bun.file(sink).writer();\n}, NativeWritable_internalDestroy = function(error, cb) {\n const w = this._writableState, r = this._readableState;\n if (w)\n w.destroyed = !0, w.closeEmitted = !0;\n if (r)\n r.destroyed = !0, r.closeEmitted = !0;\n if (typeof cb === \"function\")\n cb(error);\n if (w\?.closeEmitted || r\?.closeEmitted)\n this.emit(\"close\");\n}, NativeWritable_internalFinal = function(cb) {\n var sink = this[_fileSink];\n if (sink)\n sink.end();\n if (cb)\n cb();\n}, EE = @lazy(\"events\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, runOnNextTick = process.nextTick;\nvar ArrayIsArray = @Array.isArray, require_primordials = __commonJS({\n \"node_modules/readable-stream/lib/ours/primordials.js\"(exports, module) {\n module.exports = {\n ArrayIsArray(self) {\n return @Array.isArray(self);\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el);\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el);\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep);\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn);\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el);\n },\n ArrayPrototypePush(self, el) {\n return self.push(el);\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.@call(thisArgs, ...args);\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].@call(self, instance);\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props);\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop);\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name);\n },\n ObjectKeys(obj) {\n return Object.keys(obj);\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto);\n },\n Promise: @Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn);\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn);\n },\n PromiseReject(err) {\n return @Promise.reject(err);\n },\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n RegExpPrototypeTest(self, value) {\n return self.test(value);\n },\n SafeSet: Set,\n String: @String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase();\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase();\n },\n StringPrototypeTrim(self) {\n return self.trim();\n },\n Symbol,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len);\n },\n Uint8Array: @Uint8Array\n };\n }\n}), require_util = __commonJS({\n \"node_modules/readable-stream/lib/ours/util.js\"(exports, module) {\n var AsyncFunction = Object.getPrototypeOf(async function() {\n }).constructor, isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, AggregateError = class extends Error {\n constructor(errors) {\n if (!@Array.isArray(errors))\n @throwTypeError(`Expected input to be an Array, got ${typeof errors}`);\n let message = \"\";\n for (let i = 0;i < errors.length; i++)\n message += ` ${errors[i].stack}\n`;\n super(message);\n this.name = \"AggregateError\", this.errors = errors;\n }\n };\n module.exports = {\n AggregateError,\n once(callback) {\n let called = !1;\n return function(...args) {\n if (called)\n return;\n called = !0, callback.@apply(this, args);\n };\n },\n createDeferredPromise: function() {\n let resolve, reject;\n return {\n promise: new @Promise((res, rej) => {\n resolve = res, reject = rej;\n }),\n resolve,\n reject\n };\n },\n promisify(fn) {\n return new @Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err)\n return reject(err);\n return resolve(...args);\n });\n });\n },\n debuglog() {\n return function() {\n };\n },\n format(format, ...args) {\n return format.replace(/%([sdifj])/g, function(...[_unused, type]) {\n const replacement = args.shift();\n if (type === \"f\")\n return replacement.toFixed(6);\n else if (type === \"j\")\n return JSON.stringify(replacement);\n else if (type === \"s\" && typeof replacement === \"object\")\n return `${replacement.constructor !== Object \? replacement.constructor.name : \"\"} {}`.trim();\n else\n return replacement.toString();\n });\n },\n inspect(value) {\n switch (typeof value) {\n case \"string\":\n if (value.includes(\"'\")) {\n if (!value.includes('\"'))\n return `\"${value}\"`;\n else if (!value.includes(\"`\") && !value.includes(\"${\"))\n return `\\`${value}\\``;\n }\n return `'${value}'`;\n case \"number\":\n if (isNaN(value))\n return \"NaN\";\n else if (Object.is(value, -0))\n return @String(value);\n return value;\n case \"bigint\":\n return `${@String(value)}n`;\n case \"boolean\":\n case \"undefined\":\n return @String(value);\n case \"object\":\n return \"{}\";\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction;\n },\n isArrayBufferView(arr) {\n return @ArrayBuffer.isView(arr);\n }\n },\n isBlob\n }, module.exports.promisify.custom = Symbol.for(\"nodejs.util.promisify.custom\");\n }\n}), require_errors = __commonJS({\n \"node_modules/readable-stream/lib/ours/errors.js\"(exports, module) {\n var { format, inspect, AggregateError: CustomAggregateError } = require_util(), AggregateError = globalThis.AggregateError || CustomAggregateError, kIsNodeError = Symbol(\"kIsNodeError\"), kTypes = [\"string\", \"function\", \"number\", \"object\", \"Function\", \"Object\", \"boolean\", \"bigint\", \"symbol\"], classRegExp = /^([A-Z][a-z0-9]*)+$/, nodeInternalPrefix = \"__node_internal_\", codes = {};\n function assert(value, message) {\n if (!value)\n throw new codes.ERR_INTERNAL_ASSERTION(message);\n }\n function addNumericalSeparator(val) {\n let res = \"\", i = val.length;\n const start = val[0] === \"-\" \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n res = `_${val.slice(i - 3, i)}${res}`;\n return `${val.slice(0, i)}${res}`;\n }\n function getMessage(key, msg, args) {\n if (typeof msg === \"function\")\n return assert(msg.length <= args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`), msg(...args);\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;\n if (assert(expectedLength === args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`), args.length === 0)\n return msg;\n return format(msg, ...args);\n }\n function E(code, message, Base) {\n if (!Base)\n Base = Error;\n\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args));\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`;\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: !0,\n enumerable: !1,\n configurable: !0\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`;\n },\n writable: !0,\n enumerable: !1,\n configurable: !0\n }\n }), NodeError.prototype.code = code, NodeError.prototype[kIsNodeError] = !0, codes[code] = NodeError;\n }\n function hideStackFrames(fn) {\n const hidden = nodeInternalPrefix + fn.name;\n return Object.defineProperty(fn, \"name\", {\n value: hidden\n }), fn;\n }\n function aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (@Array.isArray(outerError.errors))\n return outerError.errors.push(innerError), outerError;\n const err = new AggregateError([outerError, innerError], outerError.message);\n return err.code = outerError.code, err;\n }\n return innerError || outerError;\n }\n var AbortError2 = class extends Error {\n constructor(message = \"The operation was aborted\", options = void 0) {\n if (options !== void 0 && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n };\n E(\"ERR_ASSERTION\", \"%s\", Error), E(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !@Array.isArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (name.endsWith(\" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${name.includes(\".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), kTypes.includes(value))\n types.push(value.toLowerCase());\n else if (classRegExp.test(value))\n instances.push(value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), other.push(value);\n if (instances.length > 0) {\n const pos = types.indexOf(\"object\");\n if (pos !== -1)\n types.splice(types, pos, 1), instances.push(\"Object\");\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`;\n break;\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`;\n break;\n default: {\n const last = types.pop();\n msg += `one of type ${types.join(\", \")}, or ${last}`;\n }\n }\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`;\n break;\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`;\n break;\n default: {\n const last = instances.pop();\n msg += `an instance of ${instances.join(\", \")}, or ${last}`;\n }\n }\n if (other.length > 0)\n msg += \" or \";\n }\n switch (other.length) {\n case 0:\n break;\n case 1:\n if (other[0].toLowerCase() !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n break;\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`;\n break;\n default: {\n const last = other.pop();\n msg += `one of ${other.join(\", \")}, or ${last}`;\n }\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\") {\n var _actual$constructor;\n if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else {\n const inspected = inspect(actual, {\n depth: -1\n });\n msg += `. Received ${inspected}`;\n }\n } else {\n let inspected = inspect(actual, {\n colors: !1\n });\n if (inspected.length > 25)\n inspected = `${inspected.slice(0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }, TypeError), E(\"ERR_INVALID_ARG_VALUE\", (name, value, reason = \"is invalid\") => {\n let inspected = inspect(value);\n if (inspected.length > 128)\n inspected = inspected.slice(0, 128) + \"...\";\n return `The ${name.includes(\".\") \? \"property\" : \"argument\"} '${name}' ${reason}. Received ${inspected}`;\n }, TypeError), E(\"ERR_INVALID_RETURN_VALUE\", (input, name, value) => {\n var _value$constructor;\n const type = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name \? `instance of ${value.constructor.name}` : `type ${typeof value}`;\n return `Expected ${input} to be returned from the \"${name}\" function but got ${type}.`;\n }, TypeError), E(\"ERR_MISSING_ARGS\", (...args) => {\n assert(args.length > 0, \"At least one arg needs to be specified\");\n let msg;\n const len = args.length;\n switch (args = (@Array.isArray(args) \? args : [args]).map((a) => `\"${a}\"`).join(\" or \"), len) {\n case 1:\n msg += `The ${args[0]} argument`;\n break;\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`;\n break;\n default:\n {\n const last = args.pop();\n msg += `The ${args.join(\", \")}, and ${last} arguments`;\n }\n break;\n }\n return `${msg} must be specified`;\n }, TypeError), E(\"ERR_OUT_OF_RANGE\", (str, range, input) => {\n assert(range, 'Missing \"range\" argument');\n let received;\n if (Number.isInteger(input) && Math.abs(input) > 4294967296)\n received = addNumericalSeparator(@String(input));\n else if (typeof input === \"bigint\") {\n if (received = @String(input), input > 2n ** 32n || input < -(2n ** 32n))\n received = addNumericalSeparator(received);\n received += \"n\";\n } else\n received = inspect(input);\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`;\n }, RangeError), E(\"ERR_MULTIPLE_CALLBACK\", \"Callback called multiple times\", Error), E(\"ERR_METHOD_NOT_IMPLEMENTED\", \"The %s method is not implemented\", Error), E(\"ERR_STREAM_ALREADY_FINISHED\", \"Cannot call %s after a stream was finished\", Error), E(\"ERR_STREAM_CANNOT_PIPE\", \"Cannot pipe, not readable\", Error), E(\"ERR_STREAM_DESTROYED\", \"Cannot call %s after a stream was destroyed\", Error), E(\"ERR_STREAM_NULL_VALUES\", \"May not write null values to stream\", TypeError), E(\"ERR_STREAM_PREMATURE_CLOSE\", \"Premature close\", Error), E(\"ERR_STREAM_PUSH_AFTER_EOF\", \"stream.push() after EOF\", Error), E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\", \"stream.unshift() after end event\", Error), E(\"ERR_STREAM_WRITE_AFTER_END\", \"write after end\", Error), E(\"ERR_UNKNOWN_ENCODING\", \"Unknown encoding: %s\", TypeError), module.exports = {\n AbortError: AbortError2,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n };\n }\n}), require_validators = __commonJS({\n \"node_modules/readable-stream/lib/internal/validators.js\"(exports, module) {\n var {\n ArrayIsArray: ArrayIsArray2,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n RegExpPrototypeTest,\n String: String2,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n } = require_primordials(), {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n } = require_errors(), { normalizeEncoding } = require_util(), { isAsyncFunction, isArrayBufferView } = require_util().types, signals = {};\n function isInt32(value) {\n return value === (value | 0);\n }\n function isUint32(value) {\n return value === value >>> 0;\n }\n var octalReg = /^[0-7]+$/, modeDesc = \"must be a 32-bit unsigned integer or an octal string\";\n function parseFileMode(value, name, def) {\n if (typeof value === \"undefined\")\n value = def;\n if (typeof value === \"string\") {\n if (!RegExpPrototypeTest(octalReg, value))\n throw new ERR_INVALID_ARG_VALUE2(name, value, modeDesc);\n value = NumberParseInt(value, 8);\n }\n return validateInt32(value, name, 0, 4294967295), value;\n }\n var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isInt32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateUint32 = hideStackFrames((value, name, positive) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isUint32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${positive \? 1 : 0} && < 4294967296`, value);\n }\n if (positive && value === 0)\n throw new ERR_OUT_OF_RANGE(name, \">= 1 && < 4294967296\", value);\n });\n function validateString(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"string\", value);\n }\n function validateNumber(value, name) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n }\n var validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const reason = \"must be one of: \" + ArrayPrototypeJoin(ArrayPrototypeMap(oneOf, (v) => typeof v === \"string\" \? `'${v}'` : String2(v)), \", \");\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateBoolean2(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"boolean\", value);\n }\n var validateObject = hideStackFrames((value, name, options) => {\n const useDefaultOptions = options == null, allowArray = useDefaultOptions \? !1 : options.allowArray, allowFunction = useDefaultOptions \? !1 : options.allowFunction;\n if (!(useDefaultOptions \? !1 : options.nullable) && value === null || !allowArray && ArrayIsArray2(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Object\", value);\n }), validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray2(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateSignalName(signal, name = \"signal\") {\n if (validateString(signal, name), signals[signal] === void 0) {\n if (signals[StringPrototypeToUpperCase(signal)] !== void 0)\n throw new ERR_UNKNOWN_SIGNAL(signal + \" (signals must use all capital letters)\");\n throw new ERR_UNKNOWN_SIGNAL(signal);\n }\n }\n var validateBuffer = hideStackFrames((buffer, name = \"buffer\") => {\n if (!isArrayBufferView(buffer))\n throw new ERR_INVALID_ARG_TYPE2(name, [\"Buffer\", \"TypedArray\", \"DataView\"], buffer);\n });\n function validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding), length = data.length;\n if (normalizedEncoding === \"hex\" && length % 2 !== 0)\n throw new ERR_INVALID_ARG_VALUE2(\"encoding\", encoding, `is invalid for data of length ${length}`);\n }\n function validatePort(port, name = \"Port\", allowZero = !0) {\n if (typeof port !== \"number\" && typeof port !== \"string\" || typeof port === \"string\" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero)\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);\n return port | 0;\n }\n var validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== void 0 && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n }), validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\" || isAsyncFunction(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validateUndefined = hideStackFrames((value, name) => {\n if (value !== void 0)\n throw new ERR_INVALID_ARG_TYPE2(name, \"undefined\", value);\n });\n module.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateBoolean: validateBoolean2,\n validateBuffer,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateAbortSignal\n };\n }\n}), require_utils = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/utils.js\"(exports, module) {\n var { Symbol: Symbol2, SymbolAsyncIterator, SymbolIterator } = require_primordials(), kDestroyed = Symbol2(\"kDestroyed\"), kIsErrored = Symbol2(\"kIsErrored\"), kIsReadable = Symbol2(\"kIsReadable\"), kIsDisturbed = Symbol2(\"kIsDisturbed\");\n function isReadableNodeStream(obj, strict = !1) {\n var _obj$_readableState;\n return !!(obj && typeof obj.pipe === \"function\" && typeof obj.on === \"function\" && (!strict || typeof obj.pause === \"function\" && typeof obj.resume === \"function\") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 \? void 0 : _obj$_readableState.readable) !== !1) && (!obj._writableState || obj._readableState));\n }\n function isWritableNodeStream(obj) {\n var _obj$_writableState;\n return !!(obj && typeof obj.write === \"function\" && typeof obj.on === \"function\" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 \? void 0 : _obj$_writableState.writable) !== !1));\n }\n function isDuplexNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\" && obj._readableState && typeof obj.on === \"function\" && typeof obj.write === \"function\");\n }\n function isNodeStream(obj) {\n return obj && (obj._readableState || obj._writableState || typeof obj.write === \"function\" && typeof obj.on === \"function\" || typeof obj.pipe === \"function\" && typeof obj.on === \"function\");\n }\n function isIterable(obj, isAsync) {\n if (obj == null)\n return !1;\n if (isAsync === !0)\n return typeof obj[SymbolAsyncIterator] === \"function\";\n if (isAsync === !1)\n return typeof obj[SymbolIterator] === \"function\";\n return typeof obj[SymbolAsyncIterator] === \"function\" || typeof obj[SymbolIterator] === \"function\";\n }\n function isDestroyed(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !!(stream.destroyed || stream[kDestroyed] || state !== null && state !== void 0 && state.destroyed);\n }\n function isWritableEnded(stream) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableEnded === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.ended) !== \"boolean\")\n return null;\n return wState.ended;\n }\n function isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableFinished === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.finished) !== \"boolean\")\n return null;\n return !!(wState.finished || strict === !1 && wState.ended === !0 && wState.length === 0);\n }\n function isReadableEnded(stream) {\n if (!isReadableNodeStream(stream))\n return null;\n if (stream.readableEnded === !0)\n return !0;\n const rState = stream._readableState;\n if (!rState || rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.ended) !== \"boolean\")\n return null;\n return rState.ended;\n }\n function isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream))\n return null;\n const rState = stream._readableState;\n if (rState !== null && rState !== void 0 && rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.endEmitted) !== \"boolean\")\n return null;\n return !!(rState.endEmitted || strict === !1 && rState.ended === !0 && rState.length === 0);\n }\n function isReadable(stream) {\n if (stream && stream[kIsReadable] != null)\n return stream[kIsReadable];\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.readable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);\n }\n function isWritable(stream) {\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.writable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);\n }\n function isFinished(stream, opts) {\n if (!isNodeStream(stream))\n return null;\n if (isDestroyed(stream))\n return !0;\n if ((opts === null || opts === void 0 \? void 0 : opts.readable) !== !1 && isReadable(stream))\n return !1;\n if ((opts === null || opts === void 0 \? void 0 : opts.writable) !== !1 && isWritable(stream))\n return !1;\n return !0;\n }\n function isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.writableErrored)\n return stream.writableErrored;\n return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 \? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 \? _stream$_writableStat : null;\n }\n function isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.readableErrored)\n return stream.readableErrored;\n return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 \? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 \? _stream$_readableStat : null;\n }\n function isClosed(stream) {\n if (!isNodeStream(stream))\n return null;\n if (typeof stream.closed === \"boolean\")\n return stream.closed;\n const { _writableState: wState, _readableState: rState } = stream;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.closed) === \"boolean\" || typeof (rState === null || rState === void 0 \? void 0 : rState.closed) === \"boolean\")\n return (wState === null || wState === void 0 \? void 0 : wState.closed) || (rState === null || rState === void 0 \? void 0 : rState.closed);\n if (typeof stream._closed === \"boolean\" && isOutgoingMessage(stream))\n return stream._closed;\n return null;\n }\n function isOutgoingMessage(stream) {\n return typeof stream._closed === \"boolean\" && typeof stream._defaultKeepAlive === \"boolean\" && typeof stream._removedConnection === \"boolean\" && typeof stream._removedContLen === \"boolean\";\n }\n function isServerResponse(stream) {\n return typeof stream._sent100 === \"boolean\" && isOutgoingMessage(stream);\n }\n function isServerRequest(stream) {\n var _stream$req;\n return typeof stream._consuming === \"boolean\" && typeof stream._dumped === \"boolean\" && ((_stream$req = stream.req) === null || _stream$req === void 0 \? void 0 : _stream$req.upgradeOrConnect) === void 0;\n }\n function willEmitClose(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === !1);\n }\n function isDisturbed(stream) {\n var _stream$kIsDisturbed;\n return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 \? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));\n }\n function isErrored(stream) {\n var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;\n return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 \? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 \? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 \? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 \? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 \? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 \? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 \? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 \? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 \? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 \? void 0 : _stream$_writableStat4.errored));\n }\n module.exports = {\n kDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n isClosed,\n isDestroyed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWritable,\n isWritableNodeStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose\n };\n }\n}), require_end_of_stream = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes, { once } = require_util(), { validateAbortSignal, validateFunction, validateObject } = require_validators(), { Promise: Promise2 } = require_primordials(), {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose\n } = require_utils();\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n }\n var nop = () => {\n };\n function eos(stream, options, callback) {\n var _options$readable, _options$writable;\n if (arguments.length === 2)\n callback = options, options = {};\n else if (options == null)\n options = {};\n else\n validateObject(options, \"options\");\n validateFunction(callback, \"callback\"), validateAbortSignal(options.signal, \"options.signal\"), callback = once(callback);\n const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 \? _options$readable : isReadableNodeStream(stream), writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 \? _options$writable : isWritableNodeStream(stream);\n if (!isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"Stream\", stream);\n const { _writableState: wState, _readableState: rState } = stream, onlegacyfinish = () => {\n if (!stream.writable)\n onfinish();\n };\n let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable, writableFinished = isWritableFinished(stream, !1);\n const onfinish = () => {\n if (writableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.readable || readable))\n return;\n if (!readable || readableFinished)\n callback.@call(stream);\n };\n let readableFinished = isReadableFinished(stream, !1);\n const onend = () => {\n if (readableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.writable || writable))\n return;\n if (!writable || writableFinished)\n callback.@call(stream);\n }, onerror = (err) => {\n callback.@call(stream, err);\n };\n let closed = isClosed(stream);\n const onclose = () => {\n closed = !0;\n const errored = isWritableErrored(stream) || isReadableErrored(stream);\n if (errored && typeof errored !== \"boolean\")\n return callback.@call(stream, errored);\n if (readable && !readableFinished && isReadableNodeStream(stream, !0)) {\n if (!isReadableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n callback.@call(stream);\n }, onrequest = () => {\n stream.req.on(\"finish\", onfinish);\n };\n if (isRequest(stream)) {\n if (stream.on(\"complete\", onfinish), !willEmitClose)\n stream.on(\"abort\", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on(\"request\", onrequest);\n } else if (writable && !wState)\n stream.on(\"end\", onlegacyfinish), stream.on(\"close\", onlegacyfinish);\n if (!willEmitClose && typeof stream.aborted === \"boolean\")\n stream.on(\"aborted\", onclose);\n if (stream.on(\"end\", onend), stream.on(\"finish\", onfinish), options.error !== !1)\n stream.on(\"error\", onerror);\n if (stream.on(\"close\", onclose), closed)\n runOnNextTick(onclose);\n else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {\n if (!willEmitClose)\n runOnNextTick(onclose);\n } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === !1))\n runOnNextTick(onclose);\n else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === !1))\n runOnNextTick(onclose);\n else if (rState && stream.req && stream.aborted)\n runOnNextTick(onclose);\n const cleanup = () => {\n if (callback = nop, stream.removeListener(\"aborted\", onclose), stream.removeListener(\"complete\", onfinish), stream.removeListener(\"abort\", onclose), stream.removeListener(\"request\", onrequest), stream.req)\n stream.req.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onlegacyfinish), stream.removeListener(\"close\", onlegacyfinish), stream.removeListener(\"finish\", onfinish), stream.removeListener(\"end\", onend), stream.removeListener(\"error\", onerror), stream.removeListener(\"close\", onclose);\n };\n if (options.signal && !closed) {\n const abort = () => {\n const endCallback = callback;\n cleanup(), endCallback.@call(stream, new AbortError2(void 0, {\n cause: options.signal.reason\n }));\n };\n if (options.signal.aborted)\n runOnNextTick(abort);\n else {\n const originalCallback = callback;\n callback = once((...args) => {\n options.signal.removeEventListener(\"abort\", abort), originalCallback.@apply(stream, args);\n }), options.signal.addEventListener(\"abort\", abort);\n }\n }\n return cleanup;\n }\n function finished(stream, opts) {\n return new Promise2((resolve, reject) => {\n eos(stream, opts, (err) => {\n if (err)\n reject(err);\n else\n resolve();\n });\n });\n }\n module.exports = eos, module.exports.finished = finished;\n }\n}), require_operators = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/operators.js\"(exports, module) {\n var {\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError: AbortError2\n } = require_errors(), { validateAbortSignal, validateInteger, validateObject } = require_validators(), kWeakHandler = require_primordials().Symbol(\"kWeak\"), { finished } = require_end_of_stream(), {\n ArrayPrototypePush,\n MathFloor,\n Number: Number2,\n NumberIsNaN,\n Promise: Promise2,\n PromiseReject,\n PromisePrototypeCatch,\n Symbol: Symbol2\n } = require_primordials(), kEmpty = Symbol2(\"kEmpty\"), kEof = Symbol2(\"kEof\");\n function map(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let concurrency = 1;\n if ((options === null || options === void 0 \? void 0 : options.concurrency) != null)\n concurrency = MathFloor(options.concurrency);\n return validateInteger(concurrency, \"concurrency\", 1), async function* map2() {\n var _options$signal, _options$signal2;\n const ac = new AbortController, stream = this, queue = [], signal = ac.signal, signalOpt = {\n signal\n }, abort = () => ac.abort();\n if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted)\n abort();\n options === null || options === void 0 || (_options$signal2 = options.signal) === null || _options$signal2 === void 0 || _options$signal2.addEventListener(\"abort\", abort);\n let next, resume, done = !1;\n function onDone() {\n done = !0;\n }\n async function pump() {\n try {\n for await (let val of stream) {\n var _val;\n if (done)\n return;\n if (signal.aborted)\n throw new AbortError2;\n try {\n val = fn(val, signalOpt);\n } catch (err) {\n val = PromiseReject(err);\n }\n if (val === kEmpty)\n continue;\n if (typeof ((_val = val) === null || _val === void 0 \? void 0 : _val.catch) === \"function\")\n val.catch(onDone);\n if (queue.push(val), next)\n next(), next = null;\n if (!done && queue.length && queue.length >= concurrency)\n await new Promise2((resolve) => {\n resume = resolve;\n });\n }\n queue.push(kEof);\n } catch (err) {\n const val = PromiseReject(err);\n PromisePrototypeCatch(val, onDone), queue.push(val);\n } finally {\n var _options$signal3;\n if (done = !0, next)\n next(), next = null;\n options === null || options === void 0 || (_options$signal3 = options.signal) === null || _options$signal3 === void 0 || _options$signal3.removeEventListener(\"abort\", abort);\n }\n }\n pump();\n try {\n while (!0) {\n while (queue.length > 0) {\n const val = await queue[0];\n if (val === kEof)\n return;\n if (signal.aborted)\n throw new AbortError2;\n if (val !== kEmpty)\n yield val;\n if (queue.shift(), resume)\n resume(), resume = null;\n }\n await new Promise2((resolve) => {\n next = resolve;\n });\n }\n } finally {\n if (ac.abort(), done = !0, resume)\n resume(), resume = null;\n }\n }.@call(this);\n }\n function asIndexedPairs(options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return async function* asIndexedPairs2() {\n let index = 0;\n for await (let val of this) {\n var _options$signal4;\n if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted)\n throw new AbortError2({\n cause: options.signal.reason\n });\n yield [index++, val];\n }\n }.@call(this);\n }\n async function some(fn, options = void 0) {\n for await (let unused of filter.@call(this, fn, options))\n return !0;\n return !1;\n }\n async function every(fn, options = void 0) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n return !await some.@call(this, async (...args) => {\n return !await fn(...args);\n }, options);\n }\n async function find(fn, options) {\n for await (let result of filter.@call(this, fn, options))\n return result;\n return;\n }\n async function forEach(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function forEachFn(value, options2) {\n return await fn(value, options2), kEmpty;\n }\n for await (let unused of map.@call(this, forEachFn, options))\n ;\n }\n function filter(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function filterFn(value, options2) {\n if (await fn(value, options2))\n return value;\n return kEmpty;\n }\n return map.@call(this, filterFn, options);\n }\n var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {\n constructor() {\n super(\"reduce\");\n this.message = \"Reduce of an empty stream requires an initial value\";\n }\n };\n async function reduce(reducer, initialValue, options) {\n var _options$signal5;\n if (typeof reducer !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"reducer\", [\"Function\", \"AsyncFunction\"], reducer);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let hasInitialValue = arguments.length > 1;\n if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {\n const err = new AbortError2(void 0, {\n cause: options.signal.reason\n });\n throw this.once(\"error\", () => {\n }), await finished(this.destroy(err)), err;\n }\n const ac = new AbortController, signal = ac.signal;\n if (options !== null && options !== void 0 && options.signal) {\n const opts = {\n once: !0,\n [kWeakHandler]: this\n };\n options.signal.addEventListener(\"abort\", () => ac.abort(), opts);\n }\n let gotAnyItemFromStream = !1;\n try {\n for await (let value of this) {\n var _options$signal6;\n if (gotAnyItemFromStream = !0, options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted)\n throw new AbortError2;\n if (!hasInitialValue)\n initialValue = value, hasInitialValue = !0;\n else\n initialValue = await reducer(initialValue, value, {\n signal\n });\n }\n if (!gotAnyItemFromStream && !hasInitialValue)\n throw new ReduceAwareErrMissingArgs;\n } finally {\n ac.abort();\n }\n return initialValue;\n }\n async function toArray(options) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n const result = [];\n for await (let val of this) {\n var _options$signal7;\n if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted)\n throw new AbortError2(void 0, {\n cause: options.signal.reason\n });\n ArrayPrototypePush(result, val);\n }\n return result;\n }\n function flatMap(fn, options) {\n const values = map.@call(this, fn, options);\n return async function* flatMap2() {\n for await (let val of values)\n yield* val;\n }.@call(this);\n }\n function toIntegerOrInfinity(number) {\n if (number = Number2(number), NumberIsNaN(number))\n return 0;\n if (number < 0)\n throw new ERR_OUT_OF_RANGE(\"number\", \">= 0\", number);\n return number;\n }\n function drop(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* drop2() {\n var _options$signal8;\n if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal9;\n if (options !== null && options !== void 0 && (_options$signal9 = options.signal) !== null && _options$signal9 !== void 0 && _options$signal9.aborted)\n throw new AbortError2;\n if (number-- <= 0)\n yield val;\n }\n }.@call(this);\n }\n function take(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* take2() {\n var _options$signal10;\n if (options !== null && options !== void 0 && (_options$signal10 = options.signal) !== null && _options$signal10 !== void 0 && _options$signal10.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal11;\n if (options !== null && options !== void 0 && (_options$signal11 = options.signal) !== null && _options$signal11 !== void 0 && _options$signal11.aborted)\n throw new AbortError2;\n if (number-- > 0)\n yield val;\n else\n return;\n }\n }.@call(this);\n }\n module.exports.streamReturningOperators = {\n asIndexedPairs,\n drop,\n filter,\n flatMap,\n map,\n take\n }, module.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n };\n }\n}), require_destroy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/destroy.js\"(exports, module) {\n var {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError: AbortError2\n } = require_errors(), { Symbol: Symbol2 } = require_primordials(), { kDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils(), kDestroy = \"#kDestroy\", kConstruct = \"#kConstruct\";\n function checkError(err, w, r) {\n if (err) {\n if (err.stack, w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n }\n }\n function destroy2(err, cb) {\n const r = this._readableState, w = this._writableState, s = w || r;\n if (w && w.destroyed || r && r.destroyed) {\n if (typeof cb === \"function\")\n cb();\n return this;\n }\n if (checkError(err, w, r), w)\n w.destroyed = !0;\n if (r)\n r.destroyed = !0;\n if (!s.constructed)\n this.once(kDestroy, (er) => {\n _destroy(this, aggregateTwoErrors(er, err), cb);\n });\n else\n _destroy(this, err, cb);\n return this;\n }\n function _destroy(self, err, cb) {\n let called = !1;\n function onDestroy(err2) {\n if (called)\n return;\n called = !0;\n const { _readableState: r, _writableState: w } = self;\n if (checkError(err2, w, r), w)\n w.closed = !0;\n if (r)\n r.closed = !0;\n if (typeof cb === \"function\")\n cb(err2);\n if (err2)\n runOnNextTick(emitErrorCloseNT, self, err2);\n else\n runOnNextTick(emitCloseNT, self);\n }\n try {\n self._destroy(err || null, onDestroy);\n } catch (err2) {\n onDestroy(err2);\n }\n }\n function emitErrorCloseNT(self, err) {\n emitErrorNT(self, err), emitCloseNT(self);\n }\n function emitCloseNT(self) {\n const { _readableState: r, _writableState: w } = self;\n if (w)\n w.closeEmitted = !0;\n if (r)\n r.closeEmitted = !0;\n if (w && w.emitClose || r && r.emitClose)\n self.emit(\"close\");\n }\n function emitErrorNT(self, err) {\n const r = self\?._readableState, w = self\?._writableState;\n if (w\?.errorEmitted || r\?.errorEmitted)\n return;\n if (w)\n w.errorEmitted = !0;\n if (r)\n r.errorEmitted = !0;\n self\?.emit\?.(\"error\", err);\n }\n function undestroy() {\n const r = this._readableState, w = this._writableState;\n if (r)\n r.constructed = !0, r.closed = !1, r.closeEmitted = !1, r.destroyed = !1, r.errored = null, r.errorEmitted = !1, r.reading = !1, r.ended = r.readable === !1, r.endEmitted = r.readable === !1;\n if (w)\n w.constructed = !0, w.destroyed = !1, w.closed = !1, w.closeEmitted = !1, w.errored = null, w.errorEmitted = !1, w.finalCalled = !1, w.prefinished = !1, w.ended = w.writable === !1, w.ending = w.writable === !1, w.finished = w.writable === !1;\n }\n function errorOrDestroy2(stream, err, sync) {\n const r = stream\?._readableState, w = stream\?._writableState;\n if (w && w.destroyed || r && r.destroyed)\n return this;\n if (r && r.autoDestroy || w && w.autoDestroy)\n stream.destroy(err);\n else if (err) {\n if (Error.captureStackTrace(err), w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n if (sync)\n runOnNextTick(emitErrorNT, stream, err);\n else\n emitErrorNT(stream, err);\n }\n }\n function construct(stream, cb) {\n if (typeof stream._construct !== \"function\")\n return;\n const { _readableState: r, _writableState: w } = stream;\n if (r)\n r.constructed = !1;\n if (w)\n w.constructed = !1;\n if (stream.once(kConstruct, cb), stream.listenerCount(kConstruct) > 1)\n return;\n runOnNextTick(constructNT, stream);\n }\n function constructNT(stream) {\n let called = !1;\n function onConstruct(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : new ERR_MULTIPLE_CALLBACK);\n return;\n }\n called = !0;\n const { _readableState: r, _writableState: w } = stream, s = w || r;\n if (r)\n r.constructed = !0;\n if (w)\n w.constructed = !0;\n if (s.destroyed)\n stream.emit(kDestroy, err);\n else if (err)\n errorOrDestroy2(stream, err, !0);\n else\n runOnNextTick(emitConstructNT, stream);\n }\n try {\n stream._construct(onConstruct);\n } catch (err) {\n onConstruct(err);\n }\n }\n function emitConstructNT(stream) {\n stream.emit(kConstruct);\n }\n function isRequest(stream) {\n return stream && stream.setHeader && typeof stream.abort === \"function\";\n }\n function emitCloseLegacy(stream) {\n stream.emit(\"close\");\n }\n function emitErrorCloseLegacy(stream, err) {\n stream.emit(\"error\", err), runOnNextTick(emitCloseLegacy, stream);\n }\n function destroyer(stream, err) {\n if (!stream || isDestroyed(stream))\n return;\n if (!err && !isFinished(stream))\n err = new AbortError2;\n if (isServerRequest(stream))\n stream.socket = null, stream.destroy(err);\n else if (isRequest(stream))\n stream.abort();\n else if (isRequest(stream.req))\n stream.req.abort();\n else if (typeof stream.destroy === \"function\")\n stream.destroy(err);\n else if (typeof stream.close === \"function\")\n stream.close();\n else if (err)\n runOnNextTick(emitErrorCloseLegacy, stream);\n else\n runOnNextTick(emitCloseLegacy, stream);\n if (!stream.destroyed)\n stream[kDestroyed] = !0;\n }\n module.exports = {\n construct,\n destroyer,\n destroy: destroy2,\n undestroy,\n errorOrDestroy: errorOrDestroy2\n };\n }\n}), require_legacy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/legacy.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, ObjectSetPrototypeOf } = require_primordials();\n function Stream(options) {\n if (!(this instanceof Stream))\n return new Stream(options);\n EE.@call(this, options);\n }\n Stream.prototype = {}, ObjectSetPrototypeOf(Stream.prototype, EE.prototype), ObjectSetPrototypeOf(Stream, EE), Stream.prototype.pipe = function(dest, options) {\n const source = this;\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === !1 && source.pause)\n source.pause();\n }\n source.on(\"data\", ondata);\n function ondrain() {\n if (source.readable && source.resume)\n source.resume();\n }\n if (dest.on(\"drain\", ondrain), !dest._isStdio && (!options || options.end !== !1))\n source.on(\"end\", onend), source.on(\"close\", onclose);\n let didOnEnd = !1;\n function onend() {\n if (didOnEnd)\n return;\n didOnEnd = !0, dest.end();\n }\n function onclose() {\n if (didOnEnd)\n return;\n if (didOnEnd = !0, typeof dest.destroy === \"function\")\n dest.destroy();\n }\n function onerror(er) {\n if (cleanup(), EE.listenerCount(this, \"error\") === 0)\n this.emit(\"error\", er);\n }\n prependListener(source, \"error\", onerror), prependListener(dest, \"error\", onerror);\n function cleanup() {\n source.removeListener(\"data\", ondata), dest.removeListener(\"drain\", ondrain), source.removeListener(\"end\", onend), source.removeListener(\"close\", onclose), source.removeListener(\"error\", onerror), dest.removeListener(\"error\", onerror), source.removeListener(\"end\", cleanup), source.removeListener(\"close\", cleanup), dest.removeListener(\"close\", cleanup);\n }\n return source.on(\"end\", cleanup), source.on(\"close\", cleanup), dest.on(\"close\", cleanup), dest.emit(\"pipe\", source), dest;\n };\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === \"function\")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (ArrayIsArray2(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n module.exports = {\n Stream,\n prependListener\n };\n }\n}), require_add_abort_signal = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), eos = require_end_of_stream(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes, validateAbortSignal = (signal, name) => {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n };\n function isNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\");\n }\n module.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n if (validateAbortSignal(signal, \"signal\"), !isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"stream.Stream\", stream);\n return module.exports.addAbortSignalNoValidate(signal, stream);\n }, module.exports.addAbortSignalNoValidate = function(signal, stream) {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n return stream;\n const onAbort = () => {\n stream.destroy(new AbortError2(void 0, {\n cause: signal.reason\n }));\n };\n if (signal.aborted)\n onAbort();\n else\n signal.addEventListener(\"abort\", onAbort), eos(stream, () => signal.removeEventListener(\"abort\", onAbort));\n return stream;\n };\n }\n}), require_state = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/state.js\"(exports, module) {\n var { MathFloor, NumberIsInteger } = require_primordials(), { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2 } = require_errors().codes;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null \? options.highWaterMark : isDuplex \? options[duplexKey] : null;\n }\n function getDefaultHighWaterMark(objectMode) {\n return objectMode \? 16 : 16384;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex \? `options.${duplexKey}` : \"options.highWaterMark\";\n throw new ERR_INVALID_ARG_VALUE2(name, hwm);\n }\n return MathFloor(hwm);\n }\n return getDefaultHighWaterMark(state.objectMode);\n }\n module.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark\n };\n }\n}), require_from = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/from.js\"(exports, module) {\n var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors().codes;\n function from(Readable, iterable, opts) {\n let iterator;\n if (typeof iterable === \"string\" || iterable instanceof @Buffer)\n return new Readable({\n objectMode: !0,\n ...opts,\n read() {\n this.push(iterable), this.push(null);\n }\n });\n let isAsync;\n if (iterable && iterable[SymbolAsyncIterator])\n isAsync = !0, iterator = iterable[SymbolAsyncIterator]();\n else if (iterable && iterable[SymbolIterator])\n isAsync = !1, iterator = iterable[SymbolIterator]();\n else\n throw new ERR_INVALID_ARG_TYPE2(\"iterable\", [\"Iterable\"], iterable);\n const readable = new Readable({\n objectMode: !0,\n highWaterMark: 1,\n ...opts\n });\n let reading = !1;\n readable._read = function() {\n if (!reading)\n reading = !0, next();\n }, readable._destroy = function(error, cb) {\n PromisePrototypeThen(close(error), () => runOnNextTick(cb, error), (e) => runOnNextTick(cb, e || error));\n };\n async function close(error) {\n const hadError = error !== void 0 && error !== null, hasThrow = typeof iterator.throw === \"function\";\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error);\n if (await value, done)\n return;\n }\n if (typeof iterator.return === \"function\") {\n const { value } = await iterator.return();\n await value;\n }\n }\n async function next() {\n for (;; ) {\n try {\n const { value, done } = isAsync \? await iterator.next() : iterator.next();\n if (done)\n readable.push(null);\n else {\n const res = value && typeof value.then === \"function\" \? await value : value;\n if (res === null)\n throw reading = !1, new ERR_STREAM_NULL_VALUES;\n else if (readable.push(res))\n continue;\n else\n reading = !1;\n }\n } catch (err) {\n readable.destroy(err);\n }\n break;\n }\n }\n return readable;\n }\n module.exports = from;\n }\n}), _ReadableFromWeb, _ReadableFromWebForUndici, require_readable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/readable.js\"(exports, module) {\n var {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise: Promise2,\n SafeSet,\n SymbolAsyncIterator,\n Symbol: Symbol2\n } = require_primordials(), ReadableState = @lazy(\"bun:stream\").ReadableState, { Stream, prependListener } = require_legacy();\n function Readable(options) {\n if (!(this instanceof Readable))\n return new Readable(options);\n const isDuplex = this instanceof require_duplex();\n if (this._readableState = new ReadableState(options, this, isDuplex), options) {\n const { read, destroy: destroy2, construct, signal } = options;\n if (typeof read === \"function\")\n this._read = read;\n if (typeof destroy2 === \"function\")\n this._destroy = destroy2;\n if (typeof construct === \"function\")\n this._construct = construct;\n if (signal && !isDuplex)\n addAbortSignal(signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n if (this._readableState.needReadable)\n maybeReadMore(this, this._readableState);\n });\n }\n Readable.prototype = {}, ObjectSetPrototypeOf(Readable.prototype, Stream.prototype), ObjectSetPrototypeOf(Readable, Stream), Readable.prototype.on = function(ev, fn) {\n const res = Stream.prototype.on.@call(this, ev, fn), state = this._readableState;\n if (ev === \"data\") {\n if (state.readableListening = this.listenerCount(\"readable\") > 0, state.flowing !== !1)\n this.resume();\n } else if (ev === \"readable\") {\n if (!state.endEmitted && !state.readableListening) {\n if (state.readableListening = state.needReadable = !0, state.flowing = !1, state.emittedReadable = !1, state.length)\n emitReadable(this, state);\n else if (!state.reading)\n runOnNextTick(nReadingNextTick, this);\n } else if (state.endEmitted)\n ;\n }\n return res;\n };\n\n class ReadableFromWeb extends Readable {\n #reader;\n #closed;\n #pendingChunks;\n #stream;\n constructor(options, stream) {\n const { objectMode, highWaterMark, encoding, signal } = options;\n super({\n objectMode,\n highWaterMark,\n encoding,\n signal\n });\n this.#pendingChunks = [], this.#reader = @undefined, this.#stream = stream, this.#closed = !1;\n }\n #drainPending() {\n var pendingChunks = this.#pendingChunks, pendingChunksI = 0, pendingChunksCount = pendingChunks.length;\n for (;pendingChunksI < pendingChunksCount; pendingChunksI++) {\n const chunk = pendingChunks[pendingChunksI];\n if (pendingChunks[pendingChunksI] = @undefined, !this.push(chunk, @undefined))\n return this.#pendingChunks = pendingChunks.slice(pendingChunksI + 1), !0;\n }\n if (pendingChunksCount > 0)\n this.#pendingChunks = [];\n return !1;\n }\n #handleDone(reader) {\n reader.releaseLock(), this.#reader = @undefined, this.#closed = !0, this.push(null);\n return;\n }\n async _read() {\n var stream = this.#stream, reader = this.#reader;\n if (stream)\n reader = this.#reader = stream.getReader(), this.#stream = @undefined;\n else if (this.#drainPending())\n return;\n var deferredError;\n try {\n do {\n var done = !1, value;\n const firstResult = reader.readMany();\n if (@isPromise(firstResult)) {\n if ({ done, value } = await firstResult, this.#closed) {\n this.#pendingChunks.push(...value);\n return;\n }\n } else\n ({ done, value } = firstResult);\n if (done) {\n this.#handleDone(reader);\n return;\n }\n if (!this.push(value[0])) {\n this.#pendingChunks = value.slice(1);\n return;\n }\n for (let i = 1, count = value.length;i < count; i++)\n if (!this.push(value[i])) {\n this.#pendingChunks = value.slice(i + 1);\n return;\n }\n } while (!this.#closed);\n } catch (e) {\n deferredError = e;\n } finally {\n if (deferredError)\n throw deferredError;\n }\n }\n _destroy(error, callback) {\n if (!this.#closed) {\n var reader = this.#reader;\n if (reader)\n this.#reader = @undefined, reader.cancel(error).finally(() => {\n this.#closed = !0, callback(error);\n });\n return;\n }\n try {\n callback(error);\n } catch (error2) {\n globalThis.reportError(error2);\n }\n }\n }\n _ReadableFromWebForUndici = ReadableFromWeb;\n function newStreamReadableFromReadableStream(readableStream, options = {}) {\n if (!isReadableStream(readableStream))\n throw new ERR_INVALID_ARG_TYPE2(\"readableStream\", \"ReadableStream\", readableStream);\n validateObject(options, \"options\");\n const {\n highWaterMark,\n encoding,\n objectMode = !1,\n signal\n } = options;\n if (encoding !== @undefined && !@Buffer.isEncoding(encoding))\n throw new ERR_INVALID_ARG_VALUE(encoding, \"options.encoding\");\n return validateBoolean(objectMode, \"options.objectMode\"), getNativeReadableStream(Readable, readableStream, options) || new ReadableFromWeb({\n highWaterMark,\n encoding,\n objectMode,\n signal\n }, readableStream);\n }\n module.exports = Readable, _ReadableFromWeb = newStreamReadableFromReadableStream;\n var { addAbortSignal } = require_add_abort_signal(), eos = require_end_of_stream();\n const { maybeReadMore: _maybeReadMore, resume, emitReadable: _emitReadable, onEofChunk } = @lazy(\"bun:stream\");\n function maybeReadMore(stream, state) {\n process.nextTick(_maybeReadMore, stream, state);\n }\n function emitReadable(stream, state) {\n _emitReadable(stream, state);\n }\n var destroyImpl = require_destroy(), {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n }\n } = require_errors(), { validateObject } = require_validators(), from = require_from(), nop = () => {\n }, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n Readable.prototype.destroy = destroyImpl.destroy, Readable.prototype._undestroy = destroyImpl.undestroy, Readable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Readable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n }, Readable.prototype.push = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !1);\n }, Readable.prototype.unshift = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !0);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront) {\n const state = stream._readableState;\n let err;\n if (!state.objectMode) {\n if (typeof chunk === \"string\") {\n if (encoding = encoding || state.defaultEncoding, state.encoding !== encoding)\n if (addToFront && state.encoding)\n chunk = @Buffer.from(chunk, encoding).toString(state.encoding);\n else\n chunk = @Buffer.from(chunk, encoding), encoding = \"\";\n } else if (chunk instanceof @Buffer)\n encoding = \"\";\n else if (Stream._isUint8Array(chunk)) {\n if (addToFront || !state.decoder)\n chunk = Stream._uint8ArrayToBuffer(chunk);\n encoding = \"\";\n } else if (chunk != null)\n err = new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n }\n if (err)\n errorOrDestroy2(stream, err);\n else if (chunk === null)\n state.reading = !1, onEofChunk(stream, state);\n else if (state.objectMode || chunk && chunk.length > 0)\n if (addToFront)\n if (state.endEmitted)\n errorOrDestroy2(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);\n else if (state.destroyed || state.errored)\n return !1;\n else\n addChunk(stream, state, chunk, !0);\n else if (state.ended)\n errorOrDestroy2(stream, new ERR_STREAM_PUSH_AFTER_EOF);\n else if (state.destroyed || state.errored)\n return !1;\n else if (state.reading = !1, state.decoder && !encoding)\n if (chunk = state.decoder.write(chunk), state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, !1);\n else\n maybeReadMore(stream, state);\n else\n addChunk(stream, state, chunk, !1);\n else if (!addToFront)\n state.reading = !1, maybeReadMore(stream, state);\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount(\"data\") > 0) {\n if (state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n state.dataEmitted = !0, stream.emit(\"data\", chunk);\n } else {\n if (state.length += state.objectMode \? 1 : chunk.length, addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream, state);\n }\n maybeReadMore(stream, state);\n }\n Readable.prototype.isPaused = function() {\n const state = this._readableState;\n return state.paused === !0 || state.flowing === !1;\n }, Readable.prototype.setEncoding = function(enc) {\n const decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder, this._readableState.encoding = this._readableState.decoder.encoding;\n const buffer = this._readableState.buffer;\n let content = \"\";\n for (let i = buffer.length;i > 0; i--)\n content += decoder.write(buffer.shift());\n if (content !== \"\")\n buffer.push(content);\n return this._readableState.length = content.length, this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n > MAX_HWM)\n throw new ERR_OUT_OF_RANGE(\"size\", \"<= 1GiB\", n);\n else\n n--, n |= n >>> 1, n |= n >>> 2, n |= n >>> 4, n |= n >>> 8, n |= n >>> 16, n++;\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (NumberIsNaN(n)) {\n if (state.flowing && state.length)\n return state.buffer.first().length;\n return state.length;\n }\n if (n <= state.length)\n return n;\n return state.ended \? state.length : 0;\n }\n Readable.prototype.read = function(n) {\n if (!NumberIsInteger(n))\n n = NumberParseInt(n, 10);\n const state = this._readableState, nOrig = n;\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n !== 0)\n state.emittedReadable = !1;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 \? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this, state);\n return null;\n }\n if (n = howMuchToRead(n, state), n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n let doRead = state.needReadable;\n if (state.length === 0 || state.length - n < state.highWaterMark)\n doRead = !0;\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed)\n doRead = !1;\n else if (doRead) {\n if (state.reading = !0, state.sync = !0, state.length === 0)\n state.needReadable = !0;\n try {\n var result = this._read(state.highWaterMark);\n if (@isPromise(result)) {\n const peeked = Bun.peek(result);\n if (peeked !== result)\n result = peeked;\n }\n if (@isPromise(result) && result\?.then && @isCallable(result.then))\n result.then(nop, function(err) {\n errorOrDestroy2(this, err);\n });\n } catch (err) {\n errorOrDestroy2(this, err);\n }\n if (state.sync = !1, !state.reading)\n n = howMuchToRead(nOrig, state);\n }\n let ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null)\n state.needReadable = state.length <= state.highWaterMark, n = 0;\n else if (state.length -= n, state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = !0;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted)\n state.dataEmitted = !0, this.emit(\"data\", ret);\n return ret;\n }, Readable.prototype._read = function(n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\");\n }, Readable.prototype.pipe = function(dest, pipeOpts) {\n const src = this, state = this._readableState;\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain)\n state.multiAwaitDrain = !0, state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters \? [state.awaitDrainWriters] : []);\n }\n state.pipes.push(dest);\n const endFn = (!pipeOpts || pipeOpts.end !== !1) && dest !== process.stdout && dest !== process.stderr \? onend : unpipe;\n if (state.endEmitted)\n runOnNextTick(endFn);\n else\n src.once(\"end\", endFn);\n dest.on(\"unpipe\", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === !1)\n unpipeInfo.hasUnpiped = !0, cleanup();\n }\n }\n function onend() {\n dest.end();\n }\n let ondrain, cleanedUp = !1;\n function cleanup() {\n if (dest.removeListener(\"close\", onclose), dest.removeListener(\"finish\", onfinish), ondrain)\n dest.removeListener(\"drain\", ondrain);\n if (dest.removeListener(\"error\", onerror), dest.removeListener(\"unpipe\", onunpipe), src.removeListener(\"end\", onend), src.removeListener(\"end\", unpipe), src.removeListener(\"data\", ondata), cleanedUp = !0, ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n function pause() {\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest)\n state.awaitDrainWriters = dest, state.multiAwaitDrain = !1;\n else if (state.pipes.length > 1 && state.pipes.includes(dest))\n state.awaitDrainWriters.add(dest);\n src.pause();\n }\n if (!ondrain)\n ondrain = pipeOnDrain(src, dest), dest.on(\"drain\", ondrain);\n }\n src.on(\"data\", ondata);\n function ondata(chunk) {\n if (dest.write(chunk) === !1)\n pause();\n }\n function onerror(er) {\n if (unpipe(), dest.removeListener(\"error\", onerror), dest.listenerCount(\"error\") === 0) {\n const s = dest._writableState || dest._readableState;\n if (s && !s.errorEmitted)\n errorOrDestroy2(dest, er);\n else\n dest.emit(\"error\", er);\n }\n }\n prependListener(dest, \"error\", onerror);\n function onclose() {\n dest.removeListener(\"finish\", onfinish), unpipe();\n }\n dest.once(\"close\", onclose);\n function onfinish() {\n dest.removeListener(\"close\", onclose), unpipe();\n }\n dest.once(\"finish\", onfinish);\n function unpipe() {\n src.unpipe(dest);\n }\n if (dest.emit(\"pipe\", src), dest.writableNeedDrain === !0) {\n if (state.flowing)\n pause();\n } else if (!state.flowing)\n src.resume();\n return dest;\n };\n function pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState;\n if (state.awaitDrainWriters === dest)\n state.awaitDrainWriters = null;\n else if (state.multiAwaitDrain)\n state.awaitDrainWriters.delete(dest);\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount(\"data\"))\n src.resume();\n };\n }\n Readable.prototype.unpipe = function(dest) {\n const state = this._readableState, unpipeInfo = {\n hasUnpiped: !1\n };\n if (state.pipes.length === 0)\n return this;\n if (!dest) {\n const dests = state.pipes;\n state.pipes = [], this.pause();\n for (let i = 0;i < dests.length; i++)\n dests[i].emit(\"unpipe\", this, {\n hasUnpiped: !1\n });\n return this;\n }\n const index = ArrayPrototypeIndexOf(state.pipes, dest);\n if (index === -1)\n return this;\n if (state.pipes.splice(index, 1), state.pipes.length === 0)\n this.pause();\n return dest.emit(\"unpipe\", this, unpipeInfo), this;\n }, Readable.prototype.addListener = Readable.prototype.on, Readable.prototype.removeListener = function(ev, fn) {\n const res = Stream.prototype.removeListener.@call(this, ev, fn);\n if (ev === \"readable\")\n runOnNextTick(updateReadableListening, this);\n return res;\n }, Readable.prototype.off = Readable.prototype.removeListener, Readable.prototype.removeAllListeners = function(ev) {\n const res = Stream.prototype.removeAllListeners.@apply(this, arguments);\n if (ev === \"readable\" || ev === void 0)\n runOnNextTick(updateReadableListening, this);\n return res;\n };\n function updateReadableListening(self) {\n const state = self._readableState;\n if (state.readableListening = self.listenerCount(\"readable\") > 0, state.resumeScheduled && state.paused === !1)\n state.flowing = !0;\n else if (self.listenerCount(\"data\") > 0)\n self.resume();\n else if (!state.readableListening)\n state.flowing = null;\n }\n function nReadingNextTick(self) {\n self.read(0);\n }\n Readable.prototype.resume = function() {\n const state = this._readableState;\n if (!state.flowing)\n state.flowing = !state.readableListening, resume(this, state);\n return state.paused = !1, this;\n }, Readable.prototype.pause = function() {\n if (this._readableState.flowing !== !1)\n this._readableState.flowing = !1, this.emit(\"pause\");\n return this._readableState.paused = !0, this;\n }, Readable.prototype.wrap = function(stream) {\n let paused = !1;\n stream.on(\"data\", (chunk) => {\n if (!this.push(chunk) && stream.pause)\n paused = !0, stream.pause();\n }), stream.on(\"end\", () => {\n this.push(null);\n }), stream.on(\"error\", (err) => {\n errorOrDestroy2(this, err);\n }), stream.on(\"close\", () => {\n this.destroy();\n }), stream.on(\"destroy\", () => {\n this.destroy();\n }), this._read = () => {\n if (paused && stream.resume)\n paused = !1, stream.resume();\n };\n const streamKeys = ObjectKeys(stream);\n for (let j = 1;j < streamKeys.length; j++) {\n const i = streamKeys[j];\n if (this[i] === void 0 && typeof stream[i] === \"function\")\n this[i] = stream[i].bind(stream);\n }\n return this;\n }, Readable.prototype[SymbolAsyncIterator] = function() {\n return streamToAsyncIterator(this);\n }, Readable.prototype.iterator = function(options) {\n if (options !== void 0)\n validateObject(options, \"options\");\n return streamToAsyncIterator(this, options);\n };\n function streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== \"function\")\n stream = Readable.wrap(stream, {\n objectMode: !0\n });\n const iter = createAsyncIterator(stream, options);\n return iter.stream = stream, iter;\n }\n async function* createAsyncIterator(stream, options) {\n let callback = nop;\n function next(resolve) {\n if (this === stream)\n callback(), callback = nop;\n else\n callback = resolve;\n }\n stream.on(\"readable\", next);\n let error;\n const cleanup = eos(stream, {\n writable: !1\n }, (err) => {\n error = err \? aggregateTwoErrors(error, err) : null, callback(), callback = nop;\n });\n try {\n while (!0) {\n const chunk = stream.destroyed \? null : stream.read();\n if (chunk !== null)\n yield chunk;\n else if (error)\n throw error;\n else if (error === null)\n return;\n else\n await new Promise2(next);\n }\n } catch (err) {\n throw error = aggregateTwoErrors(error, err), error;\n } finally {\n if ((error || (options === null || options === void 0 \? void 0 : options.destroyOnReturn) !== !1) && (error === void 0 || stream._readableState.autoDestroy))\n destroyImpl.destroyer(stream, null);\n else\n stream.off(\"readable\", next), cleanup();\n }\n }\n ObjectDefineProperties(Readable.prototype, {\n readable: {\n get() {\n const r = this._readableState;\n return !!r && r.readable !== !1 && !r.destroyed && !r.errorEmitted && !r.endEmitted;\n },\n set(val) {\n if (this._readableState)\n this._readableState.readable = !!val;\n }\n },\n readableDidRead: {\n enumerable: !1,\n get: function() {\n return this._readableState.dataEmitted;\n }\n },\n readableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._readableState.readable !== !1 && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);\n }\n },\n readableHighWaterMark: {\n enumerable: !1,\n get: function() {\n return this._readableState.highWaterMark;\n }\n },\n readableBuffer: {\n enumerable: !1,\n get: function() {\n return this._readableState && this._readableState.buffer;\n }\n },\n readableFlowing: {\n enumerable: !1,\n get: function() {\n return this._readableState.flowing;\n },\n set: function(state) {\n if (this._readableState)\n this._readableState.flowing = state;\n }\n },\n readableLength: {\n enumerable: !1,\n get() {\n return this._readableState.length;\n }\n },\n readableObjectMode: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.objectMode : !1;\n }\n },\n readableEncoding: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.encoding : null;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.errored : null;\n }\n },\n closed: {\n get() {\n return this._readableState \? this._readableState.closed : !1;\n }\n },\n destroyed: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.destroyed : !1;\n },\n set(value) {\n if (!this._readableState)\n return;\n this._readableState.destroyed = value;\n }\n },\n readableEnded: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.endEmitted : !1;\n }\n }\n }), Readable._fromList = fromList;\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n let ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join(\"\");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else\n ret = state.buffer.consume(n, state.decoder);\n return ret;\n }\n function endReadable(stream) {\n const state = stream._readableState;\n if (!state.endEmitted)\n state.ended = !0, runOnNextTick(endReadableNT, state, stream);\n }\n function endReadableNT(state, stream) {\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n if (state.endEmitted = !0, stream.emit(\"end\"), stream.writable && stream.allowHalfOpen === !1)\n runOnNextTick(endWritableNT, stream);\n else if (state.autoDestroy) {\n const wState = stream._writableState;\n if (!wState || wState.autoDestroy && (wState.finished || wState.writable === !1))\n stream.destroy();\n }\n }\n }\n function endWritableNT(stream) {\n if (stream.writable && !stream.writableEnded && !stream.destroyed)\n stream.end();\n }\n Readable.from = function(iterable, opts) {\n return from(Readable, iterable, opts);\n };\n var webStreamsAdapters = {\n newStreamReadableFromReadableStream,\n newReadableStreamFromStreamReadable(streamReadable, options = {}) {\n if (typeof streamReadable\?._readableState !== \"object\")\n throw new ERR_INVALID_ARG_TYPE2(\"streamReadable\", \"stream.Readable\", streamReadable);\n var { isDestroyed, isReadable } = require_utils();\n if (isDestroyed(streamReadable) || !isReadable(streamReadable)) {\n const readable = new @ReadableStream;\n return readable.cancel(), readable;\n }\n const { readableObjectMode: objectMode, readableHighWaterMark: highWaterMark } = streamReadable, strategy = ((strategy2) => {\n if (strategy2)\n return strategy2;\n if (objectMode)\n return new CountQueuingStrategy({ highWaterMark });\n return { highWaterMark };\n })(options\?.strategy);\n let controller;\n function onData(chunk) {\n if (controller.enqueue(chunk), controller.desiredSize <= 0)\n streamReadable.pause();\n }\n streamReadable.pause();\n const cleanup = eos(streamReadable, (error) => {\n if (error\?.code === \"ERR_STREAM_PREMATURE_CLOSE\")\n error = new AbortError(@undefined, { cause: error });\n if (cleanup(), streamReadable.on(\"error\", () => {\n }), error)\n return controller.error(error);\n controller.close();\n });\n return streamReadable.on(\"data\", onData), new @ReadableStream({\n start(c) {\n controller = c;\n },\n pull() {\n streamReadable.resume();\n },\n cancel(reason) {\n destroy(streamReadable, reason);\n }\n }, strategy);\n }\n };\n Readable.fromWeb = function(readableStream, options) {\n return webStreamsAdapters.newStreamReadableFromReadableStream(readableStream, options);\n }, Readable.toWeb = function(streamReadable, options) {\n return webStreamsAdapters.newReadableStreamFromStreamReadable(streamReadable, options);\n }, Readable.wrap = function(src, options) {\n var _ref, _src$readableObjectMo;\n return new Readable({\n objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 \? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 \? _ref : !0,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err), callback(err);\n }\n }).wrap(src);\n };\n }\n}), require_writable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/writable.js\"(exports, module) {\n var {\n ArrayPrototypeSlice,\n Error: Error2,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol: Symbol2,\n SymbolHasInstance\n } = require_primordials(), Stream = require_legacy().Stream, destroyImpl = require_destroy(), { addAbortSignal } = require_add_abort_signal(), { getHighWaterMark, getDefaultHighWaterMark } = require_state(), {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n } = require_errors().codes, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n function Writable(options = {}) {\n const isDuplex = this instanceof require_duplex();\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this))\n return new Writable(options);\n if (this._writableState = new WritableState(options, this, isDuplex), options) {\n if (typeof options.write === \"function\")\n this._write = options.write;\n if (typeof options.writev === \"function\")\n this._writev = options.writev;\n if (typeof options.destroy === \"function\")\n this._destroy = options.destroy;\n if (typeof options.final === \"function\")\n this._final = options.final;\n if (typeof options.construct === \"function\")\n this._construct = options.construct;\n if (options.signal)\n addAbortSignal(options.signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n const state = this._writableState;\n if (!state.writing)\n clearBuffer(this, state);\n finishMaybe(this, state);\n });\n }\n Writable.prototype = {}, ObjectSetPrototypeOf(Writable.prototype, Stream.prototype), ObjectSetPrototypeOf(Writable, Stream), module.exports = Writable;\n function nop() {\n }\n var kOnFinished = Symbol2(\"kOnFinished\");\n function WritableState(options, stream, isDuplex) {\n if (typeof isDuplex !== \"boolean\")\n isDuplex = stream instanceof require_duplex();\n if (this.objectMode = !!(options && options.objectMode), isDuplex)\n this.objectMode = this.objectMode || !!(options && options.writableObjectMode);\n this.highWaterMark = options \? getHighWaterMark(this, options, \"writableHighWaterMark\", isDuplex) : getDefaultHighWaterMark(!1), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;\n const noDecode = !!(options && options.decodeStrings === !1);\n this.decodeStrings = !noDecode, this.defaultEncoding = options && options.defaultEncoding || \"utf8\", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = onwrite.bind(void 0, stream), this.writecb = null, this.writelen = 0, this.afterWriteTickInfo = null, resetBuffer(this), this.pendingcb = 0, this.constructed = !0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !options || options.emitClose !== !1, this.autoDestroy = !options || options.autoDestroy !== !1, this.errored = null, this.closed = !1, this.closeEmitted = !1, this[kOnFinished] = [];\n }\n WritableState.prototype = {};\n function resetBuffer(state) {\n state.buffered = [], state.bufferedIndex = 0, state.allBuffers = !0, state.allNoop = !0;\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);\n }, ObjectDefineProperty(WritableState.prototype, \"bufferedRequestCount\", {\n get() {\n return this.buffered.length - this.bufferedIndex;\n }\n }), ObjectDefineProperty(Writable, SymbolHasInstance, {\n value: function(object) {\n if (FunctionPrototypeSymbolHasInstance(this, object))\n return !0;\n if (this !== Writable)\n return !1;\n return object && object._writableState instanceof WritableState;\n }\n }), Writable.prototype.pipe = function() {\n errorOrDestroy2(this, new ERR_STREAM_CANNOT_PIPE);\n };\n function _write(stream, chunk, encoding, cb) {\n const state = stream._writableState;\n if (typeof encoding === \"function\")\n cb = encoding, encoding = state.defaultEncoding;\n else {\n if (!encoding)\n encoding = state.defaultEncoding;\n else if (encoding !== \"buffer\" && !@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n if (typeof cb !== \"function\")\n cb = nop;\n }\n if (chunk === null)\n throw new ERR_STREAM_NULL_VALUES;\n else if (!state.objectMode)\n if (typeof chunk === \"string\") {\n if (state.decodeStrings !== !1)\n chunk = @Buffer.from(chunk, encoding), encoding = \"buffer\";\n } else if (chunk instanceof @Buffer)\n encoding = \"buffer\";\n else if (Stream._isUint8Array(chunk))\n chunk = Stream._uint8ArrayToBuffer(chunk), encoding = \"buffer\";\n else\n throw new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n let err;\n if (state.ending)\n err = new ERR_STREAM_WRITE_AFTER_END;\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"write\");\n if (err)\n return runOnNextTick(cb, err), errorOrDestroy2(stream, err, !0), err;\n return state.pendingcb++, writeOrBuffer(stream, state, chunk, encoding, cb);\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === !0;\n }, Writable.prototype.cork = function() {\n this._writableState.corked++;\n }, Writable.prototype.uncork = function() {\n const state = this._writableState;\n if (state.corked) {\n if (state.corked--, !state.writing)\n clearBuffer(this, state);\n }\n }, Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === \"string\")\n encoding = StringPrototypeToLowerCase(encoding);\n if (!@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n return this._writableState.defaultEncoding = encoding, this;\n };\n function writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode \? 1 : chunk.length;\n state.length += len;\n const ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = !0;\n if (state.writing || state.corked || state.errored || !state.constructed) {\n if (state.buffered.push({\n chunk,\n encoding,\n callback\n }), state.allBuffers && encoding !== \"buffer\")\n state.allBuffers = !1;\n if (state.allNoop && callback !== nop)\n state.allNoop = !1;\n } else\n state.writelen = len, state.writecb = callback, state.writing = !0, state.sync = !0, stream._write(chunk, encoding, state.onwrite), state.sync = !1;\n return ret && !state.errored && !state.destroyed;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n if (state.writelen = len, state.writecb = cb, state.writing = !0, state.sync = !0, state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED(\"write\"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = !1;\n }\n function onwriteError(stream, state, er, cb) {\n --state.pendingcb, cb(er), errorBuffer(state), errorOrDestroy2(stream, er);\n }\n function onwrite(stream, er) {\n const state = stream._writableState, sync = state.sync, cb = state.writecb;\n if (typeof cb !== \"function\") {\n errorOrDestroy2(stream, new ERR_MULTIPLE_CALLBACK);\n return;\n }\n if (state.writing = !1, state.writecb = null, state.length -= state.writelen, state.writelen = 0, er) {\n if (Error.captureStackTrace(er), !state.errored)\n state.errored = er;\n if (stream._readableState && !stream._readableState.errored)\n stream._readableState.errored = er;\n if (sync)\n runOnNextTick(onwriteError, stream, state, er, cb);\n else\n onwriteError(stream, state, er, cb);\n } else {\n if (state.buffered.length > state.bufferedIndex)\n clearBuffer(stream, state);\n if (sync)\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb)\n state.afterWriteTickInfo.count++;\n else\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }, runOnNextTick(afterWriteTick, state.afterWriteTickInfo);\n else\n afterWrite(stream, state, 1, cb);\n }\n }\n function afterWriteTick({ stream, state, count, cb }) {\n return state.afterWriteTickInfo = null, afterWrite(stream, state, count, cb);\n }\n function afterWrite(stream, state, count, cb) {\n if (!state.ending && !stream.destroyed && state.length === 0 && state.needDrain)\n state.needDrain = !1, stream.emit(\"drain\");\n while (count-- > 0)\n state.pendingcb--, cb();\n if (state.destroyed)\n errorBuffer(state);\n finishMaybe(stream, state);\n }\n function errorBuffer(state) {\n if (state.writing)\n return;\n for (let n = state.bufferedIndex;n < state.buffered.length; ++n) {\n var _state$errored;\n const { chunk, callback } = state.buffered[n], len = state.objectMode \? 1 : chunk.length;\n state.length -= len, callback((_state$errored = state.errored) !== null && _state$errored !== void 0 \? _state$errored : new ERR_STREAM_DESTROYED(\"write\"));\n }\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++) {\n var _state$errored2;\n onfinishCallbacks[i]((_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 \? _state$errored2 : new ERR_STREAM_DESTROYED(\"end\"));\n }\n resetBuffer(state);\n }\n function clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed)\n return;\n const { buffered, bufferedIndex, objectMode } = state, bufferedLength = buffered.length - bufferedIndex;\n if (!bufferedLength)\n return;\n let i = bufferedIndex;\n if (state.bufferProcessing = !0, bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1;\n const callback = state.allNoop \? nop : (err) => {\n for (let n = i;n < buffered.length; ++n)\n buffered[n].callback(err);\n }, chunks = state.allNoop && i === 0 \? buffered : ArrayPrototypeSlice(buffered, i);\n chunks.allBuffers = state.allBuffers, doWrite(stream, state, !0, state.length, chunks, \"\", callback), resetBuffer(state);\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i];\n buffered[i++] = null;\n const len = objectMode \? 1 : chunk.length;\n doWrite(stream, state, !1, len, chunk, encoding, callback);\n } while (i < buffered.length && !state.writing);\n if (i === buffered.length)\n resetBuffer(state);\n else if (i > 256)\n buffered.splice(0, i), state.bufferedIndex = 0;\n else\n state.bufferedIndex = i;\n }\n state.bufferProcessing = !1;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n if (this._writev)\n this._writev([\n {\n chunk,\n encoding\n }\n ], cb);\n else\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\");\n }, Writable.prototype._writev = null, Writable.prototype.end = function(chunk, encoding, cb, native = !1) {\n const state = this._writableState;\n if (typeof chunk === \"function\")\n cb = chunk, chunk = null, encoding = null;\n else if (typeof encoding === \"function\")\n cb = encoding, encoding = null;\n let err;\n if (chunk !== null && chunk !== void 0) {\n let ret;\n if (!native)\n ret = _write(this, chunk, encoding);\n else\n ret = this.write(chunk, encoding);\n if (ret instanceof Error2)\n err = ret;\n }\n if (state.corked)\n state.corked = 1, this.uncork();\n if (err)\n this.emit(\"error\", err);\n else if (!state.errored && !state.ending)\n state.ending = !0, finishMaybe(this, state, !0), state.ended = !0;\n else if (state.finished)\n err = new ERR_STREAM_ALREADY_FINISHED(\"end\");\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"end\");\n if (typeof cb === \"function\")\n if (err || state.finished)\n runOnNextTick(cb, err);\n else\n state[kOnFinished].push(cb);\n return this;\n };\n function needFinish(state, tag) {\n var needFinish2 = state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;\n return needFinish2;\n }\n function callFinal(stream, state) {\n let called = !1;\n function onFinish(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : ERR_MULTIPLE_CALLBACK());\n return;\n }\n if (called = !0, state.pendingcb--, err) {\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i](err);\n errorOrDestroy2(stream, err, state.sync);\n } else if (needFinish(state))\n state.prefinished = !0, stream.emit(\"prefinish\"), state.pendingcb++, runOnNextTick(finish, stream, state);\n }\n state.sync = !0, state.pendingcb++;\n try {\n stream._final(onFinish);\n } catch (err) {\n onFinish(err);\n }\n state.sync = !1;\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled)\n if (typeof stream._final === \"function\" && !state.destroyed)\n state.finalCalled = !0, callFinal(stream, state);\n else\n state.prefinished = !0, stream.emit(\"prefinish\");\n }\n function finishMaybe(stream, state, sync) {\n if (!needFinish(state, stream.__id))\n return;\n if (prefinish(stream, state), state.pendingcb === 0) {\n if (sync)\n state.pendingcb++, runOnNextTick((stream2, state2) => {\n if (needFinish(state2))\n finish(stream2, state2);\n else\n state2.pendingcb--;\n }, stream, state);\n else if (needFinish(state))\n state.pendingcb++, finish(stream, state);\n }\n }\n function finish(stream, state) {\n state.pendingcb--, state.finished = !0;\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i]();\n if (stream.emit(\"finish\"), state.autoDestroy) {\n const rState = stream._readableState;\n if (!rState || rState.autoDestroy && (rState.endEmitted || rState.readable === !1))\n stream.destroy();\n }\n }\n ObjectDefineProperties(Writable.prototype, {\n closed: {\n get() {\n return this._writableState \? this._writableState.closed : !1;\n }\n },\n destroyed: {\n get() {\n return this._writableState \? this._writableState.destroyed : !1;\n },\n set(value) {\n if (this._writableState)\n this._writableState.destroyed = value;\n }\n },\n writable: {\n get() {\n const w = this._writableState;\n return !!w && w.writable !== !1 && !w.destroyed && !w.errored && !w.ending && !w.ended;\n },\n set(val) {\n if (this._writableState)\n this._writableState.writable = !!val;\n }\n },\n writableFinished: {\n get() {\n return this._writableState \? this._writableState.finished : !1;\n }\n },\n writableObjectMode: {\n get() {\n return this._writableState \? this._writableState.objectMode : !1;\n }\n },\n writableBuffer: {\n get() {\n return this._writableState && this._writableState.getBuffer();\n }\n },\n writableEnded: {\n get() {\n return this._writableState \? this._writableState.ending : !1;\n }\n },\n writableNeedDrain: {\n get() {\n const wState = this._writableState;\n if (!wState)\n return !1;\n return !wState.destroyed && !wState.ending && wState.needDrain;\n }\n },\n writableHighWaterMark: {\n get() {\n return this._writableState && this._writableState.highWaterMark;\n }\n },\n writableCorked: {\n get() {\n return this._writableState \? this._writableState.corked : 0;\n }\n },\n writableLength: {\n get() {\n return this._writableState && this._writableState.length;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._writableState \? this._writableState.errored : null;\n }\n },\n writableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._writableState.writable !== !1 && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);\n }\n }\n });\n var destroy2 = destroyImpl.destroy;\n Writable.prototype.destroy = function(err, cb) {\n const state = this._writableState;\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length))\n runOnNextTick(errorBuffer, state);\n return destroy2.@call(this, err, cb), this;\n }, Writable.prototype._undestroy = destroyImpl.undestroy, Writable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Writable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n };\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Writable.fromWeb = function(writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);\n }, Writable.toWeb = function(streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);\n };\n }\n}), require_duplexify = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplexify.js\"(exports, module) {\n var {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream\n } = require_utils(), eos = require_end_of_stream(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }\n } = require_errors(), { destroyer } = require_destroy(), Duplex = require_duplex(), Readable = require_readable(), { createDeferredPromise } = require_util(), from = require_from(), isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, { FunctionPrototypeCall } = require_primordials();\n\n class Duplexify extends Duplex {\n constructor(options) {\n super(options);\n if ((options === null || options === @undefined \? @undefined : options.readable) === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if ((options === null || options === @undefined \? @undefined : options.writable) === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n }\n }\n module.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body))\n return body;\n if (isReadableNodeStream(body))\n return _duplexify({\n readable: body\n });\n if (isWritableNodeStream(body))\n return _duplexify({\n writable: body\n });\n if (isNodeStream(body))\n return _duplexify({\n writable: !1,\n readable: !1\n });\n if (typeof body === \"function\") {\n const { value, write, final, destroy: destroy2 } = fromAsyncGen(body);\n if (isIterable(value))\n return from(Duplexify, value, {\n objectMode: !0,\n write,\n final,\n destroy: destroy2\n });\n const then2 = value === null || value === void 0 \? void 0 : value.then;\n if (typeof then2 === \"function\") {\n let d;\n const promise = FunctionPrototypeCall(then2, value, (val) => {\n if (val != null)\n throw new ERR_INVALID_RETURN_VALUE(\"nully\", \"body\", val);\n }, (err) => {\n destroyer(d, err);\n });\n return d = new Duplexify({\n objectMode: !0,\n readable: !1,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise, runOnNextTick(cb, null);\n } catch (err) {\n runOnNextTick(cb, err);\n }\n });\n },\n destroy: destroy2\n });\n }\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\", name, value);\n }\n if (isBlob(body))\n return duplexify(body.arrayBuffer());\n if (isIterable(body))\n return from(Duplexify, body, {\n objectMode: !0,\n writable: !1\n });\n if (typeof (body === null || body === void 0 \? void 0 : body.writable) === \"object\" || typeof (body === null || body === void 0 \? void 0 : body.readable) === \"object\") {\n const readable = body !== null && body !== void 0 && body.readable \? isReadableNodeStream(body === null || body === void 0 \? void 0 : body.readable) \? body === null || body === void 0 \? void 0 : body.readable : duplexify(body.readable) : void 0, writable = body !== null && body !== void 0 && body.writable \? isWritableNodeStream(body === null || body === void 0 \? void 0 : body.writable) \? body === null || body === void 0 \? void 0 : body.writable : duplexify(body.writable) : void 0;\n return _duplexify({\n readable,\n writable\n });\n }\n const then = body === null || body === void 0 \? void 0 : body.then;\n if (typeof then === \"function\") {\n let d;\n return FunctionPrototypeCall(then, body, (val) => {\n if (val != null)\n d.push(val);\n d.push(null);\n }, (err) => {\n destroyer(d, err);\n }), d = new Duplexify({\n objectMode: !0,\n writable: !1,\n read() {\n }\n });\n }\n throw new ERR_INVALID_ARG_TYPE2(name, [\n \"Blob\",\n \"ReadableStream\",\n \"WritableStream\",\n \"Stream\",\n \"Iterable\",\n \"AsyncIterable\",\n \"Function\",\n \"{ readable, writable } pair\",\n \"Promise\"\n ], body);\n };\n function fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise();\n const ac = new AbortController, signal = ac.signal;\n return {\n value: fn(async function* () {\n while (!0) {\n const _promise = promise;\n promise = null;\n const { chunk, done, cb } = await _promise;\n if (runOnNextTick(cb), done)\n return;\n if (signal.aborted)\n throw new AbortError2(void 0, {\n cause: signal.reason\n });\n ({ promise, resolve } = createDeferredPromise()), yield chunk;\n }\n }(), {\n signal\n }),\n write(chunk, encoding, cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n chunk,\n done: !1,\n cb\n });\n },\n final(cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n done: !0,\n cb\n });\n },\n destroy(err, cb) {\n ac.abort(), cb(err);\n }\n };\n }\n function _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== \"function\" \? Readable.wrap(pair.readable) : pair.readable, w = pair.writable;\n let readable = !!isReadable(r), writable = !!isWritable(w), ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n if (d = new Duplexify({\n readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),\n readable,\n writable\n }), writable)\n eos(w, (err) => {\n if (writable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), d._write = function(chunk, encoding, callback) {\n if (w.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n w.end(), onfinish = callback;\n }, w.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), w.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n eos(r, (err) => {\n if (readable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), r.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), r.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = r.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(w, err), destroyer(r, err);\n }, d;\n }\n }\n}), require_duplex = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplex.js\"(exports, module) {\n var { ObjectDefineProperties, ObjectGetOwnPropertyDescriptor, ObjectKeys, ObjectSetPrototypeOf } = require_primordials(), Readable = require_readable();\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n if (Readable.@call(this, options), Writable.@call(this, options), options) {\n if (this.allowHalfOpen = options.allowHalfOpen !== !1, options.readable === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if (options.writable === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n } else\n this.allowHalfOpen = !0;\n }\n Duplex.prototype = {}, module.exports = Duplex, ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype), ObjectSetPrototypeOf(Duplex, Readable);\n for (var method in Writable.prototype)\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n ObjectDefineProperties(Duplex.prototype, {\n writable: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writable\"),\n writableHighWaterMark: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableHighWaterMark\"),\n writableObjectMode: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableObjectMode\"),\n writableBuffer: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableBuffer\"),\n writableLength: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableLength\"),\n writableFinished: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableFinished\"),\n writableCorked: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableCorked\"),\n writableEnded: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableEnded\"),\n writableNeedDrain: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableNeedDrain\"),\n destroyed: {\n get() {\n if (this._readableState === void 0 || this._writableState === void 0)\n return !1;\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set(value) {\n if (this._readableState && this._writableState)\n this._readableState.destroyed = value, this._writableState.destroyed = value;\n }\n }\n });\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Duplex.fromWeb = function(pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);\n }, Duplex.toWeb = function(duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);\n };\n var duplexify;\n Duplex.from = function(body) {\n if (!duplexify)\n duplexify = require_duplexify();\n return duplexify(body, \"body\");\n };\n }\n}), require_transform = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/transform.js\"(exports, module) {\n var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials(), { ERR_METHOD_NOT_IMPLEMENTED } = require_errors().codes, Duplex = require_duplex();\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n if (Duplex.@call(this, options), this._readableState.sync = !1, this[kCallback] = null, options) {\n if (typeof options.transform === \"function\")\n this._transform = options.transform;\n if (typeof options.flush === \"function\")\n this._flush = options.flush;\n }\n this.on(\"prefinish\", prefinish.bind(this));\n }\n Transform.prototype = {}, ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype), ObjectSetPrototypeOf(Transform, Duplex), module.exports = Transform;\n var kCallback = Symbol2(\"kCallback\");\n function final(cb) {\n if (typeof this._flush === \"function\" && !this.destroyed)\n this._flush((er, data) => {\n if (er) {\n if (cb)\n cb(er);\n else\n this.destroy(er);\n return;\n }\n if (data != null)\n this.push(data);\n if (this.push(null), cb)\n cb();\n });\n else if (this.push(null), cb)\n cb();\n }\n function prefinish() {\n if (this._final !== final)\n final.@call(this);\n }\n Transform.prototype._final = final, Transform.prototype._transform = function(chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\");\n }, Transform.prototype._write = function(chunk, encoding, callback) {\n const rState = this._readableState, wState = this._writableState, length = rState.length;\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err);\n return;\n }\n if (val != null)\n this.push(val);\n if (wState.ended || length === rState.length || rState.length < rState.highWaterMark || rState.highWaterMark === 0 || rState.length === 0)\n callback();\n else\n this[kCallback] = callback;\n });\n }, Transform.prototype._read = function() {\n if (this[kCallback]) {\n const callback = this[kCallback];\n this[kCallback] = null, callback();\n }\n };\n }\n}), require_passthrough = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/passthrough.js\"(exports, module) {\n var { ObjectSetPrototypeOf } = require_primordials(), Transform = require_transform();\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.@call(this, options);\n }\n PassThrough.prototype = {}, ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype), ObjectSetPrototypeOf(PassThrough, Transform), PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n }, module.exports = PassThrough;\n }\n}), require_pipeline = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/pipeline.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, Promise: Promise2, SymbolAsyncIterator } = require_primordials(), eos = require_end_of_stream(), { once } = require_util(), destroyImpl = require_destroy(), Duplex = require_duplex(), {\n aggregateTwoErrors,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS, ERR_STREAM_DESTROYED },\n AbortError: AbortError2\n } = require_errors(), { validateFunction, validateAbortSignal } = require_validators(), { isIterable, isReadable, isReadableNodeStream, isNodeStream } = require_utils(), PassThrough, Readable;\n function destroyer(stream, reading, writing) {\n let finished = !1;\n stream.on(\"close\", () => {\n finished = !0;\n });\n const cleanup = eos(stream, {\n readable: reading,\n writable: writing\n }, (err) => {\n finished = !err;\n });\n return {\n destroy: (err) => {\n if (finished)\n return;\n finished = !0, destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED(\"pipe\"));\n },\n cleanup\n };\n }\n function popCallback(streams) {\n return validateFunction(streams[streams.length - 1], \"streams[stream.length - 1]\"), streams.pop();\n }\n function makeAsyncIterable(val) {\n if (isIterable(val))\n return val;\n else if (isReadableNodeStream(val))\n return fromReadable(val);\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], val);\n }\n async function* fromReadable(val) {\n if (!Readable)\n Readable = require_readable();\n yield* Readable.prototype[SymbolAsyncIterator].@call(val);\n }\n async function pump(iterable, writable, finish, { end }) {\n let error, onresolve = null;\n const resume = (err) => {\n if (err)\n error = err;\n if (onresolve) {\n const callback = onresolve;\n onresolve = null, callback();\n }\n }, wait = () => new Promise2((resolve, reject) => {\n if (error)\n reject(error);\n else\n onresolve = () => {\n if (error)\n reject(error);\n else\n resolve();\n };\n });\n writable.on(\"drain\", resume);\n const cleanup = eos(writable, {\n readable: !1\n }, resume);\n try {\n if (writable.writableNeedDrain)\n await wait();\n for await (let chunk of iterable)\n if (!writable.write(chunk))\n await wait();\n if (end)\n writable.end();\n await wait(), finish();\n } catch (err) {\n finish(error !== err \? aggregateTwoErrors(error, err) : err);\n } finally {\n cleanup(), writable.off(\"drain\", resume);\n }\n }\n function pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)));\n }\n function pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray2(streams[0]))\n streams = streams[0];\n if (streams.length < 2)\n throw new ERR_MISSING_ARGS(\"streams\");\n const ac = new AbortController, signal = ac.signal, outerSignal = opts === null || opts === void 0 \? void 0 : opts.signal, lastStreamCleanup = [];\n validateAbortSignal(outerSignal, \"options.signal\");\n function abort() {\n finishImpl(new AbortError2);\n }\n outerSignal === null || outerSignal === void 0 || outerSignal.addEventListener(\"abort\", abort);\n let error, value;\n const destroys = [];\n let finishCount = 0;\n function finish(err) {\n finishImpl(err, --finishCount === 0);\n }\n function finishImpl(err, final) {\n if (err && (!error || error.code === \"ERR_STREAM_PREMATURE_CLOSE\"))\n error = err;\n if (!error && !final)\n return;\n while (destroys.length)\n destroys.shift()(error);\n if (outerSignal === null || outerSignal === void 0 || outerSignal.removeEventListener(\"abort\", abort), ac.abort(), final) {\n if (!error)\n lastStreamCleanup.forEach((fn) => fn());\n runOnNextTick(callback, error, value);\n }\n }\n let ret;\n for (let i = 0;i < streams.length; i++) {\n const stream = streams[i], reading = i < streams.length - 1, writing = i > 0, end = reading || (opts === null || opts === void 0 \? void 0 : opts.end) !== !1, isLastStream = i === streams.length - 1;\n if (isNodeStream(stream)) {\n let onError = function(err) {\n if (err && err.name !== \"AbortError\" && err.code !== \"ERR_STREAM_PREMATURE_CLOSE\")\n finish(err);\n };\n if (end) {\n const { destroy: destroy2, cleanup } = destroyer(stream, reading, writing);\n if (destroys.push(destroy2), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n if (stream.on(\"error\", onError), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(() => {\n stream.removeListener(\"error\", onError);\n });\n }\n if (i === 0)\n if (typeof stream === \"function\") {\n if (ret = stream({\n signal\n }), !isIterable(ret))\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\", \"source\", ret);\n } else if (isIterable(stream) || isReadableNodeStream(stream))\n ret = stream;\n else\n ret = Duplex.from(stream);\n else if (typeof stream === \"function\")\n if (ret = makeAsyncIterable(ret), ret = stream(ret, {\n signal\n }), reading) {\n if (!isIterable(ret, !0))\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\", `transform[${i - 1}]`, ret);\n } else {\n var _ret;\n if (!PassThrough)\n PassThrough = require_passthrough();\n const pt = new PassThrough({\n objectMode: !0\n }), then = (_ret = ret) === null || _ret === void 0 \? void 0 : _ret.then;\n if (typeof then === \"function\")\n finishCount++, then.@call(ret, (val) => {\n if (value = val, val != null)\n pt.write(val);\n if (end)\n pt.end();\n runOnNextTick(finish);\n }, (err) => {\n pt.destroy(err), runOnNextTick(finish, err);\n });\n else if (isIterable(ret, !0))\n finishCount++, pump(ret, pt, finish, {\n end\n });\n else\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\", \"destination\", ret);\n ret = pt;\n const { destroy: destroy2, cleanup } = destroyer(ret, !1, !0);\n if (destroys.push(destroy2), isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2;\n const cleanup = pipe(ret, stream, finish, {\n end\n });\n if (isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n } else if (isIterable(ret))\n finishCount++, pump(ret, stream, finish, {\n end\n });\n else\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], ret);\n ret = stream;\n } else\n ret = Duplex.from(stream);\n }\n if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted)\n runOnNextTick(abort);\n return ret;\n }\n function pipe(src, dst, finish, { end }) {\n if (src.pipe(dst, {\n end\n }), end)\n src.once(\"end\", () => dst.end());\n else\n finish();\n return eos(src, {\n readable: !0,\n writable: !1\n }, (err) => {\n const rState = src._readableState;\n if (err && err.code === \"ERR_STREAM_PREMATURE_CLOSE\" && rState && rState.ended && !rState.errored && !rState.errorEmitted)\n src.once(\"end\", finish).once(\"error\", finish);\n else\n finish(err);\n }), eos(dst, {\n readable: !1,\n writable: !0\n }, finish);\n }\n module.exports = {\n pipelineImpl,\n pipeline\n };\n }\n}), require_compose = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/compose.js\"(exports, module) {\n var { pipeline } = require_pipeline(), Duplex = require_duplex(), { destroyer } = require_destroy(), { isNodeStream, isReadable, isWritable } = require_utils(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_MISSING_ARGS }\n } = require_errors();\n module.exports = function compose(...streams) {\n if (streams.length === 0)\n throw new ERR_MISSING_ARGS(\"streams\");\n if (streams.length === 1)\n return Duplex.from(streams[0]);\n const orgStreams = [...streams];\n if (typeof streams[0] === \"function\")\n streams[0] = Duplex.from(streams[0]);\n if (typeof streams[streams.length - 1] === \"function\") {\n const idx = streams.length - 1;\n streams[idx] = Duplex.from(streams[idx]);\n }\n for (let n = 0;n < streams.length; ++n) {\n if (!isNodeStream(streams[n]))\n continue;\n if (n < streams.length - 1 && !isReadable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be readable\");\n if (n > 0 && !isWritable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be writable\");\n }\n let ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n const head = streams[0], tail = pipeline(streams, onfinished), writable = !!isWritable(head), readable = !!isReadable(tail);\n if (d = new Duplex({\n writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== void 0 && tail.writableObjectMode),\n writable,\n readable\n }), writable)\n d._write = function(chunk, encoding, callback) {\n if (head.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n head.end(), onfinish = callback;\n }, head.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), tail.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n tail.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), tail.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = tail.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(tail, err);\n }, d;\n };\n }\n}), require_promises = __commonJS({\n \"node_modules/readable-stream/lib/stream/promises.js\"(exports, module) {\n var { ArrayPrototypePop, Promise: Promise2 } = require_primordials(), { isIterable, isNodeStream } = require_utils(), { pipelineImpl: pl } = require_pipeline(), { finished } = require_end_of_stream();\n function pipeline(...streams) {\n return new Promise2((resolve, reject) => {\n let signal, end;\n const lastArg = streams[streams.length - 1];\n if (lastArg && typeof lastArg === \"object\" && !isNodeStream(lastArg) && !isIterable(lastArg)) {\n const options = ArrayPrototypePop(streams);\n signal = options.signal, end = options.end;\n }\n pl(streams, (err, value) => {\n if (err)\n reject(err);\n else\n resolve(value);\n }, {\n signal,\n end\n });\n });\n }\n module.exports = {\n finished,\n pipeline\n };\n }\n}), require_stream = __commonJS({\n \"node_modules/readable-stream/lib/stream.js\"(exports, module) {\n var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials(), {\n promisify: { custom: customPromisify }\n } = require_util(), { streamReturningOperators, promiseReturningOperators } = require_operators(), {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n } = require_errors(), compose = require_compose(), { pipeline } = require_pipeline(), { destroyer } = require_destroy(), eos = require_end_of_stream(), promises = require_promises(), utils = require_utils(), Stream = module.exports = require_legacy().Stream;\n Stream.isDisturbed = utils.isDisturbed, Stream.isErrored = utils.isErrored, Stream.isWritable = utils.isWritable, Stream.isReadable = utils.isReadable, Stream.Readable = require_readable();\n for (let key of ObjectKeys(streamReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return Stream.Readable.from(ReflectApply(op, this, args));\n };\n const op = streamReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n for (let key of ObjectKeys(promiseReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return ReflectApply(op, this, args);\n };\n const op = promiseReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n Stream.Writable = require_writable(), Stream.Duplex = require_duplex(), Stream.Transform = require_transform(), Stream.PassThrough = require_passthrough(), Stream.pipeline = pipeline;\n var { addAbortSignal } = require_add_abort_signal();\n Stream.addAbortSignal = addAbortSignal, Stream.finished = eos, Stream.destroy = destroyer, Stream.compose = compose, ObjectDefineProperty(Stream, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n }), ObjectDefineProperty(pipeline, customPromisify, {\n enumerable: !0,\n get() {\n return promises.pipeline;\n }\n }), ObjectDefineProperty(eos, customPromisify, {\n enumerable: !0,\n get() {\n return promises.finished;\n }\n }), Stream.Stream = Stream, Stream._isUint8Array = function isUint8Array(value) {\n return value instanceof @Uint8Array;\n }, Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return new @Buffer(chunk.buffer, chunk.byteOffset, chunk.byteLength);\n };\n }\n}), nativeReadableStreamPrototypes = {\n 0: @undefined,\n 1: @undefined,\n 2: @undefined,\n 3: @undefined,\n 4: @undefined,\n 5: @undefined\n}, Writable = require_writable(), _pathOrFdOrSink = Symbol(\"pathOrFdOrSink\"), _fileSink = Symbol(\"fileSink\"), _native = Symbol(\"native\");\nNativeWritable.prototype = Object.create(Writable.prototype);\nvar WritablePrototypeWrite = Writable.prototype.write;\nNativeWritable.prototype.write = function NativeWritablePrototypeWrite(chunk, encoding, cb, native) {\n if (!(native \?\? this[_native]))\n return this[_native] = !1, WritablePrototypeWrite.@call(this, chunk, encoding, cb);\n var fileSink = this[_fileSink] \?\? NativeWritable_lazyConstruct(this), result = fileSink.write(chunk);\n if (@isPromise(result))\n return result.then(() => {\n this.emit(\"drain\"), fileSink.flush(!0);\n }), !1;\n if (fileSink.flush(!0), typeof encoding === \"function\")\n cb = encoding;\n if (cb)\n cb(null, chunk.byteLength);\n return !0;\n};\nvar WritablePrototypeEnd = Writable.prototype.end;\nNativeWritable.prototype.end = function end(chunk, encoding, cb, native) {\n return WritablePrototypeEnd.@call(this, chunk, encoding, cb, native \?\? this[_native]);\n};\nNativeWritable.prototype.ref = function ref() {\n var sink = this[_fileSink];\n if (!sink)\n this.NativeWritable_lazyConstruct();\n sink.ref();\n};\nNativeWritable.prototype.unref = function unref() {\n this[_fileSink]\?.unref();\n};\nvar exports = require_stream(), promises = require_promises();\nexports._getNativeReadableStreamPrototype = getNativeReadableStreamPrototype;\nexports.NativeWritable = NativeWritable;\nObject.defineProperty(exports, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n});\nexports[Symbol.for(\"::bunternal::\")] = { _ReadableFromWeb, _ReadableFromWebForUndici };\nexports.eos = require_end_of_stream();\nexports.EventEmitter = EE;\nreturn exports})\n"); +static constexpr ASCIILiteral NodeStreamCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.ts\nvar isReadableStream = function(value) {\n return typeof value === \"object\" && value !== null && value instanceof @ReadableStream;\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n};\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n return new Error(`The argument '${name}' is invalid. Received '${value}' for type '${type}'`);\n}, ERR_INVALID_ARG_VALUE = function(name, value, reason) {\n return new Error(`The value '${value}' is invalid for argument '${name}'. Reason: ${reason}`);\n}, createNativeStreamReadable = function(nativeType, Readable) {\n var [pull, start, cancel, setClose, deinit, updateRef, drainFn] = @lazy(nativeType), closer = [!1], handleNumberResult = function(nativeReadable, result, view, isClosed) {\n if (result > 0) {\n const slice = view.subarray(0, result), remainder = view.subarray(result);\n if (slice.byteLength > 0)\n nativeReadable.push(slice);\n if (isClosed)\n nativeReadable.push(null);\n return remainder.byteLength > 0 \? remainder : @undefined;\n }\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, handleArrayBufferViewResult = function(nativeReadable, result, view, isClosed) {\n if (result.byteLength > 0)\n nativeReadable.push(result);\n if (isClosed)\n nativeReadable.push(null);\n return view;\n }, DYNAMICALLY_ADJUST_CHUNK_SIZE = process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE !== \"1\";\n const finalizer = new FinalizationRegistry((ptr) => ptr && deinit(ptr)), MIN_BUFFER_SIZE = 512;\n var NativeReadable = class NativeReadable2 extends Readable {\n #bunNativePtr;\n #refCount = 1;\n #constructed = !1;\n #remainingChunk = @undefined;\n #highWaterMark;\n #pendingRead = !1;\n #hasResized = !DYNAMICALLY_ADJUST_CHUNK_SIZE;\n #unregisterToken;\n constructor(ptr, options = {}) {\n super(options);\n if (typeof options.highWaterMark === \"number\")\n this.#highWaterMark = options.highWaterMark;\n else\n this.#highWaterMark = 262144;\n this.#bunNativePtr = ptr, this.#constructed = !1, this.#remainingChunk = @undefined, this.#pendingRead = !1, this.#unregisterToken = {}, finalizer.register(this, this.#bunNativePtr, this.#unregisterToken);\n }\n _read(maxToRead) {\n if (this.#pendingRead)\n return;\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n this.push(null);\n return;\n }\n if (!this.#constructed)\n this.#internalConstruct(ptr);\n return this.#internalRead(this.#getRemainingChunk(maxToRead), ptr);\n }\n #internalConstruct(ptr) {\n this.#constructed = !0;\n const result = start(ptr, this.#highWaterMark);\n if (typeof result === \"number\" && result > 1)\n this.#hasResized = !0, this.#highWaterMark = Math.min(this.#highWaterMark, result);\n if (drainFn) {\n const drainResult = drainFn(ptr);\n if ((drainResult\?.byteLength \?\? 0) > 0)\n this.push(drainResult);\n }\n }\n #getRemainingChunk(maxToRead = this.#highWaterMark) {\n var chunk = this.#remainingChunk;\n if (chunk\?.byteLength \?\? 0 < MIN_BUFFER_SIZE) {\n var size = maxToRead > MIN_BUFFER_SIZE \? maxToRead : MIN_BUFFER_SIZE;\n this.#remainingChunk = chunk = new @Buffer(size);\n }\n return chunk;\n }\n #handleResult(result, view, isClosed) {\n if (typeof result === \"number\") {\n if (result >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleNumberResult(this, result, view, isClosed);\n } else if (typeof result === \"boolean\")\n return process.nextTick(() => {\n this.push(null);\n }), view\?.byteLength \?\? 0 > 0 \? view : @undefined;\n else if (@ArrayBuffer.isView(result)) {\n if (result.byteLength >= this.#highWaterMark && !this.#hasResized && !isClosed)\n this.#highWaterMark *= 2, this.#hasResized = !0;\n return handleArrayBufferViewResult(this, result, view, isClosed);\n } else\n throw new Error(\"Invalid result from pull\");\n }\n #internalRead(view, ptr) {\n closer[0] = !1;\n var result = pull(ptr, view, closer);\n if (@isPromise(result))\n return this.#pendingRead = !0, result.then((result2) => {\n this.#pendingRead = !1, this.#remainingChunk = this.#handleResult(result2, view, closer[0]);\n }, (reason) => {\n errorOrDestroy(this, reason);\n });\n else\n this.#remainingChunk = this.#handleResult(result, view, closer[0]);\n }\n _destroy(error, callback) {\n var ptr = this.#bunNativePtr;\n if (ptr === 0) {\n callback(error);\n return;\n }\n if (finalizer.unregister(this.#unregisterToken), this.#bunNativePtr = 0, updateRef)\n updateRef(ptr, !1);\n cancel(ptr, error), callback(error);\n }\n ref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount++ === 0)\n updateRef(ptr, !0);\n }\n unref() {\n var ptr = this.#bunNativePtr;\n if (ptr === 0)\n return;\n if (this.#refCount-- === 1)\n updateRef(ptr, !1);\n }\n };\n if (!updateRef)\n NativeReadable.prototype.ref = @undefined, NativeReadable.prototype.unref = @undefined;\n return NativeReadable;\n}, getNativeReadableStreamPrototype = function(nativeType, Readable) {\n return nativeReadableStreamPrototypes[nativeType] ||= createNativeStreamReadable(nativeType, Readable);\n}, getNativeReadableStream = function(Readable, stream, options) {\n if (!(stream && typeof stream === \"object\" && stream instanceof @ReadableStream))\n return @undefined;\n const native = @direct(stream);\n if (!native)\n return @undefined;\n const { stream: ptr, data: type } = native;\n return new (getNativeReadableStreamPrototype(type, Readable))(ptr, options);\n}, NativeWritable = function(pathOrFdOrSink, options = {}) {\n Writable.@call(this, options), this[_native] = !0, this._construct = NativeWritable_internalConstruct, this._destroy = NativeWritable_internalDestroy, this._final = NativeWritable_internalFinal, this[_pathOrFdOrSink] = pathOrFdOrSink;\n}, NativeWritable_internalConstruct = function(cb) {\n if (this._writableState.constructed = !0, this.constructed = !0, typeof cb === \"function\")\n cb();\n process.nextTick(() => {\n this.emit(\"open\", this.fd), this.emit(\"ready\");\n });\n}, NativeWritable_lazyConstruct = function(stream) {\n var sink = stream[_pathOrFdOrSink];\n if (typeof sink === \"object\")\n if (typeof sink.write === \"function\")\n return stream[_fileSink] = sink;\n else\n throw new Error(\"Invalid FileSink\");\n else\n return stream[_fileSink] = Bun.file(sink).writer();\n}, NativeWritable_internalDestroy = function(error, cb) {\n const w = this._writableState, r = this._readableState;\n if (w)\n w.destroyed = !0, w.closeEmitted = !0;\n if (r)\n r.destroyed = !0, r.closeEmitted = !0;\n if (typeof cb === \"function\")\n cb(error);\n if (w\?.closeEmitted || r\?.closeEmitted)\n this.emit(\"close\");\n}, NativeWritable_internalFinal = function(cb) {\n var sink = this[_fileSink];\n if (sink)\n sink.end();\n if (cb)\n cb();\n}, EE = @lazy(\"events\"), StringDecoder = @requireNativeModule(\"string_decoder\").StringDecoder, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, runOnNextTick = process.nextTick;\nvar ArrayIsArray = @Array.isArray, require_primordials = __commonJS({\n \"node_modules/readable-stream/lib/ours/primordials.js\"(exports, module) {\n module.exports = {\n ArrayIsArray(self) {\n return @Array.isArray(self);\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el);\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el);\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep);\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn);\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el);\n },\n ArrayPrototypePush(self, el) {\n return self.push(el);\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.@call(thisArgs, ...args);\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].@call(self, instance);\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props);\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop);\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name);\n },\n ObjectKeys(obj) {\n return Object.keys(obj);\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto);\n },\n Promise: @Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn);\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn);\n },\n PromiseReject(err) {\n return @Promise.reject(err);\n },\n ReflectApply: @getByIdDirect(Reflect, \"apply\"),\n RegExpPrototypeTest(self, value) {\n return self.test(value);\n },\n SafeSet: Set,\n String: @String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end);\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase();\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase();\n },\n StringPrototypeTrim(self) {\n return self.trim();\n },\n Symbol,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len);\n },\n Uint8Array: @Uint8Array\n };\n }\n}), require_util = __commonJS({\n \"node_modules/readable-stream/lib/ours/util.js\"(exports, module) {\n var AsyncFunction = Object.getPrototypeOf(async function() {\n }).constructor, isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, AggregateError = class extends Error {\n constructor(errors) {\n if (!@Array.isArray(errors))\n @throwTypeError(`Expected input to be an Array, got ${typeof errors}`);\n let message = \"\";\n for (let i = 0;i < errors.length; i++)\n message += ` ${errors[i].stack}\n`;\n super(message);\n this.name = \"AggregateError\", this.errors = errors;\n }\n };\n module.exports = {\n AggregateError,\n once(callback) {\n let called = !1;\n return function(...args) {\n if (called)\n return;\n called = !0, callback.@apply(this, args);\n };\n },\n createDeferredPromise: function() {\n let resolve, reject;\n return {\n promise: new @Promise((res, rej) => {\n resolve = res, reject = rej;\n }),\n resolve,\n reject\n };\n },\n promisify(fn) {\n return new @Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err)\n return reject(err);\n return resolve(...args);\n });\n });\n },\n debuglog() {\n return function() {\n };\n },\n format(format, ...args) {\n return format.replace(/%([sdifj])/g, function(...[_unused, type]) {\n const replacement = args.shift();\n if (type === \"f\")\n return replacement.toFixed(6);\n else if (type === \"j\")\n return JSON.stringify(replacement);\n else if (type === \"s\" && typeof replacement === \"object\")\n return `${replacement.constructor !== Object \? replacement.constructor.name : \"\"} {}`.trim();\n else\n return replacement.toString();\n });\n },\n inspect(value) {\n switch (typeof value) {\n case \"string\":\n if (value.includes(\"'\")) {\n if (!value.includes('\"'))\n return `\"${value}\"`;\n else if (!value.includes(\"`\") && !value.includes(\"${\"))\n return `\\`${value}\\``;\n }\n return `'${value}'`;\n case \"number\":\n if (isNaN(value))\n return \"NaN\";\n else if (Object.is(value, -0))\n return @String(value);\n return value;\n case \"bigint\":\n return `${@String(value)}n`;\n case \"boolean\":\n case \"undefined\":\n return @String(value);\n case \"object\":\n return \"{}\";\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction;\n },\n isArrayBufferView(arr) {\n return @ArrayBuffer.isView(arr);\n }\n },\n isBlob\n }, module.exports.promisify.custom = Symbol.for(\"nodejs.util.promisify.custom\");\n }\n}), require_errors = __commonJS({\n \"node_modules/readable-stream/lib/ours/errors.js\"(exports, module) {\n var { format, inspect, AggregateError: CustomAggregateError } = require_util(), AggregateError = globalThis.AggregateError || CustomAggregateError, kIsNodeError = Symbol(\"kIsNodeError\"), kTypes = [\"string\", \"function\", \"number\", \"object\", \"Function\", \"Object\", \"boolean\", \"bigint\", \"symbol\"], classRegExp = /^([A-Z][a-z0-9]*)+$/, nodeInternalPrefix = \"__node_internal_\", codes = {};\n function assert(value, message) {\n if (!value)\n throw new codes.ERR_INTERNAL_ASSERTION(message);\n }\n function addNumericalSeparator(val) {\n let res = \"\", i = val.length;\n const start = val[0] === \"-\" \? 1 : 0;\n for (;i >= start + 4; i -= 3)\n res = `_${val.slice(i - 3, i)}${res}`;\n return `${val.slice(0, i)}${res}`;\n }\n function getMessage(key, msg, args) {\n if (typeof msg === \"function\")\n return assert(msg.length <= args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`), msg(...args);\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;\n if (assert(expectedLength === args.length, `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`), args.length === 0)\n return msg;\n return format(msg, ...args);\n }\n function E(code, message, Base) {\n if (!Base)\n Base = Error;\n\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args));\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`;\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: !0,\n enumerable: !1,\n configurable: !0\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`;\n },\n writable: !0,\n enumerable: !1,\n configurable: !0\n }\n }), NodeError.prototype.code = code, NodeError.prototype[kIsNodeError] = !0, codes[code] = NodeError;\n }\n function hideStackFrames(fn) {\n const hidden = nodeInternalPrefix + fn.name;\n return Object.defineProperty(fn, \"name\", {\n value: hidden\n }), fn;\n }\n function aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (@Array.isArray(outerError.errors))\n return outerError.errors.push(innerError), outerError;\n const err = new AggregateError([outerError, innerError], outerError.message);\n return err.code = outerError.code, err;\n }\n return innerError || outerError;\n }\n var AbortError2 = class extends Error {\n constructor(message = \"The operation was aborted\", options = void 0) {\n if (options !== void 0 && typeof options !== \"object\")\n throw new codes.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n super(message, options);\n this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n }\n };\n E(\"ERR_ASSERTION\", \"%s\", Error), E(\"ERR_INVALID_ARG_TYPE\", (name, expected, actual) => {\n if (assert(typeof name === \"string\", \"'name' must be a string\"), !@Array.isArray(expected))\n expected = [expected];\n let msg = \"The \";\n if (name.endsWith(\" argument\"))\n msg += `${name} `;\n else\n msg += `\"${name}\" ${name.includes(\".\") \? \"property\" : \"argument\"} `;\n msg += \"must be \";\n const types = [], instances = [], other = [];\n for (let value of expected)\n if (assert(typeof value === \"string\", \"All expected entries have to be of type string\"), kTypes.includes(value))\n types.push(value.toLowerCase());\n else if (classRegExp.test(value))\n instances.push(value);\n else\n assert(value !== \"object\", 'The value \"object\" should be written as \"Object\"'), other.push(value);\n if (instances.length > 0) {\n const pos = types.indexOf(\"object\");\n if (pos !== -1)\n types.splice(types, pos, 1), instances.push(\"Object\");\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`;\n break;\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`;\n break;\n default: {\n const last = types.pop();\n msg += `one of type ${types.join(\", \")}, or ${last}`;\n }\n }\n if (instances.length > 0 || other.length > 0)\n msg += \" or \";\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`;\n break;\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`;\n break;\n default: {\n const last = instances.pop();\n msg += `an instance of ${instances.join(\", \")}, or ${last}`;\n }\n }\n if (other.length > 0)\n msg += \" or \";\n }\n switch (other.length) {\n case 0:\n break;\n case 1:\n if (other[0].toLowerCase() !== other[0])\n msg += \"an \";\n msg += `${other[0]}`;\n break;\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`;\n break;\n default: {\n const last = other.pop();\n msg += `one of ${other.join(\", \")}, or ${last}`;\n }\n }\n if (actual == null)\n msg += `. Received ${actual}`;\n else if (typeof actual === \"function\" && actual.name)\n msg += `. Received function ${actual.name}`;\n else if (typeof actual === \"object\") {\n var _actual$constructor;\n if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name)\n msg += `. Received an instance of ${actual.constructor.name}`;\n else {\n const inspected = inspect(actual, {\n depth: -1\n });\n msg += `. Received ${inspected}`;\n }\n } else {\n let inspected = inspect(actual, {\n colors: !1\n });\n if (inspected.length > 25)\n inspected = `${inspected.slice(0, 25)}...`;\n msg += `. Received type ${typeof actual} (${inspected})`;\n }\n return msg;\n }, TypeError), E(\"ERR_INVALID_ARG_VALUE\", (name, value, reason = \"is invalid\") => {\n let inspected = inspect(value);\n if (inspected.length > 128)\n inspected = inspected.slice(0, 128) + \"...\";\n return `The ${name.includes(\".\") \? \"property\" : \"argument\"} '${name}' ${reason}. Received ${inspected}`;\n }, TypeError), E(\"ERR_INVALID_RETURN_VALUE\", (input, name, value) => {\n var _value$constructor;\n const type = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name \? `instance of ${value.constructor.name}` : `type ${typeof value}`;\n return `Expected ${input} to be returned from the \"${name}\" function but got ${type}.`;\n }, TypeError), E(\"ERR_MISSING_ARGS\", (...args) => {\n assert(args.length > 0, \"At least one arg needs to be specified\");\n let msg;\n const len = args.length;\n switch (args = (@Array.isArray(args) \? args : [args]).map((a) => `\"${a}\"`).join(\" or \"), len) {\n case 1:\n msg += `The ${args[0]} argument`;\n break;\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`;\n break;\n default:\n {\n const last = args.pop();\n msg += `The ${args.join(\", \")}, and ${last} arguments`;\n }\n break;\n }\n return `${msg} must be specified`;\n }, TypeError), E(\"ERR_OUT_OF_RANGE\", (str, range, input) => {\n assert(range, 'Missing \"range\" argument');\n let received;\n if (Number.isInteger(input) && Math.abs(input) > 4294967296)\n received = addNumericalSeparator(@String(input));\n else if (typeof input === \"bigint\") {\n if (received = @String(input), input > 2n ** 32n || input < -(2n ** 32n))\n received = addNumericalSeparator(received);\n received += \"n\";\n } else\n received = inspect(input);\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`;\n }, RangeError), E(\"ERR_MULTIPLE_CALLBACK\", \"Callback called multiple times\", Error), E(\"ERR_METHOD_NOT_IMPLEMENTED\", \"The %s method is not implemented\", Error), E(\"ERR_STREAM_ALREADY_FINISHED\", \"Cannot call %s after a stream was finished\", Error), E(\"ERR_STREAM_CANNOT_PIPE\", \"Cannot pipe, not readable\", Error), E(\"ERR_STREAM_DESTROYED\", \"Cannot call %s after a stream was destroyed\", Error), E(\"ERR_STREAM_NULL_VALUES\", \"May not write null values to stream\", TypeError), E(\"ERR_STREAM_PREMATURE_CLOSE\", \"Premature close\", Error), E(\"ERR_STREAM_PUSH_AFTER_EOF\", \"stream.push() after EOF\", Error), E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\", \"stream.unshift() after end event\", Error), E(\"ERR_STREAM_WRITE_AFTER_END\", \"write after end\", Error), E(\"ERR_UNKNOWN_ENCODING\", \"Unknown encoding: %s\", TypeError), module.exports = {\n AbortError: AbortError2,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n };\n }\n}), require_validators = __commonJS({\n \"node_modules/readable-stream/lib/internal/validators.js\"(exports, module) {\n var {\n ArrayIsArray: ArrayIsArray2,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n RegExpPrototypeTest,\n String: String2,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n } = require_primordials(), {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n } = require_errors(), { normalizeEncoding } = require_util(), { isAsyncFunction, isArrayBufferView } = require_util().types, signals = {};\n function isInt32(value) {\n return value === (value | 0);\n }\n function isUint32(value) {\n return value === value >>> 0;\n }\n var octalReg = /^[0-7]+$/, modeDesc = \"must be a 32-bit unsigned integer or an octal string\";\n function parseFileMode(value, name, def) {\n if (typeof value === \"undefined\")\n value = def;\n if (typeof value === \"string\") {\n if (!RegExpPrototypeTest(octalReg, value))\n throw new ERR_INVALID_ARG_VALUE2(name, value, modeDesc);\n value = NumberParseInt(value, 8);\n }\n return validateInt32(value, name, 0, 4294967295), value;\n }\n var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isInt32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n }), validateUint32 = hideStackFrames((value, name, positive) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n if (!isUint32(value)) {\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n throw new ERR_OUT_OF_RANGE(name, `>= ${positive \? 1 : 0} && < 4294967296`, value);\n }\n if (positive && value === 0)\n throw new ERR_OUT_OF_RANGE(name, \">= 1 && < 4294967296\", value);\n });\n function validateString(value, name) {\n if (typeof value !== \"string\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"string\", value);\n }\n function validateNumber(value, name) {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"number\", value);\n }\n var validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const reason = \"must be one of: \" + ArrayPrototypeJoin(ArrayPrototypeMap(oneOf, (v) => typeof v === \"string\" \? `'${v}'` : String2(v)), \", \");\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateBoolean2(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"boolean\", value);\n }\n var validateObject = hideStackFrames((value, name, options) => {\n const useDefaultOptions = options == null, allowArray = useDefaultOptions \? !1 : options.allowArray, allowFunction = useDefaultOptions \? !1 : options.allowFunction;\n if (!(useDefaultOptions \? !1 : options.nullable) && value === null || !allowArray && ArrayIsArray2(value) || typeof value !== \"object\" && (!allowFunction || typeof value !== \"function\"))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Object\", value);\n }), validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray2(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Array\", value);\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE2(name, value, reason);\n }\n });\n function validateSignalName(signal, name = \"signal\") {\n if (validateString(signal, name), signals[signal] === void 0) {\n if (signals[StringPrototypeToUpperCase(signal)] !== void 0)\n throw new ERR_UNKNOWN_SIGNAL(signal + \" (signals must use all capital letters)\");\n throw new ERR_UNKNOWN_SIGNAL(signal);\n }\n }\n var validateBuffer = hideStackFrames((buffer, name = \"buffer\") => {\n if (!isArrayBufferView(buffer))\n throw new ERR_INVALID_ARG_TYPE2(name, [\"Buffer\", \"TypedArray\", \"DataView\"], buffer);\n });\n function validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding), length = data.length;\n if (normalizedEncoding === \"hex\" && length % 2 !== 0)\n throw new ERR_INVALID_ARG_VALUE2(\"encoding\", encoding, `is invalid for data of length ${length}`);\n }\n function validatePort(port, name = \"Port\", allowZero = !0) {\n if (typeof port !== \"number\" && typeof port !== \"string\" || typeof port === \"string\" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero)\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);\n return port | 0;\n }\n var validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== void 0 && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n }), validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== \"function\" || isAsyncFunction(value))\n throw new ERR_INVALID_ARG_TYPE2(name, \"Function\", value);\n }), validateUndefined = hideStackFrames((value, name) => {\n if (value !== void 0)\n throw new ERR_INVALID_ARG_TYPE2(name, \"undefined\", value);\n });\n module.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateBoolean: validateBoolean2,\n validateBuffer,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateAbortSignal\n };\n }\n}), require_utils = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/utils.js\"(exports, module) {\n var { Symbol: Symbol2, SymbolAsyncIterator, SymbolIterator } = require_primordials(), kDestroyed = Symbol2(\"kDestroyed\"), kIsErrored = Symbol2(\"kIsErrored\"), kIsReadable = Symbol2(\"kIsReadable\"), kIsDisturbed = Symbol2(\"kIsDisturbed\");\n function isReadableNodeStream(obj, strict = !1) {\n var _obj$_readableState;\n return !!(obj && typeof obj.pipe === \"function\" && typeof obj.on === \"function\" && (!strict || typeof obj.pause === \"function\" && typeof obj.resume === \"function\") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 \? void 0 : _obj$_readableState.readable) !== !1) && (!obj._writableState || obj._readableState));\n }\n function isWritableNodeStream(obj) {\n var _obj$_writableState;\n return !!(obj && typeof obj.write === \"function\" && typeof obj.on === \"function\" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 \? void 0 : _obj$_writableState.writable) !== !1));\n }\n function isDuplexNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\" && obj._readableState && typeof obj.on === \"function\" && typeof obj.write === \"function\");\n }\n function isNodeStream(obj) {\n return obj && (obj._readableState || obj._writableState || typeof obj.write === \"function\" && typeof obj.on === \"function\" || typeof obj.pipe === \"function\" && typeof obj.on === \"function\");\n }\n function isIterable(obj, isAsync) {\n if (obj == null)\n return !1;\n if (isAsync === !0)\n return typeof obj[SymbolAsyncIterator] === \"function\";\n if (isAsync === !1)\n return typeof obj[SymbolIterator] === \"function\";\n return typeof obj[SymbolAsyncIterator] === \"function\" || typeof obj[SymbolIterator] === \"function\";\n }\n function isDestroyed(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !!(stream.destroyed || stream[kDestroyed] || state !== null && state !== void 0 && state.destroyed);\n }\n function isWritableEnded(stream) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableEnded === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.ended) !== \"boolean\")\n return null;\n return wState.ended;\n }\n function isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream))\n return null;\n if (stream.writableFinished === !0)\n return !0;\n const wState = stream._writableState;\n if (wState !== null && wState !== void 0 && wState.errored)\n return !1;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.finished) !== \"boolean\")\n return null;\n return !!(wState.finished || strict === !1 && wState.ended === !0 && wState.length === 0);\n }\n function isReadableEnded(stream) {\n if (!isReadableNodeStream(stream))\n return null;\n if (stream.readableEnded === !0)\n return !0;\n const rState = stream._readableState;\n if (!rState || rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.ended) !== \"boolean\")\n return null;\n return rState.ended;\n }\n function isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream))\n return null;\n const rState = stream._readableState;\n if (rState !== null && rState !== void 0 && rState.errored)\n return !1;\n if (typeof (rState === null || rState === void 0 \? void 0 : rState.endEmitted) !== \"boolean\")\n return null;\n return !!(rState.endEmitted || strict === !1 && rState.ended === !0 && rState.length === 0);\n }\n function isReadable(stream) {\n if (stream && stream[kIsReadable] != null)\n return stream[kIsReadable];\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.readable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);\n }\n function isWritable(stream) {\n if (typeof (stream === null || stream === void 0 \? void 0 : stream.writable) !== \"boolean\")\n return null;\n if (isDestroyed(stream))\n return !1;\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);\n }\n function isFinished(stream, opts) {\n if (!isNodeStream(stream))\n return null;\n if (isDestroyed(stream))\n return !0;\n if ((opts === null || opts === void 0 \? void 0 : opts.readable) !== !1 && isReadable(stream))\n return !1;\n if ((opts === null || opts === void 0 \? void 0 : opts.writable) !== !1 && isWritable(stream))\n return !1;\n return !0;\n }\n function isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.writableErrored)\n return stream.writableErrored;\n return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 \? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 \? _stream$_writableStat : null;\n }\n function isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2;\n if (!isNodeStream(stream))\n return null;\n if (stream.readableErrored)\n return stream.readableErrored;\n return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 \? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 \? _stream$_readableStat : null;\n }\n function isClosed(stream) {\n if (!isNodeStream(stream))\n return null;\n if (typeof stream.closed === \"boolean\")\n return stream.closed;\n const { _writableState: wState, _readableState: rState } = stream;\n if (typeof (wState === null || wState === void 0 \? void 0 : wState.closed) === \"boolean\" || typeof (rState === null || rState === void 0 \? void 0 : rState.closed) === \"boolean\")\n return (wState === null || wState === void 0 \? void 0 : wState.closed) || (rState === null || rState === void 0 \? void 0 : rState.closed);\n if (typeof stream._closed === \"boolean\" && isOutgoingMessage(stream))\n return stream._closed;\n return null;\n }\n function isOutgoingMessage(stream) {\n return typeof stream._closed === \"boolean\" && typeof stream._defaultKeepAlive === \"boolean\" && typeof stream._removedConnection === \"boolean\" && typeof stream._removedContLen === \"boolean\";\n }\n function isServerResponse(stream) {\n return typeof stream._sent100 === \"boolean\" && isOutgoingMessage(stream);\n }\n function isServerRequest(stream) {\n var _stream$req;\n return typeof stream._consuming === \"boolean\" && typeof stream._dumped === \"boolean\" && ((_stream$req = stream.req) === null || _stream$req === void 0 \? void 0 : _stream$req.upgradeOrConnect) === void 0;\n }\n function willEmitClose(stream) {\n if (!isNodeStream(stream))\n return null;\n const { _writableState: wState, _readableState: rState } = stream, state = wState || rState;\n return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === !1);\n }\n function isDisturbed(stream) {\n var _stream$kIsDisturbed;\n return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 \? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));\n }\n function isErrored(stream) {\n var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;\n return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 \? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 \? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 \? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 \? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 \? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 \? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 \? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 \? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 \? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 \? void 0 : _stream$_writableStat4.errored));\n }\n module.exports = {\n kDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n isClosed,\n isDestroyed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWritable,\n isWritableNodeStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose\n };\n }\n}), require_end_of_stream = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes, { once } = require_util(), { validateAbortSignal, validateFunction, validateObject } = require_validators(), { Promise: Promise2 } = require_primordials(), {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose\n } = require_utils();\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n }\n var nop = () => {\n };\n function eos(stream, options, callback) {\n var _options$readable, _options$writable;\n if (arguments.length === 2)\n callback = options, options = {};\n else if (options == null)\n options = {};\n else\n validateObject(options, \"options\");\n validateFunction(callback, \"callback\"), validateAbortSignal(options.signal, \"options.signal\"), callback = once(callback);\n const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 \? _options$readable : isReadableNodeStream(stream), writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 \? _options$writable : isWritableNodeStream(stream);\n if (!isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"Stream\", stream);\n const { _writableState: wState, _readableState: rState } = stream, onlegacyfinish = () => {\n if (!stream.writable)\n onfinish();\n };\n let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable, writableFinished = isWritableFinished(stream, !1);\n const onfinish = () => {\n if (writableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.readable || readable))\n return;\n if (!readable || readableFinished)\n callback.@call(stream);\n };\n let readableFinished = isReadableFinished(stream, !1);\n const onend = () => {\n if (readableFinished = !0, stream.destroyed)\n willEmitClose = !1;\n if (willEmitClose && (!stream.writable || writable))\n return;\n if (!writable || writableFinished)\n callback.@call(stream);\n }, onerror = (err) => {\n callback.@call(stream, err);\n };\n let closed = isClosed(stream);\n const onclose = () => {\n closed = !0;\n const errored = isWritableErrored(stream) || isReadableErrored(stream);\n if (errored && typeof errored !== \"boolean\")\n return callback.@call(stream, errored);\n if (readable && !readableFinished && isReadableNodeStream(stream, !0)) {\n if (!isReadableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, !1))\n return callback.@call(stream, new ERR_STREAM_PREMATURE_CLOSE);\n }\n callback.@call(stream);\n }, onrequest = () => {\n stream.req.on(\"finish\", onfinish);\n };\n if (isRequest(stream)) {\n if (stream.on(\"complete\", onfinish), !willEmitClose)\n stream.on(\"abort\", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on(\"request\", onrequest);\n } else if (writable && !wState)\n stream.on(\"end\", onlegacyfinish), stream.on(\"close\", onlegacyfinish);\n if (!willEmitClose && typeof stream.aborted === \"boolean\")\n stream.on(\"aborted\", onclose);\n if (stream.on(\"end\", onend), stream.on(\"finish\", onfinish), options.error !== !1)\n stream.on(\"error\", onerror);\n if (stream.on(\"close\", onclose), closed)\n runOnNextTick(onclose);\n else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {\n if (!willEmitClose)\n runOnNextTick(onclose);\n } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === !1))\n runOnNextTick(onclose);\n else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === !1))\n runOnNextTick(onclose);\n else if (rState && stream.req && stream.aborted)\n runOnNextTick(onclose);\n const cleanup = () => {\n if (callback = nop, stream.removeListener(\"aborted\", onclose), stream.removeListener(\"complete\", onfinish), stream.removeListener(\"abort\", onclose), stream.removeListener(\"request\", onrequest), stream.req)\n stream.req.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onlegacyfinish), stream.removeListener(\"close\", onlegacyfinish), stream.removeListener(\"finish\", onfinish), stream.removeListener(\"end\", onend), stream.removeListener(\"error\", onerror), stream.removeListener(\"close\", onclose);\n };\n if (options.signal && !closed) {\n const abort = () => {\n const endCallback = callback;\n cleanup(), endCallback.@call(stream, new AbortError2(void 0, {\n cause: options.signal.reason\n }));\n };\n if (options.signal.aborted)\n runOnNextTick(abort);\n else {\n const originalCallback = callback;\n callback = once((...args) => {\n options.signal.removeEventListener(\"abort\", abort), originalCallback.@apply(stream, args);\n }), options.signal.addEventListener(\"abort\", abort);\n }\n }\n return cleanup;\n }\n function finished(stream, opts) {\n return new Promise2((resolve, reject) => {\n eos(stream, opts, (err) => {\n if (err)\n reject(err);\n else\n resolve();\n });\n });\n }\n module.exports = eos, module.exports.finished = finished;\n }\n}), require_operators = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/operators.js\"(exports, module) {\n var {\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError: AbortError2\n } = require_errors(), { validateAbortSignal, validateInteger, validateObject } = require_validators(), kWeakHandler = require_primordials().Symbol(\"kWeak\"), { finished } = require_end_of_stream(), {\n ArrayPrototypePush,\n MathFloor,\n Number: Number2,\n NumberIsNaN,\n Promise: Promise2,\n PromiseReject,\n PromisePrototypeCatch,\n Symbol: Symbol2\n } = require_primordials(), kEmpty = Symbol2(\"kEmpty\"), kEof = Symbol2(\"kEof\");\n function map(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let concurrency = 1;\n if ((options === null || options === void 0 \? void 0 : options.concurrency) != null)\n concurrency = MathFloor(options.concurrency);\n return validateInteger(concurrency, \"concurrency\", 1), async function* map2() {\n var _options$signal, _options$signal2;\n const ac = new AbortController, stream = this, queue = [], signal = ac.signal, signalOpt = {\n signal\n }, abort = () => ac.abort();\n if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted)\n abort();\n options === null || options === void 0 || (_options$signal2 = options.signal) === null || _options$signal2 === void 0 || _options$signal2.addEventListener(\"abort\", abort);\n let next, resume, done = !1;\n function onDone() {\n done = !0;\n }\n async function pump() {\n try {\n for await (let val of stream) {\n var _val;\n if (done)\n return;\n if (signal.aborted)\n throw new AbortError2;\n try {\n val = fn(val, signalOpt);\n } catch (err) {\n val = PromiseReject(err);\n }\n if (val === kEmpty)\n continue;\n if (typeof ((_val = val) === null || _val === void 0 \? void 0 : _val.catch) === \"function\")\n val.catch(onDone);\n if (queue.push(val), next)\n next(), next = null;\n if (!done && queue.length && queue.length >= concurrency)\n await new Promise2((resolve) => {\n resume = resolve;\n });\n }\n queue.push(kEof);\n } catch (err) {\n const val = PromiseReject(err);\n PromisePrototypeCatch(val, onDone), queue.push(val);\n } finally {\n var _options$signal3;\n if (done = !0, next)\n next(), next = null;\n options === null || options === void 0 || (_options$signal3 = options.signal) === null || _options$signal3 === void 0 || _options$signal3.removeEventListener(\"abort\", abort);\n }\n }\n pump();\n try {\n while (!0) {\n while (queue.length > 0) {\n const val = await queue[0];\n if (val === kEof)\n return;\n if (signal.aborted)\n throw new AbortError2;\n if (val !== kEmpty)\n yield val;\n if (queue.shift(), resume)\n resume(), resume = null;\n }\n await new Promise2((resolve) => {\n next = resolve;\n });\n }\n } finally {\n if (ac.abort(), done = !0, resume)\n resume(), resume = null;\n }\n }.@call(this);\n }\n function asIndexedPairs(options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return async function* asIndexedPairs2() {\n let index = 0;\n for await (let val of this) {\n var _options$signal4;\n if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted)\n throw new AbortError2({\n cause: options.signal.reason\n });\n yield [index++, val];\n }\n }.@call(this);\n }\n async function some(fn, options = void 0) {\n for await (let unused of filter.@call(this, fn, options))\n return !0;\n return !1;\n }\n async function every(fn, options = void 0) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n return !await some.@call(this, async (...args) => {\n return !await fn(...args);\n }, options);\n }\n async function find(fn, options) {\n for await (let result of filter.@call(this, fn, options))\n return result;\n return;\n }\n async function forEach(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function forEachFn(value, options2) {\n return await fn(value, options2), kEmpty;\n }\n for await (let unused of map.@call(this, forEachFn, options))\n ;\n }\n function filter(fn, options) {\n if (typeof fn !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"fn\", [\"Function\", \"AsyncFunction\"], fn);\n async function filterFn(value, options2) {\n if (await fn(value, options2))\n return value;\n return kEmpty;\n }\n return map.@call(this, filterFn, options);\n }\n var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {\n constructor() {\n super(\"reduce\");\n this.message = \"Reduce of an empty stream requires an initial value\";\n }\n };\n async function reduce(reducer, initialValue, options) {\n var _options$signal5;\n if (typeof reducer !== \"function\")\n throw new ERR_INVALID_ARG_TYPE2(\"reducer\", [\"Function\", \"AsyncFunction\"], reducer);\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n let hasInitialValue = arguments.length > 1;\n if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {\n const err = new AbortError2(void 0, {\n cause: options.signal.reason\n });\n throw this.once(\"error\", () => {\n }), await finished(this.destroy(err)), err;\n }\n const ac = new AbortController, signal = ac.signal;\n if (options !== null && options !== void 0 && options.signal) {\n const opts = {\n once: !0,\n [kWeakHandler]: this\n };\n options.signal.addEventListener(\"abort\", () => ac.abort(), opts);\n }\n let gotAnyItemFromStream = !1;\n try {\n for await (let value of this) {\n var _options$signal6;\n if (gotAnyItemFromStream = !0, options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted)\n throw new AbortError2;\n if (!hasInitialValue)\n initialValue = value, hasInitialValue = !0;\n else\n initialValue = await reducer(initialValue, value, {\n signal\n });\n }\n if (!gotAnyItemFromStream && !hasInitialValue)\n throw new ReduceAwareErrMissingArgs;\n } finally {\n ac.abort();\n }\n return initialValue;\n }\n async function toArray(options) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n const result = [];\n for await (let val of this) {\n var _options$signal7;\n if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted)\n throw new AbortError2(void 0, {\n cause: options.signal.reason\n });\n ArrayPrototypePush(result, val);\n }\n return result;\n }\n function flatMap(fn, options) {\n const values = map.@call(this, fn, options);\n return async function* flatMap2() {\n for await (let val of values)\n yield* val;\n }.@call(this);\n }\n function toIntegerOrInfinity(number) {\n if (number = Number2(number), NumberIsNaN(number))\n return 0;\n if (number < 0)\n throw new ERR_OUT_OF_RANGE(\"number\", \">= 0\", number);\n return number;\n }\n function drop(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* drop2() {\n var _options$signal8;\n if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal9;\n if (options !== null && options !== void 0 && (_options$signal9 = options.signal) !== null && _options$signal9 !== void 0 && _options$signal9.aborted)\n throw new AbortError2;\n if (number-- <= 0)\n yield val;\n }\n }.@call(this);\n }\n function take(number, options = void 0) {\n if (options != null)\n validateObject(options, \"options\");\n if ((options === null || options === void 0 \? void 0 : options.signal) != null)\n validateAbortSignal(options.signal, \"options.signal\");\n return number = toIntegerOrInfinity(number), async function* take2() {\n var _options$signal10;\n if (options !== null && options !== void 0 && (_options$signal10 = options.signal) !== null && _options$signal10 !== void 0 && _options$signal10.aborted)\n throw new AbortError2;\n for await (let val of this) {\n var _options$signal11;\n if (options !== null && options !== void 0 && (_options$signal11 = options.signal) !== null && _options$signal11 !== void 0 && _options$signal11.aborted)\n throw new AbortError2;\n if (number-- > 0)\n yield val;\n else\n return;\n }\n }.@call(this);\n }\n module.exports.streamReturningOperators = {\n asIndexedPairs,\n drop,\n filter,\n flatMap,\n map,\n take\n }, module.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n };\n }\n}), require_destroy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/destroy.js\"(exports, module) {\n var {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError: AbortError2\n } = require_errors(), { Symbol: Symbol2 } = require_primordials(), { kDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils(), kDestroy = \"#kDestroy\", kConstruct = \"#kConstruct\";\n function checkError(err, w, r) {\n if (err) {\n if (err.stack, w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n }\n }\n function destroy2(err, cb) {\n const r = this._readableState, w = this._writableState, s = w || r;\n if (w && w.destroyed || r && r.destroyed) {\n if (typeof cb === \"function\")\n cb();\n return this;\n }\n if (checkError(err, w, r), w)\n w.destroyed = !0;\n if (r)\n r.destroyed = !0;\n if (!s.constructed)\n this.once(kDestroy, (er) => {\n _destroy(this, aggregateTwoErrors(er, err), cb);\n });\n else\n _destroy(this, err, cb);\n return this;\n }\n function _destroy(self, err, cb) {\n let called = !1;\n function onDestroy(err2) {\n if (called)\n return;\n called = !0;\n const { _readableState: r, _writableState: w } = self;\n if (checkError(err2, w, r), w)\n w.closed = !0;\n if (r)\n r.closed = !0;\n if (typeof cb === \"function\")\n cb(err2);\n if (err2)\n runOnNextTick(emitErrorCloseNT, self, err2);\n else\n runOnNextTick(emitCloseNT, self);\n }\n try {\n self._destroy(err || null, onDestroy);\n } catch (err2) {\n onDestroy(err2);\n }\n }\n function emitErrorCloseNT(self, err) {\n emitErrorNT(self, err), emitCloseNT(self);\n }\n function emitCloseNT(self) {\n const { _readableState: r, _writableState: w } = self;\n if (w)\n w.closeEmitted = !0;\n if (r)\n r.closeEmitted = !0;\n if (w && w.emitClose || r && r.emitClose)\n self.emit(\"close\");\n }\n function emitErrorNT(self, err) {\n const r = self\?._readableState, w = self\?._writableState;\n if (w\?.errorEmitted || r\?.errorEmitted)\n return;\n if (w)\n w.errorEmitted = !0;\n if (r)\n r.errorEmitted = !0;\n self\?.emit\?.(\"error\", err);\n }\n function undestroy() {\n const r = this._readableState, w = this._writableState;\n if (r)\n r.constructed = !0, r.closed = !1, r.closeEmitted = !1, r.destroyed = !1, r.errored = null, r.errorEmitted = !1, r.reading = !1, r.ended = r.readable === !1, r.endEmitted = r.readable === !1;\n if (w)\n w.constructed = !0, w.destroyed = !1, w.closed = !1, w.closeEmitted = !1, w.errored = null, w.errorEmitted = !1, w.finalCalled = !1, w.prefinished = !1, w.ended = w.writable === !1, w.ending = w.writable === !1, w.finished = w.writable === !1;\n }\n function errorOrDestroy2(stream, err, sync) {\n const r = stream\?._readableState, w = stream\?._writableState;\n if (w && w.destroyed || r && r.destroyed)\n return this;\n if (r && r.autoDestroy || w && w.autoDestroy)\n stream.destroy(err);\n else if (err) {\n if (Error.captureStackTrace(err), w && !w.errored)\n w.errored = err;\n if (r && !r.errored)\n r.errored = err;\n if (sync)\n runOnNextTick(emitErrorNT, stream, err);\n else\n emitErrorNT(stream, err);\n }\n }\n function construct(stream, cb) {\n if (typeof stream._construct !== \"function\")\n return;\n const { _readableState: r, _writableState: w } = stream;\n if (r)\n r.constructed = !1;\n if (w)\n w.constructed = !1;\n if (stream.once(kConstruct, cb), stream.listenerCount(kConstruct) > 1)\n return;\n runOnNextTick(constructNT, stream);\n }\n function constructNT(stream) {\n let called = !1;\n function onConstruct(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : new ERR_MULTIPLE_CALLBACK);\n return;\n }\n called = !0;\n const { _readableState: r, _writableState: w } = stream, s = w || r;\n if (r)\n r.constructed = !0;\n if (w)\n w.constructed = !0;\n if (s.destroyed)\n stream.emit(kDestroy, err);\n else if (err)\n errorOrDestroy2(stream, err, !0);\n else\n runOnNextTick(emitConstructNT, stream);\n }\n try {\n stream._construct(onConstruct);\n } catch (err) {\n onConstruct(err);\n }\n }\n function emitConstructNT(stream) {\n stream.emit(kConstruct);\n }\n function isRequest(stream) {\n return stream && stream.setHeader && typeof stream.abort === \"function\";\n }\n function emitCloseLegacy(stream) {\n stream.emit(\"close\");\n }\n function emitErrorCloseLegacy(stream, err) {\n stream.emit(\"error\", err), runOnNextTick(emitCloseLegacy, stream);\n }\n function destroyer(stream, err) {\n if (!stream || isDestroyed(stream))\n return;\n if (!err && !isFinished(stream))\n err = new AbortError2;\n if (isServerRequest(stream))\n stream.socket = null, stream.destroy(err);\n else if (isRequest(stream))\n stream.abort();\n else if (isRequest(stream.req))\n stream.req.abort();\n else if (typeof stream.destroy === \"function\")\n stream.destroy(err);\n else if (typeof stream.close === \"function\")\n stream.close();\n else if (err)\n runOnNextTick(emitErrorCloseLegacy, stream);\n else\n runOnNextTick(emitCloseLegacy, stream);\n if (!stream.destroyed)\n stream[kDestroyed] = !0;\n }\n module.exports = {\n construct,\n destroyer,\n destroy: destroy2,\n undestroy,\n errorOrDestroy: errorOrDestroy2\n };\n }\n}), require_legacy = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/legacy.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, ObjectSetPrototypeOf } = require_primordials();\n function Stream(options) {\n if (!(this instanceof Stream))\n return new Stream(options);\n EE.@call(this, options);\n }\n Stream.prototype = {}, ObjectSetPrototypeOf(Stream.prototype, EE.prototype), ObjectSetPrototypeOf(Stream, EE), Stream.prototype.pipe = function(dest, options) {\n const source = this;\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === !1 && source.pause)\n source.pause();\n }\n source.on(\"data\", ondata);\n function ondrain() {\n if (source.readable && source.resume)\n source.resume();\n }\n if (dest.on(\"drain\", ondrain), !dest._isStdio && (!options || options.end !== !1))\n source.on(\"end\", onend), source.on(\"close\", onclose);\n let didOnEnd = !1;\n function onend() {\n if (didOnEnd)\n return;\n didOnEnd = !0, dest.end();\n }\n function onclose() {\n if (didOnEnd)\n return;\n if (didOnEnd = !0, typeof dest.destroy === \"function\")\n dest.destroy();\n }\n function onerror(er) {\n if (cleanup(), EE.listenerCount(this, \"error\") === 0)\n this.emit(\"error\", er);\n }\n prependListener(source, \"error\", onerror), prependListener(dest, \"error\", onerror);\n function cleanup() {\n source.removeListener(\"data\", ondata), dest.removeListener(\"drain\", ondrain), source.removeListener(\"end\", onend), source.removeListener(\"close\", onclose), source.removeListener(\"error\", onerror), dest.removeListener(\"error\", onerror), source.removeListener(\"end\", cleanup), source.removeListener(\"close\", cleanup), dest.removeListener(\"close\", cleanup);\n }\n return source.on(\"end\", cleanup), source.on(\"close\", cleanup), dest.on(\"close\", cleanup), dest.emit(\"pipe\", source), dest;\n };\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === \"function\")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (ArrayIsArray2(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n module.exports = {\n Stream,\n prependListener\n };\n }\n}), require_add_abort_signal = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js\"(exports, module) {\n var { AbortError: AbortError2, codes } = require_errors(), eos = require_end_of_stream(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes, validateAbortSignal = (signal, name) => {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n throw new ERR_INVALID_ARG_TYPE2(name, \"AbortSignal\", signal);\n };\n function isNodeStream(obj) {\n return !!(obj && typeof obj.pipe === \"function\");\n }\n module.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n if (validateAbortSignal(signal, \"signal\"), !isNodeStream(stream))\n throw new ERR_INVALID_ARG_TYPE2(\"stream\", \"stream.Stream\", stream);\n return module.exports.addAbortSignalNoValidate(signal, stream);\n }, module.exports.addAbortSignalNoValidate = function(signal, stream) {\n if (typeof signal !== \"object\" || !(\"aborted\" in signal))\n return stream;\n const onAbort = () => {\n stream.destroy(new AbortError2(void 0, {\n cause: signal.reason\n }));\n };\n if (signal.aborted)\n onAbort();\n else\n signal.addEventListener(\"abort\", onAbort), eos(stream, () => signal.removeEventListener(\"abort\", onAbort));\n return stream;\n };\n }\n}), require_state = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/state.js\"(exports, module) {\n var { MathFloor, NumberIsInteger } = require_primordials(), { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2 } = require_errors().codes;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null \? options.highWaterMark : isDuplex \? options[duplexKey] : null;\n }\n function getDefaultHighWaterMark(objectMode) {\n return objectMode \? 16 : 16384;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex \? `options.${duplexKey}` : \"options.highWaterMark\";\n throw new ERR_INVALID_ARG_VALUE2(name, hwm);\n }\n return MathFloor(hwm);\n }\n return getDefaultHighWaterMark(state.objectMode);\n }\n module.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark\n };\n }\n}), require_from = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/from.js\"(exports, module) {\n var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials(), { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors().codes;\n function from(Readable, iterable, opts) {\n let iterator;\n if (typeof iterable === \"string\" || iterable instanceof @Buffer)\n return new Readable({\n objectMode: !0,\n ...opts,\n read() {\n this.push(iterable), this.push(null);\n }\n });\n let isAsync;\n if (iterable && iterable[SymbolAsyncIterator])\n isAsync = !0, iterator = iterable[SymbolAsyncIterator]();\n else if (iterable && iterable[SymbolIterator])\n isAsync = !1, iterator = iterable[SymbolIterator]();\n else\n throw new ERR_INVALID_ARG_TYPE2(\"iterable\", [\"Iterable\"], iterable);\n const readable = new Readable({\n objectMode: !0,\n highWaterMark: 1,\n ...opts\n });\n let reading = !1;\n readable._read = function() {\n if (!reading)\n reading = !0, next();\n }, readable._destroy = function(error, cb) {\n PromisePrototypeThen(close(error), () => runOnNextTick(cb, error), (e) => runOnNextTick(cb, e || error));\n };\n async function close(error) {\n const hadError = error !== void 0 && error !== null, hasThrow = typeof iterator.throw === \"function\";\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error);\n if (await value, done)\n return;\n }\n if (typeof iterator.return === \"function\") {\n const { value } = await iterator.return();\n await value;\n }\n }\n async function next() {\n for (;; ) {\n try {\n const { value, done } = isAsync \? await iterator.next() : iterator.next();\n if (done)\n readable.push(null);\n else {\n const res = value && typeof value.then === \"function\" \? await value : value;\n if (res === null)\n throw reading = !1, new ERR_STREAM_NULL_VALUES;\n else if (readable.push(res))\n continue;\n else\n reading = !1;\n }\n } catch (err) {\n readable.destroy(err);\n }\n break;\n }\n }\n return readable;\n }\n module.exports = from;\n }\n}), _ReadableFromWeb, _ReadableFromWebForUndici, require_readable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/readable.js\"(exports, module) {\n var {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise: Promise2,\n SafeSet,\n SymbolAsyncIterator,\n Symbol: Symbol2\n } = require_primordials(), ReadableState = @lazy(\"bun:stream\").ReadableState, { Stream, prependListener } = require_legacy();\n function Readable(options) {\n if (!(this instanceof Readable))\n return new Readable(options);\n const isDuplex = this instanceof require_duplex();\n if (this._readableState = new ReadableState(options, this, isDuplex), options) {\n const { read, destroy: destroy2, construct, signal } = options;\n if (typeof read === \"function\")\n this._read = read;\n if (typeof destroy2 === \"function\")\n this._destroy = destroy2;\n if (typeof construct === \"function\")\n this._construct = construct;\n if (signal && !isDuplex)\n addAbortSignal(signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n if (this._readableState.needReadable)\n maybeReadMore(this, this._readableState);\n });\n }\n Readable.prototype = {}, ObjectSetPrototypeOf(Readable.prototype, Stream.prototype), ObjectSetPrototypeOf(Readable, Stream), Readable.prototype.on = function(ev, fn) {\n const res = Stream.prototype.on.@call(this, ev, fn), state = this._readableState;\n if (ev === \"data\") {\n if (state.readableListening = this.listenerCount(\"readable\") > 0, state.flowing !== !1)\n this.resume();\n } else if (ev === \"readable\") {\n if (!state.endEmitted && !state.readableListening) {\n if (state.readableListening = state.needReadable = !0, state.flowing = !1, state.emittedReadable = !1, state.length)\n emitReadable(this, state);\n else if (!state.reading)\n runOnNextTick(nReadingNextTick, this);\n } else if (state.endEmitted)\n ;\n }\n return res;\n };\n\n class ReadableFromWeb extends Readable {\n #reader;\n #closed;\n #pendingChunks;\n #stream;\n constructor(options, stream) {\n const { objectMode, highWaterMark, encoding, signal } = options;\n super({\n objectMode,\n highWaterMark,\n encoding,\n signal\n });\n this.#pendingChunks = [], this.#reader = @undefined, this.#stream = stream, this.#closed = !1;\n }\n #drainPending() {\n var pendingChunks = this.#pendingChunks, pendingChunksI = 0, pendingChunksCount = pendingChunks.length;\n for (;pendingChunksI < pendingChunksCount; pendingChunksI++) {\n const chunk = pendingChunks[pendingChunksI];\n if (pendingChunks[pendingChunksI] = @undefined, !this.push(chunk, @undefined))\n return this.#pendingChunks = pendingChunks.slice(pendingChunksI + 1), !0;\n }\n if (pendingChunksCount > 0)\n this.#pendingChunks = [];\n return !1;\n }\n #handleDone(reader) {\n reader.releaseLock(), this.#reader = @undefined, this.#closed = !0, this.push(null);\n return;\n }\n async _read() {\n var stream = this.#stream, reader = this.#reader;\n if (stream)\n reader = this.#reader = stream.getReader(), this.#stream = @undefined;\n else if (this.#drainPending())\n return;\n var deferredError;\n try {\n do {\n var done = !1, value;\n const firstResult = reader.readMany();\n if (@isPromise(firstResult)) {\n if ({ done, value } = await firstResult, this.#closed) {\n this.#pendingChunks.push(...value);\n return;\n }\n } else\n ({ done, value } = firstResult);\n if (done) {\n this.#handleDone(reader);\n return;\n }\n if (!this.push(value[0])) {\n this.#pendingChunks = value.slice(1);\n return;\n }\n for (let i = 1, count = value.length;i < count; i++)\n if (!this.push(value[i])) {\n this.#pendingChunks = value.slice(i + 1);\n return;\n }\n } while (!this.#closed);\n } catch (e) {\n deferredError = e;\n } finally {\n if (deferredError)\n throw deferredError;\n }\n }\n _destroy(error, callback) {\n if (!this.#closed) {\n var reader = this.#reader;\n if (reader)\n this.#reader = @undefined, reader.cancel(error).finally(() => {\n this.#closed = !0, callback(error);\n });\n return;\n }\n try {\n callback(error);\n } catch (error2) {\n globalThis.reportError(error2);\n }\n }\n }\n _ReadableFromWebForUndici = ReadableFromWeb;\n function newStreamReadableFromReadableStream(readableStream, options = {}) {\n if (!isReadableStream(readableStream))\n throw new ERR_INVALID_ARG_TYPE2(\"readableStream\", \"ReadableStream\", readableStream);\n validateObject(options, \"options\");\n const {\n highWaterMark,\n encoding,\n objectMode = !1,\n signal\n } = options;\n if (encoding !== @undefined && !@Buffer.isEncoding(encoding))\n throw new ERR_INVALID_ARG_VALUE(encoding, \"options.encoding\");\n return validateBoolean(objectMode, \"options.objectMode\"), getNativeReadableStream(Readable, readableStream, options) || new ReadableFromWeb({\n highWaterMark,\n encoding,\n objectMode,\n signal\n }, readableStream);\n }\n module.exports = Readable, _ReadableFromWeb = newStreamReadableFromReadableStream;\n var { addAbortSignal } = require_add_abort_signal(), eos = require_end_of_stream();\n const { maybeReadMore: _maybeReadMore, resume, emitReadable: _emitReadable, onEofChunk } = @lazy(\"bun:stream\");\n function maybeReadMore(stream, state) {\n process.nextTick(_maybeReadMore, stream, state);\n }\n function emitReadable(stream, state) {\n _emitReadable(stream, state);\n }\n var destroyImpl = require_destroy(), {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n }\n } = require_errors(), { validateObject } = require_validators(), from = require_from(), nop = () => {\n }, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n Readable.prototype.destroy = destroyImpl.destroy, Readable.prototype._undestroy = destroyImpl.undestroy, Readable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Readable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n }, Readable.prototype.push = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !1);\n }, Readable.prototype.unshift = function(chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, !0);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront) {\n const state = stream._readableState;\n let err;\n if (!state.objectMode) {\n if (typeof chunk === \"string\") {\n if (encoding = encoding || state.defaultEncoding, state.encoding !== encoding)\n if (addToFront && state.encoding)\n chunk = @Buffer.from(chunk, encoding).toString(state.encoding);\n else\n chunk = @Buffer.from(chunk, encoding), encoding = \"\";\n } else if (chunk instanceof @Buffer)\n encoding = \"\";\n else if (Stream._isUint8Array(chunk)) {\n if (addToFront || !state.decoder)\n chunk = Stream._uint8ArrayToBuffer(chunk);\n encoding = \"\";\n } else if (chunk != null)\n err = new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n }\n if (err)\n errorOrDestroy2(stream, err);\n else if (chunk === null)\n state.reading = !1, onEofChunk(stream, state);\n else if (state.objectMode || chunk && chunk.length > 0)\n if (addToFront)\n if (state.endEmitted)\n errorOrDestroy2(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);\n else if (state.destroyed || state.errored)\n return !1;\n else\n addChunk(stream, state, chunk, !0);\n else if (state.ended)\n errorOrDestroy2(stream, new ERR_STREAM_PUSH_AFTER_EOF);\n else if (state.destroyed || state.errored)\n return !1;\n else if (state.reading = !1, state.decoder && !encoding)\n if (chunk = state.decoder.write(chunk), state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, !1);\n else\n maybeReadMore(stream, state);\n else\n addChunk(stream, state, chunk, !1);\n else if (!addToFront)\n state.reading = !1, maybeReadMore(stream, state);\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount(\"data\") > 0) {\n if (state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n state.dataEmitted = !0, stream.emit(\"data\", chunk);\n } else {\n if (state.length += state.objectMode \? 1 : chunk.length, addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream, state);\n }\n maybeReadMore(stream, state);\n }\n Readable.prototype.isPaused = function() {\n const state = this._readableState;\n return state.paused === !0 || state.flowing === !1;\n }, Readable.prototype.setEncoding = function(enc) {\n const decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder, this._readableState.encoding = this._readableState.decoder.encoding;\n const buffer = this._readableState.buffer;\n let content = \"\";\n for (let i = buffer.length;i > 0; i--)\n content += decoder.write(buffer.shift());\n if (content !== \"\")\n buffer.push(content);\n return this._readableState.length = content.length, this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n > MAX_HWM)\n throw new ERR_OUT_OF_RANGE(\"size\", \"<= 1GiB\", n);\n else\n n--, n |= n >>> 1, n |= n >>> 2, n |= n >>> 4, n |= n >>> 8, n |= n >>> 16, n++;\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (NumberIsNaN(n)) {\n if (state.flowing && state.length)\n return state.buffer.first().length;\n return state.length;\n }\n if (n <= state.length)\n return n;\n return state.ended \? state.length : 0;\n }\n Readable.prototype.read = function(n) {\n if (!NumberIsInteger(n))\n n = NumberParseInt(n, 10);\n const state = this._readableState, nOrig = n;\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n !== 0)\n state.emittedReadable = !1;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 \? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this, state);\n return null;\n }\n if (n = howMuchToRead(n, state), n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n let doRead = state.needReadable;\n if (state.length === 0 || state.length - n < state.highWaterMark)\n doRead = !0;\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed)\n doRead = !1;\n else if (doRead) {\n if (state.reading = !0, state.sync = !0, state.length === 0)\n state.needReadable = !0;\n try {\n var result = this._read(state.highWaterMark);\n if (@isPromise(result)) {\n const peeked = Bun.peek(result);\n if (peeked !== result)\n result = peeked;\n }\n if (@isPromise(result) && result\?.then && @isCallable(result.then))\n result.then(nop, function(err) {\n errorOrDestroy2(this, err);\n });\n } catch (err) {\n errorOrDestroy2(this, err);\n }\n if (state.sync = !1, !state.reading)\n n = howMuchToRead(nOrig, state);\n }\n let ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null)\n state.needReadable = state.length <= state.highWaterMark, n = 0;\n else if (state.length -= n, state.multiAwaitDrain)\n state.awaitDrainWriters.clear();\n else\n state.awaitDrainWriters = null;\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = !0;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted)\n state.dataEmitted = !0, this.emit(\"data\", ret);\n return ret;\n }, Readable.prototype._read = function(n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\");\n }, Readable.prototype.pipe = function(dest, pipeOpts) {\n const src = this, state = this._readableState;\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain)\n state.multiAwaitDrain = !0, state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters \? [state.awaitDrainWriters] : []);\n }\n state.pipes.push(dest);\n const endFn = (!pipeOpts || pipeOpts.end !== !1) && dest !== process.stdout && dest !== process.stderr \? onend : unpipe;\n if (state.endEmitted)\n runOnNextTick(endFn);\n else\n src.once(\"end\", endFn);\n dest.on(\"unpipe\", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === !1)\n unpipeInfo.hasUnpiped = !0, cleanup();\n }\n }\n function onend() {\n dest.end();\n }\n let ondrain, cleanedUp = !1;\n function cleanup() {\n if (dest.removeListener(\"close\", onclose), dest.removeListener(\"finish\", onfinish), ondrain)\n dest.removeListener(\"drain\", ondrain);\n if (dest.removeListener(\"error\", onerror), dest.removeListener(\"unpipe\", onunpipe), src.removeListener(\"end\", onend), src.removeListener(\"end\", unpipe), src.removeListener(\"data\", ondata), cleanedUp = !0, ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n function pause() {\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest)\n state.awaitDrainWriters = dest, state.multiAwaitDrain = !1;\n else if (state.pipes.length > 1 && state.pipes.includes(dest))\n state.awaitDrainWriters.add(dest);\n src.pause();\n }\n if (!ondrain)\n ondrain = pipeOnDrain(src, dest), dest.on(\"drain\", ondrain);\n }\n src.on(\"data\", ondata);\n function ondata(chunk) {\n if (dest.write(chunk) === !1)\n pause();\n }\n function onerror(er) {\n if (unpipe(), dest.removeListener(\"error\", onerror), dest.listenerCount(\"error\") === 0) {\n const s = dest._writableState || dest._readableState;\n if (s && !s.errorEmitted)\n errorOrDestroy2(dest, er);\n else\n dest.emit(\"error\", er);\n }\n }\n prependListener(dest, \"error\", onerror);\n function onclose() {\n dest.removeListener(\"finish\", onfinish), unpipe();\n }\n dest.once(\"close\", onclose);\n function onfinish() {\n dest.removeListener(\"close\", onclose), unpipe();\n }\n dest.once(\"finish\", onfinish);\n function unpipe() {\n src.unpipe(dest);\n }\n if (dest.emit(\"pipe\", src), dest.writableNeedDrain === !0) {\n if (state.flowing)\n pause();\n } else if (!state.flowing)\n src.resume();\n return dest;\n };\n function pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState;\n if (state.awaitDrainWriters === dest)\n state.awaitDrainWriters = null;\n else if (state.multiAwaitDrain)\n state.awaitDrainWriters.delete(dest);\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount(\"data\"))\n src.resume();\n };\n }\n Readable.prototype.unpipe = function(dest) {\n const state = this._readableState, unpipeInfo = {\n hasUnpiped: !1\n };\n if (state.pipes.length === 0)\n return this;\n if (!dest) {\n const dests = state.pipes;\n state.pipes = [], this.pause();\n for (let i = 0;i < dests.length; i++)\n dests[i].emit(\"unpipe\", this, {\n hasUnpiped: !1\n });\n return this;\n }\n const index = ArrayPrototypeIndexOf(state.pipes, dest);\n if (index === -1)\n return this;\n if (state.pipes.splice(index, 1), state.pipes.length === 0)\n this.pause();\n return dest.emit(\"unpipe\", this, unpipeInfo), this;\n }, Readable.prototype.addListener = Readable.prototype.on, Readable.prototype.removeListener = function(ev, fn) {\n const res = Stream.prototype.removeListener.@call(this, ev, fn);\n if (ev === \"readable\")\n runOnNextTick(updateReadableListening, this);\n return res;\n }, Readable.prototype.off = Readable.prototype.removeListener, Readable.prototype.removeAllListeners = function(ev) {\n const res = Stream.prototype.removeAllListeners.@apply(this, arguments);\n if (ev === \"readable\" || ev === void 0)\n runOnNextTick(updateReadableListening, this);\n return res;\n };\n function updateReadableListening(self) {\n const state = self._readableState;\n if (state.readableListening = self.listenerCount(\"readable\") > 0, state.resumeScheduled && state.paused === !1)\n state.flowing = !0;\n else if (self.listenerCount(\"data\") > 0)\n self.resume();\n else if (!state.readableListening)\n state.flowing = null;\n }\n function nReadingNextTick(self) {\n self.read(0);\n }\n Readable.prototype.resume = function() {\n const state = this._readableState;\n if (!state.flowing)\n state.flowing = !state.readableListening, resume(this, state);\n return state.paused = !1, this;\n }, Readable.prototype.pause = function() {\n if (this._readableState.flowing !== !1)\n this._readableState.flowing = !1, this.emit(\"pause\");\n return this._readableState.paused = !0, this;\n }, Readable.prototype.wrap = function(stream) {\n let paused = !1;\n stream.on(\"data\", (chunk) => {\n if (!this.push(chunk) && stream.pause)\n paused = !0, stream.pause();\n }), stream.on(\"end\", () => {\n this.push(null);\n }), stream.on(\"error\", (err) => {\n errorOrDestroy2(this, err);\n }), stream.on(\"close\", () => {\n this.destroy();\n }), stream.on(\"destroy\", () => {\n this.destroy();\n }), this._read = () => {\n if (paused && stream.resume)\n paused = !1, stream.resume();\n };\n const streamKeys = ObjectKeys(stream);\n for (let j = 1;j < streamKeys.length; j++) {\n const i = streamKeys[j];\n if (this[i] === void 0 && typeof stream[i] === \"function\")\n this[i] = stream[i].bind(stream);\n }\n return this;\n }, Readable.prototype[SymbolAsyncIterator] = function() {\n return streamToAsyncIterator(this);\n }, Readable.prototype.iterator = function(options) {\n if (options !== void 0)\n validateObject(options, \"options\");\n return streamToAsyncIterator(this, options);\n };\n function streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== \"function\")\n stream = Readable.wrap(stream, {\n objectMode: !0\n });\n const iter = createAsyncIterator(stream, options);\n return iter.stream = stream, iter;\n }\n async function* createAsyncIterator(stream, options) {\n let callback = nop;\n function next(resolve) {\n if (this === stream)\n callback(), callback = nop;\n else\n callback = resolve;\n }\n stream.on(\"readable\", next);\n let error;\n const cleanup = eos(stream, {\n writable: !1\n }, (err) => {\n error = err \? aggregateTwoErrors(error, err) : null, callback(), callback = nop;\n });\n try {\n while (!0) {\n const chunk = stream.destroyed \? null : stream.read();\n if (chunk !== null)\n yield chunk;\n else if (error)\n throw error;\n else if (error === null)\n return;\n else\n await new Promise2(next);\n }\n } catch (err) {\n throw error = aggregateTwoErrors(error, err), error;\n } finally {\n if ((error || (options === null || options === void 0 \? void 0 : options.destroyOnReturn) !== !1) && (error === void 0 || stream._readableState.autoDestroy))\n destroyImpl.destroyer(stream, null);\n else\n stream.off(\"readable\", next), cleanup();\n }\n }\n ObjectDefineProperties(Readable.prototype, {\n readable: {\n get() {\n const r = this._readableState;\n return !!r && r.readable !== !1 && !r.destroyed && !r.errorEmitted && !r.endEmitted;\n },\n set(val) {\n if (this._readableState)\n this._readableState.readable = !!val;\n }\n },\n readableDidRead: {\n enumerable: !1,\n get: function() {\n return this._readableState.dataEmitted;\n }\n },\n readableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._readableState.readable !== !1 && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);\n }\n },\n readableHighWaterMark: {\n enumerable: !1,\n get: function() {\n return this._readableState.highWaterMark;\n }\n },\n readableBuffer: {\n enumerable: !1,\n get: function() {\n return this._readableState && this._readableState.buffer;\n }\n },\n readableFlowing: {\n enumerable: !1,\n get: function() {\n return this._readableState.flowing;\n },\n set: function(state) {\n if (this._readableState)\n this._readableState.flowing = state;\n }\n },\n readableLength: {\n enumerable: !1,\n get() {\n return this._readableState.length;\n }\n },\n readableObjectMode: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.objectMode : !1;\n }\n },\n readableEncoding: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.encoding : null;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.errored : null;\n }\n },\n closed: {\n get() {\n return this._readableState \? this._readableState.closed : !1;\n }\n },\n destroyed: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.destroyed : !1;\n },\n set(value) {\n if (!this._readableState)\n return;\n this._readableState.destroyed = value;\n }\n },\n readableEnded: {\n enumerable: !1,\n get() {\n return this._readableState \? this._readableState.endEmitted : !1;\n }\n }\n }), Readable._fromList = fromList;\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n let ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join(\"\");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else\n ret = state.buffer.consume(n, state.decoder);\n return ret;\n }\n function endReadable(stream) {\n const state = stream._readableState;\n if (!state.endEmitted)\n state.ended = !0, runOnNextTick(endReadableNT, state, stream);\n }\n function endReadableNT(state, stream) {\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n if (state.endEmitted = !0, stream.emit(\"end\"), stream.writable && stream.allowHalfOpen === !1)\n runOnNextTick(endWritableNT, stream);\n else if (state.autoDestroy) {\n const wState = stream._writableState;\n if (!wState || wState.autoDestroy && (wState.finished || wState.writable === !1))\n stream.destroy();\n }\n }\n }\n function endWritableNT(stream) {\n if (stream.writable && !stream.writableEnded && !stream.destroyed)\n stream.end();\n }\n Readable.from = function(iterable, opts) {\n return from(Readable, iterable, opts);\n };\n var webStreamsAdapters = {\n newStreamReadableFromReadableStream,\n newReadableStreamFromStreamReadable(streamReadable, options = {}) {\n if (typeof streamReadable\?._readableState !== \"object\")\n throw new ERR_INVALID_ARG_TYPE2(\"streamReadable\", \"stream.Readable\", streamReadable);\n var { isDestroyed, isReadable } = require_utils();\n if (isDestroyed(streamReadable) || !isReadable(streamReadable)) {\n const readable = new @ReadableStream;\n return readable.cancel(), readable;\n }\n const { readableObjectMode: objectMode, readableHighWaterMark: highWaterMark } = streamReadable, strategy = ((strategy2) => {\n if (strategy2)\n return strategy2;\n if (objectMode)\n return new CountQueuingStrategy({ highWaterMark });\n return { highWaterMark };\n })(options\?.strategy);\n let controller;\n function onData(chunk) {\n if (controller.enqueue(chunk), controller.desiredSize <= 0)\n streamReadable.pause();\n }\n streamReadable.pause();\n const cleanup = eos(streamReadable, (error) => {\n if (error\?.code === \"ERR_STREAM_PREMATURE_CLOSE\")\n error = new AbortError(@undefined, { cause: error });\n if (cleanup(), streamReadable.on(\"error\", () => {\n }), error)\n return controller.error(error);\n controller.close();\n });\n return streamReadable.on(\"data\", onData), new @ReadableStream({\n start(c) {\n controller = c;\n },\n pull() {\n streamReadable.resume();\n },\n cancel(reason) {\n destroy(streamReadable, reason);\n }\n }, strategy);\n }\n };\n Readable.fromWeb = function(readableStream, options) {\n return webStreamsAdapters.newStreamReadableFromReadableStream(readableStream, options);\n }, Readable.toWeb = function(streamReadable, options) {\n return webStreamsAdapters.newReadableStreamFromStreamReadable(streamReadable, options);\n }, Readable.wrap = function(src, options) {\n var _ref, _src$readableObjectMo;\n return new Readable({\n objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 \? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 \? _ref : !0,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err), callback(err);\n }\n }).wrap(src);\n };\n }\n}), require_writable = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/writable.js\"(exports, module) {\n var {\n ArrayPrototypeSlice,\n Error: Error2,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol: Symbol2,\n SymbolHasInstance\n } = require_primordials(), Stream = require_legacy().Stream, destroyImpl = require_destroy(), { addAbortSignal } = require_add_abort_signal(), { getHighWaterMark, getDefaultHighWaterMark } = require_state(), {\n ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n } = require_errors().codes, { errorOrDestroy: errorOrDestroy2 } = destroyImpl;\n function Writable(options = {}) {\n const isDuplex = this instanceof require_duplex();\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this))\n return new Writable(options);\n if (this._writableState = new WritableState(options, this, isDuplex), options) {\n if (typeof options.write === \"function\")\n this._write = options.write;\n if (typeof options.writev === \"function\")\n this._writev = options.writev;\n if (typeof options.destroy === \"function\")\n this._destroy = options.destroy;\n if (typeof options.final === \"function\")\n this._final = options.final;\n if (typeof options.construct === \"function\")\n this._construct = options.construct;\n if (options.signal)\n addAbortSignal(options.signal, this);\n }\n Stream.@call(this, options), destroyImpl.construct(this, () => {\n const state = this._writableState;\n if (!state.writing)\n clearBuffer(this, state);\n finishMaybe(this, state);\n });\n }\n Writable.prototype = {}, ObjectSetPrototypeOf(Writable.prototype, Stream.prototype), ObjectSetPrototypeOf(Writable, Stream), module.exports = Writable;\n function nop() {\n }\n var kOnFinished = Symbol2(\"kOnFinished\");\n function WritableState(options, stream, isDuplex) {\n if (typeof isDuplex !== \"boolean\")\n isDuplex = stream instanceof require_duplex();\n if (this.objectMode = !!(options && options.objectMode), isDuplex)\n this.objectMode = this.objectMode || !!(options && options.writableObjectMode);\n this.highWaterMark = options \? getHighWaterMark(this, options, \"writableHighWaterMark\", isDuplex) : getDefaultHighWaterMark(!1), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;\n const noDecode = !!(options && options.decodeStrings === !1);\n this.decodeStrings = !noDecode, this.defaultEncoding = options && options.defaultEncoding || \"utf8\", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = onwrite.bind(void 0, stream), this.writecb = null, this.writelen = 0, this.afterWriteTickInfo = null, resetBuffer(this), this.pendingcb = 0, this.constructed = !0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !options || options.emitClose !== !1, this.autoDestroy = !options || options.autoDestroy !== !1, this.errored = null, this.closed = !1, this.closeEmitted = !1, this[kOnFinished] = [];\n }\n WritableState.prototype = {};\n function resetBuffer(state) {\n state.buffered = [], state.bufferedIndex = 0, state.allBuffers = !0, state.allNoop = !0;\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);\n }, ObjectDefineProperty(WritableState.prototype, \"bufferedRequestCount\", {\n get() {\n return this.buffered.length - this.bufferedIndex;\n }\n }), ObjectDefineProperty(Writable, SymbolHasInstance, {\n value: function(object) {\n if (FunctionPrototypeSymbolHasInstance(this, object))\n return !0;\n if (this !== Writable)\n return !1;\n return object && object._writableState instanceof WritableState;\n }\n }), Writable.prototype.pipe = function() {\n errorOrDestroy2(this, new ERR_STREAM_CANNOT_PIPE);\n };\n function _write(stream, chunk, encoding, cb) {\n const state = stream._writableState;\n if (typeof encoding === \"function\")\n cb = encoding, encoding = state.defaultEncoding;\n else {\n if (!encoding)\n encoding = state.defaultEncoding;\n else if (encoding !== \"buffer\" && !@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n if (typeof cb !== \"function\")\n cb = nop;\n }\n if (chunk === null)\n throw new ERR_STREAM_NULL_VALUES;\n else if (!state.objectMode)\n if (typeof chunk === \"string\") {\n if (state.decodeStrings !== !1)\n chunk = @Buffer.from(chunk, encoding), encoding = \"buffer\";\n } else if (chunk instanceof @Buffer)\n encoding = \"buffer\";\n else if (Stream._isUint8Array(chunk))\n chunk = Stream._uint8ArrayToBuffer(chunk), encoding = \"buffer\";\n else\n throw new ERR_INVALID_ARG_TYPE2(\"chunk\", [\"string\", \"Buffer\", \"Uint8Array\"], chunk);\n let err;\n if (state.ending)\n err = new ERR_STREAM_WRITE_AFTER_END;\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"write\");\n if (err)\n return runOnNextTick(cb, err), errorOrDestroy2(stream, err, !0), err;\n return state.pendingcb++, writeOrBuffer(stream, state, chunk, encoding, cb);\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === !0;\n }, Writable.prototype.cork = function() {\n this._writableState.corked++;\n }, Writable.prototype.uncork = function() {\n const state = this._writableState;\n if (state.corked) {\n if (state.corked--, !state.writing)\n clearBuffer(this, state);\n }\n }, Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === \"string\")\n encoding = StringPrototypeToLowerCase(encoding);\n if (!@Buffer.isEncoding(encoding))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n return this._writableState.defaultEncoding = encoding, this;\n };\n function writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode \? 1 : chunk.length;\n state.length += len;\n const ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = !0;\n if (state.writing || state.corked || state.errored || !state.constructed) {\n if (state.buffered.push({\n chunk,\n encoding,\n callback\n }), state.allBuffers && encoding !== \"buffer\")\n state.allBuffers = !1;\n if (state.allNoop && callback !== nop)\n state.allNoop = !1;\n } else\n state.writelen = len, state.writecb = callback, state.writing = !0, state.sync = !0, stream._write(chunk, encoding, state.onwrite), state.sync = !1;\n return ret && !state.errored && !state.destroyed;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n if (state.writelen = len, state.writecb = cb, state.writing = !0, state.sync = !0, state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED(\"write\"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = !1;\n }\n function onwriteError(stream, state, er, cb) {\n --state.pendingcb, cb(er), errorBuffer(state), errorOrDestroy2(stream, er);\n }\n function onwrite(stream, er) {\n const state = stream._writableState, sync = state.sync, cb = state.writecb;\n if (typeof cb !== \"function\") {\n errorOrDestroy2(stream, new ERR_MULTIPLE_CALLBACK);\n return;\n }\n if (state.writing = !1, state.writecb = null, state.length -= state.writelen, state.writelen = 0, er) {\n if (Error.captureStackTrace(er), !state.errored)\n state.errored = er;\n if (stream._readableState && !stream._readableState.errored)\n stream._readableState.errored = er;\n if (sync)\n runOnNextTick(onwriteError, stream, state, er, cb);\n else\n onwriteError(stream, state, er, cb);\n } else {\n if (state.buffered.length > state.bufferedIndex)\n clearBuffer(stream, state);\n if (sync)\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb)\n state.afterWriteTickInfo.count++;\n else\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }, runOnNextTick(afterWriteTick, state.afterWriteTickInfo);\n else\n afterWrite(stream, state, 1, cb);\n }\n }\n function afterWriteTick({ stream, state, count, cb }) {\n return state.afterWriteTickInfo = null, afterWrite(stream, state, count, cb);\n }\n function afterWrite(stream, state, count, cb) {\n if (!state.ending && !stream.destroyed && state.length === 0 && state.needDrain)\n state.needDrain = !1, stream.emit(\"drain\");\n while (count-- > 0)\n state.pendingcb--, cb();\n if (state.destroyed)\n errorBuffer(state);\n finishMaybe(stream, state);\n }\n function errorBuffer(state) {\n if (state.writing)\n return;\n for (let n = state.bufferedIndex;n < state.buffered.length; ++n) {\n var _state$errored;\n const { chunk, callback } = state.buffered[n], len = state.objectMode \? 1 : chunk.length;\n state.length -= len, callback((_state$errored = state.errored) !== null && _state$errored !== void 0 \? _state$errored : new ERR_STREAM_DESTROYED(\"write\"));\n }\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++) {\n var _state$errored2;\n onfinishCallbacks[i]((_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 \? _state$errored2 : new ERR_STREAM_DESTROYED(\"end\"));\n }\n resetBuffer(state);\n }\n function clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed)\n return;\n const { buffered, bufferedIndex, objectMode } = state, bufferedLength = buffered.length - bufferedIndex;\n if (!bufferedLength)\n return;\n let i = bufferedIndex;\n if (state.bufferProcessing = !0, bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1;\n const callback = state.allNoop \? nop : (err) => {\n for (let n = i;n < buffered.length; ++n)\n buffered[n].callback(err);\n }, chunks = state.allNoop && i === 0 \? buffered : ArrayPrototypeSlice(buffered, i);\n chunks.allBuffers = state.allBuffers, doWrite(stream, state, !0, state.length, chunks, \"\", callback), resetBuffer(state);\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i];\n buffered[i++] = null;\n const len = objectMode \? 1 : chunk.length;\n doWrite(stream, state, !1, len, chunk, encoding, callback);\n } while (i < buffered.length && !state.writing);\n if (i === buffered.length)\n resetBuffer(state);\n else if (i > 256)\n buffered.splice(0, i), state.bufferedIndex = 0;\n else\n state.bufferedIndex = i;\n }\n state.bufferProcessing = !1;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n if (this._writev)\n this._writev([\n {\n chunk,\n encoding\n }\n ], cb);\n else\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\");\n }, Writable.prototype._writev = null, Writable.prototype.end = function(chunk, encoding, cb, native = !1) {\n const state = this._writableState;\n if (typeof chunk === \"function\")\n cb = chunk, chunk = null, encoding = null;\n else if (typeof encoding === \"function\")\n cb = encoding, encoding = null;\n let err;\n if (chunk !== null && chunk !== void 0) {\n let ret;\n if (!native)\n ret = _write(this, chunk, encoding);\n else\n ret = this.write(chunk, encoding);\n if (ret instanceof Error2)\n err = ret;\n }\n if (state.corked)\n state.corked = 1, this.uncork();\n if (err)\n this.emit(\"error\", err);\n else if (!state.errored && !state.ending)\n state.ending = !0, finishMaybe(this, state, !0), state.ended = !0;\n else if (state.finished)\n err = new ERR_STREAM_ALREADY_FINISHED(\"end\");\n else if (state.destroyed)\n err = new ERR_STREAM_DESTROYED(\"end\");\n if (typeof cb === \"function\")\n if (err || state.finished)\n runOnNextTick(cb, err);\n else\n state[kOnFinished].push(cb);\n return this;\n };\n function needFinish(state, tag) {\n var needFinish2 = state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;\n return needFinish2;\n }\n function callFinal(stream, state) {\n let called = !1;\n function onFinish(err) {\n if (called) {\n errorOrDestroy2(stream, err !== null && err !== void 0 \? err : ERR_MULTIPLE_CALLBACK());\n return;\n }\n if (called = !0, state.pendingcb--, err) {\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i](err);\n errorOrDestroy2(stream, err, state.sync);\n } else if (needFinish(state))\n state.prefinished = !0, stream.emit(\"prefinish\"), state.pendingcb++, runOnNextTick(finish, stream, state);\n }\n state.sync = !0, state.pendingcb++;\n try {\n stream._final(onFinish);\n } catch (err) {\n onFinish(err);\n }\n state.sync = !1;\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled)\n if (typeof stream._final === \"function\" && !state.destroyed)\n state.finalCalled = !0, callFinal(stream, state);\n else\n state.prefinished = !0, stream.emit(\"prefinish\");\n }\n function finishMaybe(stream, state, sync) {\n if (!needFinish(state, stream.__id))\n return;\n if (prefinish(stream, state), state.pendingcb === 0) {\n if (sync)\n state.pendingcb++, runOnNextTick((stream2, state2) => {\n if (needFinish(state2))\n finish(stream2, state2);\n else\n state2.pendingcb--;\n }, stream, state);\n else if (needFinish(state))\n state.pendingcb++, finish(stream, state);\n }\n }\n function finish(stream, state) {\n state.pendingcb--, state.finished = !0;\n const onfinishCallbacks = state[kOnFinished].splice(0);\n for (let i = 0;i < onfinishCallbacks.length; i++)\n onfinishCallbacks[i]();\n if (stream.emit(\"finish\"), state.autoDestroy) {\n const rState = stream._readableState;\n if (!rState || rState.autoDestroy && (rState.endEmitted || rState.readable === !1))\n stream.destroy();\n }\n }\n ObjectDefineProperties(Writable.prototype, {\n closed: {\n get() {\n return this._writableState \? this._writableState.closed : !1;\n }\n },\n destroyed: {\n get() {\n return this._writableState \? this._writableState.destroyed : !1;\n },\n set(value) {\n if (this._writableState)\n this._writableState.destroyed = value;\n }\n },\n writable: {\n get() {\n const w = this._writableState;\n return !!w && w.writable !== !1 && !w.destroyed && !w.errored && !w.ending && !w.ended;\n },\n set(val) {\n if (this._writableState)\n this._writableState.writable = !!val;\n }\n },\n writableFinished: {\n get() {\n return this._writableState \? this._writableState.finished : !1;\n }\n },\n writableObjectMode: {\n get() {\n return this._writableState \? this._writableState.objectMode : !1;\n }\n },\n writableBuffer: {\n get() {\n return this._writableState && this._writableState.getBuffer();\n }\n },\n writableEnded: {\n get() {\n return this._writableState \? this._writableState.ending : !1;\n }\n },\n writableNeedDrain: {\n get() {\n const wState = this._writableState;\n if (!wState)\n return !1;\n return !wState.destroyed && !wState.ending && wState.needDrain;\n }\n },\n writableHighWaterMark: {\n get() {\n return this._writableState && this._writableState.highWaterMark;\n }\n },\n writableCorked: {\n get() {\n return this._writableState \? this._writableState.corked : 0;\n }\n },\n writableLength: {\n get() {\n return this._writableState && this._writableState.length;\n }\n },\n errored: {\n enumerable: !1,\n get() {\n return this._writableState \? this._writableState.errored : null;\n }\n },\n writableAborted: {\n enumerable: !1,\n get: function() {\n return !!(this._writableState.writable !== !1 && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);\n }\n }\n });\n var destroy2 = destroyImpl.destroy;\n Writable.prototype.destroy = function(err, cb) {\n const state = this._writableState;\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length))\n runOnNextTick(errorBuffer, state);\n return destroy2.@call(this, err, cb), this;\n }, Writable.prototype._undestroy = destroyImpl.undestroy, Writable.prototype._destroy = function(err, cb) {\n cb(err);\n }, Writable.prototype[EE.captureRejectionSymbol] = function(err) {\n this.destroy(err);\n };\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Writable.fromWeb = function(writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);\n }, Writable.toWeb = function(streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);\n };\n }\n}), require_duplexify = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplexify.js\"(exports, module) {\n var {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream\n } = require_utils(), eos = require_end_of_stream(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }\n } = require_errors(), { destroyer } = require_destroy(), Duplex = require_duplex(), Readable = require_readable(), { createDeferredPromise } = require_util(), from = require_from(), isBlob = typeof Blob !== \"undefined\" \? function isBlob2(b) {\n return b instanceof Blob;\n } : function isBlob2(b) {\n return !1;\n }, { FunctionPrototypeCall } = require_primordials();\n\n class Duplexify extends Duplex {\n constructor(options) {\n super(options);\n if ((options === null || options === @undefined \? @undefined : options.readable) === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if ((options === null || options === @undefined \? @undefined : options.writable) === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n }\n }\n module.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body))\n return body;\n if (isReadableNodeStream(body))\n return _duplexify({\n readable: body\n });\n if (isWritableNodeStream(body))\n return _duplexify({\n writable: body\n });\n if (isNodeStream(body))\n return _duplexify({\n writable: !1,\n readable: !1\n });\n if (typeof body === \"function\") {\n const { value, write, final, destroy: destroy2 } = fromAsyncGen(body);\n if (isIterable(value))\n return from(Duplexify, value, {\n objectMode: !0,\n write,\n final,\n destroy: destroy2\n });\n const then2 = value === null || value === void 0 \? void 0 : value.then;\n if (typeof then2 === \"function\") {\n let d;\n const promise = FunctionPrototypeCall(then2, value, (val) => {\n if (val != null)\n throw new ERR_INVALID_RETURN_VALUE(\"nully\", \"body\", val);\n }, (err) => {\n destroyer(d, err);\n });\n return d = new Duplexify({\n objectMode: !0,\n readable: !1,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise, runOnNextTick(cb, null);\n } catch (err) {\n runOnNextTick(cb, err);\n }\n });\n },\n destroy: destroy2\n });\n }\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\", name, value);\n }\n if (isBlob(body))\n return duplexify(body.arrayBuffer());\n if (isIterable(body))\n return from(Duplexify, body, {\n objectMode: !0,\n writable: !1\n });\n if (typeof (body === null || body === void 0 \? void 0 : body.writable) === \"object\" || typeof (body === null || body === void 0 \? void 0 : body.readable) === \"object\") {\n const readable = body !== null && body !== void 0 && body.readable \? isReadableNodeStream(body === null || body === void 0 \? void 0 : body.readable) \? body === null || body === void 0 \? void 0 : body.readable : duplexify(body.readable) : void 0, writable = body !== null && body !== void 0 && body.writable \? isWritableNodeStream(body === null || body === void 0 \? void 0 : body.writable) \? body === null || body === void 0 \? void 0 : body.writable : duplexify(body.writable) : void 0;\n return _duplexify({\n readable,\n writable\n });\n }\n const then = body === null || body === void 0 \? void 0 : body.then;\n if (typeof then === \"function\") {\n let d;\n return FunctionPrototypeCall(then, body, (val) => {\n if (val != null)\n d.push(val);\n d.push(null);\n }, (err) => {\n destroyer(d, err);\n }), d = new Duplexify({\n objectMode: !0,\n writable: !1,\n read() {\n }\n });\n }\n throw new ERR_INVALID_ARG_TYPE2(name, [\n \"Blob\",\n \"ReadableStream\",\n \"WritableStream\",\n \"Stream\",\n \"Iterable\",\n \"AsyncIterable\",\n \"Function\",\n \"{ readable, writable } pair\",\n \"Promise\"\n ], body);\n };\n function fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise();\n const ac = new AbortController, signal = ac.signal;\n return {\n value: fn(async function* () {\n while (!0) {\n const _promise = promise;\n promise = null;\n const { chunk, done, cb } = await _promise;\n if (runOnNextTick(cb), done)\n return;\n if (signal.aborted)\n throw new AbortError2(void 0, {\n cause: signal.reason\n });\n ({ promise, resolve } = createDeferredPromise()), yield chunk;\n }\n }(), {\n signal\n }),\n write(chunk, encoding, cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n chunk,\n done: !1,\n cb\n });\n },\n final(cb) {\n const _resolve = resolve;\n resolve = null, _resolve({\n done: !0,\n cb\n });\n },\n destroy(err, cb) {\n ac.abort(), cb(err);\n }\n };\n }\n function _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== \"function\" \? Readable.wrap(pair.readable) : pair.readable, w = pair.writable;\n let readable = !!isReadable(r), writable = !!isWritable(w), ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n if (d = new Duplexify({\n readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),\n readable,\n writable\n }), writable)\n eos(w, (err) => {\n if (writable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), d._write = function(chunk, encoding, callback) {\n if (w.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n w.end(), onfinish = callback;\n }, w.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), w.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n eos(r, (err) => {\n if (readable = !1, err)\n destroyer(r, err);\n onfinished(err);\n }), r.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), r.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = r.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(w, err), destroyer(r, err);\n }, d;\n }\n }\n}), require_duplex = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/duplex.js\"(exports, module) {\n var { ObjectDefineProperties, ObjectGetOwnPropertyDescriptor, ObjectKeys, ObjectSetPrototypeOf } = require_primordials(), Readable = require_readable();\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n if (Readable.@call(this, options), Writable.@call(this, options), options) {\n if (this.allowHalfOpen = options.allowHalfOpen !== !1, options.readable === !1)\n this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0;\n if (options.writable === !1)\n this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0;\n } else\n this.allowHalfOpen = !0;\n }\n Duplex.prototype = {}, module.exports = Duplex, ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype), ObjectSetPrototypeOf(Duplex, Readable);\n for (var method in Writable.prototype)\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n ObjectDefineProperties(Duplex.prototype, {\n writable: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writable\"),\n writableHighWaterMark: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableHighWaterMark\"),\n writableObjectMode: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableObjectMode\"),\n writableBuffer: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableBuffer\"),\n writableLength: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableLength\"),\n writableFinished: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableFinished\"),\n writableCorked: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableCorked\"),\n writableEnded: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableEnded\"),\n writableNeedDrain: ObjectGetOwnPropertyDescriptor(Writable.prototype, \"writableNeedDrain\"),\n destroyed: {\n get() {\n if (this._readableState === void 0 || this._writableState === void 0)\n return !1;\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set(value) {\n if (this._readableState && this._writableState)\n this._readableState.destroyed = value, this._writableState.destroyed = value;\n }\n }\n });\n var webStreamsAdapters;\n function lazyWebStreams() {\n if (webStreamsAdapters === void 0)\n webStreamsAdapters = {};\n return webStreamsAdapters;\n }\n Duplex.fromWeb = function(pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);\n }, Duplex.toWeb = function(duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);\n };\n var duplexify;\n Duplex.from = function(body) {\n if (!duplexify)\n duplexify = require_duplexify();\n return duplexify(body, \"body\");\n };\n }\n}), require_transform = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/transform.js\"(exports, module) {\n var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials(), { ERR_METHOD_NOT_IMPLEMENTED } = require_errors().codes, Duplex = require_duplex();\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n if (Duplex.@call(this, options), this._readableState.sync = !1, this[kCallback] = null, options) {\n if (typeof options.transform === \"function\")\n this._transform = options.transform;\n if (typeof options.flush === \"function\")\n this._flush = options.flush;\n }\n this.on(\"prefinish\", prefinish.bind(this));\n }\n Transform.prototype = {}, ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype), ObjectSetPrototypeOf(Transform, Duplex), module.exports = Transform;\n var kCallback = Symbol2(\"kCallback\");\n function final(cb) {\n if (typeof this._flush === \"function\" && !this.destroyed)\n this._flush((er, data) => {\n if (er) {\n if (cb)\n cb(er);\n else\n this.destroy(er);\n return;\n }\n if (data != null)\n this.push(data);\n if (this.push(null), cb)\n cb();\n });\n else if (this.push(null), cb)\n cb();\n }\n function prefinish() {\n if (this._final !== final)\n final.@call(this);\n }\n Transform.prototype._final = final, Transform.prototype._transform = function(chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\");\n }, Transform.prototype._write = function(chunk, encoding, callback) {\n const rState = this._readableState, wState = this._writableState, length = rState.length;\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err);\n return;\n }\n if (val != null)\n this.push(val);\n if (wState.ended || length === rState.length || rState.length < rState.highWaterMark || rState.highWaterMark === 0 || rState.length === 0)\n callback();\n else\n this[kCallback] = callback;\n });\n }, Transform.prototype._read = function() {\n if (this[kCallback]) {\n const callback = this[kCallback];\n this[kCallback] = null, callback();\n }\n };\n }\n}), require_passthrough = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/passthrough.js\"(exports, module) {\n var { ObjectSetPrototypeOf } = require_primordials(), Transform = require_transform();\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.@call(this, options);\n }\n PassThrough.prototype = {}, ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype), ObjectSetPrototypeOf(PassThrough, Transform), PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n }, module.exports = PassThrough;\n }\n}), require_pipeline = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/pipeline.js\"(exports, module) {\n var { ArrayIsArray: ArrayIsArray2, Promise: Promise2, SymbolAsyncIterator } = require_primordials(), eos = require_end_of_stream(), { once } = require_util(), destroyImpl = require_destroy(), Duplex = require_duplex(), {\n aggregateTwoErrors,\n codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS, ERR_STREAM_DESTROYED },\n AbortError: AbortError2\n } = require_errors(), { validateFunction, validateAbortSignal } = require_validators(), { isIterable, isReadable, isReadableNodeStream, isNodeStream } = require_utils(), PassThrough, Readable;\n function destroyer(stream, reading, writing) {\n let finished = !1;\n stream.on(\"close\", () => {\n finished = !0;\n });\n const cleanup = eos(stream, {\n readable: reading,\n writable: writing\n }, (err) => {\n finished = !err;\n });\n return {\n destroy: (err) => {\n if (finished)\n return;\n finished = !0, destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED(\"pipe\"));\n },\n cleanup\n };\n }\n function popCallback(streams) {\n return validateFunction(streams[streams.length - 1], \"streams[stream.length - 1]\"), streams.pop();\n }\n function makeAsyncIterable(val) {\n if (isIterable(val))\n return val;\n else if (isReadableNodeStream(val))\n return fromReadable(val);\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], val);\n }\n async function* fromReadable(val) {\n if (!Readable)\n Readable = require_readable();\n yield* Readable.prototype[SymbolAsyncIterator].@call(val);\n }\n async function pump(iterable, writable, finish, { end }) {\n let error, onresolve = null;\n const resume = (err) => {\n if (err)\n error = err;\n if (onresolve) {\n const callback = onresolve;\n onresolve = null, callback();\n }\n }, wait = () => new Promise2((resolve, reject) => {\n if (error)\n reject(error);\n else\n onresolve = () => {\n if (error)\n reject(error);\n else\n resolve();\n };\n });\n writable.on(\"drain\", resume);\n const cleanup = eos(writable, {\n readable: !1\n }, resume);\n try {\n if (writable.writableNeedDrain)\n await wait();\n for await (let chunk of iterable)\n if (!writable.write(chunk))\n await wait();\n if (end)\n writable.end();\n await wait(), finish();\n } catch (err) {\n finish(error !== err \? aggregateTwoErrors(error, err) : err);\n } finally {\n cleanup(), writable.off(\"drain\", resume);\n }\n }\n function pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)));\n }\n function pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray2(streams[0]))\n streams = streams[0];\n if (streams.length < 2)\n throw new ERR_MISSING_ARGS(\"streams\");\n const ac = new AbortController, signal = ac.signal, outerSignal = opts === null || opts === void 0 \? void 0 : opts.signal, lastStreamCleanup = [];\n validateAbortSignal(outerSignal, \"options.signal\");\n function abort() {\n finishImpl(new AbortError2);\n }\n outerSignal === null || outerSignal === void 0 || outerSignal.addEventListener(\"abort\", abort);\n let error, value;\n const destroys = [];\n let finishCount = 0;\n function finish(err) {\n finishImpl(err, --finishCount === 0);\n }\n function finishImpl(err, final) {\n if (err && (!error || error.code === \"ERR_STREAM_PREMATURE_CLOSE\"))\n error = err;\n if (!error && !final)\n return;\n while (destroys.length)\n destroys.shift()(error);\n if (outerSignal === null || outerSignal === void 0 || outerSignal.removeEventListener(\"abort\", abort), ac.abort(), final) {\n if (!error)\n lastStreamCleanup.forEach((fn) => fn());\n runOnNextTick(callback, error, value);\n }\n }\n let ret;\n for (let i = 0;i < streams.length; i++) {\n const stream = streams[i], reading = i < streams.length - 1, writing = i > 0, end = reading || (opts === null || opts === void 0 \? void 0 : opts.end) !== !1, isLastStream = i === streams.length - 1;\n if (isNodeStream(stream)) {\n let onError = function(err) {\n if (err && err.name !== \"AbortError\" && err.code !== \"ERR_STREAM_PREMATURE_CLOSE\")\n finish(err);\n };\n if (end) {\n const { destroy: destroy2, cleanup } = destroyer(stream, reading, writing);\n if (destroys.push(destroy2), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n if (stream.on(\"error\", onError), isReadable(stream) && isLastStream)\n lastStreamCleanup.push(() => {\n stream.removeListener(\"error\", onError);\n });\n }\n if (i === 0)\n if (typeof stream === \"function\") {\n if (ret = stream({\n signal\n }), !isIterable(ret))\n throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\", \"source\", ret);\n } else if (isIterable(stream) || isReadableNodeStream(stream))\n ret = stream;\n else\n ret = Duplex.from(stream);\n else if (typeof stream === \"function\")\n if (ret = makeAsyncIterable(ret), ret = stream(ret, {\n signal\n }), reading) {\n if (!isIterable(ret, !0))\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\", `transform[${i - 1}]`, ret);\n } else {\n var _ret;\n if (!PassThrough)\n PassThrough = require_passthrough();\n const pt = new PassThrough({\n objectMode: !0\n }), then = (_ret = ret) === null || _ret === void 0 \? void 0 : _ret.then;\n if (typeof then === \"function\")\n finishCount++, then.@call(ret, (val) => {\n if (value = val, val != null)\n pt.write(val);\n if (end)\n pt.end();\n runOnNextTick(finish);\n }, (err) => {\n pt.destroy(err), runOnNextTick(finish, err);\n });\n else if (isIterable(ret, !0))\n finishCount++, pump(ret, pt, finish, {\n end\n });\n else\n throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\", \"destination\", ret);\n ret = pt;\n const { destroy: destroy2, cleanup } = destroyer(ret, !1, !0);\n if (destroys.push(destroy2), isLastStream)\n lastStreamCleanup.push(cleanup);\n }\n else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2;\n const cleanup = pipe(ret, stream, finish, {\n end\n });\n if (isReadable(stream) && isLastStream)\n lastStreamCleanup.push(cleanup);\n } else if (isIterable(ret))\n finishCount++, pump(ret, stream, finish, {\n end\n });\n else\n throw new ERR_INVALID_ARG_TYPE2(\"val\", [\"Readable\", \"Iterable\", \"AsyncIterable\"], ret);\n ret = stream;\n } else\n ret = Duplex.from(stream);\n }\n if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted)\n runOnNextTick(abort);\n return ret;\n }\n function pipe(src, dst, finish, { end }) {\n if (src.pipe(dst, {\n end\n }), end)\n src.once(\"end\", () => dst.end());\n else\n finish();\n return eos(src, {\n readable: !0,\n writable: !1\n }, (err) => {\n const rState = src._readableState;\n if (err && err.code === \"ERR_STREAM_PREMATURE_CLOSE\" && rState && rState.ended && !rState.errored && !rState.errorEmitted)\n src.once(\"end\", finish).once(\"error\", finish);\n else\n finish(err);\n }), eos(dst, {\n readable: !1,\n writable: !0\n }, finish);\n }\n module.exports = {\n pipelineImpl,\n pipeline\n };\n }\n}), require_compose = __commonJS({\n \"node_modules/readable-stream/lib/internal/streams/compose.js\"(exports, module) {\n var { pipeline } = require_pipeline(), Duplex = require_duplex(), { destroyer } = require_destroy(), { isNodeStream, isReadable, isWritable } = require_utils(), {\n AbortError: AbortError2,\n codes: { ERR_INVALID_ARG_VALUE: ERR_INVALID_ARG_VALUE2, ERR_MISSING_ARGS }\n } = require_errors();\n module.exports = function compose(...streams) {\n if (streams.length === 0)\n throw new ERR_MISSING_ARGS(\"streams\");\n if (streams.length === 1)\n return Duplex.from(streams[0]);\n const orgStreams = [...streams];\n if (typeof streams[0] === \"function\")\n streams[0] = Duplex.from(streams[0]);\n if (typeof streams[streams.length - 1] === \"function\") {\n const idx = streams.length - 1;\n streams[idx] = Duplex.from(streams[idx]);\n }\n for (let n = 0;n < streams.length; ++n) {\n if (!isNodeStream(streams[n]))\n continue;\n if (n < streams.length - 1 && !isReadable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be readable\");\n if (n > 0 && !isWritable(streams[n]))\n throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`, orgStreams[n], \"must be writable\");\n }\n let ondrain, onfinish, onreadable, onclose, d;\n function onfinished(err) {\n const cb = onclose;\n if (onclose = null, cb)\n cb(err);\n else if (err)\n d.destroy(err);\n else if (!readable && !writable)\n d.destroy();\n }\n const head = streams[0], tail = pipeline(streams, onfinished), writable = !!isWritable(head), readable = !!isReadable(tail);\n if (d = new Duplex({\n writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== void 0 && tail.writableObjectMode),\n writable,\n readable\n }), writable)\n d._write = function(chunk, encoding, callback) {\n if (head.write(chunk, encoding))\n callback();\n else\n ondrain = callback;\n }, d._final = function(callback) {\n head.end(), onfinish = callback;\n }, head.on(\"drain\", function() {\n if (ondrain) {\n const cb = ondrain;\n ondrain = null, cb();\n }\n }), tail.on(\"finish\", function() {\n if (onfinish) {\n const cb = onfinish;\n onfinish = null, cb();\n }\n });\n if (readable)\n tail.on(\"readable\", function() {\n if (onreadable) {\n const cb = onreadable;\n onreadable = null, cb();\n }\n }), tail.on(\"end\", function() {\n d.push(null);\n }), d._read = function() {\n while (!0) {\n const buf = tail.read();\n if (buf === null) {\n onreadable = d._read;\n return;\n }\n if (!d.push(buf))\n return;\n }\n };\n return d._destroy = function(err, callback) {\n if (!err && onclose !== null)\n err = new AbortError2;\n if (onreadable = null, ondrain = null, onfinish = null, onclose === null)\n callback(err);\n else\n onclose = callback, destroyer(tail, err);\n }, d;\n };\n }\n}), require_promises = __commonJS({\n \"node_modules/readable-stream/lib/stream/promises.js\"(exports, module) {\n var { ArrayPrototypePop, Promise: Promise2 } = require_primordials(), { isIterable, isNodeStream } = require_utils(), { pipelineImpl: pl } = require_pipeline(), { finished } = require_end_of_stream();\n function pipeline(...streams) {\n return new Promise2((resolve, reject) => {\n let signal, end;\n const lastArg = streams[streams.length - 1];\n if (lastArg && typeof lastArg === \"object\" && !isNodeStream(lastArg) && !isIterable(lastArg)) {\n const options = ArrayPrototypePop(streams);\n signal = options.signal, end = options.end;\n }\n pl(streams, (err, value) => {\n if (err)\n reject(err);\n else\n resolve(value);\n }, {\n signal,\n end\n });\n });\n }\n module.exports = {\n finished,\n pipeline\n };\n }\n}), require_stream = __commonJS({\n \"node_modules/readable-stream/lib/stream.js\"(exports, module) {\n var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials(), {\n promisify: { custom: customPromisify }\n } = require_util(), { streamReturningOperators, promiseReturningOperators } = require_operators(), {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n } = require_errors(), compose = require_compose(), { pipeline } = require_pipeline(), { destroyer } = require_destroy(), eos = require_end_of_stream(), promises = require_promises(), utils = require_utils(), Stream = module.exports = require_legacy().Stream;\n Stream.isDisturbed = utils.isDisturbed, Stream.isErrored = utils.isErrored, Stream.isWritable = utils.isWritable, Stream.isReadable = utils.isReadable, Stream.Readable = require_readable();\n for (let key of ObjectKeys(streamReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return Stream.Readable.from(ReflectApply(op, this, args));\n };\n const op = streamReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n for (let key of ObjectKeys(promiseReturningOperators)) {\n let fn = function(...args) {\n if (new.target)\n throw ERR_ILLEGAL_CONSTRUCTOR();\n return ReflectApply(op, this, args);\n };\n const op = promiseReturningOperators[key];\n ObjectDefineProperty(fn, \"name\", {\n value: op.name\n }), ObjectDefineProperty(fn, \"length\", {\n value: op.length\n }), ObjectDefineProperty(Stream.Readable.prototype, key, {\n value: fn,\n enumerable: !1,\n configurable: !0,\n writable: !0\n });\n }\n Stream.Writable = require_writable(), Stream.Duplex = require_duplex(), Stream.Transform = require_transform(), Stream.PassThrough = require_passthrough(), Stream.pipeline = pipeline;\n var { addAbortSignal } = require_add_abort_signal();\n Stream.addAbortSignal = addAbortSignal, Stream.finished = eos, Stream.destroy = destroyer, Stream.compose = compose, ObjectDefineProperty(Stream, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n }), ObjectDefineProperty(pipeline, customPromisify, {\n enumerable: !0,\n get() {\n return promises.pipeline;\n }\n }), ObjectDefineProperty(eos, customPromisify, {\n enumerable: !0,\n get() {\n return promises.finished;\n }\n }), Stream.Stream = Stream, Stream._isUint8Array = function isUint8Array(value) {\n return value instanceof @Uint8Array;\n }, Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return new @Buffer(chunk.buffer, chunk.byteOffset, chunk.byteLength);\n };\n }\n}), nativeReadableStreamPrototypes = {\n 0: @undefined,\n 1: @undefined,\n 2: @undefined,\n 3: @undefined,\n 4: @undefined,\n 5: @undefined\n}, Writable = require_writable(), _pathOrFdOrSink = Symbol(\"pathOrFdOrSink\"), _fileSink = Symbol(\"fileSink\"), _native = Symbol(\"native\");\nNativeWritable.prototype = Object.create(Writable.prototype);\nvar WritablePrototypeWrite = Writable.prototype.write;\nNativeWritable.prototype.write = function NativeWritablePrototypeWrite(chunk, encoding, cb, native) {\n if (!(native \?\? this[_native]))\n return this[_native] = !1, WritablePrototypeWrite.@call(this, chunk, encoding, cb);\n var fileSink = this[_fileSink] \?\? NativeWritable_lazyConstruct(this), result = fileSink.write(chunk);\n if (@isPromise(result))\n return result.then(() => {\n this.emit(\"drain\"), fileSink.flush(!0);\n }), !1;\n if (fileSink.flush(!0), typeof encoding === \"function\")\n cb = encoding;\n if (cb)\n cb(null, chunk.byteLength);\n return !0;\n};\nvar WritablePrototypeEnd = Writable.prototype.end;\nNativeWritable.prototype.end = function end(chunk, encoding, cb, native) {\n return WritablePrototypeEnd.@call(this, chunk, encoding, cb, native \?\? this[_native]);\n};\nNativeWritable.prototype.ref = function ref() {\n var sink = this[_fileSink];\n if (!sink)\n this.NativeWritable_lazyConstruct();\n sink.ref();\n};\nNativeWritable.prototype.unref = function unref() {\n this[_fileSink]\?.unref();\n};\nvar exports = require_stream(), promises = require_promises();\nexports._getNativeReadableStreamPrototype = getNativeReadableStreamPrototype;\nexports.NativeWritable = NativeWritable;\nObject.defineProperty(exports, \"promises\", {\n configurable: !0,\n enumerable: !0,\n get() {\n return promises;\n }\n});\nexports[Symbol.for(\"::bunternal::\")] = { _ReadableFromWeb, _ReadableFromWebForUndici };\nexports.eos = require_end_of_stream();\nexports.EventEmitter = EE;\nreturn exports})\n"); // // -static constexpr ASCIILiteral NodeStreamPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).promises})\n"); +static constexpr ASCIILiteral NodeStreamPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.promises.ts\nreturn (@getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39)).promises})\n"); // // -static constexpr ASCIILiteral NodeStreamWebCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/stream.web.ts\nvar $;\n$ = {\n ReadableStream: @ReadableStream,\n ReadableStreamDefaultReader: @ReadableStreamDefaultReader,\n ReadableStreamBYOBReader: @ReadableStreamBYOBReader,\n ReadableStreamBYOBRequest: @ReadableStreamBYOBRequest,\n ReadableByteStreamController: @ReadableByteStreamController,\n ReadableStreamDefaultController: @ReadableStreamDefaultController,\n TransformStream: @TransformStream,\n TransformStreamDefaultController: @TransformStreamDefaultController,\n WritableStream: @WritableStream,\n WritableStreamDefaultWriter: @WritableStreamDefaultWriter,\n WritableStreamDefaultController: @WritableStreamDefaultController,\n ByteLengthQueuingStrategy,\n CountQueuingStrategy,\n TextEncoderStream: @undefined,\n TextDecoderStream: @undefined,\n CompressionStream: @undefined,\n DecompressionStream: @undefined\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeStreamWebCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/stream.web.ts\nvar $;\n$ = {\n ReadableStream: @ReadableStream,\n ReadableStreamDefaultReader: @ReadableStreamDefaultReader,\n ReadableStreamBYOBReader: @ReadableStreamBYOBReader,\n ReadableStreamBYOBRequest: @ReadableStreamBYOBRequest,\n ReadableByteStreamController: @ReadableByteStreamController,\n ReadableStreamDefaultController: @ReadableStreamDefaultController,\n TransformStream: @TransformStream,\n TransformStreamDefaultController: @TransformStreamDefaultController,\n WritableStream: @WritableStream,\n WritableStreamDefaultWriter: @WritableStreamDefaultWriter,\n WritableStreamDefaultController: @WritableStreamDefaultController,\n ByteLengthQueuingStrategy,\n CountQueuingStrategy,\n TextEncoderStream: @undefined,\n TextDecoderStream: @undefined,\n CompressionStream: @undefined,\n DecompressionStream: @undefined\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTimersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/timers.ts\nvar $;\n$ = {\n setTimeout,\n clearTimeout,\n setInterval,\n setImmediate,\n clearInterval,\n clearImmediate\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTimersCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/timers.ts\nvar $;\n$ = {\n setTimeout,\n clearTimeout,\n setInterval,\n setImmediate,\n clearInterval,\n clearImmediate\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTimersPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/timers.promises.ts\nvar validateObject = function(object, name) {\n if (object === null || typeof object !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Object\", object);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n}, validateAbortSignal = function(signal, name) {\n if (typeof signal !== \"undefined\" && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, asyncIterator = function({ next: nextFunction, return: returnFunction }) {\n const result = {};\n if (typeof nextFunction === \"function\")\n result.next = nextFunction;\n if (typeof returnFunction === \"function\")\n result.return = returnFunction;\n return result[symbolAsyncIterator] = function() {\n return this;\n }, result;\n}, setTimeoutPromise = function(after = 1, value, options = {}) {\n const arguments_ = [].concat(value \?\? []);\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const timeout = setTimeout(() => resolve(value), after, ...arguments_);\n if (!reference)\n timeout\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearTimeout(timeout), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setImmediatePromise = function(value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const immediate = setImmediate(() => resolve(value));\n if (!reference)\n immediate\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearImmediate(immediate), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setIntervalPromise = function(after = 1, value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n if (signal\?.aborted)\n return asyncIterator({\n next: function() {\n return @Promise.reject(new AbortError);\n }\n });\n let onCancel, interval;\n try {\n let notYielded = 0, callback;\n if (interval = setInterval(() => {\n if (notYielded++, callback)\n callback(), callback = @undefined;\n }, after), !reference)\n interval\?.unref\?.();\n if (signal)\n onCancel = () => {\n if (clearInterval(interval), callback)\n callback(), callback = @undefined;\n }, signal.addEventListener(\"abort\", onCancel);\n return asyncIterator({\n next: function() {\n return new @Promise((resolve, reject) => {\n if (!signal\?.aborted)\n if (notYielded === 0)\n callback = resolve;\n else\n resolve();\n else if (notYielded === 0)\n reject(new AbortError);\n else\n resolve();\n }).then(() => {\n if (notYielded > 0)\n return notYielded = notYielded - 1, { done: !1, value };\n return { done: !0 };\n });\n },\n return: function() {\n return clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel), @Promise.resolve({});\n }\n });\n } catch (error) {\n return asyncIterator({\n next: function() {\n clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel);\n }\n });\n }\n}, $, symbolAsyncIterator = Symbol.asyncIterator;\n\nclass ERR_INVALID_ARG_TYPE extends Error {\n constructor(name, expected, actual) {\n super(`${name} must be ${expected}, ${typeof actual} given`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n\nclass AbortError extends Error {\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\n$ = {\n setTimeout: setTimeoutPromise,\n setImmediate: setImmediatePromise,\n setInterval: setIntervalPromise,\n scheduler: {\n wait: (delay, options) => setTimeoutPromise(delay, @undefined, options),\n yield: setImmediatePromise\n }\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTimersPromisesCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/timers.promises.ts\nvar validateObject = function(object, name) {\n if (object === null || typeof object !== \"object\")\n throw new ERR_INVALID_ARG_TYPE(name, \"Object\", object);\n}, validateBoolean = function(value, name) {\n if (typeof value !== \"boolean\")\n throw new ERR_INVALID_ARG_TYPE(name, \"boolean\", value);\n}, validateAbortSignal = function(signal, name) {\n if (typeof signal !== \"undefined\" && (signal === null || typeof signal !== \"object\" || !(\"aborted\" in signal)))\n throw new ERR_INVALID_ARG_TYPE(name, \"AbortSignal\", signal);\n}, asyncIterator = function({ next: nextFunction, return: returnFunction }) {\n const result = {};\n if (typeof nextFunction === \"function\")\n result.next = nextFunction;\n if (typeof returnFunction === \"function\")\n result.return = returnFunction;\n return result[symbolAsyncIterator] = function() {\n return this;\n }, result;\n}, setTimeoutPromise = function(after = 1, value, options = {}) {\n const arguments_ = [].concat(value \?\? []);\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const timeout = setTimeout(() => resolve(value), after, ...arguments_);\n if (!reference)\n timeout\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearTimeout(timeout), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setImmediatePromise = function(value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return @Promise.reject(error);\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return @Promise.reject(error);\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return @Promise.reject(error);\n }\n if (signal\?.aborted)\n return @Promise.reject(new AbortError);\n let onCancel;\n const returnValue = new @Promise((resolve, reject) => {\n const immediate = setImmediate(() => resolve(value));\n if (!reference)\n immediate\?.unref\?.();\n if (signal)\n onCancel = () => {\n clearImmediate(immediate), reject(new AbortError);\n }, signal.addEventListener(\"abort\", onCancel);\n });\n if (typeof onCancel !== \"undefined\")\n returnValue.finally(() => signal.removeEventListener(\"abort\", onCancel));\n return returnValue;\n}, setIntervalPromise = function(after = 1, value, options = {}) {\n try {\n validateObject(options, \"options\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n const { signal, ref: reference = !0 } = options;\n try {\n validateAbortSignal(signal, \"options.signal\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n try {\n validateBoolean(reference, \"options.ref\");\n } catch (error) {\n return asyncIterator({\n next: function() {\n return @Promise.reject(error);\n }\n });\n }\n if (signal\?.aborted)\n return asyncIterator({\n next: function() {\n return @Promise.reject(new AbortError);\n }\n });\n let onCancel, interval;\n try {\n let notYielded = 0, callback;\n if (interval = setInterval(() => {\n if (notYielded++, callback)\n callback(), callback = @undefined;\n }, after), !reference)\n interval\?.unref\?.();\n if (signal)\n onCancel = () => {\n if (clearInterval(interval), callback)\n callback(), callback = @undefined;\n }, signal.addEventListener(\"abort\", onCancel);\n return asyncIterator({\n next: function() {\n return new @Promise((resolve, reject) => {\n if (!signal\?.aborted)\n if (notYielded === 0)\n callback = resolve;\n else\n resolve();\n else if (notYielded === 0)\n reject(new AbortError);\n else\n resolve();\n }).then(() => {\n if (notYielded > 0)\n return notYielded = notYielded - 1, { done: !1, value };\n return { done: !0 };\n });\n },\n return: function() {\n return clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel), @Promise.resolve({});\n }\n });\n } catch (error) {\n return asyncIterator({\n next: function() {\n clearInterval(interval), signal\?.removeEventListener(\"abort\", onCancel);\n }\n });\n }\n}, $, symbolAsyncIterator = Symbol.asyncIterator;\n\nclass ERR_INVALID_ARG_TYPE extends Error {\n constructor(name, expected, actual) {\n super(`${name} must be ${expected}, ${typeof actual} given`);\n this.code = \"ERR_INVALID_ARG_TYPE\";\n }\n}\n\nclass AbortError extends Error {\n constructor() {\n super(\"The operation was aborted\");\n this.code = \"ABORT_ERR\";\n }\n}\n$ = {\n setTimeout: setTimeoutPromise,\n setImmediate: setImmediatePromise,\n setInterval: setIntervalPromise,\n scheduler: {\n wait: (delay, options) => setTimeoutPromise(delay, @undefined, options),\n yield: setImmediatePromise\n }\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTLSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/tls.ts\nvar parseCertString = function() {\n throwNotImplemented(\"Not implemented\");\n}, isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, unfqdn = function(host) {\n return RegExpPrototypeSymbolReplace.@call(/[.]$/, host, \"\");\n}, toLowerCase = function(c) {\n return StringFromCharCode.@call(32 + StringPrototypeCharCodeAt.@call(c, 0));\n}, splitHost = function(host) {\n return StringPrototypeSplit.@call(RegExpPrototypeSymbolReplace.@call(/[A-Z]/g, unfqdn(host), toLowerCase), \".\");\n}, check = function(hostParts, pattern, wildcards) {\n if (!pattern)\n return !1;\n const patternParts = splitHost(pattern);\n if (hostParts.length !== patternParts.length)\n return !1;\n if (ArrayPrototypeIncludes.@call(patternParts, \"\"))\n return !1;\n const isBad = (s) => RegExpPrototypeExec.@call(/[^\\u0021-\\u007F]/u, s) !== null;\n if (ArrayPrototypeSome.@call(patternParts, isBad))\n return !1;\n for (let i = hostParts.length - 1;i > 0; i -= 1)\n if (hostParts[i] !== patternParts[i])\n return !1;\n const hostSubdomain = hostParts[0], patternSubdomain = patternParts[0], patternSubdomainParts = StringPrototypeSplit.@call(patternSubdomain, \"*\");\n if (patternSubdomainParts.length === 1 || StringPrototypeIncludes.@call(patternSubdomain, \"xn--\"))\n return hostSubdomain === patternSubdomain;\n if (!wildcards)\n return !1;\n if (patternSubdomainParts.length > 2)\n return !1;\n if (patternParts.length <= 2)\n return !1;\n const { 0: prefix, 1: suffix } = patternSubdomainParts;\n if (prefix.length + suffix.length > hostSubdomain.length)\n return !1;\n if (!StringPrototypeStartsWith.@call(hostSubdomain, prefix))\n return !1;\n if (!StringPrototypeEndsWith.@call(hostSubdomain, suffix))\n return !1;\n return !0;\n}, splitEscapedAltNames = function(altNames) {\n const result = [];\n let currentToken = \"\", offset = 0;\n while (offset !== altNames.length) {\n const nextSep = StringPrototypeIndexOf.@call(altNames, \", \", offset), nextQuote = StringPrototypeIndexOf.@call(altNames, '\"', offset);\n if (nextQuote !== -1 && (nextSep === -1 || nextQuote < nextSep)) {\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextQuote);\n const match = RegExpPrototypeExec.@call(jsonStringPattern, StringPrototypeSubstring.@call(altNames, nextQuote));\n if (!match) {\n let error = new SyntaxError(\"ERR_TLS_CERT_ALTNAME_FORMAT: Invalid subject alternative name string\");\n throw error.name = ERR_TLS_CERT_ALTNAME_FORMAT, error;\n }\n currentToken += JSON.parse(match[0]), offset = nextQuote + match[0].length;\n } else if (nextSep !== -1)\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextSep), ArrayPrototypePush.@call(result, currentToken), currentToken = \"\", offset = nextSep + 2;\n else\n currentToken += StringPrototypeSubstring.@call(altNames, offset), offset = altNames.length;\n }\n return ArrayPrototypePush.@call(result, currentToken), result;\n}, checkServerIdentity = function(hostname, cert) {\n const { subject, subjectaltname: altNames } = cert, dnsNames = [], ips = [];\n if (hostname = \"\" + hostname, altNames) {\n const splitAltNames = StringPrototypeIncludes.@call(altNames, '\"') \? splitEscapedAltNames(altNames) : StringPrototypeSplit.@call(altNames, \", \");\n ArrayPrototypeForEach.@call(splitAltNames, (name) => {\n if (StringPrototypeStartsWith.@call(name, \"DNS:\"))\n ArrayPrototypePush.@call(dnsNames, StringPrototypeSlice.@call(name, 4));\n else if (StringPrototypeStartsWith.@call(name, \"IP Address:\"))\n ArrayPrototypePush.@call(ips, canonicalizeIP(StringPrototypeSlice.@call(name, 11)));\n });\n }\n let valid = !1, reason = \"Unknown reason\";\n if (hostname = unfqdn(hostname), net.isIP(hostname)) {\n if (valid = ArrayPrototypeIncludes.@call(ips, canonicalizeIP(hostname)), !valid)\n reason = `IP: ${hostname} is not in the cert's list: ` + ArrayPrototypeJoin.@call(ips, \", \");\n } else if (dnsNames.length > 0 || subject\?.CN) {\n const hostParts = splitHost(hostname), wildcard = (pattern) => check(hostParts, pattern, !0);\n if (dnsNames.length > 0) {\n if (valid = ArrayPrototypeSome.@call(dnsNames, wildcard), !valid)\n reason = `Host: ${hostname}. is not in the cert's altnames: ${altNames}`;\n } else {\n const cn = subject.CN;\n if (@Array.isArray(cn))\n valid = ArrayPrototypeSome.@call(cn, wildcard);\n else if (cn)\n valid = wildcard(cn);\n if (!valid)\n reason = `Host: ${hostname}. is not cert's CN: ${cn}`;\n }\n } else\n reason = \"Cert does not contain a DNS name\";\n if (!valid) {\n let error = new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`);\n return error.name = \"ERR_TLS_CERT_ALTNAME_INVALID\", error.reason = reason, error.host = hostname, error.cert = cert, error;\n }\n}, SecureContext = function(options) {\n return new InternalSecureContext(options);\n}, createSecureContext = function(options) {\n return new SecureContext(options);\n}, translatePeerCertificate = function(c) {\n if (!c)\n return null;\n if (c.issuerCertificate != null && c.issuerCertificate !== c)\n c.issuerCertificate = translatePeerCertificate(c.issuerCertificate);\n if (c.infoAccess != null) {\n const info = c.infoAccess;\n c.infoAccess = { __proto__: null }, RegExpPrototypeSymbolReplace.@call(/([^\\n:]*):([^\\n]*)(\?:\\n|$)/g, info, (all, key, val) => {\n if (val.charCodeAt(0) === 34)\n val = JSONParse(val);\n if (key in c.infoAccess)\n ArrayPrototypePush.@call(c.infoAccess[key], val);\n else\n c.infoAccess[key] = [val];\n });\n }\n return c;\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, getCiphers = function() {\n return DEFAULT_CIPHERS.split(\":\");\n}, convertProtocols = function(protocols) {\n const lens = new @Array(protocols.length), buff = @Buffer.allocUnsafe(ArrayPrototypeReduce.@call(protocols, (p, c, i) => {\n const len = @Buffer.byteLength(c);\n if (len > 255)\n @throwRangeError(\"The byte length of the protocol at index \" + `${i} exceeds the maximum length.`, \"<= 255\", len, !0);\n return lens[i] = len, p + 1 + len;\n }, 0));\n let offset = 0;\n for (let i = 0, c = protocols.length;i < c; i++)\n buff[offset++] = lens[i], buff.write(protocols[i], offset), offset += lens[i];\n return buff;\n}, convertALPNProtocols = function(protocols, out) {\n if (@Array.isArray(protocols))\n out.ALPNProtocols = convertProtocols(protocols);\n else if (isTypedArray(protocols))\n out.ALPNProtocols = @Buffer.from(protocols);\n else if (isArrayBufferView(protocols))\n out.ALPNProtocols = @Buffer.from(protocols.buffer.slice(protocols.byteOffset, protocols.byteOffset + protocols.byteLength));\n else if (@Buffer.isBuffer(protocols))\n out.ALPNProtocols = protocols;\n}, $, { isArrayBufferView, isTypedArray } = @requireNativeModule(\"util/types\"), net = @getInternalField(@internalModuleRegistry, 27) || @createInternalModuleById(27), { Server: NetServer, [Symbol.for(\"::bunternal::\")]: InternalTCPSocket } = net, bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), { rootCertificates, canonicalizeIP } = @lazy(\"internal/tls\"), SymbolReplace = Symbol.replace, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], RegExpPrototypeExec = @RegExp.prototype.exec, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeSlice = @String.prototype.slice, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSplit = @String.prototype.split, StringPrototypeIndexOf = @String.prototype.indexOf, StringPrototypeSubstring = @String.prototype.substring, StringPrototypeEndsWith = @String.prototype.endsWith, StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeForEach = @Array.prototype.forEach, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSome = @Array.prototype.some, ArrayPrototypeReduce = @Array.prototype.reduce, jsonStringPattern = /^\"(\?:[^\"\\\\\\u0000-\\u001f]|\\\\(\?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))*\"/, InternalSecureContext = class SecureContext2 {\n context;\n constructor(options) {\n const context = {};\n if (options) {\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n }\n this.context = context;\n }\n}, buntls = Symbol.for(\"::buntls::\"), SocketClass, TLSSocket = function(InternalTLSSocket) {\n SocketClass = InternalTLSSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"TLSSocket\",\n enumerable: !1\n });\n function Socket(options) {\n return new InternalTLSSocket(options);\n }\n return Socket.prototype = InternalTLSSocket.prototype, Object.defineProperty(Socket, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalTLSSocket;\n }\n });\n}(class TLSSocket2 extends InternalTCPSocket {\n #secureContext;\n ALPNProtocols;\n #socket;\n #checkServerIdentity;\n #session;\n constructor(socket, options) {\n super(socket instanceof InternalTCPSocket \? options : options || socket);\n if (options = options || socket || {}, typeof options === \"object\") {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n if (socket instanceof InternalTCPSocket)\n this.#socket = socket;\n }\n this.#secureContext = options.secureContext || createSecureContext(options), this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, this.#checkServerIdentity = options.checkServerIdentity || checkServerIdentity, this.#session = options.session || null;\n }\n _secureEstablished = !1;\n _securePending = !0;\n _newSessionPending;\n _controlReleased;\n secureConnecting = !1;\n _SNICallback;\n servername;\n authorized = !1;\n authorizationError;\n #renegotiationDisabled = !1;\n encrypted = !0;\n _start() {\n this.connect();\n }\n getSession() {\n return this[bunSocketInternal]\?.getSession();\n }\n getEphemeralKeyInfo() {\n return this[bunSocketInternal]\?.getEphemeralKeyInfo();\n }\n getCipher() {\n return this[bunSocketInternal]\?.getCipher();\n }\n getSharedSigalgs() {\n return this[bunSocketInternal]\?.getSharedSigalgs();\n }\n getProtocol() {\n return this[bunSocketInternal]\?.getTLSVersion();\n }\n getFinished() {\n return this[bunSocketInternal]\?.getTLSFinishedMessage() || @undefined;\n }\n getPeerFinished() {\n return this[bunSocketInternal]\?.getTLSPeerFinishedMessage() || @undefined;\n }\n isSessionReused() {\n return !!this.#session;\n }\n renegotiate() {\n if (this.#renegotiationDisabled) {\n const error = new Error(\"ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket\");\n throw error.name = \"ERR_TLS_RENEGOTIATION_DISABLED\", error;\n }\n throw Error(\"Not implented in Bun yet\");\n }\n disableRenegotiation() {\n this.#renegotiationDisabled = !0;\n }\n getTLSTicket() {\n return this[bunSocketInternal]\?.getTLSTicket();\n }\n exportKeyingMaterial(length, label, context) {\n if (context)\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label, context);\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label);\n }\n setMaxSendFragment(size) {\n return this[bunSocketInternal]\?.setMaxSendFragment(size) || !1;\n }\n enableTrace() {\n }\n setServername(name) {\n if (this.isServer) {\n let error = new Error(\"ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket\");\n throw error.name = \"ERR_TLS_SNI_FROM_SERVER\", error;\n }\n this.servername = name, this[bunSocketInternal]\?.setServername(name);\n }\n setSession(session) {\n if (this.#session = session, typeof session === \"string\")\n session = @Buffer.from(session, \"latin1\");\n return this[bunSocketInternal]\?.setSession(session);\n }\n getPeerCertificate(abbreviated) {\n const cert = arguments.length < 1 \? this[bunSocketInternal]\?.getPeerCertificate() : this[bunSocketInternal]\?.getPeerCertificate(abbreviated);\n if (cert)\n return translatePeerCertificate(cert);\n }\n getCertificate() {\n const cert = this[bunSocketInternal]\?.getCertificate();\n if (cert)\n return translatePeerCertificate(cert);\n }\n getPeerX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n getX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n get alpnProtocol() {\n return this[bunSocketInternal]\?.alpnProtocol;\n }\n [buntls](port, host) {\n return {\n socket: this.#socket,\n ALPNProtocols: this.ALPNProtocols,\n serverName: this.servername || host || \"localhost\",\n checkServerIdentity: this.#checkServerIdentity,\n session: this.#session,\n ...this.#secureContext\n };\n }\n});\n\nclass Server extends NetServer {\n key;\n cert;\n ca;\n passphrase;\n secureOptions;\n _rejectUnauthorized;\n _requestCert;\n servername;\n ALPNProtocols;\n constructor(options, secureConnectionListener) {\n super(options, secureConnectionListener);\n this.setSecureContext(options);\n }\n setSecureContext(options) {\n if (options instanceof InternalSecureContext)\n options = options.context;\n if (options) {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n const requestCert = options.requestCert || !1;\n if (requestCert)\n this._requestCert = requestCert;\n else\n this._requestCert = @undefined;\n const rejectUnauthorized = options.rejectUnauthorized || !1;\n if (rejectUnauthorized)\n this._rejectUnauthorized = rejectUnauthorized;\n else\n this._rejectUnauthorized = @undefined;\n }\n }\n getTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n setTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n [buntls](port, host, isClient) {\n return [\n {\n serverName: this.servername || host || \"localhost\",\n key: this.key,\n cert: this.cert,\n ca: this.ca,\n passphrase: this.passphrase,\n secureOptions: this.secureOptions,\n rejectUnauthorized: isClient \? !1 : this._rejectUnauthorized,\n requestCert: isClient \? !1 : this._requestCert,\n ALPNProtocols: this.ALPNProtocols\n },\n SocketClass\n ];\n }\n}\nvar CLIENT_RENEG_LIMIT = 3, CLIENT_RENEG_WINDOW = 600, DEFAULT_ECDH_CURVE = \"auto\", DEFAULT_CIPHERS = \"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\", DEFAULT_MIN_VERSION = \"TLSv1.2\", DEFAULT_MAX_VERSION = \"TLSv1.3\", createConnection = (port, host, connectListener) => {\n if (typeof port === \"object\") {\n port.checkServerIdentity;\n const { ALPNProtocols } = port;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, port);\n return new TLSSocket(port).connect(port, host, connectListener);\n }\n return new TLSSocket().connect(port, host, connectListener);\n}, connect = createConnection;\n$ = {\n CLIENT_RENEG_LIMIT,\n CLIENT_RENEG_WINDOW,\n connect,\n convertALPNProtocols,\n createConnection,\n createSecureContext,\n createServer,\n DEFAULT_CIPHERS,\n DEFAULT_ECDH_CURVE,\n DEFAULT_MAX_VERSION,\n DEFAULT_MIN_VERSION,\n getCiphers,\n parseCertString,\n SecureContext,\n Server,\n TLSSocket,\n checkServerIdentity,\n rootCertificates\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTLSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/tls.ts\nvar parseCertString = function() {\n throwNotImplemented(\"Not implemented\");\n}, isValidTLSArray = function(obj) {\n if (typeof obj === \"string\" || isTypedArray(obj) || obj instanceof @ArrayBuffer || obj instanceof Blob)\n return !0;\n if (@Array.isArray(obj)) {\n for (var i = 0;i < obj.length; i++)\n if (typeof obj !== \"string\" && !isTypedArray(obj) && !(obj instanceof @ArrayBuffer) && !(obj instanceof Blob))\n return !1;\n return !0;\n }\n}, unfqdn = function(host) {\n return RegExpPrototypeSymbolReplace.@call(/[.]$/, host, \"\");\n}, toLowerCase = function(c) {\n return StringFromCharCode.@call(32 + StringPrototypeCharCodeAt.@call(c, 0));\n}, splitHost = function(host) {\n return StringPrototypeSplit.@call(RegExpPrototypeSymbolReplace.@call(/[A-Z]/g, unfqdn(host), toLowerCase), \".\");\n}, check = function(hostParts, pattern, wildcards) {\n if (!pattern)\n return !1;\n const patternParts = splitHost(pattern);\n if (hostParts.length !== patternParts.length)\n return !1;\n if (ArrayPrototypeIncludes.@call(patternParts, \"\"))\n return !1;\n const isBad = (s) => RegExpPrototypeExec.@call(/[^\\u0021-\\u007F]/u, s) !== null;\n if (ArrayPrototypeSome.@call(patternParts, isBad))\n return !1;\n for (let i = hostParts.length - 1;i > 0; i -= 1)\n if (hostParts[i] !== patternParts[i])\n return !1;\n const hostSubdomain = hostParts[0], patternSubdomain = patternParts[0], patternSubdomainParts = StringPrototypeSplit.@call(patternSubdomain, \"*\");\n if (patternSubdomainParts.length === 1 || StringPrototypeIncludes.@call(patternSubdomain, \"xn--\"))\n return hostSubdomain === patternSubdomain;\n if (!wildcards)\n return !1;\n if (patternSubdomainParts.length > 2)\n return !1;\n if (patternParts.length <= 2)\n return !1;\n const { 0: prefix, 1: suffix } = patternSubdomainParts;\n if (prefix.length + suffix.length > hostSubdomain.length)\n return !1;\n if (!StringPrototypeStartsWith.@call(hostSubdomain, prefix))\n return !1;\n if (!StringPrototypeEndsWith.@call(hostSubdomain, suffix))\n return !1;\n return !0;\n}, splitEscapedAltNames = function(altNames) {\n const result = [];\n let currentToken = \"\", offset = 0;\n while (offset !== altNames.length) {\n const nextSep = StringPrototypeIndexOf.@call(altNames, \", \", offset), nextQuote = StringPrototypeIndexOf.@call(altNames, '\"', offset);\n if (nextQuote !== -1 && (nextSep === -1 || nextQuote < nextSep)) {\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextQuote);\n const match = RegExpPrototypeExec.@call(jsonStringPattern, StringPrototypeSubstring.@call(altNames, nextQuote));\n if (!match) {\n let error = new SyntaxError(\"ERR_TLS_CERT_ALTNAME_FORMAT: Invalid subject alternative name string\");\n throw error.name = ERR_TLS_CERT_ALTNAME_FORMAT, error;\n }\n currentToken += JSON.parse(match[0]), offset = nextQuote + match[0].length;\n } else if (nextSep !== -1)\n currentToken += StringPrototypeSubstring.@call(altNames, offset, nextSep), ArrayPrototypePush.@call(result, currentToken), currentToken = \"\", offset = nextSep + 2;\n else\n currentToken += StringPrototypeSubstring.@call(altNames, offset), offset = altNames.length;\n }\n return ArrayPrototypePush.@call(result, currentToken), result;\n}, checkServerIdentity = function(hostname, cert) {\n const { subject, subjectaltname: altNames } = cert, dnsNames = [], ips = [];\n if (hostname = \"\" + hostname, altNames) {\n const splitAltNames = StringPrototypeIncludes.@call(altNames, '\"') \? splitEscapedAltNames(altNames) : StringPrototypeSplit.@call(altNames, \", \");\n ArrayPrototypeForEach.@call(splitAltNames, (name) => {\n if (StringPrototypeStartsWith.@call(name, \"DNS:\"))\n ArrayPrototypePush.@call(dnsNames, StringPrototypeSlice.@call(name, 4));\n else if (StringPrototypeStartsWith.@call(name, \"IP Address:\"))\n ArrayPrototypePush.@call(ips, canonicalizeIP(StringPrototypeSlice.@call(name, 11)));\n });\n }\n let valid = !1, reason = \"Unknown reason\";\n if (hostname = unfqdn(hostname), net.isIP(hostname)) {\n if (valid = ArrayPrototypeIncludes.@call(ips, canonicalizeIP(hostname)), !valid)\n reason = `IP: ${hostname} is not in the cert's list: ` + ArrayPrototypeJoin.@call(ips, \", \");\n } else if (dnsNames.length > 0 || subject\?.CN) {\n const hostParts = splitHost(hostname), wildcard = (pattern) => check(hostParts, pattern, !0);\n if (dnsNames.length > 0) {\n if (valid = ArrayPrototypeSome.@call(dnsNames, wildcard), !valid)\n reason = `Host: ${hostname}. is not in the cert's altnames: ${altNames}`;\n } else {\n const cn = subject.CN;\n if (@Array.isArray(cn))\n valid = ArrayPrototypeSome.@call(cn, wildcard);\n else if (cn)\n valid = wildcard(cn);\n if (!valid)\n reason = `Host: ${hostname}. is not cert's CN: ${cn}`;\n }\n } else\n reason = \"Cert does not contain a DNS name\";\n if (!valid) {\n let error = new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`);\n return error.name = \"ERR_TLS_CERT_ALTNAME_INVALID\", error.reason = reason, error.host = hostname, error.cert = cert, error;\n }\n}, SecureContext = function(options) {\n return new InternalSecureContext(options);\n}, createSecureContext = function(options) {\n return new SecureContext(options);\n}, translatePeerCertificate = function(c) {\n if (!c)\n return null;\n if (c.issuerCertificate != null && c.issuerCertificate !== c)\n c.issuerCertificate = translatePeerCertificate(c.issuerCertificate);\n if (c.infoAccess != null) {\n const info = c.infoAccess;\n c.infoAccess = { __proto__: null }, RegExpPrototypeSymbolReplace.@call(/([^\\n:]*):([^\\n]*)(\?:\\n|$)/g, info, (all, key, val) => {\n if (val.charCodeAt(0) === 34)\n val = JSONParse(val);\n if (key in c.infoAccess)\n ArrayPrototypePush.@call(c.infoAccess[key], val);\n else\n c.infoAccess[key] = [val];\n });\n }\n return c;\n}, createServer = function(options, connectionListener) {\n return new Server(options, connectionListener);\n}, getCiphers = function() {\n return DEFAULT_CIPHERS.split(\":\");\n}, convertProtocols = function(protocols) {\n const lens = new @Array(protocols.length), buff = @Buffer.allocUnsafe(ArrayPrototypeReduce.@call(protocols, (p, c, i) => {\n const len = @Buffer.byteLength(c);\n if (len > 255)\n @throwRangeError(\"The byte length of the protocol at index \" + `${i} exceeds the maximum length.`, \"<= 255\", len, !0);\n return lens[i] = len, p + 1 + len;\n }, 0));\n let offset = 0;\n for (let i = 0, c = protocols.length;i < c; i++)\n buff[offset++] = lens[i], buff.write(protocols[i], offset), offset += lens[i];\n return buff;\n}, convertALPNProtocols = function(protocols, out) {\n if (@Array.isArray(protocols))\n out.ALPNProtocols = convertProtocols(protocols);\n else if (isTypedArray(protocols))\n out.ALPNProtocols = @Buffer.from(protocols);\n else if (isArrayBufferView(protocols))\n out.ALPNProtocols = @Buffer.from(protocols.buffer.slice(protocols.byteOffset, protocols.byteOffset + protocols.byteLength));\n else if (@Buffer.isBuffer(protocols))\n out.ALPNProtocols = protocols;\n}, $, { isArrayBufferView, isTypedArray } = @requireNativeModule(\"util/types\"), net = @getInternalField(@internalModuleRegistry, 27) || @createInternalModuleById(27), { Server: NetServer, [Symbol.for(\"::bunternal::\")]: InternalTCPSocket } = net, bunSocketInternal = Symbol.for(\"::bunnetsocketinternal::\"), { rootCertificates, canonicalizeIP } = @lazy(\"internal/tls\"), SymbolReplace = Symbol.replace, RegExpPrototypeSymbolReplace = @RegExp.prototype[SymbolReplace], RegExpPrototypeExec = @RegExp.prototype.exec, StringPrototypeStartsWith = @String.prototype.startsWith, StringPrototypeSlice = @String.prototype.slice, StringPrototypeIncludes = @String.prototype.includes, StringPrototypeSplit = @String.prototype.split, StringPrototypeIndexOf = @String.prototype.indexOf, StringPrototypeSubstring = @String.prototype.substring, StringPrototypeEndsWith = @String.prototype.endsWith, StringFromCharCode = @String.fromCharCode, StringPrototypeCharCodeAt = @String.prototype.charCodeAt, ArrayPrototypeIncludes = @Array.prototype.includes, ArrayPrototypeJoin = @Array.prototype.join, ArrayPrototypeForEach = @Array.prototype.forEach, ArrayPrototypePush = @Array.prototype.push, ArrayPrototypeSome = @Array.prototype.some, ArrayPrototypeReduce = @Array.prototype.reduce, jsonStringPattern = /^\"(\?:[^\"\\\\\\u0000-\\u001f]|\\\\(\?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))*\"/, InternalSecureContext = class SecureContext2 {\n context;\n constructor(options) {\n const context = {};\n if (options) {\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n }\n this.context = context;\n }\n}, buntls = Symbol.for(\"::buntls::\"), SocketClass, TLSSocket = function(InternalTLSSocket) {\n SocketClass = InternalTLSSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {\n value: \"TLSSocket\",\n enumerable: !1\n });\n function Socket(options) {\n return new InternalTLSSocket(options);\n }\n return Socket.prototype = InternalTLSSocket.prototype, Object.defineProperty(Socket, Symbol.hasInstance, {\n value(instance) {\n return instance instanceof InternalTLSSocket;\n }\n });\n}(class TLSSocket2 extends InternalTCPSocket {\n #secureContext;\n ALPNProtocols;\n #socket;\n #checkServerIdentity;\n #session;\n constructor(socket, options) {\n super(socket instanceof InternalTCPSocket \? options : options || socket);\n if (options = options || socket || {}, typeof options === \"object\") {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n if (socket instanceof InternalTCPSocket)\n this.#socket = socket;\n }\n this.#secureContext = options.secureContext || createSecureContext(options), this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, this.#checkServerIdentity = options.checkServerIdentity || checkServerIdentity, this.#session = options.session || null;\n }\n _secureEstablished = !1;\n _securePending = !0;\n _newSessionPending;\n _controlReleased;\n secureConnecting = !1;\n _SNICallback;\n servername;\n authorized = !1;\n authorizationError;\n #renegotiationDisabled = !1;\n encrypted = !0;\n _start() {\n this.connect();\n }\n getSession() {\n return this[bunSocketInternal]\?.getSession();\n }\n getEphemeralKeyInfo() {\n return this[bunSocketInternal]\?.getEphemeralKeyInfo();\n }\n getCipher() {\n return this[bunSocketInternal]\?.getCipher();\n }\n getSharedSigalgs() {\n return this[bunSocketInternal]\?.getSharedSigalgs();\n }\n getProtocol() {\n return this[bunSocketInternal]\?.getTLSVersion();\n }\n getFinished() {\n return this[bunSocketInternal]\?.getTLSFinishedMessage() || @undefined;\n }\n getPeerFinished() {\n return this[bunSocketInternal]\?.getTLSPeerFinishedMessage() || @undefined;\n }\n isSessionReused() {\n return !!this.#session;\n }\n renegotiate() {\n if (this.#renegotiationDisabled) {\n const error = new Error(\"ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket\");\n throw error.name = \"ERR_TLS_RENEGOTIATION_DISABLED\", error;\n }\n throw Error(\"Not implented in Bun yet\");\n }\n disableRenegotiation() {\n this.#renegotiationDisabled = !0;\n }\n getTLSTicket() {\n return this[bunSocketInternal]\?.getTLSTicket();\n }\n exportKeyingMaterial(length, label, context) {\n if (context)\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label, context);\n return this[bunSocketInternal]\?.exportKeyingMaterial(length, label);\n }\n setMaxSendFragment(size) {\n return this[bunSocketInternal]\?.setMaxSendFragment(size) || !1;\n }\n enableTrace() {\n }\n setServername(name) {\n if (this.isServer) {\n let error = new Error(\"ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket\");\n throw error.name = \"ERR_TLS_SNI_FROM_SERVER\", error;\n }\n this.servername = name, this[bunSocketInternal]\?.setServername(name);\n }\n setSession(session) {\n if (this.#session = session, typeof session === \"string\")\n session = @Buffer.from(session, \"latin1\");\n return this[bunSocketInternal]\?.setSession(session);\n }\n getPeerCertificate(abbreviated) {\n const cert = arguments.length < 1 \? this[bunSocketInternal]\?.getPeerCertificate() : this[bunSocketInternal]\?.getPeerCertificate(abbreviated);\n if (cert)\n return translatePeerCertificate(cert);\n }\n getCertificate() {\n const cert = this[bunSocketInternal]\?.getCertificate();\n if (cert)\n return translatePeerCertificate(cert);\n }\n getPeerX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n getX509Certificate() {\n throw Error(\"Not implented in Bun yet\");\n }\n get alpnProtocol() {\n return this[bunSocketInternal]\?.alpnProtocol;\n }\n [buntls](port, host) {\n return {\n socket: this.#socket,\n ALPNProtocols: this.ALPNProtocols,\n serverName: this.servername || host || \"localhost\",\n checkServerIdentity: this.#checkServerIdentity,\n session: this.#session,\n ...this.#secureContext\n };\n }\n});\n\nclass Server extends NetServer {\n key;\n cert;\n ca;\n passphrase;\n secureOptions;\n _rejectUnauthorized;\n _requestCert;\n servername;\n ALPNProtocols;\n constructor(options, secureConnectionListener) {\n super(options, secureConnectionListener);\n this.setSecureContext(options);\n }\n setSecureContext(options) {\n if (options instanceof InternalSecureContext)\n options = options.context;\n if (options) {\n const { ALPNProtocols } = options;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, this);\n let key = options.key;\n if (key) {\n if (!isValidTLSArray(key))\n @throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.key = key;\n }\n let cert = options.cert;\n if (cert) {\n if (!isValidTLSArray(cert))\n @throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.cert = cert;\n }\n let ca = options.ca;\n if (ca) {\n if (!isValidTLSArray(ca))\n @throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");\n this.ca = ca;\n }\n let passphrase = options.passphrase;\n if (passphrase && typeof passphrase !== \"string\")\n @throwTypeError(\"passphrase argument must be an string\");\n this.passphrase = passphrase;\n let servername = options.servername;\n if (servername && typeof servername !== \"string\")\n @throwTypeError(\"servername argument must be an string\");\n this.servername = servername;\n let secureOptions = options.secureOptions || 0;\n if (secureOptions && typeof secureOptions !== \"number\")\n @throwTypeError(\"secureOptions argument must be an number\");\n this.secureOptions = secureOptions;\n const requestCert = options.requestCert || !1;\n if (requestCert)\n this._requestCert = requestCert;\n else\n this._requestCert = @undefined;\n const rejectUnauthorized = options.rejectUnauthorized || !1;\n if (rejectUnauthorized)\n this._rejectUnauthorized = rejectUnauthorized;\n else\n this._rejectUnauthorized = @undefined;\n }\n }\n getTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n setTicketKeys() {\n throw Error(\"Not implented in Bun yet\");\n }\n [buntls](port, host, isClient) {\n return [\n {\n serverName: this.servername || host || \"localhost\",\n key: this.key,\n cert: this.cert,\n ca: this.ca,\n passphrase: this.passphrase,\n secureOptions: this.secureOptions,\n rejectUnauthorized: isClient \? !1 : this._rejectUnauthorized,\n requestCert: isClient \? !1 : this._requestCert,\n ALPNProtocols: this.ALPNProtocols\n },\n SocketClass\n ];\n }\n}\nvar CLIENT_RENEG_LIMIT = 3, CLIENT_RENEG_WINDOW = 600, DEFAULT_ECDH_CURVE = \"auto\", DEFAULT_CIPHERS = \"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\", DEFAULT_MIN_VERSION = \"TLSv1.2\", DEFAULT_MAX_VERSION = \"TLSv1.3\", createConnection = (port, host, connectListener) => {\n if (typeof port === \"object\") {\n port.checkServerIdentity;\n const { ALPNProtocols } = port;\n if (ALPNProtocols)\n convertALPNProtocols(ALPNProtocols, port);\n return new TLSSocket(port).connect(port, host, connectListener);\n }\n return new TLSSocket().connect(port, host, connectListener);\n}, connect = createConnection;\n$ = {\n CLIENT_RENEG_LIMIT,\n CLIENT_RENEG_WINDOW,\n connect,\n convertALPNProtocols,\n createConnection,\n createSecureContext,\n createServer,\n DEFAULT_CIPHERS,\n DEFAULT_ECDH_CURVE,\n DEFAULT_MAX_VERSION,\n DEFAULT_MIN_VERSION,\n getCiphers,\n parseCertString,\n SecureContext,\n Server,\n TLSSocket,\n checkServerIdentity,\n rootCertificates\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTraceEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/trace_events.ts\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, createTracing = function(opts) {\n if (typeof opts !== \"object\" || opts == null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", opts);\n return new Tracing(opts);\n}, getEnabledCategories = function() {\n return \"\";\n}, $;\n\nclass Tracing {\n enabled = !1;\n categories = \"\";\n}\n$ = {\n createTracing,\n getEnabledCategories\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeTraceEventsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/trace_events.ts\nvar ERR_INVALID_ARG_TYPE = function(name, type, value) {\n const err = @makeTypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);\n return err.code = \"ERR_INVALID_ARG_TYPE\", err;\n}, createTracing = function(opts) {\n if (typeof opts !== \"object\" || opts == null)\n throw new ERR_INVALID_ARG_TYPE(\"options\", \"Object\", opts);\n return new Tracing(opts);\n}, getEnabledCategories = function() {\n return \"\";\n}, $;\n\nclass Tracing {\n enabled = !1;\n categories = \"\";\n}\n$ = {\n createTracing,\n getEnabledCategories\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeTtyCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/tty.ts\nvar ReadStream = function(fd) {\n if (!(this instanceof ReadStream))\n return new ReadStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.@call(this, \"\", {\n fd\n });\n return Object.setPrototypeOf(stream, ReadStream.prototype), stream.isRaw = !1, stream.isTTY = !0, stream;\n}, warnOnDeactivatedColors = function(env) {\n if (warned)\n return;\n let name = \"\";\n if (env.NODE_DISABLE_COLORS !== @undefined)\n name = \"NODE_DISABLE_COLORS\";\n if (env.NO_COLOR !== @undefined) {\n if (name !== \"\")\n name += \"' and '\";\n name += \"NO_COLOR\";\n }\n if (name !== \"\")\n process.emitWarning(`The '${name}' env is ignored due to the 'FORCE_COLOR' env being set.`, \"Warning\"), warned = !0;\n}, WriteStream = function(fd) {\n if (!(this instanceof WriteStream))\n return new WriteStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.@call(this, \"\", {\n fd\n });\n if (stream.columns = @undefined, stream.rows = @undefined, stream.isTTY = isatty(stream.fd), stream.isTTY) {\n const windowSizeArray = [0, 0];\n if (_getWindowSize(fd, windowSizeArray) === !0)\n stream.columns = windowSizeArray[0], stream.rows = windowSizeArray[1];\n }\n return stream;\n}, { ttySetMode, isatty, getWindowSize: _getWindowSize } = @lazy(\"tty\"), NumberIsInteger = Number.isInteger;\nObject.defineProperty(ReadStream, \"prototype\", {\n get() {\n const Prototype = Object.create((@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.prototype);\n return Prototype.setRawMode = function(flag) {\n const mode = flag \? 1 : 0, err = ttySetMode(this.fd, mode);\n if (err)\n return this.emit(\"error\", new Error(\"setRawMode failed with errno: \" + err)), this;\n return this.isRaw = flag, this;\n }, Object.defineProperty(ReadStream, \"prototype\", { value: Prototype }), Prototype;\n },\n enumerable: !0,\n configurable: !0\n});\nvar COLORS_2 = 1, COLORS_16 = 4, COLORS_256 = 8, COLORS_16m = 24, TERM_ENVS = {\n eterm: COLORS_16,\n cons25: COLORS_16,\n console: COLORS_16,\n cygwin: COLORS_16,\n dtterm: COLORS_16,\n gnome: COLORS_16,\n hurd: COLORS_16,\n jfbterm: COLORS_16,\n konsole: COLORS_16,\n kterm: COLORS_16,\n mlterm: COLORS_16,\n mosh: COLORS_16m,\n putty: COLORS_16,\n st: COLORS_16,\n \"rxvt-unicode-24bit\": COLORS_16m,\n terminator: COLORS_16m\n}, TERM_ENVS_REG_EXP = [/ansi/, /color/, /linux/, /^con[0-9]*x[0-9]/, /^rxvt/, /^screen/, /^xterm/, /^vt100/], warned = !1;\nObject.defineProperty(WriteStream, \"prototype\", {\n get() {\n const Real = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.prototype;\n Object.defineProperty(WriteStream, \"prototype\", { value: Real }), WriteStream.prototype._refreshSize = function() {\n const oldCols = this.columns, oldRows = this.rows, windowSizeArray = [0, 0];\n if (_getWindowSize(this.fd, windowSizeArray) === !0) {\n if (oldCols !== windowSizeArray[0] || oldRows !== windowSizeArray[1])\n this.columns = windowSizeArray[0], this.rows = windowSizeArray[1], this.emit(\"resize\");\n }\n };\n var readline = @undefined;\n return WriteStream.prototype.clearLine = function(dir, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearLine(this, dir, cb);\n }, WriteStream.prototype.clearScreenDown = function(cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearScreenDown(this, cb);\n }, WriteStream.prototype.cursorTo = function(x, y, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).cursorTo(this, x, y, cb);\n }, WriteStream.prototype.getColorDepth = function(env = process.env) {\n if (env.FORCE_COLOR !== @undefined)\n switch (env.FORCE_COLOR) {\n case \"\":\n case \"1\":\n case \"true\":\n return warnOnDeactivatedColors(env), COLORS_16;\n case \"2\":\n return warnOnDeactivatedColors(env), COLORS_256;\n case \"3\":\n return warnOnDeactivatedColors(env), COLORS_16m;\n default:\n return COLORS_2;\n }\n if (env.NODE_DISABLE_COLORS !== @undefined || env.NO_COLOR !== @undefined || env.TERM === \"dumb\")\n return COLORS_2;\n if (env.TMUX)\n return COLORS_256;\n if (env.CI) {\n if ([\"APPVEYOR\", \"BUILDKITE\", \"CIRCLECI\", \"DRONE\", \"GITHUB_ACTIONS\", \"GITLAB_CI\", \"TRAVIS\"].some((sign) => (sign in env)) || env.CI_NAME === \"codeship\")\n return COLORS_256;\n return COLORS_2;\n }\n if (\"TEAMCITY_VERSION\" in env)\n return /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) \? COLORS_16 : COLORS_2;\n switch (env.TERM_PROGRAM) {\n case \"iTerm.app\":\n if (!env.TERM_PROGRAM_VERSION || /^[0-2]\\./.test(env.TERM_PROGRAM_VERSION))\n return COLORS_256;\n return COLORS_16m;\n case \"HyperTerm\":\n case \"MacTerm\":\n return COLORS_16m;\n case \"Apple_Terminal\":\n return COLORS_256;\n }\n if (env.COLORTERM === \"truecolor\" || env.COLORTERM === \"24bit\")\n return COLORS_16m;\n if (env.TERM) {\n if (/^xterm-256/.test(env.TERM) !== null)\n return COLORS_256;\n const termEnv = env.TERM.toLowerCase();\n if (TERM_ENVS[termEnv])\n return TERM_ENVS[termEnv];\n if (TERM_ENVS_REG_EXP.some((term) => term.test(termEnv)))\n return COLORS_16;\n }\n if (env.COLORTERM)\n return COLORS_16;\n return COLORS_2;\n }, WriteStream.prototype.getWindowSize = function() {\n return [this.columns, this.rows];\n }, WriteStream.prototype.hasColors = function(count, env) {\n if (env === @undefined && (count === @undefined || typeof count === \"object\" && count !== null))\n env = count, count = 16;\n else\n validateInteger(count, \"count\", 2);\n return count <= 2 ** this.getColorDepth(env);\n }, WriteStream.prototype.moveCursor = function(dx, dy, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).moveCursor(this, dx, dy, cb);\n }, Real;\n },\n enumerable: !0,\n configurable: !0\n});\nvar validateInteger = (value, name, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n};\nreturn { ReadStream, WriteStream, isatty }})\n"); +static constexpr ASCIILiteral NodeTtyCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/tty.ts\nvar ReadStream = function(fd) {\n if (!(this instanceof ReadStream))\n return new ReadStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.@call(this, \"\", {\n fd\n });\n return Object.setPrototypeOf(stream, ReadStream.prototype), stream.isRaw = !1, stream.isTTY = !0, stream;\n}, warnOnDeactivatedColors = function(env) {\n if (warned)\n return;\n let name = \"\";\n if (env.NODE_DISABLE_COLORS !== @undefined)\n name = \"NODE_DISABLE_COLORS\";\n if (env.NO_COLOR !== @undefined) {\n if (name !== \"\")\n name += \"' and '\";\n name += \"NO_COLOR\";\n }\n if (name !== \"\")\n process.emitWarning(`The '${name}' env is ignored due to the 'FORCE_COLOR' env being set.`, \"Warning\"), warned = !0;\n}, WriteStream = function(fd) {\n if (!(this instanceof WriteStream))\n return new WriteStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n @throwRangeError(\"fd must be a positive integer\");\n const stream = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.@call(this, \"\", {\n fd\n });\n if (stream.columns = @undefined, stream.rows = @undefined, stream.isTTY = isatty(stream.fd), stream.isTTY) {\n const windowSizeArray = [0, 0];\n if (_getWindowSize(fd, windowSizeArray) === !0)\n stream.columns = windowSizeArray[0], stream.rows = windowSizeArray[1];\n }\n return stream;\n}, { ttySetMode, isatty, getWindowSize: _getWindowSize } = @lazy(\"tty\"), NumberIsInteger = Number.isInteger;\nObject.defineProperty(ReadStream, \"prototype\", {\n get() {\n const Prototype = Object.create((@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).ReadStream.prototype);\n return Prototype.setRawMode = function(flag) {\n const mode = flag \? 1 : 0, err = ttySetMode(this.fd, mode);\n if (err)\n return this.emit(\"error\", new Error(\"setRawMode failed with errno: \" + err)), this;\n return this.isRaw = flag, this;\n }, Object.defineProperty(ReadStream, \"prototype\", { value: Prototype }), Prototype;\n },\n enumerable: !0,\n configurable: !0\n});\nvar COLORS_2 = 1, COLORS_16 = 4, COLORS_256 = 8, COLORS_16m = 24, TERM_ENVS = {\n eterm: COLORS_16,\n cons25: COLORS_16,\n console: COLORS_16,\n cygwin: COLORS_16,\n dtterm: COLORS_16,\n gnome: COLORS_16,\n hurd: COLORS_16,\n jfbterm: COLORS_16,\n konsole: COLORS_16,\n kterm: COLORS_16,\n mlterm: COLORS_16,\n mosh: COLORS_16m,\n putty: COLORS_16,\n st: COLORS_16,\n \"rxvt-unicode-24bit\": COLORS_16m,\n terminator: COLORS_16m\n}, TERM_ENVS_REG_EXP = [/ansi/, /color/, /linux/, /^con[0-9]*x[0-9]/, /^rxvt/, /^screen/, /^xterm/, /^vt100/], warned = !1;\nObject.defineProperty(WriteStream, \"prototype\", {\n get() {\n const Real = (@getInternalField(@internalModuleRegistry, 21) || @createInternalModuleById(21)).WriteStream.prototype;\n Object.defineProperty(WriteStream, \"prototype\", { value: Real }), WriteStream.prototype._refreshSize = function() {\n const oldCols = this.columns, oldRows = this.rows, windowSizeArray = [0, 0];\n if (_getWindowSize(this.fd, windowSizeArray) === !0) {\n if (oldCols !== windowSizeArray[0] || oldRows !== windowSizeArray[1])\n this.columns = windowSizeArray[0], this.rows = windowSizeArray[1], this.emit(\"resize\");\n }\n };\n var readline = @undefined;\n return WriteStream.prototype.clearLine = function(dir, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearLine(this, dir, cb);\n }, WriteStream.prototype.clearScreenDown = function(cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).clearScreenDown(this, cb);\n }, WriteStream.prototype.cursorTo = function(x, y, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).cursorTo(this, x, y, cb);\n }, WriteStream.prototype.getColorDepth = function(env = process.env) {\n if (env.FORCE_COLOR !== @undefined)\n switch (env.FORCE_COLOR) {\n case \"\":\n case \"1\":\n case \"true\":\n return warnOnDeactivatedColors(env), COLORS_16;\n case \"2\":\n return warnOnDeactivatedColors(env), COLORS_256;\n case \"3\":\n return warnOnDeactivatedColors(env), COLORS_16m;\n default:\n return COLORS_2;\n }\n if (env.NODE_DISABLE_COLORS !== @undefined || env.NO_COLOR !== @undefined || env.TERM === \"dumb\")\n return COLORS_2;\n if (env.TMUX)\n return COLORS_256;\n if (env.CI) {\n if ([\"APPVEYOR\", \"BUILDKITE\", \"CIRCLECI\", \"DRONE\", \"GITHUB_ACTIONS\", \"GITLAB_CI\", \"TRAVIS\"].some((sign) => (sign in env)) || env.CI_NAME === \"codeship\")\n return COLORS_256;\n return COLORS_2;\n }\n if (\"TEAMCITY_VERSION\" in env)\n return /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) \? COLORS_16 : COLORS_2;\n switch (env.TERM_PROGRAM) {\n case \"iTerm.app\":\n if (!env.TERM_PROGRAM_VERSION || /^[0-2]\\./.test(env.TERM_PROGRAM_VERSION))\n return COLORS_256;\n return COLORS_16m;\n case \"HyperTerm\":\n case \"MacTerm\":\n return COLORS_16m;\n case \"Apple_Terminal\":\n return COLORS_256;\n }\n if (env.COLORTERM === \"truecolor\" || env.COLORTERM === \"24bit\")\n return COLORS_16m;\n if (env.TERM) {\n if (/^xterm-256/.test(env.TERM) !== null)\n return COLORS_256;\n const termEnv = env.TERM.toLowerCase();\n if (TERM_ENVS[termEnv])\n return TERM_ENVS[termEnv];\n if (TERM_ENVS_REG_EXP.some((term) => term.test(termEnv)))\n return COLORS_16;\n }\n if (env.COLORTERM)\n return COLORS_16;\n return COLORS_2;\n }, WriteStream.prototype.getWindowSize = function() {\n return [this.columns, this.rows];\n }, WriteStream.prototype.hasColors = function(count, env) {\n if (env === @undefined && (count === @undefined || typeof count === \"object\" && count !== null))\n env = count, count = 16;\n else\n validateInteger(count, \"count\", 2);\n return count <= 2 ** this.getColorDepth(env);\n }, WriteStream.prototype.moveCursor = function(dx, dy, cb) {\n return (readline \?\?= @getInternalField(@internalModuleRegistry, 35) || @createInternalModuleById(35)).moveCursor(this, dx, dy, cb);\n }, Real;\n },\n enumerable: !0,\n configurable: !0\n});\nvar validateInteger = (value, name, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) => {\n if (typeof value !== \"number\")\n throw new ERR_INVALID_ARG_TYPE(name, \"number\", value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name, \"an integer\", value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);\n};\nreturn { ReadStream, WriteStream, isatty }})\n"); // // -static constexpr ASCIILiteral NodeUrlCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/url.ts\nvar Url = function() {\n this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null;\n}, urlParse = function(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === \"object\" && url instanceof Url)\n return url;\n var u = new Url;\n return u.parse(url, parseQueryString, slashesDenoteHost), u;\n}, urlFormat = function(obj) {\n if (typeof obj === \"string\")\n obj = urlParse(obj);\n if (!(obj instanceof Url))\n return Url.prototype.format.@call(obj);\n return obj.format();\n}, urlResolve = function(source, relative) {\n return urlParse(source, !1, !0).resolve(relative);\n}, urlResolveObject = function(source, relative) {\n if (!source)\n return relative;\n return urlParse(source, !1, !0).resolveObject(relative);\n}, urlToHttpOptions = function(url) {\n const options = {\n protocol: url.protocol,\n hostname: typeof url.hostname === \"string\" && url.hostname.startsWith(\"[\") \? url.hostname.slice(1, -1) : url.hostname,\n hash: url.hash,\n search: url.search,\n pathname: url.pathname,\n path: `${url.pathname || \"\"}${url.search || \"\"}`,\n href: url.href\n };\n if (url.port !== \"\")\n options.port = Number(url.port);\n if (url.username || url.password)\n options.auth = `${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;\n return options;\n}, $, { URL, URLSearchParams } = globalThis;\nUrl.prototype = {};\nvar protocolPattern = /^([a-z0-9.+-]+:)/i, portPattern = /:[0-9]*$/, simplePathPattern = /^(\\/\\/\?(\?!\\/)[^\?\\s]*)(\\\?[^\\s]*)\?$/, delims = [\"<\", \">\", '\"', \"`\", \" \", \"\\r\", \"\\n\", \"\\t\"], unwise = [\"{\", \"}\", \"|\", \"\\\\\", \"^\", \"`\"].concat(delims), autoEscape = [\"'\"].concat(unwise), nonHostChars = [\"%\", \"/\", \"\?\", \";\", \"#\"].concat(autoEscape), hostEndingChars = [\"/\", \"\?\", \"#\"], hostnameMaxLen = 255, hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, unsafeProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, hostlessProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, slashedProtocol = {\n http: !0,\n https: !0,\n ftp: !0,\n gopher: !0,\n file: !0,\n \"http:\": !0,\n \"https:\": !0,\n \"ftp:\": !0,\n \"gopher:\": !0,\n \"file:\": !0\n};\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== \"string\")\n @throwTypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n var queryIndex = url.indexOf(\"\?\"), splitter = queryIndex !== -1 && queryIndex < url.indexOf(\"#\") \? \"\?\" : \"#\", uSplit = url.split(splitter), slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, \"/\"), url = uSplit.join(splitter);\n var rest = url;\n if (rest = rest.trim(), !slashesDenoteHost && url.split(\"#\").length === 1) {\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n if (this.path = rest, this.href = rest, this.pathname = simplePath[1], simplePath[2])\n if (this.search = simplePath[2], parseQueryString)\n this.query = new URLSearchParams(this.search.substr(1)).toJSON();\n else\n this.query = this.search.substr(1);\n else if (parseQueryString)\n this.search = \"\", this.query = {};\n return this;\n }\n }\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto, rest = rest.substr(proto.length);\n }\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === \"//\";\n if (slashes && !(proto && hostlessProtocol[proto]))\n rest = rest.substr(2), this.slashes = !0;\n }\n if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {\n var hostEnd = -1;\n for (var i = 0;i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n var auth, atSign;\n if (hostEnd === -1)\n atSign = rest.lastIndexOf(\"@\");\n else\n atSign = rest.lastIndexOf(\"@\", hostEnd);\n if (atSign !== -1)\n auth = rest.slice(0, atSign), rest = rest.slice(atSign + 1), this.auth = decodeURIComponent(auth);\n hostEnd = -1;\n for (var i = 0;i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n if (hostEnd === -1)\n hostEnd = rest.length;\n this.host = rest.slice(0, hostEnd), rest = rest.slice(hostEnd), this.parseHost(), this.hostname = this.hostname || \"\";\n var ipv6Hostname = this.hostname[0] === \"[\" && this.hostname[this.hostname.length - 1] === \"]\";\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length;i < l; i++) {\n var part = hostparts[i];\n if (!part)\n continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = \"\";\n for (var j = 0, k = part.length;j < k; j++)\n if (part.charCodeAt(j) > 127)\n newpart += \"x\";\n else\n newpart += part[j];\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i), notHost = hostparts.slice(i + 1), bit = part.match(hostnamePartStart);\n if (bit)\n validParts.push(bit[1]), notHost.unshift(bit[2]);\n if (notHost.length)\n rest = \"/\" + notHost.join(\".\") + rest;\n this.hostname = validParts.join(\".\");\n break;\n }\n }\n }\n }\n if (this.hostname.length > hostnameMaxLen)\n this.hostname = \"\";\n else\n this.hostname = this.hostname.toLowerCase();\n if (!ipv6Hostname)\n this.hostname = new URL(\"http://\" + this.hostname).hostname;\n var p = this.port \? \":\" + this.port : \"\", h = this.hostname || \"\";\n if (this.host = h + p, this.href += this.host, ipv6Hostname) {\n if (this.hostname = this.hostname.substr(1, this.hostname.length - 2), rest[0] !== \"/\")\n rest = \"/\" + rest;\n }\n }\n if (!unsafeProtocol[lowerProto])\n for (var i = 0, l = autoEscape.length;i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae)\n esc = escape(ae);\n rest = rest.split(ae).join(esc);\n }\n var hash = rest.indexOf(\"#\");\n if (hash !== -1)\n this.hash = rest.substr(hash), rest = rest.slice(0, hash);\n var qm = rest.indexOf(\"\?\");\n if (qm !== -1) {\n if (this.search = rest.substr(qm), this.query = rest.substr(qm + 1), parseQueryString) {\n const query = this.query;\n this.query = new URLSearchParams(query).toJSON();\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString)\n this.search = \"\", this.query = {};\n if (rest)\n this.pathname = rest;\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname)\n this.pathname = \"/\";\n if (this.pathname || this.search) {\n var p = this.pathname || \"\", s = this.search || \"\";\n this.path = p + s;\n }\n return this.href = this.format(), this;\n};\nUrl.prototype.format = function() {\n var auth = this.auth || \"\";\n if (auth)\n auth = encodeURIComponent(auth), auth = auth.replace(/%3A/i, \":\"), auth += \"@\";\n var protocol = this.protocol || \"\", pathname = this.pathname || \"\", hash = this.hash || \"\", host = !1, query = \"\";\n if (this.host)\n host = auth + this.host;\n else if (this.hostname) {\n if (host = auth + (this.hostname.indexOf(\":\") === -1 \? this.hostname : \"[\" + this.hostname + \"]\"), this.port)\n host += \":\" + this.port;\n }\n if (this.query && typeof this.query === \"object\" && Object.keys(this.query).length)\n query = new URLSearchParams(this.query).toString();\n var search = this.search || query && \"\?\" + query || \"\";\n if (protocol && protocol.substr(-1) !== \":\")\n protocol += \":\";\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== !1) {\n if (host = \"//\" + (host || \"\"), pathname && pathname.charAt(0) !== \"/\")\n pathname = \"/\" + pathname;\n } else if (!host)\n host = \"\";\n if (hash && hash.charAt(0) !== \"#\")\n hash = \"#\" + hash;\n if (search && search.charAt(0) !== \"\?\")\n search = \"\?\" + search;\n return pathname = pathname.replace(/[\?#]/g, function(match) {\n return encodeURIComponent(match);\n }), search = search.replace(\"#\", \"%23\"), protocol + host + pathname + search + hash;\n};\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, !1, !0)).format();\n};\nUrl.prototype.resolveObject = function(relative) {\n if (typeof relative === \"string\") {\n var rel = new Url;\n rel.parse(relative, !1, !0), relative = rel;\n }\n var result = new Url, tkeys = Object.keys(this);\n for (var tk = 0;tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n if (result.hash = relative.hash, relative.href === \"\")\n return result.href = result.format(), result;\n if (relative.slashes && !relative.protocol) {\n var rkeys = Object.keys(relative);\n for (var rk = 0;rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== \"protocol\")\n result[rkey] = relative[rkey];\n }\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname)\n result.pathname = \"/\", result.path = result.pathname;\n return result.href = result.format(), result;\n }\n if (relative.protocol && relative.protocol !== result.protocol) {\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0;v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n return result.href = result.format(), result;\n }\n if (result.protocol = relative.protocol, !relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || \"\").split(\"/\");\n while (relPath.length && !(relative.host = relPath.shift()))\n ;\n if (!relative.host)\n relative.host = \"\";\n if (!relative.hostname)\n relative.hostname = \"\";\n if (relPath[0] !== \"\")\n relPath.unshift(\"\");\n if (relPath.length < 2)\n relPath.unshift(\"\");\n result.pathname = relPath.join(\"/\");\n } else\n result.pathname = relative.pathname;\n if (result.search = relative.search, result.query = relative.query, result.host = relative.host || \"\", result.auth = relative.auth, result.hostname = relative.hostname || relative.host, result.port = relative.port, result.pathname || result.search) {\n var p = result.pathname || \"\", s = result.search || \"\";\n result.path = p + s;\n }\n return result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n }\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === \"/\", isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === \"/\", mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname, removeAllDots = mustEndAbs, srcPath = result.pathname && result.pathname.split(\"/\") || [], relPath = relative.pathname && relative.pathname.split(\"/\") || [], psychotic = result.protocol && !slashedProtocol[result.protocol];\n if (psychotic) {\n if (result.hostname = \"\", result.port = null, result.host)\n if (srcPath[0] === \"\")\n srcPath[0] = result.host;\n else\n srcPath.unshift(result.host);\n if (result.host = \"\", relative.protocol) {\n if (relative.hostname = null, relative.port = null, relative.host)\n if (relPath[0] === \"\")\n relPath[0] = relative.host;\n else\n relPath.unshift(relative.host);\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === \"\" || srcPath[0] === \"\");\n }\n if (isRelAbs)\n result.host = relative.host || relative.host === \"\" \? relative.host : result.host, result.hostname = relative.hostname || relative.hostname === \"\" \? relative.hostname : result.hostname, result.search = relative.search, result.query = relative.query, srcPath = relPath;\n else if (relPath.length) {\n if (!srcPath)\n srcPath = [];\n srcPath.pop(), srcPath = srcPath.concat(relPath), result.search = relative.search, result.query = relative.query;\n } else if (relative.search != null) {\n if (psychotic) {\n result.host = srcPath.shift(), result.hostname = result.host;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (result.search = relative.search, result.query = relative.query, result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.href = result.format(), result;\n }\n if (!srcPath.length) {\n if (result.pathname = null, result.search)\n result.path = \"/\" + result.search;\n else\n result.path = null;\n return result.href = result.format(), result;\n }\n var last = srcPath.slice(-1)[0], hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === \".\" || last === \"..\") || last === \"\", up = 0;\n for (var i = srcPath.length;i >= 0; i--)\n if (last = srcPath[i], last === \".\")\n srcPath.splice(i, 1);\n else if (last === \"..\")\n srcPath.splice(i, 1), up++;\n else if (up)\n srcPath.splice(i, 1), up--;\n if (!mustEndAbs && !removeAllDots)\n for (;up--; up)\n srcPath.unshift(\"..\");\n if (mustEndAbs && srcPath[0] !== \"\" && (!srcPath[0] || srcPath[0].charAt(0) !== \"/\"))\n srcPath.unshift(\"\");\n if (hasTrailingSlash && srcPath.join(\"/\").substr(-1) !== \"/\")\n srcPath.push(\"\");\n var isAbsolute = srcPath[0] === \"\" || srcPath[0] && srcPath[0].charAt(0) === \"/\";\n if (psychotic) {\n result.hostname = isAbsolute \? \"\" : srcPath.length \? srcPath.shift() : \"\", result.host = result.hostname;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (mustEndAbs = mustEndAbs || result.host && srcPath.length, mustEndAbs && !isAbsolute)\n srcPath.unshift(\"\");\n if (srcPath.length > 0)\n result.pathname = srcPath.join(\"/\");\n else\n result.pathname = null, result.path = null;\n if (result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.auth = relative.auth || result.auth, result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n};\nUrl.prototype.parseHost = function() {\n var host = this.host, port = portPattern.exec(host);\n if (port) {\n if (port = port[0], port !== \":\")\n this.port = port.substr(1);\n host = host.substr(0, host.length - port.length);\n }\n if (host)\n this.hostname = host;\n};\nvar pathToFileURL = @lazy(\"pathToFileURL\"), fileURLToPath = @lazy(\"fileURLToPath\");\n$ = {\n parse: urlParse,\n resolve: urlResolve,\n resolveObject: urlResolveObject,\n format: urlFormat,\n Url,\n URLSearchParams,\n URL,\n pathToFileURL,\n fileURLToPath,\n urlToHttpOptions\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeUrlCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/url.ts\nvar Url = function() {\n this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null;\n}, urlParse = function(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === \"object\" && url instanceof Url)\n return url;\n var u = new Url;\n return u.parse(url, parseQueryString, slashesDenoteHost), u;\n}, urlFormat = function(obj) {\n if (typeof obj === \"string\")\n obj = urlParse(obj);\n if (!(obj instanceof Url))\n return Url.prototype.format.@call(obj);\n return obj.format();\n}, urlResolve = function(source, relative) {\n return urlParse(source, !1, !0).resolve(relative);\n}, urlResolveObject = function(source, relative) {\n if (!source)\n return relative;\n return urlParse(source, !1, !0).resolveObject(relative);\n}, urlToHttpOptions = function(url) {\n const options = {\n protocol: url.protocol,\n hostname: typeof url.hostname === \"string\" && url.hostname.startsWith(\"[\") \? url.hostname.slice(1, -1) : url.hostname,\n hash: url.hash,\n search: url.search,\n pathname: url.pathname,\n path: `${url.pathname || \"\"}${url.search || \"\"}`,\n href: url.href\n };\n if (url.port !== \"\")\n options.port = Number(url.port);\n if (url.username || url.password)\n options.auth = `${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;\n return options;\n}, $, { URL, URLSearchParams } = globalThis;\nUrl.prototype = {};\nvar protocolPattern = /^([a-z0-9.+-]+:)/i, portPattern = /:[0-9]*$/, simplePathPattern = /^(\\/\\/\?(\?!\\/)[^\?\\s]*)(\\\?[^\\s]*)\?$/, delims = [\"<\", \">\", '\"', \"`\", \" \", \"\\r\", \"\\n\", \"\\t\"], unwise = [\"{\", \"}\", \"|\", \"\\\\\", \"^\", \"`\"].concat(delims), autoEscape = [\"'\"].concat(unwise), nonHostChars = [\"%\", \"/\", \"\?\", \";\", \"#\"].concat(autoEscape), hostEndingChars = [\"/\", \"\?\", \"#\"], hostnameMaxLen = 255, hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, unsafeProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, hostlessProtocol = {\n javascript: !0,\n \"javascript:\": !0\n}, slashedProtocol = {\n http: !0,\n https: !0,\n ftp: !0,\n gopher: !0,\n file: !0,\n \"http:\": !0,\n \"https:\": !0,\n \"ftp:\": !0,\n \"gopher:\": !0,\n \"file:\": !0\n};\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== \"string\")\n @throwTypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n var queryIndex = url.indexOf(\"\?\"), splitter = queryIndex !== -1 && queryIndex < url.indexOf(\"#\") \? \"\?\" : \"#\", uSplit = url.split(splitter), slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, \"/\"), url = uSplit.join(splitter);\n var rest = url;\n if (rest = rest.trim(), !slashesDenoteHost && url.split(\"#\").length === 1) {\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n if (this.path = rest, this.href = rest, this.pathname = simplePath[1], simplePath[2])\n if (this.search = simplePath[2], parseQueryString)\n this.query = new URLSearchParams(this.search.substr(1)).toJSON();\n else\n this.query = this.search.substr(1);\n else if (parseQueryString)\n this.search = \"\", this.query = {};\n return this;\n }\n }\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto, rest = rest.substr(proto.length);\n }\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === \"//\";\n if (slashes && !(proto && hostlessProtocol[proto]))\n rest = rest.substr(2), this.slashes = !0;\n }\n if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {\n var hostEnd = -1;\n for (var i = 0;i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n var auth, atSign;\n if (hostEnd === -1)\n atSign = rest.lastIndexOf(\"@\");\n else\n atSign = rest.lastIndexOf(\"@\", hostEnd);\n if (atSign !== -1)\n auth = rest.slice(0, atSign), rest = rest.slice(atSign + 1), this.auth = decodeURIComponent(auth);\n hostEnd = -1;\n for (var i = 0;i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n if (hostEnd === -1)\n hostEnd = rest.length;\n this.host = rest.slice(0, hostEnd), rest = rest.slice(hostEnd), this.parseHost(), this.hostname = this.hostname || \"\";\n var ipv6Hostname = this.hostname[0] === \"[\" && this.hostname[this.hostname.length - 1] === \"]\";\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length;i < l; i++) {\n var part = hostparts[i];\n if (!part)\n continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = \"\";\n for (var j = 0, k = part.length;j < k; j++)\n if (part.charCodeAt(j) > 127)\n newpart += \"x\";\n else\n newpart += part[j];\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i), notHost = hostparts.slice(i + 1), bit = part.match(hostnamePartStart);\n if (bit)\n validParts.push(bit[1]), notHost.unshift(bit[2]);\n if (notHost.length)\n rest = \"/\" + notHost.join(\".\") + rest;\n this.hostname = validParts.join(\".\");\n break;\n }\n }\n }\n }\n if (this.hostname.length > hostnameMaxLen)\n this.hostname = \"\";\n else\n this.hostname = this.hostname.toLowerCase();\n if (!ipv6Hostname)\n this.hostname = new URL(\"http://\" + this.hostname).hostname;\n var p = this.port \? \":\" + this.port : \"\", h = this.hostname || \"\";\n if (this.host = h + p, this.href += this.host, ipv6Hostname) {\n if (this.hostname = this.hostname.substr(1, this.hostname.length - 2), rest[0] !== \"/\")\n rest = \"/\" + rest;\n }\n }\n if (!unsafeProtocol[lowerProto])\n for (var i = 0, l = autoEscape.length;i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae)\n esc = escape(ae);\n rest = rest.split(ae).join(esc);\n }\n var hash = rest.indexOf(\"#\");\n if (hash !== -1)\n this.hash = rest.substr(hash), rest = rest.slice(0, hash);\n var qm = rest.indexOf(\"\?\");\n if (qm !== -1) {\n if (this.search = rest.substr(qm), this.query = rest.substr(qm + 1), parseQueryString) {\n const query = this.query;\n this.query = new URLSearchParams(query).toJSON();\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString)\n this.search = \"\", this.query = {};\n if (rest)\n this.pathname = rest;\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname)\n this.pathname = \"/\";\n if (this.pathname || this.search) {\n var p = this.pathname || \"\", s = this.search || \"\";\n this.path = p + s;\n }\n return this.href = this.format(), this;\n};\nUrl.prototype.format = function() {\n var auth = this.auth || \"\";\n if (auth)\n auth = encodeURIComponent(auth), auth = auth.replace(/%3A/i, \":\"), auth += \"@\";\n var protocol = this.protocol || \"\", pathname = this.pathname || \"\", hash = this.hash || \"\", host = !1, query = \"\";\n if (this.host)\n host = auth + this.host;\n else if (this.hostname) {\n if (host = auth + (this.hostname.indexOf(\":\") === -1 \? this.hostname : \"[\" + this.hostname + \"]\"), this.port)\n host += \":\" + this.port;\n }\n if (this.query && typeof this.query === \"object\" && Object.keys(this.query).length)\n query = new URLSearchParams(this.query).toString();\n var search = this.search || query && \"\?\" + query || \"\";\n if (protocol && protocol.substr(-1) !== \":\")\n protocol += \":\";\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== !1) {\n if (host = \"//\" + (host || \"\"), pathname && pathname.charAt(0) !== \"/\")\n pathname = \"/\" + pathname;\n } else if (!host)\n host = \"\";\n if (hash && hash.charAt(0) !== \"#\")\n hash = \"#\" + hash;\n if (search && search.charAt(0) !== \"\?\")\n search = \"\?\" + search;\n return pathname = pathname.replace(/[\?#]/g, function(match) {\n return encodeURIComponent(match);\n }), search = search.replace(\"#\", \"%23\"), protocol + host + pathname + search + hash;\n};\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, !1, !0)).format();\n};\nUrl.prototype.resolveObject = function(relative) {\n if (typeof relative === \"string\") {\n var rel = new Url;\n rel.parse(relative, !1, !0), relative = rel;\n }\n var result = new Url, tkeys = Object.keys(this);\n for (var tk = 0;tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n if (result.hash = relative.hash, relative.href === \"\")\n return result.href = result.format(), result;\n if (relative.slashes && !relative.protocol) {\n var rkeys = Object.keys(relative);\n for (var rk = 0;rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== \"protocol\")\n result[rkey] = relative[rkey];\n }\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname)\n result.pathname = \"/\", result.path = result.pathname;\n return result.href = result.format(), result;\n }\n if (relative.protocol && relative.protocol !== result.protocol) {\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0;v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n return result.href = result.format(), result;\n }\n if (result.protocol = relative.protocol, !relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || \"\").split(\"/\");\n while (relPath.length && !(relative.host = relPath.shift()))\n ;\n if (!relative.host)\n relative.host = \"\";\n if (!relative.hostname)\n relative.hostname = \"\";\n if (relPath[0] !== \"\")\n relPath.unshift(\"\");\n if (relPath.length < 2)\n relPath.unshift(\"\");\n result.pathname = relPath.join(\"/\");\n } else\n result.pathname = relative.pathname;\n if (result.search = relative.search, result.query = relative.query, result.host = relative.host || \"\", result.auth = relative.auth, result.hostname = relative.hostname || relative.host, result.port = relative.port, result.pathname || result.search) {\n var p = result.pathname || \"\", s = result.search || \"\";\n result.path = p + s;\n }\n return result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n }\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === \"/\", isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === \"/\", mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname, removeAllDots = mustEndAbs, srcPath = result.pathname && result.pathname.split(\"/\") || [], relPath = relative.pathname && relative.pathname.split(\"/\") || [], psychotic = result.protocol && !slashedProtocol[result.protocol];\n if (psychotic) {\n if (result.hostname = \"\", result.port = null, result.host)\n if (srcPath[0] === \"\")\n srcPath[0] = result.host;\n else\n srcPath.unshift(result.host);\n if (result.host = \"\", relative.protocol) {\n if (relative.hostname = null, relative.port = null, relative.host)\n if (relPath[0] === \"\")\n relPath[0] = relative.host;\n else\n relPath.unshift(relative.host);\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === \"\" || srcPath[0] === \"\");\n }\n if (isRelAbs)\n result.host = relative.host || relative.host === \"\" \? relative.host : result.host, result.hostname = relative.hostname || relative.hostname === \"\" \? relative.hostname : result.hostname, result.search = relative.search, result.query = relative.query, srcPath = relPath;\n else if (relPath.length) {\n if (!srcPath)\n srcPath = [];\n srcPath.pop(), srcPath = srcPath.concat(relPath), result.search = relative.search, result.query = relative.query;\n } else if (relative.search != null) {\n if (psychotic) {\n result.host = srcPath.shift(), result.hostname = result.host;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (result.search = relative.search, result.query = relative.query, result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.href = result.format(), result;\n }\n if (!srcPath.length) {\n if (result.pathname = null, result.search)\n result.path = \"/\" + result.search;\n else\n result.path = null;\n return result.href = result.format(), result;\n }\n var last = srcPath.slice(-1)[0], hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === \".\" || last === \"..\") || last === \"\", up = 0;\n for (var i = srcPath.length;i >= 0; i--)\n if (last = srcPath[i], last === \".\")\n srcPath.splice(i, 1);\n else if (last === \"..\")\n srcPath.splice(i, 1), up++;\n else if (up)\n srcPath.splice(i, 1), up--;\n if (!mustEndAbs && !removeAllDots)\n for (;up--; up)\n srcPath.unshift(\"..\");\n if (mustEndAbs && srcPath[0] !== \"\" && (!srcPath[0] || srcPath[0].charAt(0) !== \"/\"))\n srcPath.unshift(\"\");\n if (hasTrailingSlash && srcPath.join(\"/\").substr(-1) !== \"/\")\n srcPath.push(\"\");\n var isAbsolute = srcPath[0] === \"\" || srcPath[0] && srcPath[0].charAt(0) === \"/\";\n if (psychotic) {\n result.hostname = isAbsolute \? \"\" : srcPath.length \? srcPath.shift() : \"\", result.host = result.hostname;\n var authInHost = result.host && result.host.indexOf(\"@\") > 0 \? result.host.split(\"@\") : !1;\n if (authInHost)\n result.auth = authInHost.shift(), result.hostname = authInHost.shift(), result.host = result.hostname;\n }\n if (mustEndAbs = mustEndAbs || result.host && srcPath.length, mustEndAbs && !isAbsolute)\n srcPath.unshift(\"\");\n if (srcPath.length > 0)\n result.pathname = srcPath.join(\"/\");\n else\n result.pathname = null, result.path = null;\n if (result.pathname !== null || result.search !== null)\n result.path = (result.pathname \? result.pathname : \"\") + (result.search \? result.search : \"\");\n return result.auth = relative.auth || result.auth, result.slashes = result.slashes || relative.slashes, result.href = result.format(), result;\n};\nUrl.prototype.parseHost = function() {\n var host = this.host, port = portPattern.exec(host);\n if (port) {\n if (port = port[0], port !== \":\")\n this.port = port.substr(1);\n host = host.substr(0, host.length - port.length);\n }\n if (host)\n this.hostname = host;\n};\nvar pathToFileURL = @lazy(\"pathToFileURL\"), fileURLToPath = @lazy(\"fileURLToPath\");\n$ = {\n parse: urlParse,\n resolve: urlResolve,\n resolveObject: urlResolveObject,\n format: urlFormat,\n Url,\n URLSearchParams,\n URL,\n pathToFileURL,\n fileURLToPath,\n urlToHttpOptions\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeUtilCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/util.ts\nvar isBuffer = function(value) {\n return @Buffer.isBuffer(value);\n}, isFunction = function(value) {\n return typeof value === \"function\";\n}, deprecate = function(fn, msg, code) {\n if (process.noDeprecation === !0)\n return fn;\n var warned = !1;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n var err = new Error(msg);\n if (code)\n err.code = code;\n throw err;\n } else if (process.traceDeprecation)\n console.trace(msg);\n else\n console.error(msg);\n warned = !0;\n }\n return fn.@apply(this, arguments);\n }\n return deprecated;\n}, debuglog = function(set) {\n if (set = set.toUpperCase(), !debugs[set])\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = format.@apply(cjs_exports, arguments);\n console.error(\"%s %d: %s\", set, pid, msg);\n };\n } else\n debugs[set] = function() {\n };\n return debugs[set];\n}, isBoolean = function(arg) {\n return typeof arg === \"boolean\";\n}, isNull = function(arg) {\n return arg === null;\n}, isNullOrUndefined = function(arg) {\n return arg == null;\n}, isNumber = function(arg) {\n return typeof arg === \"number\";\n}, isString = function(arg) {\n return typeof arg === \"string\";\n}, isSymbol = function(arg) {\n return typeof arg === \"symbol\";\n}, isUndefined = function(arg) {\n return arg === void 0;\n}, isObject = function(arg) {\n return typeof arg === \"object\" && arg !== null;\n}, isPrimitive = function(arg) {\n return arg === null || typeof arg === \"boolean\" || typeof arg === \"number\" || typeof arg === \"string\" || typeof arg === \"symbol\" || typeof arg === \"undefined\";\n}, pad = function(n) {\n return n < 10 \? \"0\" + n.toString(10) : n.toString(10);\n}, timestamp = function() {\n var d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(\":\");\n return [d.getDate(), months[d.getMonth()], time].join(\" \");\n}, callbackifyOnRejected = function(reason, cb) {\n if (!reason) {\n var newReason = new Error(\"Promise was rejected with a falsy value\");\n newReason.reason = reason, newReason.code = \"ERR_FALSY_VALUE_REJECTION\", reason = newReason;\n }\n return cb(reason);\n}, callbackify = function(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n function callbackified() {\n var args = @Array.prototype.slice.@call(arguments), maybeCb = args.pop();\n if (typeof maybeCb !== \"function\")\n @throwTypeError(\"The last argument must be of type Function\");\n var self = this, cb = function() {\n return maybeCb.@apply(self, arguments);\n };\n original.@apply(this, args).then(function(ret) {\n process.nextTick(cb, null, ret);\n }, function(rej) {\n process.nextTick(callbackifyOnRejected, rej, cb);\n });\n }\n return Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)), Object.defineProperties(callbackified, getOwnPropertyDescriptors(original)), callbackified;\n}, $, types = @requireNativeModule(\"util/types\"), utl = @getInternalField(@internalModuleRegistry, 7) || @createInternalModuleById(7), cjs_exports = {}, deepEquals = Bun.deepEquals, isDeepStrictEqual = (a, b) => deepEquals(a, b, !0), getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors, inspect = utl.inspect, formatWithOptions = utl.formatWithOptions, format = utl.format, stripVTControlCharacters = utl.stripVTControlCharacters, debugs = {}, debugEnvRegex = /^$/;\nif (process.env.NODE_DEBUG)\n debugEnv = process.env.NODE_DEBUG, debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+\?.]/g, \"\\\\$&\").replace(/\\*/g, \".*\").replace(/,/g, \"$|^\").toUpperCase(), debugEnvRegex = new @RegExp(\"^\" + debugEnv + \"$\", \"i\");\nvar debugEnv, isRegExp = types.isRegExp, isDate = types.isDate, isError = types.isNativeError, months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], log = function log2() {\n console.log(\"%s - %s\", timestamp(), format.@apply(cjs_exports, arguments));\n}, inherits = function inherits2(ctor, superCtor) {\n ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n}, _extend = function(origin, add) {\n if (!add || !isObject(add))\n return origin;\n var keys = Object.keys(add), i = keys.length;\n while (i--)\n origin[keys[i]] = add[keys[i]];\n return origin;\n}, kCustomPromisifiedSymbol = Symbol.for(\"util.promisify.custom\"), promisify = function promisify2(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== \"function\")\n @throwTypeError('The \"util.promisify.custom\" argument must be of type Function');\n return Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n }), fn;\n }\n function fn() {\n var promiseResolve, promiseReject, promise = new @Promise(function(resolve, reject) {\n promiseResolve = resolve, promiseReject = reject;\n }), args = [];\n for (var i = 0;i < arguments.length; i++)\n args.push(arguments[i]);\n args.push(function(err, value) {\n if (err)\n promiseReject(err);\n else\n promiseResolve(value);\n });\n try {\n original.@apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n return promise;\n }\n if (Object.setPrototypeOf(fn, Object.getPrototypeOf(original)), kCustomPromisifiedSymbol)\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n return Object.defineProperties(fn, getOwnPropertyDescriptors(original));\n};\npromisify.custom = kCustomPromisifiedSymbol;\nvar toUSVString = (input) => {\n return (input + \"\").toWellFormed();\n};\n$ = Object.assign(cjs_exports, {\n format,\n formatWithOptions,\n stripVTControlCharacters,\n deprecate,\n debuglog,\n _extend,\n inspect,\n types,\n isArray: @isArray,\n isBoolean,\n isNull,\n isNullOrUndefined,\n isNumber,\n isString,\n isSymbol,\n isUndefined,\n isRegExp,\n isObject,\n isDate,\n isFunction,\n isError,\n isPrimitive,\n isBuffer,\n log,\n inherits,\n toUSVString,\n promisify,\n callbackify,\n isDeepStrictEqual,\n TextDecoder,\n TextEncoder\n});\nreturn $})\n"); +static constexpr ASCIILiteral NodeUtilCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/util.ts\nvar isBuffer = function(value) {\n return @Buffer.isBuffer(value);\n}, isFunction = function(value) {\n return typeof value === \"function\";\n}, deprecate = function(fn, msg, code) {\n if (process.noDeprecation === !0)\n return fn;\n var warned = !1;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n var err = new Error(msg);\n if (code)\n err.code = code;\n throw err;\n } else if (process.traceDeprecation)\n console.trace(msg);\n else\n console.error(msg);\n warned = !0;\n }\n return fn.@apply(this, arguments);\n }\n return deprecated;\n}, debuglog = function(set) {\n if (set = set.toUpperCase(), !debugs[set])\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = format.@apply(cjs_exports, arguments);\n console.error(\"%s %d: %s\", set, pid, msg);\n };\n } else\n debugs[set] = function() {\n };\n return debugs[set];\n}, isBoolean = function(arg) {\n return typeof arg === \"boolean\";\n}, isNull = function(arg) {\n return arg === null;\n}, isNullOrUndefined = function(arg) {\n return arg == null;\n}, isNumber = function(arg) {\n return typeof arg === \"number\";\n}, isString = function(arg) {\n return typeof arg === \"string\";\n}, isSymbol = function(arg) {\n return typeof arg === \"symbol\";\n}, isUndefined = function(arg) {\n return arg === void 0;\n}, isObject = function(arg) {\n return typeof arg === \"object\" && arg !== null;\n}, isPrimitive = function(arg) {\n return arg === null || typeof arg === \"boolean\" || typeof arg === \"number\" || typeof arg === \"string\" || typeof arg === \"symbol\" || typeof arg === \"undefined\";\n}, pad = function(n) {\n return n < 10 \? \"0\" + n.toString(10) : n.toString(10);\n}, timestamp = function() {\n var d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(\":\");\n return [d.getDate(), months[d.getMonth()], time].join(\" \");\n}, callbackifyOnRejected = function(reason, cb) {\n if (!reason) {\n var newReason = new Error(\"Promise was rejected with a falsy value\");\n newReason.reason = reason, newReason.code = \"ERR_FALSY_VALUE_REJECTION\", reason = newReason;\n }\n return cb(reason);\n}, callbackify = function(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n function callbackified() {\n var args = @Array.prototype.slice.@call(arguments), maybeCb = args.pop();\n if (typeof maybeCb !== \"function\")\n @throwTypeError(\"The last argument must be of type Function\");\n var self = this, cb = function() {\n return maybeCb.@apply(self, arguments);\n };\n original.@apply(this, args).then(function(ret) {\n process.nextTick(cb, null, ret);\n }, function(rej) {\n process.nextTick(callbackifyOnRejected, rej, cb);\n });\n }\n return Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)), Object.defineProperties(callbackified, getOwnPropertyDescriptors(original)), callbackified;\n}, $, types = @requireNativeModule(\"util/types\"), utl = @getInternalField(@internalModuleRegistry, 7) || @createInternalModuleById(7), cjs_exports = {}, deepEquals = Bun.deepEquals, isDeepStrictEqual = (a, b) => deepEquals(a, b, !0), getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors, inspect = utl.inspect, formatWithOptions = utl.formatWithOptions, format = utl.format, stripVTControlCharacters = utl.stripVTControlCharacters, debugs = {}, debugEnvRegex = /^$/;\nif (process.env.NODE_DEBUG)\n debugEnv = process.env.NODE_DEBUG, debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+\?.]/g, \"\\\\$&\").replace(/\\*/g, \".*\").replace(/,/g, \"$|^\").toUpperCase(), debugEnvRegex = new @RegExp(\"^\" + debugEnv + \"$\", \"i\");\nvar debugEnv, isRegExp = types.isRegExp, isDate = types.isDate, isError = types.isNativeError, months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], log = function log2() {\n console.log(\"%s - %s\", timestamp(), format.@apply(cjs_exports, arguments));\n}, inherits = function inherits2(ctor, superCtor) {\n ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n}, _extend = function(origin, add) {\n if (!add || !isObject(add))\n return origin;\n var keys = Object.keys(add), i = keys.length;\n while (i--)\n origin[keys[i]] = add[keys[i]];\n return origin;\n}, kCustomPromisifiedSymbol = Symbol.for(\"util.promisify.custom\"), promisify = function promisify2(original) {\n if (typeof original !== \"function\")\n @throwTypeError('The \"original\" argument must be of type Function');\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== \"function\")\n @throwTypeError('The \"util.promisify.custom\" argument must be of type Function');\n return Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n }), fn;\n }\n function fn() {\n var promiseResolve, promiseReject, promise = new @Promise(function(resolve, reject) {\n promiseResolve = resolve, promiseReject = reject;\n }), args = [];\n for (var i = 0;i < arguments.length; i++)\n args.push(arguments[i]);\n args.push(function(err, value) {\n if (err)\n promiseReject(err);\n else\n promiseResolve(value);\n });\n try {\n original.@apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n return promise;\n }\n if (Object.setPrototypeOf(fn, Object.getPrototypeOf(original)), kCustomPromisifiedSymbol)\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n return Object.defineProperties(fn, getOwnPropertyDescriptors(original));\n};\npromisify.custom = kCustomPromisifiedSymbol;\nvar toUSVString = (input) => {\n return (input + \"\").toWellFormed();\n};\n$ = Object.assign(cjs_exports, {\n format,\n formatWithOptions,\n stripVTControlCharacters,\n deprecate,\n debuglog,\n _extend,\n inspect,\n types,\n isArray: @isArray,\n isBoolean,\n isNull,\n isNullOrUndefined,\n isNumber,\n isString,\n isSymbol,\n isUndefined,\n isRegExp,\n isObject,\n isDate,\n isFunction,\n isError,\n isPrimitive,\n isBuffer,\n log,\n inherits,\n toUSVString,\n promisify,\n callbackify,\n isDeepStrictEqual,\n TextDecoder,\n TextEncoder\n});\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeV8Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/v8.ts\nvar notimpl = function(message) {\n throwNotImplemented(\"node:v8 \" + message);\n}, cachedDataVersionTag = function() {\n notimpl(\"cachedDataVersionTag\");\n}, getHeapSnapshot = function() {\n notimpl(\"getHeapSnapshot\");\n}, getHeapStatistics = function() {\n const stats = jsc.heapStats();\n return {\n total_heap_size: stats.heapCapacity,\n total_heap_size_executable: 0,\n total_physical_size: stats.heapSize,\n total_available_size: @Infinity,\n used_heap_size: stats.heapSize,\n heap_size_limit: @Infinity,\n malloced_memory: stats.heapSize,\n peak_malloced_memory: @Infinity,\n does_zap_garbage: 0,\n number_of_native_contexts: @Infinity,\n number_of_detached_contexts: @Infinity,\n total_global_handles_size: @Infinity,\n used_global_handles_size: @Infinity,\n external_memory: @Infinity\n };\n}, getHeapSpaceStatistics = function() {\n notimpl(\"getHeapSpaceStatistics\");\n}, getHeapCodeStatistics = function() {\n notimpl(\"getHeapCodeStatistics\");\n}, setFlagsFromString = function() {\n notimpl(\"setFlagsFromString\");\n}, deserialize = function(value) {\n return jsc.deserialize(value);\n}, takeCoverage = function() {\n notimpl(\"takeCoverage\");\n}, stopCoverage = function() {\n notimpl(\"stopCoverage\");\n}, serialize = function(arg1) {\n return jsc.serialize(arg1, { binaryType: \"nodebuffer\" });\n}, writeHeapSnapshot = function() {\n notimpl(\"writeHeapSnapshot\");\n}, setHeapSnapshotNearHeapLimit = function() {\n notimpl(\"setHeapSnapshotNearHeapLimit\");\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), jsc = @requireNativeModule(\"bun:jsc\");\n\nclass Deserializer {\n constructor() {\n notimpl(\"Deserializer\");\n }\n}\n\nclass Serializer {\n constructor() {\n notimpl(\"Serializer\");\n }\n}\n\nclass DefaultDeserializer extends Deserializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass DefaultSerializer extends Serializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass GCProfiler {\n constructor() {\n notimpl(\"GCProfiler\");\n }\n}\nvar promiseHooks = {\n createHook: () => {\n notimpl(\"createHook\");\n },\n onInit: () => {\n notimpl(\"onInit\");\n },\n onBefore: () => {\n notimpl(\"onBefore\");\n },\n onAfter: () => {\n notimpl(\"onAfter\");\n },\n onSettled: () => {\n notimpl(\"onSettled\");\n }\n}, startupSnapshot = {\n addDeserializeCallback: () => notimpl(\"addDeserializeCallback\"),\n addSerializeCallback: () => notimpl(\"addSerializeCallback\"),\n setDeserializeMainFunction: () => notimpl(\"setDeserializeMainFunction\"),\n isBuildingSnapshot: () => notimpl(\"isBuildingSnapshot\")\n};\n$ = {\n cachedDataVersionTag,\n getHeapSnapshot,\n getHeapStatistics,\n getHeapSpaceStatistics,\n getHeapCodeStatistics,\n setFlagsFromString,\n deserialize,\n takeCoverage,\n stopCoverage,\n serialize,\n writeHeapSnapshot,\n setHeapSnapshotNearHeapLimit,\n promiseHooks,\n startupSnapshot,\n Deserializer,\n Serializer\n};\nhideFromStack(notimpl, cachedDataVersionTag, getHeapSnapshot, getHeapStatistics, getHeapSpaceStatistics, getHeapCodeStatistics, setFlagsFromString, deserialize, takeCoverage, stopCoverage, serialize, writeHeapSnapshot, setHeapSnapshotNearHeapLimit, Deserializer, Serializer, DefaultDeserializer, DefaultSerializer, GCProfiler);\nreturn $})\n"); +static constexpr ASCIILiteral NodeV8Code = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/v8.ts\nvar notimpl = function(message) {\n throwNotImplemented(\"node:v8 \" + message);\n}, cachedDataVersionTag = function() {\n notimpl(\"cachedDataVersionTag\");\n}, getHeapSnapshot = function() {\n notimpl(\"getHeapSnapshot\");\n}, getHeapStatistics = function() {\n const stats = jsc.heapStats();\n return {\n total_heap_size: stats.heapCapacity,\n total_heap_size_executable: 0,\n total_physical_size: stats.heapSize,\n total_available_size: @Infinity,\n used_heap_size: stats.heapSize,\n heap_size_limit: @Infinity,\n malloced_memory: stats.heapSize,\n peak_malloced_memory: @Infinity,\n does_zap_garbage: 0,\n number_of_native_contexts: @Infinity,\n number_of_detached_contexts: @Infinity,\n total_global_handles_size: @Infinity,\n used_global_handles_size: @Infinity,\n external_memory: @Infinity\n };\n}, getHeapSpaceStatistics = function() {\n notimpl(\"getHeapSpaceStatistics\");\n}, getHeapCodeStatistics = function() {\n notimpl(\"getHeapCodeStatistics\");\n}, setFlagsFromString = function() {\n notimpl(\"setFlagsFromString\");\n}, deserialize = function(value) {\n return jsc.deserialize(value);\n}, takeCoverage = function() {\n notimpl(\"takeCoverage\");\n}, stopCoverage = function() {\n notimpl(\"stopCoverage\");\n}, serialize = function(arg1) {\n return jsc.serialize(arg1, { binaryType: \"nodebuffer\" });\n}, writeHeapSnapshot = function() {\n notimpl(\"writeHeapSnapshot\");\n}, setHeapSnapshotNearHeapLimit = function() {\n notimpl(\"setHeapSnapshotNearHeapLimit\");\n}, $, { hideFromStack, throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), jsc = @requireNativeModule(\"bun:jsc\");\n\nclass Deserializer {\n constructor() {\n notimpl(\"Deserializer\");\n }\n}\n\nclass Serializer {\n constructor() {\n notimpl(\"Serializer\");\n }\n}\n\nclass DefaultDeserializer extends Deserializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass DefaultSerializer extends Serializer {\n constructor() {\n super(...arguments);\n }\n}\n\nclass GCProfiler {\n constructor() {\n notimpl(\"GCProfiler\");\n }\n}\nvar promiseHooks = {\n createHook: () => {\n notimpl(\"createHook\");\n },\n onInit: () => {\n notimpl(\"onInit\");\n },\n onBefore: () => {\n notimpl(\"onBefore\");\n },\n onAfter: () => {\n notimpl(\"onAfter\");\n },\n onSettled: () => {\n notimpl(\"onSettled\");\n }\n}, startupSnapshot = {\n addDeserializeCallback: () => notimpl(\"addDeserializeCallback\"),\n addSerializeCallback: () => notimpl(\"addSerializeCallback\"),\n setDeserializeMainFunction: () => notimpl(\"setDeserializeMainFunction\"),\n isBuildingSnapshot: () => notimpl(\"isBuildingSnapshot\")\n};\n$ = {\n cachedDataVersionTag,\n getHeapSnapshot,\n getHeapStatistics,\n getHeapSpaceStatistics,\n getHeapCodeStatistics,\n setFlagsFromString,\n deserialize,\n takeCoverage,\n stopCoverage,\n serialize,\n writeHeapSnapshot,\n setHeapSnapshotNearHeapLimit,\n promiseHooks,\n startupSnapshot,\n Deserializer,\n Serializer\n};\nhideFromStack(notimpl, cachedDataVersionTag, getHeapSnapshot, getHeapStatistics, getHeapSpaceStatistics, getHeapCodeStatistics, setFlagsFromString, deserialize, takeCoverage, stopCoverage, serialize, writeHeapSnapshot, setHeapSnapshotNearHeapLimit, Deserializer, Serializer, DefaultDeserializer, DefaultSerializer, GCProfiler);\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeVMCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/vm.ts\nvar runInContext = function(code, context, options) {\n return new Script(code, options).runInContext(context);\n}, compileFunction = function() {\n throwNotImplemented(\"node:vm compileFunction\");\n}, measureMemory = function() {\n throwNotImplemented(\"node:vm measureMemory\");\n}, $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), vm = @lazy(\"vm\"), { createContext, isContext, Script, runInNewContext, runInThisContext } = vm;\n\nclass Module {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SourceTextModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SyntheticModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n$ = {\n createContext,\n runInContext,\n runInNewContext,\n runInThisContext,\n isContext,\n compileFunction,\n measureMemory,\n Script,\n Module,\n SourceTextModule,\n SyntheticModule\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeVMCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/vm.ts\nvar runInContext = function(code, context, options) {\n return new Script(code, options).runInContext(context);\n}, compileFunction = function() {\n throwNotImplemented(\"node:vm compileFunction\");\n}, measureMemory = function() {\n throwNotImplemented(\"node:vm measureMemory\");\n}, $, { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), vm = @lazy(\"vm\"), { createContext, isContext, Script, runInNewContext, runInThisContext } = vm;\n\nclass Module {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SourceTextModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n\nclass SyntheticModule {\n constructor() {\n throwNotImplemented(\"node:vm Module\");\n }\n}\n$ = {\n createContext,\n runInContext,\n runInNewContext,\n runInThisContext,\n isContext,\n compileFunction,\n measureMemory,\n Script,\n Module,\n SourceTextModule,\n SyntheticModule\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeWasiCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/wasi.ts\nvar nodeFsConstants = @processBindingConstants.fs, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_types = __commonJS({\n \"node_modules/wasi-js/dist/types.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASIKillError = exports.WASIExitError = exports.WASIError = void 0;\n var WASIError = class extends Error {\n constructor(errno) {\n super();\n this.errno = errno, Object.setPrototypeOf(this, WASIError.prototype);\n }\n };\n exports.WASIError = WASIError;\n var WASIExitError = class extends Error {\n constructor(code) {\n super(`WASI Exit error: ${code}`);\n this.code = code, Object.setPrototypeOf(this, WASIExitError.prototype);\n }\n };\n exports.WASIExitError = WASIExitError;\n var WASIKillError = class extends Error {\n constructor(signal) {\n super(`WASI Kill signal: ${signal}`);\n this.signal = signal, Object.setPrototypeOf(this, WASIKillError.prototype);\n }\n };\n exports.WASIKillError = WASIKillError;\n }\n}), require_constants = __commonJS({\n \"node_modules/wasi-js/dist/constants.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASI_ENOMSG = exports.WASI_ENOMEM = exports.WASI_ENOLINK = exports.WASI_ENOLCK = exports.WASI_ENOEXEC = exports.WASI_ENOENT = exports.WASI_ENODEV = exports.WASI_ENOBUFS = exports.WASI_ENFILE = exports.WASI_ENETUNREACH = exports.WASI_ENETRESET = exports.WASI_ENETDOWN = exports.WASI_ENAMETOOLONG = exports.WASI_EMULTIHOP = exports.WASI_EMSGSIZE = exports.WASI_EMLINK = exports.WASI_EMFILE = exports.WASI_ELOOP = exports.WASI_EISDIR = exports.WASI_EISCONN = exports.WASI_EIO = exports.WASI_EINVAL = exports.WASI_EINTR = exports.WASI_EINPROGRESS = exports.WASI_EILSEQ = exports.WASI_EIDRM = exports.WASI_EHOSTUNREACH = exports.WASI_EFBIG = exports.WASI_EFAULT = exports.WASI_EEXIST = exports.WASI_EDQUOT = exports.WASI_EDOM = exports.WASI_EDESTADDRREQ = exports.WASI_EDEADLK = exports.WASI_ECONNRESET = exports.WASI_ECONNREFUSED = exports.WASI_ECONNABORTED = exports.WASI_ECHILD = exports.WASI_ECANCELED = exports.WASI_EBUSY = exports.WASI_EBADMSG = exports.WASI_EBADF = exports.WASI_EALREADY = exports.WASI_EAGAIN = exports.WASI_EAFNOSUPPORT = exports.WASI_EADDRNOTAVAIL = exports.WASI_EADDRINUSE = exports.WASI_EACCES = exports.WASI_E2BIG = exports.WASI_ESUCCESS = void 0, exports.WASI_SIGVTALRM = exports.WASI_SIGUSR2 = exports.WASI_SIGUSR1 = exports.WASI_SIGURG = exports.WASI_SIGTTOU = exports.WASI_SIGTTIN = exports.WASI_SIGTSTP = exports.WASI_SIGTRAP = exports.WASI_SIGTERM = exports.WASI_SIGSTOP = exports.WASI_SIGSEGV = exports.WASI_SIGQUIT = exports.WASI_SIGPIPE = exports.WASI_SIGKILL = exports.WASI_SIGINT = exports.WASI_SIGILL = exports.WASI_SIGHUP = exports.WASI_SIGFPE = exports.WASI_SIGCONT = exports.WASI_SIGCHLD = exports.WASI_SIGBUS = exports.WASI_SIGALRM = exports.WASI_SIGABRT = exports.WASI_ENOTCAPABLE = exports.WASI_EXDEV = exports.WASI_ETXTBSY = exports.WASI_ETIMEDOUT = exports.WASI_ESTALE = exports.WASI_ESRCH = exports.WASI_ESPIPE = exports.WASI_EROFS = exports.WASI_ERANGE = exports.WASI_EPROTOTYPE = exports.WASI_EPROTONOSUPPORT = exports.WASI_EPROTO = exports.WASI_EPIPE = exports.WASI_EPERM = exports.WASI_EOWNERDEAD = exports.WASI_EOVERFLOW = exports.WASI_ENXIO = exports.WASI_ENOTTY = exports.WASI_ENOTSUP = exports.WASI_ENOTSOCK = exports.WASI_ENOTRECOVERABLE = exports.WASI_ENOTEMPTY = exports.WASI_ENOTDIR = exports.WASI_ENOTCONN = exports.WASI_ENOSYS = exports.WASI_ENOSPC = exports.WASI_ENOPROTOOPT = void 0, exports.RIGHTS_REGULAR_FILE_BASE = exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL = exports.WASI_RIGHT_SOCK_SHUTDOWN = exports.WASI_RIGHT_POLL_FD_READWRITE = exports.WASI_RIGHT_PATH_UNLINK_FILE = exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = exports.WASI_RIGHT_PATH_SYMLINK = exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = exports.WASI_RIGHT_FD_FILESTAT_GET = exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = exports.WASI_RIGHT_PATH_FILESTAT_GET = exports.WASI_RIGHT_PATH_RENAME_TARGET = exports.WASI_RIGHT_PATH_RENAME_SOURCE = exports.WASI_RIGHT_PATH_READLINK = exports.WASI_RIGHT_FD_READDIR = exports.WASI_RIGHT_PATH_OPEN = exports.WASI_RIGHT_PATH_LINK_TARGET = exports.WASI_RIGHT_PATH_LINK_SOURCE = exports.WASI_RIGHT_PATH_CREATE_FILE = exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = exports.WASI_RIGHT_FD_ALLOCATE = exports.WASI_RIGHT_FD_ADVISE = exports.WASI_RIGHT_FD_WRITE = exports.WASI_RIGHT_FD_TELL = exports.WASI_RIGHT_FD_SYNC = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = exports.WASI_RIGHT_FD_SEEK = exports.WASI_RIGHT_FD_READ = exports.WASI_RIGHT_FD_DATASYNC = exports.WASI_FDFLAG_SYNC = exports.WASI_FDFLAG_RSYNC = exports.WASI_FDFLAG_NONBLOCK = exports.WASI_FDFLAG_DSYNC = exports.WASI_FDFLAG_APPEND = exports.WASI_FILETYPE_SYMBOLIC_LINK = exports.WASI_FILETYPE_SOCKET_STREAM = exports.WASI_FILETYPE_SOCKET_DGRAM = exports.WASI_FILETYPE_REGULAR_FILE = exports.WASI_FILETYPE_DIRECTORY = exports.WASI_FILETYPE_CHARACTER_DEVICE = exports.WASI_FILETYPE_BLOCK_DEVICE = exports.WASI_FILETYPE_UNKNOWN = exports.WASI_SIGXFSZ = exports.WASI_SIGXCPU = void 0, exports.SIGNAL_MAP = exports.ERROR_MAP = exports.WASI_WHENCE_END = exports.WASI_WHENCE_CUR = exports.WASI_WHENCE_SET = exports.WASI_STDERR_FILENO = exports.WASI_STDOUT_FILENO = exports.WASI_STDIN_FILENO = exports.WASI_DIRCOOKIE_START = exports.WASI_PREOPENTYPE_DIR = exports.WASI_O_TRUNC = exports.WASI_O_EXCL = exports.WASI_O_DIRECTORY = exports.WASI_O_CREAT = exports.WASI_FILESTAT_SET_MTIM_NOW = exports.WASI_FILESTAT_SET_MTIM = exports.WASI_FILESTAT_SET_ATIM_NOW = exports.WASI_FILESTAT_SET_ATIM = exports.WASI_EVENTTYPE_FD_WRITE = exports.WASI_EVENTTYPE_FD_READ = exports.WASI_EVENTTYPE_CLOCK = exports.WASI_CLOCK_THREAD_CPUTIME_ID = exports.WASI_CLOCK_PROCESS_CPUTIME_ID = exports.WASI_CLOCK_MONOTONIC = exports.WASI_CLOCK_REALTIME = exports.RIGHTS_TTY_INHERITING = exports.RIGHTS_TTY_BASE = exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_SOCKET_BASE = exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE = exports.RIGHTS_REGULAR_FILE_INHERITING = void 0, exports.WASI_ESUCCESS = 0, exports.WASI_E2BIG = 1, exports.WASI_EACCES = 2, exports.WASI_EADDRINUSE = 3, exports.WASI_EADDRNOTAVAIL = 4, exports.WASI_EAFNOSUPPORT = 5, exports.WASI_EAGAIN = 6, exports.WASI_EALREADY = 7, exports.WASI_EBADF = 8, exports.WASI_EBADMSG = 9, exports.WASI_EBUSY = 10, exports.WASI_ECANCELED = 11, exports.WASI_ECHILD = 12, exports.WASI_ECONNABORTED = 13, exports.WASI_ECONNREFUSED = 14, exports.WASI_ECONNRESET = 15, exports.WASI_EDEADLK = 16, exports.WASI_EDESTADDRREQ = 17, exports.WASI_EDOM = 18, exports.WASI_EDQUOT = 19, exports.WASI_EEXIST = 20, exports.WASI_EFAULT = 21, exports.WASI_EFBIG = 22, exports.WASI_EHOSTUNREACH = 23, exports.WASI_EIDRM = 24, exports.WASI_EILSEQ = 25, exports.WASI_EINPROGRESS = 26, exports.WASI_EINTR = 27, exports.WASI_EINVAL = 28, exports.WASI_EIO = 29, exports.WASI_EISCONN = 30, exports.WASI_EISDIR = 31, exports.WASI_ELOOP = 32, exports.WASI_EMFILE = 33, exports.WASI_EMLINK = 34, exports.WASI_EMSGSIZE = 35, exports.WASI_EMULTIHOP = 36, exports.WASI_ENAMETOOLONG = 37, exports.WASI_ENETDOWN = 38, exports.WASI_ENETRESET = 39, exports.WASI_ENETUNREACH = 40, exports.WASI_ENFILE = 41, exports.WASI_ENOBUFS = 42, exports.WASI_ENODEV = 43, exports.WASI_ENOENT = 44, exports.WASI_ENOEXEC = 45, exports.WASI_ENOLCK = 46, exports.WASI_ENOLINK = 47, exports.WASI_ENOMEM = 48, exports.WASI_ENOMSG = 49, exports.WASI_ENOPROTOOPT = 50, exports.WASI_ENOSPC = 51, exports.WASI_ENOSYS = 52, exports.WASI_ENOTCONN = 53, exports.WASI_ENOTDIR = 54, exports.WASI_ENOTEMPTY = 55, exports.WASI_ENOTRECOVERABLE = 56, exports.WASI_ENOTSOCK = 57, exports.WASI_ENOTSUP = 58, exports.WASI_ENOTTY = 59, exports.WASI_ENXIO = 60, exports.WASI_EOVERFLOW = 61, exports.WASI_EOWNERDEAD = 62, exports.WASI_EPERM = 63, exports.WASI_EPIPE = 64, exports.WASI_EPROTO = 65, exports.WASI_EPROTONOSUPPORT = 66, exports.WASI_EPROTOTYPE = 67, exports.WASI_ERANGE = 68, exports.WASI_EROFS = 69, exports.WASI_ESPIPE = 70, exports.WASI_ESRCH = 71, exports.WASI_ESTALE = 72, exports.WASI_ETIMEDOUT = 73, exports.WASI_ETXTBSY = 74, exports.WASI_EXDEV = 75, exports.WASI_ENOTCAPABLE = 76, exports.WASI_SIGABRT = 0, exports.WASI_SIGALRM = 1, exports.WASI_SIGBUS = 2, exports.WASI_SIGCHLD = 3, exports.WASI_SIGCONT = 4, exports.WASI_SIGFPE = 5, exports.WASI_SIGHUP = 6, exports.WASI_SIGILL = 7, exports.WASI_SIGINT = 8, exports.WASI_SIGKILL = 9, exports.WASI_SIGPIPE = 10, exports.WASI_SIGQUIT = 11, exports.WASI_SIGSEGV = 12, exports.WASI_SIGSTOP = 13, exports.WASI_SIGTERM = 14, exports.WASI_SIGTRAP = 15, exports.WASI_SIGTSTP = 16, exports.WASI_SIGTTIN = 17, exports.WASI_SIGTTOU = 18, exports.WASI_SIGURG = 19, exports.WASI_SIGUSR1 = 20, exports.WASI_SIGUSR2 = 21, exports.WASI_SIGVTALRM = 22, exports.WASI_SIGXCPU = 23, exports.WASI_SIGXFSZ = 24, exports.WASI_FILETYPE_UNKNOWN = 0, exports.WASI_FILETYPE_BLOCK_DEVICE = 1, exports.WASI_FILETYPE_CHARACTER_DEVICE = 2, exports.WASI_FILETYPE_DIRECTORY = 3, exports.WASI_FILETYPE_REGULAR_FILE = 4, exports.WASI_FILETYPE_SOCKET_DGRAM = 5, exports.WASI_FILETYPE_SOCKET_STREAM = 6, exports.WASI_FILETYPE_SYMBOLIC_LINK = 7, exports.WASI_FDFLAG_APPEND = 1, exports.WASI_FDFLAG_DSYNC = 2, exports.WASI_FDFLAG_NONBLOCK = 4, exports.WASI_FDFLAG_RSYNC = 8, exports.WASI_FDFLAG_SYNC = 16, exports.WASI_RIGHT_FD_DATASYNC = BigInt(1), exports.WASI_RIGHT_FD_READ = BigInt(2), exports.WASI_RIGHT_FD_SEEK = BigInt(4), exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = BigInt(8), exports.WASI_RIGHT_FD_SYNC = BigInt(16), exports.WASI_RIGHT_FD_TELL = BigInt(32), exports.WASI_RIGHT_FD_WRITE = BigInt(64), exports.WASI_RIGHT_FD_ADVISE = BigInt(128), exports.WASI_RIGHT_FD_ALLOCATE = BigInt(256), exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = BigInt(512), exports.WASI_RIGHT_PATH_CREATE_FILE = BigInt(1024), exports.WASI_RIGHT_PATH_LINK_SOURCE = BigInt(2048), exports.WASI_RIGHT_PATH_LINK_TARGET = BigInt(4096), exports.WASI_RIGHT_PATH_OPEN = BigInt(8192), exports.WASI_RIGHT_FD_READDIR = BigInt(16384), exports.WASI_RIGHT_PATH_READLINK = BigInt(32768), exports.WASI_RIGHT_PATH_RENAME_SOURCE = BigInt(65536), exports.WASI_RIGHT_PATH_RENAME_TARGET = BigInt(131072), exports.WASI_RIGHT_PATH_FILESTAT_GET = BigInt(262144), exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = BigInt(524288), exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = BigInt(1048576), exports.WASI_RIGHT_FD_FILESTAT_GET = BigInt(2097152), exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = BigInt(4194304), exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = BigInt(8388608), exports.WASI_RIGHT_PATH_SYMLINK = BigInt(16777216), exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = BigInt(33554432), exports.WASI_RIGHT_PATH_UNLINK_FILE = BigInt(67108864), exports.WASI_RIGHT_POLL_FD_READWRITE = BigInt(134217728), exports.WASI_RIGHT_SOCK_SHUTDOWN = BigInt(268435456), exports.RIGHTS_ALL = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_REGULAR_FILE_BASE = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_REGULAR_FILE_INHERITING = BigInt(0), exports.RIGHTS_DIRECTORY_BASE = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE | exports.RIGHTS_REGULAR_FILE_BASE, exports.RIGHTS_SOCKET_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_TTY_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_TTY_INHERITING = BigInt(0), exports.WASI_CLOCK_REALTIME = 0, exports.WASI_CLOCK_MONOTONIC = 1, exports.WASI_CLOCK_PROCESS_CPUTIME_ID = 2, exports.WASI_CLOCK_THREAD_CPUTIME_ID = 3, exports.WASI_EVENTTYPE_CLOCK = 0, exports.WASI_EVENTTYPE_FD_READ = 1, exports.WASI_EVENTTYPE_FD_WRITE = 2, exports.WASI_FILESTAT_SET_ATIM = 1 << 0, exports.WASI_FILESTAT_SET_ATIM_NOW = 1 << 1, exports.WASI_FILESTAT_SET_MTIM = 1 << 2, exports.WASI_FILESTAT_SET_MTIM_NOW = 1 << 3, exports.WASI_O_CREAT = 1 << 0, exports.WASI_O_DIRECTORY = 1 << 1, exports.WASI_O_EXCL = 1 << 2, exports.WASI_O_TRUNC = 1 << 3, exports.WASI_PREOPENTYPE_DIR = 0, exports.WASI_DIRCOOKIE_START = 0, exports.WASI_STDIN_FILENO = 0, exports.WASI_STDOUT_FILENO = 1, exports.WASI_STDERR_FILENO = 2, exports.WASI_WHENCE_SET = 0, exports.WASI_WHENCE_CUR = 1, exports.WASI_WHENCE_END = 2, exports.ERROR_MAP = {\n E2BIG: exports.WASI_E2BIG,\n EACCES: exports.WASI_EACCES,\n EADDRINUSE: exports.WASI_EADDRINUSE,\n EADDRNOTAVAIL: exports.WASI_EADDRNOTAVAIL,\n EAFNOSUPPORT: exports.WASI_EAFNOSUPPORT,\n EALREADY: exports.WASI_EALREADY,\n EAGAIN: exports.WASI_EAGAIN,\n EBADF: exports.WASI_EBADF,\n EBADMSG: exports.WASI_EBADMSG,\n EBUSY: exports.WASI_EBUSY,\n ECANCELED: exports.WASI_ECANCELED,\n ECHILD: exports.WASI_ECHILD,\n ECONNABORTED: exports.WASI_ECONNABORTED,\n ECONNREFUSED: exports.WASI_ECONNREFUSED,\n ECONNRESET: exports.WASI_ECONNRESET,\n EDEADLOCK: exports.WASI_EDEADLK,\n EDESTADDRREQ: exports.WASI_EDESTADDRREQ,\n EDOM: exports.WASI_EDOM,\n EDQUOT: exports.WASI_EDQUOT,\n EEXIST: exports.WASI_EEXIST,\n EFAULT: exports.WASI_EFAULT,\n EFBIG: exports.WASI_EFBIG,\n EHOSTDOWN: exports.WASI_EHOSTUNREACH,\n EHOSTUNREACH: exports.WASI_EHOSTUNREACH,\n EIDRM: exports.WASI_EIDRM,\n EILSEQ: exports.WASI_EILSEQ,\n EINPROGRESS: exports.WASI_EINPROGRESS,\n EINTR: exports.WASI_EINTR,\n EINVAL: exports.WASI_EINVAL,\n EIO: exports.WASI_EIO,\n EISCONN: exports.WASI_EISCONN,\n EISDIR: exports.WASI_EISDIR,\n ELOOP: exports.WASI_ELOOP,\n EMFILE: exports.WASI_EMFILE,\n EMLINK: exports.WASI_EMLINK,\n EMSGSIZE: exports.WASI_EMSGSIZE,\n EMULTIHOP: exports.WASI_EMULTIHOP,\n ENAMETOOLONG: exports.WASI_ENAMETOOLONG,\n ENETDOWN: exports.WASI_ENETDOWN,\n ENETRESET: exports.WASI_ENETRESET,\n ENETUNREACH: exports.WASI_ENETUNREACH,\n ENFILE: exports.WASI_ENFILE,\n ENOBUFS: exports.WASI_ENOBUFS,\n ENODEV: exports.WASI_ENODEV,\n ENOENT: exports.WASI_ENOENT,\n ENOEXEC: exports.WASI_ENOEXEC,\n ENOLCK: exports.WASI_ENOLCK,\n ENOLINK: exports.WASI_ENOLINK,\n ENOMEM: exports.WASI_ENOMEM,\n ENOMSG: exports.WASI_ENOMSG,\n ENOPROTOOPT: exports.WASI_ENOPROTOOPT,\n ENOSPC: exports.WASI_ENOSPC,\n ENOSYS: exports.WASI_ENOSYS,\n ENOTCONN: exports.WASI_ENOTCONN,\n ENOTDIR: exports.WASI_ENOTDIR,\n ENOTEMPTY: exports.WASI_ENOTEMPTY,\n ENOTRECOVERABLE: exports.WASI_ENOTRECOVERABLE,\n ENOTSOCK: exports.WASI_ENOTSOCK,\n ENOTTY: exports.WASI_ENOTTY,\n ENXIO: exports.WASI_ENXIO,\n EOVERFLOW: exports.WASI_EOVERFLOW,\n EOWNERDEAD: exports.WASI_EOWNERDEAD,\n EPERM: exports.WASI_EPERM,\n EPIPE: exports.WASI_EPIPE,\n EPROTO: exports.WASI_EPROTO,\n EPROTONOSUPPORT: exports.WASI_EPROTONOSUPPORT,\n EPROTOTYPE: exports.WASI_EPROTOTYPE,\n ERANGE: exports.WASI_ERANGE,\n EROFS: exports.WASI_EROFS,\n ESPIPE: exports.WASI_ESPIPE,\n ESRCH: exports.WASI_ESRCH,\n ESTALE: exports.WASI_ESTALE,\n ETIMEDOUT: exports.WASI_ETIMEDOUT,\n ETXTBSY: exports.WASI_ETXTBSY,\n EXDEV: exports.WASI_EXDEV\n }, exports.SIGNAL_MAP = {\n [exports.WASI_SIGHUP]: \"SIGHUP\",\n [exports.WASI_SIGINT]: \"SIGINT\",\n [exports.WASI_SIGQUIT]: \"SIGQUIT\",\n [exports.WASI_SIGILL]: \"SIGILL\",\n [exports.WASI_SIGTRAP]: \"SIGTRAP\",\n [exports.WASI_SIGABRT]: \"SIGABRT\",\n [exports.WASI_SIGBUS]: \"SIGBUS\",\n [exports.WASI_SIGFPE]: \"SIGFPE\",\n [exports.WASI_SIGKILL]: \"SIGKILL\",\n [exports.WASI_SIGUSR1]: \"SIGUSR1\",\n [exports.WASI_SIGSEGV]: \"SIGSEGV\",\n [exports.WASI_SIGUSR2]: \"SIGUSR2\",\n [exports.WASI_SIGPIPE]: \"SIGPIPE\",\n [exports.WASI_SIGALRM]: \"SIGALRM\",\n [exports.WASI_SIGTERM]: \"SIGTERM\",\n [exports.WASI_SIGCHLD]: \"SIGCHLD\",\n [exports.WASI_SIGCONT]: \"SIGCONT\",\n [exports.WASI_SIGSTOP]: \"SIGSTOP\",\n [exports.WASI_SIGTSTP]: \"SIGTSTP\",\n [exports.WASI_SIGTTIN]: \"SIGTTIN\",\n [exports.WASI_SIGTTOU]: \"SIGTTOU\",\n [exports.WASI_SIGURG]: \"SIGURG\",\n [exports.WASI_SIGXCPU]: \"SIGXCPU\",\n [exports.WASI_SIGXFSZ]: \"SIGXFSZ\",\n [exports.WASI_SIGVTALRM]: \"SIGVTALRM\"\n };\n }\n}), require_wasi = __commonJS({\n \"node_modules/wasi-js/dist/wasi.js\"(exports) {\n var __importDefault = exports && exports.__importDefault || function(mod) {\n return mod && mod.__esModule \? mod : { default: mod };\n };\n let fs;\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.SOCKET_DEFAULT_RIGHTS = void 0;\n var log = () => {\n }, logOpen = () => {\n }, SC_OPEN_MAX = 32768, types_1 = require_types(), constants_1 = require_constants(), STDIN_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDOUT_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDERR_DEFAULT_RIGHTS = STDOUT_DEFAULT_RIGHTS;\n exports.SOCKET_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE | constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;\n var msToNs = (ms) => {\n const msInt = Math.trunc(ms), decimal = BigInt(Math.round((ms - msInt) * 1e6));\n return BigInt(msInt) * BigInt(1e6) + decimal;\n }, nsToMs = (ns) => {\n if (typeof ns === \"number\")\n ns = Math.trunc(ns);\n const nsInt = BigInt(ns);\n return Number(nsInt / BigInt(1e6));\n }, wrap = (f) => (...args) => {\n try {\n return f(...args);\n } catch (err) {\n let e = err;\n while (e.prev != null)\n e = e.prev;\n if (e\?.code && typeof e\?.code === \"string\")\n return constants_1.ERROR_MAP[e.code] || constants_1.WASI_EINVAL;\n if (e instanceof types_1.WASIError)\n return e.errno;\n throw e;\n }\n }, stat = (wasi, fd) => {\n const entry = wasi.FD_MAP.get(fd);\n if (!entry)\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n if (entry.filetype === void 0) {\n const stats = wasi.fstatSync(entry.real), { filetype, rightsBase, rightsInheriting } = translateFileAttributes(wasi, fd, stats);\n if (entry.filetype = filetype, !entry.rights)\n entry.rights = {\n base: rightsBase,\n inheriting: rightsInheriting\n };\n }\n return entry;\n }, translateFileAttributes = (wasi, fd, stats) => {\n switch (!0) {\n case stats.isBlockDevice():\n return {\n filetype: constants_1.WASI_FILETYPE_BLOCK_DEVICE,\n rightsBase: constants_1.RIGHTS_BLOCK_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_BLOCK_DEVICE_INHERITING\n };\n case stats.isCharacterDevice(): {\n const filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n if (fd !== void 0 && wasi.bindings.isTTY(fd))\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_TTY_BASE,\n rightsInheriting: constants_1.RIGHTS_TTY_INHERITING\n };\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_CHARACTER_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING\n };\n }\n case stats.isDirectory():\n return {\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rightsBase: constants_1.RIGHTS_DIRECTORY_BASE,\n rightsInheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n };\n case stats.isFIFO():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isFile():\n return {\n filetype: constants_1.WASI_FILETYPE_REGULAR_FILE,\n rightsBase: constants_1.RIGHTS_REGULAR_FILE_BASE,\n rightsInheriting: constants_1.RIGHTS_REGULAR_FILE_INHERITING\n };\n case stats.isSocket():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isSymbolicLink():\n return {\n filetype: constants_1.WASI_FILETYPE_SYMBOLIC_LINK,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n default:\n return {\n filetype: constants_1.WASI_FILETYPE_UNKNOWN,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n }\n }, warnedAboutSleep = !1, defaultConfig;\n function getDefaults() {\n if (defaultConfig)\n return defaultConfig;\n const defaultBindings = {\n hrtime: () => process.hrtime.bigint(),\n exit: (code) => {\n process.exit(code);\n },\n kill: (signal) => {\n process.kill(process.pid, signal);\n },\n randomFillSync: (array) => crypto.getRandomValues(array),\n isTTY: (fd) => (@getInternalField(@internalModuleRegistry, 46) || @createInternalModuleById(46)).isatty(fd),\n fs: Bun.fs(),\n path: @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)\n };\n return defaultConfig = {\n args: [],\n env: {},\n preopens: {},\n bindings: defaultBindings,\n sleep: (ms) => {\n Bun.sleepSync(ms);\n }\n };\n }\n var WASI = class WASI2 {\n constructor(wasiConfig = {}) {\n const defaultConfig2 = getDefaults();\n this.lastStdin = 0, this.sleep = wasiConfig.sleep || defaultConfig2.sleep, this.getStdin = wasiConfig.getStdin, this.sendStdout = wasiConfig.sendStdout, this.sendStderr = wasiConfig.sendStderr;\n let preopens = wasiConfig.preopens \?\? defaultConfig2.preopens;\n this.env = wasiConfig.env \?\? defaultConfig2.env;\n const args = wasiConfig.args \?\? defaultConfig2.args;\n this.memory = void 0, this.view = void 0, this.bindings = wasiConfig.bindings || defaultConfig2.bindings;\n const bindings2 = this.bindings;\n fs = bindings2.fs, this.FD_MAP = new Map([\n [\n constants_1.WASI_STDIN_FILENO,\n {\n real: 0,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdin\"\n }\n ],\n [\n constants_1.WASI_STDOUT_FILENO,\n {\n real: 1,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDOUT_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdout\"\n }\n ],\n [\n constants_1.WASI_STDERR_FILENO,\n {\n real: 2,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDERR_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stderr\"\n }\n ]\n ]);\n const path = bindings2.path;\n for (let [k, v] of Object.entries(preopens)) {\n const real = fs.openSync(v, nodeFsConstants.O_RDONLY), newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real,\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rights: {\n base: constants_1.RIGHTS_DIRECTORY_BASE,\n inheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n },\n fakePath: k,\n path: v\n });\n }\n const getiovs = (iovs, iovsLen) => {\n this.refreshMemory();\n const { view, memory } = this, { buffer } = memory, { byteLength } = buffer;\n if (iovsLen === 1) {\n const ptr = iovs, buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n return [new @Uint8Array(buffer, buf, bufLen)];\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n const buffers = [];\n buffers.length = iovsLen;\n for (let i = 0, ptr = iovs;i < iovsLen; i++, ptr += 8) {\n const buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n buffers[i] = new @Uint8Array(buffer, buf, bufLen);\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n return buffers;\n }, CHECK_FD = (fd, rights) => {\n const stats = stat(this, fd);\n if (rights !== BigInt(0) && (stats.rights.base & rights) === BigInt(0))\n throw new types_1.WASIError(constants_1.WASI_EPERM);\n return stats;\n }, CPUTIME_START = Bun.nanoseconds(), timeOrigin = Math.trunc(performance.timeOrigin * 1e6), now = (clockId) => {\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n return Bun.nanoseconds();\n case constants_1.WASI_CLOCK_REALTIME:\n return Bun.nanoseconds() + timeOrigin;\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:\n return Bun.nanoseconds() - CPUTIME_START;\n default:\n return null;\n }\n };\n if (this.wasiImport = {\n args_get: (argv, argvBuf) => {\n this.refreshMemory();\n let coffset = argv, offset = argvBuf;\n return args.forEach((a) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${a}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n args_sizes_get: (argc, argvBufSize) => {\n this.refreshMemory(), this.view.setUint32(argc, args.length, !0);\n const size = args.reduce((acc, a) => acc + @Buffer.byteLength(a) + 1, 0);\n return this.view.setUint32(argvBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n environ_get: (environ, environBuf) => {\n this.refreshMemory();\n let coffset = environ, offset = environBuf;\n return Object.entries(this.env).forEach(([key, value]) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n environ_sizes_get: (environCount, environBufSize) => {\n this.refreshMemory();\n const envProcessed = Object.entries(this.env).map(([key, value]) => `${key}=${value}\\0`), size = envProcessed.reduce((acc, e) => acc + @Buffer.byteLength(e), 0);\n return this.view.setUint32(environCount, envProcessed.length, !0), this.view.setUint32(environBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n clock_res_get: (clockId, resolution) => {\n let res;\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID: {\n res = BigInt(1);\n break;\n }\n case constants_1.WASI_CLOCK_REALTIME: {\n res = BigInt(1000);\n break;\n }\n }\n if (!res)\n throw Error(\"invalid clockId\");\n return this.view.setBigUint64(resolution, res), constants_1.WASI_ESUCCESS;\n },\n clock_time_get: (clockId, _precision, time) => {\n this.refreshMemory();\n const n = now(clockId);\n if (n === null)\n return constants_1.WASI_EINVAL;\n return this.view.setBigUint64(time, BigInt(n), !0), constants_1.WASI_ESUCCESS;\n },\n fd_advise: wrap((fd, _offset, _len, _advice) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ADVISE), constants_1.WASI_ENOSYS;\n }),\n fd_allocate: wrap((fd, _offset, _len) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ALLOCATE), constants_1.WASI_ENOSYS;\n }),\n fd_close: wrap((fd) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return fs.closeSync(stats.real), this.FD_MAP.delete(fd), constants_1.WASI_ESUCCESS;\n }),\n fd_datasync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_DATASYNC);\n return fs.fdatasyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if (this.refreshMemory(), stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), this.view.setUint16(bufPtr + 2, 0, !0), this.view.setUint16(bufPtr + 4, 0, !0), this.view.setBigUint64(bufPtr + 8, BigInt(stats.rights.base), !0), this.view.setBigUint64(bufPtr + 8 + 8, BigInt(stats.rights.inheriting), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_set_flags: wrap((fd, flags) => {\n if (CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS), this.wasiImport.sock_fcntlSetFlags(fd, flags) == 0)\n return constants_1.WASI_ESUCCESS;\n return constants_1.WASI_ENOSYS;\n }),\n fd_fdstat_set_rights: wrap((fd, fsRightsBase, fsRightsInheriting) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if ((stats.rights.base | fsRightsBase) > stats.rights.base)\n return constants_1.WASI_EPERM;\n if ((stats.rights.inheriting | fsRightsInheriting) > stats.rights.inheriting)\n return constants_1.WASI_EPERM;\n return stats.rights.base = fsRightsBase, stats.rights.inheriting = fsRightsInheriting, constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_GET), rstats = this.fstatSync(stats.real);\n if (this.refreshMemory(), this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.atimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.mtimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.ctimeMs), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_size: wrap((fd, stSize) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);\n return fs.ftruncateSync(stats.real, Number(stSize)), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_times: wrap((fd, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES), rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n return fs.futimesSync(stats.real, new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), this.view.setUint8(bufPtr, constants_1.WASI_PREOPENTYPE_DIR), this.view.setUint32(bufPtr + 4, @Buffer.byteLength(stats.fakePath \?\? stats.path \?\? \"\"), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_dir_name: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), @Buffer.from(this.memory.buffer).write(stats.fakePath \?\? stats.path \?\? \"\", pathPtr, pathLen, \"utf8\"), constants_1.WASI_ESUCCESS;\n }),\n fd_pwrite: wrap((fd, iovs, iovsLen, offset, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SEEK);\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n let w = 0;\n while (w < iov.byteLength)\n w += fs.writeSync(stats.real, iov, w, iov.byteLength - w, Number(offset) + written + w);\n written += w;\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_write: wrap((fd, iovs, iovsLen, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE), IS_STDOUT = fd == constants_1.WASI_STDOUT_FILENO, IS_STDERR = fd == constants_1.WASI_STDERR_FILENO;\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n if (iov.byteLength == 0)\n return;\n if (IS_STDOUT && this.sendStdout != null)\n this.sendStdout(iov), written += iov.byteLength;\n else if (IS_STDERR && this.sendStderr != null)\n this.sendStderr(iov), written += iov.byteLength;\n else {\n let w = 0;\n while (w < iov.byteLength) {\n const i = fs.writeSync(stats.real, iov, w, iov.byteLength - w, stats.offset \? Number(stats.offset) : null);\n if (stats.offset)\n stats.offset += BigInt(i);\n w += i;\n }\n written += w;\n }\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_pread: wrap((fd, iovs, iovsLen, offset, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SEEK);\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n const length = iov.byteLength - r, rr = fs.readSync(stats.real, iov, r, iov.byteLength - r, Number(offset) + read + r);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n read += r;\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_read: wrap((fd, iovs, iovsLen, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ), IS_STDIN = fd == constants_1.WASI_STDIN_FILENO;\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n let length = iov.byteLength - r, position = IS_STDIN || stats.offset === void 0 \? null : Number(stats.offset), rr = 0;\n if (IS_STDIN)\n if (this.getStdin != null) {\n if (this.stdinBuffer == null)\n this.stdinBuffer = this.getStdin();\n if (this.stdinBuffer != null) {\n if (rr = this.stdinBuffer.copy(iov), rr == this.stdinBuffer.length)\n this.stdinBuffer = void 0;\n else\n this.stdinBuffer = this.stdinBuffer.slice(rr);\n if (rr > 0)\n this.lastStdin = (new Date()).valueOf();\n }\n } else {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");\n try {\n rr = fs.readSync(stats.real, iov, r, length, position);\n } catch (_err) {\n }\n if (rr == 0)\n this.shortPause();\n else\n this.lastStdin = (new Date()).valueOf();\n }\n else\n rr = fs.readSync(stats.real, iov, r, length, position);\n if (stats.filetype == constants_1.WASI_FILETYPE_REGULAR_FILE)\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(rr);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_readdir: wrap((fd, bufPtr, bufLen, cookie, bufusedPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READDIR);\n this.refreshMemory();\n const entries = fs.readdirSync(stats.path, { withFileTypes: !0 }), startPtr = bufPtr;\n for (let i = Number(cookie);i < entries.length; i += 1) {\n const entry = entries[i];\n let nameLength = @Buffer.byteLength(entry.name);\n if (bufPtr - startPtr > bufLen)\n break;\n if (this.view.setBigUint64(bufPtr, BigInt(i + 1), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n const rstats = fs.lstatSync(path.resolve(stats.path, entry.name));\n if (this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n if (this.view.setUint32(bufPtr, nameLength, !0), bufPtr += 4, bufPtr - startPtr > bufLen)\n break;\n let filetype;\n switch (!0) {\n case rstats.isBlockDevice():\n filetype = constants_1.WASI_FILETYPE_BLOCK_DEVICE;\n break;\n case rstats.isCharacterDevice():\n filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n break;\n case rstats.isDirectory():\n filetype = constants_1.WASI_FILETYPE_DIRECTORY;\n break;\n case rstats.isFIFO():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isFile():\n filetype = constants_1.WASI_FILETYPE_REGULAR_FILE;\n break;\n case rstats.isSocket():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isSymbolicLink():\n filetype = constants_1.WASI_FILETYPE_SYMBOLIC_LINK;\n break;\n default:\n filetype = constants_1.WASI_FILETYPE_UNKNOWN;\n break;\n }\n if (this.view.setUint8(bufPtr, filetype), bufPtr += 1, bufPtr += 3, bufPtr + nameLength >= startPtr + bufLen)\n break;\n @Buffer.from(this.memory.buffer).write(entry.name, bufPtr), bufPtr += nameLength;\n }\n const bufused = bufPtr - startPtr;\n return this.view.setUint32(bufusedPtr, Math.min(bufused, bufLen), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_renumber: wrap((from, to) => {\n return CHECK_FD(from, BigInt(0)), CHECK_FD(to, BigInt(0)), fs.closeSync(this.FD_MAP.get(from).real), this.FD_MAP.set(from, this.FD_MAP.get(to)), this.FD_MAP.delete(to), constants_1.WASI_ESUCCESS;\n }),\n fd_seek: wrap((fd, offset, whence, newOffsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SEEK);\n switch (this.refreshMemory(), whence) {\n case constants_1.WASI_WHENCE_CUR:\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_END:\n const { size } = this.fstatSync(stats.real);\n stats.offset = BigInt(size) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_SET:\n stats.offset = BigInt(offset);\n break;\n }\n if (stats.offset == null)\n throw Error(\"stats.offset must be defined\");\n return this.view.setBigUint64(newOffsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_tell: wrap((fd, offsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_TELL);\n if (this.refreshMemory(), !stats.offset)\n stats.offset = BigInt(0);\n return this.view.setBigUint64(offsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_sync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SYNC);\n return fs.fsyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n path_create_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.mkdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_get: wrap((fd, flags, pathPtr, pathLen, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_GET);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n let rstats;\n if (flags)\n rstats = fs.statSync(path.resolve(stats.path, p));\n else\n rstats = fs.lstatSync(path.resolve(stats.path, p));\n return this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, this.view.setUint8(bufPtr, translateFileAttributes(this, void 0, rstats).filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.atime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.mtime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ctime.getTime() * 1e6), !0), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_set_times: wrap((fd, _dirflags, pathPtr, pathLen, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.utimesSync(path.resolve(stats.path, p), new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n path_link: wrap((oldFd, _oldFlags, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_LINK_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_LINK_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.linkSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_open: wrap((dirfd, _dirflags, pathPtr, pathLen, oflags, fsRightsBase, fsRightsInheriting, fsFlags, fdPtr) => {\n try {\n const stats = CHECK_FD(dirfd, constants_1.WASI_RIGHT_PATH_OPEN);\n fsRightsBase = BigInt(fsRightsBase), fsRightsInheriting = BigInt(fsRightsInheriting);\n const read = (fsRightsBase & (constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_READDIR)) !== BigInt(0), write = (fsRightsBase & (constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ALLOCATE | constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE)) !== BigInt(0);\n let noflags;\n if (write && read)\n noflags = nodeFsConstants.O_RDWR;\n else if (read)\n noflags = nodeFsConstants.O_RDONLY;\n else if (write)\n noflags = nodeFsConstants.O_WRONLY;\n let neededBase = fsRightsBase | constants_1.WASI_RIGHT_PATH_OPEN, neededInheriting = fsRightsBase | fsRightsInheriting;\n if ((oflags & constants_1.WASI_O_CREAT) !== 0)\n noflags |= nodeFsConstants.O_CREAT, neededBase |= constants_1.WASI_RIGHT_PATH_CREATE_FILE;\n if ((oflags & constants_1.WASI_O_DIRECTORY) !== 0)\n noflags |= nodeFsConstants.O_DIRECTORY;\n if ((oflags & constants_1.WASI_O_EXCL) !== 0)\n noflags |= nodeFsConstants.O_EXCL;\n if ((oflags & constants_1.WASI_O_TRUNC) !== 0)\n noflags |= nodeFsConstants.O_TRUNC, neededBase |= constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;\n if ((fsFlags & constants_1.WASI_FDFLAG_APPEND) !== 0)\n noflags |= nodeFsConstants.O_APPEND;\n if ((fsFlags & constants_1.WASI_FDFLAG_DSYNC) !== 0) {\n if (nodeFsConstants.O_DSYNC)\n noflags |= nodeFsConstants.O_DSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_DATASYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_NONBLOCK) !== 0)\n noflags |= nodeFsConstants.O_NONBLOCK;\n if ((fsFlags & constants_1.WASI_FDFLAG_RSYNC) !== 0) {\n if (nodeFsConstants.O_RSYNC)\n noflags |= nodeFsConstants.O_RSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_SYNC) !== 0)\n noflags |= nodeFsConstants.O_SYNC, neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n if (write && (noflags & (nodeFsConstants.O_APPEND | nodeFsConstants.O_TRUNC)) === 0)\n neededInheriting |= constants_1.WASI_RIGHT_FD_SEEK;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n if (p == \"dev/tty\")\n return this.view.setUint32(fdPtr, constants_1.WASI_STDIN_FILENO, !0), constants_1.WASI_ESUCCESS;\n if (logOpen(\"path_open\", p), p.startsWith(\"proc/\"))\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n const fullUnresolved = path.resolve(p);\n let full;\n try {\n full = fs.realpathSync(fullUnresolved);\n } catch (e) {\n if (e\?.code === \"ENOENT\")\n full = fullUnresolved;\n else\n throw e;\n }\n let isDirectory;\n if (write)\n try {\n isDirectory = fs.statSync(full).isDirectory();\n } catch (_err) {\n }\n let realfd;\n if (!write && isDirectory)\n realfd = fs.openSync(full, nodeFsConstants.O_RDONLY);\n else\n realfd = fs.openSync(full, noflags);\n const newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real: realfd,\n filetype: void 0,\n rights: {\n base: neededBase,\n inheriting: neededInheriting\n },\n path: full\n }), stat(this, newfd), this.view.setUint32(fdPtr, newfd, !0);\n } catch (e) {\n console.error(e);\n }\n return constants_1.WASI_ESUCCESS;\n }),\n path_readlink: wrap((fd, pathPtr, pathLen, buf, bufLen, bufused) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_READLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(), full = path.resolve(stats.path, p), r = fs.readlinkSync(full), used = @Buffer.from(this.memory.buffer).write(r, buf, bufLen);\n return this.view.setUint32(bufused, used, !0), constants_1.WASI_ESUCCESS;\n }),\n path_remove_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.rmdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_rename: wrap((oldFd, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_RENAME_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_RENAME_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.renameSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_symlink: wrap((oldPath, oldPathLen, fd, newPath, newPathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_SYMLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.symlinkSync(op, path.resolve(stats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_unlink_file: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_UNLINK_FILE);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.unlinkSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n poll_oneoff: (sin, sout, nsubscriptions, neventsPtr) => {\n let nevents = 0, name = \"\", waitTimeNs = BigInt(0), fd = -1, fd_type = \"read\", fd_timeout_ms = 0;\n const startNs = BigInt(bindings2.hrtime());\n this.refreshMemory();\n let last_sin = sin;\n for (let i = 0;i < nsubscriptions; i += 1) {\n const userdata = this.view.getBigUint64(sin, !0);\n sin += 8;\n const type = this.view.getUint8(sin);\n if (sin += 1, sin += 7, log.enabled) {\n if (type == constants_1.WASI_EVENTTYPE_CLOCK)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_CLOCK): \";\n else if (type == constants_1.WASI_EVENTTYPE_FD_READ)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_READ): \";\n else\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): \";\n log(name);\n }\n switch (type) {\n case constants_1.WASI_EVENTTYPE_CLOCK: {\n const clockid = this.view.getUint32(sin, !0);\n sin += 4, sin += 4;\n const timeout = this.view.getBigUint64(sin, !0);\n sin += 8, sin += 8;\n const subclockflags = this.view.getUint16(sin, !0);\n sin += 2, sin += 6;\n const absolute = subclockflags === 1;\n if (log.enabled)\n log(name, { clockid, timeout, absolute });\n if (!absolute)\n fd_timeout_ms = timeout / BigInt(1e6);\n let e = constants_1.WASI_ESUCCESS;\n const t = now(clockid);\n if (t == null)\n e = constants_1.WASI_EINVAL;\n else {\n const tNS = BigInt(t), waitNs = (absolute \? timeout : tNS + timeout) - tNS;\n if (waitNs > waitTimeNs)\n waitTimeNs = waitNs;\n }\n this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, e, !0), sout += 2, this.view.setUint8(sout, constants_1.WASI_EVENTTYPE_CLOCK), sout += 1, sout += 5, nevents += 1;\n break;\n }\n case constants_1.WASI_EVENTTYPE_FD_READ:\n case constants_1.WASI_EVENTTYPE_FD_WRITE: {\n if (fd = this.view.getUint32(sin, !0), fd_type = type == constants_1.WASI_EVENTTYPE_FD_READ \? \"read\" : \"write\", sin += 4, log(name, \"fd =\", fd), sin += 28, this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, constants_1.WASI_ENOSYS, !0), sout += 2, this.view.setUint8(sout, type), sout += 1, sout += 5, nevents += 1, fd == constants_1.WASI_STDIN_FILENO && constants_1.WASI_EVENTTYPE_FD_READ == type)\n this.shortPause();\n break;\n }\n default:\n return constants_1.WASI_EINVAL;\n }\n if (sin - last_sin != 48)\n console.warn(\"*** BUG in wasi-js in poll_oneoff \", {\n i,\n sin,\n last_sin,\n diff: sin - last_sin\n });\n last_sin = sin;\n }\n if (this.view.setUint32(neventsPtr, nevents, !0), nevents == 2 && fd >= 0) {\n const r = this.wasiImport.sock_pollSocket(fd, fd_type, fd_timeout_ms);\n if (r != constants_1.WASI_ENOSYS)\n return r;\n }\n if (waitTimeNs > 0) {\n if (waitTimeNs -= Bun.nanoseconds() - timeOrigin, waitTimeNs >= 1e6) {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");\n if (this.sleep != null) {\n const ms = nsToMs(waitTimeNs);\n this.sleep(ms);\n } else {\n const end = BigInt(bindings2.hrtime()) + waitTimeNs;\n while (BigInt(bindings2.hrtime()) < end)\n ;\n }\n }\n }\n return constants_1.WASI_ESUCCESS;\n },\n proc_exit: (rval) => {\n return bindings2.exit(rval), constants_1.WASI_ESUCCESS;\n },\n proc_raise: (sig) => {\n if (!(sig in constants_1.SIGNAL_MAP))\n return constants_1.WASI_EINVAL;\n return bindings2.kill(constants_1.SIGNAL_MAP[sig]), constants_1.WASI_ESUCCESS;\n },\n random_get: (bufPtr, bufLen) => {\n return this.refreshMemory(), crypto.getRandomValues(this.memory.buffer, bufPtr, bufLen), bufLen;\n },\n sched_yield() {\n return constants_1.WASI_ESUCCESS;\n },\n sock_recv() {\n return constants_1.WASI_ENOSYS;\n },\n sock_send() {\n return constants_1.WASI_ENOSYS;\n },\n sock_shutdown() {\n return constants_1.WASI_ENOSYS;\n },\n sock_fcntlSetFlags(_fd, _flags) {\n return constants_1.WASI_ENOSYS;\n },\n sock_pollSocket(_fd, _eventtype, _timeout_ms) {\n return constants_1.WASI_ENOSYS;\n }\n }, log.enabled)\n Object.keys(this.wasiImport).forEach((key) => {\n const prevImport = this.wasiImport[key];\n this.wasiImport[key] = function(...args2) {\n log(key, args2);\n try {\n let result = prevImport(...args2);\n return log(\"result\", result), result;\n } catch (e) {\n throw log(\"error: \", e), e;\n }\n };\n });\n }\n getState() {\n return { env: this.env, FD_MAP: this.FD_MAP, bindings };\n }\n setState(state) {\n this.env = state.env, this.FD_MAP = state.FD_MAP, bindings = state.bindings;\n }\n fstatSync(real_fd) {\n if (real_fd <= 2)\n try {\n return fs.fstatSync(real_fd);\n } catch (_) {\n const now = new Date;\n return {\n dev: 0,\n mode: 8592,\n nlink: 1,\n uid: 0,\n gid: 0,\n rdev: 0,\n blksize: 65536,\n ino: 0,\n size: 0,\n blocks: 0,\n atimeMs: now.valueOf(),\n mtimeMs: now.valueOf(),\n ctimeMs: now.valueOf(),\n birthtimeMs: 0,\n atime: new Date,\n mtime: new Date,\n ctime: new Date,\n birthtime: new Date(0)\n };\n }\n return fs.fstatSync(real_fd);\n }\n shortPause() {\n if (this.sleep == null)\n return;\n if ((new Date()).valueOf() - this.lastStdin > 2000)\n this.sleep(50);\n }\n getUnusedFileDescriptor(start = 3) {\n let fd = start;\n while (this.FD_MAP.has(fd))\n fd += 1;\n if (fd > SC_OPEN_MAX)\n throw Error(\"no available file descriptors\");\n return fd;\n }\n refreshMemory() {\n if (!this.view || this.view.buffer.byteLength === 0)\n this.view = new DataView(this.memory.buffer);\n }\n setMemory(memory) {\n this.memory = memory;\n }\n start(instance, memory) {\n const exports2 = instance.exports;\n if (exports2 === null || typeof exports2 !== \"object\")\n throw new Error(`instance.exports must be an Object. Received ${exports2}.`);\n if (memory == null) {\n if (memory = exports2.memory, !(memory instanceof WebAssembly.Memory))\n throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`);\n }\n if (this.setMemory(memory), exports2._start)\n exports2._start();\n }\n getImports(module2) {\n let namespace = null;\n const imports = WebAssembly.Module.imports(module2);\n for (let imp of imports) {\n if (imp.kind !== \"function\")\n continue;\n if (!imp.module.startsWith(\"wasi_\"))\n continue;\n namespace = imp.module;\n break;\n }\n switch (namespace) {\n case \"wasi_unstable\":\n return {\n wasi_unstable: this.wasiImport\n };\n case \"wasi_snapshot_preview1\":\n return {\n wasi_snapshot_preview1: this.wasiImport\n };\n default:\n throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\" + imports.map(({ name, kind, module }) => `${module}:${name} (${kind})`).join(\"\\n\") + \"\\n\");\n }\n }\n initWasiFdInfo() {\n if (this.env.WASI_FD_INFO != null) {\n const fdInfo = JSON.parse(this.env.WASI_FD_INFO);\n for (let wasi_fd in fdInfo) {\n console.log(wasi_fd);\n const fd = parseInt(wasi_fd);\n if (this.FD_MAP.has(fd))\n continue;\n const real = fdInfo[wasi_fd];\n try {\n this.fstatSync(real);\n } catch (_err) {\n console.log(\"discarding \", { wasi_fd, real });\n continue;\n }\n const file = {\n real,\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n }\n };\n this.FD_MAP.set(fd, file);\n }\n console.log(\"after initWasiFdInfo: \", this.FD_MAP), console.log(\"fdInfo = \", fdInfo);\n } else\n console.log(\"no WASI_FD_INFO\");\n }\n };\n exports.default = WASI;\n }\n});\nreturn { WASI: require_wasi().default }})\n"); +static constexpr ASCIILiteral NodeWasiCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/wasi.ts\nvar nodeFsConstants = @processBindingConstants.fs, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_types = __commonJS({\n \"node_modules/wasi-js/dist/types.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASIKillError = exports.WASIExitError = exports.WASIError = void 0;\n var WASIError = class extends Error {\n constructor(errno) {\n super();\n this.errno = errno, Object.setPrototypeOf(this, WASIError.prototype);\n }\n };\n exports.WASIError = WASIError;\n var WASIExitError = class extends Error {\n constructor(code) {\n super(`WASI Exit error: ${code}`);\n this.code = code, Object.setPrototypeOf(this, WASIExitError.prototype);\n }\n };\n exports.WASIExitError = WASIExitError;\n var WASIKillError = class extends Error {\n constructor(signal) {\n super(`WASI Kill signal: ${signal}`);\n this.signal = signal, Object.setPrototypeOf(this, WASIKillError.prototype);\n }\n };\n exports.WASIKillError = WASIKillError;\n }\n}), require_constants = __commonJS({\n \"node_modules/wasi-js/dist/constants.js\"(exports) {\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.WASI_ENOMSG = exports.WASI_ENOMEM = exports.WASI_ENOLINK = exports.WASI_ENOLCK = exports.WASI_ENOEXEC = exports.WASI_ENOENT = exports.WASI_ENODEV = exports.WASI_ENOBUFS = exports.WASI_ENFILE = exports.WASI_ENETUNREACH = exports.WASI_ENETRESET = exports.WASI_ENETDOWN = exports.WASI_ENAMETOOLONG = exports.WASI_EMULTIHOP = exports.WASI_EMSGSIZE = exports.WASI_EMLINK = exports.WASI_EMFILE = exports.WASI_ELOOP = exports.WASI_EISDIR = exports.WASI_EISCONN = exports.WASI_EIO = exports.WASI_EINVAL = exports.WASI_EINTR = exports.WASI_EINPROGRESS = exports.WASI_EILSEQ = exports.WASI_EIDRM = exports.WASI_EHOSTUNREACH = exports.WASI_EFBIG = exports.WASI_EFAULT = exports.WASI_EEXIST = exports.WASI_EDQUOT = exports.WASI_EDOM = exports.WASI_EDESTADDRREQ = exports.WASI_EDEADLK = exports.WASI_ECONNRESET = exports.WASI_ECONNREFUSED = exports.WASI_ECONNABORTED = exports.WASI_ECHILD = exports.WASI_ECANCELED = exports.WASI_EBUSY = exports.WASI_EBADMSG = exports.WASI_EBADF = exports.WASI_EALREADY = exports.WASI_EAGAIN = exports.WASI_EAFNOSUPPORT = exports.WASI_EADDRNOTAVAIL = exports.WASI_EADDRINUSE = exports.WASI_EACCES = exports.WASI_E2BIG = exports.WASI_ESUCCESS = void 0, exports.WASI_SIGVTALRM = exports.WASI_SIGUSR2 = exports.WASI_SIGUSR1 = exports.WASI_SIGURG = exports.WASI_SIGTTOU = exports.WASI_SIGTTIN = exports.WASI_SIGTSTP = exports.WASI_SIGTRAP = exports.WASI_SIGTERM = exports.WASI_SIGSTOP = exports.WASI_SIGSEGV = exports.WASI_SIGQUIT = exports.WASI_SIGPIPE = exports.WASI_SIGKILL = exports.WASI_SIGINT = exports.WASI_SIGILL = exports.WASI_SIGHUP = exports.WASI_SIGFPE = exports.WASI_SIGCONT = exports.WASI_SIGCHLD = exports.WASI_SIGBUS = exports.WASI_SIGALRM = exports.WASI_SIGABRT = exports.WASI_ENOTCAPABLE = exports.WASI_EXDEV = exports.WASI_ETXTBSY = exports.WASI_ETIMEDOUT = exports.WASI_ESTALE = exports.WASI_ESRCH = exports.WASI_ESPIPE = exports.WASI_EROFS = exports.WASI_ERANGE = exports.WASI_EPROTOTYPE = exports.WASI_EPROTONOSUPPORT = exports.WASI_EPROTO = exports.WASI_EPIPE = exports.WASI_EPERM = exports.WASI_EOWNERDEAD = exports.WASI_EOVERFLOW = exports.WASI_ENXIO = exports.WASI_ENOTTY = exports.WASI_ENOTSUP = exports.WASI_ENOTSOCK = exports.WASI_ENOTRECOVERABLE = exports.WASI_ENOTEMPTY = exports.WASI_ENOTDIR = exports.WASI_ENOTCONN = exports.WASI_ENOSYS = exports.WASI_ENOSPC = exports.WASI_ENOPROTOOPT = void 0, exports.RIGHTS_REGULAR_FILE_BASE = exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL = exports.WASI_RIGHT_SOCK_SHUTDOWN = exports.WASI_RIGHT_POLL_FD_READWRITE = exports.WASI_RIGHT_PATH_UNLINK_FILE = exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = exports.WASI_RIGHT_PATH_SYMLINK = exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = exports.WASI_RIGHT_FD_FILESTAT_GET = exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = exports.WASI_RIGHT_PATH_FILESTAT_GET = exports.WASI_RIGHT_PATH_RENAME_TARGET = exports.WASI_RIGHT_PATH_RENAME_SOURCE = exports.WASI_RIGHT_PATH_READLINK = exports.WASI_RIGHT_FD_READDIR = exports.WASI_RIGHT_PATH_OPEN = exports.WASI_RIGHT_PATH_LINK_TARGET = exports.WASI_RIGHT_PATH_LINK_SOURCE = exports.WASI_RIGHT_PATH_CREATE_FILE = exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = exports.WASI_RIGHT_FD_ALLOCATE = exports.WASI_RIGHT_FD_ADVISE = exports.WASI_RIGHT_FD_WRITE = exports.WASI_RIGHT_FD_TELL = exports.WASI_RIGHT_FD_SYNC = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = exports.WASI_RIGHT_FD_SEEK = exports.WASI_RIGHT_FD_READ = exports.WASI_RIGHT_FD_DATASYNC = exports.WASI_FDFLAG_SYNC = exports.WASI_FDFLAG_RSYNC = exports.WASI_FDFLAG_NONBLOCK = exports.WASI_FDFLAG_DSYNC = exports.WASI_FDFLAG_APPEND = exports.WASI_FILETYPE_SYMBOLIC_LINK = exports.WASI_FILETYPE_SOCKET_STREAM = exports.WASI_FILETYPE_SOCKET_DGRAM = exports.WASI_FILETYPE_REGULAR_FILE = exports.WASI_FILETYPE_DIRECTORY = exports.WASI_FILETYPE_CHARACTER_DEVICE = exports.WASI_FILETYPE_BLOCK_DEVICE = exports.WASI_FILETYPE_UNKNOWN = exports.WASI_SIGXFSZ = exports.WASI_SIGXCPU = void 0, exports.SIGNAL_MAP = exports.ERROR_MAP = exports.WASI_WHENCE_END = exports.WASI_WHENCE_CUR = exports.WASI_WHENCE_SET = exports.WASI_STDERR_FILENO = exports.WASI_STDOUT_FILENO = exports.WASI_STDIN_FILENO = exports.WASI_DIRCOOKIE_START = exports.WASI_PREOPENTYPE_DIR = exports.WASI_O_TRUNC = exports.WASI_O_EXCL = exports.WASI_O_DIRECTORY = exports.WASI_O_CREAT = exports.WASI_FILESTAT_SET_MTIM_NOW = exports.WASI_FILESTAT_SET_MTIM = exports.WASI_FILESTAT_SET_ATIM_NOW = exports.WASI_FILESTAT_SET_ATIM = exports.WASI_EVENTTYPE_FD_WRITE = exports.WASI_EVENTTYPE_FD_READ = exports.WASI_EVENTTYPE_CLOCK = exports.WASI_CLOCK_THREAD_CPUTIME_ID = exports.WASI_CLOCK_PROCESS_CPUTIME_ID = exports.WASI_CLOCK_MONOTONIC = exports.WASI_CLOCK_REALTIME = exports.RIGHTS_TTY_INHERITING = exports.RIGHTS_TTY_BASE = exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_SOCKET_BASE = exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE = exports.RIGHTS_REGULAR_FILE_INHERITING = void 0, exports.WASI_ESUCCESS = 0, exports.WASI_E2BIG = 1, exports.WASI_EACCES = 2, exports.WASI_EADDRINUSE = 3, exports.WASI_EADDRNOTAVAIL = 4, exports.WASI_EAFNOSUPPORT = 5, exports.WASI_EAGAIN = 6, exports.WASI_EALREADY = 7, exports.WASI_EBADF = 8, exports.WASI_EBADMSG = 9, exports.WASI_EBUSY = 10, exports.WASI_ECANCELED = 11, exports.WASI_ECHILD = 12, exports.WASI_ECONNABORTED = 13, exports.WASI_ECONNREFUSED = 14, exports.WASI_ECONNRESET = 15, exports.WASI_EDEADLK = 16, exports.WASI_EDESTADDRREQ = 17, exports.WASI_EDOM = 18, exports.WASI_EDQUOT = 19, exports.WASI_EEXIST = 20, exports.WASI_EFAULT = 21, exports.WASI_EFBIG = 22, exports.WASI_EHOSTUNREACH = 23, exports.WASI_EIDRM = 24, exports.WASI_EILSEQ = 25, exports.WASI_EINPROGRESS = 26, exports.WASI_EINTR = 27, exports.WASI_EINVAL = 28, exports.WASI_EIO = 29, exports.WASI_EISCONN = 30, exports.WASI_EISDIR = 31, exports.WASI_ELOOP = 32, exports.WASI_EMFILE = 33, exports.WASI_EMLINK = 34, exports.WASI_EMSGSIZE = 35, exports.WASI_EMULTIHOP = 36, exports.WASI_ENAMETOOLONG = 37, exports.WASI_ENETDOWN = 38, exports.WASI_ENETRESET = 39, exports.WASI_ENETUNREACH = 40, exports.WASI_ENFILE = 41, exports.WASI_ENOBUFS = 42, exports.WASI_ENODEV = 43, exports.WASI_ENOENT = 44, exports.WASI_ENOEXEC = 45, exports.WASI_ENOLCK = 46, exports.WASI_ENOLINK = 47, exports.WASI_ENOMEM = 48, exports.WASI_ENOMSG = 49, exports.WASI_ENOPROTOOPT = 50, exports.WASI_ENOSPC = 51, exports.WASI_ENOSYS = 52, exports.WASI_ENOTCONN = 53, exports.WASI_ENOTDIR = 54, exports.WASI_ENOTEMPTY = 55, exports.WASI_ENOTRECOVERABLE = 56, exports.WASI_ENOTSOCK = 57, exports.WASI_ENOTSUP = 58, exports.WASI_ENOTTY = 59, exports.WASI_ENXIO = 60, exports.WASI_EOVERFLOW = 61, exports.WASI_EOWNERDEAD = 62, exports.WASI_EPERM = 63, exports.WASI_EPIPE = 64, exports.WASI_EPROTO = 65, exports.WASI_EPROTONOSUPPORT = 66, exports.WASI_EPROTOTYPE = 67, exports.WASI_ERANGE = 68, exports.WASI_EROFS = 69, exports.WASI_ESPIPE = 70, exports.WASI_ESRCH = 71, exports.WASI_ESTALE = 72, exports.WASI_ETIMEDOUT = 73, exports.WASI_ETXTBSY = 74, exports.WASI_EXDEV = 75, exports.WASI_ENOTCAPABLE = 76, exports.WASI_SIGABRT = 0, exports.WASI_SIGALRM = 1, exports.WASI_SIGBUS = 2, exports.WASI_SIGCHLD = 3, exports.WASI_SIGCONT = 4, exports.WASI_SIGFPE = 5, exports.WASI_SIGHUP = 6, exports.WASI_SIGILL = 7, exports.WASI_SIGINT = 8, exports.WASI_SIGKILL = 9, exports.WASI_SIGPIPE = 10, exports.WASI_SIGQUIT = 11, exports.WASI_SIGSEGV = 12, exports.WASI_SIGSTOP = 13, exports.WASI_SIGTERM = 14, exports.WASI_SIGTRAP = 15, exports.WASI_SIGTSTP = 16, exports.WASI_SIGTTIN = 17, exports.WASI_SIGTTOU = 18, exports.WASI_SIGURG = 19, exports.WASI_SIGUSR1 = 20, exports.WASI_SIGUSR2 = 21, exports.WASI_SIGVTALRM = 22, exports.WASI_SIGXCPU = 23, exports.WASI_SIGXFSZ = 24, exports.WASI_FILETYPE_UNKNOWN = 0, exports.WASI_FILETYPE_BLOCK_DEVICE = 1, exports.WASI_FILETYPE_CHARACTER_DEVICE = 2, exports.WASI_FILETYPE_DIRECTORY = 3, exports.WASI_FILETYPE_REGULAR_FILE = 4, exports.WASI_FILETYPE_SOCKET_DGRAM = 5, exports.WASI_FILETYPE_SOCKET_STREAM = 6, exports.WASI_FILETYPE_SYMBOLIC_LINK = 7, exports.WASI_FDFLAG_APPEND = 1, exports.WASI_FDFLAG_DSYNC = 2, exports.WASI_FDFLAG_NONBLOCK = 4, exports.WASI_FDFLAG_RSYNC = 8, exports.WASI_FDFLAG_SYNC = 16, exports.WASI_RIGHT_FD_DATASYNC = BigInt(1), exports.WASI_RIGHT_FD_READ = BigInt(2), exports.WASI_RIGHT_FD_SEEK = BigInt(4), exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = BigInt(8), exports.WASI_RIGHT_FD_SYNC = BigInt(16), exports.WASI_RIGHT_FD_TELL = BigInt(32), exports.WASI_RIGHT_FD_WRITE = BigInt(64), exports.WASI_RIGHT_FD_ADVISE = BigInt(128), exports.WASI_RIGHT_FD_ALLOCATE = BigInt(256), exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = BigInt(512), exports.WASI_RIGHT_PATH_CREATE_FILE = BigInt(1024), exports.WASI_RIGHT_PATH_LINK_SOURCE = BigInt(2048), exports.WASI_RIGHT_PATH_LINK_TARGET = BigInt(4096), exports.WASI_RIGHT_PATH_OPEN = BigInt(8192), exports.WASI_RIGHT_FD_READDIR = BigInt(16384), exports.WASI_RIGHT_PATH_READLINK = BigInt(32768), exports.WASI_RIGHT_PATH_RENAME_SOURCE = BigInt(65536), exports.WASI_RIGHT_PATH_RENAME_TARGET = BigInt(131072), exports.WASI_RIGHT_PATH_FILESTAT_GET = BigInt(262144), exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = BigInt(524288), exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = BigInt(1048576), exports.WASI_RIGHT_FD_FILESTAT_GET = BigInt(2097152), exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = BigInt(4194304), exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = BigInt(8388608), exports.WASI_RIGHT_PATH_SYMLINK = BigInt(16777216), exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = BigInt(33554432), exports.WASI_RIGHT_PATH_UNLINK_FILE = BigInt(67108864), exports.WASI_RIGHT_POLL_FD_READWRITE = BigInt(134217728), exports.WASI_RIGHT_SOCK_SHUTDOWN = BigInt(268435456), exports.RIGHTS_ALL = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_REGULAR_FILE_BASE = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_REGULAR_FILE_INHERITING = BigInt(0), exports.RIGHTS_DIRECTORY_BASE = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE | exports.RIGHTS_REGULAR_FILE_BASE, exports.RIGHTS_SOCKET_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_TTY_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_TTY_INHERITING = BigInt(0), exports.WASI_CLOCK_REALTIME = 0, exports.WASI_CLOCK_MONOTONIC = 1, exports.WASI_CLOCK_PROCESS_CPUTIME_ID = 2, exports.WASI_CLOCK_THREAD_CPUTIME_ID = 3, exports.WASI_EVENTTYPE_CLOCK = 0, exports.WASI_EVENTTYPE_FD_READ = 1, exports.WASI_EVENTTYPE_FD_WRITE = 2, exports.WASI_FILESTAT_SET_ATIM = 1 << 0, exports.WASI_FILESTAT_SET_ATIM_NOW = 1 << 1, exports.WASI_FILESTAT_SET_MTIM = 1 << 2, exports.WASI_FILESTAT_SET_MTIM_NOW = 1 << 3, exports.WASI_O_CREAT = 1 << 0, exports.WASI_O_DIRECTORY = 1 << 1, exports.WASI_O_EXCL = 1 << 2, exports.WASI_O_TRUNC = 1 << 3, exports.WASI_PREOPENTYPE_DIR = 0, exports.WASI_DIRCOOKIE_START = 0, exports.WASI_STDIN_FILENO = 0, exports.WASI_STDOUT_FILENO = 1, exports.WASI_STDERR_FILENO = 2, exports.WASI_WHENCE_SET = 0, exports.WASI_WHENCE_CUR = 1, exports.WASI_WHENCE_END = 2, exports.ERROR_MAP = {\n E2BIG: exports.WASI_E2BIG,\n EACCES: exports.WASI_EACCES,\n EADDRINUSE: exports.WASI_EADDRINUSE,\n EADDRNOTAVAIL: exports.WASI_EADDRNOTAVAIL,\n EAFNOSUPPORT: exports.WASI_EAFNOSUPPORT,\n EALREADY: exports.WASI_EALREADY,\n EAGAIN: exports.WASI_EAGAIN,\n EBADF: exports.WASI_EBADF,\n EBADMSG: exports.WASI_EBADMSG,\n EBUSY: exports.WASI_EBUSY,\n ECANCELED: exports.WASI_ECANCELED,\n ECHILD: exports.WASI_ECHILD,\n ECONNABORTED: exports.WASI_ECONNABORTED,\n ECONNREFUSED: exports.WASI_ECONNREFUSED,\n ECONNRESET: exports.WASI_ECONNRESET,\n EDEADLOCK: exports.WASI_EDEADLK,\n EDESTADDRREQ: exports.WASI_EDESTADDRREQ,\n EDOM: exports.WASI_EDOM,\n EDQUOT: exports.WASI_EDQUOT,\n EEXIST: exports.WASI_EEXIST,\n EFAULT: exports.WASI_EFAULT,\n EFBIG: exports.WASI_EFBIG,\n EHOSTDOWN: exports.WASI_EHOSTUNREACH,\n EHOSTUNREACH: exports.WASI_EHOSTUNREACH,\n EIDRM: exports.WASI_EIDRM,\n EILSEQ: exports.WASI_EILSEQ,\n EINPROGRESS: exports.WASI_EINPROGRESS,\n EINTR: exports.WASI_EINTR,\n EINVAL: exports.WASI_EINVAL,\n EIO: exports.WASI_EIO,\n EISCONN: exports.WASI_EISCONN,\n EISDIR: exports.WASI_EISDIR,\n ELOOP: exports.WASI_ELOOP,\n EMFILE: exports.WASI_EMFILE,\n EMLINK: exports.WASI_EMLINK,\n EMSGSIZE: exports.WASI_EMSGSIZE,\n EMULTIHOP: exports.WASI_EMULTIHOP,\n ENAMETOOLONG: exports.WASI_ENAMETOOLONG,\n ENETDOWN: exports.WASI_ENETDOWN,\n ENETRESET: exports.WASI_ENETRESET,\n ENETUNREACH: exports.WASI_ENETUNREACH,\n ENFILE: exports.WASI_ENFILE,\n ENOBUFS: exports.WASI_ENOBUFS,\n ENODEV: exports.WASI_ENODEV,\n ENOENT: exports.WASI_ENOENT,\n ENOEXEC: exports.WASI_ENOEXEC,\n ENOLCK: exports.WASI_ENOLCK,\n ENOLINK: exports.WASI_ENOLINK,\n ENOMEM: exports.WASI_ENOMEM,\n ENOMSG: exports.WASI_ENOMSG,\n ENOPROTOOPT: exports.WASI_ENOPROTOOPT,\n ENOSPC: exports.WASI_ENOSPC,\n ENOSYS: exports.WASI_ENOSYS,\n ENOTCONN: exports.WASI_ENOTCONN,\n ENOTDIR: exports.WASI_ENOTDIR,\n ENOTEMPTY: exports.WASI_ENOTEMPTY,\n ENOTRECOVERABLE: exports.WASI_ENOTRECOVERABLE,\n ENOTSOCK: exports.WASI_ENOTSOCK,\n ENOTTY: exports.WASI_ENOTTY,\n ENXIO: exports.WASI_ENXIO,\n EOVERFLOW: exports.WASI_EOVERFLOW,\n EOWNERDEAD: exports.WASI_EOWNERDEAD,\n EPERM: exports.WASI_EPERM,\n EPIPE: exports.WASI_EPIPE,\n EPROTO: exports.WASI_EPROTO,\n EPROTONOSUPPORT: exports.WASI_EPROTONOSUPPORT,\n EPROTOTYPE: exports.WASI_EPROTOTYPE,\n ERANGE: exports.WASI_ERANGE,\n EROFS: exports.WASI_EROFS,\n ESPIPE: exports.WASI_ESPIPE,\n ESRCH: exports.WASI_ESRCH,\n ESTALE: exports.WASI_ESTALE,\n ETIMEDOUT: exports.WASI_ETIMEDOUT,\n ETXTBSY: exports.WASI_ETXTBSY,\n EXDEV: exports.WASI_EXDEV\n }, exports.SIGNAL_MAP = {\n [exports.WASI_SIGHUP]: \"SIGHUP\",\n [exports.WASI_SIGINT]: \"SIGINT\",\n [exports.WASI_SIGQUIT]: \"SIGQUIT\",\n [exports.WASI_SIGILL]: \"SIGILL\",\n [exports.WASI_SIGTRAP]: \"SIGTRAP\",\n [exports.WASI_SIGABRT]: \"SIGABRT\",\n [exports.WASI_SIGBUS]: \"SIGBUS\",\n [exports.WASI_SIGFPE]: \"SIGFPE\",\n [exports.WASI_SIGKILL]: \"SIGKILL\",\n [exports.WASI_SIGUSR1]: \"SIGUSR1\",\n [exports.WASI_SIGSEGV]: \"SIGSEGV\",\n [exports.WASI_SIGUSR2]: \"SIGUSR2\",\n [exports.WASI_SIGPIPE]: \"SIGPIPE\",\n [exports.WASI_SIGALRM]: \"SIGALRM\",\n [exports.WASI_SIGTERM]: \"SIGTERM\",\n [exports.WASI_SIGCHLD]: \"SIGCHLD\",\n [exports.WASI_SIGCONT]: \"SIGCONT\",\n [exports.WASI_SIGSTOP]: \"SIGSTOP\",\n [exports.WASI_SIGTSTP]: \"SIGTSTP\",\n [exports.WASI_SIGTTIN]: \"SIGTTIN\",\n [exports.WASI_SIGTTOU]: \"SIGTTOU\",\n [exports.WASI_SIGURG]: \"SIGURG\",\n [exports.WASI_SIGXCPU]: \"SIGXCPU\",\n [exports.WASI_SIGXFSZ]: \"SIGXFSZ\",\n [exports.WASI_SIGVTALRM]: \"SIGVTALRM\"\n };\n }\n}), require_wasi = __commonJS({\n \"node_modules/wasi-js/dist/wasi.js\"(exports) {\n var __importDefault = exports && exports.__importDefault || function(mod) {\n return mod && mod.__esModule \? mod : { default: mod };\n };\n let fs;\n Object.defineProperty(exports, \"__esModule\", { value: !0 }), exports.SOCKET_DEFAULT_RIGHTS = void 0;\n var log = () => {\n }, logOpen = () => {\n }, SC_OPEN_MAX = 32768, types_1 = require_types(), constants_1 = require_constants(), STDIN_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDOUT_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDERR_DEFAULT_RIGHTS = STDOUT_DEFAULT_RIGHTS;\n exports.SOCKET_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE | constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;\n var msToNs = (ms) => {\n const msInt = Math.trunc(ms), decimal = BigInt(Math.round((ms - msInt) * 1e6));\n return BigInt(msInt) * BigInt(1e6) + decimal;\n }, nsToMs = (ns) => {\n if (typeof ns === \"number\")\n ns = Math.trunc(ns);\n const nsInt = BigInt(ns);\n return Number(nsInt / BigInt(1e6));\n }, wrap = (f) => (...args) => {\n try {\n return f(...args);\n } catch (err) {\n let e = err;\n while (e.prev != null)\n e = e.prev;\n if (e\?.code && typeof e\?.code === \"string\")\n return constants_1.ERROR_MAP[e.code] || constants_1.WASI_EINVAL;\n if (e instanceof types_1.WASIError)\n return e.errno;\n throw e;\n }\n }, stat = (wasi, fd) => {\n const entry = wasi.FD_MAP.get(fd);\n if (!entry)\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n if (entry.filetype === void 0) {\n const stats = wasi.fstatSync(entry.real), { filetype, rightsBase, rightsInheriting } = translateFileAttributes(wasi, fd, stats);\n if (entry.filetype = filetype, !entry.rights)\n entry.rights = {\n base: rightsBase,\n inheriting: rightsInheriting\n };\n }\n return entry;\n }, translateFileAttributes = (wasi, fd, stats) => {\n switch (!0) {\n case stats.isBlockDevice():\n return {\n filetype: constants_1.WASI_FILETYPE_BLOCK_DEVICE,\n rightsBase: constants_1.RIGHTS_BLOCK_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_BLOCK_DEVICE_INHERITING\n };\n case stats.isCharacterDevice(): {\n const filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n if (fd !== void 0 && wasi.bindings.isTTY(fd))\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_TTY_BASE,\n rightsInheriting: constants_1.RIGHTS_TTY_INHERITING\n };\n return {\n filetype,\n rightsBase: constants_1.RIGHTS_CHARACTER_DEVICE_BASE,\n rightsInheriting: constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING\n };\n }\n case stats.isDirectory():\n return {\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rightsBase: constants_1.RIGHTS_DIRECTORY_BASE,\n rightsInheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n };\n case stats.isFIFO():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isFile():\n return {\n filetype: constants_1.WASI_FILETYPE_REGULAR_FILE,\n rightsBase: constants_1.RIGHTS_REGULAR_FILE_BASE,\n rightsInheriting: constants_1.RIGHTS_REGULAR_FILE_INHERITING\n };\n case stats.isSocket():\n return {\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rightsBase: constants_1.RIGHTS_SOCKET_BASE,\n rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING\n };\n case stats.isSymbolicLink():\n return {\n filetype: constants_1.WASI_FILETYPE_SYMBOLIC_LINK,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n default:\n return {\n filetype: constants_1.WASI_FILETYPE_UNKNOWN,\n rightsBase: BigInt(0),\n rightsInheriting: BigInt(0)\n };\n }\n }, warnedAboutSleep = !1, defaultConfig;\n function getDefaults() {\n if (defaultConfig)\n return defaultConfig;\n const defaultBindings = {\n hrtime: () => process.hrtime.bigint(),\n exit: (code) => {\n process.exit(code);\n },\n kill: (signal) => {\n process.kill(process.pid, signal);\n },\n randomFillSync: (array) => crypto.getRandomValues(array),\n isTTY: (fd) => (@getInternalField(@internalModuleRegistry, 46) || @createInternalModuleById(46)).isatty(fd),\n fs: Bun.fs(),\n path: @getInternalField(@internalModuleRegistry, 30) || @createInternalModuleById(30)\n };\n return defaultConfig = {\n args: [],\n env: {},\n preopens: {},\n bindings: defaultBindings,\n sleep: (ms) => {\n Bun.sleepSync(ms);\n }\n };\n }\n var WASI = class WASI2 {\n constructor(wasiConfig = {}) {\n const defaultConfig2 = getDefaults();\n this.lastStdin = 0, this.sleep = wasiConfig.sleep || defaultConfig2.sleep, this.getStdin = wasiConfig.getStdin, this.sendStdout = wasiConfig.sendStdout, this.sendStderr = wasiConfig.sendStderr;\n let preopens = wasiConfig.preopens \?\? defaultConfig2.preopens;\n this.env = wasiConfig.env \?\? defaultConfig2.env;\n const args = wasiConfig.args \?\? defaultConfig2.args;\n this.memory = void 0, this.view = void 0, this.bindings = wasiConfig.bindings || defaultConfig2.bindings;\n const bindings2 = this.bindings;\n fs = bindings2.fs, this.FD_MAP = new Map([\n [\n constants_1.WASI_STDIN_FILENO,\n {\n real: 0,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdin\"\n }\n ],\n [\n constants_1.WASI_STDOUT_FILENO,\n {\n real: 1,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDOUT_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stdout\"\n }\n ],\n [\n constants_1.WASI_STDERR_FILENO,\n {\n real: 2,\n filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE,\n rights: {\n base: STDERR_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n },\n path: \"/dev/stderr\"\n }\n ]\n ]);\n const path = bindings2.path;\n for (let [k, v] of Object.entries(preopens)) {\n const real = fs.openSync(v, nodeFsConstants.O_RDONLY), newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real,\n filetype: constants_1.WASI_FILETYPE_DIRECTORY,\n rights: {\n base: constants_1.RIGHTS_DIRECTORY_BASE,\n inheriting: constants_1.RIGHTS_DIRECTORY_INHERITING\n },\n fakePath: k,\n path: v\n });\n }\n const getiovs = (iovs, iovsLen) => {\n this.refreshMemory();\n const { view, memory } = this, { buffer } = memory, { byteLength } = buffer;\n if (iovsLen === 1) {\n const ptr = iovs, buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n return [new @Uint8Array(buffer, buf, bufLen)];\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n const buffers = [];\n buffers.length = iovsLen;\n for (let i = 0, ptr = iovs;i < iovsLen; i++, ptr += 8) {\n const buf = view.getUint32(ptr, !0);\n let bufLen = view.getUint32(ptr + 4, !0);\n if (bufLen > byteLength - buf)\n console.log({\n buf,\n bufLen,\n total_memory: byteLength\n }), log(\"getiovs: warning -- truncating buffer to fit in memory\"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf));\n try {\n buffers[i] = new @Uint8Array(buffer, buf, bufLen);\n } catch (err) {\n throw console.warn(\"WASI.getiovs -- invalid buffer\", err), new types_1.WASIError(constants_1.WASI_EINVAL);\n }\n }\n return buffers;\n }, CHECK_FD = (fd, rights) => {\n const stats = stat(this, fd);\n if (rights !== BigInt(0) && (stats.rights.base & rights) === BigInt(0))\n throw new types_1.WASIError(constants_1.WASI_EPERM);\n return stats;\n }, CPUTIME_START = Bun.nanoseconds(), timeOrigin = Math.trunc(performance.timeOrigin * 1e6), now = (clockId) => {\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n return Bun.nanoseconds();\n case constants_1.WASI_CLOCK_REALTIME:\n return Bun.nanoseconds() + timeOrigin;\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:\n return Bun.nanoseconds() - CPUTIME_START;\n default:\n return null;\n }\n };\n if (this.wasiImport = {\n args_get: (argv, argvBuf) => {\n this.refreshMemory();\n let coffset = argv, offset = argvBuf;\n return args.forEach((a) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${a}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n args_sizes_get: (argc, argvBufSize) => {\n this.refreshMemory(), this.view.setUint32(argc, args.length, !0);\n const size = args.reduce((acc, a) => acc + @Buffer.byteLength(a) + 1, 0);\n return this.view.setUint32(argvBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n environ_get: (environ, environBuf) => {\n this.refreshMemory();\n let coffset = environ, offset = environBuf;\n return Object.entries(this.env).forEach(([key, value]) => {\n this.view.setUint32(coffset, offset, !0), coffset += 4, offset += @Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`, offset);\n }), constants_1.WASI_ESUCCESS;\n },\n environ_sizes_get: (environCount, environBufSize) => {\n this.refreshMemory();\n const envProcessed = Object.entries(this.env).map(([key, value]) => `${key}=${value}\\0`), size = envProcessed.reduce((acc, e) => acc + @Buffer.byteLength(e), 0);\n return this.view.setUint32(environCount, envProcessed.length, !0), this.view.setUint32(environBufSize, size, !0), constants_1.WASI_ESUCCESS;\n },\n clock_res_get: (clockId, resolution) => {\n let res;\n switch (clockId) {\n case constants_1.WASI_CLOCK_MONOTONIC:\n case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:\n case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID: {\n res = BigInt(1);\n break;\n }\n case constants_1.WASI_CLOCK_REALTIME: {\n res = BigInt(1000);\n break;\n }\n }\n if (!res)\n throw Error(\"invalid clockId\");\n return this.view.setBigUint64(resolution, res), constants_1.WASI_ESUCCESS;\n },\n clock_time_get: (clockId, _precision, time) => {\n this.refreshMemory();\n const n = now(clockId);\n if (n === null)\n return constants_1.WASI_EINVAL;\n return this.view.setBigUint64(time, BigInt(n), !0), constants_1.WASI_ESUCCESS;\n },\n fd_advise: wrap((fd, _offset, _len, _advice) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ADVISE), constants_1.WASI_ENOSYS;\n }),\n fd_allocate: wrap((fd, _offset, _len) => {\n return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ALLOCATE), constants_1.WASI_ENOSYS;\n }),\n fd_close: wrap((fd) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return fs.closeSync(stats.real), this.FD_MAP.delete(fd), constants_1.WASI_ESUCCESS;\n }),\n fd_datasync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_DATASYNC);\n return fs.fdatasyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if (this.refreshMemory(), stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), this.view.setUint16(bufPtr + 2, 0, !0), this.view.setUint16(bufPtr + 4, 0, !0), this.view.setBigUint64(bufPtr + 8, BigInt(stats.rights.base), !0), this.view.setBigUint64(bufPtr + 8 + 8, BigInt(stats.rights.inheriting), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_fdstat_set_flags: wrap((fd, flags) => {\n if (CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS), this.wasiImport.sock_fcntlSetFlags(fd, flags) == 0)\n return constants_1.WASI_ESUCCESS;\n return constants_1.WASI_ENOSYS;\n }),\n fd_fdstat_set_rights: wrap((fd, fsRightsBase, fsRightsInheriting) => {\n const stats = CHECK_FD(fd, BigInt(0));\n if ((stats.rights.base | fsRightsBase) > stats.rights.base)\n return constants_1.WASI_EPERM;\n if ((stats.rights.inheriting | fsRightsInheriting) > stats.rights.inheriting)\n return constants_1.WASI_EPERM;\n return stats.rights.base = fsRightsBase, stats.rights.inheriting = fsRightsInheriting, constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_GET), rstats = this.fstatSync(stats.real);\n if (this.refreshMemory(), this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, stats.filetype == null)\n throw Error(\"stats.filetype must be set\");\n return this.view.setUint8(bufPtr, stats.filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.atimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.mtimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.ctimeMs), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_size: wrap((fd, stSize) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);\n return fs.ftruncateSync(stats.real, Number(stSize)), constants_1.WASI_ESUCCESS;\n }),\n fd_filestat_set_times: wrap((fd, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES), rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n return fs.futimesSync(stats.real, new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_get: wrap((fd, bufPtr) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), this.view.setUint8(bufPtr, constants_1.WASI_PREOPENTYPE_DIR), this.view.setUint32(bufPtr + 4, @Buffer.byteLength(stats.fakePath \?\? stats.path \?\? \"\"), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_prestat_dir_name: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, BigInt(0));\n return this.refreshMemory(), @Buffer.from(this.memory.buffer).write(stats.fakePath \?\? stats.path \?\? \"\", pathPtr, pathLen, \"utf8\"), constants_1.WASI_ESUCCESS;\n }),\n fd_pwrite: wrap((fd, iovs, iovsLen, offset, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SEEK);\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n let w = 0;\n while (w < iov.byteLength)\n w += fs.writeSync(stats.real, iov, w, iov.byteLength - w, Number(offset) + written + w);\n written += w;\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_write: wrap((fd, iovs, iovsLen, nwritten) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE), IS_STDOUT = fd == constants_1.WASI_STDOUT_FILENO, IS_STDERR = fd == constants_1.WASI_STDERR_FILENO;\n let written = 0;\n return getiovs(iovs, iovsLen).forEach((iov) => {\n if (iov.byteLength == 0)\n return;\n if (IS_STDOUT && this.sendStdout != null)\n this.sendStdout(iov), written += iov.byteLength;\n else if (IS_STDERR && this.sendStderr != null)\n this.sendStderr(iov), written += iov.byteLength;\n else {\n let w = 0;\n while (w < iov.byteLength) {\n const i = fs.writeSync(stats.real, iov, w, iov.byteLength - w, stats.offset \? Number(stats.offset) : null);\n if (stats.offset)\n stats.offset += BigInt(i);\n w += i;\n }\n written += w;\n }\n }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_pread: wrap((fd, iovs, iovsLen, offset, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SEEK);\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n const length = iov.byteLength - r, rr = fs.readSync(stats.real, iov, r, iov.byteLength - r, Number(offset) + read + r);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n read += r;\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_read: wrap((fd, iovs, iovsLen, nread) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ), IS_STDIN = fd == constants_1.WASI_STDIN_FILENO;\n let read = 0;\n outer:\n for (let iov of getiovs(iovs, iovsLen)) {\n let r = 0;\n while (r < iov.byteLength) {\n let length = iov.byteLength - r, position = IS_STDIN || stats.offset === void 0 \? null : Number(stats.offset), rr = 0;\n if (IS_STDIN)\n if (this.getStdin != null) {\n if (this.stdinBuffer == null)\n this.stdinBuffer = this.getStdin();\n if (this.stdinBuffer != null) {\n if (rr = this.stdinBuffer.copy(iov), rr == this.stdinBuffer.length)\n this.stdinBuffer = void 0;\n else\n this.stdinBuffer = this.stdinBuffer.slice(rr);\n if (rr > 0)\n this.lastStdin = (new Date()).valueOf();\n }\n } else {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");\n try {\n rr = fs.readSync(stats.real, iov, r, length, position);\n } catch (_err) {\n }\n if (rr == 0)\n this.shortPause();\n else\n this.lastStdin = (new Date()).valueOf();\n }\n else\n rr = fs.readSync(stats.real, iov, r, length, position);\n if (stats.filetype == constants_1.WASI_FILETYPE_REGULAR_FILE)\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(rr);\n if (r += rr, read += rr, rr === 0 || rr < length)\n break outer;\n }\n }\n return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_readdir: wrap((fd, bufPtr, bufLen, cookie, bufusedPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READDIR);\n this.refreshMemory();\n const entries = fs.readdirSync(stats.path, { withFileTypes: !0 }), startPtr = bufPtr;\n for (let i = Number(cookie);i < entries.length; i += 1) {\n const entry = entries[i];\n let nameLength = @Buffer.byteLength(entry.name);\n if (bufPtr - startPtr > bufLen)\n break;\n if (this.view.setBigUint64(bufPtr, BigInt(i + 1), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n const rstats = fs.lstatSync(path.resolve(stats.path, entry.name));\n if (this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, bufPtr - startPtr > bufLen)\n break;\n if (this.view.setUint32(bufPtr, nameLength, !0), bufPtr += 4, bufPtr - startPtr > bufLen)\n break;\n let filetype;\n switch (!0) {\n case rstats.isBlockDevice():\n filetype = constants_1.WASI_FILETYPE_BLOCK_DEVICE;\n break;\n case rstats.isCharacterDevice():\n filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE;\n break;\n case rstats.isDirectory():\n filetype = constants_1.WASI_FILETYPE_DIRECTORY;\n break;\n case rstats.isFIFO():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isFile():\n filetype = constants_1.WASI_FILETYPE_REGULAR_FILE;\n break;\n case rstats.isSocket():\n filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM;\n break;\n case rstats.isSymbolicLink():\n filetype = constants_1.WASI_FILETYPE_SYMBOLIC_LINK;\n break;\n default:\n filetype = constants_1.WASI_FILETYPE_UNKNOWN;\n break;\n }\n if (this.view.setUint8(bufPtr, filetype), bufPtr += 1, bufPtr += 3, bufPtr + nameLength >= startPtr + bufLen)\n break;\n @Buffer.from(this.memory.buffer).write(entry.name, bufPtr), bufPtr += nameLength;\n }\n const bufused = bufPtr - startPtr;\n return this.view.setUint32(bufusedPtr, Math.min(bufused, bufLen), !0), constants_1.WASI_ESUCCESS;\n }),\n fd_renumber: wrap((from, to) => {\n return CHECK_FD(from, BigInt(0)), CHECK_FD(to, BigInt(0)), fs.closeSync(this.FD_MAP.get(from).real), this.FD_MAP.set(from, this.FD_MAP.get(to)), this.FD_MAP.delete(to), constants_1.WASI_ESUCCESS;\n }),\n fd_seek: wrap((fd, offset, whence, newOffsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SEEK);\n switch (this.refreshMemory(), whence) {\n case constants_1.WASI_WHENCE_CUR:\n stats.offset = (stats.offset \? stats.offset : BigInt(0)) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_END:\n const { size } = this.fstatSync(stats.real);\n stats.offset = BigInt(size) + BigInt(offset);\n break;\n case constants_1.WASI_WHENCE_SET:\n stats.offset = BigInt(offset);\n break;\n }\n if (stats.offset == null)\n throw Error(\"stats.offset must be defined\");\n return this.view.setBigUint64(newOffsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_tell: wrap((fd, offsetPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_TELL);\n if (this.refreshMemory(), !stats.offset)\n stats.offset = BigInt(0);\n return this.view.setBigUint64(offsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS;\n }),\n fd_sync: wrap((fd) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SYNC);\n return fs.fsyncSync(stats.real), constants_1.WASI_ESUCCESS;\n }),\n path_create_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.mkdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_get: wrap((fd, flags, pathPtr, pathLen, bufPtr) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_GET);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n let rstats;\n if (flags)\n rstats = fs.statSync(path.resolve(stats.path, p));\n else\n rstats = fs.lstatSync(path.resolve(stats.path, p));\n return this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, this.view.setUint8(bufPtr, translateFileAttributes(this, void 0, rstats).filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.atime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.mtime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ctime.getTime() * 1e6), !0), constants_1.WASI_ESUCCESS;\n }),\n path_filestat_set_times: wrap((fd, _dirflags, pathPtr, pathLen, stAtim, stMtim, fstflags) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const rstats = this.fstatSync(stats.real);\n let { atime: atim, mtime: mtim } = rstats;\n const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW;\n if ((fstflags & atimflags) === atimflags)\n return constants_1.WASI_EINVAL;\n const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW;\n if ((fstflags & mtimflags) === mtimflags)\n return constants_1.WASI_EINVAL;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM)\n atim = nsToMs(stAtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW)\n atim = n;\n if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM)\n mtim = nsToMs(stMtim);\n else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW)\n mtim = n;\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.utimesSync(path.resolve(stats.path, p), new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS;\n }),\n path_link: wrap((oldFd, _oldFlags, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_LINK_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_LINK_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.linkSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_open: wrap((dirfd, _dirflags, pathPtr, pathLen, oflags, fsRightsBase, fsRightsInheriting, fsFlags, fdPtr) => {\n try {\n const stats = CHECK_FD(dirfd, constants_1.WASI_RIGHT_PATH_OPEN);\n fsRightsBase = BigInt(fsRightsBase), fsRightsInheriting = BigInt(fsRightsInheriting);\n const read = (fsRightsBase & (constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_READDIR)) !== BigInt(0), write = (fsRightsBase & (constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ALLOCATE | constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE)) !== BigInt(0);\n let noflags;\n if (write && read)\n noflags = nodeFsConstants.O_RDWR;\n else if (read)\n noflags = nodeFsConstants.O_RDONLY;\n else if (write)\n noflags = nodeFsConstants.O_WRONLY;\n let neededBase = fsRightsBase | constants_1.WASI_RIGHT_PATH_OPEN, neededInheriting = fsRightsBase | fsRightsInheriting;\n if ((oflags & constants_1.WASI_O_CREAT) !== 0)\n noflags |= nodeFsConstants.O_CREAT, neededBase |= constants_1.WASI_RIGHT_PATH_CREATE_FILE;\n if ((oflags & constants_1.WASI_O_DIRECTORY) !== 0)\n noflags |= nodeFsConstants.O_DIRECTORY;\n if ((oflags & constants_1.WASI_O_EXCL) !== 0)\n noflags |= nodeFsConstants.O_EXCL;\n if ((oflags & constants_1.WASI_O_TRUNC) !== 0)\n noflags |= nodeFsConstants.O_TRUNC, neededBase |= constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;\n if ((fsFlags & constants_1.WASI_FDFLAG_APPEND) !== 0)\n noflags |= nodeFsConstants.O_APPEND;\n if ((fsFlags & constants_1.WASI_FDFLAG_DSYNC) !== 0) {\n if (nodeFsConstants.O_DSYNC)\n noflags |= nodeFsConstants.O_DSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_DATASYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_NONBLOCK) !== 0)\n noflags |= nodeFsConstants.O_NONBLOCK;\n if ((fsFlags & constants_1.WASI_FDFLAG_RSYNC) !== 0) {\n if (nodeFsConstants.O_RSYNC)\n noflags |= nodeFsConstants.O_RSYNC;\n else\n noflags |= nodeFsConstants.O_SYNC;\n neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n }\n if ((fsFlags & constants_1.WASI_FDFLAG_SYNC) !== 0)\n noflags |= nodeFsConstants.O_SYNC, neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC;\n if (write && (noflags & (nodeFsConstants.O_APPEND | nodeFsConstants.O_TRUNC)) === 0)\n neededInheriting |= constants_1.WASI_RIGHT_FD_SEEK;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n if (p == \"dev/tty\")\n return this.view.setUint32(fdPtr, constants_1.WASI_STDIN_FILENO, !0), constants_1.WASI_ESUCCESS;\n if (logOpen(\"path_open\", p), p.startsWith(\"proc/\"))\n throw new types_1.WASIError(constants_1.WASI_EBADF);\n const fullUnresolved = path.resolve(p);\n let full;\n try {\n full = fs.realpathSync(fullUnresolved);\n } catch (e) {\n if (e\?.code === \"ENOENT\")\n full = fullUnresolved;\n else\n throw e;\n }\n let isDirectory;\n if (write)\n try {\n isDirectory = fs.statSync(full).isDirectory();\n } catch (_err) {\n }\n let realfd;\n if (!write && isDirectory)\n realfd = fs.openSync(full, nodeFsConstants.O_RDONLY);\n else\n realfd = fs.openSync(full, noflags);\n const newfd = this.getUnusedFileDescriptor();\n this.FD_MAP.set(newfd, {\n real: realfd,\n filetype: void 0,\n rights: {\n base: neededBase,\n inheriting: neededInheriting\n },\n path: full\n }), stat(this, newfd), this.view.setUint32(fdPtr, newfd, !0);\n } catch (e) {\n console.error(e);\n }\n return constants_1.WASI_ESUCCESS;\n }),\n path_readlink: wrap((fd, pathPtr, pathLen, buf, bufLen, bufused) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_READLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(), full = path.resolve(stats.path, p), r = fs.readlinkSync(full), used = @Buffer.from(this.memory.buffer).write(r, buf, bufLen);\n return this.view.setUint32(bufused, used, !0), constants_1.WASI_ESUCCESS;\n }),\n path_remove_directory: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.rmdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n path_rename: wrap((oldFd, oldPath, oldPathLen, newFd, newPath, newPathLen) => {\n const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_RENAME_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_RENAME_TARGET);\n if (!ostats.path || !nstats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.renameSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_symlink: wrap((oldPath, oldPathLen, fd, newPath, newPathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_SYMLINK);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const op = @Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = @Buffer.from(this.memory.buffer, newPath, newPathLen).toString();\n return fs.symlinkSync(op, path.resolve(stats.path, np)), constants_1.WASI_ESUCCESS;\n }),\n path_unlink_file: wrap((fd, pathPtr, pathLen) => {\n const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_UNLINK_FILE);\n if (!stats.path)\n return constants_1.WASI_EINVAL;\n this.refreshMemory();\n const p = @Buffer.from(this.memory.buffer, pathPtr, pathLen).toString();\n return fs.unlinkSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS;\n }),\n poll_oneoff: (sin, sout, nsubscriptions, neventsPtr) => {\n let nevents = 0, name = \"\", waitTimeNs = BigInt(0), fd = -1, fd_type = \"read\", fd_timeout_ms = 0;\n const startNs = BigInt(bindings2.hrtime());\n this.refreshMemory();\n let last_sin = sin;\n for (let i = 0;i < nsubscriptions; i += 1) {\n const userdata = this.view.getBigUint64(sin, !0);\n sin += 8;\n const type = this.view.getUint8(sin);\n if (sin += 1, sin += 7, log.enabled) {\n if (type == constants_1.WASI_EVENTTYPE_CLOCK)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_CLOCK): \";\n else if (type == constants_1.WASI_EVENTTYPE_FD_READ)\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_READ): \";\n else\n name = \"poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): \";\n log(name);\n }\n switch (type) {\n case constants_1.WASI_EVENTTYPE_CLOCK: {\n const clockid = this.view.getUint32(sin, !0);\n sin += 4, sin += 4;\n const timeout = this.view.getBigUint64(sin, !0);\n sin += 8, sin += 8;\n const subclockflags = this.view.getUint16(sin, !0);\n sin += 2, sin += 6;\n const absolute = subclockflags === 1;\n if (log.enabled)\n log(name, { clockid, timeout, absolute });\n if (!absolute)\n fd_timeout_ms = timeout / BigInt(1e6);\n let e = constants_1.WASI_ESUCCESS;\n const t = now(clockid);\n if (t == null)\n e = constants_1.WASI_EINVAL;\n else {\n const tNS = BigInt(t), waitNs = (absolute \? timeout : tNS + timeout) - tNS;\n if (waitNs > waitTimeNs)\n waitTimeNs = waitNs;\n }\n this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, e, !0), sout += 2, this.view.setUint8(sout, constants_1.WASI_EVENTTYPE_CLOCK), sout += 1, sout += 5, nevents += 1;\n break;\n }\n case constants_1.WASI_EVENTTYPE_FD_READ:\n case constants_1.WASI_EVENTTYPE_FD_WRITE: {\n if (fd = this.view.getUint32(sin, !0), fd_type = type == constants_1.WASI_EVENTTYPE_FD_READ \? \"read\" : \"write\", sin += 4, log(name, \"fd =\", fd), sin += 28, this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, constants_1.WASI_ENOSYS, !0), sout += 2, this.view.setUint8(sout, type), sout += 1, sout += 5, nevents += 1, fd == constants_1.WASI_STDIN_FILENO && constants_1.WASI_EVENTTYPE_FD_READ == type)\n this.shortPause();\n break;\n }\n default:\n return constants_1.WASI_EINVAL;\n }\n if (sin - last_sin != 48)\n console.warn(\"*** BUG in wasi-js in poll_oneoff \", {\n i,\n sin,\n last_sin,\n diff: sin - last_sin\n });\n last_sin = sin;\n }\n if (this.view.setUint32(neventsPtr, nevents, !0), nevents == 2 && fd >= 0) {\n const r = this.wasiImport.sock_pollSocket(fd, fd_type, fd_timeout_ms);\n if (r != constants_1.WASI_ENOSYS)\n return r;\n }\n if (waitTimeNs > 0) {\n if (waitTimeNs -= Bun.nanoseconds() - timeOrigin, waitTimeNs >= 1e6) {\n if (this.sleep == null && !warnedAboutSleep)\n warnedAboutSleep = !0, console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");\n if (this.sleep != null) {\n const ms = nsToMs(waitTimeNs);\n this.sleep(ms);\n } else {\n const end = BigInt(bindings2.hrtime()) + waitTimeNs;\n while (BigInt(bindings2.hrtime()) < end)\n ;\n }\n }\n }\n return constants_1.WASI_ESUCCESS;\n },\n proc_exit: (rval) => {\n return bindings2.exit(rval), constants_1.WASI_ESUCCESS;\n },\n proc_raise: (sig) => {\n if (!(sig in constants_1.SIGNAL_MAP))\n return constants_1.WASI_EINVAL;\n return bindings2.kill(constants_1.SIGNAL_MAP[sig]), constants_1.WASI_ESUCCESS;\n },\n random_get: (bufPtr, bufLen) => {\n return this.refreshMemory(), crypto.getRandomValues(this.memory.buffer, bufPtr, bufLen), bufLen;\n },\n sched_yield() {\n return constants_1.WASI_ESUCCESS;\n },\n sock_recv() {\n return constants_1.WASI_ENOSYS;\n },\n sock_send() {\n return constants_1.WASI_ENOSYS;\n },\n sock_shutdown() {\n return constants_1.WASI_ENOSYS;\n },\n sock_fcntlSetFlags(_fd, _flags) {\n return constants_1.WASI_ENOSYS;\n },\n sock_pollSocket(_fd, _eventtype, _timeout_ms) {\n return constants_1.WASI_ENOSYS;\n }\n }, log.enabled)\n Object.keys(this.wasiImport).forEach((key) => {\n const prevImport = this.wasiImport[key];\n this.wasiImport[key] = function(...args2) {\n log(key, args2);\n try {\n let result = prevImport(...args2);\n return log(\"result\", result), result;\n } catch (e) {\n throw log(\"error: \", e), e;\n }\n };\n });\n }\n getState() {\n return { env: this.env, FD_MAP: this.FD_MAP, bindings };\n }\n setState(state) {\n this.env = state.env, this.FD_MAP = state.FD_MAP, bindings = state.bindings;\n }\n fstatSync(real_fd) {\n if (real_fd <= 2)\n try {\n return fs.fstatSync(real_fd);\n } catch (_) {\n const now = new Date;\n return {\n dev: 0,\n mode: 8592,\n nlink: 1,\n uid: 0,\n gid: 0,\n rdev: 0,\n blksize: 65536,\n ino: 0,\n size: 0,\n blocks: 0,\n atimeMs: now.valueOf(),\n mtimeMs: now.valueOf(),\n ctimeMs: now.valueOf(),\n birthtimeMs: 0,\n atime: new Date,\n mtime: new Date,\n ctime: new Date,\n birthtime: new Date(0)\n };\n }\n return fs.fstatSync(real_fd);\n }\n shortPause() {\n if (this.sleep == null)\n return;\n if ((new Date()).valueOf() - this.lastStdin > 2000)\n this.sleep(50);\n }\n getUnusedFileDescriptor(start = 3) {\n let fd = start;\n while (this.FD_MAP.has(fd))\n fd += 1;\n if (fd > SC_OPEN_MAX)\n throw Error(\"no available file descriptors\");\n return fd;\n }\n refreshMemory() {\n if (!this.view || this.view.buffer.byteLength === 0)\n this.view = new DataView(this.memory.buffer);\n }\n setMemory(memory) {\n this.memory = memory;\n }\n start(instance, memory) {\n const exports2 = instance.exports;\n if (exports2 === null || typeof exports2 !== \"object\")\n throw new Error(`instance.exports must be an Object. Received ${exports2}.`);\n if (memory == null) {\n if (memory = exports2.memory, !(memory instanceof WebAssembly.Memory))\n throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`);\n }\n if (this.setMemory(memory), exports2._start)\n exports2._start();\n }\n getImports(module2) {\n let namespace = null;\n const imports = WebAssembly.Module.imports(module2);\n for (let imp of imports) {\n if (imp.kind !== \"function\")\n continue;\n if (!imp.module.startsWith(\"wasi_\"))\n continue;\n namespace = imp.module;\n break;\n }\n switch (namespace) {\n case \"wasi_unstable\":\n return {\n wasi_unstable: this.wasiImport\n };\n case \"wasi_snapshot_preview1\":\n return {\n wasi_snapshot_preview1: this.wasiImport\n };\n default:\n throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\" + imports.map(({ name, kind, module }) => `${module}:${name} (${kind})`).join(\"\\n\") + \"\\n\");\n }\n }\n initWasiFdInfo() {\n if (this.env.WASI_FD_INFO != null) {\n const fdInfo = JSON.parse(this.env.WASI_FD_INFO);\n for (let wasi_fd in fdInfo) {\n console.log(wasi_fd);\n const fd = parseInt(wasi_fd);\n if (this.FD_MAP.has(fd))\n continue;\n const real = fdInfo[wasi_fd];\n try {\n this.fstatSync(real);\n } catch (_err) {\n console.log(\"discarding \", { wasi_fd, real });\n continue;\n }\n const file = {\n real,\n filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM,\n rights: {\n base: STDIN_DEFAULT_RIGHTS,\n inheriting: BigInt(0)\n }\n };\n this.FD_MAP.set(fd, file);\n }\n console.log(\"after initWasiFdInfo: \", this.FD_MAP), console.log(\"fdInfo = \", fdInfo);\n } else\n console.log(\"no WASI_FD_INFO\");\n }\n };\n exports.default = WASI;\n }\n});\nreturn { WASI: require_wasi().default }})\n"); // // -static constexpr ASCIILiteral NodeWorkerThreadsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/worker_threads.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, injectFakeEmitter = function(Class) {\n function messageEventHandler(event) {\n return event.data;\n }\n function errorEventHandler(event) {\n return event.error;\n }\n const wrappedListener = Symbol(\"wrappedListener\");\n function wrapped(run, listener) {\n const callback = function(event) {\n return listener(run(event));\n };\n return listener[wrappedListener] = callback, callback;\n }\n function functionForEventType(event, listener) {\n switch (event) {\n case \"error\":\n case \"messageerror\":\n return wrapped(errorEventHandler, listener);\n default:\n return wrapped(messageEventHandler, listener);\n }\n }\n Class.prototype.on = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener)), this;\n }, Class.prototype.off = function(event, listener) {\n if (listener)\n this.removeEventListener(event, listener[wrappedListener] || listener);\n else\n this.removeEventListener(event);\n return this;\n }, Class.prototype.once = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener), { once: !0 }), this;\n };\n function EventClass(eventName) {\n if (eventName === \"error\" || eventName === \"messageerror\")\n return ErrorEvent;\n return MessageEvent;\n }\n Class.prototype.emit = function(event, ...args) {\n return this.dispatchEvent(new (EventClass(event))(event, ...args)), this;\n }, Class.prototype.prependListener = Class.prototype.on, Class.prototype.prependOnceListener = Class.prototype.once;\n}, receiveMessageOnPort = function(port) {\n let res = _receiveMessageOnPort(port);\n if (!res)\n return @undefined;\n return {\n message: res\n };\n}, fakeParentPort = function() {\n const fake = Object.create(MessagePort.prototype);\n return Object.defineProperty(fake, \"onmessage\", {\n get() {\n return self.onmessage;\n },\n set(value) {\n self.onmessage = value;\n }\n }), Object.defineProperty(fake, \"onmessageerror\", {\n get() {\n return self.onmessageerror;\n },\n set(value) {\n }\n }), Object.defineProperty(fake, \"postMessage\", {\n value(...args) {\n return self.postMessage(...args);\n }\n }), Object.defineProperty(fake, \"close\", {\n value() {\n return process.exit(0);\n }\n }), Object.defineProperty(fake, \"start\", {\n value() {\n }\n }), Object.defineProperty(fake, \"unref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"ref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"hasRef\", {\n value() {\n return !1;\n }\n }), Object.defineProperty(fake, \"setEncoding\", {\n value() {\n }\n }), Object.defineProperty(fake, \"addEventListener\", {\n value: self.addEventListener.bind(self)\n }), Object.defineProperty(fake, \"removeEventListener\", {\n value: self.removeEventListener.bind(self)\n }), fake;\n}, getEnvironmentData = function() {\n return process.env;\n}, setEnvironmentData = function(env) {\n process.env = env;\n}, markAsUntransferable = function() {\n throwNotImplemented(\"worker_threads.markAsUntransferable\");\n}, moveMessagePortToContext = function() {\n throwNotImplemented(\"worker_threads.moveMessagePortToContext\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), { MessageChannel, BroadcastChannel, Worker: WebWorker } = globalThis, SHARE_ENV = Symbol(\"nodejs.worker_threads.SHARE_ENV\"), isMainThread = Bun.isMainThread, [_workerData, _threadId, _receiveMessageOnPort] = @lazy(\"worker_threads\"), emittedWarnings = new Set, _MessagePort = globalThis.MessagePort;\ninjectFakeEmitter(_MessagePort);\nvar MessagePort = _MessagePort, resourceLimits = {}, workerData = _workerData, threadId = _threadId, parentPort = isMainThread \? null : fakeParentPort(), unsupportedOptions = [\n \"eval\",\n \"argv\",\n \"execArgv\",\n \"stdin\",\n \"stdout\",\n \"stderr\",\n \"trackedUnmanagedFds\",\n \"resourceLimits\"\n];\n\nclass Worker extends EventEmitter {\n #worker;\n #performance;\n #onExitPromise = @undefined;\n constructor(filename, options = {}) {\n super();\n for (let key of unsupportedOptions)\n if (key in options)\n emitWarning(\"option.\" + key, `worker_threads.Worker option \"${key}\" is not implemented.`);\n this.#worker = new WebWorker(filename, options), this.#worker.addEventListener(\"close\", this.#onClose.bind(this)), this.#worker.addEventListener(\"error\", this.#onError.bind(this)), this.#worker.addEventListener(\"message\", this.#onMessage.bind(this)), this.#worker.addEventListener(\"messageerror\", this.#onMessageError.bind(this)), this.#worker.addEventListener(\"open\", this.#onOpen.bind(this));\n }\n get threadId() {\n return this.#worker.threadId;\n }\n ref() {\n this.#worker.ref();\n }\n unref() {\n this.#worker.unref();\n }\n get stdin() {\n return null;\n }\n get stdout() {\n return null;\n }\n get stderr() {\n return null;\n }\n get performance() {\n return this.#performance \?\?= {\n eventLoopUtilization() {\n return emitWarning(\"performance\", \"worker_threads.Worker.performance is not implemented.\"), {\n idle: 0,\n active: 0,\n utilization: 0\n };\n }\n };\n }\n terminate() {\n const onExitPromise = this.#onExitPromise;\n if (onExitPromise)\n return @isPromise(onExitPromise) \? onExitPromise : @Promise.resolve(onExitPromise);\n const { resolve, promise } = @Promise.withResolvers();\n return this.#worker.addEventListener(\"close\", (event) => {\n resolve(event.code);\n }, { once: !0 }), this.#worker.terminate(), this.#onExitPromise = promise;\n }\n postMessage(...args) {\n return this.#worker.postMessage(...args);\n }\n #onClose(e) {\n this.#onExitPromise = e.code, this.emit(\"exit\", e.code);\n }\n #onError(error) {\n this.emit(\"error\", error);\n }\n #onMessage(event) {\n this.emit(\"message\", event.data);\n }\n #onMessageError(event) {\n this.emit(\"messageerror\", event.error \?\? event.data \?\? event);\n }\n #onOpen() {\n this.emit(\"online\");\n }\n async getHeapSnapshot() {\n throwNotImplemented(\"worker_threads.Worker.getHeapSnapshot\");\n }\n}\n$ = {\n Worker,\n workerData,\n parentPort,\n resourceLimits,\n isMainThread,\n MessageChannel,\n BroadcastChannel,\n MessagePort,\n getEnvironmentData,\n setEnvironmentData,\n getHeapSnapshot() {\n return {};\n },\n markAsUntransferable,\n moveMessagePortToContext,\n receiveMessageOnPort,\n SHARE_ENV,\n threadId\n};\nreturn $})\n"); +static constexpr ASCIILiteral NodeWorkerThreadsCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/worker_threads.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, injectFakeEmitter = function(Class) {\n function messageEventHandler(event) {\n return event.data;\n }\n function errorEventHandler(event) {\n return event.error;\n }\n const wrappedListener = Symbol(\"wrappedListener\");\n function wrapped(run, listener) {\n const callback = function(event) {\n return listener(run(event));\n };\n return listener[wrappedListener] = callback, callback;\n }\n function functionForEventType(event, listener) {\n switch (event) {\n case \"error\":\n case \"messageerror\":\n return wrapped(errorEventHandler, listener);\n default:\n return wrapped(messageEventHandler, listener);\n }\n }\n Class.prototype.on = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener)), this;\n }, Class.prototype.off = function(event, listener) {\n if (listener)\n this.removeEventListener(event, listener[wrappedListener] || listener);\n else\n this.removeEventListener(event);\n return this;\n }, Class.prototype.once = function(event, listener) {\n return this.addEventListener(event, functionForEventType(event, listener), { once: !0 }), this;\n };\n function EventClass(eventName) {\n if (eventName === \"error\" || eventName === \"messageerror\")\n return ErrorEvent;\n return MessageEvent;\n }\n Class.prototype.emit = function(event, ...args) {\n return this.dispatchEvent(new (EventClass(event))(event, ...args)), this;\n }, Class.prototype.prependListener = Class.prototype.on, Class.prototype.prependOnceListener = Class.prototype.once;\n}, receiveMessageOnPort = function(port) {\n let res = _receiveMessageOnPort(port);\n if (!res)\n return @undefined;\n return {\n message: res\n };\n}, fakeParentPort = function() {\n const fake = Object.create(MessagePort.prototype);\n return Object.defineProperty(fake, \"onmessage\", {\n get() {\n return self.onmessage;\n },\n set(value) {\n self.onmessage = value;\n }\n }), Object.defineProperty(fake, \"onmessageerror\", {\n get() {\n return self.onmessageerror;\n },\n set(value) {\n }\n }), Object.defineProperty(fake, \"postMessage\", {\n value(...args) {\n return self.postMessage(...args);\n }\n }), Object.defineProperty(fake, \"close\", {\n value() {\n return process.exit(0);\n }\n }), Object.defineProperty(fake, \"start\", {\n value() {\n }\n }), Object.defineProperty(fake, \"unref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"ref\", {\n value() {\n }\n }), Object.defineProperty(fake, \"hasRef\", {\n value() {\n return !1;\n }\n }), Object.defineProperty(fake, \"setEncoding\", {\n value() {\n }\n }), Object.defineProperty(fake, \"addEventListener\", {\n value: self.addEventListener.bind(self)\n }), Object.defineProperty(fake, \"removeEventListener\", {\n value: self.removeEventListener.bind(self)\n }), fake;\n}, getEnvironmentData = function() {\n return process.env;\n}, setEnvironmentData = function(env) {\n process.env = env;\n}, markAsUntransferable = function() {\n throwNotImplemented(\"worker_threads.markAsUntransferable\");\n}, moveMessagePortToContext = function() {\n throwNotImplemented(\"worker_threads.moveMessagePortToContext\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), { throwNotImplemented } = @getInternalField(@internalModuleRegistry, 6) || @createInternalModuleById(6), { MessageChannel, BroadcastChannel, Worker: WebWorker } = globalThis, SHARE_ENV = Symbol(\"nodejs.worker_threads.SHARE_ENV\"), isMainThread = Bun.isMainThread, [_workerData, _threadId, _receiveMessageOnPort] = @lazy(\"worker_threads\"), emittedWarnings = new Set, _MessagePort = globalThis.MessagePort;\ninjectFakeEmitter(_MessagePort);\nvar MessagePort = _MessagePort, resourceLimits = {}, workerData = _workerData, threadId = _threadId, parentPort = isMainThread \? null : fakeParentPort(), unsupportedOptions = [\n \"eval\",\n \"argv\",\n \"execArgv\",\n \"stdin\",\n \"stdout\",\n \"stderr\",\n \"trackedUnmanagedFds\",\n \"resourceLimits\"\n];\n\nclass Worker extends EventEmitter {\n #worker;\n #performance;\n #onExitPromise = @undefined;\n constructor(filename, options = {}) {\n super();\n for (let key of unsupportedOptions)\n if (key in options)\n emitWarning(\"option.\" + key, `worker_threads.Worker option \"${key}\" is not implemented.`);\n this.#worker = new WebWorker(filename, options), this.#worker.addEventListener(\"close\", this.#onClose.bind(this)), this.#worker.addEventListener(\"error\", this.#onError.bind(this)), this.#worker.addEventListener(\"message\", this.#onMessage.bind(this)), this.#worker.addEventListener(\"messageerror\", this.#onMessageError.bind(this)), this.#worker.addEventListener(\"open\", this.#onOpen.bind(this));\n }\n get threadId() {\n return this.#worker.threadId;\n }\n ref() {\n this.#worker.ref();\n }\n unref() {\n this.#worker.unref();\n }\n get stdin() {\n return null;\n }\n get stdout() {\n return null;\n }\n get stderr() {\n return null;\n }\n get performance() {\n return this.#performance \?\?= {\n eventLoopUtilization() {\n return emitWarning(\"performance\", \"worker_threads.Worker.performance is not implemented.\"), {\n idle: 0,\n active: 0,\n utilization: 0\n };\n }\n };\n }\n terminate() {\n const onExitPromise = this.#onExitPromise;\n if (onExitPromise)\n return @isPromise(onExitPromise) \? onExitPromise : @Promise.resolve(onExitPromise);\n const { resolve, promise } = @Promise.withResolvers();\n return this.#worker.addEventListener(\"close\", (event) => {\n resolve(event.code);\n }, { once: !0 }), this.#worker.terminate(), this.#onExitPromise = promise;\n }\n postMessage(...args) {\n return this.#worker.postMessage(...args);\n }\n #onClose(e) {\n this.#onExitPromise = e.code, this.emit(\"exit\", e.code);\n }\n #onError(error) {\n this.emit(\"error\", error);\n }\n #onMessage(event) {\n this.emit(\"message\", event.data);\n }\n #onMessageError(event) {\n this.emit(\"messageerror\", event.error \?\? event.data \?\? event);\n }\n #onOpen() {\n this.emit(\"online\");\n }\n async getHeapSnapshot() {\n throwNotImplemented(\"worker_threads.Worker.getHeapSnapshot\");\n }\n}\n$ = {\n Worker,\n workerData,\n parentPort,\n resourceLimits,\n isMainThread,\n MessageChannel,\n BroadcastChannel,\n MessagePort,\n getEnvironmentData,\n setEnvironmentData,\n getHeapSnapshot() {\n return {};\n },\n markAsUntransferable,\n moveMessagePortToContext,\n receiveMessageOnPort,\n SHARE_ENV,\n threadId\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral NodeZlibCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/node/zlib.ts\nvar assert = @getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8), BufferModule = @requireNativeModule(\"buffer\"), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), Util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_zstream = __commonJS({\n \"node_modules/pako/lib/zlib/zstream.js\"(exports, module2) {\n function ZStream() {\n this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = \"\", this.state = null, this.data_type = 2, this.adler = 0;\n }\n module2.exports = ZStream;\n }\n}), require_common = __commonJS({\n \"node_modules/pako/lib/utils/common.js\"(exports) {\n var TYPED_OK = typeof @Uint8Array !== \"undefined\" && typeof Uint16Array !== \"undefined\" && typeof Int32Array !== \"undefined\";\n function _has(obj, key) {\n return Object.prototype.hasOwnProperty.@call(obj, key);\n }\n exports.assign = function(obj) {\n var sources = @Array.prototype.slice.@call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source)\n continue;\n if (typeof source !== \"object\")\n @throwTypeError(source + \"must be non-object\");\n for (var p in source)\n if (_has(source, p))\n obj[p] = source[p];\n }\n return obj;\n }, exports.shrinkBuf = function(buf, size) {\n if (buf.length === size)\n return buf;\n if (buf.subarray)\n return buf.subarray(0, size);\n return buf.length = size, buf;\n };\n var fnTyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n var i, l, len, pos, chunk, result;\n len = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n len += chunks[i].length;\n result = new @Uint8Array(len), pos = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n chunk = chunks[i], result.set(chunk, pos), pos += chunk.length;\n return result;\n }\n }, fnUntyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n return [].concat.@apply([], chunks);\n }\n };\n exports.setTyped = function(on) {\n if (on)\n exports.Buf8 = @Uint8Array, exports.Buf16 = Uint16Array, exports.Buf32 = Int32Array, exports.assign(exports, fnTyped);\n else\n exports.Buf8 = @Array, exports.Buf16 = @Array, exports.Buf32 = @Array, exports.assign(exports, fnUntyped);\n }, exports.setTyped(TYPED_OK);\n }\n}), require_trees = __commonJS({\n \"node_modules/pako/lib/zlib/trees.js\"(exports) {\n var utils = require_common(), Z_FIXED = 4, Z_BINARY = 0, Z_TEXT = 1, Z_UNKNOWN = 2;\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n var STORED_BLOCK = 0, STATIC_TREES = 1, DYN_TREES = 2, MIN_MATCH = 3, MAX_MATCH = 258, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, Buf_size = 16, MAX_BL_BITS = 7, END_BLOCK = 256, REP_3_6 = 16, REPZ_3_10 = 17, REPZ_11_138 = 18, extra_lbits = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], extra_dbits = [\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 3,\n 3,\n 4,\n 4,\n 5,\n 5,\n 6,\n 6,\n 7,\n 7,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13\n ], extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], DIST_CODE_LEN = 512, static_ltree = new @Array((L_CODES + 2) * 2);\n zero(static_ltree);\n var static_dtree = new @Array(D_CODES * 2);\n zero(static_dtree);\n var _dist_code = new @Array(DIST_CODE_LEN);\n zero(_dist_code);\n var _length_code = new @Array(MAX_MATCH - MIN_MATCH + 1);\n zero(_length_code);\n var base_length = new @Array(LENGTH_CODES);\n zero(base_length);\n var base_dist = new @Array(D_CODES);\n zero(base_dist);\n function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n this.static_tree = static_tree, this.extra_bits = extra_bits, this.extra_base = extra_base, this.elems = elems, this.max_length = max_length, this.has_stree = static_tree && static_tree.length;\n }\n var static_l_desc, static_d_desc, static_bl_desc;\n function TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree, this.max_code = 0, this.stat_desc = stat_desc;\n }\n function d_code(dist) {\n return dist < 256 \? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n }\n function put_short(s, w) {\n s.pending_buf[s.pending++] = w & 255, s.pending_buf[s.pending++] = w >>> 8 & 255;\n }\n function send_bits(s, value, length) {\n if (s.bi_valid > Buf_size - length)\n s.bi_buf |= value << s.bi_valid & 65535, put_short(s, s.bi_buf), s.bi_buf = value >> Buf_size - s.bi_valid, s.bi_valid += length - Buf_size;\n else\n s.bi_buf |= value << s.bi_valid & 65535, s.bi_valid += length;\n }\n function send_code(s, c, tree) {\n send_bits(s, tree[c * 2], tree[c * 2 + 1]);\n }\n function bi_reverse(code, len) {\n var res = 0;\n do\n res |= code & 1, code >>>= 1, res <<= 1;\n while (--len > 0);\n return res >>> 1;\n }\n function bi_flush(s) {\n if (s.bi_valid === 16)\n put_short(s, s.bi_buf), s.bi_buf = 0, s.bi_valid = 0;\n else if (s.bi_valid >= 8)\n s.pending_buf[s.pending++] = s.bi_buf & 255, s.bi_buf >>= 8, s.bi_valid -= 8;\n }\n function gen_bitlen(s, desc) {\n var { dyn_tree: tree, max_code } = desc, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, extra = desc.stat_desc.extra_bits, base = desc.stat_desc.extra_base, max_length = desc.stat_desc.max_length, h, n, m, bits, xbits, f, overflow = 0;\n for (bits = 0;bits <= MAX_BITS; bits++)\n s.bl_count[bits] = 0;\n tree[s.heap[s.heap_max] * 2 + 1] = 0;\n for (h = s.heap_max + 1;h < HEAP_SIZE; h++) {\n if (n = s.heap[h], bits = tree[tree[n * 2 + 1] * 2 + 1] + 1, bits > max_length)\n bits = max_length, overflow++;\n if (tree[n * 2 + 1] = bits, n > max_code)\n continue;\n if (s.bl_count[bits]++, xbits = 0, n >= base)\n xbits = extra[n - base];\n if (f = tree[n * 2], s.opt_len += f * (bits + xbits), has_stree)\n s.static_len += f * (stree[n * 2 + 1] + xbits);\n }\n if (overflow === 0)\n return;\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0)\n bits--;\n s.bl_count[bits]--, s.bl_count[bits + 1] += 2, s.bl_count[max_length]--, overflow -= 2;\n } while (overflow > 0);\n for (bits = max_length;bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n if (m = s.heap[--h], m > max_code)\n continue;\n if (tree[m * 2 + 1] !== bits)\n s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2], tree[m * 2 + 1] = bits;\n n--;\n }\n }\n }\n function gen_codes(tree, max_code, bl_count) {\n var next_code = new @Array(MAX_BITS + 1), code = 0, bits, n;\n for (bits = 1;bits <= MAX_BITS; bits++)\n next_code[bits] = code = code + bl_count[bits - 1] << 1;\n for (n = 0;n <= max_code; n++) {\n var len = tree[n * 2 + 1];\n if (len === 0)\n continue;\n tree[n * 2] = bi_reverse(next_code[len]++, len);\n }\n }\n function tr_static_init() {\n var n, bits, length, code, dist, bl_count = new @Array(MAX_BITS + 1);\n length = 0;\n for (code = 0;code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0;n < 1 << extra_lbits[code]; n++)\n _length_code[length++] = code;\n }\n _length_code[length - 1] = code, dist = 0;\n for (code = 0;code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0;n < 1 << extra_dbits[code]; n++)\n _dist_code[dist++] = code;\n }\n dist >>= 7;\n for (;code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0;n < 1 << extra_dbits[code] - 7; n++)\n _dist_code[256 + dist++] = code;\n }\n for (bits = 0;bits <= MAX_BITS; bits++)\n bl_count[bits] = 0;\n n = 0;\n while (n <= 143)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n while (n <= 255)\n static_ltree[n * 2 + 1] = 9, n++, bl_count[9]++;\n while (n <= 279)\n static_ltree[n * 2 + 1] = 7, n++, bl_count[7]++;\n while (n <= 287)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n for (n = 0;n < D_CODES; n++)\n static_dtree[n * 2 + 1] = 5, static_dtree[n * 2] = bi_reverse(n, 5);\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS), static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS), static_bl_desc = new StaticTreeDesc(new @Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n }\n function init_block(s) {\n var n;\n for (n = 0;n < L_CODES; n++)\n s.dyn_ltree[n * 2] = 0;\n for (n = 0;n < D_CODES; n++)\n s.dyn_dtree[n * 2] = 0;\n for (n = 0;n < BL_CODES; n++)\n s.bl_tree[n * 2] = 0;\n s.dyn_ltree[END_BLOCK * 2] = 1, s.opt_len = s.static_len = 0, s.last_lit = s.matches = 0;\n }\n function bi_windup(s) {\n if (s.bi_valid > 8)\n put_short(s, s.bi_buf);\n else if (s.bi_valid > 0)\n s.pending_buf[s.pending++] = s.bi_buf;\n s.bi_buf = 0, s.bi_valid = 0;\n }\n function copy_block(s, buf, len, header) {\n if (bi_windup(s), header)\n put_short(s, len), put_short(s, ~len);\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending), s.pending += len;\n }\n function smaller(tree, n, m, depth) {\n var _n2 = n * 2, _m2 = m * 2;\n return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m];\n }\n function pqdownheap(s, tree, k) {\n var v = s.heap[k], j = k << 1;\n while (j <= s.heap_len) {\n if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth))\n j++;\n if (smaller(tree, v, s.heap[j], s.depth))\n break;\n s.heap[k] = s.heap[j], k = j, j <<= 1;\n }\n s.heap[k] = v;\n }\n function compress_block(s, ltree, dtree) {\n var dist, lc, lx = 0, code, extra;\n if (s.last_lit !== 0)\n do\n if (dist = s.pending_buf[s.d_buf + lx * 2] << 8 | s.pending_buf[s.d_buf + lx * 2 + 1], lc = s.pending_buf[s.l_buf + lx], lx++, dist === 0)\n send_code(s, lc, ltree);\n else {\n if (code = _length_code[lc], send_code(s, code + LITERALS + 1, ltree), extra = extra_lbits[code], extra !== 0)\n lc -= base_length[code], send_bits(s, lc, extra);\n if (dist--, code = d_code(dist), send_code(s, code, dtree), extra = extra_dbits[code], extra !== 0)\n dist -= base_dist[code], send_bits(s, dist, extra);\n }\n while (lx < s.last_lit);\n send_code(s, END_BLOCK, ltree);\n }\n function build_tree(s, desc) {\n var tree = desc.dyn_tree, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, elems = desc.stat_desc.elems, n, m, max_code = -1, node;\n s.heap_len = 0, s.heap_max = HEAP_SIZE;\n for (n = 0;n < elems; n++)\n if (tree[n * 2] !== 0)\n s.heap[++s.heap_len] = max_code = n, s.depth[n] = 0;\n else\n tree[n * 2 + 1] = 0;\n while (s.heap_len < 2)\n if (node = s.heap[++s.heap_len] = max_code < 2 \? ++max_code : 0, tree[node * 2] = 1, s.depth[node] = 0, s.opt_len--, has_stree)\n s.static_len -= stree[node * 2 + 1];\n desc.max_code = max_code;\n for (n = s.heap_len >> 1;n >= 1; n--)\n pqdownheap(s, tree, n);\n node = elems;\n do\n n = s.heap[1], s.heap[1] = s.heap[s.heap_len--], pqdownheap(s, tree, 1), m = s.heap[1], s.heap[--s.heap_max] = n, s.heap[--s.heap_max] = m, tree[node * 2] = tree[n * 2] + tree[m * 2], s.depth[node] = (s.depth[n] >= s.depth[m] \? s.depth[n] : s.depth[m]) + 1, tree[n * 2 + 1] = tree[m * 2 + 1] = node, s.heap[1] = node++, pqdownheap(s, tree, 1);\n while (s.heap_len >= 2);\n s.heap[--s.heap_max] = s.heap[1], gen_bitlen(s, desc), gen_codes(tree, max_code, s.bl_count);\n }\n function scan_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n tree[(max_code + 1) * 2 + 1] = 65535;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n s.bl_tree[curlen * 2] += count;\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n s.bl_tree[curlen * 2]++;\n s.bl_tree[REP_3_6 * 2]++;\n } else if (count <= 10)\n s.bl_tree[REPZ_3_10 * 2]++;\n else\n s.bl_tree[REPZ_11_138 * 2]++;\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function send_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n do\n send_code(s, curlen, s.bl_tree);\n while (--count !== 0);\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n send_code(s, curlen, s.bl_tree), count--;\n send_code(s, REP_3_6, s.bl_tree), send_bits(s, count - 3, 2);\n } else if (count <= 10)\n send_code(s, REPZ_3_10, s.bl_tree), send_bits(s, count - 3, 3);\n else\n send_code(s, REPZ_11_138, s.bl_tree), send_bits(s, count - 11, 7);\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function build_bl_tree(s) {\n var max_blindex;\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code), scan_tree(s, s.dyn_dtree, s.d_desc.max_code), build_tree(s, s.bl_desc);\n for (max_blindex = BL_CODES - 1;max_blindex >= 3; max_blindex--)\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0)\n break;\n return s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4, max_blindex;\n }\n function send_all_trees(s, lcodes, dcodes, blcodes) {\n var rank;\n send_bits(s, lcodes - 257, 5), send_bits(s, dcodes - 1, 5), send_bits(s, blcodes - 4, 4);\n for (rank = 0;rank < blcodes; rank++)\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1], 3);\n send_tree(s, s.dyn_ltree, lcodes - 1), send_tree(s, s.dyn_dtree, dcodes - 1);\n }\n function detect_data_type(s) {\n var black_mask = 4093624447, n;\n for (n = 0;n <= 31; n++, black_mask >>>= 1)\n if (black_mask & 1 && s.dyn_ltree[n * 2] !== 0)\n return Z_BINARY;\n if (s.dyn_ltree[18] !== 0 || s.dyn_ltree[20] !== 0 || s.dyn_ltree[26] !== 0)\n return Z_TEXT;\n for (n = 32;n < LITERALS; n++)\n if (s.dyn_ltree[n * 2] !== 0)\n return Z_TEXT;\n return Z_BINARY;\n }\n var static_init_done = !1;\n function _tr_init(s) {\n if (!static_init_done)\n tr_static_init(), static_init_done = !0;\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc), s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc), s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc), s.bi_buf = 0, s.bi_valid = 0, init_block(s);\n }\n function _tr_stored_block(s, buf, stored_len, last) {\n send_bits(s, (STORED_BLOCK << 1) + (last \? 1 : 0), 3), copy_block(s, buf, stored_len, !0);\n }\n function _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3), send_code(s, END_BLOCK, static_ltree), bi_flush(s);\n }\n function _tr_flush_block(s, buf, stored_len, last) {\n var opt_lenb, static_lenb, max_blindex = 0;\n if (s.level > 0) {\n if (s.strm.data_type === Z_UNKNOWN)\n s.strm.data_type = detect_data_type(s);\n if (build_tree(s, s.l_desc), build_tree(s, s.d_desc), max_blindex = build_bl_tree(s), opt_lenb = s.opt_len + 3 + 7 >>> 3, static_lenb = s.static_len + 3 + 7 >>> 3, static_lenb <= opt_lenb)\n opt_lenb = static_lenb;\n } else\n opt_lenb = static_lenb = stored_len + 5;\n if (stored_len + 4 <= opt_lenb && buf !== -1)\n _tr_stored_block(s, buf, stored_len, last);\n else if (s.strategy === Z_FIXED || static_lenb === opt_lenb)\n send_bits(s, (STATIC_TREES << 1) + (last \? 1 : 0), 3), compress_block(s, static_ltree, static_dtree);\n else\n send_bits(s, (DYN_TREES << 1) + (last \? 1 : 0), 3), send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1), compress_block(s, s.dyn_ltree, s.dyn_dtree);\n if (init_block(s), last)\n bi_windup(s);\n }\n function _tr_tally(s, dist, lc) {\n if (s.pending_buf[s.d_buf + s.last_lit * 2] = dist >>> 8 & 255, s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 255, s.pending_buf[s.l_buf + s.last_lit] = lc & 255, s.last_lit++, dist === 0)\n s.dyn_ltree[lc * 2]++;\n else\n s.matches++, dist--, s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]++, s.dyn_dtree[d_code(dist) * 2]++;\n return s.last_lit === s.lit_bufsize - 1;\n }\n exports._tr_init = _tr_init, exports._tr_stored_block = _tr_stored_block, exports._tr_flush_block = _tr_flush_block, exports._tr_tally = _tr_tally, exports._tr_align = _tr_align;\n }\n}), require_adler32 = __commonJS({\n \"node_modules/pako/lib/zlib/adler32.js\"(exports, module2) {\n function adler32(adler, buf, len, pos) {\n var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0;\n while (len !== 0) {\n n = len > 2000 \? 2000 : len, len -= n;\n do\n s1 = s1 + buf[pos++] | 0, s2 = s2 + s1 | 0;\n while (--n);\n s1 %= 65521, s2 %= 65521;\n }\n return s1 | s2 << 16 | 0;\n }\n module2.exports = adler32;\n }\n}), require_crc32 = __commonJS({\n \"node_modules/pako/lib/zlib/crc32.js\"(exports, module2) {\n function makeTable() {\n var c, table = [];\n for (var n = 0;n < 256; n++) {\n c = n;\n for (var k = 0;k < 8; k++)\n c = c & 1 \? 3988292384 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return table;\n }\n var crcTable = makeTable();\n function crc32(crc, buf, len, pos) {\n var t = crcTable, end = pos + len;\n crc ^= -1;\n for (var i = pos;i < end; i++)\n crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255];\n return crc ^ -1;\n }\n module2.exports = crc32;\n }\n}), require_messages = __commonJS({\n \"node_modules/pako/lib/zlib/messages.js\"(exports, module2) {\n module2.exports = {\n 2: \"need dictionary\",\n 1: \"stream end\",\n 0: \"\",\n \"-1\": \"file error\",\n \"-2\": \"stream error\",\n \"-3\": \"data error\",\n \"-4\": \"insufficient memory\",\n \"-5\": \"buffer error\",\n \"-6\": \"incompatible version\"\n };\n }\n}), require_deflate = __commonJS({\n \"node_modules/pako/lib/zlib/deflate.js\"(exports) {\n var utils = require_common(), trees = require_trees(), adler32 = require_adler32(), crc32 = require_crc32(), msg = require_messages(), Z_NO_FLUSH = 0, Z_PARTIAL_FLUSH = 1, Z_FULL_FLUSH = 3, Z_FINISH = 4, Z_BLOCK = 5, Z_OK = 0, Z_STREAM_END = 1, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_BUF_ERROR = -5, Z_DEFAULT_COMPRESSION = -1, Z_FILTERED = 1, Z_HUFFMAN_ONLY = 2, Z_RLE = 3, Z_FIXED = 4, Z_DEFAULT_STRATEGY = 0, Z_UNKNOWN = 2, Z_DEFLATED = 8, MAX_MEM_LEVEL = 9, MAX_WBITS = 15, DEF_MEM_LEVEL = 8, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, MIN_MATCH = 3, MAX_MATCH = 258, MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1, PRESET_DICT = 32, INIT_STATE = 42, EXTRA_STATE = 69, NAME_STATE = 73, COMMENT_STATE = 91, HCRC_STATE = 103, BUSY_STATE = 113, FINISH_STATE = 666, BS_NEED_MORE = 1, BS_BLOCK_DONE = 2, BS_FINISH_STARTED = 3, BS_FINISH_DONE = 4, OS_CODE = 3;\n function err(strm, errorCode) {\n return strm.msg = msg[errorCode], errorCode;\n }\n function rank(f) {\n return (f << 1) - (f > 4 \? 9 : 0);\n }\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n function flush_pending(strm) {\n var s = strm.state, len = s.pending;\n if (len > strm.avail_out)\n len = strm.avail_out;\n if (len === 0)\n return;\n if (utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out), strm.next_out += len, s.pending_out += len, strm.total_out += len, strm.avail_out -= len, s.pending -= len, s.pending === 0)\n s.pending_out = 0;\n }\n function flush_block_only(s, last) {\n trees._tr_flush_block(s, s.block_start >= 0 \? s.block_start : -1, s.strstart - s.block_start, last), s.block_start = s.strstart, flush_pending(s.strm);\n }\n function put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n }\n function putShortMSB(s, b) {\n s.pending_buf[s.pending++] = b >>> 8 & 255, s.pending_buf[s.pending++] = b & 255;\n }\n function read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n if (len > size)\n len = size;\n if (len === 0)\n return 0;\n if (strm.avail_in -= len, utils.arraySet(buf, strm.input, strm.next_in, len, start), strm.state.wrap === 1)\n strm.adler = adler32(strm.adler, buf, len, start);\n else if (strm.state.wrap === 2)\n strm.adler = crc32(strm.adler, buf, len, start);\n return strm.next_in += len, strm.total_in += len, len;\n }\n function longest_match(s, cur_match) {\n var { max_chain_length: chain_length, strstart: scan } = s, match, len, best_len = s.prev_length, nice_match = s.nice_match, limit = s.strstart > s.w_size - MIN_LOOKAHEAD \? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0, _win = s.window, wmask = s.w_mask, prev = s.prev, strend = s.strstart + MAX_MATCH, scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n if (s.prev_length >= s.good_match)\n chain_length >>= 2;\n if (nice_match > s.lookahead)\n nice_match = s.lookahead;\n do {\n if (match = cur_match, _win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1])\n continue;\n scan += 2, match++;\n do\n ;\n while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend);\n if (len = MAX_MATCH - (strend - scan), scan = strend - MAX_MATCH, len > best_len) {\n if (s.match_start = cur_match, best_len = len, len >= nice_match)\n break;\n scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n if (best_len <= s.lookahead)\n return best_len;\n return s.lookahead;\n }\n function fill_window(s) {\n var _w_size = s.w_size, p, n, m, more, str;\n do {\n if (more = s.window_size - s.lookahead - s.strstart, s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0), s.match_start -= _w_size, s.strstart -= _w_size, s.block_start -= _w_size, n = s.hash_size, p = n;\n do\n m = s.head[--p], s.head[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n n = _w_size, p = n;\n do\n m = s.prev[--p], s.prev[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n more += _w_size;\n }\n if (s.strm.avail_in === 0)\n break;\n if (n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more), s.lookahead += n, s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert, s.ins_h = s.window[str], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + 1]) & s.hash_mask;\n while (s.insert)\n if (s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++, s.insert--, s.lookahead + s.insert < MIN_MATCH)\n break;\n }\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n }\n function deflate_stored(s, flush) {\n var max_block_size = 65535;\n if (max_block_size > s.pending_buf_size - 5)\n max_block_size = s.pending_buf_size - 5;\n for (;; ) {\n if (s.lookahead <= 1) {\n if (fill_window(s), s.lookahead === 0 && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n s.strstart += s.lookahead, s.lookahead = 0;\n var max_start = s.block_start + max_block_size;\n if (s.strstart === 0 || s.strstart >= max_start) {\n if (s.lookahead = s.strstart - max_start, s.strstart = max_start, flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n if (s.strstart - s.block_start >= s.w_size - MIN_LOOKAHEAD) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.strstart > s.block_start) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_NEED_MORE;\n }\n function deflate_fast(s, flush) {\n var hash_head, bflush;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (hash_head !== 0 && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD)\n s.match_length = longest_match(s, hash_head);\n if (s.match_length >= MIN_MATCH)\n if (bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.match_length <= s.max_lazy_match && s.lookahead >= MIN_MATCH) {\n s.match_length--;\n do\n s.strstart++, s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.match_length !== 0);\n s.strstart++;\n } else\n s.strstart += s.match_length, s.match_length = 0, s.ins_h = s.window[s.strstart], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + 1]) & s.hash_mask;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_slow(s, flush) {\n var hash_head, bflush, max_insert;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (s.prev_length = s.match_length, s.prev_match = s.match_start, s.match_length = MIN_MATCH - 1, hash_head !== 0 && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) {\n if (s.match_length = longest_match(s, hash_head), s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096))\n s.match_length = MIN_MATCH - 1;\n }\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH, bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH), s.lookahead -= s.prev_length - 1, s.prev_length -= 2;\n do\n if (++s.strstart <= max_insert)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.prev_length !== 0);\n if (s.match_available = 0, s.match_length = MIN_MATCH - 1, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n } else if (s.match_available) {\n if (bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), bflush)\n flush_block_only(s, !1);\n if (s.strstart++, s.lookahead--, s.strm.avail_out === 0)\n return BS_NEED_MORE;\n } else\n s.match_available = 1, s.strstart++, s.lookahead--;\n }\n if (s.match_available)\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), s.match_available = 0;\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_rle(s, flush) {\n var bflush, prev, scan, strend, _win = s.window;\n for (;; ) {\n if (s.lookahead <= MAX_MATCH) {\n if (fill_window(s), s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (s.match_length = 0, s.lookahead >= MIN_MATCH && s.strstart > 0) {\n if (scan = s.strstart - 1, prev = _win[scan], prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do\n ;\n while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend);\n if (s.match_length = MAX_MATCH - (strend - scan), s.match_length > s.lookahead)\n s.match_length = s.lookahead;\n }\n }\n if (s.match_length >= MIN_MATCH)\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.strstart += s.match_length, s.match_length = 0;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_huff(s, flush) {\n var bflush;\n for (;; ) {\n if (s.lookahead === 0) {\n if (fill_window(s), s.lookahead === 0) {\n if (flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n break;\n }\n }\n if (s.match_length = 0, bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length, this.max_lazy = max_lazy, this.nice_length = nice_length, this.max_chain = max_chain, this.func = func;\n }\n var configuration_table = [\n new Config(0, 0, 0, 0, deflate_stored),\n new Config(4, 4, 8, 4, deflate_fast),\n new Config(4, 5, 16, 8, deflate_fast),\n new Config(4, 6, 32, 32, deflate_fast),\n new Config(4, 4, 16, 16, deflate_slow),\n new Config(8, 16, 32, 32, deflate_slow),\n new Config(8, 16, 128, 128, deflate_slow),\n new Config(8, 32, 128, 256, deflate_slow),\n new Config(32, 128, 258, 1024, deflate_slow),\n new Config(32, 258, 258, 4096, deflate_slow)\n ];\n function lm_init(s) {\n s.window_size = 2 * s.w_size, zero(s.head), s.max_lazy_match = configuration_table[s.level].max_lazy, s.good_match = configuration_table[s.level].good_length, s.nice_match = configuration_table[s.level].nice_length, s.max_chain_length = configuration_table[s.level].max_chain, s.strstart = 0, s.block_start = 0, s.lookahead = 0, s.insert = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, s.ins_h = 0;\n }\n function DeflateState() {\n this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = Z_DEFLATED, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2), this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2), this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2), zero(this.dyn_ltree), zero(this.dyn_dtree), zero(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new utils.Buf16(MAX_BITS + 1), this.heap = new utils.Buf16(2 * L_CODES + 1), zero(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new utils.Buf16(2 * L_CODES + 1), zero(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;\n }\n function deflateResetKeep(strm) {\n var s;\n if (!strm || !strm.state)\n return err(strm, Z_STREAM_ERROR);\n if (strm.total_in = strm.total_out = 0, strm.data_type = Z_UNKNOWN, s = strm.state, s.pending = 0, s.pending_out = 0, s.wrap < 0)\n s.wrap = -s.wrap;\n return s.status = s.wrap \? INIT_STATE : BUSY_STATE, strm.adler = s.wrap === 2 \? 0 : 1, s.last_flush = Z_NO_FLUSH, trees._tr_init(s), Z_OK;\n }\n function deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK)\n lm_init(strm.state);\n return ret;\n }\n function deflateSetHeader(strm, head) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (strm.state.wrap !== 2)\n return Z_STREAM_ERROR;\n return strm.state.gzhead = head, Z_OK;\n }\n function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm)\n return Z_STREAM_ERROR;\n var wrap = 1;\n if (level === Z_DEFAULT_COMPRESSION)\n level = 6;\n if (windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (windowBits > 15)\n wrap = 2, windowBits -= 16;\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED)\n return err(strm, Z_STREAM_ERROR);\n if (windowBits === 8)\n windowBits = 9;\n var s = new DeflateState;\n return strm.state = s, s.strm = strm, s.wrap = wrap, s.gzhead = null, s.w_bits = windowBits, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = memLevel + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH), s.window = new utils.Buf8(s.w_size * 2), s.head = new utils.Buf16(s.hash_size), s.prev = new utils.Buf16(s.w_size), s.lit_bufsize = 1 << memLevel + 6, s.pending_buf_size = s.lit_bufsize * 4, s.pending_buf = new utils.Buf8(s.pending_buf_size), s.d_buf = 1 * s.lit_bufsize, s.l_buf = 3 * s.lit_bufsize, s.level = level, s.strategy = strategy, s.method = method, deflateReset(strm);\n }\n function deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n }\n function deflate(strm, flush) {\n var old_flush, s, beg, val;\n if (!strm || !strm.state || flush > Z_BLOCK || flush < 0)\n return strm \? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n if (s = strm.state, !strm.output || !strm.input && strm.avail_in !== 0 || s.status === FINISH_STATE && flush !== Z_FINISH)\n return err(strm, strm.avail_out === 0 \? Z_BUF_ERROR : Z_STREAM_ERROR);\n if (s.strm = strm, old_flush = s.last_flush, s.last_flush = flush, s.status === INIT_STATE)\n if (s.wrap === 2)\n if (strm.adler = 0, put_byte(s, 31), put_byte(s, 139), put_byte(s, 8), !s.gzhead)\n put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, OS_CODE), s.status = BUSY_STATE;\n else {\n if (put_byte(s, (s.gzhead.text \? 1 : 0) + (s.gzhead.hcrc \? 2 : 0) + (!s.gzhead.extra \? 0 : 4) + (!s.gzhead.name \? 0 : 8) + (!s.gzhead.comment \? 0 : 16)), put_byte(s, s.gzhead.time & 255), put_byte(s, s.gzhead.time >> 8 & 255), put_byte(s, s.gzhead.time >> 16 & 255), put_byte(s, s.gzhead.time >> 24 & 255), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, s.gzhead.os & 255), s.gzhead.extra && s.gzhead.extra.length)\n put_byte(s, s.gzhead.extra.length & 255), put_byte(s, s.gzhead.extra.length >> 8 & 255);\n if (s.gzhead.hcrc)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n s.gzindex = 0, s.status = EXTRA_STATE;\n }\n else {\n var header = Z_DEFLATED + (s.w_bits - 8 << 4) << 8, level_flags = -1;\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2)\n level_flags = 0;\n else if (s.level < 6)\n level_flags = 1;\n else if (s.level === 6)\n level_flags = 2;\n else\n level_flags = 3;\n if (header |= level_flags << 6, s.strstart !== 0)\n header |= PRESET_DICT;\n if (header += 31 - header % 31, s.status = BUSY_STATE, putShortMSB(s, header), s.strstart !== 0)\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n strm.adler = 1;\n }\n if (s.status === EXTRA_STATE)\n if (s.gzhead.extra) {\n beg = s.pending;\n while (s.gzindex < (s.gzhead.extra.length & 65535)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size)\n break;\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 255), s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (s.gzindex === s.gzhead.extra.length)\n s.gzindex = 0, s.status = NAME_STATE;\n } else\n s.status = NAME_STATE;\n if (s.status === NAME_STATE)\n if (s.gzhead.name) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.name.length)\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.gzindex = 0, s.status = COMMENT_STATE;\n } else\n s.status = COMMENT_STATE;\n if (s.status === COMMENT_STATE)\n if (s.gzhead.comment) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.comment.length)\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.status = HCRC_STATE;\n } else\n s.status = HCRC_STATE;\n if (s.status === HCRC_STATE)\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size)\n flush_pending(strm);\n if (s.pending + 2 <= s.pending_buf_size)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), strm.adler = 0, s.status = BUSY_STATE;\n } else\n s.status = BUSY_STATE;\n if (s.pending !== 0) {\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH)\n return err(strm, Z_BUF_ERROR);\n if (s.status === FINISH_STATE && strm.avail_in !== 0)\n return err(strm, Z_BUF_ERROR);\n if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH && s.status !== FINISH_STATE) {\n var bstate = s.strategy === Z_HUFFMAN_ONLY \? deflate_huff(s, flush) : s.strategy === Z_RLE \? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush);\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE)\n s.status = FINISH_STATE;\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0)\n s.last_flush = -1;\n return Z_OK;\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH)\n trees._tr_align(s);\n else if (flush !== Z_BLOCK) {\n if (trees._tr_stored_block(s, 0, 0, !1), flush === Z_FULL_FLUSH) {\n if (zero(s.head), s.lookahead === 0)\n s.strstart = 0, s.block_start = 0, s.insert = 0;\n }\n }\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n }\n }\n if (flush !== Z_FINISH)\n return Z_OK;\n if (s.wrap <= 0)\n return Z_STREAM_END;\n if (s.wrap === 2)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), put_byte(s, strm.adler >> 16 & 255), put_byte(s, strm.adler >> 24 & 255), put_byte(s, strm.total_in & 255), put_byte(s, strm.total_in >> 8 & 255), put_byte(s, strm.total_in >> 16 & 255), put_byte(s, strm.total_in >> 24 & 255);\n else\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n if (flush_pending(strm), s.wrap > 0)\n s.wrap = -s.wrap;\n return s.pending !== 0 \? Z_OK : Z_STREAM_END;\n }\n function deflateEnd(strm) {\n var status;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (status = strm.state.status, status !== INIT_STATE && status !== EXTRA_STATE && status !== NAME_STATE && status !== COMMENT_STATE && status !== HCRC_STATE && status !== BUSY_STATE && status !== FINISH_STATE)\n return err(strm, Z_STREAM_ERROR);\n return strm.state = null, status === BUSY_STATE \? err(strm, Z_DATA_ERROR) : Z_OK;\n }\n function deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, s, str, n, wrap, avail, next, input, tmpDict;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (s = strm.state, wrap = s.wrap, wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead)\n return Z_STREAM_ERROR;\n if (wrap === 1)\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n if (s.wrap = 0, dictLength >= s.w_size) {\n if (wrap === 0)\n zero(s.head), s.strstart = 0, s.block_start = 0, s.insert = 0;\n tmpDict = new utils.Buf8(s.w_size), utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0), dictionary = tmpDict, dictLength = s.w_size;\n }\n avail = strm.avail_in, next = strm.next_in, input = strm.input, strm.avail_in = dictLength, strm.next_in = 0, strm.input = dictionary, fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart, n = s.lookahead - (MIN_MATCH - 1);\n do\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++;\n while (--n);\n s.strstart = str, s.lookahead = MIN_MATCH - 1, fill_window(s);\n }\n return s.strstart += s.lookahead, s.block_start = s.strstart, s.insert = s.lookahead, s.lookahead = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, strm.next_in = next, strm.input = input, strm.avail_in = avail, s.wrap = wrap, Z_OK;\n }\n exports.deflateInit = deflateInit, exports.deflateInit2 = deflateInit2, exports.deflateReset = deflateReset, exports.deflateResetKeep = deflateResetKeep, exports.deflateSetHeader = deflateSetHeader, exports.deflate = deflate, exports.deflateEnd = deflateEnd, exports.deflateSetDictionary = deflateSetDictionary, exports.deflateInfo = \"pako deflate (from Nodeca project)\";\n }\n}), require_inffast = __commonJS({\n \"node_modules/pako/lib/zlib/inffast.js\"(exports, module2) {\n var BAD = 30, TYPE = 12;\n module2.exports = function inflate_fast(strm, start) {\n var state, _in, last, _out, beg, end, dmax, wsize, whave, wnext, s_window, hold, bits, lcode, dcode, lmask, dmask, here, op, len, dist, from, from_source, input, output;\n state = strm.state, _in = strm.next_in, input = strm.input, last = _in + (strm.avail_in - 5), _out = strm.next_out, output = strm.output, beg = _out - (start - strm.avail_out), end = _out + (strm.avail_out - 257), dmax = state.dmax, wsize = state.wsize, whave = state.whave, wnext = state.wnext, s_window = state.window, hold = state.hold, bits = state.bits, lcode = state.lencode, dcode = state.distcode, lmask = (1 << state.lenbits) - 1, dmask = (1 << state.distbits) - 1;\n top:\n do {\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = lcode[hold & lmask];\n dolen:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op === 0)\n output[_out++] = here & 65535;\n else if (op & 16) {\n if (len = here & 65535, op &= 15, op) {\n if (bits < op)\n hold += input[_in++] << bits, bits += 8;\n len += hold & (1 << op) - 1, hold >>>= op, bits -= op;\n }\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = dcode[hold & dmask];\n dodist:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op & 16) {\n if (dist = here & 65535, op &= 15, bits < op) {\n if (hold += input[_in++] << bits, bits += 8, bits < op)\n hold += input[_in++] << bits, bits += 8;\n }\n if (dist += hold & (1 << op) - 1, dist > dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n if (hold >>>= op, bits -= op, op = _out - beg, dist > op) {\n if (op = dist - op, op > whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n }\n if (from = 0, from_source = s_window, wnext === 0) {\n if (from += wsize - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n } else if (wnext < op) {\n if (from += wsize + wnext - op, op -= wnext, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n if (from = 0, wnext < len) {\n op = wnext, len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n }\n } else if (from += wnext - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n while (len > 2)\n output[_out++] = from_source[from++], output[_out++] = from_source[from++], output[_out++] = from_source[from++], len -= 3;\n if (len) {\n if (output[_out++] = from_source[from++], len > 1)\n output[_out++] = from_source[from++];\n }\n } else {\n from = _out - dist;\n do\n output[_out++] = output[from++], output[_out++] = output[from++], output[_out++] = output[from++], len -= 3;\n while (len > 2);\n if (len) {\n if (output[_out++] = output[from++], len > 1)\n output[_out++] = output[from++];\n }\n }\n } else if ((op & 64) === 0) {\n here = dcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dodist;\n } else {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } else if ((op & 64) === 0) {\n here = lcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dolen;\n } else if (op & 32) {\n state.mode = TYPE;\n break top;\n } else {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } while (_in < last && _out < end);\n len = bits >> 3, _in -= len, bits -= len << 3, hold &= (1 << bits) - 1, strm.next_in = _in, strm.next_out = _out, strm.avail_in = _in < last \? 5 + (last - _in) : 5 - (_in - last), strm.avail_out = _out < end \? 257 + (end - _out) : 257 - (_out - end), state.hold = hold, state.bits = bits;\n return;\n };\n }\n}), require_inftrees = __commonJS({\n \"node_modules/pako/lib/zlib/inftrees.js\"(exports, module2) {\n var utils = require_common(), MAXBITS = 15, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, CODES = 0, LENS = 1, DISTS = 2, lbase = [\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 13,\n 15,\n 17,\n 19,\n 23,\n 27,\n 31,\n 35,\n 43,\n 51,\n 59,\n 67,\n 83,\n 99,\n 115,\n 131,\n 163,\n 195,\n 227,\n 258,\n 0,\n 0\n ], lext = [\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 18,\n 19,\n 19,\n 19,\n 19,\n 20,\n 20,\n 20,\n 20,\n 21,\n 21,\n 21,\n 21,\n 16,\n 72,\n 78\n ], dbase = [\n 1,\n 2,\n 3,\n 4,\n 5,\n 7,\n 9,\n 13,\n 17,\n 25,\n 33,\n 49,\n 65,\n 97,\n 129,\n 193,\n 257,\n 385,\n 513,\n 769,\n 1025,\n 1537,\n 2049,\n 3073,\n 4097,\n 6145,\n 8193,\n 12289,\n 16385,\n 24577,\n 0,\n 0\n ], dext = [\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 18,\n 18,\n 19,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 24,\n 25,\n 25,\n 26,\n 26,\n 27,\n 27,\n 28,\n 28,\n 29,\n 29,\n 64,\n 64\n ];\n module2.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {\n var bits = opts.bits, len = 0, sym = 0, min = 0, max = 0, root = 0, curr = 0, drop = 0, left = 0, used = 0, huff = 0, incr, fill, low, mask, next, base = null, base_index = 0, end, count = new utils.Buf16(MAXBITS + 1), offs = new utils.Buf16(MAXBITS + 1), extra = null, extra_index = 0, here_bits, here_op, here_val;\n for (len = 0;len <= MAXBITS; len++)\n count[len] = 0;\n for (sym = 0;sym < codes; sym++)\n count[lens[lens_index + sym]]++;\n root = bits;\n for (max = MAXBITS;max >= 1; max--)\n if (count[max] !== 0)\n break;\n if (root > max)\n root = max;\n if (max === 0)\n return table[table_index++] = 1 << 24 | 64 << 16 | 0, table[table_index++] = 1 << 24 | 64 << 16 | 0, opts.bits = 1, 0;\n for (min = 1;min < max; min++)\n if (count[min] !== 0)\n break;\n if (root < min)\n root = min;\n left = 1;\n for (len = 1;len <= MAXBITS; len++)\n if (left <<= 1, left -= count[len], left < 0)\n return -1;\n if (left > 0 && (type === CODES || max !== 1))\n return -1;\n offs[1] = 0;\n for (len = 1;len < MAXBITS; len++)\n offs[len + 1] = offs[len] + count[len];\n for (sym = 0;sym < codes; sym++)\n if (lens[lens_index + sym] !== 0)\n work[offs[lens[lens_index + sym]]++] = sym;\n if (type === CODES)\n base = extra = work, end = 19;\n else if (type === LENS)\n base = lbase, base_index -= 257, extra = lext, extra_index -= 257, end = 256;\n else\n base = dbase, extra = dext, end = -1;\n if (huff = 0, sym = 0, len = min, next = table_index, curr = root, drop = 0, low = -1, used = 1 << root, mask = used - 1, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n for (;; ) {\n if (here_bits = len - drop, work[sym] < end)\n here_op = 0, here_val = work[sym];\n else if (work[sym] > end)\n here_op = extra[extra_index + work[sym]], here_val = base[base_index + work[sym]];\n else\n here_op = 96, here_val = 0;\n incr = 1 << len - drop, fill = 1 << curr, min = fill;\n do\n fill -= incr, table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;\n while (fill !== 0);\n incr = 1 << len - 1;\n while (huff & incr)\n incr >>= 1;\n if (incr !== 0)\n huff &= incr - 1, huff += incr;\n else\n huff = 0;\n if (sym++, --count[len] === 0) {\n if (len === max)\n break;\n len = lens[lens_index + work[sym]];\n }\n if (len > root && (huff & mask) !== low) {\n if (drop === 0)\n drop = root;\n next += min, curr = len - drop, left = 1 << curr;\n while (curr + drop < max) {\n if (left -= count[curr + drop], left <= 0)\n break;\n curr++, left <<= 1;\n }\n if (used += 1 << curr, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n low = huff & mask, table[low] = root << 24 | curr << 16 | next - table_index | 0;\n }\n }\n if (huff !== 0)\n table[next + huff] = len - drop << 24 | 64 << 16 | 0;\n return opts.bits = root, 0;\n };\n }\n}), require_inflate = __commonJS({\n \"node_modules/pako/lib/zlib/inflate.js\"(exports) {\n var utils = require_common(), adler32 = require_adler32(), crc32 = require_crc32(), inflate_fast = require_inffast(), inflate_table = require_inftrees(), CODES = 0, LENS = 1, DISTS = 2, Z_FINISH = 4, Z_BLOCK = 5, Z_TREES = 6, Z_OK = 0, Z_STREAM_END = 1, Z_NEED_DICT = 2, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_MEM_ERROR = -4, Z_BUF_ERROR = -5, Z_DEFLATED = 8, HEAD = 1, FLAGS = 2, TIME = 3, OS = 4, EXLEN = 5, EXTRA = 6, NAME = 7, COMMENT = 8, HCRC = 9, DICTID = 10, DICT = 11, TYPE = 12, TYPEDO = 13, STORED = 14, COPY_ = 15, COPY = 16, TABLE = 17, LENLENS = 18, CODELENS = 19, LEN_ = 20, LEN = 21, LENEXT = 22, DIST = 23, DISTEXT = 24, MATCH = 25, LIT = 26, CHECK = 27, LENGTH = 28, DONE = 29, BAD = 30, MEM = 31, SYNC = 32, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, MAX_WBITS = 15, DEF_WBITS = MAX_WBITS;\n function zswap32(q) {\n return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24);\n }\n function InflateState() {\n this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new utils.Buf16(320), this.work = new utils.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;\n }\n function inflateResetKeep(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, strm.total_in = strm.total_out = state.total = 0, strm.msg = \"\", state.wrap)\n strm.adler = state.wrap & 1;\n return state.mode = HEAD, state.last = 0, state.havedict = 0, state.dmax = 32768, state.head = null, state.hold = 0, state.bits = 0, state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS), state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS), state.sane = 1, state.back = -1, Z_OK;\n }\n function inflateReset(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n return state = strm.state, state.wsize = 0, state.whave = 0, state.wnext = 0, inflateResetKeep(strm);\n }\n function inflateReset2(strm, windowBits) {\n var wrap, state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (wrap = (windowBits >> 4) + 1, windowBits < 48)\n windowBits &= 15;\n if (windowBits && (windowBits < 8 || windowBits > 15))\n return Z_STREAM_ERROR;\n if (state.window !== null && state.wbits !== windowBits)\n state.window = null;\n return state.wrap = wrap, state.wbits = windowBits, inflateReset(strm);\n }\n function inflateInit2(strm, windowBits) {\n var ret, state;\n if (!strm)\n return Z_STREAM_ERROR;\n if (state = new InflateState, strm.state = state, state.window = null, ret = inflateReset2(strm, windowBits), ret !== Z_OK)\n strm.state = null;\n return ret;\n }\n function inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n }\n var virgin = !0, lenfix, distfix;\n function fixedtables(state) {\n if (virgin) {\n var sym;\n lenfix = new utils.Buf32(512), distfix = new utils.Buf32(32), sym = 0;\n while (sym < 144)\n state.lens[sym++] = 8;\n while (sym < 256)\n state.lens[sym++] = 9;\n while (sym < 280)\n state.lens[sym++] = 7;\n while (sym < 288)\n state.lens[sym++] = 8;\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {\n bits: 9\n }), sym = 0;\n while (sym < 32)\n state.lens[sym++] = 5;\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {\n bits: 5\n }), virgin = !1;\n }\n state.lencode = lenfix, state.lenbits = 9, state.distcode = distfix, state.distbits = 5;\n }\n function updatewindow(strm, src, end, copy) {\n var dist, state = strm.state;\n if (state.window === null)\n state.wsize = 1 << state.wbits, state.wnext = 0, state.whave = 0, state.window = new utils.Buf8(state.wsize);\n if (copy >= state.wsize)\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0), state.wnext = 0, state.whave = state.wsize;\n else {\n if (dist = state.wsize - state.wnext, dist > copy)\n dist = copy;\n if (utils.arraySet(state.window, src, end - copy, dist, state.wnext), copy -= dist, copy)\n utils.arraySet(state.window, src, end - copy, copy, 0), state.wnext = copy, state.whave = state.wsize;\n else {\n if (state.wnext += dist, state.wnext === state.wsize)\n state.wnext = 0;\n if (state.whave < state.wsize)\n state.whave += dist;\n }\n }\n return 0;\n }\n function inflate(strm, flush) {\n var state, input, output, next, put, have, left, hold, bits, _in, _out, copy, from, from_source, here = 0, here_bits, here_op, here_val, last_bits, last_op, last_val, len, ret, hbuf = new utils.Buf8(4), opts, n, order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.mode === TYPE)\n state.mode = TYPEDO;\n put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, _in = have, _out = left, ret = Z_OK;\n inf_leave:\n for (;; )\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.wrap & 2 && hold === 35615) {\n state.check = 0, hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0), hold = 0, bits = 0, state.mode = FLAGS;\n break;\n }\n if (state.flags = 0, state.head)\n state.head.done = !1;\n if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {\n strm.msg = \"incorrect header check\", state.mode = BAD;\n break;\n }\n if ((hold & 15) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (hold >>>= 4, bits -= 4, len = (hold & 15) + 8, state.wbits === 0)\n state.wbits = len;\n else if (len > state.wbits) {\n strm.msg = \"invalid window size\", state.mode = BAD;\n break;\n }\n state.dmax = 1 << len, strm.adler = state.check = 1, state.mode = hold & 512 \? DICTID : TYPE, hold = 0, bits = 0;\n break;\n case FLAGS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.flags = hold, (state.flags & 255) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (state.flags & 57344) {\n strm.msg = \"unknown header flags set\", state.mode = BAD;\n break;\n }\n if (state.head)\n state.head.text = hold >> 8 & 1;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = TIME;\n case TIME:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.time = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, hbuf[2] = hold >>> 16 & 255, hbuf[3] = hold >>> 24 & 255, state.check = crc32(state.check, hbuf, 4, 0);\n hold = 0, bits = 0, state.mode = OS;\n case OS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.xflags = hold & 255, state.head.os = hold >> 8;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = EXLEN;\n case EXLEN:\n if (state.flags & 1024) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.length = hold, state.head)\n state.head.extra_len = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0;\n } else if (state.head)\n state.head.extra = null;\n state.mode = EXTRA;\n case EXTRA:\n if (state.flags & 1024) {\n if (copy = state.length, copy > have)\n copy = have;\n if (copy) {\n if (state.head) {\n if (len = state.head.extra_len - state.length, !state.head.extra)\n state.head.extra = new @Array(state.head.extra_len);\n utils.arraySet(state.head.extra, input, next, copy, len);\n }\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n have -= copy, next += copy, state.length -= copy;\n }\n if (state.length)\n break inf_leave;\n }\n state.length = 0, state.mode = NAME;\n case NAME:\n if (state.flags & 2048) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.name += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.name = null;\n state.length = 0, state.mode = COMMENT;\n case COMMENT:\n if (state.flags & 4096) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.comment += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.comment = null;\n state.mode = HCRC;\n case HCRC:\n if (state.flags & 512) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.check & 65535)) {\n strm.msg = \"header crc mismatch\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n if (state.head)\n state.head.hcrc = state.flags >> 9 & 1, state.head.done = !0;\n strm.adler = state.check = 0, state.mode = TYPE;\n break;\n case DICTID:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n strm.adler = state.check = zswap32(hold), hold = 0, bits = 0, state.mode = DICT;\n case DICT:\n if (state.havedict === 0)\n return strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, Z_NEED_DICT;\n strm.adler = state.check = 1, state.mode = TYPE;\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES)\n break inf_leave;\n case TYPEDO:\n if (state.last) {\n hold >>>= bits & 7, bits -= bits & 7, state.mode = CHECK;\n break;\n }\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n switch (state.last = hold & 1, hold >>>= 1, bits -= 1, hold & 3) {\n case 0:\n state.mode = STORED;\n break;\n case 1:\n if (fixedtables(state), state.mode = LEN_, flush === Z_TREES) {\n hold >>>= 2, bits -= 2;\n break inf_leave;\n }\n break;\n case 2:\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = \"invalid block type\", state.mode = BAD;\n }\n hold >>>= 2, bits -= 2;\n break;\n case STORED:\n hold >>>= bits & 7, bits -= bits & 7;\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((hold & 65535) !== (hold >>> 16 ^ 65535)) {\n strm.msg = \"invalid stored block lengths\", state.mode = BAD;\n break;\n }\n if (state.length = hold & 65535, hold = 0, bits = 0, state.mode = COPY_, flush === Z_TREES)\n break inf_leave;\n case COPY_:\n state.mode = COPY;\n case COPY:\n if (copy = state.length, copy) {\n if (copy > have)\n copy = have;\n if (copy > left)\n copy = left;\n if (copy === 0)\n break inf_leave;\n utils.arraySet(output, input, next, copy, put), have -= copy, next += copy, left -= copy, put += copy, state.length -= copy;\n break;\n }\n state.mode = TYPE;\n break;\n case TABLE:\n while (bits < 14) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.nlen = (hold & 31) + 257, hold >>>= 5, bits -= 5, state.ndist = (hold & 31) + 1, hold >>>= 5, bits -= 5, state.ncode = (hold & 15) + 4, hold >>>= 4, bits -= 4, state.nlen > 286 || state.ndist > 30) {\n strm.msg = \"too many length or distance symbols\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = LENLENS;\n case LENLENS:\n while (state.have < state.ncode) {\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.lens[order[state.have++]] = hold & 7, hold >>>= 3, bits -= 3;\n }\n while (state.have < 19)\n state.lens[order[state.have++]] = 0;\n if (state.lencode = state.lendyn, state.lenbits = 7, opts = { bits: state.lenbits }, ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid code lengths set\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = CODELENS;\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_val < 16)\n hold >>>= here_bits, bits -= here_bits, state.lens[state.have++] = here_val;\n else {\n if (here_val === 16) {\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.have === 0) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1], copy = 3 + (hold & 3), hold >>>= 2, bits -= 2;\n } else if (here_val === 17) {\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 3 + (hold & 7), hold >>>= 3, bits -= 3;\n } else {\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 11 + (hold & 127), hold >>>= 7, bits -= 7;\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n while (copy--)\n state.lens[state.have++] = len;\n }\n }\n if (state.mode === BAD)\n break;\n if (state.lens[256] === 0) {\n strm.msg = \"invalid code -- missing end-of-block\", state.mode = BAD;\n break;\n }\n if (state.lenbits = 9, opts = { bits: state.lenbits }, ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid literal/lengths set\", state.mode = BAD;\n break;\n }\n if (state.distbits = 6, state.distcode = state.distdyn, opts = { bits: state.distbits }, ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts), state.distbits = opts.bits, ret) {\n strm.msg = \"invalid distances set\", state.mode = BAD;\n break;\n }\n if (state.mode = LEN_, flush === Z_TREES)\n break inf_leave;\n case LEN_:\n state.mode = LEN;\n case LEN:\n if (have >= 6 && left >= 258) {\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, inflate_fast(strm, _out), put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, state.mode === TYPE)\n state.back = -1;\n break;\n }\n state.back = 0;\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_op && (here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, state.length = here_val, here_op === 0) {\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n state.back = -1, state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break;\n }\n state.extra = here_op & 15, state.mode = LENEXT;\n case LENEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.length += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n state.was = state.length, state.mode = DIST;\n case DIST:\n for (;; ) {\n if (here = state.distcode[hold & (1 << state.distbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, here_op & 64) {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break;\n }\n state.offset = here_val, state.extra = here_op & 15, state.mode = DISTEXT;\n case DISTEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.offset += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n if (state.offset > state.dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n state.mode = MATCH;\n case MATCH:\n if (left === 0)\n break inf_leave;\n if (copy = _out - left, state.offset > copy) {\n if (copy = state.offset - copy, copy > state.whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n }\n if (copy > state.wnext)\n copy -= state.wnext, from = state.wsize - copy;\n else\n from = state.wnext - copy;\n if (copy > state.length)\n copy = state.length;\n from_source = state.window;\n } else\n from_source = output, from = put - state.offset, copy = state.length;\n if (copy > left)\n copy = left;\n left -= copy, state.length -= copy;\n do\n output[put++] = from_source[from++];\n while (--copy);\n if (state.length === 0)\n state.mode = LEN;\n break;\n case LIT:\n if (left === 0)\n break inf_leave;\n output[put++] = state.length, left--, state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold |= input[next++] << bits, bits += 8;\n }\n if (_out -= left, strm.total_out += _out, state.total += _out, _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);\n if (_out = left, (state.flags \? hold : zswap32(hold)) !== state.check) {\n strm.msg = \"incorrect data check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = LENGTH;\n case LENGTH:\n if (state.wrap && state.flags) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.total & 4294967295)) {\n strm.msg = \"incorrect length check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = DONE;\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n default:\n return Z_STREAM_ERROR;\n }\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out))\n return state.mode = MEM, Z_MEM_ERROR;\n }\n if (_in -= strm.avail_in, _out -= strm.avail_out, strm.total_in += _in, strm.total_out += _out, state.total += _out, state.wrap && _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);\n if (strm.data_type = state.bits + (state.last \? 64 : 0) + (state.mode === TYPE \? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ \? 256 : 0), (_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK)\n ret = Z_BUF_ERROR;\n return ret;\n }\n function inflateEnd(strm) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n var state = strm.state;\n if (state.window)\n state.window = null;\n return strm.state = null, Z_OK;\n }\n function inflateGetHeader(strm, head) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, (state.wrap & 2) === 0)\n return Z_STREAM_ERROR;\n return state.head = head, head.done = !1, Z_OK;\n }\n function inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, state, dictid, ret;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.wrap !== 0 && state.mode !== DICT)\n return Z_STREAM_ERROR;\n if (state.mode === DICT) {\n if (dictid = 1, dictid = adler32(dictid, dictionary, dictLength, 0), dictid !== state.check)\n return Z_DATA_ERROR;\n }\n if (ret = updatewindow(strm, dictionary, dictLength, dictLength), ret)\n return state.mode = MEM, Z_MEM_ERROR;\n return state.havedict = 1, Z_OK;\n }\n exports.inflateReset = inflateReset, exports.inflateReset2 = inflateReset2, exports.inflateResetKeep = inflateResetKeep, exports.inflateInit = inflateInit, exports.inflateInit2 = inflateInit2, exports.inflate = inflate, exports.inflateEnd = inflateEnd, exports.inflateGetHeader = inflateGetHeader, exports.inflateSetDictionary = inflateSetDictionary, exports.inflateInfo = \"pako inflate (from Nodeca project)\";\n }\n}), require_constants = __commonJS({\n \"node_modules/pako/lib/zlib/constants.js\"(exports, module2) {\n module2.exports = {\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_BUF_ERROR: -5,\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n Z_BINARY: 0,\n Z_TEXT: 1,\n Z_UNKNOWN: 2,\n Z_DEFLATED: 8\n };\n }\n}), require_binding = __commonJS({\n \"node_modules/browserify-zlib/lib/binding.js\"(exports) {\n var Zstream = require_zstream(), zlib_deflate = require_deflate(), zlib_inflate = require_inflate(), constants = require_constants();\n for (key in constants)\n exports[key] = constants[key];\n var key;\n exports.NONE = 0, exports.DEFLATE = 1, exports.INFLATE = 2, exports.GZIP = 3, exports.GUNZIP = 4, exports.DEFLATERAW = 5, exports.INFLATERAW = 6, exports.UNZIP = 7;\n var GZIP_HEADER_ID1 = 31, GZIP_HEADER_ID2 = 139;\n function Zlib(mode) {\n if (typeof mode !== \"number\" || mode < exports.DEFLATE || mode > exports.UNZIP)\n @throwTypeError(\"Bad argument\");\n this.dictionary = null, this.err = 0, this.flush = 0, this.init_done = !1, this.level = 0, this.memLevel = 0, this.mode = mode, this.strategy = 0, this.windowBits = 0, this.write_in_progress = !1, this.pending_close = !1, this.gzip_id_bytes_read = 0;\n }\n Zlib.prototype = {}, Zlib.prototype.close = function() {\n if (this.write_in_progress) {\n this.pending_close = !0;\n return;\n }\n if (this.pending_close = !1, assert(this.init_done, \"close before init\"), assert(this.mode <= exports.UNZIP), this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW)\n zlib_deflate.deflateEnd(this.strm);\n else if (this.mode === exports.INFLATE || this.mode === exports.GUNZIP || this.mode === exports.INFLATERAW || this.mode === exports.UNZIP)\n zlib_inflate.inflateEnd(this.strm);\n this.mode = exports.NONE, this.dictionary = null;\n }, Zlib.prototype.write = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!0, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype.writeSync = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!1, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype._write = function(async, flush, input, in_off, in_len, out, out_off, out_len) {\n if (assert.equal(arguments.length, 8), assert(this.init_done, \"write before init\"), assert(this.mode !== exports.NONE, \"already finalized\"), assert.equal(!1, this.write_in_progress, \"write already in progress\"), assert.equal(!1, this.pending_close, \"close is pending\"), this.write_in_progress = !0, assert.equal(!1, flush === void 0, \"must provide flush value\"), this.write_in_progress = !0, flush !== exports.Z_NO_FLUSH && flush !== exports.Z_PARTIAL_FLUSH && flush !== exports.Z_SYNC_FLUSH && flush !== exports.Z_FULL_FLUSH && flush !== exports.Z_FINISH && flush !== exports.Z_BLOCK)\n throw new Error(\"Invalid flush value\");\n if (input == null)\n input = @Buffer.alloc(0), in_len = 0, in_off = 0;\n if (this.strm.avail_in = in_len, this.strm.input = input, this.strm.next_in = in_off, this.strm.avail_out = out_len, this.strm.output = out, this.strm.next_out = out_off, this.flush = flush, !async) {\n if (this._process(), this._checkError())\n return this._afterSync();\n return;\n }\n var self = this;\n return process.nextTick(function() {\n self._process(), self._after();\n }), this;\n }, Zlib.prototype._afterSync = function() {\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n return this.write_in_progress = !1, [avail_in, avail_out];\n }, Zlib.prototype._process = function() {\n var next_expected_header_byte = null;\n switch (this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflate(this.strm, this.flush);\n break;\n case exports.UNZIP:\n if (this.strm.avail_in > 0)\n next_expected_header_byte = this.strm.next_in;\n switch (this.gzip_id_bytes_read) {\n case 0:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID1) {\n if (this.gzip_id_bytes_read = 1, next_expected_header_byte++, this.strm.avail_in === 1)\n break;\n } else {\n this.mode = exports.INFLATE;\n break;\n }\n case 1:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID2)\n this.gzip_id_bytes_read = 2, this.mode = exports.GUNZIP;\n else\n this.mode = exports.INFLATE;\n break;\n default:\n throw new Error(\"invalid number of gzip magic number bytes read\");\n }\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n if (this.err = zlib_inflate.inflate(this.strm, this.flush), this.err === exports.Z_NEED_DICT && this.dictionary) {\n if (this.err = zlib_inflate.inflateSetDictionary(this.strm, this.dictionary), this.err === exports.Z_OK)\n this.err = zlib_inflate.inflate(this.strm, this.flush);\n else if (this.err === exports.Z_DATA_ERROR)\n this.err = exports.Z_NEED_DICT;\n }\n while (this.strm.avail_in > 0 && this.mode === exports.GUNZIP && this.err === exports.Z_STREAM_END && this.strm.next_in[0] !== 0)\n this.reset(), this.err = zlib_inflate.inflate(this.strm, this.flush);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n }, Zlib.prototype._checkError = function() {\n switch (this.err) {\n case exports.Z_OK:\n case exports.Z_BUF_ERROR:\n if (this.strm.avail_out !== 0 && this.flush === exports.Z_FINISH)\n return this._error(\"unexpected end of file\"), !1;\n break;\n case exports.Z_STREAM_END:\n break;\n case exports.Z_NEED_DICT:\n if (this.dictionary == null)\n this._error(\"Missing dictionary\");\n else\n this._error(\"Bad dictionary\");\n return !1;\n default:\n return this._error(\"Zlib error\"), !1;\n }\n return !0;\n }, Zlib.prototype._after = function() {\n if (!this._checkError())\n return;\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n if (this.write_in_progress = !1, this.callback(avail_in, avail_out), this.pending_close)\n this.close();\n }, Zlib.prototype._error = function(message) {\n if (this.strm.msg)\n message = this.strm.msg;\n if (this.onerror(message, this.err), this.write_in_progress = !1, this.pending_close)\n this.close();\n }, Zlib.prototype.init = function(windowBits, level, memLevel, strategy, dictionary) {\n assert(arguments.length === 4 || arguments.length === 5, \"init(windowBits, level, memLevel, strategy, [dictionary])\"), assert(windowBits >= 8 && windowBits <= 15, \"invalid windowBits\"), assert(level >= -1 && level <= 9, \"invalid compression level\"), assert(memLevel >= 1 && memLevel <= 9, \"invalid memlevel\"), assert(strategy === exports.Z_FILTERED || strategy === exports.Z_HUFFMAN_ONLY || strategy === exports.Z_RLE || strategy === exports.Z_FIXED || strategy === exports.Z_DEFAULT_STRATEGY, \"invalid strategy\"), this._init(level, windowBits, memLevel, strategy, dictionary), this._setDictionary();\n }, Zlib.prototype.params = function() {\n throw new Error(\"deflateParams Not supported\");\n }, Zlib.prototype.reset = function() {\n this._reset(), this._setDictionary();\n }, Zlib.prototype._init = function(level, windowBits, memLevel, strategy, dictionary) {\n if (this.level = level, this.windowBits = windowBits, this.memLevel = memLevel, this.strategy = strategy, this.flush = exports.Z_NO_FLUSH, this.err = exports.Z_OK, this.mode === exports.GZIP || this.mode === exports.GUNZIP)\n this.windowBits += 16;\n if (this.mode === exports.UNZIP)\n this.windowBits += 32;\n if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW)\n this.windowBits = -1 * this.windowBits;\n switch (this.strm = new Zstream, this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateInit2(this.strm, this.level, exports.Z_DEFLATED, this.windowBits, this.memLevel, this.strategy);\n break;\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n case exports.UNZIP:\n this.err = zlib_inflate.inflateInit2(this.strm, this.windowBits);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Init error\");\n this.dictionary = dictionary, this.write_in_progress = !1, this.init_done = !0;\n }, Zlib.prototype._setDictionary = function() {\n if (this.dictionary == null)\n return;\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateSetDictionary(this.strm, this.dictionary);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to set dictionary\");\n }, Zlib.prototype._reset = function() {\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n case exports.GZIP:\n this.err = zlib_deflate.deflateReset(this.strm);\n break;\n case exports.INFLATE:\n case exports.INFLATERAW:\n case exports.GUNZIP:\n this.err = zlib_inflate.inflateReset(this.strm);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to reset stream\");\n }, exports.Zlib = Zlib;\n }\n}), require_lib = __commonJS({\n \"node_modules/browserify-zlib/lib/index.js\"(exports) {\n var Buffer2 = BufferModule.Buffer, Transform = StreamModule.Transform, binding = require_binding(), util = Util, kMaxLength = BufferModule.kMaxLength, kRangeErrorMessage = \"Cannot create final Buffer. It would be larger than 0x\" + kMaxLength.toString(16) + \" bytes\";\n binding.Z_MIN_WINDOWBITS = 8, binding.Z_MAX_WINDOWBITS = 15, binding.Z_DEFAULT_WINDOWBITS = 15, binding.Z_MIN_CHUNK = 64, binding.Z_MAX_CHUNK = @Infinity, binding.Z_DEFAULT_CHUNK = 16384, binding.Z_MIN_MEMLEVEL = 1, binding.Z_MAX_MEMLEVEL = 9, binding.Z_DEFAULT_MEMLEVEL = 8, binding.Z_MIN_LEVEL = -1, binding.Z_MAX_LEVEL = 9, binding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n var bkeys = Object.keys(binding);\n for (bk = 0;bk < bkeys.length; bk++)\n if (bkey = bkeys[bk], bkey.match(/^Z/))\n Object.defineProperty(exports, bkey, {\n enumerable: !0,\n value: binding[bkey],\n writable: !1\n });\n var bkey, bk, codes = {\n Z_OK: binding.Z_OK,\n Z_STREAM_END: binding.Z_STREAM_END,\n Z_NEED_DICT: binding.Z_NEED_DICT,\n Z_ERRNO: binding.Z_ERRNO,\n Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n Z_DATA_ERROR: binding.Z_DATA_ERROR,\n Z_MEM_ERROR: binding.Z_MEM_ERROR,\n Z_BUF_ERROR: binding.Z_BUF_ERROR,\n Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n }, ckeys = Object.keys(codes);\n for (ck = 0;ck < ckeys.length; ck++)\n ckey = ckeys[ck], codes[codes[ckey]] = ckey;\n var ckey, ck;\n Object.defineProperty(exports, \"codes\", {\n enumerable: !0,\n value: Object.freeze(codes),\n writable: !1\n }), exports.constants = require_constants(), exports.Deflate = Deflate, exports.Inflate = Inflate, exports.Gzip = Gzip, exports.Gunzip = Gunzip, exports.DeflateRaw = DeflateRaw, exports.InflateRaw = InflateRaw, exports.Unzip = Unzip, exports.createDeflate = function(o) {\n return new Deflate(o);\n }, exports.createInflate = function(o) {\n return new Inflate(o);\n }, exports.createDeflateRaw = function(o) {\n return new DeflateRaw(o);\n }, exports.createInflateRaw = function(o) {\n return new InflateRaw(o);\n }, exports.createGzip = function(o) {\n return new Gzip(o);\n }, exports.createGunzip = function(o) {\n return new Gunzip(o);\n }, exports.createUnzip = function(o) {\n return new Unzip(o);\n }, exports.deflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Deflate(opts), buffer, callback);\n }, exports.deflateSync = function(buffer, opts) {\n return zlibBufferSync(new Deflate(opts), buffer);\n }, exports.gzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gzip(opts), buffer, callback);\n }, exports.gzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gzip(opts), buffer);\n }, exports.deflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n }, exports.deflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new DeflateRaw(opts), buffer);\n }, exports.unzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Unzip(opts), buffer, callback);\n }, exports.unzipSync = function(buffer, opts) {\n return zlibBufferSync(new Unzip(opts), buffer);\n }, exports.inflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Inflate(opts), buffer, callback);\n }, exports.inflateSync = function(buffer, opts) {\n return zlibBufferSync(new Inflate(opts), buffer);\n }, exports.gunzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gunzip(opts), buffer, callback);\n }, exports.gunzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gunzip(opts), buffer);\n }, exports.inflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new InflateRaw(opts), buffer, callback);\n }, exports.inflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new InflateRaw(opts), buffer);\n }, exports.brotliCompress = function(buffer, opts, callback) {\n throw new Error(\"zlib.brotliCompress is not implemented\");\n };\n function zlibBuffer(engine, buffer, callback) {\n var buffers = [], nread = 0;\n engine.on(\"error\", onError), engine.on(\"end\", onEnd), engine.end(buffer), flow();\n function flow() {\n var chunk;\n while ((chunk = engine.read()) !== null)\n buffers.push(chunk), nread += chunk.length;\n engine.once(\"readable\", flow);\n }\n function onError(err) {\n engine.removeListener(\"end\", onEnd), engine.removeListener(\"readable\", flow), callback(err);\n }\n function onEnd() {\n var buf, err = null;\n if (nread >= kMaxLength)\n err = new RangeError(kRangeErrorMessage);\n else\n buf = Buffer2.concat(buffers, nread);\n buffers = [], engine.close(), callback(err, buf);\n }\n }\n function zlibBufferSync(engine, buffer) {\n if (typeof buffer === \"string\")\n buffer = Buffer2.from(buffer);\n if (!Buffer2.isBuffer(buffer))\n @throwTypeError(\"Not a string or buffer\");\n var flushFlag = engine._finishFlushFlag;\n return engine._processChunk(buffer, flushFlag);\n }\n function Deflate(opts) {\n if (!(this instanceof Deflate))\n return new Deflate(opts);\n Zlib.@call(this, opts, binding.DEFLATE);\n }\n function Inflate(opts) {\n if (!(this instanceof Inflate))\n return new Inflate(opts);\n Zlib.@call(this, opts, binding.INFLATE);\n }\n function Gzip(opts) {\n if (!(this instanceof Gzip))\n return new Gzip(opts);\n Zlib.@call(this, opts, binding.GZIP);\n }\n function Gunzip(opts) {\n if (!(this instanceof Gunzip))\n return new Gunzip(opts);\n Zlib.@call(this, opts, binding.GUNZIP);\n }\n function DeflateRaw(opts) {\n if (!(this instanceof DeflateRaw))\n return new DeflateRaw(opts);\n Zlib.@call(this, opts, binding.DEFLATERAW);\n }\n function InflateRaw(opts) {\n if (!(this instanceof InflateRaw))\n return new InflateRaw(opts);\n Zlib.@call(this, opts, binding.INFLATERAW);\n }\n function Unzip(opts) {\n if (!(this instanceof Unzip))\n return new Unzip(opts);\n Zlib.@call(this, opts, binding.UNZIP);\n }\n function isValidFlushFlag(flag) {\n return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK;\n }\n function Zlib(opts, mode) {\n var _this = this;\n if (this._opts = opts = opts || {}, this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK, Transform.@call(this, opts), opts.flush && !isValidFlushFlag(opts.flush))\n throw new Error(\"Invalid flush flag: \" + opts.flush);\n if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush))\n throw new Error(\"Invalid flush flag: \" + opts.finishFlush);\n if (this._flushFlag = opts.flush || binding.Z_NO_FLUSH, this._finishFlushFlag = typeof opts.finishFlush !== \"undefined\" \? opts.finishFlush : binding.Z_FINISH, opts.chunkSize) {\n if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK)\n throw new Error(\"Invalid chunk size: \" + opts.chunkSize);\n }\n if (opts.windowBits) {\n if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS)\n throw new Error(\"Invalid windowBits: \" + opts.windowBits);\n }\n if (opts.level) {\n if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL)\n throw new Error(\"Invalid compression level: \" + opts.level);\n }\n if (opts.memLevel) {\n if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL)\n throw new Error(\"Invalid memLevel: \" + opts.memLevel);\n }\n if (opts.strategy) {\n if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY)\n throw new Error(\"Invalid strategy: \" + opts.strategy);\n }\n if (opts.dictionary) {\n if (!Buffer2.isBuffer(opts.dictionary))\n throw new Error(\"Invalid dictionary: it should be a Buffer instance\");\n }\n this._handle = new binding.Zlib(mode);\n var self = this;\n this._hadError = !1, this._handle.onerror = function(message, errno) {\n _close(self), self._hadError = !0;\n var error = new Error(message);\n error.errno = errno, error.code = exports.codes[errno], self.emit(\"error\", error);\n };\n var level = exports.Z_DEFAULT_COMPRESSION;\n if (typeof opts.level === \"number\")\n level = opts.level;\n var strategy = exports.Z_DEFAULT_STRATEGY;\n if (typeof opts.strategy === \"number\")\n strategy = opts.strategy;\n this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary), this._buffer = Buffer2.allocUnsafe(this._chunkSize), this._offset = 0, this._level = level, this._strategy = strategy, this.once(\"end\", this.close), Object.defineProperty(this, \"_closed\", {\n get: function() {\n return !_this._handle;\n },\n configurable: !0,\n enumerable: !0\n });\n }\n util.inherits(Zlib, Transform), Zlib.prototype.params = function(level, strategy, callback) {\n if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL)\n @throwRangeError(\"Invalid compression level: \" + level);\n if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY)\n @throwTypeError(\"Invalid strategy: \" + strategy);\n if (this._level !== level || this._strategy !== strategy) {\n var self = this;\n this.flush(binding.Z_SYNC_FLUSH, function() {\n if (assert(self._handle, \"zlib binding closed\"), self._handle.params(level, strategy), !self._hadError) {\n if (self._level = level, self._strategy = strategy, callback)\n callback();\n }\n });\n } else\n process.nextTick(callback);\n }, Zlib.prototype.reset = function() {\n return assert(this._handle, \"zlib binding closed\"), this._handle.reset();\n }, Zlib.prototype._flush = function(callback) {\n this._transform(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.flush = function(kind, callback) {\n var _this2 = this, ws = this._writableState;\n if (typeof kind === \"function\" || kind === void 0 && !callback)\n callback = kind, kind = binding.Z_FULL_FLUSH;\n if (ws.ended) {\n if (callback)\n process.nextTick(callback);\n } else if (ws.ending) {\n if (callback)\n this.once(\"end\", callback);\n } else if (ws.needDrain) {\n if (callback)\n this.once(\"drain\", function() {\n return _this2.flush(kind, callback);\n });\n } else\n this._flushFlag = kind, this.write(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.close = function(callback) {\n _close(this, callback), process.nextTick(emitCloseNT, this);\n };\n function _close(engine, callback) {\n if (callback)\n process.nextTick(callback);\n if (!engine._handle)\n return;\n engine._handle.close(), engine._handle = null;\n }\n function emitCloseNT(self) {\n self.emit(\"close\");\n }\n Zlib.prototype._transform = function(chunk, encoding, cb) {\n var flushFlag, ws = this._writableState, ending = ws.ending || ws.ended, last = ending && (!chunk || ws.length === chunk.length);\n if (chunk !== null && !Buffer2.isBuffer(chunk))\n return cb(new Error(\"invalid input\"));\n if (!this._handle)\n return cb(new Error(\"zlib binding closed\"));\n if (last)\n flushFlag = this._finishFlushFlag;\n else if (flushFlag = this._flushFlag, chunk.length >= ws.length)\n this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n this._processChunk(chunk, flushFlag, cb);\n }, Zlib.prototype._processChunk = function(chunk, flushFlag, cb) {\n var availInBefore = chunk && chunk.length, availOutBefore = this._chunkSize - this._offset, inOff = 0, self = this, async = typeof cb === \"function\";\n if (!async) {\n var buffers = [], nread = 0, error;\n this.on(\"error\", function(er) {\n error = er;\n }), assert(this._handle, \"zlib binding closed\");\n do\n var res = this._handle.writeSync(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n while (!this._hadError && callback(res[0], res[1]));\n if (this._hadError)\n throw error;\n if (nread >= kMaxLength)\n _close(this), @throwRangeError(kRangeErrorMessage);\n var buf = Buffer2.concat(buffers, nread);\n return _close(this), buf;\n }\n assert(this._handle, \"zlib binding closed\");\n var req = this._handle.write(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n req.buffer = chunk, req.callback = callback;\n function callback(availInAfter, availOutAfter) {\n if (this)\n this.buffer = null, this.callback = null;\n if (self._hadError)\n return;\n var have = availOutBefore - availOutAfter;\n if (assert(have >= 0, \"have should not go down\"), have > 0) {\n var out = self._buffer.slice(self._offset, self._offset + have);\n if (self._offset += have, async)\n self.push(out);\n else\n buffers.push(out), nread += out.length;\n }\n if (availOutAfter === 0 || self._offset >= self._chunkSize)\n availOutBefore = self._chunkSize, self._offset = 0, self._buffer = Buffer2.allocUnsafe(self._chunkSize);\n if (availOutAfter === 0) {\n if (inOff += availInBefore - availInAfter, availInBefore = availInAfter, !async)\n return !0;\n var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize);\n newReq.callback = callback, newReq.buffer = chunk;\n return;\n }\n if (!async)\n return !1;\n cb();\n }\n }, util.inherits(Deflate, Zlib), util.inherits(Inflate, Zlib), util.inherits(Gzip, Zlib), util.inherits(Gunzip, Zlib), util.inherits(DeflateRaw, Zlib), util.inherits(InflateRaw, Zlib), util.inherits(Unzip, Zlib);\n }\n});\nreturn require_lib()})\n"); +static constexpr ASCIILiteral NodeZlibCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/node/zlib.ts\nvar assert = @getInternalField(@internalModuleRegistry, 8) || @createInternalModuleById(8), BufferModule = @requireNativeModule(\"buffer\"), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), Util = @getInternalField(@internalModuleRegistry, 48) || @createInternalModuleById(48), __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n}, require_zstream = __commonJS({\n \"node_modules/pako/lib/zlib/zstream.js\"(exports, module2) {\n function ZStream() {\n this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = \"\", this.state = null, this.data_type = 2, this.adler = 0;\n }\n module2.exports = ZStream;\n }\n}), require_common = __commonJS({\n \"node_modules/pako/lib/utils/common.js\"(exports) {\n var TYPED_OK = typeof @Uint8Array !== \"undefined\" && typeof Uint16Array !== \"undefined\" && typeof Int32Array !== \"undefined\";\n function _has(obj, key) {\n return Object.prototype.hasOwnProperty.@call(obj, key);\n }\n exports.assign = function(obj) {\n var sources = @Array.prototype.slice.@call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source)\n continue;\n if (typeof source !== \"object\")\n @throwTypeError(source + \"must be non-object\");\n for (var p in source)\n if (_has(source, p))\n obj[p] = source[p];\n }\n return obj;\n }, exports.shrinkBuf = function(buf, size) {\n if (buf.length === size)\n return buf;\n if (buf.subarray)\n return buf.subarray(0, size);\n return buf.length = size, buf;\n };\n var fnTyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n var i, l, len, pos, chunk, result;\n len = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n len += chunks[i].length;\n result = new @Uint8Array(len), pos = 0;\n for (i = 0, l = chunks.length;i < l; i++)\n chunk = chunks[i], result.set(chunk, pos), pos += chunk.length;\n return result;\n }\n }, fnUntyped = {\n arraySet: function(dest, src, src_offs, len, dest_offs) {\n for (var i = 0;i < len; i++)\n dest[dest_offs + i] = src[src_offs + i];\n },\n flattenChunks: function(chunks) {\n return [].concat.@apply([], chunks);\n }\n };\n exports.setTyped = function(on) {\n if (on)\n exports.Buf8 = @Uint8Array, exports.Buf16 = Uint16Array, exports.Buf32 = Int32Array, exports.assign(exports, fnTyped);\n else\n exports.Buf8 = @Array, exports.Buf16 = @Array, exports.Buf32 = @Array, exports.assign(exports, fnUntyped);\n }, exports.setTyped(TYPED_OK);\n }\n}), require_trees = __commonJS({\n \"node_modules/pako/lib/zlib/trees.js\"(exports) {\n var utils = require_common(), Z_FIXED = 4, Z_BINARY = 0, Z_TEXT = 1, Z_UNKNOWN = 2;\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n var STORED_BLOCK = 0, STATIC_TREES = 1, DYN_TREES = 2, MIN_MATCH = 3, MAX_MATCH = 258, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, Buf_size = 16, MAX_BL_BITS = 7, END_BLOCK = 256, REP_3_6 = 16, REPZ_3_10 = 17, REPZ_11_138 = 18, extra_lbits = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], extra_dbits = [\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 3,\n 3,\n 4,\n 4,\n 5,\n 5,\n 6,\n 6,\n 7,\n 7,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13\n ], extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], DIST_CODE_LEN = 512, static_ltree = new @Array((L_CODES + 2) * 2);\n zero(static_ltree);\n var static_dtree = new @Array(D_CODES * 2);\n zero(static_dtree);\n var _dist_code = new @Array(DIST_CODE_LEN);\n zero(_dist_code);\n var _length_code = new @Array(MAX_MATCH - MIN_MATCH + 1);\n zero(_length_code);\n var base_length = new @Array(LENGTH_CODES);\n zero(base_length);\n var base_dist = new @Array(D_CODES);\n zero(base_dist);\n function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n this.static_tree = static_tree, this.extra_bits = extra_bits, this.extra_base = extra_base, this.elems = elems, this.max_length = max_length, this.has_stree = static_tree && static_tree.length;\n }\n var static_l_desc, static_d_desc, static_bl_desc;\n function TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree, this.max_code = 0, this.stat_desc = stat_desc;\n }\n function d_code(dist) {\n return dist < 256 \? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n }\n function put_short(s, w) {\n s.pending_buf[s.pending++] = w & 255, s.pending_buf[s.pending++] = w >>> 8 & 255;\n }\n function send_bits(s, value, length) {\n if (s.bi_valid > Buf_size - length)\n s.bi_buf |= value << s.bi_valid & 65535, put_short(s, s.bi_buf), s.bi_buf = value >> Buf_size - s.bi_valid, s.bi_valid += length - Buf_size;\n else\n s.bi_buf |= value << s.bi_valid & 65535, s.bi_valid += length;\n }\n function send_code(s, c, tree) {\n send_bits(s, tree[c * 2], tree[c * 2 + 1]);\n }\n function bi_reverse(code, len) {\n var res = 0;\n do\n res |= code & 1, code >>>= 1, res <<= 1;\n while (--len > 0);\n return res >>> 1;\n }\n function bi_flush(s) {\n if (s.bi_valid === 16)\n put_short(s, s.bi_buf), s.bi_buf = 0, s.bi_valid = 0;\n else if (s.bi_valid >= 8)\n s.pending_buf[s.pending++] = s.bi_buf & 255, s.bi_buf >>= 8, s.bi_valid -= 8;\n }\n function gen_bitlen(s, desc) {\n var { dyn_tree: tree, max_code } = desc, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, extra = desc.stat_desc.extra_bits, base = desc.stat_desc.extra_base, max_length = desc.stat_desc.max_length, h, n, m, bits, xbits, f, overflow = 0;\n for (bits = 0;bits <= MAX_BITS; bits++)\n s.bl_count[bits] = 0;\n tree[s.heap[s.heap_max] * 2 + 1] = 0;\n for (h = s.heap_max + 1;h < HEAP_SIZE; h++) {\n if (n = s.heap[h], bits = tree[tree[n * 2 + 1] * 2 + 1] + 1, bits > max_length)\n bits = max_length, overflow++;\n if (tree[n * 2 + 1] = bits, n > max_code)\n continue;\n if (s.bl_count[bits]++, xbits = 0, n >= base)\n xbits = extra[n - base];\n if (f = tree[n * 2], s.opt_len += f * (bits + xbits), has_stree)\n s.static_len += f * (stree[n * 2 + 1] + xbits);\n }\n if (overflow === 0)\n return;\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0)\n bits--;\n s.bl_count[bits]--, s.bl_count[bits + 1] += 2, s.bl_count[max_length]--, overflow -= 2;\n } while (overflow > 0);\n for (bits = max_length;bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n if (m = s.heap[--h], m > max_code)\n continue;\n if (tree[m * 2 + 1] !== bits)\n s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2], tree[m * 2 + 1] = bits;\n n--;\n }\n }\n }\n function gen_codes(tree, max_code, bl_count) {\n var next_code = new @Array(MAX_BITS + 1), code = 0, bits, n;\n for (bits = 1;bits <= MAX_BITS; bits++)\n next_code[bits] = code = code + bl_count[bits - 1] << 1;\n for (n = 0;n <= max_code; n++) {\n var len = tree[n * 2 + 1];\n if (len === 0)\n continue;\n tree[n * 2] = bi_reverse(next_code[len]++, len);\n }\n }\n function tr_static_init() {\n var n, bits, length, code, dist, bl_count = new @Array(MAX_BITS + 1);\n length = 0;\n for (code = 0;code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0;n < 1 << extra_lbits[code]; n++)\n _length_code[length++] = code;\n }\n _length_code[length - 1] = code, dist = 0;\n for (code = 0;code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0;n < 1 << extra_dbits[code]; n++)\n _dist_code[dist++] = code;\n }\n dist >>= 7;\n for (;code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0;n < 1 << extra_dbits[code] - 7; n++)\n _dist_code[256 + dist++] = code;\n }\n for (bits = 0;bits <= MAX_BITS; bits++)\n bl_count[bits] = 0;\n n = 0;\n while (n <= 143)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n while (n <= 255)\n static_ltree[n * 2 + 1] = 9, n++, bl_count[9]++;\n while (n <= 279)\n static_ltree[n * 2 + 1] = 7, n++, bl_count[7]++;\n while (n <= 287)\n static_ltree[n * 2 + 1] = 8, n++, bl_count[8]++;\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n for (n = 0;n < D_CODES; n++)\n static_dtree[n * 2 + 1] = 5, static_dtree[n * 2] = bi_reverse(n, 5);\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS), static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS), static_bl_desc = new StaticTreeDesc(new @Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n }\n function init_block(s) {\n var n;\n for (n = 0;n < L_CODES; n++)\n s.dyn_ltree[n * 2] = 0;\n for (n = 0;n < D_CODES; n++)\n s.dyn_dtree[n * 2] = 0;\n for (n = 0;n < BL_CODES; n++)\n s.bl_tree[n * 2] = 0;\n s.dyn_ltree[END_BLOCK * 2] = 1, s.opt_len = s.static_len = 0, s.last_lit = s.matches = 0;\n }\n function bi_windup(s) {\n if (s.bi_valid > 8)\n put_short(s, s.bi_buf);\n else if (s.bi_valid > 0)\n s.pending_buf[s.pending++] = s.bi_buf;\n s.bi_buf = 0, s.bi_valid = 0;\n }\n function copy_block(s, buf, len, header) {\n if (bi_windup(s), header)\n put_short(s, len), put_short(s, ~len);\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending), s.pending += len;\n }\n function smaller(tree, n, m, depth) {\n var _n2 = n * 2, _m2 = m * 2;\n return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m];\n }\n function pqdownheap(s, tree, k) {\n var v = s.heap[k], j = k << 1;\n while (j <= s.heap_len) {\n if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth))\n j++;\n if (smaller(tree, v, s.heap[j], s.depth))\n break;\n s.heap[k] = s.heap[j], k = j, j <<= 1;\n }\n s.heap[k] = v;\n }\n function compress_block(s, ltree, dtree) {\n var dist, lc, lx = 0, code, extra;\n if (s.last_lit !== 0)\n do\n if (dist = s.pending_buf[s.d_buf + lx * 2] << 8 | s.pending_buf[s.d_buf + lx * 2 + 1], lc = s.pending_buf[s.l_buf + lx], lx++, dist === 0)\n send_code(s, lc, ltree);\n else {\n if (code = _length_code[lc], send_code(s, code + LITERALS + 1, ltree), extra = extra_lbits[code], extra !== 0)\n lc -= base_length[code], send_bits(s, lc, extra);\n if (dist--, code = d_code(dist), send_code(s, code, dtree), extra = extra_dbits[code], extra !== 0)\n dist -= base_dist[code], send_bits(s, dist, extra);\n }\n while (lx < s.last_lit);\n send_code(s, END_BLOCK, ltree);\n }\n function build_tree(s, desc) {\n var tree = desc.dyn_tree, stree = desc.stat_desc.static_tree, has_stree = desc.stat_desc.has_stree, elems = desc.stat_desc.elems, n, m, max_code = -1, node;\n s.heap_len = 0, s.heap_max = HEAP_SIZE;\n for (n = 0;n < elems; n++)\n if (tree[n * 2] !== 0)\n s.heap[++s.heap_len] = max_code = n, s.depth[n] = 0;\n else\n tree[n * 2 + 1] = 0;\n while (s.heap_len < 2)\n if (node = s.heap[++s.heap_len] = max_code < 2 \? ++max_code : 0, tree[node * 2] = 1, s.depth[node] = 0, s.opt_len--, has_stree)\n s.static_len -= stree[node * 2 + 1];\n desc.max_code = max_code;\n for (n = s.heap_len >> 1;n >= 1; n--)\n pqdownheap(s, tree, n);\n node = elems;\n do\n n = s.heap[1], s.heap[1] = s.heap[s.heap_len--], pqdownheap(s, tree, 1), m = s.heap[1], s.heap[--s.heap_max] = n, s.heap[--s.heap_max] = m, tree[node * 2] = tree[n * 2] + tree[m * 2], s.depth[node] = (s.depth[n] >= s.depth[m] \? s.depth[n] : s.depth[m]) + 1, tree[n * 2 + 1] = tree[m * 2 + 1] = node, s.heap[1] = node++, pqdownheap(s, tree, 1);\n while (s.heap_len >= 2);\n s.heap[--s.heap_max] = s.heap[1], gen_bitlen(s, desc), gen_codes(tree, max_code, s.bl_count);\n }\n function scan_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n tree[(max_code + 1) * 2 + 1] = 65535;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n s.bl_tree[curlen * 2] += count;\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n s.bl_tree[curlen * 2]++;\n s.bl_tree[REP_3_6 * 2]++;\n } else if (count <= 10)\n s.bl_tree[REPZ_3_10 * 2]++;\n else\n s.bl_tree[REPZ_11_138 * 2]++;\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function send_tree(s, tree, max_code) {\n var n, prevlen = -1, curlen, nextlen = tree[1], count = 0, max_count = 7, min_count = 4;\n if (nextlen === 0)\n max_count = 138, min_count = 3;\n for (n = 0;n <= max_code; n++) {\n if (curlen = nextlen, nextlen = tree[(n + 1) * 2 + 1], ++count < max_count && curlen === nextlen)\n continue;\n else if (count < min_count)\n do\n send_code(s, curlen, s.bl_tree);\n while (--count !== 0);\n else if (curlen !== 0) {\n if (curlen !== prevlen)\n send_code(s, curlen, s.bl_tree), count--;\n send_code(s, REP_3_6, s.bl_tree), send_bits(s, count - 3, 2);\n } else if (count <= 10)\n send_code(s, REPZ_3_10, s.bl_tree), send_bits(s, count - 3, 3);\n else\n send_code(s, REPZ_11_138, s.bl_tree), send_bits(s, count - 11, 7);\n if (count = 0, prevlen = curlen, nextlen === 0)\n max_count = 138, min_count = 3;\n else if (curlen === nextlen)\n max_count = 6, min_count = 3;\n else\n max_count = 7, min_count = 4;\n }\n }\n function build_bl_tree(s) {\n var max_blindex;\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code), scan_tree(s, s.dyn_dtree, s.d_desc.max_code), build_tree(s, s.bl_desc);\n for (max_blindex = BL_CODES - 1;max_blindex >= 3; max_blindex--)\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0)\n break;\n return s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4, max_blindex;\n }\n function send_all_trees(s, lcodes, dcodes, blcodes) {\n var rank;\n send_bits(s, lcodes - 257, 5), send_bits(s, dcodes - 1, 5), send_bits(s, blcodes - 4, 4);\n for (rank = 0;rank < blcodes; rank++)\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1], 3);\n send_tree(s, s.dyn_ltree, lcodes - 1), send_tree(s, s.dyn_dtree, dcodes - 1);\n }\n function detect_data_type(s) {\n var black_mask = 4093624447, n;\n for (n = 0;n <= 31; n++, black_mask >>>= 1)\n if (black_mask & 1 && s.dyn_ltree[n * 2] !== 0)\n return Z_BINARY;\n if (s.dyn_ltree[18] !== 0 || s.dyn_ltree[20] !== 0 || s.dyn_ltree[26] !== 0)\n return Z_TEXT;\n for (n = 32;n < LITERALS; n++)\n if (s.dyn_ltree[n * 2] !== 0)\n return Z_TEXT;\n return Z_BINARY;\n }\n var static_init_done = !1;\n function _tr_init(s) {\n if (!static_init_done)\n tr_static_init(), static_init_done = !0;\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc), s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc), s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc), s.bi_buf = 0, s.bi_valid = 0, init_block(s);\n }\n function _tr_stored_block(s, buf, stored_len, last) {\n send_bits(s, (STORED_BLOCK << 1) + (last \? 1 : 0), 3), copy_block(s, buf, stored_len, !0);\n }\n function _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3), send_code(s, END_BLOCK, static_ltree), bi_flush(s);\n }\n function _tr_flush_block(s, buf, stored_len, last) {\n var opt_lenb, static_lenb, max_blindex = 0;\n if (s.level > 0) {\n if (s.strm.data_type === Z_UNKNOWN)\n s.strm.data_type = detect_data_type(s);\n if (build_tree(s, s.l_desc), build_tree(s, s.d_desc), max_blindex = build_bl_tree(s), opt_lenb = s.opt_len + 3 + 7 >>> 3, static_lenb = s.static_len + 3 + 7 >>> 3, static_lenb <= opt_lenb)\n opt_lenb = static_lenb;\n } else\n opt_lenb = static_lenb = stored_len + 5;\n if (stored_len + 4 <= opt_lenb && buf !== -1)\n _tr_stored_block(s, buf, stored_len, last);\n else if (s.strategy === Z_FIXED || static_lenb === opt_lenb)\n send_bits(s, (STATIC_TREES << 1) + (last \? 1 : 0), 3), compress_block(s, static_ltree, static_dtree);\n else\n send_bits(s, (DYN_TREES << 1) + (last \? 1 : 0), 3), send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1), compress_block(s, s.dyn_ltree, s.dyn_dtree);\n if (init_block(s), last)\n bi_windup(s);\n }\n function _tr_tally(s, dist, lc) {\n if (s.pending_buf[s.d_buf + s.last_lit * 2] = dist >>> 8 & 255, s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 255, s.pending_buf[s.l_buf + s.last_lit] = lc & 255, s.last_lit++, dist === 0)\n s.dyn_ltree[lc * 2]++;\n else\n s.matches++, dist--, s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]++, s.dyn_dtree[d_code(dist) * 2]++;\n return s.last_lit === s.lit_bufsize - 1;\n }\n exports._tr_init = _tr_init, exports._tr_stored_block = _tr_stored_block, exports._tr_flush_block = _tr_flush_block, exports._tr_tally = _tr_tally, exports._tr_align = _tr_align;\n }\n}), require_adler32 = __commonJS({\n \"node_modules/pako/lib/zlib/adler32.js\"(exports, module2) {\n function adler32(adler, buf, len, pos) {\n var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0;\n while (len !== 0) {\n n = len > 2000 \? 2000 : len, len -= n;\n do\n s1 = s1 + buf[pos++] | 0, s2 = s2 + s1 | 0;\n while (--n);\n s1 %= 65521, s2 %= 65521;\n }\n return s1 | s2 << 16 | 0;\n }\n module2.exports = adler32;\n }\n}), require_crc32 = __commonJS({\n \"node_modules/pako/lib/zlib/crc32.js\"(exports, module2) {\n function makeTable() {\n var c, table = [];\n for (var n = 0;n < 256; n++) {\n c = n;\n for (var k = 0;k < 8; k++)\n c = c & 1 \? 3988292384 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return table;\n }\n var crcTable = makeTable();\n function crc32(crc, buf, len, pos) {\n var t = crcTable, end = pos + len;\n crc ^= -1;\n for (var i = pos;i < end; i++)\n crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255];\n return crc ^ -1;\n }\n module2.exports = crc32;\n }\n}), require_messages = __commonJS({\n \"node_modules/pako/lib/zlib/messages.js\"(exports, module2) {\n module2.exports = {\n 2: \"need dictionary\",\n 1: \"stream end\",\n 0: \"\",\n \"-1\": \"file error\",\n \"-2\": \"stream error\",\n \"-3\": \"data error\",\n \"-4\": \"insufficient memory\",\n \"-5\": \"buffer error\",\n \"-6\": \"incompatible version\"\n };\n }\n}), require_deflate = __commonJS({\n \"node_modules/pako/lib/zlib/deflate.js\"(exports) {\n var utils = require_common(), trees = require_trees(), adler32 = require_adler32(), crc32 = require_crc32(), msg = require_messages(), Z_NO_FLUSH = 0, Z_PARTIAL_FLUSH = 1, Z_FULL_FLUSH = 3, Z_FINISH = 4, Z_BLOCK = 5, Z_OK = 0, Z_STREAM_END = 1, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_BUF_ERROR = -5, Z_DEFAULT_COMPRESSION = -1, Z_FILTERED = 1, Z_HUFFMAN_ONLY = 2, Z_RLE = 3, Z_FIXED = 4, Z_DEFAULT_STRATEGY = 0, Z_UNKNOWN = 2, Z_DEFLATED = 8, MAX_MEM_LEVEL = 9, MAX_WBITS = 15, DEF_MEM_LEVEL = 8, LENGTH_CODES = 29, LITERALS = 256, L_CODES = LITERALS + 1 + LENGTH_CODES, D_CODES = 30, BL_CODES = 19, HEAP_SIZE = 2 * L_CODES + 1, MAX_BITS = 15, MIN_MATCH = 3, MAX_MATCH = 258, MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1, PRESET_DICT = 32, INIT_STATE = 42, EXTRA_STATE = 69, NAME_STATE = 73, COMMENT_STATE = 91, HCRC_STATE = 103, BUSY_STATE = 113, FINISH_STATE = 666, BS_NEED_MORE = 1, BS_BLOCK_DONE = 2, BS_FINISH_STARTED = 3, BS_FINISH_DONE = 4, OS_CODE = 3;\n function err(strm, errorCode) {\n return strm.msg = msg[errorCode], errorCode;\n }\n function rank(f) {\n return (f << 1) - (f > 4 \? 9 : 0);\n }\n function zero(buf) {\n var len = buf.length;\n while (--len >= 0)\n buf[len] = 0;\n }\n function flush_pending(strm) {\n var s = strm.state, len = s.pending;\n if (len > strm.avail_out)\n len = strm.avail_out;\n if (len === 0)\n return;\n if (utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out), strm.next_out += len, s.pending_out += len, strm.total_out += len, strm.avail_out -= len, s.pending -= len, s.pending === 0)\n s.pending_out = 0;\n }\n function flush_block_only(s, last) {\n trees._tr_flush_block(s, s.block_start >= 0 \? s.block_start : -1, s.strstart - s.block_start, last), s.block_start = s.strstart, flush_pending(s.strm);\n }\n function put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n }\n function putShortMSB(s, b) {\n s.pending_buf[s.pending++] = b >>> 8 & 255, s.pending_buf[s.pending++] = b & 255;\n }\n function read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n if (len > size)\n len = size;\n if (len === 0)\n return 0;\n if (strm.avail_in -= len, utils.arraySet(buf, strm.input, strm.next_in, len, start), strm.state.wrap === 1)\n strm.adler = adler32(strm.adler, buf, len, start);\n else if (strm.state.wrap === 2)\n strm.adler = crc32(strm.adler, buf, len, start);\n return strm.next_in += len, strm.total_in += len, len;\n }\n function longest_match(s, cur_match) {\n var { max_chain_length: chain_length, strstart: scan } = s, match, len, best_len = s.prev_length, nice_match = s.nice_match, limit = s.strstart > s.w_size - MIN_LOOKAHEAD \? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0, _win = s.window, wmask = s.w_mask, prev = s.prev, strend = s.strstart + MAX_MATCH, scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n if (s.prev_length >= s.good_match)\n chain_length >>= 2;\n if (nice_match > s.lookahead)\n nice_match = s.lookahead;\n do {\n if (match = cur_match, _win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1])\n continue;\n scan += 2, match++;\n do\n ;\n while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend);\n if (len = MAX_MATCH - (strend - scan), scan = strend - MAX_MATCH, len > best_len) {\n if (s.match_start = cur_match, best_len = len, len >= nice_match)\n break;\n scan_end1 = _win[scan + best_len - 1], scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n if (best_len <= s.lookahead)\n return best_len;\n return s.lookahead;\n }\n function fill_window(s) {\n var _w_size = s.w_size, p, n, m, more, str;\n do {\n if (more = s.window_size - s.lookahead - s.strstart, s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0), s.match_start -= _w_size, s.strstart -= _w_size, s.block_start -= _w_size, n = s.hash_size, p = n;\n do\n m = s.head[--p], s.head[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n n = _w_size, p = n;\n do\n m = s.prev[--p], s.prev[p] = m >= _w_size \? m - _w_size : 0;\n while (--n);\n more += _w_size;\n }\n if (s.strm.avail_in === 0)\n break;\n if (n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more), s.lookahead += n, s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert, s.ins_h = s.window[str], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + 1]) & s.hash_mask;\n while (s.insert)\n if (s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++, s.insert--, s.lookahead + s.insert < MIN_MATCH)\n break;\n }\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n }\n function deflate_stored(s, flush) {\n var max_block_size = 65535;\n if (max_block_size > s.pending_buf_size - 5)\n max_block_size = s.pending_buf_size - 5;\n for (;; ) {\n if (s.lookahead <= 1) {\n if (fill_window(s), s.lookahead === 0 && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n s.strstart += s.lookahead, s.lookahead = 0;\n var max_start = s.block_start + max_block_size;\n if (s.strstart === 0 || s.strstart >= max_start) {\n if (s.lookahead = s.strstart - max_start, s.strstart = max_start, flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n if (s.strstart - s.block_start >= s.w_size - MIN_LOOKAHEAD) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.strstart > s.block_start) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_NEED_MORE;\n }\n function deflate_fast(s, flush) {\n var hash_head, bflush;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (hash_head !== 0 && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD)\n s.match_length = longest_match(s, hash_head);\n if (s.match_length >= MIN_MATCH)\n if (bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.match_length <= s.max_lazy_match && s.lookahead >= MIN_MATCH) {\n s.match_length--;\n do\n s.strstart++, s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.match_length !== 0);\n s.strstart++;\n } else\n s.strstart += s.match_length, s.match_length = 0, s.ins_h = s.window[s.strstart], s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + 1]) & s.hash_mask;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_slow(s, flush) {\n var hash_head, bflush, max_insert;\n for (;; ) {\n if (s.lookahead < MIN_LOOKAHEAD) {\n if (fill_window(s), s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (hash_head = 0, s.lookahead >= MIN_MATCH)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n if (s.prev_length = s.match_length, s.prev_match = s.match_start, s.match_length = MIN_MATCH - 1, hash_head !== 0 && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) {\n if (s.match_length = longest_match(s, hash_head), s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096))\n s.match_length = MIN_MATCH - 1;\n }\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH, bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH), s.lookahead -= s.prev_length - 1, s.prev_length -= 2;\n do\n if (++s.strstart <= max_insert)\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask, hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = s.strstart;\n while (--s.prev_length !== 0);\n if (s.match_available = 0, s.match_length = MIN_MATCH - 1, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n } else if (s.match_available) {\n if (bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), bflush)\n flush_block_only(s, !1);\n if (s.strstart++, s.lookahead--, s.strm.avail_out === 0)\n return BS_NEED_MORE;\n } else\n s.match_available = 1, s.strstart++, s.lookahead--;\n }\n if (s.match_available)\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]), s.match_available = 0;\n if (s.insert = s.strstart < MIN_MATCH - 1 \? s.strstart : MIN_MATCH - 1, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_rle(s, flush) {\n var bflush, prev, scan, strend, _win = s.window;\n for (;; ) {\n if (s.lookahead <= MAX_MATCH) {\n if (fill_window(s), s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n if (s.lookahead === 0)\n break;\n }\n if (s.match_length = 0, s.lookahead >= MIN_MATCH && s.strstart > 0) {\n if (scan = s.strstart - 1, prev = _win[scan], prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do\n ;\n while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend);\n if (s.match_length = MAX_MATCH - (strend - scan), s.match_length > s.lookahead)\n s.match_length = s.lookahead;\n }\n }\n if (s.match_length >= MIN_MATCH)\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH), s.lookahead -= s.match_length, s.strstart += s.match_length, s.match_length = 0;\n else\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++;\n if (bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function deflate_huff(s, flush) {\n var bflush;\n for (;; ) {\n if (s.lookahead === 0) {\n if (fill_window(s), s.lookahead === 0) {\n if (flush === Z_NO_FLUSH)\n return BS_NEED_MORE;\n break;\n }\n }\n if (s.match_length = 0, bflush = trees._tr_tally(s, 0, s.window[s.strstart]), s.lookahead--, s.strstart++, bflush) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n }\n if (s.insert = 0, flush === Z_FINISH) {\n if (flush_block_only(s, !0), s.strm.avail_out === 0)\n return BS_FINISH_STARTED;\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n if (flush_block_only(s, !1), s.strm.avail_out === 0)\n return BS_NEED_MORE;\n }\n return BS_BLOCK_DONE;\n }\n function Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length, this.max_lazy = max_lazy, this.nice_length = nice_length, this.max_chain = max_chain, this.func = func;\n }\n var configuration_table = [\n new Config(0, 0, 0, 0, deflate_stored),\n new Config(4, 4, 8, 4, deflate_fast),\n new Config(4, 5, 16, 8, deflate_fast),\n new Config(4, 6, 32, 32, deflate_fast),\n new Config(4, 4, 16, 16, deflate_slow),\n new Config(8, 16, 32, 32, deflate_slow),\n new Config(8, 16, 128, 128, deflate_slow),\n new Config(8, 32, 128, 256, deflate_slow),\n new Config(32, 128, 258, 1024, deflate_slow),\n new Config(32, 258, 258, 4096, deflate_slow)\n ];\n function lm_init(s) {\n s.window_size = 2 * s.w_size, zero(s.head), s.max_lazy_match = configuration_table[s.level].max_lazy, s.good_match = configuration_table[s.level].good_length, s.nice_match = configuration_table[s.level].nice_length, s.max_chain_length = configuration_table[s.level].max_chain, s.strstart = 0, s.block_start = 0, s.lookahead = 0, s.insert = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, s.ins_h = 0;\n }\n function DeflateState() {\n this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = Z_DEFLATED, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2), this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2), this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2), zero(this.dyn_ltree), zero(this.dyn_dtree), zero(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new utils.Buf16(MAX_BITS + 1), this.heap = new utils.Buf16(2 * L_CODES + 1), zero(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new utils.Buf16(2 * L_CODES + 1), zero(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;\n }\n function deflateResetKeep(strm) {\n var s;\n if (!strm || !strm.state)\n return err(strm, Z_STREAM_ERROR);\n if (strm.total_in = strm.total_out = 0, strm.data_type = Z_UNKNOWN, s = strm.state, s.pending = 0, s.pending_out = 0, s.wrap < 0)\n s.wrap = -s.wrap;\n return s.status = s.wrap \? INIT_STATE : BUSY_STATE, strm.adler = s.wrap === 2 \? 0 : 1, s.last_flush = Z_NO_FLUSH, trees._tr_init(s), Z_OK;\n }\n function deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK)\n lm_init(strm.state);\n return ret;\n }\n function deflateSetHeader(strm, head) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (strm.state.wrap !== 2)\n return Z_STREAM_ERROR;\n return strm.state.gzhead = head, Z_OK;\n }\n function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm)\n return Z_STREAM_ERROR;\n var wrap = 1;\n if (level === Z_DEFAULT_COMPRESSION)\n level = 6;\n if (windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (windowBits > 15)\n wrap = 2, windowBits -= 16;\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED)\n return err(strm, Z_STREAM_ERROR);\n if (windowBits === 8)\n windowBits = 9;\n var s = new DeflateState;\n return strm.state = s, s.strm = strm, s.wrap = wrap, s.gzhead = null, s.w_bits = windowBits, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = memLevel + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH), s.window = new utils.Buf8(s.w_size * 2), s.head = new utils.Buf16(s.hash_size), s.prev = new utils.Buf16(s.w_size), s.lit_bufsize = 1 << memLevel + 6, s.pending_buf_size = s.lit_bufsize * 4, s.pending_buf = new utils.Buf8(s.pending_buf_size), s.d_buf = 1 * s.lit_bufsize, s.l_buf = 3 * s.lit_bufsize, s.level = level, s.strategy = strategy, s.method = method, deflateReset(strm);\n }\n function deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n }\n function deflate(strm, flush) {\n var old_flush, s, beg, val;\n if (!strm || !strm.state || flush > Z_BLOCK || flush < 0)\n return strm \? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n if (s = strm.state, !strm.output || !strm.input && strm.avail_in !== 0 || s.status === FINISH_STATE && flush !== Z_FINISH)\n return err(strm, strm.avail_out === 0 \? Z_BUF_ERROR : Z_STREAM_ERROR);\n if (s.strm = strm, old_flush = s.last_flush, s.last_flush = flush, s.status === INIT_STATE)\n if (s.wrap === 2)\n if (strm.adler = 0, put_byte(s, 31), put_byte(s, 139), put_byte(s, 8), !s.gzhead)\n put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, 0), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, OS_CODE), s.status = BUSY_STATE;\n else {\n if (put_byte(s, (s.gzhead.text \? 1 : 0) + (s.gzhead.hcrc \? 2 : 0) + (!s.gzhead.extra \? 0 : 4) + (!s.gzhead.name \? 0 : 8) + (!s.gzhead.comment \? 0 : 16)), put_byte(s, s.gzhead.time & 255), put_byte(s, s.gzhead.time >> 8 & 255), put_byte(s, s.gzhead.time >> 16 & 255), put_byte(s, s.gzhead.time >> 24 & 255), put_byte(s, s.level === 9 \? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 \? 4 : 0), put_byte(s, s.gzhead.os & 255), s.gzhead.extra && s.gzhead.extra.length)\n put_byte(s, s.gzhead.extra.length & 255), put_byte(s, s.gzhead.extra.length >> 8 & 255);\n if (s.gzhead.hcrc)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n s.gzindex = 0, s.status = EXTRA_STATE;\n }\n else {\n var header = Z_DEFLATED + (s.w_bits - 8 << 4) << 8, level_flags = -1;\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2)\n level_flags = 0;\n else if (s.level < 6)\n level_flags = 1;\n else if (s.level === 6)\n level_flags = 2;\n else\n level_flags = 3;\n if (header |= level_flags << 6, s.strstart !== 0)\n header |= PRESET_DICT;\n if (header += 31 - header % 31, s.status = BUSY_STATE, putShortMSB(s, header), s.strstart !== 0)\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n strm.adler = 1;\n }\n if (s.status === EXTRA_STATE)\n if (s.gzhead.extra) {\n beg = s.pending;\n while (s.gzindex < (s.gzhead.extra.length & 65535)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size)\n break;\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 255), s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (s.gzindex === s.gzhead.extra.length)\n s.gzindex = 0, s.status = NAME_STATE;\n } else\n s.status = NAME_STATE;\n if (s.status === NAME_STATE)\n if (s.gzhead.name) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.name.length)\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.gzindex = 0, s.status = COMMENT_STATE;\n } else\n s.status = COMMENT_STATE;\n if (s.status === COMMENT_STATE)\n if (s.gzhead.comment) {\n beg = s.pending;\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (flush_pending(strm), beg = s.pending, s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n if (s.gzindex < s.gzhead.comment.length)\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 255;\n else\n val = 0;\n put_byte(s, val);\n } while (val !== 0);\n if (s.gzhead.hcrc && s.pending > beg)\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n if (val === 0)\n s.status = HCRC_STATE;\n } else\n s.status = HCRC_STATE;\n if (s.status === HCRC_STATE)\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size)\n flush_pending(strm);\n if (s.pending + 2 <= s.pending_buf_size)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), strm.adler = 0, s.status = BUSY_STATE;\n } else\n s.status = BUSY_STATE;\n if (s.pending !== 0) {\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH)\n return err(strm, Z_BUF_ERROR);\n if (s.status === FINISH_STATE && strm.avail_in !== 0)\n return err(strm, Z_BUF_ERROR);\n if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH && s.status !== FINISH_STATE) {\n var bstate = s.strategy === Z_HUFFMAN_ONLY \? deflate_huff(s, flush) : s.strategy === Z_RLE \? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush);\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE)\n s.status = FINISH_STATE;\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0)\n s.last_flush = -1;\n return Z_OK;\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH)\n trees._tr_align(s);\n else if (flush !== Z_BLOCK) {\n if (trees._tr_stored_block(s, 0, 0, !1), flush === Z_FULL_FLUSH) {\n if (zero(s.head), s.lookahead === 0)\n s.strstart = 0, s.block_start = 0, s.insert = 0;\n }\n }\n if (flush_pending(strm), strm.avail_out === 0)\n return s.last_flush = -1, Z_OK;\n }\n }\n if (flush !== Z_FINISH)\n return Z_OK;\n if (s.wrap <= 0)\n return Z_STREAM_END;\n if (s.wrap === 2)\n put_byte(s, strm.adler & 255), put_byte(s, strm.adler >> 8 & 255), put_byte(s, strm.adler >> 16 & 255), put_byte(s, strm.adler >> 24 & 255), put_byte(s, strm.total_in & 255), put_byte(s, strm.total_in >> 8 & 255), put_byte(s, strm.total_in >> 16 & 255), put_byte(s, strm.total_in >> 24 & 255);\n else\n putShortMSB(s, strm.adler >>> 16), putShortMSB(s, strm.adler & 65535);\n if (flush_pending(strm), s.wrap > 0)\n s.wrap = -s.wrap;\n return s.pending !== 0 \? Z_OK : Z_STREAM_END;\n }\n function deflateEnd(strm) {\n var status;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (status = strm.state.status, status !== INIT_STATE && status !== EXTRA_STATE && status !== NAME_STATE && status !== COMMENT_STATE && status !== HCRC_STATE && status !== BUSY_STATE && status !== FINISH_STATE)\n return err(strm, Z_STREAM_ERROR);\n return strm.state = null, status === BUSY_STATE \? err(strm, Z_DATA_ERROR) : Z_OK;\n }\n function deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, s, str, n, wrap, avail, next, input, tmpDict;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (s = strm.state, wrap = s.wrap, wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead)\n return Z_STREAM_ERROR;\n if (wrap === 1)\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n if (s.wrap = 0, dictLength >= s.w_size) {\n if (wrap === 0)\n zero(s.head), s.strstart = 0, s.block_start = 0, s.insert = 0;\n tmpDict = new utils.Buf8(s.w_size), utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0), dictionary = tmpDict, dictLength = s.w_size;\n }\n avail = strm.avail_in, next = strm.next_in, input = strm.input, strm.avail_in = dictLength, strm.next_in = 0, strm.input = dictionary, fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart, n = s.lookahead - (MIN_MATCH - 1);\n do\n s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask, s.prev[str & s.w_mask] = s.head[s.ins_h], s.head[s.ins_h] = str, str++;\n while (--n);\n s.strstart = str, s.lookahead = MIN_MATCH - 1, fill_window(s);\n }\n return s.strstart += s.lookahead, s.block_start = s.strstart, s.insert = s.lookahead, s.lookahead = 0, s.match_length = s.prev_length = MIN_MATCH - 1, s.match_available = 0, strm.next_in = next, strm.input = input, strm.avail_in = avail, s.wrap = wrap, Z_OK;\n }\n exports.deflateInit = deflateInit, exports.deflateInit2 = deflateInit2, exports.deflateReset = deflateReset, exports.deflateResetKeep = deflateResetKeep, exports.deflateSetHeader = deflateSetHeader, exports.deflate = deflate, exports.deflateEnd = deflateEnd, exports.deflateSetDictionary = deflateSetDictionary, exports.deflateInfo = \"pako deflate (from Nodeca project)\";\n }\n}), require_inffast = __commonJS({\n \"node_modules/pako/lib/zlib/inffast.js\"(exports, module2) {\n var BAD = 30, TYPE = 12;\n module2.exports = function inflate_fast(strm, start) {\n var state, _in, last, _out, beg, end, dmax, wsize, whave, wnext, s_window, hold, bits, lcode, dcode, lmask, dmask, here, op, len, dist, from, from_source, input, output;\n state = strm.state, _in = strm.next_in, input = strm.input, last = _in + (strm.avail_in - 5), _out = strm.next_out, output = strm.output, beg = _out - (start - strm.avail_out), end = _out + (strm.avail_out - 257), dmax = state.dmax, wsize = state.wsize, whave = state.whave, wnext = state.wnext, s_window = state.window, hold = state.hold, bits = state.bits, lcode = state.lencode, dcode = state.distcode, lmask = (1 << state.lenbits) - 1, dmask = (1 << state.distbits) - 1;\n top:\n do {\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = lcode[hold & lmask];\n dolen:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op === 0)\n output[_out++] = here & 65535;\n else if (op & 16) {\n if (len = here & 65535, op &= 15, op) {\n if (bits < op)\n hold += input[_in++] << bits, bits += 8;\n len += hold & (1 << op) - 1, hold >>>= op, bits -= op;\n }\n if (bits < 15)\n hold += input[_in++] << bits, bits += 8, hold += input[_in++] << bits, bits += 8;\n here = dcode[hold & dmask];\n dodist:\n for (;; ) {\n if (op = here >>> 24, hold >>>= op, bits -= op, op = here >>> 16 & 255, op & 16) {\n if (dist = here & 65535, op &= 15, bits < op) {\n if (hold += input[_in++] << bits, bits += 8, bits < op)\n hold += input[_in++] << bits, bits += 8;\n }\n if (dist += hold & (1 << op) - 1, dist > dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n if (hold >>>= op, bits -= op, op = _out - beg, dist > op) {\n if (op = dist - op, op > whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break top;\n }\n }\n if (from = 0, from_source = s_window, wnext === 0) {\n if (from += wsize - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n } else if (wnext < op) {\n if (from += wsize + wnext - op, op -= wnext, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n if (from = 0, wnext < len) {\n op = wnext, len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n }\n } else if (from += wnext - op, op < len) {\n len -= op;\n do\n output[_out++] = s_window[from++];\n while (--op);\n from = _out - dist, from_source = output;\n }\n while (len > 2)\n output[_out++] = from_source[from++], output[_out++] = from_source[from++], output[_out++] = from_source[from++], len -= 3;\n if (len) {\n if (output[_out++] = from_source[from++], len > 1)\n output[_out++] = from_source[from++];\n }\n } else {\n from = _out - dist;\n do\n output[_out++] = output[from++], output[_out++] = output[from++], output[_out++] = output[from++], len -= 3;\n while (len > 2);\n if (len) {\n if (output[_out++] = output[from++], len > 1)\n output[_out++] = output[from++];\n }\n }\n } else if ((op & 64) === 0) {\n here = dcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dodist;\n } else {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } else if ((op & 64) === 0) {\n here = lcode[(here & 65535) + (hold & (1 << op) - 1)];\n continue dolen;\n } else if (op & 32) {\n state.mode = TYPE;\n break top;\n } else {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break top;\n }\n break;\n }\n } while (_in < last && _out < end);\n len = bits >> 3, _in -= len, bits -= len << 3, hold &= (1 << bits) - 1, strm.next_in = _in, strm.next_out = _out, strm.avail_in = _in < last \? 5 + (last - _in) : 5 - (_in - last), strm.avail_out = _out < end \? 257 + (end - _out) : 257 - (_out - end), state.hold = hold, state.bits = bits;\n return;\n };\n }\n}), require_inftrees = __commonJS({\n \"node_modules/pako/lib/zlib/inftrees.js\"(exports, module2) {\n var utils = require_common(), MAXBITS = 15, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, CODES = 0, LENS = 1, DISTS = 2, lbase = [\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 13,\n 15,\n 17,\n 19,\n 23,\n 27,\n 31,\n 35,\n 43,\n 51,\n 59,\n 67,\n 83,\n 99,\n 115,\n 131,\n 163,\n 195,\n 227,\n 258,\n 0,\n 0\n ], lext = [\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 18,\n 19,\n 19,\n 19,\n 19,\n 20,\n 20,\n 20,\n 20,\n 21,\n 21,\n 21,\n 21,\n 16,\n 72,\n 78\n ], dbase = [\n 1,\n 2,\n 3,\n 4,\n 5,\n 7,\n 9,\n 13,\n 17,\n 25,\n 33,\n 49,\n 65,\n 97,\n 129,\n 193,\n 257,\n 385,\n 513,\n 769,\n 1025,\n 1537,\n 2049,\n 3073,\n 4097,\n 6145,\n 8193,\n 12289,\n 16385,\n 24577,\n 0,\n 0\n ], dext = [\n 16,\n 16,\n 16,\n 16,\n 17,\n 17,\n 18,\n 18,\n 19,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 24,\n 25,\n 25,\n 26,\n 26,\n 27,\n 27,\n 28,\n 28,\n 29,\n 29,\n 64,\n 64\n ];\n module2.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {\n var bits = opts.bits, len = 0, sym = 0, min = 0, max = 0, root = 0, curr = 0, drop = 0, left = 0, used = 0, huff = 0, incr, fill, low, mask, next, base = null, base_index = 0, end, count = new utils.Buf16(MAXBITS + 1), offs = new utils.Buf16(MAXBITS + 1), extra = null, extra_index = 0, here_bits, here_op, here_val;\n for (len = 0;len <= MAXBITS; len++)\n count[len] = 0;\n for (sym = 0;sym < codes; sym++)\n count[lens[lens_index + sym]]++;\n root = bits;\n for (max = MAXBITS;max >= 1; max--)\n if (count[max] !== 0)\n break;\n if (root > max)\n root = max;\n if (max === 0)\n return table[table_index++] = 1 << 24 | 64 << 16 | 0, table[table_index++] = 1 << 24 | 64 << 16 | 0, opts.bits = 1, 0;\n for (min = 1;min < max; min++)\n if (count[min] !== 0)\n break;\n if (root < min)\n root = min;\n left = 1;\n for (len = 1;len <= MAXBITS; len++)\n if (left <<= 1, left -= count[len], left < 0)\n return -1;\n if (left > 0 && (type === CODES || max !== 1))\n return -1;\n offs[1] = 0;\n for (len = 1;len < MAXBITS; len++)\n offs[len + 1] = offs[len] + count[len];\n for (sym = 0;sym < codes; sym++)\n if (lens[lens_index + sym] !== 0)\n work[offs[lens[lens_index + sym]]++] = sym;\n if (type === CODES)\n base = extra = work, end = 19;\n else if (type === LENS)\n base = lbase, base_index -= 257, extra = lext, extra_index -= 257, end = 256;\n else\n base = dbase, extra = dext, end = -1;\n if (huff = 0, sym = 0, len = min, next = table_index, curr = root, drop = 0, low = -1, used = 1 << root, mask = used - 1, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n for (;; ) {\n if (here_bits = len - drop, work[sym] < end)\n here_op = 0, here_val = work[sym];\n else if (work[sym] > end)\n here_op = extra[extra_index + work[sym]], here_val = base[base_index + work[sym]];\n else\n here_op = 96, here_val = 0;\n incr = 1 << len - drop, fill = 1 << curr, min = fill;\n do\n fill -= incr, table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;\n while (fill !== 0);\n incr = 1 << len - 1;\n while (huff & incr)\n incr >>= 1;\n if (incr !== 0)\n huff &= incr - 1, huff += incr;\n else\n huff = 0;\n if (sym++, --count[len] === 0) {\n if (len === max)\n break;\n len = lens[lens_index + work[sym]];\n }\n if (len > root && (huff & mask) !== low) {\n if (drop === 0)\n drop = root;\n next += min, curr = len - drop, left = 1 << curr;\n while (curr + drop < max) {\n if (left -= count[curr + drop], left <= 0)\n break;\n curr++, left <<= 1;\n }\n if (used += 1 << curr, type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS)\n return 1;\n low = huff & mask, table[low] = root << 24 | curr << 16 | next - table_index | 0;\n }\n }\n if (huff !== 0)\n table[next + huff] = len - drop << 24 | 64 << 16 | 0;\n return opts.bits = root, 0;\n };\n }\n}), require_inflate = __commonJS({\n \"node_modules/pako/lib/zlib/inflate.js\"(exports) {\n var utils = require_common(), adler32 = require_adler32(), crc32 = require_crc32(), inflate_fast = require_inffast(), inflate_table = require_inftrees(), CODES = 0, LENS = 1, DISTS = 2, Z_FINISH = 4, Z_BLOCK = 5, Z_TREES = 6, Z_OK = 0, Z_STREAM_END = 1, Z_NEED_DICT = 2, Z_STREAM_ERROR = -2, Z_DATA_ERROR = -3, Z_MEM_ERROR = -4, Z_BUF_ERROR = -5, Z_DEFLATED = 8, HEAD = 1, FLAGS = 2, TIME = 3, OS = 4, EXLEN = 5, EXTRA = 6, NAME = 7, COMMENT = 8, HCRC = 9, DICTID = 10, DICT = 11, TYPE = 12, TYPEDO = 13, STORED = 14, COPY_ = 15, COPY = 16, TABLE = 17, LENLENS = 18, CODELENS = 19, LEN_ = 20, LEN = 21, LENEXT = 22, DIST = 23, DISTEXT = 24, MATCH = 25, LIT = 26, CHECK = 27, LENGTH = 28, DONE = 29, BAD = 30, MEM = 31, SYNC = 32, ENOUGH_LENS = 852, ENOUGH_DISTS = 592, MAX_WBITS = 15, DEF_WBITS = MAX_WBITS;\n function zswap32(q) {\n return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24);\n }\n function InflateState() {\n this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new utils.Buf16(320), this.work = new utils.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;\n }\n function inflateResetKeep(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, strm.total_in = strm.total_out = state.total = 0, strm.msg = \"\", state.wrap)\n strm.adler = state.wrap & 1;\n return state.mode = HEAD, state.last = 0, state.havedict = 0, state.dmax = 32768, state.head = null, state.hold = 0, state.bits = 0, state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS), state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS), state.sane = 1, state.back = -1, Z_OK;\n }\n function inflateReset(strm) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n return state = strm.state, state.wsize = 0, state.whave = 0, state.wnext = 0, inflateResetKeep(strm);\n }\n function inflateReset2(strm, windowBits) {\n var wrap, state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, windowBits < 0)\n wrap = 0, windowBits = -windowBits;\n else if (wrap = (windowBits >> 4) + 1, windowBits < 48)\n windowBits &= 15;\n if (windowBits && (windowBits < 8 || windowBits > 15))\n return Z_STREAM_ERROR;\n if (state.window !== null && state.wbits !== windowBits)\n state.window = null;\n return state.wrap = wrap, state.wbits = windowBits, inflateReset(strm);\n }\n function inflateInit2(strm, windowBits) {\n var ret, state;\n if (!strm)\n return Z_STREAM_ERROR;\n if (state = new InflateState, strm.state = state, state.window = null, ret = inflateReset2(strm, windowBits), ret !== Z_OK)\n strm.state = null;\n return ret;\n }\n function inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n }\n var virgin = !0, lenfix, distfix;\n function fixedtables(state) {\n if (virgin) {\n var sym;\n lenfix = new utils.Buf32(512), distfix = new utils.Buf32(32), sym = 0;\n while (sym < 144)\n state.lens[sym++] = 8;\n while (sym < 256)\n state.lens[sym++] = 9;\n while (sym < 280)\n state.lens[sym++] = 7;\n while (sym < 288)\n state.lens[sym++] = 8;\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {\n bits: 9\n }), sym = 0;\n while (sym < 32)\n state.lens[sym++] = 5;\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {\n bits: 5\n }), virgin = !1;\n }\n state.lencode = lenfix, state.lenbits = 9, state.distcode = distfix, state.distbits = 5;\n }\n function updatewindow(strm, src, end, copy) {\n var dist, state = strm.state;\n if (state.window === null)\n state.wsize = 1 << state.wbits, state.wnext = 0, state.whave = 0, state.window = new utils.Buf8(state.wsize);\n if (copy >= state.wsize)\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0), state.wnext = 0, state.whave = state.wsize;\n else {\n if (dist = state.wsize - state.wnext, dist > copy)\n dist = copy;\n if (utils.arraySet(state.window, src, end - copy, dist, state.wnext), copy -= dist, copy)\n utils.arraySet(state.window, src, end - copy, copy, 0), state.wnext = copy, state.whave = state.wsize;\n else {\n if (state.wnext += dist, state.wnext === state.wsize)\n state.wnext = 0;\n if (state.whave < state.wsize)\n state.whave += dist;\n }\n }\n return 0;\n }\n function inflate(strm, flush) {\n var state, input, output, next, put, have, left, hold, bits, _in, _out, copy, from, from_source, here = 0, here_bits, here_op, here_val, last_bits, last_op, last_val, len, ret, hbuf = new utils.Buf8(4), opts, n, order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.mode === TYPE)\n state.mode = TYPEDO;\n put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, _in = have, _out = left, ret = Z_OK;\n inf_leave:\n for (;; )\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.wrap & 2 && hold === 35615) {\n state.check = 0, hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0), hold = 0, bits = 0, state.mode = FLAGS;\n break;\n }\n if (state.flags = 0, state.head)\n state.head.done = !1;\n if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {\n strm.msg = \"incorrect header check\", state.mode = BAD;\n break;\n }\n if ((hold & 15) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (hold >>>= 4, bits -= 4, len = (hold & 15) + 8, state.wbits === 0)\n state.wbits = len;\n else if (len > state.wbits) {\n strm.msg = \"invalid window size\", state.mode = BAD;\n break;\n }\n state.dmax = 1 << len, strm.adler = state.check = 1, state.mode = hold & 512 \? DICTID : TYPE, hold = 0, bits = 0;\n break;\n case FLAGS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.flags = hold, (state.flags & 255) !== Z_DEFLATED) {\n strm.msg = \"unknown compression method\", state.mode = BAD;\n break;\n }\n if (state.flags & 57344) {\n strm.msg = \"unknown header flags set\", state.mode = BAD;\n break;\n }\n if (state.head)\n state.head.text = hold >> 8 & 1;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = TIME;\n case TIME:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.time = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, hbuf[2] = hold >>> 16 & 255, hbuf[3] = hold >>> 24 & 255, state.check = crc32(state.check, hbuf, 4, 0);\n hold = 0, bits = 0, state.mode = OS;\n case OS:\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.head)\n state.head.xflags = hold & 255, state.head.os = hold >> 8;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0, state.mode = EXLEN;\n case EXLEN:\n if (state.flags & 1024) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.length = hold, state.head)\n state.head.extra_len = hold;\n if (state.flags & 512)\n hbuf[0] = hold & 255, hbuf[1] = hold >>> 8 & 255, state.check = crc32(state.check, hbuf, 2, 0);\n hold = 0, bits = 0;\n } else if (state.head)\n state.head.extra = null;\n state.mode = EXTRA;\n case EXTRA:\n if (state.flags & 1024) {\n if (copy = state.length, copy > have)\n copy = have;\n if (copy) {\n if (state.head) {\n if (len = state.head.extra_len - state.length, !state.head.extra)\n state.head.extra = new @Array(state.head.extra_len);\n utils.arraySet(state.head.extra, input, next, copy, len);\n }\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n have -= copy, next += copy, state.length -= copy;\n }\n if (state.length)\n break inf_leave;\n }\n state.length = 0, state.mode = NAME;\n case NAME:\n if (state.flags & 2048) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.name += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.name = null;\n state.length = 0, state.mode = COMMENT;\n case COMMENT:\n if (state.flags & 4096) {\n if (have === 0)\n break inf_leave;\n copy = 0;\n do\n if (len = input[next + copy++], state.head && len && state.length < 65536)\n state.head.comment += @String.fromCharCode(len);\n while (len && copy < have);\n if (state.flags & 512)\n state.check = crc32(state.check, input, copy, next);\n if (have -= copy, next += copy, len)\n break inf_leave;\n } else if (state.head)\n state.head.comment = null;\n state.mode = HCRC;\n case HCRC:\n if (state.flags & 512) {\n while (bits < 16) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.check & 65535)) {\n strm.msg = \"header crc mismatch\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n if (state.head)\n state.head.hcrc = state.flags >> 9 & 1, state.head.done = !0;\n strm.adler = state.check = 0, state.mode = TYPE;\n break;\n case DICTID:\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n strm.adler = state.check = zswap32(hold), hold = 0, bits = 0, state.mode = DICT;\n case DICT:\n if (state.havedict === 0)\n return strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, Z_NEED_DICT;\n strm.adler = state.check = 1, state.mode = TYPE;\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES)\n break inf_leave;\n case TYPEDO:\n if (state.last) {\n hold >>>= bits & 7, bits -= bits & 7, state.mode = CHECK;\n break;\n }\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n switch (state.last = hold & 1, hold >>>= 1, bits -= 1, hold & 3) {\n case 0:\n state.mode = STORED;\n break;\n case 1:\n if (fixedtables(state), state.mode = LEN_, flush === Z_TREES) {\n hold >>>= 2, bits -= 2;\n break inf_leave;\n }\n break;\n case 2:\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = \"invalid block type\", state.mode = BAD;\n }\n hold >>>= 2, bits -= 2;\n break;\n case STORED:\n hold >>>= bits & 7, bits -= bits & 7;\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((hold & 65535) !== (hold >>> 16 ^ 65535)) {\n strm.msg = \"invalid stored block lengths\", state.mode = BAD;\n break;\n }\n if (state.length = hold & 65535, hold = 0, bits = 0, state.mode = COPY_, flush === Z_TREES)\n break inf_leave;\n case COPY_:\n state.mode = COPY;\n case COPY:\n if (copy = state.length, copy) {\n if (copy > have)\n copy = have;\n if (copy > left)\n copy = left;\n if (copy === 0)\n break inf_leave;\n utils.arraySet(output, input, next, copy, put), have -= copy, next += copy, left -= copy, put += copy, state.length -= copy;\n break;\n }\n state.mode = TYPE;\n break;\n case TABLE:\n while (bits < 14) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (state.nlen = (hold & 31) + 257, hold >>>= 5, bits -= 5, state.ndist = (hold & 31) + 1, hold >>>= 5, bits -= 5, state.ncode = (hold & 15) + 4, hold >>>= 4, bits -= 4, state.nlen > 286 || state.ndist > 30) {\n strm.msg = \"too many length or distance symbols\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = LENLENS;\n case LENLENS:\n while (state.have < state.ncode) {\n while (bits < 3) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.lens[order[state.have++]] = hold & 7, hold >>>= 3, bits -= 3;\n }\n while (state.have < 19)\n state.lens[order[state.have++]] = 0;\n if (state.lencode = state.lendyn, state.lenbits = 7, opts = { bits: state.lenbits }, ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid code lengths set\", state.mode = BAD;\n break;\n }\n state.have = 0, state.mode = CODELENS;\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_val < 16)\n hold >>>= here_bits, bits -= here_bits, state.lens[state.have++] = here_val;\n else {\n if (here_val === 16) {\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.have === 0) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1], copy = 3 + (hold & 3), hold >>>= 2, bits -= 2;\n } else if (here_val === 17) {\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 3 + (hold & 7), hold >>>= 3, bits -= 3;\n } else {\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= here_bits, bits -= here_bits, len = 0, copy = 11 + (hold & 127), hold >>>= 7, bits -= 7;\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = \"invalid bit length repeat\", state.mode = BAD;\n break;\n }\n while (copy--)\n state.lens[state.have++] = len;\n }\n }\n if (state.mode === BAD)\n break;\n if (state.lens[256] === 0) {\n strm.msg = \"invalid code -- missing end-of-block\", state.mode = BAD;\n break;\n }\n if (state.lenbits = 9, opts = { bits: state.lenbits }, ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts), state.lenbits = opts.bits, ret) {\n strm.msg = \"invalid literal/lengths set\", state.mode = BAD;\n break;\n }\n if (state.distbits = 6, state.distcode = state.distdyn, opts = { bits: state.distbits }, ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts), state.distbits = opts.bits, ret) {\n strm.msg = \"invalid distances set\", state.mode = BAD;\n break;\n }\n if (state.mode = LEN_, flush === Z_TREES)\n break inf_leave;\n case LEN_:\n state.mode = LEN;\n case LEN:\n if (have >= 6 && left >= 258) {\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, inflate_fast(strm, _out), put = strm.next_out, output = strm.output, left = strm.avail_out, next = strm.next_in, input = strm.input, have = strm.avail_in, hold = state.hold, bits = state.bits, state.mode === TYPE)\n state.back = -1;\n break;\n }\n state.back = 0;\n for (;; ) {\n if (here = state.lencode[hold & (1 << state.lenbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (here_op && (here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, state.length = here_val, here_op === 0) {\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n state.back = -1, state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = \"invalid literal/length code\", state.mode = BAD;\n break;\n }\n state.extra = here_op & 15, state.mode = LENEXT;\n case LENEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.length += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n state.was = state.length, state.mode = DIST;\n case DIST:\n for (;; ) {\n if (here = state.distcode[hold & (1 << state.distbits) - 1], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if ((here_op & 240) === 0) {\n last_bits = here_bits, last_op = here_op, last_val = here_val;\n for (;; ) {\n if (here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)], here_bits = here >>> 24, here_op = here >>> 16 & 255, here_val = here & 65535, last_bits + here_bits <= bits)\n break;\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n hold >>>= last_bits, bits -= last_bits, state.back += last_bits;\n }\n if (hold >>>= here_bits, bits -= here_bits, state.back += here_bits, here_op & 64) {\n strm.msg = \"invalid distance code\", state.mode = BAD;\n break;\n }\n state.offset = here_val, state.extra = here_op & 15, state.mode = DISTEXT;\n case DISTEXT:\n if (state.extra) {\n n = state.extra;\n while (bits < n) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n state.offset += hold & (1 << state.extra) - 1, hold >>>= state.extra, bits -= state.extra, state.back += state.extra;\n }\n if (state.offset > state.dmax) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n state.mode = MATCH;\n case MATCH:\n if (left === 0)\n break inf_leave;\n if (copy = _out - left, state.offset > copy) {\n if (copy = state.offset - copy, copy > state.whave) {\n if (state.sane) {\n strm.msg = \"invalid distance too far back\", state.mode = BAD;\n break;\n }\n }\n if (copy > state.wnext)\n copy -= state.wnext, from = state.wsize - copy;\n else\n from = state.wnext - copy;\n if (copy > state.length)\n copy = state.length;\n from_source = state.window;\n } else\n from_source = output, from = put - state.offset, copy = state.length;\n if (copy > left)\n copy = left;\n left -= copy, state.length -= copy;\n do\n output[put++] = from_source[from++];\n while (--copy);\n if (state.length === 0)\n state.mode = LEN;\n break;\n case LIT:\n if (left === 0)\n break inf_leave;\n output[put++] = state.length, left--, state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold |= input[next++] << bits, bits += 8;\n }\n if (_out -= left, strm.total_out += _out, state.total += _out, _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);\n if (_out = left, (state.flags \? hold : zswap32(hold)) !== state.check) {\n strm.msg = \"incorrect data check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = LENGTH;\n case LENGTH:\n if (state.wrap && state.flags) {\n while (bits < 32) {\n if (have === 0)\n break inf_leave;\n have--, hold += input[next++] << bits, bits += 8;\n }\n if (hold !== (state.total & 4294967295)) {\n strm.msg = \"incorrect length check\", state.mode = BAD;\n break;\n }\n hold = 0, bits = 0;\n }\n state.mode = DONE;\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n default:\n return Z_STREAM_ERROR;\n }\n if (strm.next_out = put, strm.avail_out = left, strm.next_in = next, strm.avail_in = have, state.hold = hold, state.bits = bits, state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out))\n return state.mode = MEM, Z_MEM_ERROR;\n }\n if (_in -= strm.avail_in, _out -= strm.avail_out, strm.total_in += _in, strm.total_out += _out, state.total += _out, state.wrap && _out)\n strm.adler = state.check = state.flags \? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);\n if (strm.data_type = state.bits + (state.last \? 64 : 0) + (state.mode === TYPE \? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ \? 256 : 0), (_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK)\n ret = Z_BUF_ERROR;\n return ret;\n }\n function inflateEnd(strm) {\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n var state = strm.state;\n if (state.window)\n state.window = null;\n return strm.state = null, Z_OK;\n }\n function inflateGetHeader(strm, head) {\n var state;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, (state.wrap & 2) === 0)\n return Z_STREAM_ERROR;\n return state.head = head, head.done = !1, Z_OK;\n }\n function inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length, state, dictid, ret;\n if (!strm || !strm.state)\n return Z_STREAM_ERROR;\n if (state = strm.state, state.wrap !== 0 && state.mode !== DICT)\n return Z_STREAM_ERROR;\n if (state.mode === DICT) {\n if (dictid = 1, dictid = adler32(dictid, dictionary, dictLength, 0), dictid !== state.check)\n return Z_DATA_ERROR;\n }\n if (ret = updatewindow(strm, dictionary, dictLength, dictLength), ret)\n return state.mode = MEM, Z_MEM_ERROR;\n return state.havedict = 1, Z_OK;\n }\n exports.inflateReset = inflateReset, exports.inflateReset2 = inflateReset2, exports.inflateResetKeep = inflateResetKeep, exports.inflateInit = inflateInit, exports.inflateInit2 = inflateInit2, exports.inflate = inflate, exports.inflateEnd = inflateEnd, exports.inflateGetHeader = inflateGetHeader, exports.inflateSetDictionary = inflateSetDictionary, exports.inflateInfo = \"pako inflate (from Nodeca project)\";\n }\n}), require_constants = __commonJS({\n \"node_modules/pako/lib/zlib/constants.js\"(exports, module2) {\n module2.exports = {\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_BUF_ERROR: -5,\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n Z_BINARY: 0,\n Z_TEXT: 1,\n Z_UNKNOWN: 2,\n Z_DEFLATED: 8\n };\n }\n}), require_binding = __commonJS({\n \"node_modules/browserify-zlib/lib/binding.js\"(exports) {\n var Zstream = require_zstream(), zlib_deflate = require_deflate(), zlib_inflate = require_inflate(), constants = require_constants();\n for (key in constants)\n exports[key] = constants[key];\n var key;\n exports.NONE = 0, exports.DEFLATE = 1, exports.INFLATE = 2, exports.GZIP = 3, exports.GUNZIP = 4, exports.DEFLATERAW = 5, exports.INFLATERAW = 6, exports.UNZIP = 7;\n var GZIP_HEADER_ID1 = 31, GZIP_HEADER_ID2 = 139;\n function Zlib(mode) {\n if (typeof mode !== \"number\" || mode < exports.DEFLATE || mode > exports.UNZIP)\n @throwTypeError(\"Bad argument\");\n this.dictionary = null, this.err = 0, this.flush = 0, this.init_done = !1, this.level = 0, this.memLevel = 0, this.mode = mode, this.strategy = 0, this.windowBits = 0, this.write_in_progress = !1, this.pending_close = !1, this.gzip_id_bytes_read = 0;\n }\n Zlib.prototype = {}, Zlib.prototype.close = function() {\n if (this.write_in_progress) {\n this.pending_close = !0;\n return;\n }\n if (this.pending_close = !1, assert(this.init_done, \"close before init\"), assert(this.mode <= exports.UNZIP), this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW)\n zlib_deflate.deflateEnd(this.strm);\n else if (this.mode === exports.INFLATE || this.mode === exports.GUNZIP || this.mode === exports.INFLATERAW || this.mode === exports.UNZIP)\n zlib_inflate.inflateEnd(this.strm);\n this.mode = exports.NONE, this.dictionary = null;\n }, Zlib.prototype.write = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!0, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype.writeSync = function(flush, input, in_off, in_len, out, out_off, out_len) {\n return this._write(!1, flush, input, in_off, in_len, out, out_off, out_len);\n }, Zlib.prototype._write = function(async, flush, input, in_off, in_len, out, out_off, out_len) {\n if (assert.equal(arguments.length, 8), assert(this.init_done, \"write before init\"), assert(this.mode !== exports.NONE, \"already finalized\"), assert.equal(!1, this.write_in_progress, \"write already in progress\"), assert.equal(!1, this.pending_close, \"close is pending\"), this.write_in_progress = !0, assert.equal(!1, flush === void 0, \"must provide flush value\"), this.write_in_progress = !0, flush !== exports.Z_NO_FLUSH && flush !== exports.Z_PARTIAL_FLUSH && flush !== exports.Z_SYNC_FLUSH && flush !== exports.Z_FULL_FLUSH && flush !== exports.Z_FINISH && flush !== exports.Z_BLOCK)\n throw new Error(\"Invalid flush value\");\n if (input == null)\n input = @Buffer.alloc(0), in_len = 0, in_off = 0;\n if (this.strm.avail_in = in_len, this.strm.input = input, this.strm.next_in = in_off, this.strm.avail_out = out_len, this.strm.output = out, this.strm.next_out = out_off, this.flush = flush, !async) {\n if (this._process(), this._checkError())\n return this._afterSync();\n return;\n }\n var self = this;\n return process.nextTick(function() {\n self._process(), self._after();\n }), this;\n }, Zlib.prototype._afterSync = function() {\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n return this.write_in_progress = !1, [avail_in, avail_out];\n }, Zlib.prototype._process = function() {\n var next_expected_header_byte = null;\n switch (this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflate(this.strm, this.flush);\n break;\n case exports.UNZIP:\n if (this.strm.avail_in > 0)\n next_expected_header_byte = this.strm.next_in;\n switch (this.gzip_id_bytes_read) {\n case 0:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID1) {\n if (this.gzip_id_bytes_read = 1, next_expected_header_byte++, this.strm.avail_in === 1)\n break;\n } else {\n this.mode = exports.INFLATE;\n break;\n }\n case 1:\n if (next_expected_header_byte === null)\n break;\n if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID2)\n this.gzip_id_bytes_read = 2, this.mode = exports.GUNZIP;\n else\n this.mode = exports.INFLATE;\n break;\n default:\n throw new Error(\"invalid number of gzip magic number bytes read\");\n }\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n if (this.err = zlib_inflate.inflate(this.strm, this.flush), this.err === exports.Z_NEED_DICT && this.dictionary) {\n if (this.err = zlib_inflate.inflateSetDictionary(this.strm, this.dictionary), this.err === exports.Z_OK)\n this.err = zlib_inflate.inflate(this.strm, this.flush);\n else if (this.err === exports.Z_DATA_ERROR)\n this.err = exports.Z_NEED_DICT;\n }\n while (this.strm.avail_in > 0 && this.mode === exports.GUNZIP && this.err === exports.Z_STREAM_END && this.strm.next_in[0] !== 0)\n this.reset(), this.err = zlib_inflate.inflate(this.strm, this.flush);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n }, Zlib.prototype._checkError = function() {\n switch (this.err) {\n case exports.Z_OK:\n case exports.Z_BUF_ERROR:\n if (this.strm.avail_out !== 0 && this.flush === exports.Z_FINISH)\n return this._error(\"unexpected end of file\"), !1;\n break;\n case exports.Z_STREAM_END:\n break;\n case exports.Z_NEED_DICT:\n if (this.dictionary == null)\n this._error(\"Missing dictionary\");\n else\n this._error(\"Bad dictionary\");\n return !1;\n default:\n return this._error(\"Zlib error\"), !1;\n }\n return !0;\n }, Zlib.prototype._after = function() {\n if (!this._checkError())\n return;\n var avail_out = this.strm.avail_out, avail_in = this.strm.avail_in;\n if (this.write_in_progress = !1, this.callback(avail_in, avail_out), this.pending_close)\n this.close();\n }, Zlib.prototype._error = function(message) {\n if (this.strm.msg)\n message = this.strm.msg;\n if (this.onerror(message, this.err), this.write_in_progress = !1, this.pending_close)\n this.close();\n }, Zlib.prototype.init = function(windowBits, level, memLevel, strategy, dictionary) {\n assert(arguments.length === 4 || arguments.length === 5, \"init(windowBits, level, memLevel, strategy, [dictionary])\"), assert(windowBits >= 8 && windowBits <= 15, \"invalid windowBits\"), assert(level >= -1 && level <= 9, \"invalid compression level\"), assert(memLevel >= 1 && memLevel <= 9, \"invalid memlevel\"), assert(strategy === exports.Z_FILTERED || strategy === exports.Z_HUFFMAN_ONLY || strategy === exports.Z_RLE || strategy === exports.Z_FIXED || strategy === exports.Z_DEFAULT_STRATEGY, \"invalid strategy\"), this._init(level, windowBits, memLevel, strategy, dictionary), this._setDictionary();\n }, Zlib.prototype.params = function() {\n throw new Error(\"deflateParams Not supported\");\n }, Zlib.prototype.reset = function() {\n this._reset(), this._setDictionary();\n }, Zlib.prototype._init = function(level, windowBits, memLevel, strategy, dictionary) {\n if (this.level = level, this.windowBits = windowBits, this.memLevel = memLevel, this.strategy = strategy, this.flush = exports.Z_NO_FLUSH, this.err = exports.Z_OK, this.mode === exports.GZIP || this.mode === exports.GUNZIP)\n this.windowBits += 16;\n if (this.mode === exports.UNZIP)\n this.windowBits += 32;\n if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW)\n this.windowBits = -1 * this.windowBits;\n switch (this.strm = new Zstream, this.mode) {\n case exports.DEFLATE:\n case exports.GZIP:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateInit2(this.strm, this.level, exports.Z_DEFLATED, this.windowBits, this.memLevel, this.strategy);\n break;\n case exports.INFLATE:\n case exports.GUNZIP:\n case exports.INFLATERAW:\n case exports.UNZIP:\n this.err = zlib_inflate.inflateInit2(this.strm, this.windowBits);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Init error\");\n this.dictionary = dictionary, this.write_in_progress = !1, this.init_done = !0;\n }, Zlib.prototype._setDictionary = function() {\n if (this.dictionary == null)\n return;\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n this.err = zlib_deflate.deflateSetDictionary(this.strm, this.dictionary);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to set dictionary\");\n }, Zlib.prototype._reset = function() {\n switch (this.err = exports.Z_OK, this.mode) {\n case exports.DEFLATE:\n case exports.DEFLATERAW:\n case exports.GZIP:\n this.err = zlib_deflate.deflateReset(this.strm);\n break;\n case exports.INFLATE:\n case exports.INFLATERAW:\n case exports.GUNZIP:\n this.err = zlib_inflate.inflateReset(this.strm);\n break;\n default:\n break;\n }\n if (this.err !== exports.Z_OK)\n this._error(\"Failed to reset stream\");\n }, exports.Zlib = Zlib;\n }\n}), require_lib = __commonJS({\n \"node_modules/browserify-zlib/lib/index.js\"(exports) {\n var Buffer2 = BufferModule.Buffer, Transform = StreamModule.Transform, binding = require_binding(), util = Util, kMaxLength = BufferModule.kMaxLength, kRangeErrorMessage = \"Cannot create final Buffer. It would be larger than 0x\" + kMaxLength.toString(16) + \" bytes\";\n binding.Z_MIN_WINDOWBITS = 8, binding.Z_MAX_WINDOWBITS = 15, binding.Z_DEFAULT_WINDOWBITS = 15, binding.Z_MIN_CHUNK = 64, binding.Z_MAX_CHUNK = @Infinity, binding.Z_DEFAULT_CHUNK = 16384, binding.Z_MIN_MEMLEVEL = 1, binding.Z_MAX_MEMLEVEL = 9, binding.Z_DEFAULT_MEMLEVEL = 8, binding.Z_MIN_LEVEL = -1, binding.Z_MAX_LEVEL = 9, binding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n var bkeys = Object.keys(binding);\n for (bk = 0;bk < bkeys.length; bk++)\n if (bkey = bkeys[bk], bkey.match(/^Z/))\n Object.defineProperty(exports, bkey, {\n enumerable: !0,\n value: binding[bkey],\n writable: !1\n });\n var bkey, bk, codes = {\n Z_OK: binding.Z_OK,\n Z_STREAM_END: binding.Z_STREAM_END,\n Z_NEED_DICT: binding.Z_NEED_DICT,\n Z_ERRNO: binding.Z_ERRNO,\n Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n Z_DATA_ERROR: binding.Z_DATA_ERROR,\n Z_MEM_ERROR: binding.Z_MEM_ERROR,\n Z_BUF_ERROR: binding.Z_BUF_ERROR,\n Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n }, ckeys = Object.keys(codes);\n for (ck = 0;ck < ckeys.length; ck++)\n ckey = ckeys[ck], codes[codes[ckey]] = ckey;\n var ckey, ck;\n Object.defineProperty(exports, \"codes\", {\n enumerable: !0,\n value: Object.freeze(codes),\n writable: !1\n }), exports.constants = require_constants(), exports.Deflate = Deflate, exports.Inflate = Inflate, exports.Gzip = Gzip, exports.Gunzip = Gunzip, exports.DeflateRaw = DeflateRaw, exports.InflateRaw = InflateRaw, exports.Unzip = Unzip, exports.createDeflate = function(o) {\n return new Deflate(o);\n }, exports.createInflate = function(o) {\n return new Inflate(o);\n }, exports.createDeflateRaw = function(o) {\n return new DeflateRaw(o);\n }, exports.createInflateRaw = function(o) {\n return new InflateRaw(o);\n }, exports.createGzip = function(o) {\n return new Gzip(o);\n }, exports.createGunzip = function(o) {\n return new Gunzip(o);\n }, exports.createUnzip = function(o) {\n return new Unzip(o);\n }, exports.deflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Deflate(opts), buffer, callback);\n }, exports.deflateSync = function(buffer, opts) {\n return zlibBufferSync(new Deflate(opts), buffer);\n }, exports.gzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gzip(opts), buffer, callback);\n }, exports.gzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gzip(opts), buffer);\n }, exports.deflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n }, exports.deflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new DeflateRaw(opts), buffer);\n }, exports.unzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Unzip(opts), buffer, callback);\n }, exports.unzipSync = function(buffer, opts) {\n return zlibBufferSync(new Unzip(opts), buffer);\n }, exports.inflate = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Inflate(opts), buffer, callback);\n }, exports.inflateSync = function(buffer, opts) {\n return zlibBufferSync(new Inflate(opts), buffer);\n }, exports.gunzip = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new Gunzip(opts), buffer, callback);\n }, exports.gunzipSync = function(buffer, opts) {\n return zlibBufferSync(new Gunzip(opts), buffer);\n }, exports.inflateRaw = function(buffer, opts, callback) {\n if (typeof opts === \"function\")\n callback = opts, opts = {};\n return zlibBuffer(new InflateRaw(opts), buffer, callback);\n }, exports.inflateRawSync = function(buffer, opts) {\n return zlibBufferSync(new InflateRaw(opts), buffer);\n }, exports.brotliCompress = function(buffer, opts, callback) {\n throw new Error(\"zlib.brotliCompress is not implemented\");\n };\n function zlibBuffer(engine, buffer, callback) {\n var buffers = [], nread = 0;\n engine.on(\"error\", onError), engine.on(\"end\", onEnd), engine.end(buffer), flow();\n function flow() {\n var chunk;\n while ((chunk = engine.read()) !== null)\n buffers.push(chunk), nread += chunk.length;\n engine.once(\"readable\", flow);\n }\n function onError(err) {\n engine.removeListener(\"end\", onEnd), engine.removeListener(\"readable\", flow), callback(err);\n }\n function onEnd() {\n var buf, err = null;\n if (nread >= kMaxLength)\n err = new RangeError(kRangeErrorMessage);\n else\n buf = Buffer2.concat(buffers, nread);\n buffers = [], engine.close(), callback(err, buf);\n }\n }\n function zlibBufferSync(engine, buffer) {\n if (typeof buffer === \"string\")\n buffer = Buffer2.from(buffer);\n if (!Buffer2.isBuffer(buffer))\n @throwTypeError(\"Not a string or buffer\");\n var flushFlag = engine._finishFlushFlag;\n return engine._processChunk(buffer, flushFlag);\n }\n function Deflate(opts) {\n if (!(this instanceof Deflate))\n return new Deflate(opts);\n Zlib.@call(this, opts, binding.DEFLATE);\n }\n function Inflate(opts) {\n if (!(this instanceof Inflate))\n return new Inflate(opts);\n Zlib.@call(this, opts, binding.INFLATE);\n }\n function Gzip(opts) {\n if (!(this instanceof Gzip))\n return new Gzip(opts);\n Zlib.@call(this, opts, binding.GZIP);\n }\n function Gunzip(opts) {\n if (!(this instanceof Gunzip))\n return new Gunzip(opts);\n Zlib.@call(this, opts, binding.GUNZIP);\n }\n function DeflateRaw(opts) {\n if (!(this instanceof DeflateRaw))\n return new DeflateRaw(opts);\n Zlib.@call(this, opts, binding.DEFLATERAW);\n }\n function InflateRaw(opts) {\n if (!(this instanceof InflateRaw))\n return new InflateRaw(opts);\n Zlib.@call(this, opts, binding.INFLATERAW);\n }\n function Unzip(opts) {\n if (!(this instanceof Unzip))\n return new Unzip(opts);\n Zlib.@call(this, opts, binding.UNZIP);\n }\n function isValidFlushFlag(flag) {\n return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK;\n }\n function Zlib(opts, mode) {\n var _this = this;\n if (this._opts = opts = opts || {}, this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK, Transform.@call(this, opts), opts.flush && !isValidFlushFlag(opts.flush))\n throw new Error(\"Invalid flush flag: \" + opts.flush);\n if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush))\n throw new Error(\"Invalid flush flag: \" + opts.finishFlush);\n if (this._flushFlag = opts.flush || binding.Z_NO_FLUSH, this._finishFlushFlag = typeof opts.finishFlush !== \"undefined\" \? opts.finishFlush : binding.Z_FINISH, opts.chunkSize) {\n if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK)\n throw new Error(\"Invalid chunk size: \" + opts.chunkSize);\n }\n if (opts.windowBits) {\n if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS)\n throw new Error(\"Invalid windowBits: \" + opts.windowBits);\n }\n if (opts.level) {\n if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL)\n throw new Error(\"Invalid compression level: \" + opts.level);\n }\n if (opts.memLevel) {\n if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL)\n throw new Error(\"Invalid memLevel: \" + opts.memLevel);\n }\n if (opts.strategy) {\n if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY)\n throw new Error(\"Invalid strategy: \" + opts.strategy);\n }\n if (opts.dictionary) {\n if (!Buffer2.isBuffer(opts.dictionary))\n throw new Error(\"Invalid dictionary: it should be a Buffer instance\");\n }\n this._handle = new binding.Zlib(mode);\n var self = this;\n this._hadError = !1, this._handle.onerror = function(message, errno) {\n _close(self), self._hadError = !0;\n var error = new Error(message);\n error.errno = errno, error.code = exports.codes[errno], self.emit(\"error\", error);\n };\n var level = exports.Z_DEFAULT_COMPRESSION;\n if (typeof opts.level === \"number\")\n level = opts.level;\n var strategy = exports.Z_DEFAULT_STRATEGY;\n if (typeof opts.strategy === \"number\")\n strategy = opts.strategy;\n this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary), this._buffer = Buffer2.allocUnsafe(this._chunkSize), this._offset = 0, this._level = level, this._strategy = strategy, this.once(\"end\", this.close), Object.defineProperty(this, \"_closed\", {\n get: function() {\n return !_this._handle;\n },\n configurable: !0,\n enumerable: !0\n });\n }\n util.inherits(Zlib, Transform), Zlib.prototype.params = function(level, strategy, callback) {\n if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL)\n @throwRangeError(\"Invalid compression level: \" + level);\n if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY)\n @throwTypeError(\"Invalid strategy: \" + strategy);\n if (this._level !== level || this._strategy !== strategy) {\n var self = this;\n this.flush(binding.Z_SYNC_FLUSH, function() {\n if (assert(self._handle, \"zlib binding closed\"), self._handle.params(level, strategy), !self._hadError) {\n if (self._level = level, self._strategy = strategy, callback)\n callback();\n }\n });\n } else\n process.nextTick(callback);\n }, Zlib.prototype.reset = function() {\n return assert(this._handle, \"zlib binding closed\"), this._handle.reset();\n }, Zlib.prototype._flush = function(callback) {\n this._transform(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.flush = function(kind, callback) {\n var _this2 = this, ws = this._writableState;\n if (typeof kind === \"function\" || kind === void 0 && !callback)\n callback = kind, kind = binding.Z_FULL_FLUSH;\n if (ws.ended) {\n if (callback)\n process.nextTick(callback);\n } else if (ws.ending) {\n if (callback)\n this.once(\"end\", callback);\n } else if (ws.needDrain) {\n if (callback)\n this.once(\"drain\", function() {\n return _this2.flush(kind, callback);\n });\n } else\n this._flushFlag = kind, this.write(Buffer2.alloc(0), \"\", callback);\n }, Zlib.prototype.close = function(callback) {\n _close(this, callback), process.nextTick(emitCloseNT, this);\n };\n function _close(engine, callback) {\n if (callback)\n process.nextTick(callback);\n if (!engine._handle)\n return;\n engine._handle.close(), engine._handle = null;\n }\n function emitCloseNT(self) {\n self.emit(\"close\");\n }\n Zlib.prototype._transform = function(chunk, encoding, cb) {\n var flushFlag, ws = this._writableState, ending = ws.ending || ws.ended, last = ending && (!chunk || ws.length === chunk.length);\n if (chunk !== null && !Buffer2.isBuffer(chunk))\n return cb(new Error(\"invalid input\"));\n if (!this._handle)\n return cb(new Error(\"zlib binding closed\"));\n if (last)\n flushFlag = this._finishFlushFlag;\n else if (flushFlag = this._flushFlag, chunk.length >= ws.length)\n this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n this._processChunk(chunk, flushFlag, cb);\n }, Zlib.prototype._processChunk = function(chunk, flushFlag, cb) {\n var availInBefore = chunk && chunk.length, availOutBefore = this._chunkSize - this._offset, inOff = 0, self = this, async = typeof cb === \"function\";\n if (!async) {\n var buffers = [], nread = 0, error;\n this.on(\"error\", function(er) {\n error = er;\n }), assert(this._handle, \"zlib binding closed\");\n do\n var res = this._handle.writeSync(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n while (!this._hadError && callback(res[0], res[1]));\n if (this._hadError)\n throw error;\n if (nread >= kMaxLength)\n _close(this), @throwRangeError(kRangeErrorMessage);\n var buf = Buffer2.concat(buffers, nread);\n return _close(this), buf;\n }\n assert(this._handle, \"zlib binding closed\");\n var req = this._handle.write(flushFlag, chunk, inOff, availInBefore, this._buffer, this._offset, availOutBefore);\n req.buffer = chunk, req.callback = callback;\n function callback(availInAfter, availOutAfter) {\n if (this)\n this.buffer = null, this.callback = null;\n if (self._hadError)\n return;\n var have = availOutBefore - availOutAfter;\n if (assert(have >= 0, \"have should not go down\"), have > 0) {\n var out = self._buffer.slice(self._offset, self._offset + have);\n if (self._offset += have, async)\n self.push(out);\n else\n buffers.push(out), nread += out.length;\n }\n if (availOutAfter === 0 || self._offset >= self._chunkSize)\n availOutBefore = self._chunkSize, self._offset = 0, self._buffer = Buffer2.allocUnsafe(self._chunkSize);\n if (availOutAfter === 0) {\n if (inOff += availInBefore - availInAfter, availInBefore = availInAfter, !async)\n return !0;\n var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize);\n newReq.callback = callback, newReq.buffer = chunk;\n return;\n }\n if (!async)\n return !1;\n cb();\n }\n }, util.inherits(Deflate, Zlib), util.inherits(Inflate, Zlib), util.inherits(Gzip, Zlib), util.inherits(Gunzip, Zlib), util.inherits(DeflateRaw, Zlib), util.inherits(InflateRaw, Zlib), util.inherits(Unzip, Zlib);\n }\n});\nreturn require_lib()})\n"); // // -static constexpr ASCIILiteral ThirdpartyDepdCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/depd.ts\nvar wrapfunction = function(fn, message) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"argument fn must be a function\");\n return fn;\n}, wrapproperty = function(obj, prop, message) {\n if (!obj || typeof obj !== \"object\" && typeof obj !== \"function\")\n @throwTypeError(\"argument obj must be object\");\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n if (!descriptor)\n @throwTypeError(\"must call property on owner object\");\n if (!descriptor.configurable)\n @throwTypeError(\"property must be configurable\");\n}, $;\n$ = function depd(namespace) {\n if (!namespace)\n @throwTypeError(\"argument namespace is required\");\n function deprecate(message) {\n }\n return deprecate._file = void 0, deprecate._ignored = !0, deprecate._namespace = namespace, deprecate._traced = !1, deprecate._warned = Object.create(null), deprecate.function = wrapfunction, deprecate.property = wrapproperty, deprecate;\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyDepdCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/depd.ts\nvar wrapfunction = function(fn, message) {\n if (typeof fn !== \"function\")\n @throwTypeError(\"argument fn must be a function\");\n return fn;\n}, wrapproperty = function(obj, prop, message) {\n if (!obj || typeof obj !== \"object\" && typeof obj !== \"function\")\n @throwTypeError(\"argument obj must be object\");\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n if (!descriptor)\n @throwTypeError(\"must call property on owner object\");\n if (!descriptor.configurable)\n @throwTypeError(\"property must be configurable\");\n}, $;\n$ = function depd(namespace) {\n if (!namespace)\n @throwTypeError(\"argument namespace is required\");\n function deprecate(message) {\n }\n return deprecate._file = void 0, deprecate._ignored = !0, deprecate._namespace = namespace, deprecate._traced = !1, deprecate._warned = Object.create(null), deprecate.function = wrapfunction, deprecate.property = wrapproperty, deprecate;\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyDetectLibcCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/detect-libc.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return null;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return null;\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyDetectLibcCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/detect-libc.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return null;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return null;\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyDetectLibcLinuxCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/detect-libc.linux.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return GLIBC;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return \"2.29\";\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyDetectLibcLinuxCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/detect-libc.linux.ts\nvar family = function() {\n return @Promise.resolve(familySync());\n}, familySync = function() {\n return GLIBC;\n}, version = function() {\n return @Promise.resolve(versionSync());\n}, versionSync = function() {\n return \"2.29\";\n}, isNonGlibcLinuxSync = function() {\n return !1;\n}, isNonGlibcLinux = function() {\n return @Promise.resolve(isNonGlibcLinuxSync());\n}, $, GLIBC = \"glibc\", MUSL = \"musl\";\n$ = {\n GLIBC,\n MUSL,\n family,\n familySync,\n isNonGlibcLinux,\n isNonGlibcLinuxSync,\n version,\n versionSync\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyIsomorphicFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/isomorphic-fetch.ts\nvar bunFetch = Bun.fetch, fetch = (...args) => bunFetch(...args);\nfetch.default = fetch;\nfetch.fetch = fetch;\nreturn fetch})\n"); +static constexpr ASCIILiteral ThirdpartyIsomorphicFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/isomorphic-fetch.ts\nvar bunFetch = Bun.fetch, fetch = (...args) => bunFetch(...args);\nfetch.default = fetch;\nfetch.fetch = fetch;\nreturn fetch})\n"); // // -static constexpr ASCIILiteral ThirdpartyNodeFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/node-fetch.ts\nasync function fetch(url, init) {\n let body = init\?.body;\n if (body) {\n const chunks = [];\n if (body instanceof Readable) {\n for await (let chunk of body)\n chunks.push(chunk);\n init = { ...init, body: new Blob(chunks) };\n }\n }\n const response = await nativeFetch(url, init);\n return Object.setPrototypeOf(response, Response.prototype), response;\n}\nvar blobFrom = function(path, options) {\n return @Promise.resolve(Bun.file(path, options));\n}, blobFromSync = function(path, options) {\n return Bun.file(path, options);\n}, isRedirect = function(code) {\n return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n}, $, { Headers, Request, Response: WebResponse, Blob, File = Blob, FormData } = globalThis, nativeFetch = Bun.fetch, { Readable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39);\n\nclass Response extends WebResponse {\n constructor() {\n super(...arguments);\n }\n _body;\n get body() {\n return this._body \?\? (this._body = Readable.fromWeb(super.body));\n }\n}\n\nclass AbortError extends DOMException {\n constructor(message) {\n super(message, \"AbortError\");\n }\n}\n\nclass FetchBaseError extends Error {\n type;\n constructor(message, type) {\n super(message);\n this.type = type;\n }\n}\n\nclass FetchError extends FetchBaseError {\n constructor(message, type, systemError) {\n super(message, type);\n this.code = systemError\?.code;\n }\n}\nvar fileFrom = blobFrom, fileFromSync = blobFromSync;\n$ = Object.assign(fetch, {\n AbortError,\n Blob,\n FetchBaseError,\n FetchError,\n File,\n FormData,\n Headers,\n Request,\n Response,\n blobFrom,\n blobFromSync,\n fileFrom,\n fileFromSync,\n isRedirect,\n fetch,\n default: fetch\n});\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyNodeFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/node-fetch.ts\nasync function fetch(url, init) {\n let body = init\?.body;\n if (body) {\n const chunks = [];\n if (body instanceof Readable) {\n for await (let chunk of body)\n chunks.push(chunk);\n init = { ...init, body: new Blob(chunks) };\n }\n }\n const response = await nativeFetch(url, init);\n return Object.setPrototypeOf(response, Response.prototype), response;\n}\nvar blobFrom = function(path, options) {\n return @Promise.resolve(Bun.file(path, options));\n}, blobFromSync = function(path, options) {\n return Bun.file(path, options);\n}, isRedirect = function(code) {\n return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n}, $, { Headers, Request, Response: WebResponse, Blob, File = Blob, FormData } = globalThis, nativeFetch = Bun.fetch, { Readable } = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39);\n\nclass Response extends WebResponse {\n constructor() {\n super(...arguments);\n }\n _body;\n get body() {\n return this._body \?\? (this._body = Readable.fromWeb(super.body));\n }\n}\n\nclass AbortError extends DOMException {\n constructor(message) {\n super(message, \"AbortError\");\n }\n}\n\nclass FetchBaseError extends Error {\n type;\n constructor(message, type) {\n super(message);\n this.type = type;\n }\n}\n\nclass FetchError extends FetchBaseError {\n constructor(message, type, systemError) {\n super(message, type);\n this.code = systemError\?.code;\n }\n}\nvar fileFrom = blobFrom, fileFromSync = blobFromSync;\n$ = Object.assign(fetch, {\n AbortError,\n Blob,\n FetchBaseError,\n FetchError,\n File,\n FormData,\n Headers,\n Request,\n Response,\n blobFrom,\n blobFromSync,\n fileFrom,\n fileFromSync,\n isRedirect,\n fetch,\n default: fetch\n});\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyUndiciCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/undici.ts\nvar notImplemented = function() {\n throw new Error(\"Not implemented in bun\");\n};\nasync function request(url, options = {\n method: \"GET\",\n signal: null,\n headers: null,\n query: null,\n reset: !1,\n throwOnError: !1,\n body: null\n}) {\n let {\n method = \"GET\",\n headers: inputHeaders,\n query,\n signal,\n reset = !1,\n throwOnError = !1,\n body: inputBody,\n maxRedirections\n } = options;\n if (typeof url === \"string\") {\n if (query)\n url = new URL(url);\n } else if (typeof url === \"object\" && url !== null) {\n if (!(url instanceof URL))\n throw new Error(\"not implemented\");\n } else\n @throwTypeError(\"url must be a string, URL, or UrlObject\");\n if (typeof url === \"string\" && query)\n url = new URL(url);\n if (typeof url === \"object\" && url !== null && query) {\n if (query)\n url.search = new URLSearchParams(query).toString();\n }\n if (method = method && typeof method === \"string\" \? method.toUpperCase() : null, inputBody && (method === \"GET\" || method === \"HEAD\"))\n throw new Error(\"Body not allowed for GET or HEAD requests\");\n if (inputBody && inputBody.read && inputBody instanceof Readable) {\n let data = \"\";\n inputBody.setEncoding(\"utf8\");\n for await (let chunk of stream)\n data += chunk;\n inputBody = (new TextEncoder()).encode(data);\n }\n if (maxRedirections !== @undefined && Number.isNaN(maxRedirections))\n throw new Error(\"maxRedirections must be a number if defined\");\n if (signal && !(signal instanceof @AbortSignal))\n throw new Error(\"signal must be an instance of AbortSignal\");\n let resp;\n const {\n status: statusCode,\n headers,\n trailers\n } = resp = await fetch(url, {\n signal,\n mode: \"cors\",\n method,\n headers: inputHeaders || kEmptyObject,\n body: inputBody,\n redirect: maxRedirections === \"undefined\" || maxRedirections > 0 \? \"follow\" : \"manual\",\n keepalive: !reset\n });\n if (throwOnError && statusCode >= 400 && statusCode < 600)\n throw new Error(`Request failed with status code ${statusCode}`);\n const body = resp.body \? new BodyReadable(resp) : null;\n return { statusCode, headers: headers.toJSON(), body, trailers, opaque: kEmptyObject, context: kEmptyObject };\n}\nvar stream = function() {\n throw new Error(\"Not implemented in bun\");\n}, pipeline = function() {\n throw new Error(\"Not implemented in bun\");\n}, connect = function() {\n throw new Error(\"Not implemented in bun\");\n}, upgrade = function() {\n throw new Error(\"Not implemented in bun\");\n}, mockErrors = function() {\n throw new Error(\"Not implemented in bun\");\n}, Undici = function() {\n throw new Error(\"Not implemented in bun\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { Readable } = StreamModule, { _ReadableFromWebForUndici: ReadableFromWeb } = StreamModule[Symbol.for(\"::bunternal::\")], ObjectCreate = Object.create, kEmptyObject = ObjectCreate(null), fetch = Bun.fetch, Response = globalThis.Response, Headers = globalThis.Headers, Request = globalThis.Request, URLSearchParams = globalThis.URLSearchParams, URL = globalThis.URL;\n\nclass File extends Blob {\n constructor() {\n super(...arguments);\n }\n}\n\nclass FileReader extends EventTarget {\n constructor() {\n throw new Error(\"Not implemented yet!\");\n }\n}\nvar FormData = globalThis.FormData;\n\nclass BodyReadable extends ReadableFromWeb {\n #response;\n #bodyUsed;\n constructor(response, options = {}) {\n var { body } = response;\n if (!body)\n throw new Error(\"Response body is null\");\n super(options, body);\n this.#response = response, this.#bodyUsed = response.bodyUsed;\n }\n get bodyUsed() {\n return this.#bodyUsed;\n }\n #consume() {\n if (this.#bodyUsed)\n @throwTypeError(\"unusable\");\n this.#bodyUsed = !0;\n }\n async arrayBuffer() {\n return this.#consume(), await this.#response.arrayBuffer();\n }\n async blob() {\n return this.#consume(), await this.#response.blob();\n }\n async formData() {\n return this.#consume(), await this.#response.formData();\n }\n async json() {\n return this.#consume(), await this.#response.json();\n }\n async text() {\n return this.#consume(), await this.#response.text();\n }\n}\n\nclass MockClient {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockPool {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockAgent {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass Dispatcher extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Agent extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Pool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass BalancedPool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Client extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\nUndici.Dispatcher = Dispatcher;\nUndici.Pool = Pool;\nUndici.BalancedPool = BalancedPool;\nUndici.Client = Client;\nUndici.Agent = Agent;\nUndici.buildConnector = Undici.errors = Undici.setGlobalDispatcher = Undici.getGlobalDispatcher = Undici.request = Undici.stream = Undici.pipeline = Undici.connect = Undici.upgrade = Undici.MockClient = Undici.MockPool = Undici.MockAgent = Undici.mockErrors = notImplemented;\nUndici.fetch = fetch;\n$ = {\n fetch,\n Response,\n Headers,\n Request,\n URLSearchParams,\n URL,\n File,\n FileReader,\n FormData,\n request,\n stream,\n pipeline,\n connect,\n upgrade,\n MockClient,\n MockPool,\n MockAgent,\n mockErrors,\n Dispatcher,\n Pool,\n BalancedPool,\n Client,\n Agent,\n Undici\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyUndiciCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/undici.ts\nvar notImplemented = function() {\n throw new Error(\"Not implemented in bun\");\n};\nasync function request(url, options = {\n method: \"GET\",\n signal: null,\n headers: null,\n query: null,\n reset: !1,\n throwOnError: !1,\n body: null\n}) {\n let {\n method = \"GET\",\n headers: inputHeaders,\n query,\n signal,\n reset = !1,\n throwOnError = !1,\n body: inputBody,\n maxRedirections\n } = options;\n if (typeof url === \"string\") {\n if (query)\n url = new URL(url);\n } else if (typeof url === \"object\" && url !== null) {\n if (!(url instanceof URL))\n throw new Error(\"not implemented\");\n } else\n @throwTypeError(\"url must be a string, URL, or UrlObject\");\n if (typeof url === \"string\" && query)\n url = new URL(url);\n if (typeof url === \"object\" && url !== null && query) {\n if (query)\n url.search = new URLSearchParams(query).toString();\n }\n if (method = method && typeof method === \"string\" \? method.toUpperCase() : null, inputBody && (method === \"GET\" || method === \"HEAD\"))\n throw new Error(\"Body not allowed for GET or HEAD requests\");\n if (inputBody && inputBody.read && inputBody instanceof Readable) {\n let data = \"\";\n inputBody.setEncoding(\"utf8\");\n for await (let chunk of stream)\n data += chunk;\n inputBody = (new TextEncoder()).encode(data);\n }\n if (maxRedirections !== @undefined && Number.isNaN(maxRedirections))\n throw new Error(\"maxRedirections must be a number if defined\");\n if (signal && !(signal instanceof @AbortSignal))\n throw new Error(\"signal must be an instance of AbortSignal\");\n let resp;\n const {\n status: statusCode,\n headers,\n trailers\n } = resp = await fetch(url, {\n signal,\n mode: \"cors\",\n method,\n headers: inputHeaders || kEmptyObject,\n body: inputBody,\n redirect: maxRedirections === \"undefined\" || maxRedirections > 0 \? \"follow\" : \"manual\",\n keepalive: !reset\n });\n if (throwOnError && statusCode >= 400 && statusCode < 600)\n throw new Error(`Request failed with status code ${statusCode}`);\n const body = resp.body \? new BodyReadable(resp) : null;\n return { statusCode, headers: headers.toJSON(), body, trailers, opaque: kEmptyObject, context: kEmptyObject };\n}\nvar stream = function() {\n throw new Error(\"Not implemented in bun\");\n}, pipeline = function() {\n throw new Error(\"Not implemented in bun\");\n}, connect = function() {\n throw new Error(\"Not implemented in bun\");\n}, upgrade = function() {\n throw new Error(\"Not implemented in bun\");\n}, mockErrors = function() {\n throw new Error(\"Not implemented in bun\");\n}, Undici = function() {\n throw new Error(\"Not implemented in bun\");\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), StreamModule = @getInternalField(@internalModuleRegistry, 39) || @createInternalModuleById(39), { Readable } = StreamModule, { _ReadableFromWebForUndici: ReadableFromWeb } = StreamModule[Symbol.for(\"::bunternal::\")], ObjectCreate = Object.create, kEmptyObject = ObjectCreate(null), fetch = Bun.fetch, Response = globalThis.Response, Headers = globalThis.Headers, Request = globalThis.Request, URLSearchParams = globalThis.URLSearchParams, URL = globalThis.URL;\n\nclass File extends Blob {\n constructor() {\n super(...arguments);\n }\n}\n\nclass FileReader extends EventTarget {\n constructor() {\n throw new Error(\"Not implemented yet!\");\n }\n}\nvar FormData = globalThis.FormData;\n\nclass BodyReadable extends ReadableFromWeb {\n #response;\n #bodyUsed;\n constructor(response, options = {}) {\n var { body } = response;\n if (!body)\n throw new Error(\"Response body is null\");\n super(options, body);\n this.#response = response, this.#bodyUsed = response.bodyUsed;\n }\n get bodyUsed() {\n return this.#bodyUsed;\n }\n #consume() {\n if (this.#bodyUsed)\n @throwTypeError(\"unusable\");\n this.#bodyUsed = !0;\n }\n async arrayBuffer() {\n return this.#consume(), await this.#response.arrayBuffer();\n }\n async blob() {\n return this.#consume(), await this.#response.blob();\n }\n async formData() {\n return this.#consume(), await this.#response.formData();\n }\n async json() {\n return this.#consume(), await this.#response.json();\n }\n async text() {\n return this.#consume(), await this.#response.text();\n }\n}\n\nclass MockClient {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockPool {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass MockAgent {\n constructor() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass Dispatcher extends EventEmitter {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Agent extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Pool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\n\nclass BalancedPool extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n}\n\nclass Client extends Dispatcher {\n constructor() {\n super(...arguments);\n }\n request() {\n throw new Error(\"Not implemented in bun\");\n }\n}\nUndici.Dispatcher = Dispatcher;\nUndici.Pool = Pool;\nUndici.BalancedPool = BalancedPool;\nUndici.Client = Client;\nUndici.Agent = Agent;\nUndici.buildConnector = Undici.errors = Undici.setGlobalDispatcher = Undici.getGlobalDispatcher = Undici.request = Undici.stream = Undici.pipeline = Undici.connect = Undici.upgrade = Undici.MockClient = Undici.MockPool = Undici.MockAgent = Undici.mockErrors = notImplemented;\nUndici.fetch = fetch;\n$ = {\n fetch,\n Response,\n Headers,\n Request,\n URLSearchParams,\n URL,\n File,\n FileReader,\n FormData,\n request,\n stream,\n pipeline,\n connect,\n upgrade,\n MockClient,\n MockPool,\n MockAgent,\n mockErrors,\n Dispatcher,\n Pool,\n BalancedPool,\n Client,\n Agent,\n Undici\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyVercelFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/vercel_fetch.ts\nvar $;\n$ = (wrapper = Bun.fetch) => {\n async function vercelFetch(url, opts = {}) {\n if (opts.body && typeof opts.body === \"object\" && (!(\"buffer\" in opts.body) || typeof opts.body.buffer !== \"object\" || !(opts.body.buffer instanceof @ArrayBuffer))) {\n if (opts.body = JSON.stringify(opts.body), !opts.headers)\n opts.headers = new Headers;\n opts.headers.set(\"Content-Type\", \"application/json\");\n }\n try {\n return await wrapper(url, opts);\n } catch (err) {\n if (typeof err === \"string\")\n err = new Error(err);\n throw err.url = url, err.opts = opts, err;\n }\n }\n return vercelFetch.default = vercelFetch, vercelFetch;\n};\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyVercelFetchCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/vercel_fetch.ts\nvar $;\n$ = (wrapper = Bun.fetch) => {\n async function vercelFetch(url, opts = {}) {\n if (opts.body && typeof opts.body === \"object\" && (!(\"buffer\" in opts.body) || typeof opts.body.buffer !== \"object\" || !(opts.body.buffer instanceof @ArrayBuffer))) {\n if (opts.body = JSON.stringify(opts.body), !opts.headers)\n opts.headers = new Headers;\n opts.headers.set(\"Content-Type\", \"application/json\");\n }\n try {\n return await wrapper(url, opts);\n } catch (err) {\n if (typeof err === \"string\")\n err = new Error(err);\n throw err.url = url, err.opts = opts, err;\n }\n }\n return vercelFetch.default = vercelFetch, vercelFetch;\n};\nreturn $})\n"); // // -static constexpr ASCIILiteral ThirdpartyWSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// src/js/out/tmp/thirdparty/ws.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, subprotocolParse = function(header) {\n const protocols = new Set;\n let start = -1, end = -1, i = 0;\n for (i;i < header.length; i++) {\n const code = header.charCodeAt(i);\n if (end === -1 && wsTokenChars[code] === 1) {\n if (start === -1)\n start = i;\n } else if (i !== 0 && (code === 32 || code === 9)) {\n if (end === -1 && start !== -1)\n end = i;\n } else if (code === 44) {\n if (start === -1)\n throw new SyntaxError(`Unexpected character at index ${i}`);\n if (end === -1)\n end = i;\n const protocol2 = header.slice(start, end);\n if (protocols.has(protocol2))\n throw new SyntaxError(`The \"${protocol2}\" subprotocol is duplicated`);\n protocols.add(protocol2), start = end = -1;\n } else\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1 || end !== -1)\n throw new SyntaxError(\"Unexpected end of input\");\n const protocol = header.slice(start, i);\n if (protocols.has(protocol))\n throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n return protocols.add(protocol), protocols;\n}, wsEmitClose = function(server) {\n server._state = CLOSED, server.emit(\"close\");\n}, abortHandshake = function(response, code, message, headers) {\n message = message || http.STATUS_CODES[code], headers = {\n Connection: \"close\",\n \"Content-Type\": \"text/html\",\n \"Content-Length\": @Buffer.byteLength(message),\n ...headers\n }, response.writeHead(code, headers), response.write(message), response.end();\n}, abortHandshakeOrEmitwsClientError = function(server, req, response, socket, code, message) {\n if (server.listenerCount(\"wsClientError\")) {\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError), server.emit(\"wsClientError\", err, socket, req);\n } else\n abortHandshake(response, code, message);\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23), kBunInternals = Symbol.for(\"::bunternal::\"), readyStates = [\"CONNECTING\", \"OPEN\", \"CLOSING\", \"CLOSED\"], encoder = new TextEncoder, eventIds = {\n open: 1,\n close: 2,\n message: 3,\n error: 4,\n ping: 5,\n pong: 6\n}, emittedWarnings = new Set;\n\nclass BunWebSocket extends EventEmitter {\n static CONNECTING = 0;\n static OPEN = 1;\n static CLOSING = 2;\n static CLOSED = 3;\n #ws;\n #paused = !1;\n #fragments = !1;\n #binaryType = \"nodebuffer\";\n #eventId = 0;\n constructor(url, protocols, options) {\n super();\n let ws = this.#ws = new WebSocket(url, protocols);\n ws.binaryType = \"nodebuffer\";\n }\n on(event, listener) {\n if (event === \"unexpected-response\" || event === \"upgrade\" || event === \"redirect\")\n emitWarning(event, \"ws.WebSocket '\" + event + \"' event is not implemented in bun\");\n const mask = 1 << eventIds[event];\n if (mask && (this.#eventId & mask) !== mask) {\n if (this.#eventId |= mask, event === \"open\")\n this.#ws.addEventListener(\"open\", () => {\n this.emit(\"open\");\n });\n else if (event === \"close\")\n this.#ws.addEventListener(\"close\", ({ code, reason, wasClean }) => {\n this.emit(\"close\", code, reason, wasClean);\n });\n else if (event === \"message\")\n this.#ws.addEventListener(\"message\", ({ data }) => {\n const isBinary = typeof data !== \"string\";\n if (isBinary)\n this.emit(\"message\", this.#fragments \? [data] : data, isBinary);\n else {\n let encoded = encoder.encode(data);\n if (this.#binaryType !== \"arraybuffer\")\n encoded = @Buffer.from(encoded.buffer, encoded.byteOffset, encoded.byteLength);\n this.emit(\"message\", this.#fragments \? [encoded] : encoded, isBinary);\n }\n });\n else if (event === \"error\")\n this.#ws.addEventListener(\"error\", (err) => {\n this.emit(\"error\", err);\n });\n else if (event === \"ping\")\n this.#ws.addEventListener(\"ping\", ({ data }) => {\n this.emit(\"ping\", data);\n });\n else if (event === \"pong\")\n this.#ws.addEventListener(\"pong\", ({ data }) => {\n this.emit(\"pong\", data);\n });\n }\n return super.on(event, listener);\n }\n send(data, opts, cb) {\n try {\n this.#ws.send(data, opts\?.compress);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n close(code, reason) {\n this.#ws.close(code, reason);\n }\n terminate() {\n this.#ws.terminate();\n }\n get url() {\n return this.#ws.url;\n }\n get readyState() {\n return this.#ws.readyState;\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(value) {\n if (value === \"nodebuffer\" || value === \"arraybuffer\")\n this.#ws.binaryType = this.#binaryType = value, this.#fragments = !1;\n else if (value === \"fragments\")\n this.#ws.binaryType = \"nodebuffer\", this.#binaryType = \"fragments\", this.#fragments = !0;\n else\n throw new Error(`Invalid binaryType: ${value}`);\n }\n get protocol() {\n return this.#ws.protocol;\n }\n get extensions() {\n return this.#ws.extensions;\n }\n addEventListener(type, listener, options) {\n this.#ws.addEventListener(type, listener, options);\n }\n removeEventListener(type, listener) {\n this.#ws.removeEventListener(type, listener);\n }\n get onopen() {\n return this.#ws.onopen;\n }\n set onopen(value) {\n this.#ws.onopen = value;\n }\n get onerror() {\n return this.#ws.onerror;\n }\n set onerror(value) {\n this.#ws.onerror = value;\n }\n get onclose() {\n return this.#ws.onclose;\n }\n set onclose(value) {\n this.#ws.onclose = value;\n }\n get onmessage() {\n return this.#ws.onmessage;\n }\n set onmessage(value) {\n this.#ws.onmessage = value;\n }\n get bufferedAmount() {\n return this.#ws.bufferedAmount;\n }\n get isPaused() {\n return this.#paused;\n }\n ping(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.ping(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pong(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.pong(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pause() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !0, emitWarning(\"pause()\", \"ws.WebSocket.pause() is not implemented in bun\");\n }\n resume() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !1, emitWarning(\"resume()\", \"ws.WebSocket.resume() is not implemented in bun\");\n }\n}\nObject.defineProperty(BunWebSocket, \"name\", { value: \"WebSocket\" });\nvar wsKeyRegex = /^[+/0-9A-Za-z]{22}==$/, wsTokenChars = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0\n], RUNNING = 0, CLOSING = 1, CLOSED = 2;\n\nclass BunWebSocketMocked extends EventEmitter {\n #ws;\n #state;\n #enquedMessages = [];\n #url;\n #protocol;\n #extensions;\n #bufferedAmount = 0;\n #binaryType = \"arraybuffer\";\n #onclose;\n #onerror;\n #onmessage;\n #onopen;\n constructor(url, protocol, extensions, binaryType) {\n super();\n if (this.#ws = null, this.#state = 0, this.#url = url, this.#bufferedAmount = 0, binaryType = binaryType || \"arraybuffer\", binaryType !== \"nodebuffer\" && binaryType !== \"blob\" && binaryType !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = binaryType, this.#protocol = protocol, this.#extensions = extensions;\n const message = this.#message.bind(this), open = this.#open.bind(this), close = this.#close.bind(this), drain = this.#drain.bind(this);\n this[kBunInternals] = {\n message,\n open,\n close,\n drain\n };\n }\n #message(ws, message) {\n this.#ws = ws;\n let isBinary = !1;\n if (typeof message === \"string\")\n if (this.#binaryType === \"arraybuffer\")\n message = encoder.encode(message).buffer;\n else if (this.#binaryType === \"blob\")\n message = new Blob([message], { type: \"text/plain\" });\n else\n message = @Buffer.from(message);\n else if (isBinary = !0, this.#binaryType !== \"nodebuffer\") {\n if (this.#binaryType === \"arraybuffer\")\n message = new @Uint8Array(message);\n else if (this.#binaryType === \"blob\")\n message = new Blob([message]);\n }\n this.emit(\"message\", message, isBinary);\n }\n #open(ws) {\n this.#ws = ws, this.#state = 1, this.emit(\"open\", this), this.#drain(ws);\n }\n #close(ws, code, reason) {\n this.#state = 3, this.#ws = null, this.emit(\"close\", code, reason);\n }\n #drain(ws) {\n const chunk = this.#enquedMessages[0];\n if (chunk) {\n const [data, compress, cb] = chunk;\n if (ws.send(data, compress) == -1)\n return;\n typeof cb === \"function\" && cb(), this.#bufferedAmount -= chunk.length, this.#enquedMessages.shift();\n }\n }\n send(data, opts, cb) {\n if (this.#state === 1) {\n const compress = opts\?.compress;\n if (this.#ws.send(data, compress) == -1) {\n this.#enquedMessages.push([data, compress, cb]), this.#bufferedAmount += data.length;\n return;\n }\n typeof cb === \"function\" && cb();\n } else if (this.#state === 0)\n this.#enquedMessages.push([data, opts\?.compress, cb]), this.#bufferedAmount += data.length;\n }\n close(code, reason) {\n if (this.#state === 1)\n this.#state = 2, this.#ws.close(code, reason);\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(type) {\n if (type !== \"nodebuffer\" && type !== \"blob\" && type !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = type;\n }\n get readyState() {\n return this.#state;\n }\n get url() {\n return this.#url;\n }\n get protocol() {\n return this.#protocol;\n }\n get extensions() {\n return this.#extensions;\n }\n get bufferedAmount() {\n return this.#bufferedAmount \?\? 0;\n }\n setSocket(socket, head, options) {\n throw new Error(\"Not implemented\");\n }\n set onclose(cb) {\n if (this.#onclose)\n this.removeListener(\"close\", this.#onclose);\n this.on(\"close\", cb), this.#onclose = cb;\n }\n set onerror(cb) {\n if (this.#onerror)\n this.removeListener(\"error\", this.#onerror);\n this.on(\"error\", cb), this.#onerror = cb;\n }\n set onmessage(cb) {\n if (this.#onmessage)\n this.removeListener(\"message\", this.#onmessage);\n this.on(\"message\", cb), this.#onmessage = cb;\n }\n set onopen(cb) {\n if (this.#onopen)\n this.removeListener(\"open\", this.#onopen);\n this.on(\"open\", cb), this.#onopen = cb;\n }\n get onclose() {\n return this.#onclose;\n }\n get onerror() {\n return this.#onerror;\n }\n get onmessage() {\n return this.#onmessage;\n }\n get onopen() {\n return this.#onopen;\n }\n addEventListener(type, listener, options) {\n if (type === \"message\") {\n const l = (data) => listener({ data });\n l.listener = listener, this.on(type, l);\n return;\n }\n this.on(type, listener);\n }\n removeEventListener(type, listener) {\n this.off(type, listener);\n }\n}\n\nclass WebSocketServer extends EventEmitter {\n _server;\n options;\n clients;\n _shouldEmitClose;\n _state;\n _removeListeners;\n constructor(options, callback) {\n super();\n if (options = {\n maxPayload: 104857600,\n skipUTF8Validation: !1,\n perMessageDeflate: !1,\n handleProtocols: null,\n clientTracking: !0,\n verifyClient: null,\n noServer: !1,\n backlog: null,\n server: null,\n host: null,\n path: null,\n port: null,\n ...options\n }, options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer)\n @throwTypeError('One and only one of the \"port\", \"server\", or \"noServer\" options must be specified');\n if (options.port != null)\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n res.writeHead(426, {\n \"Content-Length\": body.length,\n \"Content-Type\": \"text/plain\"\n }), res.end(body);\n }), this._server.listen(options.port, options.host, options.backlog, callback);\n else if (options.server)\n this._server = options.server;\n if (this._server) {\n const emitConnection = this.emit.bind(this, \"connection\"), emitListening = this.emit.bind(this, \"listening\"), emitError = this.emit.bind(this, \"error\"), doUpgrade = (req, socket, head) => {\n this.handleUpgrade(req, socket, head, emitConnection);\n };\n this._server.on(\"listening\", emitListening), this._server.on(\"error\", emitError), this._server.on(\"upgrade\", doUpgrade), this._removeListeners = () => {\n this._server.removeListener(\"upgrade\", doUpgrade), this._server.removeListener(\"listening\", emitListening), this._server.removeListener(\"error\", emitError);\n };\n }\n if (options.perMessageDeflate === !0)\n options.perMessageDeflate = {};\n if (options.clientTracking)\n this.clients = new Set, this._shouldEmitClose = !1;\n this.options = options, this._state = RUNNING;\n }\n address() {\n if (this.options.noServer)\n throw new Error('The server is operating in \"noServer\" mode');\n if (!this._server)\n return null;\n return this._server.address();\n }\n close(cb) {\n if (this._state === CLOSED) {\n if (cb)\n this.once(\"close\", () => {\n cb(new Error(\"The server is not running\"));\n });\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n return;\n }\n if (cb)\n this.once(\"close\", cb);\n if (this._state === CLOSING)\n return;\n if (this._state = CLOSING, this.options.noServer || this.options.server) {\n if (this._server)\n this._removeListeners(), this._removeListeners = this._server = null;\n if (this.clients)\n if (!this.clients.size)\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n else\n this._shouldEmitClose = !0;\n else\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n } else {\n const server = this._server;\n this._removeListeners(), this._removeListeners = this._server = null, server.close(() => {\n this._state = CLOSED, this.emit(\"close\");\n });\n }\n }\n shouldHandle(req) {\n if (this.options.path) {\n const index = req.url.indexOf(\"\?\");\n if ((index !== -1 \? req.url.slice(0, index) : req.url) !== this.options.path)\n return !1;\n }\n return !0;\n }\n completeUpgrade(extensions, key, protocols, request, socket, head, cb) {\n const [server, response, req] = socket[kBunInternals];\n if (this._state > RUNNING)\n return abortHandshake(response, 503);\n let protocol = \"\";\n if (protocols.size)\n protocol = this.options.handleProtocols \? this.options.handleProtocols(protocols, request) : protocols.values().next().value;\n const ws = new BunWebSocketMocked(request.url, protocol, extensions, \"nodebuffer\"), headers = [\"HTTP/1.1 101 Switching Protocols\", \"Upgrade: websocket\", \"Connection: Upgrade\"];\n if (this.emit(\"headers\", headers, request), server.upgrade(req, {\n data: ws[kBunInternals]\n })) {\n if (response._reply(@undefined), this.clients)\n this.clients.add(ws), ws.on(\"close\", () => {\n if (this.clients.delete(ws), this._shouldEmitClose && !this.clients.size)\n process.nextTick(wsEmitClose, this);\n });\n cb(ws, request);\n } else\n abortHandshake(response, 500);\n }\n handleUpgrade(req, socket, head, cb) {\n const [_, response] = socket[kBunInternals], key = req.headers[\"sec-websocket-key\"], version = +req.headers[\"sec-websocket-version\"];\n if (req.method !== \"GET\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 405, \"Invalid HTTP method\");\n return;\n }\n if (req.headers.upgrade.toLowerCase() !== \"websocket\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Upgrade header\");\n return;\n }\n if (!key || !wsKeyRegex.test(key)) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Key header\");\n return;\n }\n if (version !== 8 && version !== 13) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Version header\");\n return;\n }\n if (!this.shouldHandle(req)) {\n abortHandshake(response, 400);\n return;\n }\n const secWebSocketProtocol = req.headers[\"sec-websocket-protocol\"];\n let protocols = new Set;\n if (secWebSocketProtocol !== @undefined)\n try {\n protocols = subprotocolParse(secWebSocketProtocol);\n } catch (err) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Sec-WebSocket-Protocol header\");\n return;\n }\n const extensions = {};\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 \? \"sec-websocket-origin\" : \"origin\"}`],\n secure: !!(req.socket.authorized || req.socket.encrypted),\n req\n };\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message, headers) => {\n if (!verified)\n return abortHandshake(response, code || 401, message, headers);\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n });\n return;\n }\n if (!this.options.verifyClient(info))\n return abortHandshake(response, 401);\n }\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n }\n}\nObject.defineProperty(BunWebSocket, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\n\nclass Sender {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\n\nclass Receiver {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\nvar createWebSocketStream = (ws) => {\n throw new Error(\"Not supported yet in Bun\");\n};\n$ = Object.assign(BunWebSocket, {\n createWebSocketStream,\n Receiver,\n Sender,\n WebSocket: BunWebSocket,\n Server: WebSocketServer,\n WebSocketServer\n});\nreturn $})\n"); +static constexpr ASCIILiteral ThirdpartyWSCode = ASCIILiteral::fromLiteralUnsafe("(function (){\"use strict\";// js/thirdparty/ws.ts\nvar emitWarning = function(type, message) {\n if (emittedWarnings.has(type))\n return;\n emittedWarnings.add(type), console.warn(\"[bun] Warning:\", message);\n}, subprotocolParse = function(header) {\n const protocols = new Set;\n let start = -1, end = -1, i = 0;\n for (i;i < header.length; i++) {\n const code = header.charCodeAt(i);\n if (end === -1 && wsTokenChars[code] === 1) {\n if (start === -1)\n start = i;\n } else if (i !== 0 && (code === 32 || code === 9)) {\n if (end === -1 && start !== -1)\n end = i;\n } else if (code === 44) {\n if (start === -1)\n throw new SyntaxError(`Unexpected character at index ${i}`);\n if (end === -1)\n end = i;\n const protocol2 = header.slice(start, end);\n if (protocols.has(protocol2))\n throw new SyntaxError(`The \"${protocol2}\" subprotocol is duplicated`);\n protocols.add(protocol2), start = end = -1;\n } else\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1 || end !== -1)\n throw new SyntaxError(\"Unexpected end of input\");\n const protocol = header.slice(start, i);\n if (protocols.has(protocol))\n throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n return protocols.add(protocol), protocols;\n}, wsEmitClose = function(server) {\n server._state = CLOSED, server.emit(\"close\");\n}, abortHandshake = function(response, code, message, headers) {\n message = message || http.STATUS_CODES[code], headers = {\n Connection: \"close\",\n \"Content-Type\": \"text/html\",\n \"Content-Length\": @Buffer.byteLength(message),\n ...headers\n }, response.writeHead(code, headers), response.write(message), response.end();\n}, abortHandshakeOrEmitwsClientError = function(server, req, response, socket, code, message) {\n if (server.listenerCount(\"wsClientError\")) {\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError), server.emit(\"wsClientError\", err, socket, req);\n } else\n abortHandshake(response, code, message);\n}, $, EventEmitter = @getInternalField(@internalModuleRegistry, 20) || @createInternalModuleById(20), http = @getInternalField(@internalModuleRegistry, 23) || @createInternalModuleById(23), kBunInternals = Symbol.for(\"::bunternal::\"), readyStates = [\"CONNECTING\", \"OPEN\", \"CLOSING\", \"CLOSED\"], encoder = new TextEncoder, eventIds = {\n open: 1,\n close: 2,\n message: 3,\n error: 4,\n ping: 5,\n pong: 6\n}, emittedWarnings = new Set;\n\nclass BunWebSocket extends EventEmitter {\n static CONNECTING = 0;\n static OPEN = 1;\n static CLOSING = 2;\n static CLOSED = 3;\n #ws;\n #paused = !1;\n #fragments = !1;\n #binaryType = \"nodebuffer\";\n #eventId = 0;\n constructor(url, protocols, options) {\n super();\n let ws = this.#ws = new WebSocket(url, protocols);\n ws.binaryType = \"nodebuffer\";\n }\n on(event, listener) {\n if (event === \"unexpected-response\" || event === \"upgrade\" || event === \"redirect\")\n emitWarning(event, \"ws.WebSocket '\" + event + \"' event is not implemented in bun\");\n const mask = 1 << eventIds[event];\n if (mask && (this.#eventId & mask) !== mask) {\n if (this.#eventId |= mask, event === \"open\")\n this.#ws.addEventListener(\"open\", () => {\n this.emit(\"open\");\n });\n else if (event === \"close\")\n this.#ws.addEventListener(\"close\", ({ code, reason, wasClean }) => {\n this.emit(\"close\", code, reason, wasClean);\n });\n else if (event === \"message\")\n this.#ws.addEventListener(\"message\", ({ data }) => {\n const isBinary = typeof data !== \"string\";\n if (isBinary)\n this.emit(\"message\", this.#fragments \? [data] : data, isBinary);\n else {\n let encoded = encoder.encode(data);\n if (this.#binaryType !== \"arraybuffer\")\n encoded = @Buffer.from(encoded.buffer, encoded.byteOffset, encoded.byteLength);\n this.emit(\"message\", this.#fragments \? [encoded] : encoded, isBinary);\n }\n });\n else if (event === \"error\")\n this.#ws.addEventListener(\"error\", (err) => {\n this.emit(\"error\", err);\n });\n else if (event === \"ping\")\n this.#ws.addEventListener(\"ping\", ({ data }) => {\n this.emit(\"ping\", data);\n });\n else if (event === \"pong\")\n this.#ws.addEventListener(\"pong\", ({ data }) => {\n this.emit(\"pong\", data);\n });\n }\n return super.on(event, listener);\n }\n send(data, opts, cb) {\n try {\n this.#ws.send(data, opts\?.compress);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n close(code, reason) {\n this.#ws.close(code, reason);\n }\n terminate() {\n this.#ws.terminate();\n }\n get url() {\n return this.#ws.url;\n }\n get readyState() {\n return this.#ws.readyState;\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(value) {\n if (value === \"nodebuffer\" || value === \"arraybuffer\")\n this.#ws.binaryType = this.#binaryType = value, this.#fragments = !1;\n else if (value === \"fragments\")\n this.#ws.binaryType = \"nodebuffer\", this.#binaryType = \"fragments\", this.#fragments = !0;\n else\n throw new Error(`Invalid binaryType: ${value}`);\n }\n get protocol() {\n return this.#ws.protocol;\n }\n get extensions() {\n return this.#ws.extensions;\n }\n addEventListener(type, listener, options) {\n this.#ws.addEventListener(type, listener, options);\n }\n removeEventListener(type, listener) {\n this.#ws.removeEventListener(type, listener);\n }\n get onopen() {\n return this.#ws.onopen;\n }\n set onopen(value) {\n this.#ws.onopen = value;\n }\n get onerror() {\n return this.#ws.onerror;\n }\n set onerror(value) {\n this.#ws.onerror = value;\n }\n get onclose() {\n return this.#ws.onclose;\n }\n set onclose(value) {\n this.#ws.onclose = value;\n }\n get onmessage() {\n return this.#ws.onmessage;\n }\n set onmessage(value) {\n this.#ws.onmessage = value;\n }\n get bufferedAmount() {\n return this.#ws.bufferedAmount;\n }\n get isPaused() {\n return this.#paused;\n }\n ping(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.ping(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pong(data, mask, cb) {\n if (typeof data === \"function\")\n cb = data, data = mask = @undefined;\n else if (typeof mask === \"function\")\n cb = mask, mask = @undefined;\n if (typeof data === \"number\")\n data = data.toString();\n try {\n this.#ws.pong(data);\n } catch (error) {\n typeof cb === \"function\" && cb(error);\n return;\n }\n typeof cb === \"function\" && cb();\n }\n pause() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !0, emitWarning(\"pause()\", \"ws.WebSocket.pause() is not implemented in bun\");\n }\n resume() {\n switch (this.readyState) {\n case WebSocket.CONNECTING:\n case WebSocket.CLOSED:\n return;\n }\n this.#paused = !1, emitWarning(\"resume()\", \"ws.WebSocket.resume() is not implemented in bun\");\n }\n}\nObject.defineProperty(BunWebSocket, \"name\", { value: \"WebSocket\" });\nvar wsKeyRegex = /^[+/0-9A-Za-z]{22}==$/, wsTokenChars = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0\n], RUNNING = 0, CLOSING = 1, CLOSED = 2;\n\nclass BunWebSocketMocked extends EventEmitter {\n #ws;\n #state;\n #enquedMessages = [];\n #url;\n #protocol;\n #extensions;\n #bufferedAmount = 0;\n #binaryType = \"arraybuffer\";\n #onclose;\n #onerror;\n #onmessage;\n #onopen;\n constructor(url, protocol, extensions, binaryType) {\n super();\n if (this.#ws = null, this.#state = 0, this.#url = url, this.#bufferedAmount = 0, binaryType = binaryType || \"arraybuffer\", binaryType !== \"nodebuffer\" && binaryType !== \"blob\" && binaryType !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = binaryType, this.#protocol = protocol, this.#extensions = extensions;\n const message = this.#message.bind(this), open = this.#open.bind(this), close = this.#close.bind(this), drain = this.#drain.bind(this);\n this[kBunInternals] = {\n message,\n open,\n close,\n drain\n };\n }\n #message(ws, message) {\n this.#ws = ws;\n let isBinary = !1;\n if (typeof message === \"string\")\n if (this.#binaryType === \"arraybuffer\")\n message = encoder.encode(message).buffer;\n else if (this.#binaryType === \"blob\")\n message = new Blob([message], { type: \"text/plain\" });\n else\n message = @Buffer.from(message);\n else if (isBinary = !0, this.#binaryType !== \"nodebuffer\") {\n if (this.#binaryType === \"arraybuffer\")\n message = new @Uint8Array(message);\n else if (this.#binaryType === \"blob\")\n message = new Blob([message]);\n }\n this.emit(\"message\", message, isBinary);\n }\n #open(ws) {\n this.#ws = ws, this.#state = 1, this.emit(\"open\", this), this.#drain(ws);\n }\n #close(ws, code, reason) {\n this.#state = 3, this.#ws = null, this.emit(\"close\", code, reason);\n }\n #drain(ws) {\n const chunk = this.#enquedMessages[0];\n if (chunk) {\n const [data, compress, cb] = chunk;\n if (ws.send(data, compress) == -1)\n return;\n typeof cb === \"function\" && cb(), this.#bufferedAmount -= chunk.length, this.#enquedMessages.shift();\n }\n }\n send(data, opts, cb) {\n if (this.#state === 1) {\n const compress = opts\?.compress;\n if (this.#ws.send(data, compress) == -1) {\n this.#enquedMessages.push([data, compress, cb]), this.#bufferedAmount += data.length;\n return;\n }\n typeof cb === \"function\" && cb();\n } else if (this.#state === 0)\n this.#enquedMessages.push([data, opts\?.compress, cb]), this.#bufferedAmount += data.length;\n }\n close(code, reason) {\n if (this.#state === 1)\n this.#state = 2, this.#ws.close(code, reason);\n }\n get binaryType() {\n return this.#binaryType;\n }\n set binaryType(type) {\n if (type !== \"nodebuffer\" && type !== \"blob\" && type !== \"arraybuffer\")\n @throwTypeError(\"binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'\");\n this.#binaryType = type;\n }\n get readyState() {\n return this.#state;\n }\n get url() {\n return this.#url;\n }\n get protocol() {\n return this.#protocol;\n }\n get extensions() {\n return this.#extensions;\n }\n get bufferedAmount() {\n return this.#bufferedAmount \?\? 0;\n }\n setSocket(socket, head, options) {\n throw new Error(\"Not implemented\");\n }\n set onclose(cb) {\n if (this.#onclose)\n this.removeListener(\"close\", this.#onclose);\n this.on(\"close\", cb), this.#onclose = cb;\n }\n set onerror(cb) {\n if (this.#onerror)\n this.removeListener(\"error\", this.#onerror);\n this.on(\"error\", cb), this.#onerror = cb;\n }\n set onmessage(cb) {\n if (this.#onmessage)\n this.removeListener(\"message\", this.#onmessage);\n this.on(\"message\", cb), this.#onmessage = cb;\n }\n set onopen(cb) {\n if (this.#onopen)\n this.removeListener(\"open\", this.#onopen);\n this.on(\"open\", cb), this.#onopen = cb;\n }\n get onclose() {\n return this.#onclose;\n }\n get onerror() {\n return this.#onerror;\n }\n get onmessage() {\n return this.#onmessage;\n }\n get onopen() {\n return this.#onopen;\n }\n addEventListener(type, listener, options) {\n if (type === \"message\") {\n const l = (data) => listener({ data });\n l.listener = listener, this.on(type, l);\n return;\n }\n this.on(type, listener);\n }\n removeEventListener(type, listener) {\n this.off(type, listener);\n }\n}\n\nclass WebSocketServer extends EventEmitter {\n _server;\n options;\n clients;\n _shouldEmitClose;\n _state;\n _removeListeners;\n constructor(options, callback) {\n super();\n if (options = {\n maxPayload: 104857600,\n skipUTF8Validation: !1,\n perMessageDeflate: !1,\n handleProtocols: null,\n clientTracking: !0,\n verifyClient: null,\n noServer: !1,\n backlog: null,\n server: null,\n host: null,\n path: null,\n port: null,\n ...options\n }, options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer)\n @throwTypeError('One and only one of the \"port\", \"server\", or \"noServer\" options must be specified');\n if (options.port != null)\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n res.writeHead(426, {\n \"Content-Length\": body.length,\n \"Content-Type\": \"text/plain\"\n }), res.end(body);\n }), this._server.listen(options.port, options.host, options.backlog, callback);\n else if (options.server)\n this._server = options.server;\n if (this._server) {\n const emitConnection = this.emit.bind(this, \"connection\"), emitListening = this.emit.bind(this, \"listening\"), emitError = this.emit.bind(this, \"error\"), doUpgrade = (req, socket, head) => {\n this.handleUpgrade(req, socket, head, emitConnection);\n };\n this._server.on(\"listening\", emitListening), this._server.on(\"error\", emitError), this._server.on(\"upgrade\", doUpgrade), this._removeListeners = () => {\n this._server.removeListener(\"upgrade\", doUpgrade), this._server.removeListener(\"listening\", emitListening), this._server.removeListener(\"error\", emitError);\n };\n }\n if (options.perMessageDeflate === !0)\n options.perMessageDeflate = {};\n if (options.clientTracking)\n this.clients = new Set, this._shouldEmitClose = !1;\n this.options = options, this._state = RUNNING;\n }\n address() {\n if (this.options.noServer)\n throw new Error('The server is operating in \"noServer\" mode');\n if (!this._server)\n return null;\n return this._server.address();\n }\n close(cb) {\n if (this._state === CLOSED) {\n if (cb)\n this.once(\"close\", () => {\n cb(new Error(\"The server is not running\"));\n });\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n return;\n }\n if (cb)\n this.once(\"close\", cb);\n if (this._state === CLOSING)\n return;\n if (this._state = CLOSING, this.options.noServer || this.options.server) {\n if (this._server)\n this._removeListeners(), this._removeListeners = this._server = null;\n if (this.clients)\n if (!this.clients.size)\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n else\n this._shouldEmitClose = !0;\n else\n process.nextTick((server) => {\n server._state = CLOSED, server.emit(\"close\");\n }, this);\n } else {\n const server = this._server;\n this._removeListeners(), this._removeListeners = this._server = null, server.close(() => {\n this._state = CLOSED, this.emit(\"close\");\n });\n }\n }\n shouldHandle(req) {\n if (this.options.path) {\n const index = req.url.indexOf(\"\?\");\n if ((index !== -1 \? req.url.slice(0, index) : req.url) !== this.options.path)\n return !1;\n }\n return !0;\n }\n completeUpgrade(extensions, key, protocols, request, socket, head, cb) {\n const [server, response, req] = socket[kBunInternals];\n if (this._state > RUNNING)\n return abortHandshake(response, 503);\n let protocol = \"\";\n if (protocols.size)\n protocol = this.options.handleProtocols \? this.options.handleProtocols(protocols, request) : protocols.values().next().value;\n const ws = new BunWebSocketMocked(request.url, protocol, extensions, \"nodebuffer\"), headers = [\"HTTP/1.1 101 Switching Protocols\", \"Upgrade: websocket\", \"Connection: Upgrade\"];\n if (this.emit(\"headers\", headers, request), server.upgrade(req, {\n data: ws[kBunInternals]\n })) {\n if (response._reply(@undefined), this.clients)\n this.clients.add(ws), ws.on(\"close\", () => {\n if (this.clients.delete(ws), this._shouldEmitClose && !this.clients.size)\n process.nextTick(wsEmitClose, this);\n });\n cb(ws, request);\n } else\n abortHandshake(response, 500);\n }\n handleUpgrade(req, socket, head, cb) {\n const [_, response] = socket[kBunInternals], key = req.headers[\"sec-websocket-key\"], version = +req.headers[\"sec-websocket-version\"];\n if (req.method !== \"GET\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 405, \"Invalid HTTP method\");\n return;\n }\n if (req.headers.upgrade.toLowerCase() !== \"websocket\") {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Upgrade header\");\n return;\n }\n if (!key || !wsKeyRegex.test(key)) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Key header\");\n return;\n }\n if (version !== 8 && version !== 13) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Missing or invalid Sec-WebSocket-Version header\");\n return;\n }\n if (!this.shouldHandle(req)) {\n abortHandshake(response, 400);\n return;\n }\n const secWebSocketProtocol = req.headers[\"sec-websocket-protocol\"];\n let protocols = new Set;\n if (secWebSocketProtocol !== @undefined)\n try {\n protocols = subprotocolParse(secWebSocketProtocol);\n } catch (err) {\n abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, \"Invalid Sec-WebSocket-Protocol header\");\n return;\n }\n const extensions = {};\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 \? \"sec-websocket-origin\" : \"origin\"}`],\n secure: !!(req.socket.authorized || req.socket.encrypted),\n req\n };\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message, headers) => {\n if (!verified)\n return abortHandshake(response, code || 401, message, headers);\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n });\n return;\n }\n if (!this.options.verifyClient(info))\n return abortHandshake(response, 401);\n }\n this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n }\n}\nObject.defineProperty(BunWebSocket, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CONNECTING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CONNECTING\")\n});\nObject.defineProperty(BunWebSocket, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"OPEN\", {\n enumerable: !0,\n value: readyStates.indexOf(\"OPEN\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSING\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSING\")\n});\nObject.defineProperty(BunWebSocket, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\nObject.defineProperty(BunWebSocket.prototype, \"CLOSED\", {\n enumerable: !0,\n value: readyStates.indexOf(\"CLOSED\")\n});\n\nclass Sender {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\n\nclass Receiver {\n constructor() {\n throw new Error(\"Not supported yet in Bun\");\n }\n}\nvar createWebSocketStream = (ws) => {\n throw new Error(\"Not supported yet in Bun\");\n};\n$ = Object.assign(BunWebSocket, {\n createWebSocketStream,\n Receiver,\n Sender,\n WebSocket: BunWebSocket,\n Server: WebSocketServer,\n WebSocketServer\n});\nreturn $})\n"); // #endif |